.skip-to-content {
  position: absolute;
  top: -100%;
  left: 0;
  z-index: 100000;
  padding: 12px 24px;
  background: #000;
  color: #fff;
  font-size: 16px;
  font-weight: 600;
  text-decoration: none;
  white-space: nowrap;
  border-bottom-right-radius: 4px;
}
.skip-to-content:focus {
  top: 0;
  outline: 3px solid #4A90D9;
  outline-offset: 2px;
}

:root {
  /* Brand Color Variables */
  --brand-primary: #000F21;
  --brand-secondary: #FAD66E;
  --brand-accent: #FEF6C8;
  --brand-tertiary: #C0C0C0;
  --brand-neutral: #FFFFFF;
  --brand-highlight: #f8c2b9;
}

/* Brand Color Utility Classes */
.bg-brand-primary { background-color: var(--brand-primary) !important; }
.bg-brand-secondary { background-color: var(--brand-secondary) !important; }
.bg-brand-accent { background-color: var(--brand-accent) !important; }
.bg-brand-tertiary { background-color: var(--brand-tertiary) !important; }
.bg-brand-neutral { background-color: var(--brand-neutral) !important; }
.bg-brand-highlight { background-color: var(--brand-highlight) !important; }

.text-brand-primary { color: var(--brand-primary) !important; }
.text-brand-secondary { color: var(--brand-secondary) !important; }
.text-brand-accent { color: var(--brand-accent) !important; }
.text-brand-tertiary { color: var(--brand-tertiary) !important; }
.text-brand-neutral { color: var(--brand-neutral) !important; }
.text-brand-highlight { color: var(--brand-highlight) !important; }

.border-brand-primary { border-color: var(--brand-primary) !important; }
.border-brand-secondary { border-color: var(--brand-secondary) !important; }
.border-brand-accent { border-color: var(--brand-accent) !important; }

/* Apply brand colors to components with specific classes */

.navbar-default {
  background-color: var(--brand-primary) !important;
}

.site-footer {
  background-color: var(--brand-secondary) !important;
}

/* Navigation links in branded components */
.site-header a,
.navbar-default a {
  color: white !important;
}

/* Variable-driven headers (Header-04, Header-03): use CSS variables, not forced white */
.siteHeader.oc-header-04 a,
.siteHeader.oc-header-04 .dropdown-menu a,
.siteHeader.oc-header-04 .mega-dropdown a,
.siteHeader.oc-header-04 .mega-dropdown .mega-section h3,
.siteHeader.oc-header-04 .mega-section-links a,
.siteHeader.oc-header-03 a,
.siteHeader.oc-header-03 .dropdown-menu a,
.siteHeader.oc-header-03 .mega-dropdown a,
.siteHeader.oc-header-03 .mega-dropdown .mega-section h3,
.siteHeader.oc-header-03 .mega-section-links a {
  color: unset !important;
}

/* Buttons with brand colors */
.btn-primary,
button.primary {
  background-color: var(--brand-primary) !important;
  border-color: var(--brand-primary) !important;
  color: white !important;
}

.btn-secondary,
button.secondary {
  background-color: var(--brand-secondary) !important;
  border-color: var(--brand-secondary) !important;
  color: white !important;
}

/* Links */
a {
  color: var(--brand-primary);
}

a:hover {
  color: var(--brand-accent);
}

/* Section backgrounds with brand colors */
.section-primary { background-color: var(--brand-primary); color: white; }
.section-secondary { background-color: var(--brand-secondary); color: white; }
.section-accent { background-color: var(--brand-accent); }
.section-tertiary { background-color: var(--brand-tertiary); }
.section-neutral { background-color: var(--brand-neutral); }
.section-highlight { background-color: var(--brand-highlight); }


:root {
  --primary: #000F21;
  --secondary: #FAD66E;
  --highlight: #f8c2b9;
}

:root {
  --oc-content-gutter: 6vw;
}

:root {
  --overlay-vertical: rgba(0,0,0,0.60);
  --overlay-vertical-top: rgba(0,0,0,0.25);
  --overlay-horizontal: rgba(0,0,0,0.55);
  --overlay-horizontal-start: transparent;
  --overlay-gradient: none;
}

:root {
  --oc-nav-gap-primary: 30px;
  --oc-nav-gap-secondary: 20px;
  --oc-nav-primary-font-family: inherit;
  --oc-nav-primary-font-size: 16px;
  --oc-nav-primary-font-weight: 500;
  --oc-nav-primary-color: #000F21;
  --oc-nav-primary-hover: #FAD66E;
  --oc-nav-primary-link-padding-y: 8px;
  --oc-nav-primary-link-padding-x: 12px;
  --oc-nav-primary-dropdown-bg: #ffffff;
  --oc-nav-primary-dropdown-color: #000F21;
  --oc-nav-primary-dropdown-font-family: inherit;
  --oc-nav-primary-dropdown-font-size: 14px;
  --oc-nav-primary-dropdown-hover-bg: #f8c2b9;
  --oc-nav-secondary-font-family: inherit;
  --oc-nav-secondary-font-size: 14px;
  --oc-nav-secondary-font-weight: 500;
  --oc-nav-secondary-color: #000F21;
  --oc-nav-secondary-hover: #FAD66E;
}

