
/* pass 6: tightened shared layout + typography/link parity */

/* Preserve WordPress wide-width behavior */
.alignwide.is-layout-constrained,
.wp-block-group.alignwide.is-layout-constrained,
.wp-block-columns.alignwide.is-layout-constrained,
.wp-block-media-text.alignwide.is-layout-constrained,
.wp-block-group-content.alignwide.is-layout-constrained {
  max-width: var(--wp--style--global--wide-size) !important;
}

.alignfull.is-layout-constrained,
.wp-block-group.alignfull.is-layout-constrained {
  max-width: none !important;
}

/* Accessibility utility */
.screen-reader-text {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  white-space: nowrap !important;
  border: 0 !important;
}

/* Header */
header .social-and-toggle-search,
header .wp-block-main-header,
header .wp-block-main-header .alignwide {
  max-width: var(--wp--style--global--wide-size);
  margin-left: auto;
  margin-right: auto;
}

header .wp-block-main-header-container {
  display: flex !important;
  align-items: center;
  justify-content: space-between;
  gap: 0;
  flex-wrap: nowrap;
}

header .site-identity,
header .wp-block-social-search-container {
  width: 25%;
  flex: 0 0 25%;
}

header .site-identity {
  display: flex;
  align-items: center;
  justify-content: flex-start;
}

header .wp-block-navigation.site-nav-static,
header .wp-block-navigation {
  width: 50%;
  flex: 0 0 50%;
  display: block;
  margin: 0;
}

header .wp-block-navigation__container {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 36px;
  flex-wrap: nowrap;
  width: 100%;
}

header .wp-block-social-search-container {
  display: flex;
  align-items: center;
  justify-content: flex-end;
}

header .wp-block-site-title {
  margin: 0;
  line-height: 1;
}

header .wp-block-site-title a {
  font-size: 34px;
  font-weight: 700;
  letter-spacing: .02em;
  text-decoration: none;
}

header .wp-block-navigation-item__content {
  font-weight: 700;
  text-decoration: none;
  white-space: nowrap;
}

header .wp-block-social-links {
  gap: 12px;
}

header .wp-block-social-link,
footer .wp-block-site-generator .wp-block-social-link {
  background: transparent !important;
  color: transparent !important;
}

header .wp-block-social-link-anchor,
footer .wp-block-site-generator .wp-block-social-link-anchor {
  color: #fff !important;
  fill: #fff !important;
  background: transparent !important;
  border: 0 !important;
  padding: 0 !important;
  text-decoration: none !important;
  box-shadow: none !important;
  font-size: 0 !important;
  line-height: 0 !important;
}

header .wp-block-social-link-anchor svg {
  width: 15px;
  height: 15px;
}

/* Icon-only mobile toggle */
.nav-toggle {
  display: none;
  background: none;
  border: 0;
  color: #fff;
  width: 42px;
  height: 42px;
  padding: 0;
  margin-left: auto;
  cursor: pointer;
  position: relative;
  font-size: 0;
  line-height: 0;
}

.nav-toggle::before {
  content: "☰";
  font-size: 22px;
  line-height: 1;
  color: #fff;
}

/* Front page hero */
.main-front-page .wp-block-header-media-no-image {
  min-height: 760px;
  display: flex;
  align-items: center;
  justify-content: center;
  padding-top: 0;
}

.main-front-page .wp-block-header-media-no-image > .wp-block-cover__inner-container {
  width: 100%;
}

.header-title-wrapper {
  max-width: 980px;
  margin: 0 auto 14px;
  text-align: center;
}

.header-title-wrapper .header-animate-wrap {
  display: inline-block;
  vertical-align: top;
}

.header-title-wrapper .header-animate-wrap:last-child {
  display: block;
}

.main-front-page .wp-block-heading.has-huge-font-size {
  font-size: var(--wp--preset--font-size--huge-display) !important;
  line-height: 1.16;
  margin: 0;
}

.main-front-page p.has-content-heading-font-size {
  font-size: clamp(20px, 2vw, 28px) !important;
  line-height: 1.65;
  margin-top: 1.6rem;
}

