/* Common shell, composed from the final homepage header and footer. */
@font-face{font-family:Metropolis;src:url(static-home/assets/fonts/metropolis-500.woff2);font-weight:500;font-display:swap}
#site-header,#footer{--ink:#111111;--brown:#501c3f;--acid:#e9ee65;--line:#ded4db;--gutter:24px;--margin:48px;--page:1536px;font-family:Metropolis,Arial,sans-serif;box-sizing:border-box}
#site-header *,#footer *{box-sizing:border-box}
#site-header{position:sticky;top:0;z-index:30;display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;min-height:88px;height:auto;padding:0 max(48px,calc((100vw - 1440px)/2));gap:20px;background:#fff;color:#111;border-bottom:1px solid var(--line);line-height:1.5}
#site-header nav{display:flex;align-items:center;gap:28px;min-width:0;font-size:1rem}
#site-header .nav-left{flex-wrap:wrap;row-gap:4px;justify-content:flex-start}
#site-header .nav-right{justify-content:flex-end}
#site-header a{font-size:1rem;font-weight:400;letter-spacing:normal;text-decoration:none;color:inherit;display:inline-flex;align-items:center;min-height:44px;line-height:1.5}
#site-header .nav-link{gap:10px}
#site-header .wordmark{display:flex;width:220px;max-width:100%;min-width:0;min-height:44px;font-size:0;line-height:0;letter-spacing:normal;justify-self:center}
#site-header .wordmark img{display:block;width:100%;height:auto}
#site-header :is(.nav-access,.nav-demo){padding:4px 12px;gap:10px;justify-content:center;border:1px solid transparent;transition:background-color 220ms cubic-bezier(.16,1,.3,1),color 220ms cubic-bezier(.16,1,.3,1),border-color 220ms cubic-bezier(.16,1,.3,1)}
#site-header .nav-access{background:#501c3f;border-color:#501c3f;color:#fff}
#site-header .nav-demo{color:#501c3f}
#site-header.is-scrolled .nav-access{background:transparent;color:#501c3f}
#site-header.is-scrolled .nav-demo{background:#e9ee65;border-color:#e9ee65}
#site-header .nav-left a[aria-current=page]{text-decoration:underline;text-underline-offset:6px;text-decoration-thickness:1px}
#site-header a:focus-visible{outline:3px solid #111;outline-offset:4px;box-shadow:0 0 0 3px white}
#site-header .icon-arrow-up-right,#footer .icon-arrow-up-right{display:inline-block;width:1em;height:1em;flex:0 0 1em;background:currentColor;mask:url(static-home/assets/images/arrow-up-right.svg) center/contain no-repeat}
#footer{background:#111;color:#f5f5f3;margin:0;font-size:1rem;line-height:1.5}
#footer .page-pad{padding-inline:var(--margin);max-width:1536px;margin:auto}
#footer p,#footer h2{margin:0}
#footer h2{color:#fff;letter-spacing:normal}
#footer img{max-width:100%;height:auto}
#footer a:focus-visible{outline:3px solid #e9ee65;outline-offset:4px;box-shadow:none}
#footer a:hover{opacity:1}
.report-breadcrumb{max-width:1700px;margin:0 auto;padding:24px 40px 0}
.report-breadcrumb a{font-size:1rem;min-height:44px;display:inline-flex;align-items:center}
body.report-detail .gallery{padding-top:16px}
body.report-detail .gallery-story{top:calc(var(--site-header-height,88px) + 24px)}
body.catalog .season-section,body.report-detail figure{scroll-margin-top:calc(var(--site-header-height,88px) + 24px)}
body.report-detail .back-to-reports{margin-bottom:48px}
body.catalog .catalog-bottom{margin-bottom:0}
@media(hover:hover){#site-header .nav-left a:hover{text-decoration:underline;text-underline-offset:6px}#site-header .nav-access:hover{background:#501c3f;color:#e9ee65}#site-header .nav-demo:hover{box-shadow:inset 0 0 0 1px #501c3f}}
@media(max-width:1199px){#site-header,#footer{--margin:32px}#site-header{padding-inline:32px}#site-header nav{gap:18px}#site-header .nav-demo{display:none}#site-header .wordmark{width:200px}}
@media(max-width:899px){#site-header,#footer{--margin:24px}#site-header{grid-template-columns:minmax(0,1fr) auto;padding:18px 24px 12px;gap:8px;min-height:112px}#site-header .wordmark{grid-area:1/1;justify-self:start}#site-header .nav-right{grid-area:1/2}#site-header .nav-left{grid-area:2/1/auto/-1}}
@media(max-width:599px){#site-header,#footer{--margin:20px}#site-header{padding:16px 20px 8px;gap:4px 12px;min-height:104px}#site-header .wordmark{width:clamp(132px,42vw,180px)}#site-header .nav-left{gap:24px;row-gap:4px}#site-header .nav-access{padding:4px 8px;max-width:45vw;text-align:center}.report-breadcrumb{padding:20px 16px 0}}
@media(max-height:800px){body.report-detail .gallery-story{position:static}}
@media(prefers-reduced-motion:no-preference){@view-transition{navigation:auto}::view-transition-old(root),::view-transition-new(root){animation-duration:180ms;animation-timing-function:cubic-bezier(.16,1,.3,1)}}
@media(prefers-reduced-motion:reduce){#site-header *,#footer *{transition:none!important;animation:none!important}@view-transition{navigation:none}}
/* 12 — Footer */

#footer {
  --footer-paper: #f5f5f3;
  --footer-muted: #a6a6a6;
  --footer-rule: #565656;
  background: var(--ink, #111);
  color: var(--footer-paper);
}

#footer .footer-shell {
  padding-block: 64px 80px;
}

#footer a {
  color: inherit;
  text-decoration: none;
}

#footer a:focus-visible {
  outline: 2px solid var(--footer-paper);
  outline-offset: 4px;
}

#footer [aria-disabled="true"] {
  opacity: 1;
  color: var(--footer-muted);
  cursor: default;
}

#footer .footer-lead {
  display: grid;
  grid-template-columns: repeat(12, minmax(0px, 1fr));
  gap: var(--gutter, 24px);
  margin-bottom: 64px;
}

