@charset "UTF-8";
/*! Variables */
@font-face {
  font-family: "Miller Banner";
  src: url("/wp-content/themes/corcoran/assets/fonts/MillerBanner-Roman.otf") format("opentype");
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "Miller Banner";
  src: url("/wp-content/themes/corcoran/assets/fonts/MillerBanner-SemiBold.otf") format("opentype");
  font-weight: 600;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "Miller Banner";
  src: url("/wp-content/themes/corcoran/assets/fonts/MillerBanner-Bold.otf") format("opentype");
  font-weight: 700;
  font-style: normal;
  font-display: swap;
}
/*! Mixins */
body {
  overflow-x: hidden;
  padding-left: 0 !important;
  padding-right: 0 !important;
}

.entry-content .alignfull {
  margin-left: calc(-50vw + 50%);
  margin-right: calc(-50vw + 50%);
  max-width: 100vw;
  width: 100vw;
}

/* Navigation
--------------------------------------------- */
.editor-styles-wrapper .wp-block-navigation__container > .wp-element-button {
  padding: 0;
}

.header-inner nav.wp-block-navigation {
  width: 100%;
}

/* Drop nav */
header .wp-block-navigation .wp-block-navigation__submenu-container {
  border: none !important;
  font-size: var(--wp--preset--font-size--small);
  line-height: var(--wp--custom--line-height--initial);
  border-radius: 5px;
  min-width: 200px !important;
  padding-top: 0.75rem;
  box-shadow: 1px 3px 8px rgba(0, 0, 0, 0.1);
}

/* Drop nav submenu */
header .wp-block-navigation .wp-block-navigation__submenu-container .wp-block-navigation__submenu-container {
  margin-left: -5px;
  margin-top: calc(var(--wp--preset--spacing--xx-small) * -1);
}

.wp-block-navigation .has-child .wp-block-navigation__submenu-container .wp-block-navigation__submenu-icon {
  margin-right: var(--wp--preset--spacing--xx-small);
}

header .wp-block-navigation :where(.wp-block-navigation__submenu-container) a {
  padding: var(--wp--preset--spacing--xx-small) var(--wp--preset--spacing--x-small) !important;
}

/* Mobile Navigation */
.is-menu-open.has-modal-open .wp-block-navigation__container {
  width: 100%;
  gap: 0 !important;
}

.is-menu-open.has-modal-open .wp-block-navigation__container ul {
  margin-left: 1rem;
}

.is-menu-open.has-modal-open ul.wp-block-navigation__submenu-container {
  border-radius: 0;
  margin: 5px 0;
}

.is-menu-open.has-modal-open .wp-block-navigation__container > li {
  width: 100%;
  padding: 0 0;
  position: relative;
}

.is-menu-open.has-modal-open .wp-block-navigation__container ul li:hover a:hover:before {
  text-decoration: none;
}

/* Adjust the first mobile menu item to prevent conflict with menu close button */
.is-menu-open.has-modal-open .wp-block-navigation__container > li:first-child > a {
  padding-top: 0 !important;
  max-width: 90%;
}

/* Mobile menu sub menu */
.is-menu-open.has-modal-open .wp-block-navigation-item .wp-block-navigation__submenu-container {
  padding: 0 0 0 var(--wp--preset--spacing--large);
  font-size: var(--wp--preset--font-size--base);
  margin-left: 0;
  width: 100% !important;
}

/* Mobile menu links */
.is-menu-open.has-modal-open .wp-block-navigation-item__content {
  width: 100%;
  padding: var(--wp--preset--spacing--xx-small) 0 !important;
}

/* Mobile menu open button */
.wp-block-navigation__responsive-container-close,
.wp-block-navigation__responsive-container-open {
  padding: 4px;
  border-radius: 3px;
}

.is-menu-open .wp-block-navigation__submenu-container {
  background: var(--wp--preset--color--tertiary);
  box-shadow: none !important;
  padding-top: var(--wp--preset--spacing--xx-small);
}

/* Button class on mobile */
.is-menu-open.has-modal-open .wp-block-navigation__container .wp-element-button {
  margin-top: var(--wp--preset--spacing--xx-small);
}

.is-menu-open.has-modal-open .wp-block-navigation__container .wp-element-button .wp-block-navigation-item__content {
  width: 100%;
  text-align: center;
  font-size: var(--wp--preset--font-size--base);
  padding: var(--wp--preset--spacing--xx-small) !important;
}

/* Header */
.site-header {
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.05);
}

/*Transparent Header */
.transparent-header {
  top: 0;
  left: 0;
  width: 100%;
  z-index: 999;
  position: absolute;
}

.transparent-header > .has-background {
  background: transparent !important;
}

.logged-in.admin-bar .transparent-header {
  top: 32px;
}

@media screen and (max-width: 782px) {
  .logged-in.admin-bar .transparent-header {
    top: 48px;
  }
}
/* Content */
.hentry .wp-block-post-excerpt__excerpt {
  margin-top: revert !important;
  margin-bottom: revert !important;
}

pre {
  overflow: auto;
}

.wp-caption {
  max-width: 100% !important;
}

/* Meta */
.wp-block-post-author {
  align-items: center;
}

.wp-block-post-author__name {
  margin-bottom: 0;
}

.wp-block-post-author__avatar {
  display: inline-flex;
  align-items: center;
  margin-right: 0.5rem;
}

.wp-block-post-author__avatar img {
  width: 26px;
  height: 26px;
  border-radius: 100px;
}

/* Style Variations */
.variation-dark .wp-block-navigation:not(.has-background) .wp-block-navigation__submenu-container {
  background-color: var(--wp--preset--color--base);
  color: #fff;
}

.variation-dark .wp-block-site-logo svg path:nth-child(1) {
  stroke: #fff;
}

.variation-dark .wp-block-site-logo svg path:nth-child(2) {
  fill: #fff;
}

.variation-dark #comment {
  background-color: var(--wp--preset--color--tertiary);
  color: var(--wp--preset--color--white);
}

/* Patterns */
.hero-image.wp-block-cover {
  margin-top: 0;
}

.fullheight {
  min-height: 100vh;
}

.pattern-categories a {
  text-decoration: none;
}

/* Footer */
footer {
  margin-top: 0 !important;
}

@media only screen and (min-width: 1px) {
  header .wp-block-navigation :where(.wp-block-navigation__submenu-container) li:last-child {
    border-bottom-left-radius: 5px;
    border-bottom-right-radius: 5px;
  }
  header nav {
    padding-right: var(--wp--preset--spacing--medium);
  }
  .is-content-justification-space-between .site-meta {
    flex: 0 0 25%;
  }
  footer .wp-block-search__inside-wrapper {
    width: 50%;
  }
  .sidebar .wp-block-search__inside-wrapper {
    width: 80%;
  }
}
h1, .wp-block-heading h1 {
  margin-top: 0 !important;
  text-wrap: balance;
}

.max-632 {
  max-width: 632px;
}

h4 {
  color: #181818;
  leading-trim: both;
  text-edge: cap;
  font-family: "Miller Banner", sans-serif;
  font-size: 18px;
  font-style: normal;
  font-weight: 400;
  line-height: 22px; /* 122.222% */
}

h5 {
  color: #181818;
  text-align: center;
  font-family: "DM Sans", sans-serif;
  font-size: 22px;
  font-style: normal;
  font-weight: 300;
  line-height: normal;
  letter-spacing: -0.22px;
}

.wp-block-columnzzz p {
  color: #181818;
  leading-trim: both;
  text-edge: cap;
  /* SansSerif/Body Large */
  font-family: "DM Sans", sans-serif;
  font-size: 18px;
  font-style: normal;
  font-weight: 400;
  line-height: 24px; /* 133.333% */
}

.wp-block-column p.has-large-font-size {
  font-weight: 300;
  line-height: normal;
}

.wp-block-column.float-right {
  display: flex;
  justify-content: flex-end;
}

.max-width-440 {
  max-width: 440px;
}

.wp-block-column.is-style-centered {
  margin-left: auto;
  margin-right: auto;
  text-align: center;
}

.wp-block-columns.divider .wp-block-column {
  position: relative;
  flex: 1 1 0;
}
.wp-block-columns.divider .wp-block-column:not(:last-child)::after {
  content: "";
  position: absolute;
  top: 0;
  right: -20px;
  width: 1px;
  height: 100%;
  max-height: 60px;
  background-color: #002450;
}
@media (max-width: 768px) {
  .wp-block-columns.divider {
    padding-bottom: 0px !important;
    gap: 54px;
  }
  .wp-block-columns.divider .wp-block-column:not(:last-child)::after {
    content: "";
    position: absolute;
    bottom: -27px;
    top: auto;
    left: 50%;
    transform: translateX(-50%);
    width: 60px;
    height: 1px;
    background-color: #002450;
  }
}

.wp-element-button, input[type=submit], input[type=button] {
  transition: all 0.3s ease;
}