.main-front-page .wp-block-hero-content .wp-block-media-text {
  align-items: center;
  grid-template-columns: 40% 1fr !important;
  column-gap: 0;
}

.main-front-page .wp-block-hero-content .wp-block-media-text__media {
  margin: 0;
}

.main-front-page .wp-block-hero-content .wp-block-media-text__content {
  padding-left: 10% !important;
  padding-right: 0 !important;
}

.main-front-page .wp-block-hero-content .wp-block-group-heading,
.main-front-page .wp-block-hero-content p {
  max-width: 620px;
}

/* Buttons */
.wp-block-buttons {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  align-items: center;
}

.wp-block-button {
  display: inline-block;
}

.wp-block-button .wp-block-button__link,
a.wp-element-button,
.wp-block-search__button {
  background: #f04c35 !important;
  color: #fff !important;
  border: 0 !important;
  border-radius: 999px !important;
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  min-height: 50px;
  min-width: 140px;
  padding: 15px 30px !important;
  line-height: 1 !important;
  text-transform: uppercase;
  text-decoration: none !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  letter-spacing: .02em;
  box-shadow: none !important;
}

.wp-block-button .wp-block-button__link::before,
.wp-block-button .wp-block-button__link::after,
a.wp-element-button::before,
a.wp-element-button::after {
  display: none !important;
  content: none !important;
}

.wp-block-button .wp-block-button__link:hover,
.wp-block-button .wp-block-button__link:focus,
a.wp-element-button:hover,
a.wp-element-button:focus {
  background: #ffffff !important;
  color: #0A0C11 !important;
}

/* Feature cards */
.main-front-page .wp-block-feature-content .alignwide.wp-block-group-content {
  max-width: var(--wp--style--global--wide-size);
}

.main-front-page .wp-block-feature-content .wp-block-columns {
  display: flex;
  flex-wrap: nowrap;
  gap: 32px;
}

.main-front-page .wp-block-feature-content .wp-block-column {
  flex: 1 1 0;
  min-width: 0;
}

.main-front-page .wp-block-post-group {
  height: 100%;
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  padding: 24px;
  border: 1px solid var(--wp--preset--color--border-color);
}

.main-front-page .wp-block-post-group .wp-block-image {
  margin: 0 0 20px;
}

.main-front-page .wp-block-post-group .wp-block-image img {
  width: 100%;
  aspect-ratio: 16 / 9;
  object-fit: cover;
}

.main-front-page .wp-block-post-group .wp-block-entry-content h2 {
  margin-top: 0;
  margin-bottom: 18px;
}

.main-front-page .wp-block-post-group .wp-block-entry-content p {
  margin: 0;
}

/* CTA */
.main-front-page .wp-block-cta .wp-block-cover__inner-container > .wp-block-group {
  min-height: 360px;
  display: flex;
  align-items: center;
  justify-content: center;
}

.main-front-page .wp-block-cta .wp-block-buttons {
  justify-content: center;
}

/* Inner pages */
main .wp-block-post-title {
  margin-top: 0;
}

.wp-block-inner-page-title,
.wp-block-columns,
main > .wp-block-group,
main > .wp-block-columns {
  max-width: var(--wp--style--global--wide-size);
  margin-left: auto;
  margin-right: auto;
}

.contact-us-content,
.history-content,
.event-sign-in-content {
  max-width: var(--wp--style--global--content-size);
  margin-left: auto;
  margin-right: auto;
}

/* Footer */
footer .wp-block-widget-area .alignwide {
  max-width: var(--wp--style--global--wide-size);
  margin: 0 auto;
}

footer .wp-block-footer-widget-area-columns,
footer .wp-block-widget-area-columns {
  display: flex;
  align-items: flex-start;
  gap: clamp(30px, 6vw, 80px);
}

footer .wp-block-footer-widget-area-columns > .wp-block-column,
footer .wp-block-widget-area-columns > .wp-block-column {
  flex: 1 1 0;
  min-width: 0;
}

