/* =====================================================
   Base
   Site-wide foundations: variables, mixins, resets
   ===================================================== */
:root {
  --font-body: "brandon-grotesque", sans-serif;
  --font-headings: "canto", serif;
  /* Front-end global mapping for Blocksy */
  --theme-font-family: var(--font-body) !important;
  --theme-headings-font-family: var(--font-headings) !important;
}

a {
  text-underline-offset: 0.18em;
}

h1,
h2,
h3,
h4,
h5,
h6 {
  --theme-font-family: var(--theme-headings-font-family) !important;
  text-wrap: balance;
}
h1 em,
h2 em,
h3 em,
h4 em,
h5 em,
h6 em {
  letter-spacing: -0.01em;
}

p.is-style-narrow {
  max-width: 70ch;
}

p.is-style-smaller {
  font-size: calc(var(--theme-font-size) * 0.8);
}

.is-style-subheading {
  font-size: calc(var(--theme-font-size) * 1.1);
  line-height: 1.5;
  letter-spacing: 0.025em;
  margin-top: 0;
}

/* Ensure the editor iframe uses the same mapping */
.editor-styles-wrapper {
  --theme-font-family: var(--font-body) !important;
  --theme-headings-font-family: var(--font-headings) !important;
  --theme-button-font-family: var(--theme-font-family) !important;
}

.editor-styles-wrapper h1,
.editor-styles-wrapper h2,
.editor-styles-wrapper h3,
.editor-styles-wrapper h4,
.editor-styles-wrapper h5,
.editor-styles-wrapper h6 {
  --theme-font-family: var(--theme-headings-font-family) !important;
}

/* Customiser preview iframe can override Blocksy variables dynamically */
body.customize-preview {
  --theme-font-family: var(--font-body) !important;
  --theme-headings-font-family: var(--font-headings) !important;
  --theme-button-font-family: var(--theme-font-family) !important;
}

body.customize-preview h1,
body.customize-preview h2,
body.customize-preview h3,
body.customize-preview h4,
body.customize-preview h5,
body.customize-preview h6 {
  --theme-font-family: var(--theme-headings-font-family) !important;
}

/* =====================================================
   Layout
   Major structural elements
   ===================================================== */
header [data-device=desktop] {
  border-bottom: 1px solid var(--theme-palette-color-1);
}
header [data-device=mobile] {
  border-bottom: 1px solid var(--theme-palette-color-1);
}

.header-menu-1 {
  display: flex;
}
.header-menu-1 li {
  position: relative;
}
.header-menu-1 li:last-child {
  border-left: 1px solid var(--theme-palette-color-1);
  border-right: 1px solid var(--theme-palette-color-1);
  margin-left: calc(var(--menu-items-spacing, 25px) / 2);
}
.header-menu-1 li:last-child a {
  padding: 0;
  padding-inline-start: calc(var(--menu-items-spacing, 25px) / 2) !important;
  padding-inline-end: calc(var(--menu-items-spacing, 25px) / 2) !important;
  color: var(--theme-palette-color-9);
}
.header-menu-1 li:last-child a:hover {
  color: var(--theme-palette-color-9);
}

/* Remove Blocksy / core content spacing for section wrappers */
.wp-block-group.is-style-page-section,
.wp-block-cover.is-style-page-section {
  margin-bottom: 0;
  margin-block-end: 0;
}

.media-text .wp-block-column {
  display: flex;
}

/* =====================================================
   Components
   Reusable UI elements
   ===================================================== */
.wp-block-buttons {
  gap: 20px;
}

