/* Editorial layout built from native WordPress blocks. */
html { scroll-behavior: smooth; }
body { margin: 0; background: var(--vellum); color: var(--ink); font: 400 16px/1.5 var(--font-mono); letter-spacing: -.05em; }
body, button, input, textarea { font-family: var(--font-mono); }
* { box-sizing: border-box; }
a { color: var(--ink); text-underline-offset: .16em; }
a:hover { text-decoration-thickness: 2px; }
:where(a, button, input, textarea):focus-visible { outline: 2px solid var(--ink); outline-offset: 3px; }
img { max-width: 100%; height: auto; }
.wp-site-blocks { overflow: hidden; }
.wp-block-post-content { margin: 0; }
.wp-block-columns { display: flex; flex-wrap: nowrap; }
.wp-block-column { flex: 1 1 0; min-width: 0; }
.wp-block-buttons { display: flex; align-items: center; flex-wrap: wrap; }
.wp-block-image { margin: 0; }
.s44-page-shell { min-height: 65vh; }
.s44-page-shell > .wp-block-post-content > * { max-width: var(--max-width); margin-left: auto; margin-right: auto; }
.s44-page-shell > .wp-block-post-content > .alignfull { max-width: none; }
.s44-page-shell > .wp-block-post-content > .s44-section { margin-top: var(--space-80); margin-bottom: var(--space-80); }
.s44-page-shell > .wp-block-post-content > .s44-section:first-child { margin-top: 0; }

/* Navigation */
.s44-header { border-bottom: 1px solid var(--ash); min-height: var(--nav-height); background: var(--vellum); }
.s44-header-inner { max-width: var(--max-width); margin: auto; min-height: var(--nav-height); padding: 7px 20px; }
.s44-brand { gap: 10px; min-width: 156px; }
.s44-brand .wp-block-site-logo { line-height: 0; margin: 0; }
.s44-brand .wp-block-site-logo img { width: 156px; height: auto; max-height: 58px; object-fit: contain; object-position: left center; }
.s44-brand .wp-block-site-title { margin: 0; font: 500 13px/1 var(--font-mono); letter-spacing: -.08em; }
.s44-brand:has(.wp-block-site-logo img) .s44-fallback-title { display: none; }
.s44-brand .wp-block-site-title a { text-decoration: none; }
.s44-navigation { font: 500 12px/1.1 var(--font-mono); text-transform: uppercase; letter-spacing: -.035em; }
.s44-navigation a { text-decoration: none; }
.s44-navigation a:hover { text-decoration: underline; }
.s44-navigation .wp-block-navigation__container { gap: 24px; }
.s44-header-action { margin: 0; }
.s44-header-action .wp-block-button__link { font-size: 11px; min-height: 32px; padding: 9px 13px; text-transform: uppercase; }

/* Shared type and controls */
.s44-kicker, .s44-overline { margin: 0 0 18px; color: var(--lichen); font: 500 11px/1.45 var(--font-mono); letter-spacing: -.035em; text-transform: uppercase; }
.s44-title, .s44-display, .s44-section-title, .s44-feature-title, .s44-fact-value, .s44-content-title { font-family: var(--font-serif); font-weight: 300; letter-spacing: -.055em; }
.s44-title, .s44-display { font-size: clamp(60px, 7.8vw, 118px); line-height: .93; text-wrap: balance; }
.s44-section-title { font-size: clamp(44px, 5vw, 76px); line-height: .99; text-wrap: balance; }
.s44-content-title { font-size: clamp(38px, 4vw, 60px); line-height: 1.02; text-wrap: balance; }
.s44-lead { max-width: 660px; color: var(--lichen); font-size: clamp(15px, 1.6vw, 19px); line-height: 1.55; letter-spacing: -.045em; }
.s44-small { color: var(--lichen); font-size: 12px; line-height: 1.5; }
.s44-rule { border-top: 1px solid var(--ash); }
.wp-block-button__link, .wp-block-button.is-style-outline .wp-block-button__link { min-height: 38px; display: inline-flex; align-items: center; justify-content: center; padding: 9px 17px; border: 1px solid var(--carbon); border-radius: var(--radius-sm); background: var(--carbon); color: var(--on-carbon); font: 500 12px/1.1 var(--font-mono); letter-spacing: -.04em; text-decoration: none; transition: background .16s ease, color .16s ease; }
.wp-block-button.is-style-outline .wp-block-button__link { background: transparent; border-color: var(--ink); color: var(--ink); }
.wp-block-button__link:hover { background: var(--ink); color: var(--vellum); }
.wp-block-button.is-style-outline .wp-block-button__link:hover { background: var(--ink); color: var(--vellum); }
.wp-block-buttons { gap: 8px; }