footer .wp-block-site-generator .alignwide {
  display: flex !important;
  flex-wrap: nowrap;
  justify-content: space-between;
  align-items: center;
  gap: 1rem;
}

footer .wp-block-site-generator p {
  margin: 0;
}

footer .wp-block-site-generator .wp-block-social-links {
  margin-left: auto;
}

footer .wp-block-site-generator .wp-block-social-link-anchor {
  width: 22px;
  height: 22px;
  display: flex !important;
  align-items: center;
  justify-content: center;
}

footer .wp-block-site-generator .wp-block-social-link-anchor svg {
  width: 13px;
  height: 13px;
}

@media (max-width: 1024px) {
  header .wp-block-site-title a {
    font-size: 28px;
  }
  header .wp-block-navigation__container {
    gap: 22px;
  }
}

@media (max-width: 781px) {
  header .wp-block-main-header-container {
    display: flex !important;
    align-items: flex-start;
    gap: 1rem;
    flex-wrap: wrap;
  }

  header .site-identity {
    width: auto;
    flex: 1 1 auto;
  }

  header .wp-block-social-search-container {
    width: auto;
    flex: 0 0 auto;
    order: 2;
  }

  .nav-toggle {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    order: 1;
  }

  header .wp-block-navigation.site-nav-static {
    display: none;
    width: 100%;
    flex: 1 1 100%;
    order: 4;
  }

  header .wp-block-navigation.site-nav-static.is-open {
    display: block;
  }

  header .wp-block-navigation {
    width: 100%;
    flex: 1 1 100%;
  }

  header .wp-block-navigation__container {
    flex-direction: column;
    align-items: flex-start;
    justify-content: flex-start;
    gap: .85rem;
    padding: 1rem 0 .25rem;
  }

  header .wp-block-social-search-container {
    justify-content: flex-start;
  }

  .main-front-page .wp-block-header-media-no-image {
    min-height: 560px;
  }

  .main-front-page .wp-block-hero-content .wp-block-media-text {
    grid-template-columns: 1fr !important;
  }

  .main-front-page .wp-block-hero-content .wp-block-media-text__content {
    padding-left: 0 !important;
  }

  .main-front-page .wp-block-feature-content .wp-block-columns,
  footer .wp-block-footer-widget-area-columns,
  footer .wp-block-widget-area-columns {
    flex-wrap: wrap;
  }

  footer .wp-block-site-generator .alignwide {
    flex-wrap: wrap;
    align-items: flex-start;
  }

  footer .wp-block-site-generator .wp-block-social-links {
    margin-left: 0;
  }
}


/* pass 7 shared fixes */
.nav-toggle .screen-reader-text { display:none !important; }
header .wp-block-navigation.site-nav-static { align-self: center; }
header .wp-block-social-search-container ul.wp-block-social-links { align-items:center; }
header .wp-block-social-link-anchor[title],
footer .wp-block-site-generator .wp-block-social-link-anchor[title] { font-size:0 !important; line-height:0 !important; }
footer .wp-block-site-generator .wp-block-social-links { align-items:center; }
.contact-us-content a[href^="mailto:"] { text-decoration: underline; }



/* pass 8: restore theme.json global typography that WordPress normally injects */
body,
button,
input,
select,
textarea,
.wp-block-navigation,
.wp-block-site-title,
.wp-block-site-tagline,
.wp-block-button__link {
  font-family: var(--wp--preset--font-family--poppins);
}

body {
  background: var(--wp--preset--color--background);
  color: var(--wp--preset--color--body-text);
  font-size: var(--wp--preset--font-size--body-default);
  line-height: var(--wp--custom--typography--line-height--paragraph);
  font-weight: var(--wp--custom--typography--font-weight--regular);
}

p,
ul,
ol,li {
  font-size: var(--wp--preset--font-size--body-default);
  line-height: var(--wp--custom--typography--line-height--paragraph);
}

h1, .wp-block-heading:is(h1), .page-title {
  font-size: var(--wp--custom--typography--font-size--heading-one);
  line-height: var(--wp--custom--typography--line-height--heading-one);
}