.wp-block-button {
  --btn-bg: none;
  --btn-fg: var(--theme-palette-color-1);
  --btn-border: var(--btn-fg);
  --btn-hover-fg: var(--theme-palette-color-11);
  --btn-rollover-bg: var(--btn-fg);
  --btn-rollover-border: var(--btn-fg);
}
.wp-block-button.is-style-fleur-primary {
  --btn-bg: var(--theme-palette-color-11);
  --btn-fg: var(--theme-palette-color-1);
  --btn-border: var(--theme-palette-color-1);
  --btn-hover-fg: var(--theme-palette-color-11);
  --btn-rollover-bg: var(--theme-palette-color-3);
  --btn-rollover-border: var(--theme-palette-color-11);
}
.wp-block-button.is-style-fleur-secondary {
  --btn-bg: none;
  --btn-fg: var(--theme-palette-color-1);
  --btn-border: var(--theme-palette-color-1);
  --btn-hover-fg: var(--theme-palette-color-11);
  --btn-rollover-bg: var(--theme-palette-color-3);
  --btn-rollover-border: var(--theme-palette-color-11);
}
.wp-block-button.is-style-fleur-secondary-light {
  --btn-bg: none;
  --btn-fg: var(--theme-palette-color-11);
  --btn-border: var(--theme-palette-color-11);
  --btn-hover-fg: var(--theme-palette-color-1);
  --btn-rollover-bg: var(--theme-palette-color-11);
}
.wp-block-button .wp-block-button__link {
  position: relative;
  overflow: hidden;
  z-index: 0;
  background-color: var(--btn-bg);
  color: var(--btn-fg);
  border: 1px solid var(--btn-border);
  border-bottom-width: 3px;
}
.wp-block-button .wp-block-button__link::after {
  content: "";
  position: absolute;
  inset: 0;
  transform: translateY(100%);
  transition: transform 0.25s ease-in-out;
  z-index: -1;
  background-color: var(--btn-rollover-bg);
}
.wp-block-button .wp-block-button__link:hover {
  color: var(--btn-hover-fg);
  border: 1px solid var(--btn-rollover-border);
  border-bottom-width: 3px;
}
.wp-block-button .wp-block-button__link:hover::after {
  transform: translateY(0);
}

.wp-element-button:hover:before,
.wp-block-button__link:hover:before,
.ct-button:hover:before {
  display: none;
}

.ct-header-cta a {
  border: 1px solid currentColor;
}
.ct-header-cta a:hover {
  border: 1px solid currentColor;
  transform: none;
}

@media (min-width: 782px) {
  .wp-block-group.is-style-narrow {
    max-width: 39ch;
  }
}

@media (min-width: 782px) {
  .wp-block-columns {
    flex-wrap: nowrap !important;
  }
}
hr.wp-block-separator:not(.is-style-dots) {
  height: 1px;
}
hr.wp-block-separator.is-style-default {
  max-width: 160px;
}
hr.wp-block-separator.is-style-dashed-wide {
  background: none !important;
  border-top: 1px dashed currentColor;
  width: 100%;
  max-width: 100% !important;
}

/* =====================================================
   Pages
   Page-specific styles (keep lean)
   ===================================================== */
.menu-grid {
  width: 100%;
  max-width: 640px;
}

.hero-meta,
.block-editor-block-list__layout .block-editor-block-list__block.hero-meta {
  position: absolute;
  bottom: 0;
  width: 100%;
}

/* =====================================================
   Utilities
   Helper classes (use sparingly)
   ===================================================== */
.flex-center {
  display: flex;
  justify-content: center;
  align-items: center;
}

.flex {
  display: flex;
}

@media (max-width: 781px) {
  .center-mobile {
    text-align: center;
  }
  div.center-mobile {
    justify-content: center;
  }
  /* Button groups */
  .center-mobile.wp-block-buttons {
    justify-content: center;
  }
  /* Single button */
  .center-mobile .wp-block-button {
    margin-left: auto;
    margin-right: auto;
  }
}
.max-w-1000 {
  max-width: 1000px;
}

.relative {
  position: relative;
}

.dot-bg-blue {
  background-color: #141b22;
  opacity: 1;
  background-image: radial-gradient(#1f2934 0.5px, #141b22 0.5px);
  background-size: 10px 10px;
}

/*# sourceMappingURL=main.css.map */