/* Centered opening mirrors the supplied Visual reference's editorial rhythm. */
.s44-hero { text-align: center; padding: clamp(72px, 10vw, 130px) 20px 0; }
.s44-hero .s44-title { max-width: 980px; margin: 0 auto; }
.s44-hero .s44-lead { margin: 24px auto 0; max-width: 650px; }
.s44-hero .wp-block-buttons { justify-content: center; margin-top: 28px; }
.s44-hero-art { position: relative; width: min(900px, 100%); min-height: 470px; margin: 35px auto 0; display: flex; align-items: center; justify-content: center; }
.s44-hero-art:before { content: ''; position: absolute; inset: 8% 4% 3%; background: url('assets/checkerboard.svg') repeat; opacity: .48; clip-path: polygon(12% 2%, 84% 10%, 98% 62%, 76% 97%, 21% 89%, 0 44%); }
.s44-hero-art .wp-block-image { position: relative; z-index: 1; width: min(670px, 76%); margin: 0; transform: rotate(-2deg); border: 9px solid var(--paper); box-shadow: none; }
.s44-hero-art .wp-block-image img { display: block; width: 100%; aspect-ratio: 1.54; object-fit: cover; }
.s44-hero-art .s44-art-label { position: absolute; z-index: 2; right: 5%; bottom: 10%; width: min(305px, 38%); padding: 17px 18px; background: var(--carbon); color: var(--on-carbon); text-align: left; font: 400 12px/1.45 var(--font-mono); letter-spacing: -.04em; }
.s44-hero-art .s44-art-label strong { display: block; margin-bottom: 8px; font-size: 11px; font-weight: 500; text-transform: uppercase; }
.s44-hero-art .s44-art-code { position: absolute; z-index: 2; top: 14%; left: 4%; padding: 8px 10px; background: var(--paper); font: 500 11px/1 var(--font-mono); }
.s44-hero-art .s44-art-line { position: absolute; z-index: 2; top: 38%; left: 2%; width: 138px; height: 4px; background: var(--highlighter); }
.s44-hero-caption { max-width: 900px; margin: -6px auto 0; padding: 0 20px; text-align: right; color: var(--lichen); font-size: 11px; }
.s44-hero-bottom { border-top: 1px solid var(--ash); padding: 13px 0; margin-top: 28px; display: flex; justify-content: space-between; gap: 16px; color: var(--lichen); font-size: 10px; text-transform: uppercase; }