h2, .wp-block-heading:is(h2) {
  font-size: var(--wp--custom--typography--font-size--heading-two);
  line-height: var(--wp--custom--typography--line-height--heading-two);
}

h3, .wp-block-heading:is(h3) {
  font-size: var(--wp--custom--typography--font-size--heading-three);
  line-height: var(--wp--custom--typography--line-height--heading-three);
}

h4, .wp-block-heading:is(h4) {
  font-size: var(--wp--custom--typography--font-size--heading-four);
  line-height: var(--wp--custom--typography--line-height--heading-four);
}

h5, .wp-block-heading:is(h5) {
  font-size: var(--wp--custom--typography--font-size--heading-five);
  line-height: var(--wp--custom--typography--line-height--heading-five);
}

h6, .wp-block-heading:is(h6) {
  font-size: var(--wp--custom--typography--font-size--heading-six);
  line-height: var(--wp--custom--typography--line-height--heading-six);
}

.wp-block-heading {
  color: var(--wp--preset--color--foreground);
  font-weight: var(--wp--custom--typography--font-weight--bold);
  margin-top: 0;
  margin-bottom: 0;
}

a { color: var(--wp--preset--color--text-link); }

.wp-block-site-tagline {
  color: var(--wp--preset--color--body-text);
  font-size: 12px;
  font-weight: 300;
  margin-top: 0;
}

/* front page hero closer to live */
.page-home .main-front-page .wp-block-header-media-no-image {
  min-height: 720px;
}

.page-home .main-front-page .wp-block-heading.has-huge-font-size {
  font-size: clamp(40px, 4.6vw, 72px) !important;
  line-height: 1.18;
  font-weight: 500 !important;
}

.page-home .main-front-page p.has-content-heading-font-size {
  font-size: var(--wp--preset--font-size--body-default) !important;
  line-height: var(--wp--custom--typography--line-height--paragraph) !important;
  font-weight: 300;
}

.page-home .header-animate-wrap:not(:last-child) {
  display: inline-block;
  padding: 0 4px;
}

.page-home .header-animate-wrap:nth-child(2) {
  opacity: 0.5;
}

/* inner page hero/title areas */
.page-history .wp-block-cover.is-light {
  min-height: 360px;
  padding-top: var(--wp--custom--spacing--section-block-top);
  padding-bottom: var(--wp--custom--spacing--section-block-bottom);
}

.page-history .wp-block-cover.is-light .has-huge-font-size {
  font-size: var(--wp--custom--typography--font-size--huge-post-title) !important;
  line-height: var(--wp--custom--typography--line-height--heading-one) !important;
}

.page-history .wp-block-cover.is-light .has-large-font-size {
  font-size: var(--wp--preset--font-size--large) !important;
  line-height: var(--wp--custom--typography--line-height--heading-three) !important;
}

.page-history main,
.page-event-sign-in main,
.page-contact-us main {
  padding-top: var(--wp--custom--spacing--section-block-top);
  padding-bottom: var(--wp--custom--spacing--section-block-bottom);
}

.page-history .history-content,
.page-event-sign-in .event-sign-in-content,
.page-contact-us main > .wp-block-columns,
.page-contact-us main > .wp-block-group {
  max-width: var(--wp--style--global--content-size);
  margin-left: auto;
  margin-right: auto;
}

.page-history .history-content {
  gap: 0;
}

.page-history .history-content > .wp-block-column > .wp-block-group {
  max-width: 100%;
}

.page-history p,
.page-event-sign-in p {
  max-width: 100%;
}

.page-history ul {
  padding-left: 1.25rem;
}

.page-history li + li {
  margin-top: .35rem;
}

.page-event-sign-in .event-sign-in-content {
  max-width: var(--wp--style--global--wide-size);
  align-items: center;
  gap: clamp(28px, 6vw, 80px);
}

