/* Flynn Labs editorial series — text-first article system */
body[data-page^="article-"] .foot{margin-top:0}

/* Resources masthead */
.hero--res-simple{padding:clamp(52px,7vw,102px) 0 clamp(48px,6vw,82px)}
.hero--res-simple .hero__big{max-width:14ch;margin:0 auto;padding:0;font-size:clamp(42px,6.3vw,92px);line-height:.94;letter-spacing:-.05em;text-align:center}
.hero--res-simple__actions{display:flex;justify-content:center;flex-wrap:wrap;gap:12px;margin-top:clamp(30px,4vw,52px)}

.article-hero{padding:0;border-bottom:2px solid var(--line)}
.article-hero .backlink{margin-top:8px}
.article-hero__meta{display:flex;justify-content:space-between;gap:20px;padding:20px 0 14px;border-top:1px solid var(--hair);font-family:var(--mono);font-size:11px;letter-spacing:.13em;text-transform:uppercase;color:var(--accent)}
.article-hero h1{font-family:var(--disp);font-size:clamp(48px,8.4vw,132px);line-height:.88;letter-spacing:-.055em;max-width:12ch;padding:28px 0 34px;text-wrap:balance}
.article-hero__deck{font-family:var(--disp);font-size:clamp(21px,2.5vw,38px);line-height:1.17;letter-spacing:-.025em;max-width:35ch;padding:0 0 38px;color:var(--ink-2);text-wrap:pretty}
.article-hero__byline{display:flex;flex-wrap:wrap;gap:10px 28px;padding:17px 0 21px;border-top:1px solid var(--hair);font-family:var(--mono);font-size:11px;letter-spacing:.045em;text-transform:uppercase}
.article-hero__byline span:first-child{color:var(--accent)}

.article-main{padding:0}
.article-main__grid{display:grid;grid-template-columns:minmax(220px,.55fr) minmax(0,1.45fr);align-items:start}
.article-brief{position:sticky;top:88px;padding:40px 36px 40px 0;border-right:1px solid var(--hair)}
.article-brief__label{font-family:var(--mono);font-size:11px;letter-spacing:.12em;color:var(--accent)}
.article-brief ul{list-style:none;margin:23px 0 32px;padding:0;max-width:30ch}
.article-brief li{position:relative;padding:14px 0 14px 20px;border-top:1px solid var(--hair);font-size:13.5px;line-height:1.5;color:var(--ink-2)}
.article-brief li:last-child{border-bottom:1px solid var(--hair)}
.article-brief li::before{content:"↳";position:absolute;left:0;color:var(--accent);font-family:var(--mono)}
.article-brief a{font-family:var(--mono);font-size:11px;font-weight:700;letter-spacing:.035em;text-transform:uppercase;color:var(--ink)}
.article-brief a:hover{color:var(--accent)}

.article-copy{padding:clamp(44px,6vw,88px) 0 clamp(72px,9vw,132px) clamp(36px,7vw,112px);max-width:920px}
.article-copy p{font-family:var(--sans);font-size:clamp(17px,1.35vw,20px);line-height:1.75;color:var(--ink-2);max-width:70ch;margin:0 0 24px;text-wrap:pretty}
.article-copy__lede{font-family:var(--disp)!important;font-size:clamp(24px,2.6vw,38px)!important;line-height:1.32!important;letter-spacing:-.025em;color:var(--ink)!important;max-width:44ch!important;margin-bottom:30px!important}
.article-copy h2{font-family:var(--disp);font-size:clamp(32px,4.6vw,68px);line-height:.98;letter-spacing:-.04em;max-width:16ch;margin:clamp(62px,8vw,106px) 0 27px;padding-top:10px;text-wrap:balance}
.article-copy h2::before{content:"/";display:block;font-family:var(--mono);font-size:12px;line-height:1;letter-spacing:.06em;color:var(--accent);margin-bottom:18px}
.article-copy blockquote{position:relative;margin:clamp(54px,7vw,92px) 0;padding:34px 0 34px clamp(26px,4vw,58px);border-top:2px solid var(--line);border-bottom:2px solid var(--line)}
.article-copy blockquote::before{content:"“";position:absolute;left:0;top:21px;font-family:var(--disp);font-size:56px;line-height:1;color:var(--accent)}
.article-copy blockquote span{display:block;font-family:var(--disp);font-size:clamp(27px,3.5vw,52px);line-height:1.08;letter-spacing:-.035em;max-width:21ch}

