@import url('./editorial.css');
@import url('../shared/mobile-nav.css');
*{box-sizing:border-box}html,body{margin:0;max-width:100%;overflow-x:hidden}body{background:var(--paper);color:var(--ink)}a{color:inherit}.reader-top{position:sticky;top:0;z-index:120;display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:62px;padding:10px 22px;background:rgba(251,250,247,.97);border-bottom:1px solid var(--ink);backdrop-filter:blur(12px);font-family:var(--sans)}.reader-brand{font-weight:800;letter-spacing:.08em;text-transform:uppercase;text-decoration:none;font-size:13px}.reader-actions{display:flex;gap:8px;align-items:center}.reader-actions a,.reader-actions button{min-height:36px;padding:8px 11px;border:1px solid var(--ink);background:transparent;color:var(--ink);text-decoration:none;font:700 12px/1 var(--sans);cursor:pointer}.reader-actions a:hover,.reader-actions button:hover{background:var(--ink);color:var(--paper)}.reader-progress{position:fixed;top:0;left:0;right:0;height:3px;z-index:160;background:transparent}.reader-progress span{display:block;height:100%;width:0;background:var(--orange)}.reader-layout{display:grid;grid-template-columns:260px minmax(0,1fr);min-height:100vh}.reader-sidebar{position:sticky;top:62px;align-self:start;height:calc(100vh - 62px);overflow:auto;padding:28px 20px;background:#f1efe9;border-right:1px solid var(--line-strong);font-family:var(--sans)}.reader-sidebar h2{margin:0 0 14px;font:800 11px/1.3 var(--sans);letter-spacing:.14em;text-transform:uppercase}.reader-toc{display:grid;gap:4px}.reader-toc a{padding:7px 8px;text-decoration:none;font-size:12px;line-height:1.35;color:var(--ink-2)}.reader-toc a:hover,.reader-toc a.active{background:#fff;color:var(--orange)}.reader-main{min-width:0}.reader-main .report{display:block}.reader-nav{display:grid;grid-template-columns:1fr auto 1fr;gap:16px;align-items:center;max-width:980px;margin:0 auto;padding:0 24px 72px;font-family:var(--sans)}.reader-nav a{display:block;padding:16px 18px;border-top:1px solid var(--ink);text-decoration:none;font-size:13px}.reader-nav a.next{text-align:right}.reader-nav a.disabled{opacity:.35;pointer-events:none}.reader-home{text-align:center;font-weight:800}.reader-error{max-width:760px;margin:80px auto;padding:24px;border:1px solid #b42318;background:#fff4f2;font-family:var(--sans)}.library{max-width:1180px;margin:0 auto;padding:72px 24px 100px}.library-kicker{font:800 11px/1 var(--sans);letter-spacing:.16em;text-transform:uppercase;color:var(--orange)}.library h1{margin:14px 0 18px;font-size:clamp(52px,8vw,100px);line-height:.92;text-transform:none}.library-intro{max-width:760px;font-size:21px;color:var(--ink-2)}.library-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;margin-top:52px;background:var(--ink);border:1px solid var(--ink)}.research-card{display:block;min-height:240px;padding:26px;background:var(--paper);text-decoration:none}.research-card:hover{background:#f2efe8}.research-card .num{font:800 11px/1 var(--sans);letter-spacing:.13em;color:var(--orange)}.research-card h2{margin:18px 0 10px;font-size:34px;line-height:1.02}.research-card p{margin:0 0 18px;color:var(--ink-2);font-family:var(--sans);font-size:13px;line-height:1.5}.research-card .meta{font:700 10px/1.4 var(--sans);letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}@media(max-width:900px){.reader-layout{grid-template-columns:1fr}.reader-sidebar{display:none}.library-grid{grid-template-columns:1fr}.reader-nav{grid-template-columns:1fr 1fr}.reader-home{grid-column:1/-1;grid-row:1}.reader-nav a.prev{grid-column:1}.reader-nav a.next{grid-column:2}}@media(max-width:760px){.reader-top{min-height:58px;padding:8px 14px}.reader-brand{font-size:11px}.reader-actions .desktop-only{display:none}.reader-main .hero{padding-top:92px!important}.reader-main .hero h1{max-width:100%!important;font-size:clamp(40px,12vw,60px)!important;line-height:.96!important;overflow-wrap:anywhere}.reader-main .content{width:100%!important;max-width:100%!important;padding-left:18px!important;padding-right:18px!important}.reader-main .section{max-width:100%!important}.reader-main .cards,.reader-main .ladder{grid-template-columns:1fr!important}.reader-main .table-wrap{max-width:100%!important;overflow-x:auto!important}.reader-main table{min-width:560px}.reader-nav{padding:0 18px 54px;gap:8px}.reader-nav a{padding:14px 10px;font-size:12px}.library{padding:52px 18px 72px}.library h1{font-size:clamp(44px,14vw,70px)}.research-card{min-height:0;padding:22px}.research-card h2{font-size:30px}}

/* Mobile-first editorial research library */
.mobile-library-head,.research-feature,.research-timeline,.research-mobile-dock{display:none}
@media(max-width:900px){
  body[data-research-shell]{background:#fbfaf7}
  .research-workspace{min-width:0}
  .reader-top{border-bottom:1px solid rgba(30,30,28,.09);background:rgba(251,250,247,.94)}
  .research-crumb{font-size:12px}
  .research-shell-library{max-width:620px;padding:0 18px 104px}
  .research-shell-library>.library-kicker,.research-shell-library>h1,.research-shell-library>.library-intro,.research-shell-library>.library-grid{display:none}
  .mobile-library-head{display:flex;align-items:center;justify-content:space-between;padding:20px 2px 14px;font-family:var(--sans)}
  .mobile-library-head>div{display:flex;align-items:baseline;gap:8px}
  .mobile-library-kicker{font-size:11px;font-weight:850;letter-spacing:.14em}
  .mobile-library-head strong{font-size:20px;letter-spacing:-.02em}
  .mobile-library-menu{width:40px;height:40px;border:0;border-radius:50%;background:#f0eee8;color:var(--ink);font-size:17px}
  .research-feature{position:relative;display:block;min-height:350px;margin:0 0 28px;padding:22px;border-radius:25px;overflow:hidden;text-decoration:none;background:linear-gradient(155deg,#dce8ff 0%,#f4d8c0 48%,#747168 100%);box-shadow:0 1px 0 rgba(0,0,0,.05)}
  .research-feature:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(255,255,255,.05) 20%,rgba(20,20,18,.05) 48%,rgba(20,20,18,.72) 100%);pointer-events:none}
  .research-feature-art{position:absolute;inset:0;overflow:hidden}
  .research-feature-art:before{content:"";position:absolute;width:190px;height:190px;border-radius:50%;left:50%;top:52px;transform:translateX(-50%);background:rgba(255,184,122,.82);box-shadow:0 0 70px rgba(255,210,170,.38)}
  .research-feature-art:after{content:"";position:absolute;left:-12%;right:-12%;bottom:0;height:42%;background:linear-gradient(8deg,#393a36 0 49%,transparent 50%)}
  .research-feature-art span{position:absolute;z-index:1;width:54px;height:88px;border-radius:50% 50% 40% 40%;left:50%;bottom:83px;transform:translateX(-50%);background:#2d2926;opacity:.86}
  .research-feature-date,.research-feature-number,.research-feature h2,.research-feature p,.research-feature-meta{position:relative;z-index:2}
  .research-feature-date{font:700 12px/1 var(--sans);letter-spacing:.04em;color:rgba(20,20,18,.68)}
  .research-feature-number{position:absolute;left:22px;bottom:106px;font:800 11px/1 var(--sans);letter-spacing:.12em;text-transform:uppercase;color:#fff}
  .research-feature h2{position:absolute;left:22px;right:22px;bottom:48px;margin:0;color:#fff;font:700 34px/.96 var(--serif);letter-spacing:-.035em}
  .research-feature p{display:none}
  .research-feature-meta{position:absolute;left:22px;bottom:20px;font:750 10px/1 var(--sans);letter-spacing:.08em;color:rgba(255,255,255,.78)}
  .research-timeline{display:block;margin:0}
  .research-timeline-item{display:grid;grid-template-columns:104px minmax(0,1fr) 18px;gap:12px;padding:18px 2px 19px;border-bottom:1px solid rgba(30,30,28,.08);text-decoration:none}
  .timeline-date{display:flex;flex-direction:column;gap:5px;font-family:var(--sans)}
  .timeline-date strong{font-size:13px;font-weight:760;line-height:1.25}
  .timeline-date span{font-size:10px;color:var(--muted);letter-spacing:.04em}
  .timeline-copy h2{margin:0 0 5px;font:650 18px/1.12 var(--serif);letter-spacing:-.018em}
  .timeline-copy p{margin:0;font:400 11px/1.35 var(--sans);color:var(--muted);display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical;overflow:hidden}
  .timeline-state{font:800 12px/1 var(--sans);color:var(--orange);padding-top:3px}
  .research-mobile-dock{position:fixed;z-index:115;left:14px;right:14px;bottom:max(12px,env(safe-area-inset-bottom));display:grid;grid-template-columns:repeat(3,1fr);min-height:62px;padding:6px;border:1px solid rgba(30,30,28,.09);border-radius:22px;background:rgba(251,250,247,.94);box-shadow:0 12px 38px rgba(30,30,28,.12);backdrop-filter:blur(18px)}
  .research-mobile-dock a,.research-mobile-dock button{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;border:0;background:transparent;text-decoration:none;color:var(--muted);font-family:var(--sans)}
  .research-mobile-dock .is-active{color:var(--ink);background:#efede7;border-radius:16px}
  .research-mobile-dock span{font-size:18px;line-height:1}.research-mobile-dock small{font-size:9px;font-weight:700}
  body:not(:has(.research-shell-library)) .research-mobile-dock{display:none}
}
@media(max-width:760px){
  body[data-research-shell]:not(:has(.research-shell-library)) .reader-top{min-height:52px;padding:7px 12px}
  body[data-research-shell]:not(:has(.research-shell-library)) .research-crumb{font-size:11px}
  body[data-research-shell]:not(:has(.research-shell-library)) .research-all-button{display:none}
  body[data-research-shell]:not(:has(.research-shell-library)) .research-complete-button{min-height:32px;padding:7px 9px;font-size:10px;border-radius:10px}
  body[data-research-shell]:not(:has(.research-shell-library)) .reader-main .hero{padding:58px 18px 28px!important}
  body[data-research-shell]:not(:has(.research-shell-library)) .reader-main .hero h1{font-size:clamp(42px,13vw,62px)!important;line-height:.92!important;letter-spacing:-.045em}
  body[data-research-shell]:not(:has(.research-shell-library)) .reader-main .hero-deck{font-size:18px!important;line-height:1.45!important}
  body[data-research-shell]:not(:has(.research-shell-library)) .reader-main .hero-meta{gap:8px!important}
  body[data-research-shell]:not(:has(.research-shell-library)) .reader-main .section{padding-top:42px!important;padding-bottom:42px!important}
  body[data-research-shell]:not(:has(.research-shell-library)) .reader-main .section h2{font-size:clamp(30px,9vw,42px)!important;line-height:1.02!important}
  body[data-research-shell]:not(:has(.research-shell-library)) .reader-main .content p,
  body[data-research-shell]:not(:has(.research-shell-library)) .reader-main .content li{font-size:17px!important;line-height:1.68!important}
  body[data-research-shell]:not(:has(.research-shell-library)) .reader-nav{padding-bottom:34px}
}