@font-face {
  font-family: "Bungee";
  src: url('../fonts/Bungee-regular.woff2') format('woff2');
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: "Roboto";
  src: url('../fonts/Roboto-100.woff2') format('woff2');
  font-weight: 100;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: "Roboto";
  src: url('../fonts/Roboto-200.woff2') format('woff2');
  font-weight: 200;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: "Roboto";
  src: url('../fonts/Roboto-300.woff2') format('woff2');
  font-weight: 300;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: "Roboto";
  src: url('../fonts/Roboto-500.woff2') format('woff2');
  font-weight: 500;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: "Roboto";
  src: url('../fonts/Roboto-600.woff2') format('woff2');
  font-weight: 600;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: "Roboto";
  src: url('../fonts/Roboto-700.woff2') format('woff2');
  font-weight: 700;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: "Roboto";
  src: url('../fonts/Roboto-800.woff2') format('woff2');
  font-weight: 800;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: "Roboto";
  src: url('../fonts/Roboto-900.woff2') format('woff2');
  font-weight: 900;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: "Roboto";
  src: url('../fonts/Roboto-italic.woff2') format('woff2');
  font-weight: 400;
  font-style: italic;
  font-display: swap;
}

@font-face {
  font-family: "Roboto";
  src: url('../fonts/Roboto-regular.woff2') format('woff2');
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: "Roboto";
  src: url('../fonts/Roboto-100italic.woff2') format('woff2');
  font-weight: 100;
  font-style: italic;
  font-display: swap;
}

@font-face {
  font-family: "Roboto";
  src: url('../fonts/Roboto-200italic.woff2') format('woff2');
  font-weight: 200;
  font-style: italic;
  font-display: swap;
}

@font-face {
  font-family: "Roboto";
  src: url('../fonts/Roboto-300italic.woff2') format('woff2');
  font-weight: 300;
  font-style: italic;
  font-display: swap;
}

@font-face {
  font-family: "Roboto";
  src: url('../fonts/Roboto-500italic.woff2') format('woff2');
  font-weight: 500;
  font-style: italic;
  font-display: swap;
}

@font-face {
  font-family: "Roboto";
  src: url('../fonts/Roboto-600italic.woff2') format('woff2');
  font-weight: 600;
  font-style: italic;
  font-display: swap;
}

@font-face {
  font-family: "Roboto";
  src: url('../fonts/Roboto-700italic.woff2') format('woff2');
  font-weight: 700;
  font-style: italic;
  font-display: swap;
}

@font-face {
  font-family: "Roboto";
  src: url('../fonts/Roboto-800italic.woff2') format('woff2');
  font-weight: 800;
  font-style: italic;
  font-display: swap;
}

@font-face {
  font-family: "Roboto";
  src: url('../fonts/Roboto-900italic.woff2') format('woff2');
  font-weight: 900;
  font-style: italic;
  font-display: swap;
}

@font-face {
  font-family: "Google Sans";
  src: url('../fonts/Google-Sans-500.woff2') format('woff2');
  font-weight: 500;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: "Google Sans";
  src: url('../fonts/Google-Sans-600.woff2') format('woff2');
  font-weight: 600;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: "Google Sans";
  src: url('../fonts/Google-Sans-700.woff2') format('woff2');
  font-weight: 700;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: "Google Sans";
  src: url('../fonts/Google-Sans-italic.woff2') format('woff2');
  font-weight: 400;
  font-style: italic;
  font-display: swap;
}

@font-face {
  font-family: "Google Sans";
  src: url('../fonts/Google-Sans-regular.woff2') format('woff2');
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: "Google Sans";
  src: url('../fonts/Google-Sans-500italic.woff2') format('woff2');
  font-weight: 500;
  font-style: italic;
  font-display: swap;
}

@font-face {
  font-family: "Google Sans";
  src: url('../fonts/Google-Sans-600italic.woff2') format('woff2');
  font-weight: 600;
  font-style: italic;
  font-display: swap;
}

@font-face {
  font-family: "Google Sans";
  src: url('../fonts/Google-Sans-700italic.woff2') format('woff2');
  font-weight: 700;
  font-style: italic;
  font-display: swap;
}

:root {
  --font-primary: "Bungee", ui-sans-serif, system-ui, sans-serif;
  --font-secondary: "Roboto", ui-sans-serif, system-ui, sans-serif;
  --font-accent: "Google Sans", ui-sans-serif, system-ui, sans-serif;
}

/* Auto-apply brand fonts (respect manually assigned fonts) */
h1:not([data-font-family]), h2:not([data-font-family]), h3:not([data-font-family]), h4:not([data-font-family]), h5:not([data-font-family]), h6:not([data-font-family]) {
  font-family: var(--font-primary) !important;
}

p:not([data-font-family]), div:not([data-font-family]), span:not([data-font-family]), a:not([data-font-family]), li:not([data-font-family]), ul:not([data-font-family]), ol:not([data-font-family]), button:not([data-font-family]), input:not([data-font-family]), textarea:not([data-font-family]), select:not([data-font-family]) {
  font-family: var(--font-secondary) !important;
}

.accent-font:not([data-font-family]), .accent:not([data-font-family]), .highlight:not([data-font-family]), .callout:not([data-font-family]), .cta-title:not([data-font-family]), .promo-title:not([data-font-family]), .banner-text:not([data-font-family]) {
  font-family: var(--font-accent) !important;
}