/* Feature story and fact cards. */
.s44-intro { padding: 0 20px; }
.s44-intro > .wp-block-group { max-width: 810px; margin: auto; text-align: center; }
.s44-intro .s44-section-title { margin: 0 auto 16px; }
.s44-intro .s44-lead { margin: 0 auto; }
.s44-feature { padding: clamp(35px, 6vw, 70px); background: var(--carbon); color: var(--on-carbon); border-radius: var(--radius-md); }
.s44-feature .wp-block-columns { gap: clamp(26px, 5vw, 80px); align-items: center !important; margin: 0; }
.s44-feature .s44-kicker { color: var(--on-carbon-muted); }
.s44-feature-title { margin: 0 0 20px; color: var(--on-carbon); font-size: clamp(46px, 5vw, 72px); line-height: .98; }
.s44-feature p:not(.s44-kicker) { color: var(--on-carbon-muted); }
.s44-feature a { color: var(--on-carbon); }
.s44-feature .wp-block-button__link { background: var(--on-carbon); color: var(--carbon); border-color: var(--on-carbon); }
.s44-feature .wp-block-button__link:hover { background: var(--vellum); }
.s44-feature .wp-block-image { margin: 0; }
.s44-feature .wp-block-image img { width: 100%; aspect-ratio: 1.12; object-fit: cover; }
.s44-feature .s44-image-caption { margin-top: 9px; color: var(--on-carbon-muted); font-size: 11px; line-height: 1.5; }
.s44-feature-links { border-top: 1px solid var(--olive-char); margin-top: 30px; }
.s44-feature-links p { margin: 0; border-bottom: 1px solid var(--olive-char); padding: 13px 0; font-size: 13px; }
.s44-feature-links a { display: block; text-decoration: none; }
.s44-feature-links a:hover { text-decoration: underline; }
.s44-facts-head { padding: 0 20px; }
.s44-facts-head .wp-block-columns { align-items: end !important; gap: 40px; }
.s44-facts-head .s44-section-title { margin: 0; }
.s44-facts-head .s44-lead { font-size: 14px; }
.s44-facts { padding: 0 20px; }
.s44-facts .wp-block-columns { align-items: stretch !important; gap: 22px; }
.s44-fact { padding: 26px; border: 1px solid var(--ash); border-radius: var(--radius-md); background: var(--paper); height: 100%; }
.s44-fact .s44-fact-value { font-size: clamp(55px, 6vw, 76px); line-height: 1; margin: 20px 0 10px; }
.s44-fact .s44-fact-label { margin: 0 0 14px; font: 500 13px/1.35 var(--font-mono); }
.s44-fact .s44-small { margin-bottom: 0; }
.s44-facts-note { padding: 0 20px; font-size: 11px; color: var(--lichen); }
.s44-sources-band { padding: 0 20px; }
.s44-sources-band .wp-block-columns { border-top: 1px solid var(--ash); padding-top: 20px; }
.s44-sources-band h3 { font: 400 24px/1.1 var(--font-serif); letter-spacing: -.04em; }
.s44-sources-band p { font-size: 13px; color: var(--lichen); }

/* Interior pages */
.s44-page-intro { padding: 82px 20px 28px; }
.s44-page-intro .s44-title { max-width: 970px; margin: 0 0 20px; }
.s44-page-intro .s44-lead { margin: 0; }
.s44-page-intro .wp-block-buttons { margin-top: 24px; }
.s44-content-section { padding: 0 20px; }
.s44-content-section .s44-content-title { margin: 0 0 22px; }
.s44-content-section .wp-block-columns { gap: 28px; }
.s44-content-section p { max-width: 780px; }
.s44-content-section .wp-block-image img { display: block; width: 100%; }
.s44-callout { padding: 32px; border-left: 4px solid var(--highlighter); background: var(--paper); }
.s44-callout > *:first-child { margin-top: 0; }
.s44-callout > *:last-child { margin-bottom: 0; }
.s44-source-list { padding: 0; list-style: none; }
.s44-source-list li { border-top: 1px solid var(--ash); padding: 13px 0; }
.s44-source-list li:last-child { border-bottom: 1px solid var(--ash); }
.s44-fact-detail { padding: 28px; border: 1px solid var(--ash); border-radius: var(--radius-md); background: var(--paper); }
.s44-fact-detail .s44-fact-value { font-size: clamp(60px, 7vw, 90px); margin: 0; line-height: 1; }
.s44-fact-detail h2 { font: 400 28px/1.1 var(--font-serif); letter-spacing: -.04em; }
.s44-fact-detail p, .s44-fact-detail li { font-size: 13px; line-height: 1.55; }
.s44-fact-detail .s44-small { font-size: 11px; }
.s44-fact-detail details { border-top: 1px solid var(--ash); padding: 12px 0 0; margin-top: 14px; }
.s44-fact-detail summary { cursor: pointer; font-size: 12px; font-weight: 500; }
.s44-not-found { padding: 90px 20px; }