input[type=submit]:hover, input[type=button]:hover, .wp-element-button:hover {
  background-color: #2874BD;
  transition: all 0.3s ease;
}

.is-style-secondary .wp-element-button {
  display: inline-block;
  height: 48px;
  padding: 12px 40px;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  gap: 8px;
  border-radius: 96px;
  border: 1px solid #2874BD;
  background-color: transparent;
  color: #2874BD;
  leading-trim: both;
  text-edge: cap;
  font-family: "DM Sans", sans-serif;
  font-size: 14px;
  font-style: normal;
  font-weight: 600;
  line-height: normal;
  letter-spacing: 0.7px;
  text-transform: uppercase;
}

.is-style-secondary.next .wp-element-button {
  line-height: 48px;
  padding: 0 40px;
  transition: all 0.3s ease;
}
.is-style-secondary.next .wp-block-button__link::after {
  content: "";
  display: inline-block;
  width: 32px;
  height: 33px;
  margin-left: 10px;
  background: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='32' height='33' viewBox='0 0 32 33' fill='none'><path d='M27.53 17.0298L18.53 26.0298C18.3878 26.1623 18.1998 26.2345 18.0055 26.231C17.8112 26.2276 17.6258 26.1489 17.4884 26.0115C17.351 25.8741 17.2723 25.6887 17.2688 25.4944C17.2654 25.3001 17.3375 25.112 17.47 24.9698L25.1887 17.2498H5C4.80109 17.2498 4.61032 17.1708 4.46967 17.0302C4.32902 16.8895 4.25 16.6988 4.25 16.4998C4.25 16.3009 4.32902 16.1102 4.46967 15.9695C4.61032 15.8289 4.80109 15.7498 5 15.7498L25.1887 15.7498L17.47 8.02985C17.3375 7.88767 17.2654 7.69963 17.2688 7.50532C17.2723 7.31102 17.351 7.12564 17.4884 6.98822C17.6258 6.85081 17.8112 6.7721 18.0055 6.76867C18.1998 6.76524 18.3878 6.83737 18.53 6.96985L27.53 15.9698C27.6705 16.1105 27.7493 16.3011 27.7493 16.4998C27.7493 16.6986 27.6705 16.8892 27.53 17.0298Z' fill='%232874BD'/></svg>") no-repeat center;
  background-size: contain;
  vertical-align: middle;
  transition: all 0.3s ease;
}
.is-style-secondary.next .wp-element-button:hover {
  color: #F2F9FF;
  background-color: #002450;
  border: 1px solid #002450;
  transition: all 0.3s ease;
}
.is-style-secondary.next .wp-block-button__link:hover::after {
  transition: all 0.3s ease;
  background: url("data:image/svg+xml;utf8,<svg xmlns=\"http://www.w3.org/2000/svg\" width='32' height='32' viewBox='0 0 32 32' fill='none'><path d='M27.53 16.53L18.53 25.53C18.3878 25.6625 18.1998 25.7346 18.0055 25.7311C17.8112 25.7277 17.6258 25.649 17.4884 25.5116C17.351 25.3742 17.2723 25.1888 17.2688 24.9945C17.2654 24.8002 17.3375 24.6121 17.47 24.47L25.1887 16.75H5C4.80109 16.75 4.61032 16.671 4.46967 16.5303C4.32902 16.3896 4.25 16.1989 4.25 16C4.25 15.8011 4.32902 15.6103 4.46967 15.4696C4.61032 15.329 4.80109 15.25 5 15.25L25.1887 15.25L17.47 7.52997C17.3375 7.38779 17.2654 7.19975 17.2688 7.00545C17.2723 6.81114 17.351 6.62576 17.4884 6.48835C17.6258 6.35093 17.8112 6.27222 18.0055 6.26879C18.1998 6.26537 18.3878 6.33749 18.53 6.46997L27.53 15.47C27.6705 15.6106 27.7493 15.8012 27.7493 16C27.7493 16.1987 27.6705 16.3893 27.53 16.53Z' fill='%23F2F9FF'/></svg>") no-repeat center;
}

.is-style-secondary.prev .wp-element-button {
  line-height: 48px;
  padding: 0 40px;
  transition: all 0.3s ease;
}
.is-style-secondary.prev .wp-block-button__link::before {
  content: "";
  display: inline-block;
  width: 24px;
  height: 21px;
  margin-right: 10px;
  background: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='24' height='21' viewBox='0 0 24 21' fill='none'><path d='M0.470002 9.97015L9.47 0.970151C9.61218 0.83767 9.80022 0.765547 9.99452 0.768975C10.1888 0.772404 10.3742 0.851117 10.5116 0.98853C10.649 1.12594 10.7277 1.31133 10.7312 1.50563C10.7346 1.69993 10.6625 1.88798 10.53 2.03015L2.81125 9.75015H23C23.1989 9.75015 23.3897 9.82917 23.5303 9.96982C23.671 10.1105 23.75 10.3012 23.75 10.5002C23.75 10.6991 23.671 10.8898 23.5303 11.0305C23.3897 11.1711 23.1989 11.2502 23 11.2502H2.81125L10.53 18.9702C10.6625 19.1123 10.7346 19.3004 10.7312 19.4947C10.7277 19.689 10.649 19.8744 10.5116 20.0118C10.3742 20.1492 10.1888 20.2279 9.99452 20.2313C9.80022 20.2348 9.61218 20.1626 9.47 20.0302L0.470002 11.0302C0.329551 10.8895 0.250663 10.6989 0.250663 10.5002C0.250663 10.3014 0.329551 10.1108 0.470002 9.97015Z' fill='%232874BD'/></svg>") no-repeat center;
  background-size: contain;
  vertical-align: middle;
  transition: all 0.3s ease;
}
.is-style-secondary.prev .wp-element-button:hover {
  color: #F2F9FF;
  background-color: #002450;
  border: 1px solid #002450;
  transition: all 0.3s ease;
}
.is-style-secondary.prev .wp-block-button__link:hover::before {
  transition: all 0.3s ease;
  background: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='24' height='21' viewBox='0 0 24 21' fill='none'><path d='M0.470002 9.97015L9.47 0.970151C9.61218 0.83767 9.80022 0.765547 9.99452 0.768975C10.1888 0.772404 10.3742 0.851117 10.5116 0.98853C10.649 1.12594 10.7277 1.31133 10.7312 1.50563C10.7346 1.69993 10.6625 1.88798 10.53 2.03015L2.81125 9.75015H23C23.1989 9.75015 23.3897 9.82917 23.5303 9.96982C23.671 10.1105 23.75 10.3012 23.75 10.5002C23.75 10.6991 23.671 10.8898 23.5303 11.0305C23.3897 11.1711 23.1989 11.2502 23 11.2502H2.81125L10.53 18.9702C10.6625 19.1123 10.7346 19.3004 10.7312 19.4947C10.7277 19.689 10.649 19.8744 10.5116 20.0118C10.3742 20.1492 10.1888 20.2279 9.99452 20.2313C9.80022 20.2348 9.61218 20.1626 9.47 20.0302L0.470002 11.0302C0.329551 10.8895 0.250663 10.6989 0.250663 10.5002C0.250663 10.3014 0.329551 10.1108 0.470002 9.97015Z' fill='%23F2F9FF'/></svg>") no-repeat center;
}

.download a {
  position: relative;
}
.download a.wp-block-button__link::after {
  content: "";
  display: inline-block;
  position: relative;
  top: -2px;
  width: 12px;
  height: 13px;
  margin-left: 8px;
  vertical-align: middle;
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='32' height='32' fill='%23000' viewBox='0 0 256 256'%3E%3Cpath d='M208,80H176V56a48,48,0,0,0-96,0V80H48A16,16,0,0,0,32,96V208a16,16,0,0,0,16,16H208a16,16,0,0,0,16-16V96A16,16,0,0,0,208,80ZM96,56a32,32,0,0,1,64,0V80H96ZM208,208H48V96H208V208Zm-68-56a12,12,0,1,1-12-12A12,12,0,0,1,140,152Z'%3E%3C/path%3E%3C/svg%3E") no-repeat center;
  background-size: contain;
}
.download a.wp-block-button__link:hover {
  color: #FFFFFF !important;
  background-color: #002450 !important;
  transition: all 0.3s ease;
}
.download a.wp-block-button__link:hover::after {
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='32' height='32' fill='%23FFF' viewBox='0 0 256 256'%3E%3Cpath d='M208,80H176V56a48,48,0,0,0-96,0V80H48A16,16,0,0,0,32,96V208a16,16,0,0,0,16,16H208a16,16,0,0,0,16-16V96A16,16,0,0,0,208,80ZM96,56a32,32,0,0,1,64,0V80H96ZM208,208H48V96H208V208Zm-68-56a12,12,0,1,1-12-12A12,12,0,0,1,140,152Z'%3E%3C/path%3E%3C/svg%3E") no-repeat center;
  background-size: contain;
  transition: all 0.3s ease;
}