#footer .footer-feature {
  grid-column: span 8;
  min-width: 0px;
}

#footer .footer-heading {
  display: block;
  margin: 0px 0px 24px;
  font-size: 0.875rem;
  font-weight: 500;
  line-height: 1.5;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--footer-paper);
}

#footer .footer-news-card {
  display: grid;
  grid-template-columns: repeat(8, minmax(0px, 1fr));
  gap: var(--gutter, 24px);
  align-items: center;
}

#footer .footer-news-card img {
  grid-column: span 3;
  display: block;
  width: 100%;
  height: auto;
}

#footer .footer-news-caption {
  grid-column: span 5;
  display: flex;
  align-items: flex-end;
  gap: 24px;
  min-width: 0px;
}

#footer .footer-news-caption h2 {
  margin: 0px;
  min-width: 0px;
  overflow-wrap: anywhere;
  font-size: clamp(1.75rem, 2.5vw, 2.25rem);
  font-weight: 400;
  line-height: 1.16;
  letter-spacing: -0.025em;
}

#footer .footer-news-caption strong {
  font-weight: 600;
}

#footer .footer-partner {
  white-space: nowrap;
}

#footer .footer-news-caption .icon-arrow-up-right {
  width: 24px;
  height: 24px;
  flex: 0 0 24px;
  margin-bottom: 4px;
}

#footer .footer-newsletter {
  grid-column: 10 / -1;
  align-self: center;
  padding-top: 40px;
  min-width: 0px;
}

#footer .footer-newsletter-link {
  display: inline-flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  max-width: 100%;
  min-height: 44px;
  padding-block: 8px;
  border-bottom: 1px solid var(--footer-rule);
  font-size: 1.125rem;
  font-weight: 500;
  line-height: 1.5;
}

#footer .footer-newsletter-link span:first-child {
  min-width: 0px;
}

#footer .footer-newsletter-link .icon-arrow-up-right {
  flex-shrink: 0;
}

.footer-newsletter a:hover {cursor: pointer;}

#footer .footer-directory {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, max(9rem, 25% - 18px)), 1fr));
  gap: 48px var(--gutter, 24px);
}

#footer .footer-directory > nav {
  min-width: 0px;
  border-top: 1px solid var(--footer-rule);
  padding-top: 24px;
}

#footer .footer-menu {
  list-style: none;
  margin: 0px;
  padding: 0px;
}

