.elementor-widget-heading .elementor-heading-title{font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-weight:var( --e-global-typography-primary-font-weight );color:var( --e-global-color-primary );}.elementor-18 .elementor-element.elementor-element-987894b .elementor-heading-title{font-family:"League Spartan", Sans-serif;font-size:55px;color:#FFFFFF;}.elementor-widget-text-editor{font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );color:var( --e-global-color-text );}.elementor-widget-text-editor.elementor-drop-cap-view-stacked .elementor-drop-cap{background-color:var( --e-global-color-primary );}.elementor-widget-text-editor.elementor-drop-cap-view-framed .elementor-drop-cap, .elementor-widget-text-editor.elementor-drop-cap-view-default .elementor-drop-cap{color:var( --e-global-color-primary );border-color:var( --e-global-color-primary );}.elementor-18 .elementor-element.elementor-element-f96766b{font-family:"Montserrat", Sans-serif;font-size:18px;font-weight:500;}.elementor-18 .elementor-element.elementor-element-01f10db{font-family:"Montserrat", Sans-serif;font-size:18px;font-weight:500;}.elementor-widget-button .elementor-button{background-color:var( --e-global-color-accent );font-family:var( --e-global-typography-accent-font-family ), Sans-serif;font-weight:var( --e-global-typography-accent-font-weight );}.elementor-18 .elementor-element.elementor-element-97addd4 .elementor-wrapper{--video-aspect-ratio:1.77777;}/* Start custom CSS *//* Codex homepage structure repair matches Final Preview.html */
body.home .site-header .custom-logo-link {
  display: flex;
  align-items: center;
  flex: 0 0 auto;
  line-height: 0;
}
body.home .site-header .custom-logo-link .custom-logo {
  display: block;
  width: auto;
  height: auto;
  max-height: 4.5rem;
  max-width: min(22rem, 28vw);
}
body.home .elementor-element-6dbecf0,
body.home .elementor-element-e9ff2e9,
body.home .elementor-element-6f6dbe2,
body.home .elementor-element-d550aca,
body.home .elementor-element-961bd1b {
  width: 100%;
  max-width: none;
  margin: 0 !important;
}
body.home .elementor-element-6dbecf0 > .elementor-container,
body.home .elementor-element-e9ff2e9 > .elementor-container,
body.home .elementor-element-6f6dbe2 > .elementor-container,
body.home .elementor-element-d550aca > .elementor-container,
body.home .elementor-element-961bd1b > .elementor-container {
  width: 100%;
  max-width: none !important;
}
body.home .elementor-element-6dbecf0 > .elementor-container > .elementor-column > .elementor-widget-wrap,
body.home .elementor-element-e9ff2e9 > .elementor-container > .elementor-column > .elementor-widget-wrap,
body.home .elementor-element-6f6dbe2 > .elementor-container > .elementor-column > .elementor-widget-wrap,
body.home .elementor-element-d550aca > .elementor-container > .elementor-column > .elementor-widget-wrap,
body.home .elementor-element-961bd1b > .elementor-container > .elementor-column > .elementor-widget-wrap {
  padding: 0 !important;
}
body.home .chapter {
  width: 100%;
  min-height: 100vh;
  min-height: 100svh;
}
/* Scroll-lock: chapter sequence snaps one at a time, matching Final Preview.html */
html.is-home-scroll-lock {
  scroll-snap-type: y mandatory;
}
body.home .chapter {
  scroll-snap-align: start;
  scroll-snap-stop: normal;
}
@media (max-width: 767px) {
  body.home .site-header .custom-logo-link .custom-logo {
    max-height: 2.75rem;
    max-width: 13rem;
  }
}
body.home .story-showcase__grid { display: block !important; }
body.home .story-showcase__grid > .elementor-container {
  display: grid !important;
  grid-template-columns: minmax(0,.6fr) minmax(0,1.4fr);
  gap: 4.5rem;
  align-items: center;
  width: 100%;
  max-width: none !important;
}
body.home .story-showcase__grid > .elementor-container > .elementor-column {
  width: auto !important;
}
body.home .story-showcase__content > .elementor-widget-wrap,
body.home .story-showcase__media > .elementor-widget-wrap { padding: 0 !important; }
body.home .elementor-element-46908c1 { margin-top:2rem !important; }
body.home .elementor-element-072ff83,
body.home .elementor-element-072ff83 > .elementor-container { width:100%; max-width:none !important; }
body.home .elementor-element-072ff83 > .elementor-container > .elementor-column > .elementor-widget-wrap { padding:0 !important; }
body.home .elementor-element-9dfc7a8 { width:100% !important; }
@media (max-width:1023px) {
  body.home .story-showcase__grid > .elementor-container { grid-template-columns:1fr; gap:3rem; }
  body.home .story-showcase__grid > .elementor-container > .elementor-column { width:100% !important; }
  body.home .story-showcase__content { text-align:center; }
}
/* Footer repair matches Final Preview.html */
body.home .site-footer .footer-grid {
  grid-template-columns: 2fr 1fr 1fr !important;
  gap: 2rem !important;
  align-items: start;
}
body.home .site-footer .footer-brand { max-width:24rem; }
body.home .site-footer .footer-brand > .custom-logo-link {
  display:flex;
  align-items:center;
  width:fit-content;
  line-height:0;
}
body.home .site-footer .footer-brand > .custom-logo-link .custom-logo {
  display:block;
  width:auto !important;
  height:auto !important;
  max-height:2rem !important;
  max-width:13rem !important;
}
body.home .site-footer .footer-links {
  margin:0;
  padding:0;
  list-style:none !important;
  align-items:flex-start;
}
body.home .site-footer .footer-links li {
  margin:0;
  padding:0;
  list-style:none !important;
}
body.home .site-footer .footer-links li::marker { content:''; }
@media (max-width:767px) {
  body.home .site-footer .footer-grid {
    grid-template-columns:1fr !important;
    gap:2.5rem !important;
  }
  body.home .site-footer .footer-brand { max-width:100%; }
}/* End custom CSS */