.page-event-sign-in .event-sign-in-content h2 {
  font-size: var(--wp--custom--typography--font-size--heading-two) !important;
  line-height: var(--wp--custom--typography--line-height--heading-two) !important;
  margin-bottom: 14px;
}

.page-event-sign-in .event-sign-in-content .wp-block-group {
  max-width: 300px;
  margin-left: auto;
  margin-right: auto;
}

.page-event-sign-in .event-sign-in-content .wp-block-image {
  margin-bottom: 0;
}

.page-event-sign-in .event-sign-in-content .wp-image-150 {
  width: 300px !important;
  height: 300px !important;
  max-width: none !important;
  aspect-ratio: 1 / 1;
  object-fit: contain;
  display: block;
}

.page-event-sign-in .event-sign-in-content .wp-block-image a {
  display: block;
  width: 300px;
  height: 300px;
  max-width: none;
}

/* keep front page buttons faithful while leaving page copy typography alone */
.page-home .wp-block-button .wp-block-button__link,
.page-home a.wp-element-button,
.page-home .wp-block-search__button {
  font-size: 13px !important;
}

.page-home main > .wp-block-group.wp-block-feature-content {
  width: 100vw !important;
  max-width: none !important;
  margin-left: calc(50% - 50vw) !important;
  margin-right: calc(50% - 50vw) !important;
}

.page-home main > .wp-block-group.wp-block-hero-content {
  width: 100vw !important;
  max-width: none !important;
  margin-left: calc(50% - 50vw) !important;
  margin-right: calc(50% - 50vw) !important;
}