/* ================================ */
/* Typography Design System         */
/* ================================ */

:root {
  /* ================================ */
  /* CMS pixel values (unitless)     */
  --body-fs-cms: 18;
  --h1-fs-cms: 60;
  --h2-fs-cms: 44;
  --h3-fs-cms: 36;
  --btn-fs-cms: 16;
  --a-fs-cms: 16;

  /* Derived viewport-width units    */
  --body-fs-vw: calc((var(--body-fs-cms) / 10) * 1vw);
  --h1-fs-vw: calc((var(--h1-fs-cms) / 10) * 1vw);
  --h2-fs-vw: calc((var(--h2-fs-cms) / 10) * 1vw);
  --h3-fs-vw: calc((var(--h3-fs-cms) / 10) * 1vw);
  --btn-fs-vw: calc((var(--btn-fs-cms) / 10) * 1vw);
  --a-fs-vw: calc((var(--a-fs-cms) / 10) * 1vw);

  /* Derived rem units               */
  --body-fs-rem: calc((var(--body-fs-cms) / 16) * 1rem);
  --h1-fs-rem: calc((var(--h1-fs-cms) / 16) * 1rem);
  --h2-fs-rem: calc((var(--h2-fs-cms) / 16) * 1rem);
  --h3-fs-rem: calc((var(--h3-fs-cms) / 16) * 1rem);
  --btn-fs-rem: calc((var(--btn-fs-cms) / 16) * 1rem);
  --a-fs-rem: calc((var(--a-fs-cms) / 16) * 1rem);

  /* Responsive clamp() values       */
  --body-fs-base: clamp(
    1rem,
    var(--body-fs-vw) + .5rem,
    var(--body-fs-rem)
  );
  --h1-fs-base: clamp(
    2.25rem,
    var(--h1-fs-vw) + .5rem,
    var(--h1-fs-rem)
  );
  --h2-fs-base: clamp(
    1.75rem,
    calc(var(--h2-fs-vw) + .5rem),
    var(--h2-fs-rem)
  );
  --h3-fs-base: clamp(
    1.375rem,
    var(--h3-fs-vw) + .5rem,
    var(--h3-fs-rem)
  );
  --btn-fs-base: clamp(
    0.75rem,
    var(--btn-fs-vw) + .25rem,
    var(--btn-fs-rem)
  );
  --a-fs-base: clamp(
    0.75rem,
    var(--a-fs-vw) + .25rem,
    var(--a-fs-rem)
  );

  /* ================================ */
  /* Multi-phase transition durations */
  --initial-duration: 450ms;
  --final-duration: 300ms;
  --focus-duration: 0ms;
}

/* ================================ */
/* Base element styles              */
/* ================================ */

* {
  box-sizing: border-box;
}

body {
  font-size: var(--body-fs-base) !important;
  font-family: var(--font-secondary, system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, 'Open Sans', 'Helvetica Neue', sans-serif);
  line-height: 1.5;
  margin: 0;
}

button {
  appearance: none;
  background: none;
  border: none;
  padding: 0;
  margin: 0;
  font: inherit;
  color: inherit;
  text-align: inherit;
  box-sizing: border-box;
  border-radius: inherit;
}

ul {
  padding: .375em 2em;
  width: min(100%, 130ch);
}

li {
  display: block;
  line-height: 1.2em;
  margin-block: 0;
  padding-block: .375em;
}

/* ================================ */
/* Base typography                  */
/* !important on font-size enforces */
/* the global sizes set in the      */
/* styles panel — matches editor.   */
/* ================================ */

.oc-p,
p {
  font-size: var(--body-fs-base) !important;
  line-height: 1.5;
}

.oc-h1,
h1 {
  font-size: var(--h1-fs-base) !important;
  text-wrap: balance;
  line-height: 1.1;
}

.oc-h2,
h2 {
  font-size: var(--h2-fs-base) !important;
  text-wrap: balance;
  line-height: 1.2;
}

.oc-h3,
h3 {
  font-size: var(--h3-fs-base) !important;
  line-height: 1.2;
}

.oc-btn,
button,
.btn {
  font-size: var(--btn-fs-base) !important;
}

.oc-a,
a {
  font-size: var(--a-fs-base) !important;
  text-underline-offset: .125rem;
  transition: all ease-out var(--initial-duration);
}

/* ================================ */
/* User feedback — hover / focus    */
/* ================================ */

.oc-a:hover,
a:hover {
  transition-duration: var(--final-duration);
}

.oc-a:focus-visible,
a:focus-visible {
  transition-duration: var(--focus-duration);
}

/* ================================ */
/* Reduced motion                   */
/* ================================ */

@media (prefers-reduced-motion: reduce) {
  :root {
    --initial-duration: 0ms;
    --final-duration: 0ms;
  }

  .oc-a,
  a {
    transition: none;
  }
}

