/* Excor's existing white/cobalt direction, refined on a shared 4/8px scale. */
:root {
  --space-1:4px; --space-2:8px; --space-3:12px; --space-4:16px;
  --space-6:24px; --space-8:32px; --space-12:48px; --space-16:64px;
  --radius-control:6px; --ease-out:cubic-bezier(.2,.8,.2,1);
}
html { scroll-padding-top:116px; }
.site-header {
  position:sticky; top:0; z-index:10;
  border-bottom:1px solid var(--line);
}
.site-header nav>a { transition:color 160ms ease; }
.site-header nav>a:hover,.site-header nav>a:focus-visible { color:var(--blue); }
.button,.nav-cta {
  border-radius:var(--radius-control); min-height:52px; font-size:14px; line-height:1.5;
  transition:background-color 180ms ease,box-shadow 180ms ease;
}
.button { box-shadow:0 2px 3px #0821540d; }
.button:hover { box-shadow:0 4px 12px #0821541a; }
.nav-cta { min-height:46px; }
.button .icon,.text-link .icon,.paper-format .icon,.video-link .icon {
  transition:transform 180ms var(--ease-out);
}
.button:hover .icon,.text-link:hover .icon,.paper-row:hover .paper-format .icon,
.video-link:hover .icon { transform:translateX(3px); }
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible {
  outline:3px solid #0082d7; outline-offset:5px;
}
.hero-copy { padding-top:64px; padding-bottom:64px; }
.hero h1 { letter-spacing:-.052em; }
.hero-description { letter-spacing:-.025em; }
.hero-actions { gap:16px 28px; }
.hero .eyebrow { font-size:12px; letter-spacing:.18em; }
.research-band>a {
  min-height:64px; font-size:13px; font-weight:500;
  transition:background-color 180ms ease;
}
.research-band>a:hover { background:#ffffff0d; }
.research-section { padding-top:64px; padding-bottom:80px; }
.research-section .section-heading { top:128px; }
.section-heading>p:last-child { font-size:19px; line-height:1.6; }
.paper-list { margin-top:0; }
.paper-row,.paper-row:first-child {
  padding:24px 8px 24px 0; min-height:104px;
  border-top:0; border-bottom:1px solid var(--line);
  transition:background-color 180ms ease,border-color 180ms ease;
}
.paper-row:first-child { border-top:1px solid var(--line); }
.paper-row:hover,.paper-row:focus-visible {
  background:#edf4ff; border-bottom-color:#a9c1ea;
}
.paper-row h3 { font-size:17px; line-height:1.4; font-weight:500; letter-spacing:-.025em; }
.paper-row p { font-size:14px; line-height:1.6; margin-top:6px; color:var(--muted); }
.paper-format { font-size:12px; font-weight:500; color:var(--blue); }
.paper-number { opacity:.85; }
.split-section { padding-top:80px; padding-bottom:88px; }
.lead-copy { max-width:66ch; }
.prose { font-size:16px; line-height:1.8; }
.lead-copy p:first-child { font-size:25px; line-height:1.5; letter-spacing:-.025em; }
.prose p+p { margin-top:24px; }
.text-link { min-height:44px; font-size:14px; line-height:1.5; }
.hero-actions .video-link { font-size:14px; color:var(--ink); }
.mission-section { padding-top:80px; padding-bottom:80px; }
.mission-copy { max-width:66ch; }
.mission-copy p { font-size:16px; line-height:1.8; }
.mission-copy p+p { margin-top:24px; }
.purchase-band { padding-top:64px; padding-bottom:64px; gap:20px 6%; }
.broker-logo { padding:12px 0; background:transparent; border:0; max-width:340px; align-self:center; }
/* A channel lookup changes only pure white to black. Red and alpha stay intact. */
.broker-logo img,.dialog-broker-logo {
  filter:url('/assets/brand/BigBoss-color-map.svg#black-red');
}
.purchase-steps .text-link:has(.dialog-broker-logo) { background:transparent; padding:8px 0; }
.broker-heading { margin:0; }
.issuer-details td { line-height:1.8; }
.footer-disclaimer { font-size:11px; line-height:1.8; }
.footer-bottom { font-size:11px; }
.legal-dialog,.video-dialog { border-radius:12px; box-shadow:0 24px 80px #02122d33; }
.purchase-steps h3 { font-size:21px; line-height:1.5; }
input,textarea,select { border-radius:var(--radius-control); transition:border-color 160ms ease; }
input:hover,textarea:hover,select:hover { border-color:#6a89b9; }
label { font-size:13px; line-height:1.5; }
.form-grid { gap:24px; }
.search-empty { font-size:26px; line-height:1.3; margin-top:32px; }

@media(max-width:1100px) and (min-width:981px) {
  .hero-description { max-width:420px; }
  .paper-row { grid-template-columns:24px 1fr 88px; gap:16px; }
  .paper-row h3 { font-size:16px; }
  .paper-row p { font-size:13px; }
}
@media(max-width:980px) {
  html { scroll-padding-top:96px; }
  .hero-copy { padding:40px 6% 40px; }
  .hero:not(.landing-hero) {
    display:block; padding:0;
  }
  .hero:not(.landing-hero)>.hero-copy {
    display:block; position:relative; z-index:1; padding:40px 6%;
  }
  .hero:not(.landing-hero)>.hero-image {
    display:block; position:absolute; inset:auto 0 0;
    width:100%; height:100%; border-radius:0;
    object-fit:cover; object-position:85% 50%; z-index:-1;
    -webkit-mask-image:linear-gradient(to right,transparent 20%,rgba(0,0,0,.25) 60%,#000 95%),linear-gradient(to bottom,transparent,#000 32px);
    -webkit-mask-composite:source-in;
    mask-image:linear-gradient(to right,transparent 20%,rgba(0,0,0,.25) 60%,#000 95%),linear-gradient(to bottom,transparent,#000 32px);
    mask-composite:intersect;
  }
  .hero h1 { font-size:clamp(32px,9.4vw,64px); line-height:1.08; letter-spacing:-.05em; }
  .hero .eyebrow { font-size:11px; margin-bottom:20px; }
  .hero-description { font-size:18px; line-height:1.6; margin-bottom:24px; }
  .hero-actions { flex-direction:column; align-items:flex-start; gap:12px; }
  .hero-paper-link { width:auto; min-height:52px; padding:14px 20px; gap:28px; }
  .hero-actions .video-link { min-height:44px; font-size:14px; }
  .hero:not(.landing-hero) .video-link { max-width:190px; gap:12px; line-height:1.5; text-align:left; }
  .hero:not(.landing-hero) .video-link .icon { width:18px; height:18px; }
  .research-band { padding:0 6%; }
  .research-band>a { font-size:11px; line-height:1.5; padding:16px 12px; gap:8px; min-height:68px; }
  .research-section { padding-top:48px; padding-bottom:56px; }
  .research-section .section-heading { position:static; }
  .section h2,.mission-section h2,.purchase-band h2 { font-size:clamp(32px,8.4vw,40px); letter-spacing:-.045em; }
  .section-heading>p:last-child { font-size:17px; max-width:28ch; }
  .paper-list { margin-top:32px; }
  .paper-row,.paper-row:first-child {
    grid-template-columns:24px minmax(0,1fr); gap:10px 16px;
    padding:24px 0; min-height:0;
  }
  .paper-number { grid-column:1; grid-row:1/3; align-self:start; padding-top:2px; }
  .paper-row>div { grid-column:2; grid-row:1; }
  .paper-format { grid-column:2; grid-row:2; justify-self:start; font-size:12px; gap:12px; }
  .paper-row h3 { font-size:17px; }
  .paper-row p { font-size:14px; line-height:1.6; }
  .paper-format .icon { width:18px; height:18px; }
  .split-section { padding-top:56px; padding-bottom:56px; gap:24px; }
  .about-heading { display:block; }
  .lead-copy p:first-child { font-size:22px; line-height:1.5; }
  .prose { font-size:16px; line-height:1.8; }
  .mission-section { padding-top:56px; padding-bottom:56px; }
  .mission-inner { gap:24px; }
  .mission-copy p { font-size:16px; line-height:1.8; }
  .mission-mark img { width:64px; height:64px; }
  .purchase-band { padding-top:48px; padding-bottom:48px; gap:24px; }
  .broker-logo { padding:8px 0; max-width:280px; }
  .broker-heading { margin-top:8px; font-size:22px; }
  .issuer-details td { font-size:13px; }
  .footer-disclaimer { font-size:11px; line-height:1.8; }
  .footer-top>span,.footer-bottom { font-size:11px; }
  .legal-dialog { padding:32px 24px; }
  .purchase-steps h3 { font-size:19px; }
  .dialog-broker-logo { width:250px; }
}
@media(max-width:600px) {
  .hero:not(.landing-hero) .hero-description { max-width:82%; }
}
@media(prefers-reduced-motion:reduce) {
  html { scroll-behavior:auto; }
  *,*::before,*::after { transition:none!important; animation:none!important; }
}
