
:root{
  --navy:#23384b;
  --blue:#4b79a1;
  --blue-deep:#315b7c;
  --blue-pale:#edf4f9;
  --blue-paler:#f7fafc;
  --ink:#1f2933;
  --muted:#64727e;
  --line:#cbd7e0;
  --white:#fff;
  --accent:#9b2d30;
  --max:1240px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:#fff;color:var(--ink);font-family:Arial,Helvetica,sans-serif;font-size:17px;line-height:1.42}
a{color:var(--blue-deep);font-weight:700;text-decoration-thickness:1px;text-underline-offset:2px}
a:hover{color:var(--accent)}
.wrap{width:min(var(--max),calc(100% - 32px));margin:auto}
.skip,.sr-only{position:absolute;left:-9999px}
.skip:focus{left:12px;top:12px;background:#fff;padding:8px;z-index:99}
.site-header{border-top:5px solid var(--navy);border-bottom:1px solid var(--line);background:#fff}
.header-row{min-height:58px;display:flex;align-items:center;justify-content:space-between;gap:20px}
.brand{font-family:Impact,'Arial Black',Haettenschweiler,sans-serif;font-size:28px;letter-spacing:.035em;color:var(--navy);text-decoration:none;line-height:1}
.top-nav{display:flex;gap:22px;flex-wrap:wrap;align-items:center}
.top-nav a{font-size:16px;text-decoration:none;color:var(--navy)}
.menu-toggle{display:none;background:transparent;border:0;padding:7px;cursor:pointer}
.menu-toggle span{display:block;width:25px;height:3px;background:var(--navy);margin:4px 0;border-radius:2px}
.intro{background:linear-gradient(110deg,var(--blue-pale),#fff 68%);border-bottom:1px solid var(--line)}
.intro-grid{padding:28px 0 24px;display:grid;grid-template-columns:1.65fr 1fr;gap:32px;align-items:end}
.eyebrow{margin:0 0 5px;color:var(--accent);font-weight:900;letter-spacing:.09em;font-size:13px}
h1{font-family:Impact,'Arial Black',Haettenschweiler,sans-serif;color:var(--navy);font-size:clamp(39px,5.2vw,68px);line-height:.98;letter-spacing:.018em;margin:0 0 8px;text-transform:uppercase}
.lead{font-size:19px;margin:0;max-width:780px;color:#3d4c58}
.stats{display:grid;grid-template-columns:repeat(2,1fr);border:1px solid var(--line);background:#fff}
.stats div{padding:12px;border-right:1px solid var(--line)}
.stats div:last-child{border:0}
.stats strong{display:block;color:var(--navy);font-size:20px}
.stats span{font-size:12px;color:var(--muted);font-weight:700;text-transform:uppercase;letter-spacing:.035em}
.quickbar{border-bottom:1px solid var(--line);background:var(--blue-paler)}
.quickbar-grid{padding:10px 0;display:flex;gap:8px;align-items:stretch;flex-wrap:wrap}
.quickbar a{display:flex;align-items:center;padding:8px 11px;background:#fff;border:1px solid var(--line);text-decoration:none;font-size:15px}
.quickbar .primary-action{background:var(--blue-deep);border-color:var(--blue-deep);color:#fff}
.archive{padding-top:24px;padding-bottom:32px}
.archive-head{display:flex;align-items:end;justify-content:space-between;gap:24px;margin-bottom:10px}
.archive-head h2{font-size:32px;line-height:1;margin:0;color:var(--navy)}
.archive-note{margin:0;color:var(--muted);font-size:16px}
.search-sticky{position:sticky;top:0;z-index:10;display:flex;align-items:center;gap:12px;background:rgba(255,255,255,.96);border:1px solid var(--line);padding:7px;margin-bottom:18px;box-shadow:0 3px 8px rgba(35,56,75,.07)}
.search-sticky input{width:100%;height:42px;border:1px solid #aebdca;background:#fff;padding:0 13px;font-size:17px;color:var(--ink);outline:none}
.search-sticky input:focus{border-color:var(--blue);box-shadow:0 0 0 3px rgba(75,121,161,.13)}
#result-count{min-width:max-content;font-weight:900;color:var(--navy);padding:0 8px;font-size:15px}
.doc-section{margin:0 0 18px}
.section-title{background:var(--navy);color:#fff;display:flex;align-items:center;justify-content:space-between;gap:14px;padding:7px 11px}
.section-title h3{font-size:21px;line-height:1.15;margin:0}
.section-title span{font-size:13px;font-weight:800;color:#d9e4ed;text-transform:uppercase;white-space:nowrap}
.table-wrap{overflow-x:auto;border:1px solid var(--line);border-top:0}
.document-table{width:100%;border-collapse:collapse;table-layout:auto;font-size:16px}
.document-table th{background:#e9f1f7;color:var(--navy);font-size:13px;text-transform:uppercase;letter-spacing:.045em;text-align:left;padding:7px 9px;border-bottom:1px solid var(--line);white-space:nowrap}
.document-table th:last-child,.document-table td:last-child{text-align:right;width:128px;white-space:nowrap}
.document-table td{padding:7px 9px;border-bottom:1px solid #dde5eb;vertical-align:top}
.document-table tr:last-child td{border-bottom:0}
.document-table tbody tr:nth-child(even){background:#f8fbfd}
.document-table tbody tr:hover{background:#eef5fa}
.document-table td:first-child{font-weight:700;min-width:280px}
.document-table a{font-size:15px}
.muted{color:#a1acb4}
.no-results{padding:28px;text-align:center;border:1px solid var(--line);font-size:19px;font-weight:800;color:var(--muted)}
footer{border-top:1px solid var(--line);background:var(--blue-paler)}
.footer-row{min-height:60px;display:flex;gap:14px;align-items:center;font-size:14px;color:var(--muted)}
.footer-row strong{color:var(--navy)}
.footer-row a{margin-left:auto}
[hidden]{display:none!important}

@media(max-width:760px){
  body{font-size:16px}.header-row{min-height:54px;padding:9px 0;align-items:center;position:relative}.brand{font-size:24px}.menu-toggle{display:block;margin-left:auto}.top-nav{display:none;position:absolute;top:100%;right:0;left:0;z-index:30;background:#fff;border:1px solid var(--line);border-top:0;box-shadow:0 7px 16px rgba(35,56,75,.12);padding:6px}.top-nav.is-open{display:block}.top-nav a{display:block;font-size:16px;padding:10px 11px;border-bottom:1px solid #e4ebf0}.top-nav a:last-child{border-bottom:0}
  .intro-grid{grid-template-columns:1fr;padding:20px 0;gap:16px}.stats{grid-template-columns:repeat(2,1fr)}
  .archive-head{display:block}.archive-note{margin-top:6px}.search-sticky{top:0}
  .document-table thead{display:none}.document-table,.document-table tbody,.document-table tr,.document-table td{display:block;width:100%}
  .document-table tr{padding:7px 10px;border-bottom:1px solid var(--line)}
  .document-table td{display:grid;grid-template-columns:115px 1fr;gap:9px;padding:3px 0;border:0;background:transparent!important}
  .document-table td::before{content:attr(data-label);font-size:11px;text-transform:uppercase;letter-spacing:.04em;font-weight:900;color:var(--muted)}
  .document-table td:first-child{min-width:0;font-size:17px;padding-bottom:5px;grid-template-columns:1fr}.document-table td:first-child::before{display:none}
  .document-table td:last-child{text-align:right;width:100%;white-space:nowrap}.document-table td:last-child::before{text-align:left}
  .section-title h3{font-size:19px}
}
@media(max-width:520px){
  .wrap{width:min(100% - 20px,var(--max))}.stats{grid-template-columns:1fr}.stats div{border-right:0;border-bottom:1px solid var(--line);padding:8px 10px}.stats div:last-child{border-bottom:0}
  .quickbar-grid{display:grid;grid-template-columns:1fr}.quickbar a{padding:7px 9px}
  .archive{padding-top:18px}.archive-head h2{font-size:27px}.search-sticky{padding:5px;gap:5px}.search-sticky input{font-size:16px}.section-title{padding:7px 9px}
}

/* PARTNER SITE PROMO — INTRO RIGHT COLUMN */
.intro-side{
  display:flex;
  flex-direction:column;
  align-items:flex-end;
  gap:10px;
}

.partner-card{
  width:100%;
  max-width:400px;
}

.partner-site-label{
  margin:0 0 5px;
  color:#5d6b77;
  font-size:11px;
  line-height:1;
  font-weight:900;
  letter-spacing:.14em;
  text-align:left;
  text-transform:uppercase;
}

.dossier-promo-link{
  position:relative;
  display:block;
  width:100%;
  overflow:hidden;
  border:1px solid var(--line);
  background:#111;
  text-decoration:none;
  box-shadow:0 2px 7px rgba(35,56,75,.10);
}

.dossier-promo-link img{
  display:block;
  width:100%;
  height:auto;
  object-fit:contain;
}

.dossier-promo-label{
  position:absolute;
  right:7px;
  bottom:7px;
  padding:5px 7px;
  background:rgba(20,26,31,.88);
  color:#fff;
  font-size:10px;
  line-height:1;
  font-weight:900;
  letter-spacing:.035em;
  text-transform:uppercase;
}

.dossier-promo-link:hover .dossier-promo-label{
  background:var(--accent);
  color:#fff;
}

@media(max-width:760px){
  .intro-side{
    align-items:stretch;
  }
  .partner-card{
    max-width:400px;
  }
}

@media(max-width:520px){
  .partner-card{
    max-width:100%;
  }
  .dossier-promo-label{
    right:5px;
    bottom:5px;
    padding:4px 6px;
    font-size:9px;
  }
}


/* SUBSTACK TOP NAV LINK */
.substack-nav-link{
  display:inline-flex;
  align-items:center;
  gap:6px;
}
.substack-logo{
  width:16px;
  height:16px;
  flex:0 0 16px;
  display:block;
}


/* NAV ICON COLORS */
.substack-logo{
  color:#ff6719;
}

.top-nav-link,
.site-nav a,
header nav a{
  align-items:center;
}

.nav-icon{
  width:16px;
  height:16px;
  flex:0 0 16px;
  display:inline-block;
  vertical-align:-3px;
  margin-right:6px;
}

.nav-icon-search{
  color:#b52121;
}

.nav-icon-download{
  color:#3b78b4;
}

header nav a > span{
  display:inline;
}


/* REDDIT TOP NAV LINK */
.reddit-nav-link{
  display:inline-flex;
  align-items:center;
  gap:6px;
}
.reddit-logo{
  width:16px;
  height:16px;
  flex:0 0 16px;
  display:block;
  color:#ff4500;
}

/* ============================================================
   INNER DOCUMENT PAGES
   Shared styling for legacy Research Columbine content pages
   ============================================================ */
.page-intro{background:linear-gradient(110deg,var(--blue-pale),#fff 72%);border-bottom:1px solid var(--line)}
.page-intro-grid{padding:24px 0 21px;display:grid;grid-template-columns:minmax(0,1.55fr) minmax(260px,.8fr);gap:30px;align-items:start}
.page-intro-copy h1,.page-intro-copy h2{font-family:Impact,'Arial Black',Haettenschweiler,sans-serif;color:var(--navy);font-size:clamp(34px,4.4vw,58px);line-height:1;letter-spacing:.015em;margin:0 0 10px;text-transform:uppercase}
.page-intro-copy h2{font-size:clamp(32px,4vw,52px)}
.page-intro-copy p{font-size:18px;color:#3d4c58;max-width:820px;margin:0 0 10px}
.page-intro-copy .ui-text-intro{font-size:19px;line-height:1.45}
.page-intro-copy .ui-component-cta{margin-top:12px}
.page-intro-media{min-width:0;max-width:470px;justify-self:end;width:100%;overflow:hidden}
.page-intro-media img,.page-intro-media iframe,.page-intro-media video{max-width:100%;height:auto}
.page-intro-media .gie-single{display:block!important;max-width:100%!important;overflow:hidden}
.page-intro-media script{display:none}
.content-page{min-height:60vh}
.legacy-content{padding:22px 0 42px;overflow-wrap:anywhere}
.legacy-content>.ui-layout-container,.legacy-content .ui-layout-container{width:100%;max-width:none;margin:0;padding:0}
.legacy-content .ui-section-hero{padding:0}
.legacy-content h1,.legacy-content h2,.legacy-content h3,.legacy-content h4{color:var(--navy);line-height:1.15}
.legacy-content h1{font-family:Impact,'Arial Black',Haettenschweiler,sans-serif;font-size:40px;text-transform:uppercase;margin:0 0 12px}
.legacy-content h2{font-size:28px;margin:28px 0 10px;padding-bottom:6px;border-bottom:2px solid var(--blue-pale)}
.legacy-content h3{font-size:23px;margin:24px 0 8px}
.legacy-content h4{font-size:19px;margin:20px 0 8px}
.legacy-content p,.legacy-content li{font-size:17px;line-height:1.5}
.legacy-content ul,.legacy-content ol{padding-left:24px}
.legacy-content img{max-width:100%;height:auto}
.legacy-content a img{vertical-align:middle;margin-right:5px}
.legacy-content hr{border:0;border-top:1px solid var(--line);margin:22px 0}
.legacy-content table{width:100%;max-width:100%;border-collapse:collapse;margin:12px 0 24px;background:#fff;font-size:15px;border:1px solid var(--line)}
.legacy-content th{background:#e9f1f7;color:var(--navy);font-size:13px;text-transform:uppercase;letter-spacing:.045em;text-align:left;padding:7px 9px;border:0;border-bottom:1px solid var(--line);vertical-align:top}
.legacy-content td{padding:7px 9px;border:0;border-bottom:1px solid #dde5eb;vertical-align:top;background:#fff}
.legacy-content tbody tr:nth-child(even) td{background:#f8fbfd}
.legacy-content tbody tr:hover td{background:#eef5fa}
.legacy-content table img{max-width:100%;height:auto}
.legacy-content .ui-component-button,.legacy-content a.ui-component-button{display:inline-block;background:var(--blue-deep);border:1px solid var(--blue-deep);color:#fff;text-decoration:none;padding:9px 13px;font-weight:800;border-radius:2px}
.legacy-content .ui-component-button:hover{background:var(--accent);border-color:var(--accent);color:#fff}
.legacy-content .columbinerow{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
.legacy-content .columbinecolumn{width:auto!important;float:none!important}
.legacy-content blockquote{margin:18px 0;padding:12px 16px;border-left:4px solid var(--blue);background:var(--blue-paler)}
.source-empty{padding:34px 0 48px;color:var(--muted)}
.source-empty p{font-size:17px}
@media(max-width:760px){
  .page-intro-grid{grid-template-columns:1fr;padding:18px 0;gap:14px}
  .page-intro-media{justify-self:start;max-width:100%}
  .legacy-content{padding-top:18px}
  .legacy-content h2{font-size:24px}
  .legacy-content table{display:block;overflow-x:auto;-webkit-overflow-scrolling:touch;white-space:normal}
  .legacy-content .columbinerow{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:520px){
  .page-intro-copy h1,.page-intro-copy h2{font-size:34px}
  .page-intro-copy p,.page-intro-copy .ui-text-intro{font-size:17px}
  .legacy-content p,.legacy-content li{font-size:16px}
  .legacy-content th,.legacy-content td{padding:7px;font-size:14px}
  .legacy-content .columbinerow{grid-template-columns:1fr}
}

.legacy-content tbody tr:last-child td{border-bottom:0}


/* INNER-PAGE PARTNER SITE PROMO */
.page-intro-media .page-partner-card{
  width:100%;
  max-width:400px;
  margin-left:auto;
}
.page-video-block{
  width:min(100%,760px);
  margin:22px 0 28px;
}
.page-video-block iframe{
  display:block;
  width:100%;
  aspect-ratio:16 / 9;
  height:auto;
  border:0;
}
@media(max-width:760px){
  .page-intro-media .page-partner-card{margin-left:0}
}


.page-search-wrap{padding-top:14px}
.page-search-wrap .search-sticky{margin-bottom:10px}


/* INNER-PAGE SEARCH HEADING */
.page-search-head{
  margin-bottom:10px;
}
.page-search-head h2{
  margin:2px 0 0;
}
.page-search-head .archive-note{
  max-width:560px;
}

/* EXPANDED SITE FOOTER */
.site-footer-expanded{
  margin-top:36px;
  border-top:1px solid var(--line);
  background:#080a17;
  padding:28px 0;
}
.footer-grid{
  display:grid;
  grid-template-columns:minmax(150px,1fr) minmax(0,480px) minmax(150px,1fr);
  gap:24px;
  align-items:center;
}
.footer-side{
  display:flex;
  flex-direction:column;
  gap:7px;
  font-size:13px;
  color:#60707c;
}
.footer-side strong{
  color:var(--navy);
  font-size:14px;
}
.footer-side a{
  color:var(--blue);
  text-decoration:none;
  font-weight:800;
}
.footer-side a:hover{
  color:var(--accent);
}
.footer-right{
  text-align:right;
  align-items:flex-end;
}
.footer-substack{
  display:flex;
  justify-content:center;
}
.footer-substack iframe{
  display:block;
  width:100%;
  max-width:480px;
  height:320px;
}
@media(max-width:900px){
  .footer-grid{
    grid-template-columns:1fr;
    text-align:center;
  }
  .footer-side,
  .footer-right{
    align-items:center;
    text-align:center;
  }
}
@media(max-width:520px){
  .site-footer-expanded{
    padding:22px 0;
  }
  .footer-substack iframe{
    height:320px;
  }
}


.site-footer-expanded{
  background:#080a17;
}
.site-footer-expanded .footer-side,
.site-footer-expanded .footer-side span{
  color:#c8cfdb;
}
.site-footer-expanded .footer-side strong{
  color:#fff;
}
.site-footer-expanded .footer-side a{
  color:#dbe6f3;
}
.site-footer-expanded .footer-side a:hover{
  color:#fff;
}


.site-footer-expanded{background:#080a17;}
.site-footer-expanded .footer-side,
.site-footer-expanded .footer-side span{color:#c8cfdb;}
.site-footer-expanded .footer-side strong{color:#fff;}
.site-footer-expanded .footer-side a{color:#dbe6f3;}
.site-footer-expanded .footer-side a:hover{color:#fff;}