.page-home .wp-block-hero-content > .wp-block-group,
.page-home .wp-block-hero-content .wp-block-media-text.alignwide {
  width: min(1296px, calc(100vw - 144px)) !important;
  max-width: min(1296px, calc(100vw - 144px)) !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

.page-home .wp-block-feature-content .wp-block-group-content,
.page-home .wp-block-feature-content .wp-block-group-content {
  width: min(1296px, calc(100vw - 144px)) !important;
  max-width: min(1296px, calc(100vw - 144px)) !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

.page-home .wp-block-feature-content .wp-block-columns {
  width: 100% !important;
  max-width: none !important;
}

@media (max-width: 781px) {
  .page-home .main-front-page .wp-block-heading.has-huge-font-size {
    font-size: clamp(36px, 8vw, 54px) !important;
  }

  .page-history .wp-block-cover.is-light {
    min-height: 280px;
  }

  .page-event-sign-in .event-sign-in-content {
    max-width: var(--wp--style--global--content-size);
  }
}


/* pass 9: live WP header/footer structure parity */
header .wp-block-main-header-container > .site-identity,
header .wp-block-main-header-container > .wp-block-social-search-container {
  width: 25%;
  flex: 0 0 25%;
}

header .wp-block-main-header-container > .site-identity {
  display: flex;
  align-items: center;
  justify-content: flex-start;
}

header .wp-block-main-header-container > .wp-block-navigation {
  width: 50%;
  flex: 0 0 50%;
  display: block;
  margin: 0;
  align-self: center;
}

header .wp-block-main-header-container > .wp-block-navigation > .wp-block-navigation__container {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 36px;
  flex-wrap: nowrap;
  width: 100%;
}

header .wp-block-navigation__container.wp-block-navigation,
header .wp-block-navigation__responsive-container .wp-block-navigation {
  width: auto;
  flex: initial;
  margin: 0;
}

header .wp-block-main-header-container > .wp-block-social-search-container {
  display: flex;
  align-items: center;
  justify-content: flex-end;
}

header .wp-block-main-header-container .wp-block-navigation-item__content {
  font-weight: 700;
  text-decoration: none;
  white-space: nowrap;
}

header .wp-block-navigation__responsive-container,
header .wp-block-navigation__responsive-container-close {
  display: none;
}

header .wp-block-navigation__responsive-container-open {
  display: none;
  background: none;
  border: 0;
  color: var(--wp--preset--color--foreground);
  width: 42px;
  height: 42px;
  padding: 0;
  cursor: pointer;
  align-items: center;
  justify-content: center;
}

header .wp-block-navigation__responsive-container-open svg,
header .wp-block-navigation__responsive-container-close svg {
  width: 24px;
  height: 24px;
}

.page-contact-us .wp-block-post-content,
.page-event-sign-in .wp-block-post-content {
  max-width: var(--wp--style--global--content-size);
  margin-left: auto;
  margin-right: auto;
}

@media (max-width: 1024px) {
  header .wp-block-main-header-container > .wp-block-navigation > .wp-block-navigation__container {
    gap: 22px;
  }
}

@media (max-width: 781px) {
  header .wp-block-main-header-container > .site-identity {
    width: auto;
    flex: 1 1 auto;
  }

  header .wp-block-main-header-container > .wp-block-navigation {
    width: auto;
    flex: 0 0 auto;
    margin-left: auto;
    order: 1;
  }

  header .wp-block-main-header-container > .wp-block-social-search-container {
    width: auto;
    flex: 0 0 auto;
    order: 2;
    justify-content: flex-start;
  }

  header .wp-block-main-header-container > .wp-block-navigation > .wp-block-navigation__container {
    display: none;
  }

  header .wp-block-navigation__responsive-container-open {
    display: inline-flex;
  }

  header .wp-block-navigation__responsive-container.is-menu-open {
    display: flex;
    position: fixed;
    inset: 0;
    z-index: 100000;
    padding: 24px 18px;
    background: var(--wp--preset--color--secondary);
    color: var(--wp--preset--color--foreground);
  }

  header .wp-block-navigation__responsive-close {
    display: block;
    width: 100%;
    max-width: var(--wp--style--global--wide-size);
    margin: 0 auto;
  }

  header .wp-block-navigation__responsive-dialog {
    position: relative;
  }

  header .wp-block-navigation__responsive-container-close {
    display: inline-flex;
    position: absolute;
    top: 0;
    right: 0;
    background: none;
    border: 0;
    color: inherit;
    cursor: pointer;
  }

  header .wp-block-navigation__responsive-container-content {
    padding-top: 56px;
  }

  header .wp-block-navigation__responsive-container-content .wp-block-navigation__container {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    justify-content: flex-start;
    gap: .85rem;
    width: auto;
  }
}


/* pass 10: rendered typography parity with live site */
header .wp-block-site-title a,
header .wp-block-main-header-container > .site-identity .wp-block-site-title a {
  font-size: 32px !important;
  line-height: normal !important;
  font-weight: 700 !important;
  letter-spacing: normal !important;
}

header .wp-block-main-header-container .wp-block-navigation-item__content {
  font-size: 18px !important;
  line-height: 28.08px !important;
  font-weight: 400 !important;
}

footer .wp-block-navigation .wp-block-navigation-item__content {
  font-size: 16px !important;
  line-height: 24.96px !important;
  font-weight: 400 !important;
}

.page-home .main-front-page .wp-block-heading.has-huge-font-size {
  font-size: 42px !important;
  line-height: 60.06px !important;
  font-weight: 500 !important;
}

.page-home .main-front-page p.has-content-heading-font-size {
  font-size: 24px !important;
  line-height: 42px !important;
  font-weight: 300 !important;
}

.page-home .wp-block-hero-content p mark.has-custom-red-color,
.page-home .wp-block-hero-content p .has-custom-red-color {
  color: rgb(255, 34, 12) !important;
}

.page-history .wp-block-cover.is-light .has-huge-font-size {
  font-size: 42px !important;
  line-height: 57.96px !important;
  font-weight: 700 !important;
}

.page-history .wp-block-cover.is-light .has-large-font-size {
  font-size: 32px !important;
  line-height: 45.76px !important;
  font-weight: 700 !important;
}

footer .wp-block-widget h2.wp-block-heading {
  font-size: 18px !important;
  line-height: 28.08px !important;
  font-weight: 600 !important;
}

footer .wp-block-site-generator p {
  font-size: 13px !important;
  line-height: 19.5px !important;
  font-weight: 400 !important;
  letter-spacing: 1px !important;
}