#footer .footer-menu a {
  display: inline-block;
  max-width: 100%;
  min-height: 44px;
  padding-block: 8px;
  font-size: 1rem;
  font-weight: 400;
  line-height: 1.5;
  letter-spacing: normal;
  text-transform: none;
  text-underline-offset: 5px;
  text-decoration-thickness: 1px;
}

@media (hover: hover) {
  #footer .footer-menu a[href]:hover {
    text-decoration: underline;
  }

  #footer .footer-news-card:hover h2 strong {
    text-decoration: underline 1px;
    text-underline-offset: 6px;
  }
}

@media (max-width: 999px) {
  #footer .footer-lead {
    grid-template-columns: minmax(0px, 1fr);
    gap: 32px;
    margin-bottom: 48px;
  }

  #footer .footer-feature,
  #footer .footer-newsletter {
    grid-column: auto;
  }

  #footer .footer-newsletter {
    padding-top: 0px;
  }

  #footer .footer-directory {
    grid-template-columns: repeat(auto-fit, minmax(min(100%, max(9rem, 50% - 12px)), 1fr));
  }
}

@media (max-width: 599px) {
  #footer .footer-shell {
    padding-block: 48px 64px;
  }

  #footer .footer-news-card {
    grid-template-columns: minmax(0px, 1fr);
  }

  #footer .footer-news-card img,
  #footer .footer-news-caption {
    grid-column: auto;
  }

  #footer .footer-news-caption {
    justify-content: space-between;
    gap: 16px;
  }

  #footer .footer-newsletter-link {
    font-size: 1rem;
  }
}


/* Solutions occupy the former lower whitespace; no divider before results. */
body.lt-homepage #lt-homepage #platform{padding-bottom:0}
body.lt-homepage #lt-homepage #results{border-top:0}

/* Space between the description and primary action, per annotated reference. */
body.lt-homepage #lt-homepage #platform .solution-copy .solution-cta{margin-top:24px}

/* Keep the next section in the same pinned document flow as Solutions. */
body.lt-homepage #lt-homepage #platform .solution-copy{padding-bottom:48px}
body.lt-homepage #lt-homepage #platform .solution-copy .solution-description{margin-bottom:24px}
body.lt-homepage #lt-homepage #platform .solution-copy .solution-cta{margin-top:auto}
@media(max-width:1399px){body.lt-homepage #lt-homepage #platform .solution-copy{padding-bottom:32px}}
@media(max-width:600px){body.lt-homepage #lt-homepage #platform .solution-copy{padding-bottom:24px}}

/* Report covers lead the catalog; season anchors remain full-size controls. */
body.catalog .catalog-toolbar{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:32px 0 24px}
body.catalog .catalog-intro{padding:0;display:block}
body.catalog .catalog-intro h1{font-size:2.5rem;line-height:1.15;margin:0}
body.catalog .season-tabs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));width:280px;max-width:100%;gap:24px;border:0;margin:0;flex-shrink:0}
body.catalog .season-tabs a{padding:8px 0 0;gap:8px;min-height:48px}
body.catalog .season-name{font-size:1.125rem;line-height:1.5;margin:0}
body.catalog .season-track{height:3px;margin:0}
body.catalog .catalog-grid{gap:48px 32px}
body.catalog .card-meta{margin-top:16px;gap:16px}
body.catalog .card-title{margin-top:4px}
body.catalog .card-arrow{margin-top:8px}
body.catalog .season-section+.season-section{margin-top:64px}
body.catalog .season-heading{margin-bottom:24px}
body.catalog .season-heading h2{font-size:2rem}
body.catalog .season-heading.sr-only{margin:0}
@media(max-width:700px){
 body.catalog .catalog-toolbar{display:block;padding:24px 0}
 body.catalog .catalog-intro h1{font-size:2rem}
 body.catalog .season-tabs{width:100%;margin-top:16px}
 body.catalog .catalog-grid{gap:40px}
}
body.catalog .card-title h3{margin:0}