/* Brand button styles (export) */
/* Brand button: Primary */
[data-button-style="btn-1778702918647"].button, [data-button-style="btn-1778702918647"], a[data-button-style="btn-1778702918647"], .oc-btn-btn-1778702918647 {
  background-color: #000F21 !important;
  color: #FFFFFF !important;
  border-color: #FEF6C8 !important;
  border-width: 2px !important;
  border-style: solid !important;
  border-radius: 8px 8px 8px 8px !important;
  padding: 0.75rem 1.5rem !important;
  font-size: 18px !important;
  font-weight: bold !important;
  font-family: 'Roboto', sans-serif !important;
  letter-spacing: 0px !important;
  line-height: 1.5 !important;
  box-shadow: 0 4px 8px rgba(0,0,0,0.55) !important;
  transition: all 0.3s ease !important;
  text-decoration: none !important;
  display: inline-block !important;
  cursor: pointer !important;
}
[data-button-style="btn-1778702918647"].button:hover, [data-button-style="btn-1778702918647"]:hover, a[data-button-style="btn-1778702918647"]:hover, .oc-btn-btn-1778702918647:hover, [data-button-style="btn-1778702918647"].button:focus, [data-button-style="btn-1778702918647"]:focus, a[data-button-style="btn-1778702918647"]:focus, .oc-btn-btn-1778702918647:focus {
  background-color: #FAD66E !important;
  color: #000F21 !important;
  border-color: #FEF6C8 !important;
  border-width: 2px !important;
  border-radius: 8px 8px 8px 8px !important;
  padding: 0.75rem 1.5rem !important;
  transform: translateY(-2px) !important;
  box-shadow: 0 4px 12px #000F2130 !important;
}

/* Brand button: Secondary */
[data-button-style="btn-1778702996942"].button, [data-button-style="btn-1778702996942"], a[data-button-style="btn-1778702996942"], .oc-btn-btn-1778702996942 {
  background-color: #FAD66E !important;
  color: #000F21 !important;
  border-color: #FEF6C8 !important;
  border-width: 2px !important;
  border-style: solid !important;
  border-radius: 8px !important;
  padding: 0.75rem 1.5rem !important;
  font-size: 18px !important;
  font-weight: bold !important;
  font-family: 'Roboto', sans-serif !important;
  letter-spacing: 0px !important;
  line-height: 1.5 !important;
  box-shadow: 0 4px 8px rgba(0,0,0,0.25) !important;
  transition: all 0.3s ease !important;
  text-decoration: none !important;
  display: inline-block !important;
  cursor: pointer !important;
}
[data-button-style="btn-1778702996942"].button:hover, [data-button-style="btn-1778702996942"]:hover, a[data-button-style="btn-1778702996942"]:hover, .oc-btn-btn-1778702996942:hover, [data-button-style="btn-1778702996942"].button:focus, [data-button-style="btn-1778702996942"]:focus, a[data-button-style="btn-1778702996942"]:focus, .oc-btn-btn-1778702996942:focus {
  background-color: #000F21 !important;
  color: #FFFFFF !important;
  border-color: #FEF6C8 !important;
  border-width: 2px !important;
  border-radius: 8px !important;
  padding: 0.75rem 1.5rem !important;
  transform: translateY(-2px) !important;
  box-shadow: 0 4px 8px rgba(0,0,0,0.25) !important;
}

/* ================================ */
/* Section Separator Styles         */
/* ================================ */

/* Sections that support separators must be positioned */
[data-section-separator="true"] {
  position: relative;
}

/* Separator elements (SVG and IMG) — absolute positioning within their section */
[data-oc-context="separator"] {
  position: absolute;
  z-index: 9999;
  pointer-events: auto;
}

[data-separator-edge="top"] {
  top: 0;
  left: 0;
}

[data-separator-edge="bottom"] {
  bottom: 0;
  left: 0;
}

/* Image-based separators fill their edge */
img[data-oc-context="separator"] {
  width: 100%;
  max-width: 100%;
  object-fit: fill;
}

/* ================================ */
/* Form Base Styles                 */
/* ================================ */

.oc-contact-form {
  padding: 24px;
  max-width: 720px;
  margin: 0 auto;
}

.oc-form-fields {
  display: grid;
  grid-template-columns: repeat(12, 1fr);
  gap: 16px;
  margin-bottom: 20px;
}

.oc-form-field {
  display: flex;
  flex-direction: column;
}

.oc-form-field[data-columns='6'] { grid-column: span 6; }
.oc-form-field[data-columns='4'] { grid-column: span 4; }
.oc-form-field[data-columns='8'] { grid-column: span 8; }
.oc-form-field[data-columns='12'],
.oc-form-field:not([data-columns]) { grid-column: span 12; }

.oc-form-label {
  font-size: 14px;
  font-weight: 500;
  margin-bottom: 6px;
  color: #333;
}

.oc-form-label .oc-form-required {
  color: #e53e3e;
  margin-left: 2px;
}

.oc-form-input,
.oc-form-textarea,
.oc-form-select {
  width: 100%;
  padding: 10px 14px;
  font-size: 14px;
  border: 1px solid #d1d5db;
  border-radius: 8px;
  background: #fff;
  color: #333;
  transition: border-color 0.2s;
  box-sizing: border-box;
}

.oc-form-input:focus,
.oc-form-textarea:focus,
.oc-form-select:focus {
  outline: none;
  border-color: #662c90;
  box-shadow: 0 0 0 3px rgba(102, 44, 144, 0.15);
}

.oc-form-textarea {
  min-height: 100px;
  resize: vertical;
}

.oc-form-help {
  font-size: 12px;
  color: #6b7280;
  margin-top: 4px;
}