/* Header container - use grid to manage logo and nav */
html, .logged-in.admin-bar .transparent-header {
  margin-top: 0 !important;
}

.logged-in.admin-bar .transparent-header {
  top: 0px !important;
}

header.wp-block-template-part {
  background-color: #F8F8F6;
  z-index: 999999;
}
header.wp-block-template-part .transparent-header .header-inner {
  max-width: 1440px;
  position: relative;
}
@media screen and (max-width: 768px) {
  header.wp-block-template-part .wp-block-group.site-meta.is-layout-flex {
    justify-content: flex-end !important;
    left: auto;
    right: 20px;
    transform: translate(0%, -50%);
  }
  header.wp-block-template-part .wp-block-group.site-meta.is-layout-flex .wp-block-site-logo {
    padding-left: 0px;
  }
}

:root :where(.is-layout-constrained) > * {
  margin-top: 0px;
}

:where(.wp-site-blocks) > * {
  margin-block-start: 0 !important;
  margin-block-end: 0 !important;
}

.wp-block-post-title {
  display: none !important;
}

main.wp-block-group {
  margin-top: 90px !important;
}

header {
  position: fixed;
  inset: 0 0 auto 0;
  height: auto;
  display: flex;
  align-items: center;
  background: var(--header-bg);
  color: var(--header-fg);
  transition: transform 0.24s ease, box-shadow 0.24s ease, background-color 0.24s ease;
  transform: translateY(0);
  z-index: 1000;
}

header.hide {
  transform: translateY(-100%);
}

header.elev {
  box-shadow: var(--shadow);
  background: #0b1229;
}

nav li.download a span {
  border-top: 1px solid #002450;
  padding-top: 40px;
  display: inline-block;
}