/* Quiet captions and a cover-level action, also exposed on keyboard focus. */
body.catalog .report-caption{display:flex;align-items:baseline;justify-content:space-between;gap:8px 24px;margin-top:12px}
body.catalog .report-caption h3{font-size:1rem;font-weight:400;line-height:1.5;letter-spacing:normal;margin:0;min-width:0}
body.catalog .report-caption h3 a{display:inline-block;padding-block:8px}
body.catalog .report-facts{display:flex;justify-content:flex-end;gap:16px;flex-shrink:0;font-size:1rem;line-height:1.5}
body.catalog .report-facts span{white-space:nowrap}
body.catalog .cover-overlay{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:rgb(17 17 17 / 62%);color:#fff;opacity:0;transition:opacity 220ms var(--motion-ease);pointer-events:none}
body.catalog .cover-overlay-label{font-size:1.125rem;font-weight:600;line-height:1.5;padding:12px 24px;border:1px solid #fff;text-align:center}
body.catalog .cover-link:focus-visible .cover-overlay{opacity:1}
@media(hover:hover){body.catalog .cover-link:hover .cover-overlay{opacity:1}}
@media(max-width:700px){body.catalog .report-caption{gap:8px 16px;flex-wrap:wrap}body.catalog .report-facts{margin-left:auto}}
@media(prefers-reduced-motion:reduce){body.catalog .cover-overlay{transition:none}}
/* The full report purchase is the primary action, distinct from preview controls. */
body.catalog #preview-buy,body.report-detail .buy{background:#e9ee65;color:#111;font-size:1.25rem;font-weight:700;line-height:1.4;min-height:72px;padding:20px 28px;gap:24px;border:2px solid #e9ee65}
body.catalog #preview-buy{width:40%;min-width:320px;max-width:480px;flex-shrink:0;margin:0}
body.catalog #preview-buy span,body.report-detail .buy span{font-size:2rem;line-height:1}
body.catalog .preview-controls{padding-block:20px;gap:32px;background:#191919}
body.report-detail .gallery-story .buy,body.report-detail .gallery-end .buy{width:100%}
body.report-detail .dialog-foot{height:auto;min-height:112px;padding-block:20px;background:#191919}
body.report-detail .dialog-foot .buy{min-width:320px;width:40%;max-width:480px}
@media(hover:hover){body.catalog #preview-buy:hover,body.report-detail .buy:hover{background:#f1f49a;border-color:#f1f49a}}
@media(max-width:700px){
 body.catalog .preview-controls{gap:12px;padding:12px}
 body.catalog .preview-controls>div{justify-content:center;width:100%}
 body.catalog #preview-buy,body.report-detail .dialog-foot .buy{width:100%;max-width:none;min-width:0}
 body.catalog #preview-buy,body.report-detail .buy{min-height:64px;padding:16px 20px;font-size:1.125rem;gap:16px}
 body.report-detail .dialog-foot{gap:12px;padding:12px}
 body.report-detail .dialog-foot>div{justify-content:center;width:100%}
}
/* Review: allow enlarged text to reflow rather than overflow intrinsic grid tracks. */
body.lt-homepage #lt-homepage :is(.section-heading,.cx-heading,.results-grid,.metrics-grid)>*{min-width:0}
body.lt-homepage #lt-homepage :is(h1,h2,h3,.eyebrow,.cx-eyebrow,.metric-label){overflow-wrap:anywhere}
@media(max-width:700px){
 body.lt-homepage #lt-homepage .result-number{font-size:min(6rem,16vw)}
 body.lt-homepage #lt-homepage .metric-number{font-size:min(3rem,14vw)}
 body.lt-homepage #lt-homepage .metric-label{white-space:normal}
}
@media(max-width:700px){
 body.lt-homepage #lt-homepage .result-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,8rem),1fr))}
 body.lt-homepage #lt-homepage .result-grid>article{min-width:0}
 body.lt-homepage #lt-homepage #platform .solution-copy h3{overflow-wrap:anywhere;max-width:100%;min-width:0;white-space:normal}
}

/* Staging integration: Anders body overflow must not create a sticky scroll ancestor. */
body[class*="page-template-page-lt-"] { overflow-x: clip !important; }

/* Explicit foregrounds for dark report surfaces; Anders styles headings globally. */
body[class*="page-template-page-lt-"] :is(#preview-title, #preview-count, .report-overlay h2) { color: #fff; }

/* WordPress assigns Montserrat directly to headings and paragraphs.
   These public templates own their typography; private templates do not load this file. */
body.request-demo :is(h1,h2,h3,p,address,label),body.catalog :is(h1,h2,h3,p),#site-header :is(h1,h2,p),#footer :is(h2,h3,p){font-family:Metropolis,Arial,sans-serif}