.oc-form-submit {
  margin-top: 8px;
  padding: 10px 24px;
  color: #fff;
  border: none;
  border-radius: 8px;
  font-size: 14px;
  cursor: pointer;
  transition: opacity 0.2s;
}

.oc-form-submit:hover {
  opacity: 0.9;
}

.oc-form-placeholder {
  grid-column: span 12;
  text-align: center;
  padding: 32px 16px;
  color: #9ca3af;
  font-size: 14px;
  border: 2px dashed #e5e7eb;
  border-radius: 8px;
}

.oc-form-message {
  margin-bottom: 16px;
  padding: 16px 20px;
  border-radius: 8px;
  font-size: 14px;
  text-align: center;
}

.oc-form-message.oc-form-success {
  display: block;
  color: #059669;
  font-size: 16px;
  font-weight: 500;
}

.oc-form-message.oc-form-error {
  display: block;
  background: #fef2f2;
  color: #991b1b;
  border: 1px solid #fecaca;
}

.oc-form-submitting .oc-form-submit {
  opacity: 0.6;
  pointer-events: none;
}

@media (max-width: 575px) {
  .oc-form-field[data-columns='6'],
  .oc-form-field[data-columns='4'],
  .oc-form-field[data-columns='8'] {
    grid-column: span 12;
  }
}

footer .nav-item {margin-bottom: 7px;}

/* =========================================================
   Astronaut Bank — Custom CSS (Full Set)
   =========================================================
   SECTION A:  Header fixes (desktop + mobile)
   SECTION A2: Hero gap fix — tablet (769px–1250px)
   SECTION B:   Hero CTA grid alignment (homepage NY)
   SECTION C:   Footer tagline centering
   SECTION D:   Footer logos
   SECTION E:   Internal page TN CTAs
   ========================================================= */

/* =========================================================
   SECTION A — HEADER
   ========================================================= */

/* --- All breakpoints: ensure header uses primary bg --- */
.siteHeader.oc-header-01 {
  background-color: var(--oc-color-primary, var(--primary)) !important;
}

.siteHeader.oc-header-01 .secondaryNavContainer {
  background-color: var(--oc-section-secondaryNavContainer-bg, var(--primary)) !important;
}

.siteHeader.oc-header-01 .mainHeaderContainer {
  background-color: var(--oc-color-primary, var(--primary)) !important;
}

/* --- Desktop: search vertically centered in utility bar --- */
@media screen and (min-width: 769px) {

  .siteHeader.oc-header-01 .secondaryNavContainer {
    align-items: center !important;
  }

  .siteHeader.oc-header-01 .search-container {
    position: static !important;
    top: auto !important;
    right: auto !important;
    bottom: auto !important;
    transform: none !important;
    width: 44px;
    height: 44px;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    flex-shrink: 0;
    margin: 0;
    padding: 0;
  }

  .siteHeader.oc-header-01 .searchLink {
    width: 44px;
    height: 44px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 20px;
    line-height: 1;
    color: #ffffff !important;
  }

  .siteHeader.oc-header-01 .searchLink i {
    display: flex;
    align-items: center;
    justify-content: center;
    line-height: 1;
  }
}