footer .site-footer .is-vertical .wp-block-navigation__container li a {
  text-transform: uppercase;
}
footer .footer-col-1 {
  display: flex;
  justify-content: flex-start;
  flex-direction: column;
}
@media screen and (max-width: 781px) {
  footer .footer-col-1 {
    padding-top: 0px !important;
  }
}
footer .footer-float-right {
  display: flex !important;
  justify-content: flex-end !important;
  align-items: center;
  gap: 60px;
}
@media screen and (max-width: 781px) {
  footer .footer-float-right {
    gap: 24px;
  }
}
footer .footer-float-right .footer-col-1 {
  justify-content: center;
}
@media screen and (max-width: 781px) {
  footer .footer-float-right .footer-col-1 {
    padding: 0px !important;
    border-bottom: 0px solid var(--Neutral-90, #181818) !important;
  }
  footer .footer-float-right .footer-col-1 .wp-block-buttons.is-content-justification-right.is-vertical {
    align-items: flex-start;
    padding-bottom: 40px;
  }
}
footer .footer-float-right > .wp-block-column {
  flex: 0 0 auto !important; /* prevent them from stretching */
}
footer h2 {
  text-wrap: balance;
  max-width: 300px;
}
@media screen and (max-width: 1024px) {
  footer h2 {
    text-align: left !important;
  }
}
footer a {
  text-decoration: none;
}
footer a:hover {
  text-decoration: underline; /* optional */
}
@media screen and (max-width: 781px) {
  footer .wp-block-group {
    padding: 24px 40px 64px 40px !important;
  }
  footer .wp-block-group .wp-block-columns {
    padding: 0px !important;
  }
  footer .wp-block-group .wp-block-columns .wp-block-column {
    padding: 40px 0;
    padding-left: 0px !important;
    padding-top: 40px !important;
  }
  footer .wp-block-group .wp-block-columns .wp-block-column .wp-block-column {
    border-bottom: 1px solid var(--Neutral-90, #181818);
  }
  footer .wp-block-group .wp-block-columns .wp-block-column .wp-block-column:first-child {
    padding-top: 0px !important;
  }
  footer .wp-block-group .wp-block-columns .wp-block-column .wp-block-column:last-child {
    border-bottom: 0px solid var(--Neutral-90, #181818);
    padding-bottom: 0px !important;
  }
  footer .wp-block-group .wp-block-columns .wp-block-column:first-of-type {
    border-bottom: 1px solid var(--Neutral-90, #181818);
  }
  footer .site-footer {
    background-image: url("/wp-content/uploads/2025/10/gradient-scaled.jpg");
    background-color: lightgray;
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center top;
  }
  footer .site-footer ul.wp-block-navigation__container li a {
    text-transform: uppercase;
    font-size: 14px !important;
  }
  footer .site-footer ul.wp-block-navigation__container li ul.wp-block-social-links .wp-social-link.wp-social-link-instagram svg {
    width: 18px;
    height: 18px;
  }
  footer .site-footer ul.wp-block-navigation__container li ul.wp-block-social-links .wp-social-link.wp-social-link-linkedin svg {
    width: 24px;
    height: 24px;
  }
  footer .site-footer .wp-block-columns.footer-float-right .wp-block-column {
    padding-top: 0px !important;
  }
  footer .site-footer .copyright-columns .wp-block-column:nth-child(1) {
    order: 10;
    padding: 0 !important;
    border-bottom: 0px solid var(--Neutral-90, #181818);
  }
  footer .site-footer .copyright-columns .wp-block-column:nth-child(2) {
    order: 1;
  }
  footer .site-footer .copyright-columns .wp-block-column:nth-child(2) nav {
    flex-grow: 0;
    justify-content: flex-start !important;
  }
  footer .site-footer .copyright-columns .wp-block-column:nth-child(2) nav .items-justified-right {
    justify-content: flex-start !important;
    flex-direction: column !important;
    gap: 24px !important;
    align-items: flex-start;
  }
  footer .site-footer .copyright-columns .wp-block-column:nth-child(2) ul.wp-block-navigation__container li a {
    text-transform: none;
  }
}

@media screen and (max-width: 640px) {
  footer .footer-float-right .footer-col-1 .wp-block-buttons.is-content-justification-right.is-vertical {
    padding-bottom: 40px !important;
  }
}
/* ================================
   HEADER BASE
   ================================ */
.wp-block-group.transparent-header {
  background-color: #f8f8f6;
  border-bottom: 1px solid #002450;
  padding: 0px !important;
  position: relative;
  z-index: 1000;
}

/* Transparent header when menu open */
html.has-modal-open .wp-block-group.transparent-header {
  background: transparent !important;
  border-bottom-color: transparent;
}

/* ================================
   FULL-VIEWPORT GRADIENT OVERLAY
   ================================ */
body::before {
  content: "";
  position: fixed;
  inset: 0;
  background: url("/wp-content/themes/corcoran/assets/images/Gradient1.jpg") center top/cover no-repeat;
  z-index: 1250; /* above header, below menu links */
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.5s ease;
  backdrop-filter: blur(4px); /* optional */
}

/* Show gradient when WP overlay (menu) is open */
html.has-modal-open body::before {
  opacity: 1;
}

/* ================================
   OVERRIDE WP RESPONSIVE DIALOG BACKGROUND
   ================================ */
.wp-block-navigation__responsive-dialog {
  background: transparent !important;
  box-shadow: none !important;
}

/* ================================
   MENU PANEL + OVERLAY BEHAVIOR
   ================================ */
.wp-block-navigation__responsive-container {
  position: fixed !important;
  top: var(--header-height, 0px);
  left: 0;
  right: 0;
  width: 100vw;
  height: calc(100vh - var(--header-height, 0px));
  background: transparent !important;
  opacity: 0;
  transform: translateY(-20px);
  pointer-events: none;
  transition: opacity 0.4s ease, transform 0.45s cubic-bezier(0.23, 1, 0.32, 1);
  z-index: 1300;
  font-family: "Miller Banner", sans-serif;
}

.wp-block-navigation__responsive-container.is-menu-open {
  opacity: 1;
  transform: translateY(0);
  pointer-events: auto;
}

/* ================================
   HEADER HEIGHT VARIABLE (for offset)
   ================================ */
:root {
  --header-height: 90px;
}

header.wp-block-template-part {
  --header-height: calc(var(--wp--custom--header-height, 90px));
}

/* ================================
   MENU CONTENT / LINKS
   ================================ */
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  height: 100%;
  position: relative;
  z-index: 1400;
}

.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content {
  color: #002450;
  font-family: "Miller Banner", sans-serif;
  font-size: 38px;
  font-weight: 400;
  letter-spacing: -0.38px;
  text-align: center;
  margin: 16px 0;
  transition: color 0.3s ease;
}

.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content:hover {
  color: #2874bd;
}

/* ================================
   HAMBURGER + CLOSE ICONS
   ================================ */
.wp-block-navigation__responsive-container-open,
.custom-menu-close {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  background: none;
  border: none;
  cursor: pointer;
  z-index: 1500;
  transition: opacity 0.3s ease;
}

/* Hamburger image sizing */
.wp-block-navigation__responsive-container-open img {
  width: 32px;
  height: 32px;
}

/* Hide hamburger when menu is open */
html.has-modal-open .wp-block-navigation__responsive-container-open {
  display: none !important;
}

/* Hide custom close by default */
.custom-menu-close {
  display: none;
}

/* Show custom close button when menu open */
html.has-modal-open .custom-menu-close {
  display: block !important;
}

/* Hide default WP close inside overlay (we don’t want duplicates) */
.wp-block-navigation__responsive-dialog > .wp-block-navigation__responsive-container-close {
  display: none !important;
}

/* ================================
   HEADER LAYOUT (logo left, nav right)
   ================================ */
.header-inner {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  position: relative;
  height: var(--header-height, 90px); /* ensure a reliable reference height */
}

/* DOM order: nav first, logo second → fix visually */
.header-inner nav.wp-block-navigation {
  order: 2;
  margin-left: auto;
  position: relative;
}

.header-inner .wp-block-group.site-meta {
  order: 1;
  position: absolute;
  left: 50%;
  top: 50%; /* centers vertically */
  transform: translate(-50%, -50%); /* center both horizontally + vertically */
  order: 2; /* force middle position */
  z-index: 1002;
}

/* 3️⃣ Keep hamburger/close icons aligned right */
.header-inner nav.wp-block-navigation {
  order: 3;
  margin-left: auto;
  position: relative;
  z-index: 1003;
}

/* Vertically center both menu icons (hamburger + close) in the header */
.wp-block-navigation__responsive-container-open,
.custom-menu-close {
  position: absolute;
  top: 50%; /* vertical center */
  left: 40px;
  transform: translateY(-50%); /* offset half their own height */
  background: none;
  border: none;
  cursor: pointer;
  z-index: 1500;
  transition: opacity 0.3s ease;
}

/* Size consistency */
.wp-block-navigation__responsive-container-open img,
.custom-menu-close svg {
  width: 32px;
  height: 32px;
}

/* Responsive tweak for smaller screens */
@media (max-width: 640px) {
  .wp-block-navigation__responsive-container-open,
  .custom-menu-close {
    left: 20px;
  }
}
/* ================================
   SAFETY FIX FOR STACKING CONTEXT
   ================================ */
html,
body,
header,
main {
  isolation: isolate;
}

/* Force the entire header stack transparent while the menu is open */
html.has-modal-open header.wp-block-template-part,
html.has-modal-open header.wp-block-template-part * {
  background-color: transparent !important;
  background-image: none !important;
  box-shadow: none !important;
}

/* And remove any borders/lines that could sit on top of the gradient */
html.has-modal-open header.wp-block-template-part,
html.has-modal-open header.wp-block-template-part .wp-block-group.transparent-header {
  border-color: transparent !important;
}

.wp-block-navigation-item__label {
  font-family: inherit;
}

.cpt-carousel-wrapper {
  padding: 80px 0px 80px 0px;
  margin: 0 0 24px 0;
  position: relative;
  overflow: hidden;
  width: 100%;
}
@media screen and (max-width: 1024px) {
  .cpt-carousel-wrapper {
    padding: 40px 0px 60px 0px;
  }
  .cpt-carousel-wrapper .wp-block-group {
    padding: 0 !important;
  }
}
.cpt-carousel-wrapper .cpt-carousel {
  width: 100%;
}
.cpt-carousel-wrapper .cpt-carousel .carousel-item {
  padding: 0px;
  transition: transform 0.3s ease;
  max-width: 325px;
  cursor: pointer;
}
.cpt-carousel-wrapper .cpt-carousel .carousel-item .image-wrap {
  overflow: hidden;
  border-radius: 4px;
  width: 100%;
  max-width: 100%;
}
.cpt-carousel-wrapper .cpt-carousel .carousel-item img {
  width: 100%;
  max-width: 100%;
  height: auto;
  display: block;
  transition: transform 0.5s ease, filter 0.5s ease;
  transform-origin: center center;
}
.cpt-carousel-wrapper .cpt-carousel .carousel-item p {
  color: #181818;
  leading-trim: both;
  text-edge: cap;
  font-family: "DM Sans", sans-serif;
  font-size: 18px;
  font-style: normal;
  font-weight: 400;
  line-height: 24px; /* 133.333% */
  margin: 16px 0;
}
.cpt-carousel-wrapper .cpt-carousel .carousel-item:hover .image-wrap img {
  transform: scale(1.05); /* subtle zoom */
  filter: brightness(1.05); /* optional: small brightness lift */
}
.cpt-carousel-wrapper .slick-track {
  display: flex;
  justify-content: flex-start;
  align-items: top;
  padding: 0px 0 0 30px;
}
@media screen and (max-width: 1024px) {
  .cpt-carousel-wrapper .slick-track {
    padding-left: 20px; /* adjust to your gutter width */
  }
}
@media screen and (max-width: 640px) {
  .cpt-carousel-wrapper .slick-track {
    padding-left: 20px; /* adjust to your gutter width */
  }
}
@media screen and (max-width: 420px) {
  .cpt-carousel-wrapper .slick-track {
    padding-left: 20px; /* adjust to your gutter width */
  }
}
.cpt-carousel-wrapper .slick-slide {
  opacity: 0.8;
  transition: opacity 0.3s ease;
  margin-right: 20px;
  cursor: grab;
  cursor: -webkit-grab;
}
.cpt-carousel-wrapper .slick-slider.dragging .slick-slide {
  cursor: grabbing;
  cursor: -webkit-grabbing;
}
.cpt-carousel-wrapper .slick-slide.slick-active:active,
.cpt-carousel-wrapper .slick-slider.dragging .slick-slide {
  cursor: grabbing !important;
  cursor: -webkit-grabbing !important;
}
.cpt-carousel-wrapper .slick-active {
  opacity: 1;
}
.cpt-carousel-wrapper .carousel-progress {
  position: absolute;
  bottom: 40px;
  left: 0px;
  width: calc(100% - 0px);
  height: 2px;
  background: #CEE4F2;
  overflow: hidden;
}
.cpt-carousel-wrapper .carousel-progress-bar {
  width: 0%;
  height: 100%;
  background: #002450;
  transition: width 0.3s linear;
}
.cpt-carousel-wrapper .carousel-arrows {
  display: flex;
  justify-content: center;
  gap: 24px;
  margin: 0px;
  position: absolute;
  right: 40px;
  bottom: 25px;
}
.cpt-carousel-wrapper .carousel-arrows button {
  background: transparent;
  border: none;
  cursor: pointer;
  transition: opacity 0.3s ease;
}
.cpt-carousel-wrapper .carousel-arrows button:hover svg path {
  fill: #2874BD; /* hover color */
}
.cpt-carousel-wrapper .carousel-arrows button svg {
  display: block;
  width: 36px;
  height: 30px;
}

.featured-news-wrapper {
  padding: 25px 0px 56px 0px;
  margin: 0 0 24px 0;
  position: relative;
  overflow: hidden;
  width: 100%;
}
@media screen and (max-width: 1024px) {
  .featured-news-wrapper {
    padding: 40px 0px 40px 0px !important;
    margin: 0 !important;
  }
}
.featured-news-wrapper .featured-news-big {
  width: 100%;
  display: flex;
  gap: 95px;
  padding-bottom: 40px;
  border-bottom: 1px solid var(--Accent-20, #CEE4F2);
}
.featured-news-wrapper .featured-news-big .left {
  flex-basis: 62%;
  transform: scale(1);
  overflow: hidden;
  display: block;
  flex-direction: column;
}
.featured-news-wrapper .featured-news-big .left .image-wrap {
  border-radius: 4px;
  overflow: hidden;
  width: 100%;
}
.featured-news-wrapper .featured-news-big .left img {
  width: 100%;
  max-width: 100%;
  transition: transform 0.5s ease, filter 0.5s ease;
  transform-origin: center center;
  border-radius: inherit;
  height: auto;
  position: center;
  display: block;
}
.featured-news-wrapper .featured-news-big .left p {
  text-align: right;
  margin: 8px 0 0 0;
  color: #181818;
  text-align: right;
  leading-trim: both;
  text-edge: cap;
  font-family: "DM Sans", sans-serif;
  font-size: 14px;
  font-style: normal;
  font-weight: 600;
  line-height: normal;
  letter-spacing: 0.7px;
  text-transform: uppercase;
}
.featured-news-wrapper .featured-news-big .left:hover .image-wrap img {
  transform: scale(1.05); /* subtle zoom */
  filter: brightness(1.05); /* optional: small brightness lift */
}
.featured-news-wrapper .featured-news-big .right {
  flex-basis: 38%;
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 24px;
}
.featured-news-wrapper .featured-news-big .right p, .featured-news-wrapper .featured-news-big .right h2 {
  margin: 0;
}
.featured-news-wrapper .featured-news-big .right a {
  display: inline-block;
  margin-top: 16px;
}
.featured-news-wrapper .featured-news-big .right a:hover {
  color: #002450;
  transition: all 0.3s ease;
}
.featured-news-wrapper .featured-news-big .right p.pub {
  color: #181818;
  leading-trim: both;
  text-edge: cap;
  font-family: "DM Sans", sans-serif;
  font-size: 14px;
  font-style: normal;
  font-weight: 400;
  line-height: normal;
  letter-spacing: 2.1px;
  text-transform: uppercase;
}
.featured-news-wrapper .featured-news-big .right h2 {
  color: #181818;
  leading-trim: both;
  text-edge: cap;
  font-family: "Miller Banner", sans-serif;
  font-size: 32px;
  font-style: normal;
  font-weight: 400;
  line-height: normal;
}
.featured-news-wrapper .featured-news-big .right h2 a {
  color: #181818;
  leading-trim: both;
  text-edge: cap;
  font-family: "Miller Banner", sans-serif;
  font-size: 32px;
  font-style: normal;
  font-weight: 400;
  line-height: normal;
  transition: all 0.3s ease;
  text-transform: none;
}
.featured-news-wrapper .featured-news-big .right h2 a:hover {
  color: #2874BD;
  transition: all 0.3s ease;
}
.featured-news-wrapper .featured-news-big .right p.desc {
  color: #181818;
  leading-trim: both;
  text-edge: cap;
  font-family: "DM Sans", sans-serif;
  font-size: 16px;
  font-style: normal;
  font-weight: 400;
  line-height: 24px; /* 150% */
}
.featured-news-wrapper .featured-news-big .right a {
  color: #2874BD;
  leading-trim: both;
  text-edge: cap;
  font-family: "DM Sans", sans-serif;
  font-size: 14px;
  font-style: normal;
  font-weight: 600;
  line-height: normal;
  letter-spacing: 0.7px;
  text-transform: uppercase;
  text-decoration: none;
}
@media screen and (max-width: 1024px) {
  .featured-news-wrapper .featured-news-big {
    flex-wrap: wrap;
    gap: 24px;
  }
  .featured-news-wrapper .featured-news-big .left, .featured-news-wrapper .featured-news-big .right {
    flex-basis: 100%;
  }
  .featured-news-wrapper .featured-news-big .right {
    gap: 16px;
  }
  .featured-news-wrapper .featured-news-big .right h2 {
    margin-bottom: 8px;
  }
}
.featured-news-wrapper .featured-news-split {
  padding: 40px 0 0 0;
  display: flex;
  gap: 24px;
}
.featured-news-wrapper .featured-news-split .single-featured {
  display: flex;
  flex-direction: column;
  gap: 0px;
}
.featured-news-wrapper .featured-news-split .single-featured .image-wrap {
  border-radius: 4px;
  overflow: hidden;
  width: 100%;
  transform: scale(1);
  overflow: hidden;
  line-height: 0;
}
.featured-news-wrapper .featured-news-split .single-featured .image-wrap img {
  width: 100%;
  max-width: 100%;
  transition: transform 0.5s ease, filter 0.5s ease;
  transform-origin: center center;
  border-radius: inherit;
  height: auto;
  position: center;
  display: block;
  vertical-align: top; /* or top or bottom */
}
.featured-news-wrapper .featured-news-split .single-featured .image-wrap:hover img {
  transform: scale(1.05); /* subtle zoom */
  filter: brightness(1.05); /* optional: small brightness lift */
}
.featured-news-wrapper .featured-news-split .single-featured p, .featured-news-wrapper .featured-news-split .single-featured h2 {
  margin: 0;
}
.featured-news-wrapper .featured-news-split .single-featured a {
  display: inline-block;
  transition: all 0.3s ease;
}
.featured-news-wrapper .featured-news-split .single-featured a:hover {
  color: #002450;
  transition: all 0.3s ease;
}
.featured-news-wrapper .featured-news-split .single-featured p.imagedesc {
  text-align: right;
  margin: 8px 0 0 0;
  color: #181818;
  text-align: right;
  leading-trim: both;
  text-edge: cap;
  font-family: "DM Sans", sans-serif;
  font-size: 14px;
  font-style: normal;
  font-weight: 600;
  line-height: normal;
  letter-spacing: 0.7px;
  text-transform: uppercase;
}
.featured-news-wrapper .featured-news-split .single-featured p.pub {
  color: #181818;
  leading-trim: both;
  text-edge: cap;
  font-family: "DM Sans", sans-serif;
  font-size: 14px;
  font-style: normal;
  font-weight: 400;
  line-height: normal;
  letter-spacing: 2.1px;
  text-transform: uppercase;
  margin: 16px 0 0 0;
}
.featured-news-wrapper .featured-news-split .single-featured h3 {
  color: var(--Neutral-90, #181818);
  leading-trim: both;
  text-edge: cap;
  font-family: "Miller Banner", sans-serif;
  font-size: 24px;
  font-style: normal;
  font-weight: 400;
  line-height: normal;
  margin: 24px 0;
}
.featured-news-wrapper .featured-news-split .single-featured h3 a {
  color: #181818;
  leading-trim: both;
  text-edge: cap;
  transition: all 0.3s ease;
  font-family: "Miller Banner", sans-serif;
  font-size: 24px;
  font-style: normal;
  font-weight: 400;
  line-height: normal;
  text-transform: none;
}
.featured-news-wrapper .featured-news-split .single-featured h3 a:hover {
  color: #2874BD;
  transition: all 0.3s ease;
}
.featured-news-wrapper .featured-news-split .single-featured p.desc {
  color: #181818;
  leading-trim: both;
  text-edge: cap;
  font-family: "DM Sans", sans-serif;
  font-size: 16px;
  font-style: normal;
  font-weight: 400;
  line-height: 24px; /* 150% */
}
.featured-news-wrapper .featured-news-split .single-featured a {
  color: #2874BD;
  leading-trim: both;
  text-edge: cap;
  font-family: "DM Sans", sans-serif;
  font-size: 14px;
  font-style: normal;
  font-weight: 600;
  line-height: normal;
  letter-spacing: 0.7px;
  text-transform: uppercase;
  text-decoration: none;
}
@media screen and (max-width: 1024px) {
  .featured-news-wrapper .featured-news-split {
    flex-wrap: wrap;
    padding: 0px 0 0 0;
    gap: 0;
  }
  .featured-news-wrapper .featured-news-split .single-featured {
    flex-basis: 100%;
    padding: 40px 0;
    border-bottom: 1px solid var(--Accent-20, #CEE4F2);
  }
}

.news-wrapper {
  padding: 0px 0px 0px 0px;
  margin: 0 auto 24px auto;
  position: relative;
  overflow: hidden;
  width: 100%;
  max-width: 1312px;
}
.news-wrapper .news-split {
  padding: 0px 0 0 0;
  display: flex;
  flex-direction: column;
  flex-wrap: wrap;
  gap: 0px;
}
.news-wrapper .news-split .single {
  display: flex;
  gap: 40px;
  padding: 40px 0;
  border-bottom: 1px solid #CEE4F2;
}
.news-wrapper .news-split .single .left {
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 0px;
  flex-basis: 33.333%;
}
.news-wrapper .news-split .single .right {
  display: flex;
  flex-direction: column;
  gap: 0px;
  flex-basis: 66.666%;
}
.news-wrapper .news-split .single .right .image-wrap {
  border-radius: 4px;
  overflow: hidden;
  width: 100%;
  transform: scale(1);
  overflow: hidden;
  line-height: 0;
}
.news-wrapper .news-split .single .right .image-wrap img {
  width: 100%;
  max-width: 100%;
  transition: transform 0.5s ease, filter 0.5s ease;
  transform-origin: center center;
  border-radius: inherit;
  height: auto;
  position: center;
  display: block;
  vertical-align: top; /* or top or bottom */
  max-width: 904px;
}
.news-wrapper .news-split .single .right .image-wrap:hover img {
  transform: scale(1.05); /* subtle zoom */
  filter: brightness(1.05); /* optional: small brightness lift */
}
.news-wrapper .news-split .single p, .news-wrapper .news-split .single h2 {
  margin: 0;
}
.news-wrapper .news-split .single a {
  display: inline-block;
  transition: all 0.3s ease;
}
.news-wrapper .news-split .single a:hover {
  color: #002450;
  transition: all 0.3s ease;
}
.news-wrapper .news-split .single p.imagedesc {
  text-align: right;
  margin: 8px 0 0 0;
  color: #181818;
  text-align: right;
  leading-trim: both;
  text-edge: cap;
  font-family: "DM Sans", sans-serif;
  font-size: 14px;
  font-style: normal;
  font-weight: 600;
  line-height: normal;
  letter-spacing: 0.7px;
  text-transform: uppercase;
}
.news-wrapper .news-split .single p.pub {
  color: #181818;
  leading-trim: both;
  text-edge: cap;
  font-family: "DM Sans", sans-serif;
  font-size: 14px;
  font-style: normal;
  font-weight: 400;
  line-height: normal;
  letter-spacing: 2.1px;
  text-transform: uppercase;
  margin: 16px 0 0 0;
}
.news-wrapper .news-split .single h2 {
  color: #181818;
  leading-trim: both;
  text-edge: cap;
  font-family: "Miller Banner", sans-serif;
  font-size: 32px;
  font-style: normal;
  font-weight: 400;
  line-height: normal;
  margin: 16px 0 24px 0;
}
.news-wrapper .news-split .single h2 a {
  color: #181818;
  leading-trim: both;
  text-edge: cap;
  font-family: "Miller Banner", sans-serif;
  font-size: 32px;
  font-style: normal;
  font-weight: 400;
  line-height: normal;
  transition: all 0.3s ease;
  text-transform: none;
}
.news-wrapper .news-split .single h2 a:hover {
  color: #2874BD;
  transition: all 0.3s ease;
}
.news-wrapper .news-split .single p.desc {
  color: #181818;
  leading-trim: both;
  text-edge: cap;
  font-family: "DM Sans", sans-serif;
  font-size: 16px;
  font-style: normal;
  font-weight: 400;
  line-height: 24px; /* 150% */
}
.news-wrapper .news-split .single a {
  color: #2874BD;
  leading-trim: both;
  text-edge: cap;
  font-family: "DM Sans", sans-serif;
  font-size: 14px;
  font-style: normal;
  font-weight: 600;
  line-height: normal;
  letter-spacing: 0.7px;
  text-transform: uppercase;
  text-decoration: none;
}
.news-wrapper .news-split .single:last-child {
  border-bottom: none;
}
@media screen and (max-width: 640px) {
  .news-wrapper {
    margin: 0 auto 0px auto;
  }
  .news-wrapper .news-split .single {
    flex-wrap: wrap;
    padding: 0 0 40px 0;
    margin: 0 0 40px 0;
    gap: 24px;
  }
  .news-wrapper .news-split .single .left, .news-wrapper .news-split .single .right {
    flex-basis: 100%;
  }
  .news-wrapper .news-split .single .left p.pub, .news-wrapper .news-split .single .right p.pub {
    margin: 0;
  }
  .news-wrapper .news-split .single .left h2, .news-wrapper .news-split .single .right h2 {
    margin-bottom: 40px;
  }
  .news-wrapper .news-split .single .left {
    order: 10;
  }
  .news-wrapper .news-split .single .right {
    order: 5;
  }
  .news-wrapper .single:last-child {
    border-bottom: 1px solid #CEE4F2 !important;
  }
}

.portfolio-block {
  text-align: center;
  margin: 0px;
  padding: 40px 40px 20px 40px;
}
.portfolio-block .portfolio-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap;
}
.portfolio-block .portfolio-header .portfolio-filters {
  display: flex;
  gap: 20px;
  flex-wrap: wrap;
}
.portfolio-block .portfolio-header .filter-btn {
  background: transparent;
  color: #181818;
  font-family: "DM Sans";
  font-size: 16px;
  line-height: 24px;
  padding: 8px 16px;
  border-radius: 80px;
  cursor: pointer;
  transition: all 0.3s ease;
  border: 0;
  white-space: nowrap;
}
.portfolio-block .portfolio-header .filter-btn.active,
.portfolio-block .portfolio-header .filter-btn:hover {
  background-color: #2874BD;
  color: #fff;
}
.portfolio-block .portfolio-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
  gap: 20px;
  margin-top: 40px;
}
.portfolio-block .portfolio-grid .portfolio-item[style*="display: none"] {
  opacity: 0;
  transform: scale(0.95);
}
.portfolio-block .portfolio-grid .portfolio-item {
  overflow: hidden;
  text-align: left;
  overflow: hidden;
  opacity: 1;
  transform: scale(1);
  transition: opacity 0.3s ease, transform 0.3s ease;
  padding: 0 0 20px 0;
}
.portfolio-block .portfolio-grid .portfolio-item .image-wrap {
  border-radius: 4px;
  overflow: hidden;
}
.portfolio-block .portfolio-grid .portfolio-item .image-wrap img {
  width: 100%;
  border-radius: inherit;
  height: auto;
  transition: transform 0.5s ease, filter 0.5s ease;
  transform-origin: center center;
}
.portfolio-block .portfolio-grid .portfolio-item img.desktop {
  display: block;
}
.portfolio-block .portfolio-grid .portfolio-item img.mobile {
  display: none;
}
.portfolio-block .portfolio-grid .portfolio-item .details {
  margin-top: 8px;
}
.portfolio-block .portfolio-grid .portfolio-item .location {
  color: #2874BD;
  leading-trim: both;
  text-edge: cap;
  font-family: "DM Sans", sans-serif;
  font-size: 12px;
  font-style: normal;
  font-weight: 400;
  line-height: normal;
  letter-spacing: 1.8px;
  text-transform: uppercase;
  margin: 16px 0 0 0;
}
.portfolio-block .portfolio-grid .portfolio-item h4 {
  margin: 0;
}
.portfolio-block .portfolio-grid .portfolio-item:hover .image-wrap img {
  transform: scale(1.05); /* subtle zoom */
  filter: brightness(1.05); /* optional: small brightness lift */
}
@media screen and (max-width: 1024px) {
  .portfolio-block {
    padding: 0px;
  }
  .portfolio-block .portfolio-header {
    gap: 40px;
  }
  .portfolio-block .portfolio-header .portfolio-filters {
    flex-basis: 100%;
    display: flex;
    flex-wrap: nowrap;
    overflow-x: auto;
    overflow-y: hidden;
    -webkit-overflow-scrolling: touch;
    gap: 10px;
    padding-bottom: 8px;
    scroll-behavior: smooth;
  }
  .portfolio-block .portfolio-header .portfolio-filters::-webkit-scrollbar {
    height: 6px;
  }
  .portfolio-block .portfolio-header .portfolio-filters::-webkit-scrollbar-thumb {
    background: rgba(0, 0, 0, 0.2);
    border-radius: 10px;
  }
}
@media screen and (max-width: 640px) {
  .portfolio-block .portfolio-grid {
    grid-template-columns: repeat(2, 1fr);
  }
  .portfolio-block .portfolio-grid .portfolio-item:last-child {
    padding: 0 0 40px 0;
  }
  .portfolio-block .portfolio-grid .portfolio-item .image-wrap {
    /* If there’s a mobile image, show it and hide the desktop one */
  }
  .portfolio-block .portfolio-grid .portfolio-item .image-wrap img.mobile {
    display: block;
  }
  .portfolio-block .portfolio-grid .portfolio-item .image-wrap {
    /* Hide desktop only if there’s a mobile image sibling present */
  }
  .portfolio-block .portfolio-grid .portfolio-item .image-wrap img.mobile + img.desktop,
  .portfolio-block .portfolio-grid .portfolio-item .image-wrap img.desktop + img.mobile {
    display: none;
  }
}

.legacy-block {
  text-align: center;
  margin: 0px;
  padding: 0px 40px 20px 40px;
}
.legacy-block .portfolio-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
  gap: 20px;
  margin-top: 40px;
}
.legacy-block .portfolio-grid .portfolio-item {
  text-align: left;
  overflow: hidden;
  opacity: 1;
  transform: scale(1);
  transition: opacity 0.3s ease, transform 0.3s ease;
  padding: 0 0 20px 0;
}
.legacy-block .portfolio-grid .portfolio-item .image-wrap {
  border-radius: 4px;
  overflow: hidden;
}
.legacy-block .portfolio-grid .portfolio-item .image-wrap img {
  width: 100%;
  border-radius: inherit;
  height: auto;
  transition: transform 0.5s ease, filter 0.5s ease;
  transform-origin: center center;
}
.legacy-block .portfolio-grid .portfolio-item .details {
  margin-top: 8px;
}
.legacy-block .portfolio-grid .portfolio-item .location {
  color: #2874BD;
  leading-trim: both;
  text-edge: cap;
  font-family: "DM Sans", sans-serif;
  font-size: 12px;
  font-style: normal;
  font-weight: 400;
  line-height: normal;
  letter-spacing: 1.8px;
  text-transform: uppercase;
  margin: 16px 0 0 0;
}
.legacy-block .portfolio-grid .portfolio-item h4 {
  margin: 0;
}
.legacy-block .portfolio-grid .portfolio-item[style*="display: none"] {
  opacity: 0;
  transform: scale(0.95);
}
.legacy-block .portfolio-grid .portfolio-item:hover .image-wrap img {
  transform: scale(1.05); /* subtle zoom */
  filter: brightness(1.05); /* optional: small brightness lift */
}
@media screen and (max-width: 1024px) {
  .legacy-block {
    padding: 0px;
  }
  .legacy-block .portfolio-header {
    gap: 40px;
  }
  .legacy-block .portfolio-header .portfolio-filters {
    flex-basis: 100%;
    display: flex;
    flex-wrap: nowrap;
    overflow-x: auto;
    overflow-y: hidden;
    -webkit-overflow-scrolling: touch;
    gap: 10px;
    padding-bottom: 8px;
    scroll-behavior: smooth;
  }
  .legacy-block .portfolio-header .portfolio-filters::-webkit-scrollbar {
    height: 6px;
  }
  .legacy-block .portfolio-header .portfolio-filters::-webkit-scrollbar-thumb {
    background: rgba(0, 0, 0, 0.2);
    border-radius: 10px;
  }
}
@media screen and (max-width: 640px) {
  .legacy-block .portfolio-grid {
    grid-template-columns: repeat(2, 1fr);
  }
  .legacy-block .portfolio-grid .portfolio-item:last-child {
    padding: 0 0 40px 0;
  }
}

.partner-grid-wrap {
  text-align: center;
  margin: 0px;
  padding: 20px 0px 40px 0px;
  max-width: 1224px;
}

.partner-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  border-top: 1px solid #e5e5e5;
}

.partner-col {
  display: flex;
  flex-direction: column;
}

.partner-item {
  padding: 24px 0;
  border-bottom: 1px solid #e5e5e5;
  font-family: "Miller Banner", sans-serif;
  font-size: 18px;
  line-height: 22px;
  color: #181818;
  font-family: "Miller Banner", sans-serif;
  font-size: 18px;
  font-style: normal;
  font-weight: 400;
  line-height: 22px; /* 122.222% */
}

@media (max-width: 1287px) {
  .partner-item {
    min-height: 44px;
  }
}
.col-1 .partner-item {
  text-align: left;
}

.col-2 .partner-item {
  text-align: center;
}

.col-3 .partner-item {
  text-align: center;
}

.col-4 .partner-item {
  text-align: right;
}

/* Desktop (your current grid) */
.partner-grid--desktop {
  display: grid;
}

.partner-grid--mobile {
  display: none;
}

@media (max-width: 768px) {
  .partner-item {
    min-height: 1px;
  }
  .partner-grid--desktop {
    display: none;
  }
  .partner-grid--mobile {
    display: grid;
  }
  .partner-grid--mobile {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    column-gap: 24px;
    border-top: 1px solid #e5e5e5;
  }
  .partner-grid--mobile .partner-item {
    text-align: left;
  }
  .partner-grid--mobile .partner-item:nth-child(even) {
    text-align: right;
  }
}
.features-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 0px;
  max-width: 1200px;
  margin: 0 auto;
  text-align: center;
}
.features-grid .feature {
  padding: 80px 30px;
  border-top: 1px solid #002450;
}
.features-grid .feature h2 {
  color: #002450;
  text-align: center;
  leading-trim: both;
  text-edge: cap;
  font-family: "Miller Banner", sans-serif;
  font-size: 32px;
  font-style: normal;
  font-weight: 400;
  line-height: normal;
  margin: 0 auto 24px auto;
}
.features-grid .feature p {
  color: #002450;
  text-align: center;
  leading-trim: both;
  text-edge: cap;
  margin: 0 auto;
  font-family: "DM Sans", sans-serif;
  font-size: 18px;
  font-style: normal;
  font-weight: 400;
  line-height: 24px; /* 133.333% */
}
.features-grid .feature:nth-child(odd) {
  border-right: 1px solid #002450;
}
.features-grid .feature:nth-last-child(-n+2) {
  /* styles for last two .feature divs */
  padding: 80px 30px 128px 30px;
}
@media screen and (max-width: 640px) {
  .features-grid {
    grid-template-columns: 1fr;
  }
  .features-grid .feature, .features-grid .feature:nth-last-child(-n+2) {
    padding: 40px 0;
  }
  .features-grid .feature h2, .features-grid .feature:nth-last-child(-n+2) h2 {
    font-size: 24px;
    font-style: normal;
    font-weight: 400;
    line-height: normal;
  }
  .features-grid .feature p, .features-grid .feature:nth-last-child(-n+2) p {
    font-size: 16px;
    font-style: normal;
    font-weight: 400;
    line-height: 24px; /* 150% */
  }
  .features-grid .feature:nth-child(odd) {
    border-right: 0px solid #002450;
  }
  .features-grid .feature:last-child {
    padding-bottom: 0px;
  }
}

.team-block {
  text-align: center;
  margin: 0px;
  padding: 0px 0px 80px 0px;
}
@media screen and (max-width: 640px) {
  .team-block {
    padding: 0px 0px 56px 0px;
  }
}
.team-block .team-header {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-wrap: wrap;
}
.team-block .team-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(280px, 2fr));
  gap: 20px;
  margin-top: 60px;
}
@media screen and (max-width: 1024px) {
  .team-block .team-grid {
    gap: 16px;
    margin-top: 40px;
  }
}
@media screen and (max-width: 640px) {
  .team-block .team-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}
