
/* Metric-adjusted font fallbacks (reduce CLS while web fonts load) */
@font-face {
  font-family: "Poppins Fallback";
  src: local("Arial");
  size-adjust: 100.06%;
  ascent-override: 105.08%;
  descent-override: 34.85%;
  line-gap-override: 9.68%;
}

/* Reset and Base Styles */
* { margin: 0; padding: 0; box-sizing: border-box; }
html { font-size: 16px; }
body { 
  font-family: "Poppins", "Poppins Fallback", Arial, system-ui, -apple-system, sans-serif;
  color: #ffffff;
  background-color: #111723;
  line-height: 1.6;
}

/* Typography - line-height and letter-spacing from /website/typography */
h1, h2, h3, h4, h5, h6 { 
  font-family: "Poppins", "Poppins Fallback", Arial, system-ui, -apple-system, sans-serif;
  margin-bottom: 0.5em;
  /* Color is handled by individual blocks via block-specific CSS */
}
/* Standalone heading blocks: spacing is block padding (editor), not global heading margins */
[data-block-type="heading"] h1,
[data-block-type="heading"] h2,
[data-block-type="heading"] h3,
[data-block-type="heading"] h4,
[data-block-type="heading"] h5,
[data-block-type="heading"] h6 {
  margin-top: 0;
  margin-bottom: 0;
}
[data-block-type="overline"] p {
  margin-top: 0;
  margin-bottom: 0;
}
h1 { font-size: 31px; font-weight: 700; line-height: 1.2; letter-spacing: normal; }
h2 { font-size: 24px; font-weight: 700; line-height: 1.2; letter-spacing: normal; }
h3 { font-size: 20px; font-weight: 700; line-height: 1.2; letter-spacing: normal; }
h4 { font-size: 18px; font-weight: 700; line-height: 1.2; letter-spacing: normal; }
h5 { font-size: 18px; line-height: 1.2; letter-spacing: normal; }
h6 { font-size: 16px; line-height: 1.2; letter-spacing: normal; }

p { margin-bottom: 1em; }
a { color: #111723; text-decoration: none; }
a:hover { text-decoration: none; }

/* Layout */
.container { 
  max-width: 1200px; 
  margin: 0 auto; 
  padding: 0 2rem;
}
/* Header container should not add extra padding when header has padding: 0 */
.header .container {
  padding-left: 2rem !important;
  padding-right: 2rem !important;
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}
.section { padding: 0; }
.section-tight { padding: 1rem 0; }
.section-loose { padding: 4rem 0; }
.w-full { width: 100%; }

/* Spacer block visibility - Mobile <550px, Tablet 550-768px, Desktop 768px+ */
/* Supports combinations: hideOnMobile + hideOnTablet = desktop only, etc. */
.spacer-visible-desktop-only { display: none !important; }
@media (min-width: 768px) {
  .spacer-visible-desktop-only { display: block !important; }
}
.spacer-visible-tablet-only { display: none !important; }
@media (min-width: 550px) {
  .spacer-visible-tablet-only { display: block !important; }
}
@media (min-width: 768px) {
  .spacer-visible-tablet-only { display: none !important; }
}
.spacer-visible-mobile-only { display: block !important; }
@media (min-width: 550px) {
  .spacer-visible-mobile-only { display: none !important; }
}
.spacer-visible-mobile-tablet { display: block !important; }
@media (min-width: 768px) {
  .spacer-visible-mobile-tablet { display: none !important; }
}
.spacer-visible-mobile-desktop { display: block !important; }
@media (min-width: 550px) {
  .spacer-visible-mobile-desktop { display: none !important; }
}
@media (min-width: 768px) {
  .spacer-visible-mobile-desktop { display: block !important; }
}
.spacer-visible-tablet-desktop { display: none !important; }
@media (min-width: 550px) {
  .spacer-visible-tablet-desktop { display: block !important; }
}
.spacer-visible-none { display: none !important; }

/* Column cells: keep flex formatting when a visibility class shows them */
@media (min-width: 768px) {
  .spacer-visible-as-flex.spacer-visible-desktop-only { display: flex !important; }
  .spacer-visible-as-flex.spacer-visible-mobile-desktop { display: flex !important; }
  .spacer-visible-as-flex.spacer-visible-tablet-desktop { display: flex !important; }
}
@media (min-width: 550px) and (max-width: 767px) {
  .spacer-visible-as-flex.spacer-visible-tablet-only { display: flex !important; }
  .spacer-visible-as-flex.spacer-visible-mobile-tablet { display: flex !important; }
  .spacer-visible-as-flex.spacer-visible-tablet-desktop { display: flex !important; }
}
@media (max-width: 549px) {
  .spacer-visible-as-flex.spacer-visible-mobile-only { display: flex !important; }
  .spacer-visible-as-flex.spacer-visible-mobile-tablet { display: flex !important; }
  .spacer-visible-as-flex.spacer-visible-mobile-desktop { display: flex !important; }
}

/* Header - use !important to override external stylesheets (e.g. WP theme) that add padding/border */
.header {
  top: 0 !important;
  left: 0 !important;
  right: 0 !important;
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 !important;
  z-index: 1000 !important;
  color: var(--mn-header-initial-text, #FFFFFF) !important;
  transition: background-color 520ms cubic-bezier(0.4, 0, 0.2, 1), color 520ms cubic-bezier(0.4, 0, 0.2, 1), border-color 520ms cubic-bezier(0.4, 0, 0.2, 1), box-shadow 520ms cubic-bezier(0.4, 0, 0.2, 1), backdrop-filter 520ms cubic-bezier(0.4, 0, 0.2, 1) !important;
  padding: 0 !important;
  border-bottom: none !important;
  /* Don't set background-color here - let JavaScript handle it for scroll effects */
}
.header-transparent {
  padding: 0 !important;
  border-bottom: none !important;
}
.header-sticky { position: sticky; }
.header-fixed { position: fixed; }
.header-static { position: relative; }
.header-border { border-bottom: 1px solid rgba(255, 255, 255, 1) !important; }
.header-shadow { box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15), 0 1px 3px rgba(0, 0, 0, 0.1); }

.header-content {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.5rem;
  height: 100%;
}
/* Icon / dropdown nav on same row as logo: phone + social + hamburger grouped after logo */
.header-icon-trailing {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  flex-shrink: 0;
  flex-wrap: wrap;
}
.header-content > .logo-section + .header-icon-trailing {
  margin-left: auto;
}
/* Two-row header: logo + contact on row 1, menu on row 2 */
/* .header-row-2 is a direct child of <header> so it is naturally full-width — no calc/margin hacks needed */
.header.header-two-row {
  display: flex;
  flex-direction: column;
}
.header.header-two-row > .container {
  flex: 1 1 auto;
  display: flex;
  align-items: stretch;
  width: 100%;
}
.header-row-1 {
  flex: 1 1 auto;
  min-height: 64px;
  overflow: visible;
  padding-bottom: 0;
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
}
.header-row-2 {
  flex: 0 0 auto;
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 48px;
  border-top: 1px solid rgba(0,0,0,0.06);
  width: 100%;
  transition: background-color 520ms cubic-bezier(0.4, 0, 0.2, 1), color 520ms cubic-bezier(0.4, 0, 0.2, 1);
}
.header-row-2-inner {
  width: 100%;
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 2rem;
  display: flex;
  align-items: center;
}
.header-row-2 .navigation-section {
  width: 100%;
  justify-content: center;
}
.header-row-2 .nav-desktop { width: 100%; }
.header-row-2 .nav-desktop.nav-left { justify-content: flex-start; }
.header-row-2 .nav-desktop.nav-center { justify-content: center; }
.header-row-2 .nav-desktop.nav-right { justify-content: flex-end; }
.header-contact-section {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  flex-shrink: 0;
  margin-left: auto;
}
.header-contact-section .header-phone-text,
.header-contact-section .header-btn-label { display: none; }
.header-contact-section .header-phone:not(.header-has-icon),
.header-contact-section .header-btn:not(.header-has-icon) { display: none; }
/* Icons-only mobile tweaks: uniform 20 px icons, no extra padding or margins */
@media (max-width: 767px) {
  .header-contact-section .header-btn.header-has-icon {
    padding: 0 !important;
    gap: 0 !important;
    background: transparent !important;
    border: none !important;
    box-shadow: none !important;
  }
  .header-contact-section .header-btn.header-has-icon img {
    width: 20px !important;
    height: 20px !important;
  }
  .header-contact-section .header-phone.header-has-icon {
    gap: 0 !important;
  }
  .header-contact-section .header-phone.header-has-icon img {
    margin-right: 0 !important;
  }
}
@media (min-width: 768px) {
  .header-contact-section { gap: 1rem; }
  .header-contact-section .header-phone-text,
  .header-contact-section .header-btn-label { display: inline; }
  .header-contact-section .header-phone:not(.header-has-icon),
  .header-contact-section .header-btn:not(.header-has-icon) { display: inline-flex; }
}
.header-widget {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  flex-shrink: 0;
}
.header-widgets-below-logo .header-widget { margin-top: 0.25rem; }
.header-widget-desktop-only { display: none !important; }
.header-widget-mobile-only { display: inline-flex !important; }
@media (min-width: 768px) {
  .header-widget-desktop-only { display: inline-flex !important; }
  .header-widget-mobile-only { display: none !important; }
}
@media (min-width: 1024px) { .header-widget.header-widget--hide-desktop { display: none !important; } }
@media (min-width: 768px) and (max-width: 1023px) { .header-widget.header-widget--hide-tablet { display: none !important; } }
@media (max-width: 767px) { .header-widget.header-widget--hide-mobile { display: none !important; } }
.header-widget-text p { margin: 0; }
.header-widget-text ul, .header-widget-text ol { margin: 0; padding-left: 1.25em; }
.header-widget-text img { max-height: 2.5rem; width: auto; object-fit: contain; }

.header-contact-section .header-phone {
  text-decoration: none;
  font-weight: 500;
  white-space: nowrap;
}
.header-contact-section .header-social-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  opacity: 0.9;
}
.header-contact-section .header-social-link svg {
  width: 20px;
  height: 20px;
  flex-shrink: 0;
}
.header-contact-section .header-social-link:hover {
  opacity: 1;
}
.header-contact-section .header-btn img {
  width: 20px !important;
  height: 20px !important;
}
.header-contact-section .header-btn {
  white-space: nowrap;
  cursor: pointer;
  text-decoration: none;
}
.header-contact-section .header-btn:hover {
  opacity: 0.9;
}
.header-content-center {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 100%;
  position: relative;
}
.header-content-center .header-contact-outer {
  position: absolute;
  right: 0;
  top: 50%;
  transform: translateY(-50%);
}