/* --- Mobile header --- */
@media screen and (max-width: 768px) {

  .siteHeader.oc-header-01 {
    --mobile-header-height: 108px;
    --mobile-nav-toggle-size: 44px;
    --header-primary-bg: var(--oc-color-primary, var(--primary));
    display: grid !important;
    grid-template-columns: 1fr auto auto;
    grid-template-areas:
      "contact contact contact"
      "logo    search  menu"
      "nav     nav     nav";
    align-items: center;
    margin-bottom: 0 !important;
    padding-bottom: 0 !important;
    background-color: var(--header-primary-bg) !important;
  }

  /*
    Full-width primary bar behind logo / search / menu row.
    Prevents white gaps between grid cells.
  */
  .siteHeader.oc-header-01::before {
    content: "";
    grid-column: 1 / -1;
    grid-row: 2;
    background-color: var(--header-primary-bg);
    z-index: 0;
    align-self: stretch;
  }

  /* Flatten wrappers so logo / search / menu share one row */
  .siteHeader.oc-header-01 .secondaryNavContainer,
  .siteHeader.oc-header-01 .mainHeaderContainer {
    display: contents !important;
  }

  /* Hero gap fix */
  .page-content > .custom-block,
  .page-content > .custom-block:first-child,
  main#main-content > .custom-block,
  main.page-content > .custom-block,
  .oc-main-content > .custom-block,
  .custom-block.oc-section,
  div.custom-block[class*="custom-block-"],
  #iqrnot,
  #iqrnot.custom-block-495c568c-b787-49f0-a6d4-960f4178fd15 {
    padding-top: 0 !important;
    padding-block-start: 0 !important;
    margin-top: 0 !important;
    background: transparent !important;
  }

  #iqrnot > section,
  #iqrnot .stellar-template,
  #iqrnot section[class*="hero"],
  .page-content > .custom-block:first-child > section,
  main.page-content > .custom-block:first-child > section {
    padding-top: var(--mobile-header-height, 108px) !important;
    margin-top: 0 !important;
    box-sizing: border-box;
  }

  /* Black utility row — phone number padding */
  .siteHeader.oc-header-01 .contactInfo-container {
    grid-area: contact;
    background: var(--oc-section-secondaryNavContainer-bg, #000000) !important;
    padding: 12px 20px !important;
    width: 100%;
    position: relative;
    z-index: 1;
    box-sizing: border-box;
  }

  .siteHeader.oc-header-01 .secondaryNav-container,
  .siteHeader.oc-header-01 .socialNav-container {
    display: none !important;
  }

  .siteHeader.oc-header-01 .contactInfo,
  .siteHeader.oc-header-01 .contactInfo * {
    color: #ffffff !important;
    -webkit-text-fill-color: #ffffff !important;
    opacity: 1 !important;
    visibility: visible !important;
    font-size: 16px !important;
    line-height: 1.3 !important;
    margin: 0 !important;
    padding: 0 !important;
    width: auto !important;
    max-width: 100% !important;
    white-space: nowrap;
    overflow: visible !important;
  }

  .siteHeader.oc-header-01 .contactInfo a,
  .siteHeader.oc-header-01 .contactInfo a:visited,
  .siteHeader.oc-header-01 .contactInfo a:hover,
  .siteHeader.oc-header-01 .contactInfo a:focus {
    color: #ffffff !important;
    -webkit-text-fill-color: #ffffff !important;
    text-decoration: none !important;
  }

  /* Blue main row — logo */
  .siteHeader.oc-header-01 .logo-container {
    grid-area: logo;
    background: transparent !important;
    padding: 12px 0 12px 20px;
    display: flex !important;
    justify-content: flex-start !important;
    align-items: center !important;
    align-self: stretch;
    min-width: 0;
    max-width: none;
    position: relative;
    z-index: 1;
  }

  .siteHeader.oc-header-01 .logo-container a {
    display: block;
    width: 100% !important;
    max-width: 250px !important;
  }

  .siteHeader.oc-header-01 .logo-container img,
  .siteHeader.oc-header-01 .logo-container .site-logo {
    display: block;
    width: 100% !important;
    max-width: 250px !important;
    height: auto !important;
  }

  /*
    Search — same size as hamburger, icon centered in box.
    Grid row alignment keeps it locked when menu opens.
  */
  .siteHeader.oc-header-01 .search-container {
    grid-area: search;
    position: static !important;
    top: auto !important;
    right: auto !important;
    bottom: auto !important;
    transform: none !important;
    width: var(--mobile-nav-toggle-size, 44px) !important;
    height: var(--mobile-nav-toggle-size, 44px) !important;
    min-height: var(--mobile-nav-toggle-size, 44px) !important;
    max-height: var(--mobile-nav-toggle-size, 44px) !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    align-self: center;
    background: transparent !important;
    padding: 0 !important;
    margin: 0 !important;
    z-index: 1;
  }

  .siteHeader.oc-header-01 .searchLink {
    width: var(--mobile-nav-toggle-size, 44px);
    height: var(--mobile-nav-toggle-size, 44px);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 20px;
    line-height: 1;
    color: #ffffff !important;
  }

  .siteHeader.oc-header-01 .searchLink i {
    display: flex;
    align-items: center;
    justify-content: center;
    line-height: 1;
  }

  /* Hamburger — matching 44×44 box */
  .siteHeader.oc-header-01 .mobile-nav-toggle {
    grid-area: menu;
    width: var(--mobile-nav-toggle-size, 44px) !important;
    height: var(--mobile-nav-toggle-size, 44px) !important;
    min-width: var(--mobile-nav-toggle-size, 44px) !important;
    min-height: var(--mobile-nav-toggle-size, 44px) !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    align-self: center;
    margin: 0 20px 0 8px !important;
    padding: 0 !important;
    background: transparent !important;
    position: relative;
    z-index: 1;
  }

  /* Mobile nav panel */
  .siteHeader.oc-header-01 .navGroupContainer {
    grid-area: nav;
    grid-column: 1 / -1;
    width: 100%;
    position: relative;
    z-index: 1;
  }

  .siteHeader.oc-header-01 .navGroupContainer:not(.mobile-nav-open) {
    max-height: 0 !important;
    min-height: 0 !important;
    height: 0 !important;
    padding: 0 !important;
    margin: 0 !important;
    border: none !important;
    box-shadow: none !important;
    background: transparent !important;
    overflow: hidden !important;
    visibility: hidden !important;
  }

  .siteHeader.oc-header-01 .navGroupContainer.mobile-nav-open {
    height: auto !important;
    visibility: visible !important;
    background: var(--oc-color-primary, var(--primary)) !important;
    border-top: 1px solid rgba(255, 255, 255, 0.15);
    box-shadow: 0 6px 16px rgba(0, 0, 0, 0.12);
  }
}

/* =========================================================
   SECTION A2 — HERO GAP FIX (TABLET 769px–1250px)
   ========================================================= */