/* Dated research pages remain individual editable blocks. */
.wp-block-post-content > .wp-block-paragraph { max-width: 800px; padding: 0 20px; }
.wp-block-post-content > .wp-block-paragraph:first-child:not(.s44-kicker) { margin-top: 58px; font-size: 12px; color: var(--lichen); }
.wp-block-post-content > .wp-block-group:not(.s44-section) { max-width: 840px; padding: 0 20px; }
.wp-block-post-content h1:not(.s44-title), .wp-block-post-content h2:not(.s44-section-title):not(.s44-content-title):not(.s44-feature-title), .wp-block-post-content h3:not(.s44-fact-label) { font-family: var(--font-serif); font-weight: 300; letter-spacing: -.045em; line-height: 1.06; }
.wp-block-post-content h1:not(.s44-title) { font-size: clamp(46px, 5vw, 76px); margin: 45px 0 22px; }
.wp-block-post-content h2:not(.s44-section-title):not(.s44-content-title):not(.s44-feature-title) { font-size: clamp(32px, 3vw, 48px); margin: 48px 0 20px; }
.wp-block-post-content h3:not(.s44-fact-label) { font-size: clamp(24px, 2.2vw, 34px); margin: 30px 0 13px; }
.wp-block-post-content .wp-block-group:not(.s44-section) > p { line-height: 1.7; }
.wp-block-post-content .wp-block-details { border-top: 1px solid var(--ash); padding: 13px 0; margin: 12px 0; }
.wp-block-post-content .wp-block-details > summary { cursor: pointer; font-weight: 500; }
.wp-block-post-content .wp-block-table { overflow-x: auto; }
.wp-block-post-content .wp-block-table table { border-collapse: collapse; font-size: 12px; }
.wp-block-post-content .wp-block-table td, .wp-block-post-content .wp-block-table th { border: 1px solid var(--ash); padding: 10px; text-align: left; vertical-align: top; }
.s44-record-row { border: 1px solid var(--ash); background: var(--paper); margin: 18px 0; padding: 18px 22px; }
.s44-record-row h3 { margin-top: 0 !important; }
.s44-record-row > p { font-size: 13px; }
#scorecard { margin-top: 70px; border-top: 1px solid var(--ash); padding-top: 24px; }
#scorecard > .wp-block-group > .wp-block-group { margin: 16px 0; padding: 20px; border: 1px solid var(--ash); background: var(--paper); }
#scorecard h2 { margin-top: 0; }
#scorecard h3 { margin-top: 0; }

/* Footer */
.s44-footer { margin-top: 120px; padding: 62px 20px 22px; background: var(--carbon); color: var(--on-carbon); }
.s44-footer > * { max-width: var(--max-width); margin-left: auto; margin-right: auto; }
.s44-footer-grid { gap: 35px; }
.s44-footer .wp-block-site-title { margin-top: 0; font: 300 46px/1 var(--font-serif); letter-spacing: -.055em; }
.s44-footer .wp-block-site-title a { color: var(--on-carbon); text-decoration: none; }
.s44-footer p { color: var(--on-carbon-muted); font-size: 12px; line-height: 1.8; }
.s44-footer .s44-footer-label { margin-top: 0; color: var(--on-carbon-muted); font-size: 10px; text-transform: uppercase; }
.s44-footer a { color: var(--on-carbon); }
.s44-footer-bottom { border-top: 1px solid var(--olive-char); padding-top: 20px; margin-top: 40px; }

@media (max-width: 780px) {
  .wp-block-columns { flex-wrap: wrap; }
  .wp-block-column { flex-basis: 100%; }
  .s44-header-inner { justify-content: space-between !important; }
  .s44-header-action { display: none; }
  .s44-hero { padding-top: 76px; }
  .s44-hero-art { min-height: 320px; margin-top: 16px; }
  .s44-hero-art .wp-block-image { width: 82%; }
  .s44-hero-art .s44-art-label { right: 0; bottom: 0; width: min(245px, 58%); padding: 11px; font-size: 10px; }
  .s44-hero-art .s44-art-code { top: 9%; left: 0; }
  .s44-hero-art .s44-art-line { width: 70px; }
  .s44-feature { margin-left: 16px !important; margin-right: 16px !important; padding: 30px 22px; }
  .s44-page-intro { padding-top: 70px; }
  .s44-footer { margin-top: 80px; }
}
@media (max-width: 560px) {
  .s44-title, .s44-display { font-size: clamp(48px, 13vw, 70px); }
  .s44-hero-art { min-height: 270px; }
  .s44-hero-art .s44-art-label { font-size: 9px; }
  .s44-hero-bottom { flex-direction: column; }
  .s44-fact { padding: 20px; }
  .s44-callout { padding: 23px; }
}
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } .wp-block-button__link { transition: none; } }