/* Center navigation positioning */
.center-nav-wrapper {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  z-index: 20; /* Ensure it's above logo */
}

.center-nav-wrapper.nav-left {
  left: 1rem;
}

.center-nav-wrapper.nav-right {
  right: 1rem;
}

.center-nav-wrapper.nav-center {
  left: 50%;
  transform: translate(-50%, -50%);
}

/* Hide desktop navigation only when dropdown/sidebar selected */
.navstyle-dropdown .center-nav-wrapper .nav-desktop,
.navstyle-sidebar .center-nav-wrapper .nav-desktop {
  display: none !important;
}

/* Ensure navigation section in center wrapper doesn't interfere */
.center-nav-wrapper .navigation-section {
  position: relative;
}

.center-menu-button {
  display: flex !important;
}

/* Logo Styles */
.logo-section {
  position: relative;
  min-width: 100px;
  height: 64px;
  flex-shrink: 0;
  display: flex;
  align-items: center;
  overflow: hidden;
}

/* Logo positioning */
.logo-left {
  justify-content: flex-start;
}
.logo-center {
  justify-content: center;
  /* Don't take full width when there's navigation */
  flex: 0 1 auto;
  max-width: calc(100% - 100px); /* Leave space for navigation */
}
.logo-right {
  order: 2;
  justify-content: flex-end;
  margin-left: auto;
}

/* When logo is centered and navigation is present, ensure proper spacing */
.header-content-center .center-nav-wrapper {
  z-index: 10; /* Ensure menu button is above logo */
}
.logo-link {
  display: flex;
  align-items: center;
  justify-content: center;
  text-decoration: none;
  transition: opacity 0.2s;
  width: 100%;
  height: 100%;
  box-sizing: border-box;
  min-height: 62px;
  /* Vertical inset so the logo does not sit flush against the header edge (matches preview breathing room) */
  padding: 5px 0;
  /* Remove absolute positioning to work with flex container */
}

.logo-link:hover {
  opacity: 0.8;
}
.logo-link:focus,
.logo-link:active {
  outline: none;
  box-shadow: none;
}
.logo-image {
  max-width: 200px;
  object-fit: contain;
  border-radius: 0;
  
  
  max-height: 52px;
  position: relative; /* Ensure it respects container boundaries */
  filter: brightness(0) invert(1) !important;
  transition: filter 0.3s ease;
  margin: 0px 0px 0px 0px;
}
/* Two-row header: same cap as single-row (logo row height matches theme header) */
.header-two-row .header-row-1 .logo-section .logo-image {
  max-height: 52px !important;
  margin-bottom: 0 !important;
}
/* Mobile logo size / header height overrides */