@media screen and (min-width: 769px) and (max-width: 1250px) {

  .siteHeader.oc-header-01 {
    --tablet-header-height: 69px;
  }

  .page-content > .custom-block,
  .page-content > .custom-block:first-child,
  main#main-content > .custom-block,
  main.page-content > .custom-block,
  .oc-main-content > .custom-block,
  .custom-block.oc-section,
  div.custom-block[class*="custom-block-"],
  #iqrnot,
  #iqrnot.custom-block-495c568c-b787-49f0-a6d4-960f4178fd15,
  .custom-block[style*="padding"],
  .oc-section[style*="padding"] {
    padding-top: 0 !important;
    padding-block-start: 0 !important;
    margin-top: 0 !important;
    background: transparent !important;
  }

  #iqrnot > section,
  #iqrnot .stellar-template,
  #iqrnot section[class*="hero"],
  .page-content > .custom-block:first-child > section,
  main.page-content > .custom-block:first-child > section {
    padding-top: var(--tablet-header-height, 69px) !important;
    margin-top: 0 !important;
    box-sizing: border-box;
  }

  header.siteHeader.oc-header-01 + .custom-block,
  .siteHeader.oc-header-01 + .custom-block,
  header.siteHeader.oc-header-01 + .oc-section,
  .siteHeader.oc-header-01 + .oc-section {
    padding-top: 0 !important;
    margin-top: 0 !important;
    background: transparent !important;
  }

  header.siteHeader.oc-header-01 + .custom-block > section:first-child,
  .siteHeader.oc-header-01 + .custom-block > section:first-child,
  header.siteHeader.oc-header-01 + .oc-section > section:first-child,
  .siteHeader.oc-header-01 + .oc-section > section:first-child {
    padding-top: var(--tablet-header-height, 69px) !important;
    margin-top: 0 !important;
    box-sizing: border-box;
  }
}

/* =========================================================
   SECTION B — HERO CTA GRID ALIGNMENT (Homepage NY)
   ========================================================= */

.templateNY.pageIntro .homeCtas .ctaContainer {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: stretch;
}

.templateNY.pageIntro .homeCtas .cta {
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  align-items: center;
  align-self: stretch;
  height: auto;
}

.templateNY.pageIntro .homeCtas .ctaIcon {
  flex-shrink: 0;
  margin-bottom: 16px;
}

.templateNY.pageIntro .homeCtas .cta .ctaBlock {
  display: flex;
  flex-direction: column;
  flex: 1 1 auto;
  width: 100%;
  min-height: 0;
  margin-top: 8px;
  text-align: center;
}

.templateNY.pageIntro .homeCtas .cta .ctaBlock h2 {
  flex-shrink: 0;
}

.templateNY.pageIntro .homeCtas .cta .ctaBlock p {
  flex: 1 1 auto;
  margin-bottom: 25px;
}

.templateNY.pageIntro .homeCtas .cta .ctaBlock .button,
.templateNY.pageIntro .homeCtas .cta .ctaBlock a[class*="oc-btn"] {
  margin-top: auto;
  align-self: center;
  flex-shrink: 0;
}

.templateNY.pageIntro .homeCtas .cta {
  border-right: 1px solid rgba(255, 255, 255, 0.65);
  border-bottom: none;
}

.templateNY.pageIntro .homeCtas .cta:last-child {
  border-right: none;
}

@media screen and (max-width: 1250px) {
  .templateNY.pageIntro .homeCtas .cta {
    flex: 1 1 45%;
    border-right: none;
    border-bottom: none;
  }

  .templateNY.pageIntro .homeCtas .cta:nth-child(odd) {
    border-right: 1px solid rgba(255, 255, 255, 0.65);
  }

  .templateNY.pageIntro .homeCtas .cta:nth-child(-n + 2) {
    border-bottom: 1px solid rgba(255, 255, 255, 0.65);
  }
}

@media screen and (max-width: 750px) {
  .templateNY.pageIntro .homeCtas .cta {
    flex: 1 1 100%;
    border-right: none !important;
    border-bottom: 1px solid rgba(255, 255, 255, 0.45);
  }

  .templateNY.pageIntro .homeCtas .cta:last-child {
    border-bottom: none;
  }
}

/* =========================================================
   SECTION C — FOOTER TAGLINE CENTERING
   ========================================================= */

@media screen and (max-width: 1024px) {

  .templateCA.footer.footer-ca .footerQuickLinks,
  .templateCA.footer.footer-ca .footerQuickLinks #footerQuickText {
    text-align: center !important;
    width: 100%;
  }

  .templateCA.footer.footer-ca .footerQuickLinks h3,
  .templateCA.footer.footer-ca .footerQuickLinks #footerQuickText h3,
  .templateCA.footer.footer-ca #footerQuickText h3 {
    text-align: center !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }

  .templateCA.footer.footer-ca .footerQuickLinks h3 span,
  .templateCA.footer.footer-ca .footerQuickLinks h3 font,
  .templateCA.footer.footer-ca #footerQuickText h3 span,
  .templateCA.footer.footer-ca #footerQuickText h3 font {
    text-align: center !important;
  }
}

/* =========================================================
   SECTION D — FOOTER LOGOS
   ========================================================= */

footer.templateCA.footer.footer-ca .footerQuickLinks .oc-image-container,
.templateCA.footer.footer-ca .footerQuickLinks .oc-image-container {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: auto !important;
  max-width: none !important;
  padding: 0 !important;
  margin: 0 !important;
}