.team-block .team-grid .team-item {
  text-align: left;
  overflow: hidden;
  opacity: 1;
  transform: scale(1);
  transition: opacity 0.3s ease, transform 0.3s ease;
  padding: 0 0 20px 0;
}
.team-block .team-grid .team-item .image-wrap {
  border-radius: 4px;
  overflow: hidden;
  width: 100%;
  transform: scale(1);
  overflow: hidden;
  line-height: 0;
}
.team-block .team-grid .team-item .image-wrap img {
  width: 100%;
  max-width: 100%;
  transition: transform 0.5s ease, filter 0.5s ease;
  transform-origin: center center;
  border-radius: inherit;
  height: auto;
  position: center;
  display: block;
  vertical-align: top; /* or top or bottom */
}
.team-block .team-grid .team-item .details {
  margin-top: 14px;
}
.team-block .team-grid .team-item p {
  margin: 0;
  color: var(--Neutral-90, #181818);
  font-family: "DM Sans", sans-serif;
  font-size: 16px;
  font-style: normal;
  font-weight: 400;
  line-height: 22px; /* 137.5% */
  overflow-wrap: break-word;
  word-wrap: break-word; /* legacy support */
  word-break: break-word; /* helps in WebKit */
}
@media screen and (max-width: 640px) {
  .team-block .team-grid .team-item {
    padding: 0 0 24px 0;
  }
}
.team-block .team-grid .team-item[style*="display: none"] {
  opacity: 0;
  transform: scale(0.95);
}
.team-block .team-grid .image-wrap:hover img {
  transform: scale(1.05); /* subtle zoom */
  filter: brightness(1.05); /* optional: small brightness lift */
}

@media screen and (max-width: 768px) {
  .page-contact.mob-default40 .wp-block-column {
    padding: 0 !important;
    border-bottom: 1px solid #CEE4F2 !important;
  }
  .page-contact.mob-default40 .wp-block-column .mob-pad-top-48 {
    padding-top: 48px !important;
    margin-top: 0px !important;
  }
  .page-contact.mob-default40 .wp-block-column:last-child {
    border-bottom: 0px solid #CEE4F2 !important;
  }
  .page-contact.mob-default40 .button-columns.wp-block-columns {
    padding: 48px 0 24px 0 !important;
  }
  .page-contact.mob-default40 .button-columns.wp-block-columns .wp-block-column {
    border: none !important;
  }
}

.form-fields {
  display: flex;
  flex-wrap: wrap;
  gap: 24px;
  margin: 0px;
  padding: 0px 0px 0px 0px;
  width: 100%;
}
.form-fields p {
  flex-basis: calc(50% - 12px);
  margin: 0;
  padding: 0 0 16px 0;
}
.form-fields label {
  color: #181818;
  leading-trim: both;
  text-edge: cap;
  font-family: "DM Sans", sans-serif;
  font-size: 16px;
  font-style: normal;
  font-weight: 400;
  line-height: 24px; /* 150% */
}
.form-fields label input {
  border-radius: 4px;
  border: 1px solid var(--Neutral-90, #181818);
  background: var(--Neutral-10, #F8F8F6);
  display: flex;
  padding: 14px 12px;
  align-items: center;
  gap: 8px;
  align-self: stretch;
  width: calc(100% - 24px);
  margin-top: 12px;
  color: #4C4040;
  leading-trim: both;
  text-edge: cap;
  /* SansSerif/Body Small */
  font-family: "DM Sans", sans-serif;
  font-size: 16px;
  font-style: normal;
  font-weight: 400;
  line-height: 24px; /* 150% */
}
.form-fields label input::focus {
  outline: none;
}
@media screen and (max-width: 640px) {
  .form-fields {
    gap: 32px;
  }
  .form-fields p {
    flex-basis: 100%;
    margin: 0;
    padding: 0 0 0px 0;
  }
}

form label {
  color: #181818;
  leading-trim: both;
  text-edge: cap;
  font-family: "DM Sans", sans-serif;
  font-size: 16px;
  font-style: normal;
  font-weight: 400;
  line-height: 24px; /* 150% */
}
form textarea {
  margin-top: 12px;
  display: flex;
  box-sizing: border-box;
  max-height: 156px;
  width: 100%;
  padding: 12px;
  align-items: flex-start;
  align-self: stretch;
  border-radius: 4px;
  border: 1px solid var(--Neutral-90, #181818);
  background: var(--Neutral-10, #F8F8F6);
  color: #4C4040;
  leading-trim: both;
  text-edge: cap;
  /* SansSerif/Body Small */
  font-family: "DM Sans", sans-serif;
  font-size: 16px;
  font-style: normal;
  font-weight: 400;
  line-height: 24px; /* 150% */
}
@media screen and (max-width: 640px) {
  form textarea {
    max-height: 180px;
  }
}
form p:has(input[type=submit]) {
  margin-top: 24px;
}
form input[type=submit] {
  border-radius: 4px;
  background: var(--CS-Midnight-Blue, #002450);
  display: flex;
  height: 48px;
  min-width: 120px;
  padding: 16px 24px;
  justify-content: center;
  align-items: center;
  gap: 10px;
  color: var(--Accent-10, #F2F9FF);
  leading-trim: both;
  text-edge: cap;
  border: none;
  /* SansSerif/CTA */
  font-family: "DM Sans", sans-serif;
  font-size: 14px;
  font-style: normal;
  font-weight: 600;
  line-height: 14px;
  letter-spacing: 0.7px;
  text-transform: uppercase;
}
form input[type=submit]:hover {
  cursor: pointer;
}
form .wpcf7-not-valid-tip {
  color: #f00;
  font-size: 14px;
}
form .wpcf7-form-control-wrap input[type=text]:focus,
form .wpcf7-form-control-wrap input[type=email]:focus,
form .wpcf7-form-control-wrap input[type=tel]:focus,
form .wpcf7-form-control-wrap textarea:focus,
form .wpcf7-form-control-wrap input[type=text]:focus-visible,
form .wpcf7-form-control-wrap input[type=email]:focus-visible,
form .wpcf7-form-control-wrap input[type=tel]:focus-visible,
form .wpcf7-form-control-wrap textarea:focus-visible {
  outline: none; /* removes the browser's default outline */
  box-shadow: none; /* removes shadow on Chrome/Safari */
}

.no-underline-links a {
  text-decoration: none;
}

.no-underline-links a:hover {
  text-decoration: underline; /* optional */
}

.thank-you-message {
  transition: opacity 0.5s ease;
}
.thank-you-message h1 {
  color: var(--CS-Midnight-Blue, #002450);
  /* Serif/H1 */
  font-family: "Miller Banner", sans-serif;
  font-size: 38px;
  font-style: normal;
  font-weight: 400;
  line-height: normal;
  letter-spacing: -0.38px;
}
.thank-you-message p {
  color: var(--CS-Midnight-Blue, #002450);
  leading-trim: both;
  text-edge: cap;
  /* SansSerif/Body Large */
  font-family: "DM Sans", sans-serif;
  font-size: 18px;
  font-style: normal;
  font-weight: 400;
  line-height: 24px; /* 133.333% */
}
.thank-you-message.visible {
  display: block !important;
  opacity: 1;
}

.contact-form-wrapper {
  position: relative;
}
.contact-form-wrapper form,
.contact-form-wrapper .thank-you-message {
  opacity: 1;
  visibility: visible;
  transition: opacity 0.4s ease, visibility 0.4s ease;
}
.contact-form-wrapper .hidden {
  display: none;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
}

.desktop-only {
  display: block;
}

.mobile-only {
  display: none;
}

@media (max-width: 768px) {
  .mob-pad-no-side {
    padding-left: 0px !important;
    padding-right: 0px !important;
  }
  .desktop-only {
    display: none;
  }
  .mobile-only {
    display: block;
  }
}
@media screen and (max-width: 1024px) {
  /* Use for full width elements with no padding */
  .mob-full {
    padding: 0 !important;
  }
  .mob-full .wp-block-group {
    padding: 0 !important;
  }
  .mob-full .wp-block-columns {
    padding: 40px 16px 80px 16px !important;
  }
  .mob-full .wp-block-columns:where(.wp-block-columns-is-layout-flex) {
    gap: 24px;
  }
  .mob-full .wp-block-columns.mob-pad-bot-40 {
    padding-bottom: 40px !important;
  }
  .mob-full .wp-block-video {
    height: 655px;
    overflow: hidden;
    max-width: 100%;
    position: relative;
  }
  .mob-full .wp-block-video video {
    position: absolute;
    top: 50%;
    left: 50%;
    width: auto;
    height: 100%;
    min-width: 100%;
    transform: translate(-50%, -50%);
    object-fit: cover;
  }
  /* The Default 80x16 for mobile */
  .mob-default {
    padding: 80px 16px !important;
  }
  .mob-default .wp-block-group {
    padding: 0 !important;
  }
  .mob-default.mob-last-item {
    padding: 80px 16px 24px 16px !important;
  }
  .mob-default.mob-side50 {
    padding: 80px 50px !important;
  }
  /* The Default 60x16 for mobile */
  .mob-default60 {
    padding: 60px 16px !important;
  }
  .mob-default60 .wp-block-group {
    padding: 0 !important;
  }
  .mob-default60 .wp-block-columns {
    padding: 0px 0px 0px 0px;
  }
  .mob-default60 .wp-block-columns .wp-block-column p {
    margin: 0 0 30px 0;
  }
  .mob-default60 .wp-block-columns .wp-block-column p:last-child {
    margin: 0 0 0px 0;
  }
  .mob-default60.mob-last-item {
    padding: 80px 16px 24px 16px !important;
  }
  .mob-default60.mob-side50 {
    padding: 80px 50px !important;
  }
  /* The Default 40x16 for mobile */
  .mob-default40 {
    padding: 40px 16px !important;
  }
  .mob-default40 .wp-block-group {
    padding: 0 !important;
  }
  .mob-default40 .wp-block-buttons {
    padding-bottom: 48px;
  }
  .mob-default40 .wp-block-buttons.is-content-justification-left, .mob-default40 .wp-block-buttons.is-content-justification-right {
    justify-content: center;
  }
  .mob-default40 .wp-block-buttons:last-of-type {
    padding-bottom: 0px !important;
  }
  .mob-default40.mob-last-item {
    padding: 80px 16px 24px 16px !important;
  }
  .mob-default40.mob-bot48 {
    padding-bottom: 48px !important;
  }
  .mob-default40.mob-bot24 {
    padding-bottom: 24px !important;
  }
  .mob-default40.mob-bot80 {
    padding-bottom: 80px !important;
  }
  .mob-default40 .wp-block-columns {
    padding: 0 !important;
    gap: 24px;
  }
  .mob-default40 .wp-block-columns .wp-block-column.float-right {
    justify-content: flex-start;
  }
  /* The Default 32x16 for mobile */
  .mob-default32 {
    padding: 32px 16px !important;
  }
  .mob-default32 .wp-block-group {
    padding: 0 !important;
  }
  .mob-default32 .wp-block-buttons {
    padding-bottom: 48px;
  }
  .mob-default32 .wp-block-buttons.is-content-justification-left, .mob-default32 .wp-block-buttons.is-content-justification-right {
    justify-content: center;
  }
  .mob-default32 .wp-block-buttons:last-of-type {
    padding-bottom: 0px !important;
  }
  .mob-default32.mob-last-item {
    padding: 80px 16px 24px 16px !important;
  }
  .mob-default32.mob-bot48 {
    padding-bottom: 48px !important;
  }
  .mob-default32.mob-bot80 {
    padding-bottom: 80px !important;
  }
  .mob-default32 .wp-block-columns {
    padding: 0 !important;
    gap: 24px;
  }
  .mob-default32 .wp-block-columns .wp-block-column.float-right {
    justify-content: flex-start;
  }
}
@media screen and (max-width: 640px) {
  .wp-block-column.empty {
    display: none !important;
  }
  .mob-align-left {
    text-align: left !important;
  }
  .mob-pad-top-40 {
    padding-top: 40px !important;
    margin-top: 0px !important;
  }
  .mob-pad-top-48 {
    padding-top: 48px !important;
    margin-top: 0px !important;
  }
  .mob-pad-bot-0 {
    padding-bottom: 0px !important;
  }
  .mob-bot-pad-16 {
    padding-bottom: 16px !important;
  }
  .wp-block-buttons {
    padding-bottom: 48px;
  }
  .wp-block-buttons.is-content-justification-left, .wp-block-buttons.is-content-justification-right, .wp-block-buttons.wp-block-buttons-is-layout-flex {
    justify-content: center;
  }
  .wp-block-buttons div {
    min-width: 260px;
  }
  .wp-block-buttons:last-of-type {
    padding-bottom: 0px !important;
  }
}
/* Keep banner invisible but allow JS to initialize */
.cky-consent-container {
  opacity: 0;
  pointer-events: none;
}

/* Hide the floating "Revisit Consent" badge */
.cky-btn-revisit-wrapper {
  display: none !important;
}

.ta-display-block#truste-consent-track {
  position: fixed;
  height: auto;
}

.wp-block-navigation__responsive-container {
  pointer-events: auto !important;
}

.thank-you-message {
  margin-bottom:40px !important;
}