.article-model{display:grid;grid-template-columns:1fr 1fr;margin:38px 0 42px;border:2px solid var(--line);box-shadow:7px 7px 0 var(--ink)}
.article-model>div{min-height:180px;padding:23px 24px 26px;border-right:1px solid var(--hair);border-bottom:1px solid var(--hair)}
.article-model>div:nth-child(2n){border-right:none}
.article-model>div:nth-last-child(-n+2){border-bottom:none}
.article-model span{font-family:var(--mono);font-size:11px;color:var(--accent)}
.article-model strong{display:block;font-family:var(--disp);font-size:clamp(22px,2.2vw,32px);line-height:1;margin:30px 0 10px;letter-spacing:-.025em}
.article-model p{font-size:13.5px;line-height:1.45;margin:0;max-width:30ch}

.article-ledger{margin:38px 0 44px;border-top:2px solid var(--line);border-bottom:2px solid var(--line)}
.article-ledger>div{display:grid;grid-template-columns:1fr 1fr;gap:24px;padding:16px 0;border-bottom:1px solid var(--hair);align-items:baseline}
.article-ledger>div:last-child{border-bottom:none}
.article-ledger__head{font-family:var(--mono);font-size:10px;letter-spacing:.1em;color:var(--accent)}
.article-ledger>div:not(.article-ledger__head) span{font-size:14px;color:var(--ink-2)}
.article-ledger strong{font-family:var(--mono);font-size:12px;line-height:1.5}

.article-flynn{margin:48px 0;padding:clamp(28px,4.5vw,56px);background:var(--ink);color:var(--paper);box-shadow:8px 8px 0 var(--accent)}
.article-flynn__k{font-family:var(--mono);font-size:11px;letter-spacing:.12em;color:#7da0ff}
.article-flynn h3{font-family:var(--disp);font-size:clamp(30px,4.2vw,60px);line-height:1.01;letter-spacing:-.04em;max-width:16ch;margin:35px 0 24px;text-wrap:balance}
.article-flynn p{color:rgba(233,230,222,.72);font-size:15.5px;line-height:1.65;margin:0;max-width:60ch}

.article-next{padding:0;border-bottom:2px solid var(--line)}
.article-next>a{display:grid;grid-template-columns:1fr auto;gap:18px 32px;align-items:end;padding:clamp(36px,5vw,70px) max(28px,calc((100vw - 1500px)/2 + 28px));transition:background .18s,color .18s}
.article-next>a:hover{background:var(--accent);color:var(--paper)}
.article-next__label{grid-column:1/-1;font-family:var(--mono);font-size:11px;letter-spacing:.1em;color:var(--accent)}
.article-next>a:hover .article-next__label{color:var(--paper)}
.article-next strong{font-family:var(--disp);font-size:clamp(31px,5vw,76px);line-height:.95;letter-spacing:-.045em;max-width:20ch}
.article-next i{font-family:var(--mono);font-size:12px;font-style:normal;letter-spacing:.06em}

/* Library refinements */
.res-card{position:relative;min-height:340px;padding:24px 24px 28px;overflow:hidden}
.res-card__top{display:flex;justify-content:space-between;gap:15px;font-family:var(--mono);font-size:10px;letter-spacing:.1em}
.res-card__top time{color:var(--ink-2)}
.res-card__n{position:absolute;right:18px;top:50px;font-family:var(--disp);font-size:92px;line-height:1;color:transparent;-webkit-text-stroke:1px var(--hair);transition:.15s}
.res-card__t{position:relative;z-index:1;font-size:clamp(26px,2.5vw,39px);line-height:1.02;max-width:13ch;margin-top:52px}
.res-card__d{position:relative;z-index:1;max-width:38ch}
.res-card:hover .res-card__n{-webkit-text-stroke-color:rgba(233,230,222,.24)}
.res-card:hover .res-card__top time{color:rgba(233,230,222,.62)}

@media(max-width:900px){
  .article-main__grid{grid-template-columns:1fr}
  .article-brief{position:static;padding:30px 0;border-right:none;border-bottom:2px solid var(--line)}
  .article-brief ul{max-width:none}
  .article-copy{padding-left:0}
  .article-hero h1{font-size:clamp(45px,13vw,82px)}
}
@media(max-width:620px){
  .article-model{grid-template-columns:1fr}
  .article-model>div{border-right:none!important;border-bottom:1px solid var(--hair)!important}
  .article-model>div:last-child{border-bottom:none!important}
  .article-ledger>div{grid-template-columns:1fr;gap:6px}
  .article-next>a{grid-template-columns:1fr}
  .article-next i{margin-top:10px}
}