footer.templateCA.footer.footer-ca .footerQuickLinks img,
footer.templateCA.footer.footer-ca .footerQuickLinks .oc-image,
footer.templateCA.footer.footer-ca .footerQuickLinks .oc-media,
.templateCA.footer.footer-ca .footerQuickLinks img,
.templateCA.footer.footer-ca .footerQuickLinks .oc-image,
.templateCA.footer.footer-ca .footerQuickLinks .oc-media,
.templateCA.footer.footer-ca .footerQuickLinks .oc-image-container img,
.templateCA.footer.footer-ca .footerQuickLinks .oc-image-container .oc-image,
.templateCA.footer.footer-ca .footerQuickLinks .oc-image-container .oc-media,
.templateCA.footer.footer-ca .footerQuickLinks #footerQuickText img {
  display: block !important;
  height: 60px !important;
  width: auto !important;
  max-height: 60px !important;
  max-width: none !important;
  min-height: 60px !important;
  object-fit: contain !important;
  filter: brightness(0) invert(1) !important;
  -webkit-filter: brightness(0) invert(1) !important;
}

@media screen and (min-width: 1025px) {

  footer.templateCA.footer.footer-ca .footerQuickLinks .oc-columns,
  .templateCA.footer.footer-ca .footerQuickLinks .oc-columns {
    display: flex !important;
    flex-wrap: nowrap !important;
    align-items: center !important;
    justify-content: flex-end !important;
    gap: 24px !important;
    width: auto !important;
    max-width: 100% !important;
    padding: 0 !important;
    margin-left: auto !important;
    margin-right: 0 !important;
  }

  footer.templateCA.footer.footer-ca .footerQuickLinks .oc-column,
  .templateCA.footer.footer-ca .footerQuickLinks .oc-column {
    width: auto !important;
    min-width: 0 !important;
    min-height: 0 !important;
    padding: 0 !important;
    flex: 0 0 auto !important;
    display: flex !important;
    align-items: center !important;
    justify-content: flex-end !important;
  }

  footer.templateCA.footer.footer-ca .footerQuickLinks #footerQuickText,
  .templateCA.footer.footer-ca .footerQuickLinks #footerQuickText {
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-end !important;
    width: 100%;
  }
}

@media screen and (max-width: 1024px) {

  footer.templateCA.footer.footer-ca .footerQuickLinks .oc-columns,
  .templateCA.footer.footer-ca .footerQuickLinks .oc-columns {
    display: flex !important;
    flex-wrap: wrap !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 24px !important;
    width: 100% !important;
    max-width: 100% !important;
    padding: 0 !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }

  footer.templateCA.footer.footer-ca .footerQuickLinks .oc-column,
  .templateCA.footer.footer-ca .footerQuickLinks .oc-column {
    width: auto !important;
    min-width: 0 !important;
    min-height: 0 !important;
    padding: 0 !important;
    flex: 0 0 auto !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
  }

  footer.templateCA.footer.footer-ca .footerQuickLinks #footerQuickText,
  .templateCA.footer.footer-ca .footerQuickLinks #footerQuickText {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    width: 100%;
  }
}

/* =========================================================
   SECTION E — INTERNAL PAGE TN CTAs
   ========================================================= */

.templateTN.homeCtas .cta.ctaBlock {
  height: auto !important;
  min-height: 250px;
  overflow: visible !important;
  align-items: flex-start !important;
  transition: none !important;
}

.templateTN.homeCtas .cta.ctaBlock h2,
.templateTN.homeCtas .cta.ctaBlock h3 {
  position: relative;
  z-index: 1;
  color: #ffffff !important;
  font-weight: bold;
  text-transform: uppercase;
  font-size: clamp(14px, 1.8vw, 22px) !important;
  line-height: 1.15 !important;
  text-shadow: 0 1px 3px var(--oc-color-primary);
  align-self: flex-start;
  margin: 0 0 8px !important;
  max-width: 100%;
  overflow-wrap: break-word;
}

.templateTN.homeCtas .cta.ctaBlock p {
  position: relative;
  z-index: 1;
  color: #ffffff !important;
  font-size: clamp(13px, 1.35vw, 18px) !important;
  line-height: 1.25 !important;
  text-shadow: 0 1px 3px var(--oc-color-primary);
  align-self: flex-start;
  margin: 0 0 16px !important;
  max-width: 100%;
  overflow-wrap: break-word;
}

.templateTN.homeCtas .cta.ctaBlock a,
.templateTN.homeCtas .cta.ctaBlock a[class*="oc-btn"] {
  position: relative;
  z-index: 2;
  align-self: flex-start;
  font-size: clamp(12px, 1.2vw, 16px) !important;
  line-height: 1.1 !important;
  margin: 0 !important;
}

.templateTN.homeCtas .ctaPromo h2 {
  font-size: clamp(24px, 3.5vw, 40px) !important;
}

.templateTN.homeCtas .ctaPromo p {
  font-size: clamp(16px, 1.8vw, 20px) !important;
}

.templateTN.homeCtas .cta.ctaBlock:hover,
.templateTN.homeCtas .cta.ctaBlock:focus,
.templateTN.homeCtas .cta.ctaBlock:focus-within {
  border: 1px solid #ffffff !important;
  outline: none !important;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.3) !important;
  transform: none !important;
}

.templateTN.homeCtas .cta.ctaBlock:hover::before,
.templateTN.homeCtas .cta.ctaBlock:focus::before,
.templateTN.homeCtas .cta.ctaBlock:focus-within::before {
  content: none !important;
  display: none !important;
}
.speedbump-close:hover, .speedbump-close:focus {color: white !important;}