/* Shared navigation, language controls, and research content. */
[hidden]{display:none!important;}
:focus-visible{outline:2px solid #333;outline-offset:5px;}
section[id]{scroll-margin-top:96px;}
.skip-link{position:fixed;top:10px;left:16px;z-index:500;padding:10px 18px;background:#111;color:#fff;border-radius:5px;transform:translateY(-180%);}
.skip-link:focus{transform:translateY(0);}
.menu-toggle{display:none;}
.hero-cta{flex-wrap:wrap;}
.hero .release-eyebrow{display:inline-flex;gap:10px;align-items:center;font:11px var(--font-mono);letter-spacing:.09em;text-transform:uppercase;margin-bottom:24px;color:#424242;}
.release-eyebrow::before{content:"";width:6px;height:6px;flex:none;border-radius:50%;background:#111;}
.hero .hero-copy .hero-note{font-size:13px;margin-top:19px;color:var(--text-2);}
.hero-note a{border-bottom:1px solid #b3b3b3;padding-bottom:3px;}
.home-ext .coverage-section{padding-block:38px 70px;}
.coverage-strip{display:grid;grid-template-columns:130px 1fr auto;gap:28px;align-items:center;padding:28px 0;border-top:1px solid var(--border);border-bottom:1px solid var(--border);}
.coverage-source{font-size:27px;font-weight:700;letter-spacing:-.055em;}
.coverage-source span{display:block;font:10px var(--font-mono);color:#777;letter-spacing:.08em;margin-top:7px;}
.coverage-copy h3{font-size:20px;font-weight:500;line-height:1.35;}
.coverage-copy p{font-size:14px;color:var(--text-2);margin-top:7px;max-width:65ch;}
.coverage-link{font-size:14px;white-space:nowrap;border-bottom:1px solid #aaa;padding-bottom:5px;}
.report-feature{display:block;padding:clamp(24px,4vw,38px);border:1px solid var(--border);border-radius:14px;background:rgba(255,255,255,.7);margin-bottom:28px;transition:background .2s,border-color .2s;}
.report-feature:hover{background:#fff;border-color:#888;}
.report-kicker{display:block;font:11px var(--font-mono);letter-spacing:.1em;text-transform:uppercase;color:#777;margin-bottom:14px;}
.report-title{font-size:clamp(24px,3vw,36px);line-height:1.2;letter-spacing:-.035em;font-weight:500;max-width:30ch;}
.report-summary{font-size:16px;line-height:1.65;color:var(--text-2);max-width:72ch;margin-top:14px;}
.report-link{display:inline-block;font-size:14px;font-weight:500;margin-top:22px;border-bottom:1px solid #aaa;padding-bottom:4px;}
.report-links{display:flex;gap:24px;flex-wrap:wrap;}
.home-ext .home-blog{padding-block:58px 64px;}
.blog-section-heading{display:flex;justify-content:space-between;align-items:end;gap:28px;}
.home-blog .section-head{max-width:670px;}
.home-blog .section-head::before,.home-blog .section-head::after{display:none;}
.blog-section-lead{font-size:16px;line-height:1.7;color:var(--text-2);margin-top:17px;}
.home-blog .blog-all-link{flex:none;margin-top:0;border-bottom:1px solid #aaa;padding-bottom:4px;font-size:14px;}
.home-blog .blog-prev{display:flex;flex-direction:column;border-radius:12px;}
.blog-preview-image{aspect-ratio:16/9;overflow:hidden;background:#efefef;border-bottom:1px solid var(--border);}
.blog-preview-image img{display:block;width:100%;height:100%;object-fit:cover;filter:grayscale(1);transition:transform .4s var(--ease);}
.home-blog .blog-prev:hover .blog-preview-image img{transform:scale(1.035);}
.home-blog .blog-prev .bp-body{display:flex;flex-direction:column;align-items:start;flex:1;padding:24px;}
.bp-topic{font:10px/1.6 var(--font-mono);letter-spacing:.055em;text-transform:uppercase;color:#666;}
.home-blog .blog-prev h3{font-size:21px;line-height:1.35;letter-spacing:-.025em;font-weight:500;margin:13px 0 10px;}
.home-blog .blog-prev p{font-size:14px;line-height:1.7;margin-bottom:22px;}
.blog-read{display:inline-flex;gap:12px;align-items:baseline;font-size:12px;margin-top:auto;padding-bottom:3px;border-bottom:1px solid #aaa;}
@media(max-width:900px){.home-blog .blog-prev-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;}.home-blog .blog-prev .bp-body{padding:20px;}.home-blog .blog-prev h3{font-size:19px;}}
@media(max-width:767px){.home-ext .home-blog{padding-block:35px 42px;}.blog-section-heading{display:block;}.blog-section-lead{font-size:15px;}.home-blog .blog-all-link{margin-top:18px;}.home-blog .blog-prev-grid{grid-template-columns:1fr;gap:20px;}.home-blog .blog-prev h3{font-size:22px;}.blog-preview-image{aspect-ratio:16/8;}}
@media(prefers-reduced-motion:reduce){.blog-preview-image img{transition:none;}.home-blog .blog-prev:hover,.home-blog .blog-prev:hover .blog-preview-image img{transform:none;}}
.home-ext .home-timeline{padding-block:52px 72px;}
.timeline-home-layout{display:grid;grid-template-columns:minmax(0,.7fr) minmax(0,1.3fr);gap:72px;}
.timeline-home-intro{padding-top:6px;}
.timeline-home-intro>p{font-size:16px;line-height:1.75;color:var(--text-2);margin-top:20px;max-width:30ch;}
.home-timeline .timeline-list{list-style:none;padding:0;margin:0;}
.home-timeline .timeline-entry{position:relative;padding:0 0 30px 28px;border-left:1px solid #d3d3d3;}
.home-timeline .timeline-entry:last-child{padding-bottom:5px;}
.home-timeline .timeline-entry::before{content:"";position:absolute;left:-4px;top:6px;width:7px;height:7px;background:#aaa;border-radius:50%;box-shadow:0 0 0 5px #f7f7f7;}
.home-timeline .timeline-entry:first-child::before{background:#111;}
.home-timeline .entry-date{display:flex;align-items:baseline;gap:12px;flex-wrap:wrap;margin-bottom:12px;font:11px var(--font-mono);color:#595959;}
.home-timeline .date-context{font:11px var(--font-sans);color:#767676;}
.home-timeline .entry-meta{display:flex;align-items:center;gap:12px;flex-wrap:wrap;font:10px var(--font-mono);color:#666;}
.home-timeline .entry-type{padding:3px 7px;border:1px solid #c9c9c9;border-radius:3px;}
.home-timeline .timeline-entry[data-type="report"] .entry-type{background:#222;color:#fff;border-color:#222;}
.home-timeline .entry-title{font-size:23px;font-weight:500;letter-spacing:-.035em;line-height:1.3;margin-top:12px;overflow-wrap:anywhere;}
.home-timeline .entry-summary{font-size:14px;line-height:1.7;color:var(--text-2);margin-top:9px;}
.home-timeline .entry-links{display:flex;flex-wrap:wrap;gap:9px 22px;margin-top:12px;}
.home-timeline .entry-links a{display:inline-flex;gap:7px;font-size:12px;align-items:baseline;border-bottom:1px solid #bbb;padding:3px 0;}
.home-timeline .entry-links a:hover{border-color:#111;}
@media(max-width:900px){.timeline-home-layout{gap:38px;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);}}
@media(max-width:767px){
  .home-ext .home-timeline{padding-block:35px 48px;}
  .timeline-home-layout{grid-template-columns:1fr;gap:36px;}
  .timeline-home-intro>p{max-width:40ch;font-size:15px;margin-top:14px;}
  .home-timeline .timeline-entry{padding-left:23px;}
  .home-timeline .entry-title{font-size:21px;}
}
@media(max-width:900px){
  .coverage-strip{grid-template-columns:100px 1fr;gap:22px;}
  .coverage-link{grid-column:2;justify-self:start;}
}
@media(max-width:767px){
  .menu-toggle{display:inline-flex;align-items:center;justify-content:center;min-width:42px;min-height:36px;padding:7px 9px;border:1px solid var(--border);border-radius:6px;background:transparent;color:var(--text);font:13px var(--font-sans);cursor:pointer;}
  .nav-cta{gap:10px;}
  .nav .nav-links.is-open{display:flex;position:absolute;top:65px;left:20px;right:20px;flex-direction:column;align-items:stretch;gap:4px;background:#fafafa;border:1px solid var(--border);padding:12px;box-shadow:0 12px 28px #0001;border-radius:10px;}
  .nav .nav-links.is-open a.lk{padding:12px;font-size:16px;}
  .hero .release-eyebrow{font-size:10px;letter-spacing:.04em;}
  .coverage-strip{grid-template-columns:1fr;gap:16px;}
  .coverage-link{grid-column:1;}
  .coverage-source span{display:inline-block;margin:0 0 0 14px;}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto;}}