.logo-text {
  font-size: 20px;
  font-weight: 300;
  color: var(--mn-header-initial-text, #FFFFFF) !important;
  font-family: "Poppins", "Poppins Fallback", Arial, system-ui, -apple-system, sans-serif;
  margin: 0;
  transition: color 520ms cubic-bezier(0.4, 0, 0.2, 1);
}

/* Navigation Styles */
.navigation-section {
  display: flex;
  align-items: center;
}
.nav-desktop {
  display: none;
  gap: 0.25rem;
  align-items: center;
}
.nav-left { justify-content: flex-start; }
.nav-center { justify-content: center; }
.nav-right { justify-content: flex-end; }
.nav-link {
  display: block;
  font-weight: 500;
  text-decoration: none;
  padding: 5px;
  border-radius: 6px;
  transition: background-color 0.2s ease, color 520ms cubic-bezier(0.4, 0, 0.2, 1);
}
.header .nav-link:not(.nav-button) {
  color: var(--mn-desktop-nav-link, #FFFFFF) !important;
}
.header .nav-link:not(.nav-button):hover,
.header .nav-desktop .nav-link:not(.nav-button):hover,
.header .header-cart-nav-item .header-cart-link:hover {
  background-color: var(--mn-desktop-nav-hover-bg, rgba(0, 0, 0, 0.06));
  color: var(--mn-desktop-nav-hover-text, #FFFFFF) !important;
}


/* ── Dropdown sub-menu ─────────────────────────────────── */
.nav-item {
  position: relative;
  list-style: none;
}
.nav-list {
  display: flex;
  align-items: center;
  gap: 1rem;
  list-style: none;
  margin: 0;
  padding: 0;
}
.header-cart-link .header-cart-count {
  font-size: 0.8rem;
  font-weight: 600;
  min-width: 1.25em;
  text-align: center;
}
.nav-item.has-dropdown > .nav-link::after {
  content: ' ▾';
  font-size: 0.85em;
  font-weight: 700;
  opacity: 1;
  display: inline-block;
  margin-left: 2px;
}
.nav-dropdown {
  display: none;
  position: absolute;
  top: 100%;
  left: 0;
  min-width: 180px;
  background-color: #111723;
  border-radius: 8px;
  box-shadow: 0 4px 16px rgba(0,0,0,0.12);
  z-index: 1000;
  padding: 6px 0 0.375rem;
  list-style: none;
}
.nav-item:hover > .nav-dropdown {
  display: block;
}
/* Selective pin: header uses display:contents so sticky pin lasts for page scroll */
.site-header--selective-pin{display:contents}
.site-header__pin{position:sticky;top:0;z-index:50;width:100%}
.site-header__flow{width:100%}
/* Nav Menu block (header_blocks) — same dropdown behaviour as theme header */
/* Block-based site header: single row; tablet/mobile reorders to logo | CTA | nav */
.site-header--blocks,
.site-header__pin,
.site-header__flow {
  max-width: 100%;
  overflow-x: clip;
  box-sizing: border-box;
}
/* Fill the content band without killing Content M max-width on desktop */
.site-header--blocks [data-block-type="columns"],
.site-header--blocks [data-block-type="columns"] > div {
  width: 100% !important;
  min-width: 0 !important;
  box-sizing: border-box !important;
}
@media (max-width: 768px) {
  .site-header--blocks [data-block-type="columns"] > div {
    max-width: 100% !important;
  }
}
.site-header--blocks .header-col-logo [data-block-type="image"] > div {
  margin-left: 0 !important;
  margin-right: auto !important;
}
.site-header--blocks .columns-site-header-row {
  flex-wrap: nowrap !important;
  align-items: center !important;
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  box-sizing: border-box;
}
.site-header--blocks .columns-site-header-row > .column:not(.header-col-sized):not(.header-col-logo) {
  max-width: none !important;
  min-width: 0 !important;
}
/* Logo columns must not shrink — otherwise nav flex grows by crushing the logo and overflow never trips.
   Sole column (1-col header wrapper) must fill the Content M/L band so margin:auto can center it. */
.site-header--blocks .columns-site-header-row > .column.header-col-logo:not(:only-child) {
  flex: 0 0 auto !important;
  flex-shrink: 0 !important;
  min-width: auto !important;
  width: auto !important;
  max-width: none !important;
}
.site-header--blocks .columns-site-header-row > .column.header-col-logo:only-child {
  flex: 1 1 auto !important;
  width: 100% !important;
  min-width: 0 !important;
  max-width: none !important;
}
.site-header--blocks .header-col-logo .image-display-size-wrapper {
  flex-shrink: 0;
  width: auto !important;
}
.site-header--blocks .header-col-logo img {
  max-width: 100%;
  width: auto;
  height: auto;
}
/* Block header logos are plain <a> wrappers (not .logo-link) — suppress the browser blue focus/active ring. */
.site-header--blocks .header-col-logo a {
  -webkit-tap-highlight-color: transparent;
}
.site-header--blocks .header-col-logo a:focus,
.site-header--blocks .header-col-logo a:active {
  outline: none;
  box-shadow: none;
}
/* header-col-sized: min-width comes from inline column styles (px columns keep their basis). */
@media (min-width: 769px) {
  .site-header--blocks:not(.site-header--nav-compact) .columns-site-header-row > .column.header-col-logo:not(.header-col-sized):not(:only-child) {
    flex: 0 0 auto !important;
    flex-shrink: 0 !important;
    min-width: auto !important;
  }
  .site-header--blocks:not(.site-header--nav-compact) .columns-site-header-row > .column.header-col-leading-actions {
    display: flex !important;
    justify-content: flex-start !important;
    align-items: center !important;
    margin-left: 0 !important;
  }
  .site-header--blocks:not(.site-header--nav-compact) .columns-site-header-row > .column.header-col-nav:not(.header-col-sized) {
    flex: 1 1 auto !important;
    display: flex !important;
    justify-content: flex-end !important;
    align-items: center !important;
  }
  .site-header--blocks:not(.site-header--nav-compact) .columns-site-header-row > .column.header-col-trailing:not(.header-col-sized),
  .site-header--blocks:not(.site-header--nav-compact) .columns-site-header-row > .column.header-col-trailing-item:not(.header-col-sized) {
    flex: 0 1 auto !important;
    display: flex !important;
    align-items: center !important;
  }
  .site-header--blocks:not(.site-header--nav-compact) .columns-site-header-row > .column.header-col-trailing:not(.header-col-sized) {
    margin-left: auto !important;
  }
  .site-header--blocks:not(.site-header--nav-compact) .columns-site-header-row > .column.header-col-actions:not(.header-col-sized) {
    flex: 0 0 auto !important;
    margin-left: auto !important;
    display: flex !important;
    justify-content: flex-end !important;
    align-items: center !important;
  }
  .site-header--blocks:not(.site-header--nav-compact) .columns-site-header-row > .column.header-col-actions.header-col-sized {
    display: flex !important;
    justify-content: flex-end !important;
    align-items: center !important;
  }
  .site-header--blocks:not(.site-header--nav-compact) .columns-site-header-row > .column.header-col-trailing ~ .column.header-col-actions,
  .site-header--blocks:not(.site-header--nav-compact) .columns-site-header-row > .column.header-col-trailing-item ~ .column.header-col-actions,
  .site-header--blocks:not(.site-header--nav-compact) .columns-site-header-row > .column.header-col-nav ~ .column.header-col-actions {
    margin-left: 0 !important;
  }
}
@media (max-width: 768px) {
  .site-header--blocks .columns-site-header-row > .column.header-col-logo:not(.header-col-sized):not(:only-child) {
    order: 1 !important;
    flex: 0 0 auto !important;
    flex-shrink: 0 !important;
    min-width: auto !important;
  }
  .site-header--blocks .columns-site-header-row > .column.header-col-logo.header-col-sized:not(:only-child) {
    order: 1 !important;
    flex: 0 0 auto !important;
    flex-shrink: 0 !important;
    min-width: auto !important;
  }
  .site-header--blocks .columns-site-header-row > .column.header-col-logo:only-child {
    order: 1 !important;
    flex: 1 1 auto !important;
    width: 100% !important;
    min-width: 0 !important;
  }
  .site-header--blocks .columns-site-header-row > .column.header-col-leading-actions {
    order: 2 !important;
  }
  .site-header--blocks .columns-site-header-row > .column.header-col-trailing:not(.header-col-sized),
  .site-header--blocks .columns-site-header-row > .column.header-col-trailing-item:not(.header-col-sized) {
    order: 2 !important;
    flex: 0 0 auto !important;
  }
  .site-header--blocks .columns-site-header-row > .column.header-col-actions:not(.header-col-sized),
  .site-header--blocks .columns-site-header-row > .column.header-col-actions.header-col-sized {
    order: 2 !important;
    flex: 0 0 auto !important;
    max-width: none !important;
    width: auto !important;
  }
  .site-header--blocks .columns-site-header-row > .column.header-col-nav {
    order: 3 !important;
    flex: 0 0 auto !important;
    margin-left: auto !important;
    display: flex !important;
    justify-content: flex-end !important;
    align-items: center !important;
  }
}
.site-header--blocks.site-header--nav-compact .columns-site-header-row > .column.header-col-logo:not(.header-col-sized):not(:only-child) {
  order: 1 !important;
  flex: 0 0 auto !important;
  flex-shrink: 0 !important;
  min-width: auto !important;
  width: auto !important;
}
.site-header--blocks.site-header--nav-compact .columns-site-header-row > .column.header-col-logo.header-col-sized:not(:only-child) {
  order: 1 !important;
  flex: 0 0 auto !important;
  flex-shrink: 0 !important;
  min-width: auto !important;
}
.site-header--blocks.site-header--nav-compact .columns-site-header-row > .column.header-col-logo:only-child {
  order: 1 !important;
  flex: 1 1 auto !important;
  width: 100% !important;
  min-width: 0 !important;
}
.site-header--blocks.site-header--nav-compact .columns-site-header-row > .column.header-col-leading-actions {
  order: 2 !important;
}
.site-header--blocks.site-header--nav-compact .columns-site-header-row > .column.header-col-trailing:not(.header-col-sized),
.site-header--blocks.site-header--nav-compact .columns-site-header-row > .column.header-col-trailing-item:not(.header-col-sized) {
  order: 2 !important;
  flex: 0 0 auto !important;
}
.site-header--blocks.site-header--nav-compact .columns-site-header-row > .column.header-col-actions:not(.header-col-sized),
.site-header--blocks.site-header--nav-compact .columns-site-header-row > .column.header-col-actions.header-col-sized {
  order: 2 !important;
  flex: 0 0 auto !important;
  max-width: none !important;
  width: auto !important;
}
.site-header--blocks.site-header--nav-compact .columns-site-header-row > .column.header-col-nav {
  order: 3 !important;
  flex: 0 0 auto !important;
  margin-left: auto !important;
  display: flex !important;
  justify-content: flex-end !important;
  align-items: center !important;
}
.site-header--blocks .nav-menu-block--site-header {
  width: 100%;
  min-width: 0;
}
.site-header--blocks .nav-menu-block--site-header .nav-menu-links--desktop {
  flex-wrap: wrap;
}
.site-header--blocks .nav-menu-block--site-header .nav-menu-links--desktop .nav-link:not(.nav-button) {
  white-space: normal;
  line-height: 1.25;
  text-align: left;
}
/* Do not zero .button-block padding/margin — block settings must apply on the static frontend too. */
.site-header--blocks .button-container {
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}
.site-header--blocks .btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
}
.nav-menu-block {
  width: 100%;
  min-width: 0;
}
.nav-menu-block .nav-menu-bar {
  display: flex;
  align-items: center;
  width: 100%;
  min-width: 0;
  gap: 0.5rem;
}
.nav-menu-block .nav-menu-hamburger {
  display: none;
  flex-shrink: 0;
  margin-left: auto;
  align-items: center;
}
.nav-menu-block .nav-menu-links--desktop {
  display: flex;
  align-items: center;
  list-style: none;
  padding: 0;
  margin: 0;
  flex: 1 1 auto;
  min-width: 0;
  justify-content: flex-start;
}
.nav-menu-block[data-nav-layout='right'] .nav-menu-links--desktop {
  justify-content: flex-end !important;
}
.nav-menu-block[data-nav-layout='centered'] .nav-menu-links--desktop {
  justify-content: center !important;
}
.nav-menu-block[data-nav-layout='minimal'] .nav-menu-links--desktop,
.nav-menu-block[data-nav-layout='horizontal'] .nav-menu-links--desktop {
  justify-content: flex-start !important;
}
.nav-menu-block--mobile-layout:not(.nav-menu-block--always-desktop) .nav-menu-links--desktop,
.nav-menu-block--always-mobile .nav-menu-links--desktop {
  display: none !important;
}
.nav-menu-block--mobile-layout:not(.nav-menu-block--always-desktop) .nav-menu-hamburger,
.nav-menu-block--always-mobile .nav-menu-hamburger,
.nav-menu-block--always-mobile .mobile-only-button {
  display: flex !important;
}
.nav-menu-block--always-desktop .nav-menu-links--desktop {
  display: flex !important;
}
.nav-menu-block--always-desktop .nav-menu-hamburger,
.nav-menu-block--always-desktop .mobile-only-button {
  display: none !important;
}
.nav-menu-block .nav-item {
  position: relative;
  list-style: none;
}
.nav-menu-block .nav-item.has-dropdown:hover > .nav-dropdown {
  display: block;
}
/* Block header nav: scroll script sets --header-nav-link-* on <header> (avoids inline hover clearing !important) */
.site-header--blocks .nav-menu-block--site-header .nav-menu-links--desktop > .nav-item > .nav-link:not(.nav-button) {
  color: var(--header-nav-link-color, var(--mn-desktop-nav-link, #FFFFFF)) !important;
  transition: background-color 0.2s ease, color 520ms cubic-bezier(0.4, 0, 0.2, 1);
}
.site-header--blocks .nav-menu-block--site-header .nav-menu-links--desktop > .nav-item > .nav-link:not(.nav-button):hover {
  background-color: var(--mn-desktop-nav-hover-bg, rgba(0, 0, 0, 0.06));
  color: var(--header-nav-link-hover-color, var(--header-nav-link-color, var(--mn-desktop-nav-link, #FFFFFF))) !important;
}
.site-header--blocks .nav-menu-block--site-header[data-nav-block-text-color] .nav-menu-links--desktop > .nav-item > .nav-link:not(.nav-button) {
  color: var(--nav-menu-block-text-color) !important;
}
.site-header--blocks .nav-menu-block--site-header[data-nav-block-text-color] .nav-menu-links--desktop > .nav-item > .nav-link:not(.nav-button):hover {
  color: var(--nav-menu-block-accent-color, var(--nav-menu-block-text-color)) !important;
}
.nav-dropdown .nav-link {
  display: block !important;
  padding: 0.5rem 1.1rem;
  color: #ffffff !important;
  white-space: nowrap;
  border-radius: 0;
  transition: background-color 0.15s;
}
.nav-dropdown .nav-link:hover {
  background-color: rgba(0,0,0,0.06);
  color: #ffffff !important;
}
/* Mobile: accordion-style dropdown inside mobile menu */
.mobile-nav .nav-dropdown {
  display: none;
  position: static;
  box-shadow: none;
  background: transparent;
  padding: 0 0 0 1rem;
  min-width: auto;
  border-radius: 0;
}
.mobile-nav .nav-item.dropdown-open > .nav-dropdown {
  display: block;
}
.mobile-nav .nav-dropdown .nav-link {
  padding: 0.4rem 0.75rem;
  font-size: 0.9em;
  opacity: 0.85;
}
.nav-item.has-mega > .nav-link::after {
  content: ' ▾';
  font-size: 0.85em;
  font-weight: 700;
  opacity: 1;
  display: inline-block;
  margin-left: 2px;
}
.nav-mega-panel {
  display: none;
  position: fixed;
  left: 0;
  right: 0;
  top: var(--site-header-chrome-height, 72px);
  z-index: 1000;
  max-height: min(70vh, 520px);
  overflow-y: auto;
  box-sizing: border-box;
}
.nav-item.has-mega.mega-open > .nav-mega-panel {
  display: block;
}
.nav-mega-panel-inner {
  max-width: 1200px;
  margin: 0 auto;
  padding: 1.5rem 2rem;
  box-sizing: border-box;
}
.mobile-nav .nav-item.dropdown-open > .nav-mega-panel-mobile {
  display: block;
}
.mobile-nav .nav-mega-panel-mobile {
  display: none;
  padding: 0.75rem 0 0.75rem 0.5rem;
}
.mobile-nav .nav-mega-panel-mobile .nav-mega-panel-inner {
  max-width: none;
  padding: 0;
}
.dropdown-toggle-btn {
  background: none;
  border: none;
  cursor: pointer;
  padding: 0 0.25rem;
  color: inherit;
  font-size: 0.75em;
  display: inline-flex;
  align-items: center;
  opacity: 0.65;
  transition: opacity 0.15s;
}
.dropdown-toggle-btn:hover { opacity: 1; }

/* Mobile Menu Button - icon same size as header social/phone (20px) */
.mobile-menu-button {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 32px;
  height: 32px;
  margin-left: 10px;
  background: none;
  border: none;
  color: var(--mn-mobile-menu-icon, #ffffff);
  cursor: pointer;
  border-radius: 8px;
  transition: background-color 0.2s ease, color 520ms cubic-bezier(0.4, 0, 0.2, 1);
}
.mobile-menu-button svg {
  width: 32px;
  height: 32px;
  flex-shrink: 0;
}
.mobile-menu-button:hover {
  background-color: rgba(255, 255, 255, 0.1);
}
.desktop-menu-button {
  display: none;
}

/* Mobile Navigation Overlay */
.mobile-nav-overlay {
  display: none;
  position: fixed;
  inset: 0;
  background-color: rgba(0, 0, 0, 0.5);
  z-index: 1040;
}
.mobile-nav-overlay.open {
  display: block;
}

/* Mobile Navigation Menu */
.mobile-nav {
  display: none;
  position: fixed;
  top: 0;
  right: 0;
  height: 100%;
  width: 320px;
  max-width: 85vw;
  z-index: 1050;
  background-color: #111723;
  transform: translateX(100%);
  transition: transform 0.3s ease-in-out;
}
.mobile-nav.open {
  display: flex;
  flex-direction: column;
  transform: translateX(0);
}
.navigation-section { position: relative; }
.mobile-nav-dropdown {
  position: absolute !important;
  right: 0 !important;
  left: auto !important;
  top: 100% !important;
  transform: none !important;
  width: 220px;
  min-height: 160px; /* Ensure minimum height */
  height: auto;
  box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
  border-radius: 8px;
  margin-top: 8px;
  display: none;
}

.mobile-nav-dropdown.open {
  display: flex !important;
  flex-direction: column;
}

.mobile-nav-sidebar {
  /* Sidebar specific styles - override base positioning */
  height: 100vh !important; /* Force full viewport height */
  min-height: 100vh; /* Ensure minimum height */
  background-color: #111723 !important; /* Ensure background */
  top: 0 !important; /* Full height from top */
  width: 320px !important; /* Fixed width */
  max-width: 85vw !important; /* Responsive max width */
  transition: transform 0.3s ease-in-out !important; /* Smooth slide animation */
}

.mobile-nav-sidebar.open {
  display: flex !important;
  flex-direction: column;
  height: 100vh !important; /* Ensure height when open */
}

/* Full-width dropdown — slides down from behind the header.
   Must beat base .mobile-nav (right:0; width:320px; max-width:85vw) or the
   drawer sits top-right at sidebar width instead of edge-to-edge. */
.mobile-nav.mobile-nav-fullwidth {
  position: fixed !important;
  top: 0 !important;
  left: 0 !important;
  right: 0 !important;
  width: 100% !important;
  max-width: none !important;
  height: auto !important;
  max-height: 85vh;
  overflow-y: auto;
  border-radius: 0 0 16px 16px;
  box-shadow: 0 8px 32px rgba(0,0,0,0.18);
  transform: translateY(-105%) !important;
  transition: transform 0.35s cubic-bezier(0.4, 0, 0.2, 1) !important;
  z-index: 1050 !important;
}
.mobile-nav.mobile-nav-fullwidth.open {
  display: flex !important;
  flex-direction: column;
  transform: translateY(0) !important;
}

/* Explicit slide-left / slide-right overrides (independent of nav alignment) */
.mobile-nav-slide-left {
  position: fixed !important;
  left: 0 !important;
  right: auto !important;
  top: 0 !important;
  transform: translateX(-100%) !important;
  transition: transform 0.3s ease-in-out !important;
}
.mobile-nav-slide-left.open {
  transform: translateX(0) !important;
}
.mobile-nav-slide-right {
  position: fixed !important;
  right: 0 !important;
  left: auto !important;
  top: 0 !important;
  transform: translateX(100%) !important;
  transition: transform 0.3s ease-in-out !important;
}
.mobile-nav-slide-right.open {
  transform: translateX(0) !important;
}

/* Sidebar positioning based on navigation alignment */
.center-nav-wrapper.nav-left .mobile-nav-sidebar,
.center-nav-wrapper.nav-center .mobile-nav-sidebar {
  position: fixed !important;
  left: 0 !important;
  right: auto !important;
  top: 0 !important; /* Start from very top, no gap */
  transform: translateX(-100%) !important; /* Start hidden to the left */
}

.center-nav-wrapper.nav-left .mobile-nav-sidebar.open,
.center-nav-wrapper.nav-center .mobile-nav-sidebar.open {
  transform: translateX(0) !important; /* Slide in from left to exact screen edge */
}

.center-nav-wrapper.nav-right .mobile-nav-sidebar {
  position: fixed !important;
  right: 0 !important;
  left: auto !important;
  top: 0 !important; /* Start from very top, no gap */
  transform: translateX(100%) !important; /* Start hidden to the right */
}

.center-nav-wrapper.nav-right .mobile-nav-sidebar.open {
  transform: translateX(0) !important; /* Slide in from right to exact screen edge */
}

/* For non-center logo layouts, use default right positioning */
.navigation-section:not(.center-nav-wrapper) .mobile-nav-sidebar {
  position: fixed !important;
  right: 0 !important;
  left: auto !important;
  top: 0 !important; /* Start from very top, no gap */
  transform: translateX(100%) !important; /* Start hidden to the right */
}

.navigation-section:not(.center-nav-wrapper) .mobile-nav-sidebar.open {
  transform: translateX(0) !important; /* Slide in from right to exact screen edge */
}

.mobile-nav-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 1rem 1.25rem;
  border-bottom: 1px solid rgba(128, 128, 128, 0.15);
  flex-shrink: 0;
}
.mobile-nav-title {
  font-size: 1rem;
  font-weight: 600;
  /* Inherit panel text color — do not use navigation_text_color (often white for header chrome). */
  color: inherit;
  margin: 0;
  letter-spacing: 0.02em;
  text-transform: uppercase;
  opacity: 0.6;
}
.mobile-nav-close {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 36px;
  height: 36px;
  background: rgba(128, 128, 128, 0.12);
  border: none;
  color: inherit;
  cursor: pointer;
  border-radius: 50%;
  transition: background-color 0.2s, transform 0.2s;
}
.mobile-nav-close:hover {
  background-color: rgba(128, 128, 128, 0.22);
  transform: rotate(90deg);
}

/* ── Mobile nav content & items ── */
.mobile-nav-content {
  flex: 1;
  overflow-y: auto;
  padding: 0.375rem 0 2rem;
  -webkit-overflow-scrolling: touch;
}
.mobile-nav .nav-list {
  display: flex;
  flex-direction: column;
  list-style: none;
  margin: 0;
  padding: 0;
  width: 100%;
}
.mobile-nav .nav-item {
  display: block;
  width: 100%;
  border-bottom: 1px solid rgba(128, 128, 128, 0.1);
}
.mobile-nav .nav-item:last-child { border-bottom: none; }

/* Row: link + optional chevron button side by side */
.mobile-nav-item-row {
  display: flex;
  align-items: stretch;
  width: 100%;
}
.mobile-nav-link {
  display: block;
  flex: 1;
  padding: 0.9rem 1.25rem;
  /* Inherit from #mobile-nav inline color (block/theme body text), not navigation_text_color. */
  color: inherit;
  text-decoration: none;
  font-size: 1.0625rem;
  font-weight: 500;
  line-height: 1.4;
  transition: background-color 0.15s, color 0.15s;
  -webkit-tap-highlight-color: transparent;
}
.mobile-nav-link:hover, .mobile-nav-link:focus {
  background-color: rgba(128, 128, 128, 0.08);
  outline: none;
}

/* Chevron toggle button */
.mobile-nav .dropdown-toggle-btn {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  width: 52px;
  background: none;
  border: none;
  border-left: 1px solid rgba(128, 128, 128, 0.12);
  color: inherit;
  cursor: pointer;
  font-size: 1rem;
  opacity: 0.55;
  transition: background-color 0.15s, opacity 0.15s, transform 0.25s ease;
  -webkit-tap-highlight-color: transparent;
}
.mobile-nav .dropdown-toggle-btn:hover {
  background-color: rgba(128, 128, 128, 0.08);
  opacity: 1;
}
/* Rotate chevron when sub-menu is open */
.mobile-nav .nav-item.dropdown-open > .mobile-nav-item-row > .dropdown-toggle-btn {
  transform: rotate(180deg);
  opacity: 1;
}

/* ── Sub-menu accordion ── */
.mobile-nav .nav-dropdown {
  position: static !important;
  display: block !important;      /* Don't toggle display; use max-height */
  max-height: 0;
  overflow: hidden;
  transition: max-height 0.32s cubic-bezier(0.4, 0, 0.2, 1);
  background-color: rgba(128, 128, 128, 0.05);
  box-shadow: none !important;
  border-radius: 0 !important;
  min-height: unset !important;
  padding: 0;
  width: 100%;
  opacity: 1;
}
.mobile-nav .nav-item.dropdown-open > .nav-dropdown {
  max-height: 800px; /* Large enough for any reasonable sub-menu */
}
.mobile-nav .nav-dropdown .nav-item {
  border-bottom: 1px solid rgba(128, 128, 128, 0.07);
}
.mobile-nav .nav-dropdown .mobile-nav-link {
  padding-left: 2rem;
  font-size: 0.9375rem;
  font-weight: 400;
  opacity: 0.88;
}

/* CTA nav buttons inside mobile panel */
.mobile-nav .nav-button {
  margin: 0.5rem 1.25rem;
  display: block !important;
  text-align: center;
  border-radius: 8px !important;
}

/* Desktop Styles */
@media (min-width: 768px) {
  .nav-desktop { display: flex; }
  .desktop-menu-button { display: flex; }
  .mobile-only-button { display: none; }
  /*
   * Classic row: logo | nav | contact. Contact used margin-left:auto which collapses all free
   * space before the phone and leaves nav hugging the logo (unlike WebsitePreview /design/menus,
   * which uses flex-1 + justify-end on the nav column). Grow the nav strip and push it toward contact.
   */
  .header-content > .navigation-section {
    flex: 1 1 auto;
    min-width: 0;
    justify-content: flex-end;
  }
  .header-content > .header-contact-section {
    margin-left: 0;
  }
  
  .mobile-nav-dropdown.open {
    position: absolute;
  }
}

/* Mobile Styles */
@media (max-width: 767px) {
  .nav-desktop { display: none; }
  .mobile-menu-button { display: flex; }
}

/* ── Two-row header: collapse to single row on mobile ── */
/* The mobile nav panel is a direct child of <header>, outside row-2, so hiding row-2 won't affect it. */
/* The row-1 hamburger button (.mobile-row1-btn) is always hidden on desktop. */
.mobile-row1-btn { display: none !important; }
@media (max-width: 767px) {
  /* Collapse nav row: hide it and let header shrink to fit row-1 only */
  .header-two-row .header-row-2 { display: none !important; }
  /* Let header height be determined by row-1 content (no custom mobile height set) */ .header-two-row { height: auto !important; min-height: 0 !important; }
  /* Show the row-1 hamburger button on mobile */
  .header-two-row .mobile-row1-btn { display: flex !important; }
  /* Hamburger toggle alignment within row-1 */
  .header-two-row .mobile-row1-btn {
    order: 1;
  }
}

/* Content Blocks */
.block { margin-bottom: 0; }

/* Nested blocks (inside columns) have reduced spacing */
.column .block { margin-bottom: 0; }
.column .section { padding: 0; }

/* Hero Block */
.hero {
  position: relative;
  min-height: 400px;
  display: flex;
  align-items: center;
  justify-content: center;
  color: white;
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
}
.hero.text-left { text-align: left; }
.hero.text-center { text-align: center; }
.hero.text-right { text-align: right; }
.hero-overlay {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: rgba(0, 0, 0, 0.4);
  pointer-events: none;
}

.hero-scroll-indicator {
  position: absolute;
  left: 50%;
  bottom: 1.75rem;
  transform: translateX(-50%);
  z-index: 20;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 2.75rem;
  height: 2.75rem;
  padding: 0;
  border-radius: 9999px;
  border: 1px solid rgba(255, 255, 255, 0.35);
  background: rgba(255, 255, 255, 0.12);
  color: rgba(255, 255, 255, 0.92);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
  cursor: pointer;
  transition: background 0.2s ease, border-color 0.2s ease;
  animation: hero-scroll-indicator-bob 2.2s ease-in-out infinite;
}
.hero-scroll-indicator:hover {
  background: rgba(255, 255, 255, 0.22);
  border-color: rgba(255, 255, 255, 0.55);
  animation-play-state: paused;
}
.hero-scroll-indicator:focus-visible {
  outline: 2px solid rgba(255, 255, 255, 0.65);
  outline-offset: 2px;
}
.hero-scroll-indicator-chevron {
  display: flex;
  align-items: center;
  justify-content: center;
  line-height: 0;
}
@keyframes hero-scroll-indicator-bob {
  0%, 100% { transform: translateX(-50%) translateY(0); }
  50% { transform: translateX(-50%) translateY(6px); }
}
@media (prefers-reduced-motion: reduce) {
  .hero-scroll-indicator {
    animation: none;
  }
}

.hero-content {
  position: relative;
  z-index: 1;
  max-width: 500px;
}
/* Matches editor/header inner gutter: Tailwind px-2 md:px-8 on max-width container */
.hero-layout-container {
  padding-left: 0.5rem;
  padding-right: 0.5rem;
}
@media (min-width: 768px) {
  .hero-layout-container {
    padding-left: 2rem;
    padding-right: 2rem;
  }
}
.hero.text-left .hero-content,
.hero.text-right .hero-content {
  max-width: 1200px;
  width: 100%;
}
.hero.text-left .hero-content > *,
.hero.text-right .hero-content > * {
  max-width: 500px;
}
.hero.text-right .hero-content > * {
  margin-left: auto;
}
/* Make hero content full-width on mobile */
@media (max-width: 768px) {
  .hero-content {
    max-width: 100% !important;
  }
  .hero.text-left .hero-content > *,
  .hero.text-right .hero-content > *,
  .hero.text-center .hero-content > * {
    max-width: 100% !important;
  }
}

/* Vertical alignment classes for hero - more specific to override base .hero rule */
.hero.items-start {
  align-items: flex-start !important;
}
.hero.items-center {
  align-items: center !important;
}
.hero.items-end {
  align-items: flex-end !important;
}
.hero h1 { 
  margin-bottom: 1rem; 
  font-size: 39px; 
  line-height: 1; 
  hyphens: none;
  -webkit-hyphens: none;
  word-break: normal;
  overflow-wrap: normal;
}
/* Responsive hero heading sizes */
@media (max-width: 768px) {
  .hero h1 {
    font-size: 23px; /* 60% of desktop size on mobile */
  }
}
@media (min-width: 769px) and (max-width: 1024px) {
  .hero h1 {
    font-size: 29px; /* 75% of desktop size on tablet */
  }
}
.hero p {  margin-bottom: 2rem; font-size: 1.25rem; hyphens: none; -webkit-hyphens: none; word-break: normal; overflow-wrap: normal; }
.hero [data-editable="overline"] { 
  display: block; 
  font-size: 14px; 
  margin-bottom: 0.75rem; 
  opacity: 1; 
}

/* Hero Buttons */
.hero-buttons {
  margin-top: 2rem;
}
.flex {
  display: flex;
}
.justify-start {
  justify-content: flex-start;
}
.justify-center {
  justify-content: center;
}
.justify-end {
  justify-content: flex-end;
}
.hero-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0.75rem 1.5rem;
  font-size: 1rem;
  font-weight: 600;
  text-decoration: none;
  transition: all 0.2s ease;
  cursor: pointer;
}
.hero-button:hover {
  opacity: 0.9;
  text-decoration: none;
  transform: translateY(-1px);
}
.hero-button:active {
  transform: translateY(0);
}

/* Button Spacing */
.gap-2 { gap: 0.5rem; }
.gap-4 { gap: 1rem; }
.gap-6 { gap: 1.5rem; }

/* Legacy CTA button support */
.hero .cta-button {
  display: inline-block;
  background-color: #111723;
  color: white;
  padding: 1rem 2rem;
  border-radius: 8px;
  font-weight: 600;
  transition: opacity 0.2s;
}
.hero .cta-button:hover { opacity: 0.9; text-decoration: none; }

/* Text Block */
.text-block {
  max-width: none;
}
.text-block img,
.wysiwyg-content img {
  max-width: 100% !important;
  height: auto !important;
  box-sizing: border-box;
}
.text-block figure,
.wysiwyg-content figure,
.text-block .wp-block-image,
.wysiwyg-content .wp-block-image {
  max-width: 100%;
}
.columns-responsive .column {
  min-width: 0;
}
.text-block h1:not([style*="color"]), 
.text-block h2:not([style*="color"]), 
.text-block h3:not([style*="color"]), 
.text-block h4:not([style*="color"]), 
.text-block h5:not([style*="color"]), 
.text-block h6:not([style*="color"]) {
  color: #ffffff;
}
.text-block h1, .text-block h2, .text-block h3, .text-block h4, .text-block h5, .text-block h6 {
  margin-top: 1.5em;
  margin-bottom: 0.5em;
}
.text-block h1:first-child, .text-block h2:first-child, .text-block h3:first-child,
.text-block h4:first-child, .text-block h5:first-child, .text-block h6:first-child {
  margin-top: 0;
}
.text-block ul, .text-block ol { margin-bottom: 1em; padding-left: 2em; }
.text-block li { margin-bottom: 0.25em; }
.text-block ul[data-se-ul-style="check"] {
  list-style: none !important;
  padding-left: 0 !important;
}
.text-block ul[data-se-ul-style="check"] > li {
  list-style: none !important;
  display: block !important;
  position: relative !important;
  padding-left: 1.5em !important;
}
.text-block ul[data-se-ul-style="check"] > li::before {
  content: '✓';
  position: absolute;
  left: 0;
  top: 0.125em;
  font-weight: 600;
  line-height: 1;
}
.text-block blockquote {
  border-left: 4px solid #111723;
  padding-left: 1rem;
  margin: 1.5rem 0;
  font-style: italic;
  color: #ffffffcc;
}
.text-block .se-blockquote {
  max-width: 100%;
  box-sizing: border-box;
  overflow-x: auto;
  overflow-wrap: anywhere;
  word-break: break-word;
}
.text-block pre.se-code-block {
  font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
  font-size: 0.875em;
  line-height: 1.55;
  white-space: pre-wrap;
  word-break: break-word;
  overflow-wrap: anywhere;
  max-width: 100%;
  overflow-x: auto;
  box-sizing: border-box;
  padding: 1rem;
  margin: 0.75rem 0;
  border-radius: 8px;
  tab-size: 2;
  background: rgba(127, 127, 127, 0.12);
  border: 1px solid rgba(127, 127, 127, 0.22);
  color: #ffffff;
}

/* Shared text-block chrome: colors via --tb-color / --tb-heading on each .text-block */
.text-block {
  color: var(--tb-color, inherit) !important;
}
.text-block *:not(.se-blockquote):not(.se-blockquote *):not(.se-code-block):not(.se-code-block *):not([style*="color"]):not(h1):not(h2):not(h3):not(h4):not(h5):not(h6) {
  color: var(--tb-color, inherit) !important;
}
.text-block .se-blockquote * {
  color: inherit !important;
}
.text-block .se-blockquote {
  max-width: 100% !important;
  box-sizing: border-box !important;
  overflow-x: auto !important;
  overflow-wrap: anywhere !important;
  word-break: break-word !important;
}
.text-block pre.se-code-block {
  font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace !important;
  font-size: 0.875em !important;
  line-height: 1.55 !important;
  white-space: pre-wrap !important;
  word-break: break-word !important;
  overflow-wrap: anywhere !important;
  max-width: 100% !important;
  overflow-x: auto !important;
  box-sizing: border-box !important;
  padding: 1rem !important;
  margin: 0.75rem 0 !important;
  border-radius: 8px !important;
  tab-size: 2 !important;
  background: rgba(127, 127, 127, 0.12) !important;
  border: 1px solid rgba(127, 127, 127, 0.22) !important;
}
.text-block [style*="color"] *:not(script):not(style) {
  color: inherit !important;
}
.text-block h1:not([style*="font-size"]) { font-size: 31px !important; }
.text-block h1:not([style*="color"]) { font-weight: 700 !important; line-height: 1.2 !important; margin-top: 0 !important; margin-bottom: 1rem !important; color: var(--tb-heading, var(--tb-color, inherit)) !important; letter-spacing: normal !important; }
.text-block h2:not([style*="font-size"]) { font-size: 24px !important; }
.text-block h2:not([style*="color"]) { font-weight: 700 !important; line-height: 1.2 !important; margin-top: 1.5rem !important; margin-bottom: 0.75rem !important; color: var(--tb-heading, var(--tb-color, inherit)) !important; letter-spacing: normal !important; }
.text-block h3:not([style*="font-size"]) { font-size: 20px !important; }
.text-block h3:not([style*="color"]) { font-weight: 700 !important; line-height: 1.2 !important; margin-top: 1.25rem !important; margin-bottom: 0.5rem !important; color: var(--tb-heading, var(--tb-color, inherit)) !important; letter-spacing: normal !important; }
.text-block h4:not([style*="font-size"]) { font-size: 18px !important; }
.text-block h4:not([style*="color"]) { font-weight: 700 !important; line-height: 1.2 !important; margin-top: 1rem !important; margin-bottom: 0.5rem !important; color: var(--tb-heading, var(--tb-color, inherit)) !important; letter-spacing: normal !important; }
.text-block h5:not([style*="font-size"]) { font-size: 18px !important; }
.text-block h5:not([style*="color"]) { font-weight: 600 !important; line-height: 1.2 !important; margin-top: 0.75rem !important; margin-bottom: 0.5rem !important; color: var(--tb-heading, var(--tb-color, inherit)) !important; }
.text-block h6:not([style*="font-size"]) { font-size: 16px !important; }
.text-block h6:not([style*="color"]) { font-weight: 600 !important; line-height: 1.2 !important; margin-top: 0.5rem !important; margin-bottom: 0.5rem !important; color: var(--tb-heading, var(--tb-color, inherit)) !important; }
.text-block h1:first-child,
.text-block h2:first-child,
.text-block h3:first-child,
.text-block h4:first-child,
.text-block h5:first-child,
.text-block h6:first-child {
  margin-top: 0 !important;
}
.text-block p {
  margin-top: 0 !important;
  margin-bottom: 1rem !important;
  line-height: 1.6 !important;
}
.text-block p:last-child {
  margin-bottom: 0 !important;
}

/* Quote block (page builder): blockquote uses inline layout/card styles — keep independent of .text-block blockquote */
.section.block.quote-block blockquote.wp-block-quote {
  box-sizing: border-box;
  background-image: none;
}
.section.block.quote-block .quote-decorative-mark {
  font-family: ui-serif, Georgia, Cambria, "Times New Roman", Times, serif;
}

/* SimpleEditor link styling - uses CSS variables set per-link */
.se-link:hover { color: var(--se-link-hover-color) !important; }
.se-link.se-link-anim-smooth { transition: color 0.2s ease; }
.se-link.se-link-anim-fade:hover { opacity: 0.85; transition: opacity 0.2s ease; }
.se-link.se-link-anim-scale:hover { transform: scale(1.02); transition: transform 0.2s ease; display: inline-block; }

/* Image Block */
.image-block {
  text-align: center;
  margin: 2rem 0;
}
.image-block img {
  max-width: 100%;
  height: auto;
}
.image-caption {
  margin-top: 0.5rem;
  font-size: 0.875rem;
  color: #ffffff99;
}

/* Columns Block */
.columns {
  display: grid;
  gap: 0;
  margin: 0;
}
.columns-2 { grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); }
.columns-3 { grid-template-columns: repeat(auto-fit, minmax(250px, 1fr)); }
.columns-4 { grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); }

/* FAQ Block */
.faq-item {
  border: 1px solid #ffffff20;
  border-radius: 8px;
  margin-bottom: 0;
  overflow: hidden;
}
.faq-question {
  background: transparent;
  padding: 1rem;
  cursor: pointer;
  font-weight: 600;
  font-size: 18px;
  border: none;
  border-bottom:1px solid #ffffff30;
  width: 100%;
  text-align: left;
  color: #ffffff;
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.faq-question-text {
  flex: 1;
}
.faq-chevron {
  transition: transform 0.2s ease;
  flex-shrink: 0;
  margin-left: 1rem;
}
.faq-item.open .faq-chevron {
  transform: rotate(180deg);
}
.faq-question:hover { background: #ffffff05; }
.faq-answer {
  padding: 1rem;
  border-top: 1px solid #ffffff10;
  display: none;
}
.faq-item.open .faq-answer { display: block; }

.faq-list {
  display: flex;
  flex-direction: column;
  gap: 1rem;
}
.faq-list--2col {
  display: grid;
  grid-template-columns: 1fr;
  gap: var(--faq-gap, 1rem);
}
.faq-list--divider:not(.faq-list--2col) {
  display: block;
  gap: 0;
}
@media (min-width: 768px) {
  .faq-list--2col { grid-template-columns: 1fr 1fr; }
}
.faq-list--divider {
  border: 1px solid #ffffff20;
  border-radius: 8px;
  overflow: hidden;
}
.faq-item--divider {
  border: none !important;
  border-radius: 0 !important;
  margin-bottom: 0 !important;
}
.faq-list--divider .faq-item--divider + .faq-item--divider {
  border-top: 1px solid #ffffff20 !important;
}
.faq-item--minimal { border: none !important; box-shadow: none !important; }
.faq-item--minimal .faq-question { border-bottom-color: transparent; }
.faq-item--minimal.faq-item.open .faq-answer { border-top: 1px solid #ffffff15; }
.faq-item .faq-icon-minus { display: none; }
.faq-item.open .faq-icon-plus { display: none; }
.faq-item.open .faq-icon-minus { display: block; }
.faq-icon-plus, .faq-icon-minus { flex-shrink: 0; margin-left: 1rem; width: 20px; height: 20px; color: inherit; opacity: 0.5; }

/* Reviews Block */
.reviews-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
  gap: 1.5rem;
  margin: 0;
}
.review-card {
  background: white;
  border: 1px solid #ffffff20;
  border-radius: 8px;
  padding: 1.5rem;
  box-shadow: 0 2px 4px rgba(0,0,0,0.1);
}
.review-header {
  display: flex;
  align-items: center;
  gap: 1rem;
  margin-bottom: 1rem;
}
.review-avatar {
  width: 48px;
  height: 48px;
  border-radius: 50%;
  background: #11172320;
  display: flex;
  align-items: center;
  justify-content: center;
  font-weight: 600;
  color: #111723;
}
.review-stars {
  color: #fbbf24;
  font-size: 1.25rem;
}
.review-meta {
  font-size: 0.875rem;
  color: #ffffff80;
}

/* Verified By block - responsive expert grid */
.verified-by-grid {
  display: grid;
  gap: 0.75rem;
  grid-template-columns: 1fr;
  width: 100%;
}
@media (min-width: 640px) {
  .verified-by-grid.verified-by-cols-2,
  .verified-by-grid.verified-by-cols-3,
  .verified-by-grid.verified-by-cols-4 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media (min-width: 1024px) {
  .verified-by-grid.verified-by-cols-2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .verified-by-grid.verified-by-cols-3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .verified-by-grid.verified-by-cols-4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
}

/* Team Block - responsive grid: 1 col mobile, 2 col tablet, 2/3/4 col desktop */
.team-block-grid {
  display: grid;
  gap: 1.5rem;
  grid-template-columns: 1fr;
}
@media (min-width: 768px) {
  .team-block-grid { grid-template-columns: repeat(2, 1fr); }
}
@media (min-width: 1024px) {
  .team-block-grid.team-cols-2 { grid-template-columns: repeat(2, 1fr); }
  .team-block-grid.team-cols-3 { grid-template-columns: repeat(3, 1fr); }
  .team-block-grid.team-cols-4 { grid-template-columns: repeat(4, 1fr); }
}

/* Contact / business hours inner card (padding comes from block style + site gutter) */
.business-contact-card {
  border: none;
  border-radius: 8px;
  text-align: left;
}
.contact-info-list {
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
  text-align: left;
}
.contact-info-inline {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.5rem 1rem;
}
.contact-info-row {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  min-width: 0;
  max-width: 100%;
}
.contact-info-row.contact-info-row--address {
  display: flex;
  align-items: flex-start;
  width: 100%;
}
.contact-info-icon {
  width: 1.25rem;
  height: 1.25rem;
  flex-shrink: 0;
  opacity: 0.7;
}
.contact-info-row--address .contact-info-icon {
  margin-top: 0.125rem;
}
.contact-info-label {
  font-size: 0.875rem;
  font-weight: 500;
  flex-shrink: 0;
}
.contact-info-value {
  font-size: 0.875rem;
  min-width: 0;
}
.contact-grid {
  display: flex;
  flex-direction: column;
  gap: 1rem;
  text-align: left;
}
.contact-item {
  display: flex;
  align-items: flex-start;
  gap: 0.75rem;
}
.contact-label {
  font-weight: 500;
  font-size: 0.875rem;
  color: #ffffff;
}

/* Footer */
.footer {
  background-color: theme-primary;
  color: theme-primary;
  padding: 2rem 0;
  text-align: center;
  border-top: 1px solid theme-primary;
}
.footer a {
  color: theme-primary;
}
.footer h1, .footer h2, .footer h3, .footer h4, .footer h5, .footer h6 {
  color: theme-primary;
}
.footer-content {
  display: flex;
  flex-direction: column;
  gap: 1rem;
}
/* Block-based footer: blocks manage their own vertical rhythm; flex gap would show page/body color through transparent footer */
.footer-content.footer-content--blocks {
  gap: 0;
}
.business-info {
  text-align: center;
  margin-bottom: 1.5rem;
}
.footer-bottom-row {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 2rem;
  font-size: 0.875rem;
  opacity: 0.7;
  padding-top: 1rem;
  border-top: 1px solid #ffffff5e;
}
.footer-copyright {
  flex: 1; text-align:left;
}
.footer-creator {
  flex: 1;
  text-align: right;
}


@media (min-width: 768px) {
  .footer-content:not(.footer-content--blocks) {
    flex-direction: column;
    gap: 1.5rem;
  }
}

/* Responsive Design */
@media (max-width: 768px) {
  .container { padding: 0 1rem; }
  /* Columns blocks use inner-wrapper padding (matches editor preview); skip this so we don't stack 1rem + block padding */
  .section:not([data-block-type="columns"]) {
    padding-top: 1rem !important;
    padding-bottom: 1rem !important;
  }
  /* Only strip horizontal padding on sections that don't have custom padding (e.g. column blocks with padding set) */
  .section:not(.has-section-padding) {
    padding-left: 0 !important;
    padding-right: 0 !important;
  }
  .hero { min-height: 300px; }
  .columns { grid-template-columns: 1fr; gap: 1rem; }
  .reviews-grid { grid-template-columns: 1fr; }
  .contact-grid { gap: 1rem; }
  
  /* Mobile logo adjustments */
  .logo-image { 
    /* max-width: 160px !important; */
    /* Remove max-height and margin-top restrictions to allow proper scaling and positioning */
  }
  
  .header-content {
    padding: 0;
  }
  
  .logo-section {
    flex-shrink: 0;
    
  }
}

/* Button Block */
.button-block {
  padding: 0 0 2rem 0;
    
    margin-bottom: 2rem;
}
@media (max-width: 768px) {
  .button-block {
    margin-top: 0;
  }
}
.button-container {
  display: flex;
  flex-wrap: wrap;
}
.button-single {
  justify-content: center;
}
.button-dual {
  justify-content: center;
}
.button-dual.button-spacing-small {
  gap: 0.5rem;
}
.button-dual.button-spacing-medium {
  gap: 1rem;
}
.button-dual.button-spacing-large {
  gap: 1.5rem;
}
.text-left .button-container {
  justify-content: flex-start;
}
.text-right .button-container {
  justify-content: flex-end;
}

/* Button Styles */
.btn {
  display: inline-block;
  padding: 0.75rem 1.5rem;
  font-size: 1rem;
  font-weight: 500;
  text-align: center;
  text-decoration: none;
  border-radius: 8px;
  transition: all 0.2s ease;
  cursor: pointer;
  border: 1px solid transparent;
}
.btn-primary {
  background-color: #111723;
  color: white;
}
.btn-primary:hover {
  opacity: 0.9;
  text-decoration: none;
  color: white;
}
.btn-secondary {
  background-color: #ffffff;
  color: white;
}
.btn-secondary:hover {
  opacity: 0.9;
  text-decoration: none;
  color: white;
}
.btn-outline {
  background-color: transparent;
  color: #111723;
  border-color: #111723;
}
.btn-outline:hover {
  background-color: #111723;
  color: white;
  text-decoration: none;
}
.btn-ghost {
  background-color: transparent;
  color: #111723;
  border-color: transparent;
}
.btn-ghost:hover {
  background-color: rgba(0, 0, 0, 0.05);
  text-decoration: none;
  color: #111723;
}

.sf-btn-chroma .btn-icon-auto,
.sf-btn-chroma .btn-icon-auto svg {
  color: inherit !important;
}
.sf-btn-chroma:hover {
  background-color: var(--sf-btn-hover-bg, var(--sf-btn-rest-bg)) !important;
  color: var(--sf-btn-hover-color, var(--sf-btn-rest-color)) !important;
  border-color: var(--sf-btn-hover-border, var(--sf-btn-rest-border)) !important;
}
.site-header--blocks.site-header--scrolled-chroma .sf-header-btn-chroma[data-sf-btn-reverse="1"] {
  background-color: var(--sf-btn-hover-bg, var(--sf-btn-rest-bg)) !important;
  color: var(--sf-btn-hover-color, var(--sf-btn-rest-color)) !important;
  border-color: var(--sf-btn-hover-border, var(--sf-btn-rest-border)) !important;
}
.site-header--blocks.site-header--scrolled-chroma .sf-header-btn-chroma[data-sf-btn-reverse="1"]:hover {
  background-color: var(--sf-btn-rest-bg) !important;
  color: var(--sf-btn-rest-color) !important;
  border-color: var(--sf-btn-rest-border) !important;
}

.btn-width-s { min-width: 0; font-size: 0.875rem; }
.btn-width-m { min-width: 140px; font-size: 1rem; }
.btn-width-l { width: 100%; min-width: 200px; font-size: 1rem; }

.product-grid-responsive {
  display: grid;
  gap: 1rem;
  grid-template-columns: repeat(1, minmax(0, 1fr));
}
@media (min-width: 640px) {
  .product-grid-responsive[data-cols="3"],
  .product-grid-responsive[data-cols="4"] {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media (min-width: 768px) {
  .product-grid-responsive[data-cols="2"] {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media (min-width: 1024px) {
  .product-grid-responsive[data-cols="3"] {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
  .product-grid-responsive[data-cols="4"] {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}
@media (min-width: 1280px) {
  .product-grid-responsive[data-cols="4"] {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }
}

.btn-with-subtext { display: inline-flex; flex-direction: column; align-items: center; gap: 0.125rem; }
.btn-subtext { font-size: 0.75rem; opacity: 0.9; font-weight: 400; }
@media (max-width: 1023px) {
  .btn-hide-label-below-lg .btn-label-text { display: none !important; }
}

/* Form Styles */
.form-group {
  margin-bottom: 1rem;
}
.form-group label {
  display: block;
  margin-bottom: 0.5rem;
  font-weight: 600;
  color: #ffffff;
}
html.theme-light .form-group input[type="email"].form-field-custom.w-full,
html.theme-light .form-group input[type="password"].form-field-custom.w-full,
html.theme-light .form-group input[type="text"].form-field-custom.w-full,
html.theme-light .form-group input[type="tel"].form-field-custom.w-full,
html.theme-light .form-group input[type="url"].form-field-custom.w-full,
html.theme-light .form-group textarea.form-field-custom.w-full,
html.theme-light .form-group select.form-field-custom.w-full,
html.theme-dark .form-group input[type="email"].form-field-custom.w-full,
html.theme-dark .form-group input[type="password"].form-field-custom.w-full,
html.theme-dark .form-group input[type="text"].form-field-custom.w-full,
html.theme-dark .form-group input[type="tel"].form-field-custom.w-full,
html.theme-dark .form-group input[type="url"].form-field-custom.w-full,
html.theme-dark .form-group textarea.form-field-custom.w-full,
html.theme-dark .form-group select.form-field-custom.w-full,
html.theme-auto .form-group input[type="email"].form-field-custom.w-full,
html.theme-auto .form-group input[type="password"].form-field-custom.w-full,
html.theme-auto .form-group input[type="text"].form-field-custom.w-full,
html.theme-auto .form-group input[type="tel"].form-field-custom.w-full,
html.theme-auto .form-group input[type="url"].form-field-custom.w-full,
html.theme-auto .form-group textarea.form-field-custom.w-full,
html.theme-auto .form-group select.form-field-custom.w-full,
html.theme-custom .form-group input[type="email"].form-field-custom.w-full,
html.theme-custom .form-group input[type="password"].form-field-custom.w-full,
html.theme-custom .form-group input[type="text"].form-field-custom.w-full,
html.theme-custom .form-group input[type="tel"].form-field-custom.w-full,
html.theme-custom .form-group input[type="url"].form-field-custom.w-full,
html.theme-custom .form-group textarea.form-field-custom.w-full,
html.theme-custom .form-group select.form-field-custom.w-full,
.form-group input[type="email"].form-field-custom.w-full,
.form-group input[type="password"].form-field-custom.w-full,
.form-group input[type="text"].form-field-custom.w-full,
.form-group input[type="tel"].form-field-custom.w-full,
.form-group input[type="url"].form-field-custom.w-full,
.form-group textarea.form-field-custom.w-full,
.form-group select.form-field-custom.w-full {
  width: 100%;
  padding: 0.75rem;
  border: 1px solid #d1d5db;
  border-radius: 8px;
  font-size: 1rem;
  font-family: "Poppins", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
  transition: border-color 0.2s, box-shadow 0.2s;
  background-color: #ffffff !important;
  color: #374151 !important;
  border-color: #d1d5db !important;
}
.form-group select {
  cursor: pointer;
}
html.theme-light .form-group input[type="email"].form-field-custom.w-full:focus,
html.theme-light .form-group input[type="password"].form-field-custom.w-full:focus,
html.theme-light .form-group input[type="text"].form-field-custom.w-full:focus,
html.theme-light .form-group input[type="tel"].form-field-custom.w-full:focus,
html.theme-light .form-group input[type="url"].form-field-custom.w-full:focus,
html.theme-light .form-group textarea.form-field-custom.w-full:focus,
html.theme-light .form-group select.form-field-custom.w-full:focus,
html.theme-dark .form-group input[type="email"].form-field-custom.w-full:focus,
html.theme-dark .form-group input[type="password"].form-field-custom.w-full:focus,
html.theme-dark .form-group input[type="text"].form-field-custom.w-full:focus,
html.theme-dark .form-group input[type="tel"].form-field-custom.w-full:focus,
html.theme-dark .form-group input[type="url"].form-field-custom.w-full:focus,
html.theme-dark .form-group textarea.form-field-custom.w-full:focus,
html.theme-dark .form-group select.form-field-custom.w-full:focus,
html.theme-auto .form-group input[type="email"].form-field-custom.w-full:focus,
html.theme-auto .form-group input[type="password"].form-field-custom.w-full:focus,
html.theme-auto .form-group input[type="text"].form-field-custom.w-full:focus,
html.theme-auto .form-group input[type="tel"].form-field-custom.w-full:focus,
html.theme-auto .form-group input[type="url"].form-field-custom.w-full:focus,
html.theme-auto .form-group textarea.form-field-custom.w-full:focus,
html.theme-auto .form-group select.form-field-custom.w-full:focus,
html.theme-custom .form-group input[type="email"].form-field-custom.w-full:focus,
html.theme-custom .form-group input[type="password"].form-field-custom.w-full:focus,
html.theme-custom .form-group input[type="text"].form-field-custom.w-full:focus,
html.theme-custom .form-group input[type="tel"].form-field-custom.w-full:focus,
html.theme-custom .form-group input[type="url"].form-field-custom.w-full:focus,
html.theme-custom .form-group textarea.form-field-custom.w-full:focus,
html.theme-custom .form-group select.form-field-custom.w-full:focus,
.form-group input[type="email"].form-field-custom.w-full:focus,
.form-group input[type="password"].form-field-custom.w-full:focus,
.form-group input[type="text"].form-field-custom.w-full:focus,
.form-group input[type="tel"].form-field-custom.w-full:focus,
.form-group input[type="url"].form-field-custom.w-full:focus,
.form-group textarea.form-field-custom.w-full:focus,
.form-group select.form-field-custom.w-full:focus {
  outline: none;
  border-color: #111723;
  box-shadow: 0 0 0 3px #11172320;
}
.form-group textarea {
  resize: vertical;
  min-height: 100px;
}
.enquiry-form button[type="submit"]:hover {
  transform: translateY(-1px);
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
}

/* Columns block — scroll-into-view bounce (minimal JS sets animation) */
@keyframes column-bounce-in {
  0% { opacity: 0; transform: translateY(22px) scale(0.94); }
  55% { opacity: 1; transform: translateY(-8px) scale(1.02); }
  75% { transform: translateY(4px) scale(0.995); }
  100% { opacity: 1; transform: translateY(0) scale(1); }
}

/* Custom CSS */
.glass-dark {
  background: rgba(0, 0, 0, 0.15);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  border: 1px solid rgba(255, 255, 255, 0.3);
  border-radius: 16px;
  box-shadow: 0 8px 32px rgba(0, 0, 0, 0.12);
  padding: 24px;
}

