@charset "UTF-8";
/* =========================================================
   THEME COLOURS
========================================================= */
/* =========================================================
   CSS VARS (runtime)
========================================================= */
:root {
  --ivory: #F0EBDE;
  --midnight-navy: #020B35;
  --deep-ocean: #004066;
  --steel-grey: #A1A4A9;
  --powder-blue: #AED9E8;
  --electric-blue: #00A1FF;
  --warm-gold: #CCA665;
  --bronze: #9F7D58;
  --champagne: #E5CFA8;
  --tangerine: #FCAE18;
  --taupe: #927760;
  --aqua-sky: #6FC6E9;
  --burgundy: #932B39;
  --cornflower: #7490C2;
  --off-white: #ECEDDE;
  --forest-green: #5C745E;
  --mint-cream: #E0FECA;
  --amber: #F59C25;
  --white: #FFFFFF;
  --black: #000000; }

/* =========================================================
   SPLIT BACKGROUND
   - Use bg-split + bg-top-* + bg-bottom-* + --split:70%;
========================================================= */
.bg-split {
  --split: 50%;
  background: linear-gradient(180deg, var(--top-color, transparent) 0%, var(--top-color, transparent) var(--split), var(--bottom-color, transparent) var(--split), var(--bottom-color, transparent) 100%); }

/* =========================================================
   UTILITIES GENERATOR
========================================================= */
/* Background */
.bg-ivory,
.has-ivory-background-color {
  background-color: #F0EBDE; }

.hover-bg-ivory:hover {
  background-color: #F0EBDE !important; }

/* Text */
.text-ivory {
  color: #F0EBDE; }

.hover-text-ivory:hover {
  color: #F0EBDE !important; }

/* Optional "only p inside" helper */
.text-ivory-p p {
  color: #F0EBDE; }

/* Gutenberg text colour class */
.has-ivory-color {
  color: #F0EBDE !important; }
  .has-ivory-color h1, .has-ivory-color h2, .has-ivory-color h3, .has-ivory-color h4, .has-ivory-color h5, .has-ivory-color h6, .has-ivory-color p, .has-ivory-color li {
    color: inherit !important; }

/* Border */
.border-ivory {
  border: solid 1px #F0EBDE; }

.bt-ivory {
  border-top: solid 1px #F0EBDE; }

.bb-ivory {
  border-bottom: solid 1px #F0EBDE; }

.hover-border-ivory:hover {
  border-color: #F0EBDE !important; }

/* SVG */
.fill-ivory {
  fill: #F0EBDE; }

.stroke-ivory {
  stroke: #F0EBDE; }

/* -------------------------------------------------------
   Split BG helpers (explicit)
   Use these from PHP: bg-top-ivory bg-bottom-tangerine
------------------------------------------------------- */
.bg-top-ivory {
  --top-color: var(--ivory); }

.bg-bottom-ivory {
  --bottom-color: var(--ivory); }

/* -------------------------------------------------------
   Convenience: if someone mistakenly adds bg-<colour>
   onto a split container, treat it as TOP by default.
   (This makes ACF values like "bg-tangerine" still useful.)
------------------------------------------------------- */
.bg-split.bg-ivory {
  --top-color: var(--ivory); }

/* Accent helper */
.accent-ivory path {
  fill: #F0EBDE; }

/* Project-specific triangles */
.music-section-block .shape.bg-ivory:before {
  border-color: transparent transparent #F0EBDE transparent; }
.music-section-block .shape.bg-ivory:after {
  border-color: #F0EBDE transparent transparent transparent; }
.music-section-block .tail.bg-ivory:after {
  border-color: #F0EBDE transparent transparent transparent; }

/* Background */
.bg-midnight-navy,
.has-midnight-navy-background-color {
  background-color: #020B35; }

.hover-bg-midnight-navy:hover {
  background-color: #020B35 !important; }

/* Text */
.text-midnight-navy {
  color: #020B35; }

.hover-text-midnight-navy:hover {
  color: #020B35 !important; }

/* Optional "only p inside" helper */
.text-midnight-navy-p p {
  color: #020B35; }

/* Gutenberg text colour class */
.has-midnight-navy-color {
  color: #020B35 !important; }
  .has-midnight-navy-color h1, .has-midnight-navy-color h2, .has-midnight-navy-color h3, .has-midnight-navy-color h4, .has-midnight-navy-color h5, .has-midnight-navy-color h6, .has-midnight-navy-color p, .has-midnight-navy-color li {
    color: inherit !important; }

/* Border */
.border-midnight-navy {
  border: solid 1px #020B35; }

.bt-midnight-navy {
  border-top: solid 1px #020B35; }

.bb-midnight-navy {
  border-bottom: solid 1px #020B35; }

.hover-border-midnight-navy:hover {
  border-color: #020B35 !important; }

/* SVG */
.fill-midnight-navy {
  fill: #020B35; }

.stroke-midnight-navy {
  stroke: #020B35; }

/* -------------------------------------------------------
   Split BG helpers (explicit)
   Use these from PHP: bg-top-ivory bg-bottom-tangerine
------------------------------------------------------- */
.bg-top-midnight-navy {
  --top-color: var(--midnight-navy); }

.bg-bottom-midnight-navy {
  --bottom-color: var(--midnight-navy); }

/* -------------------------------------------------------
   Convenience: if someone mistakenly adds bg-<colour>
   onto a split container, treat it as TOP by default.
   (This makes ACF values like "bg-tangerine" still useful.)
------------------------------------------------------- */
.bg-split.bg-midnight-navy {
  --top-color: var(--midnight-navy); }

/* Accent helper */
.accent-midnight-navy path {
  fill: #020B35; }

/* Project-specific triangles */
.music-section-block .shape.bg-midnight-navy:before {
  border-color: transparent transparent #020B35 transparent; }
.music-section-block .shape.bg-midnight-navy:after {
  border-color: #020B35 transparent transparent transparent; }
.music-section-block .tail.bg-midnight-navy:after {
  border-color: #020B35 transparent transparent transparent; }

/* Background */
.bg-deep-ocean,
.has-deep-ocean-background-color {
  background-color: #004066; }

.hover-bg-deep-ocean:hover {
  background-color: #004066 !important; }

/* Text */
.text-deep-ocean {
  color: #004066; }

.hover-text-deep-ocean:hover {
  color: #004066 !important; }

/* Optional "only p inside" helper */
.text-deep-ocean-p p {
  color: #004066; }

/* Gutenberg text colour class */
.has-deep-ocean-color {
  color: #004066 !important; }
  .has-deep-ocean-color h1, .has-deep-ocean-color h2, .has-deep-ocean-color h3, .has-deep-ocean-color h4, .has-deep-ocean-color h5, .has-deep-ocean-color h6, .has-deep-ocean-color p, .has-deep-ocean-color li {
    color: inherit !important; }

/* Border */
.border-deep-ocean {
  border: solid 1px #004066; }

.bt-deep-ocean {
  border-top: solid 1px #004066; }

.bb-deep-ocean {
  border-bottom: solid 1px #004066; }

.hover-border-deep-ocean:hover {
  border-color: #004066 !important; }

/* SVG */
.fill-deep-ocean {
  fill: #004066; }

.stroke-deep-ocean {
  stroke: #004066; }

/* -------------------------------------------------------
   Split BG helpers (explicit)
   Use these from PHP: bg-top-ivory bg-bottom-tangerine
------------------------------------------------------- */
.bg-top-deep-ocean {
  --top-color: var(--deep-ocean); }

.bg-bottom-deep-ocean {
  --bottom-color: var(--deep-ocean); }

/* -------------------------------------------------------
   Convenience: if someone mistakenly adds bg-<colour>
   onto a split container, treat it as TOP by default.
   (This makes ACF values like "bg-tangerine" still useful.)
------------------------------------------------------- */
.bg-split.bg-deep-ocean {
  --top-color: var(--deep-ocean); }

/* Accent helper */
.accent-deep-ocean path {
  fill: #004066; }

/* Project-specific triangles */
.music-section-block .shape.bg-deep-ocean:before {
  border-color: transparent transparent #004066 transparent; }
.music-section-block .shape.bg-deep-ocean:after {
  border-color: #004066 transparent transparent transparent; }
.music-section-block .tail.bg-deep-ocean:after {
  border-color: #004066 transparent transparent transparent; }

/* Background */
.bg-steel-grey,
.has-steel-grey-background-color {
  background-color: #A1A4A9; }

.hover-bg-steel-grey:hover {
  background-color: #A1A4A9 !important; }

/* Text */
.text-steel-grey {
  color: #A1A4A9; }

.hover-text-steel-grey:hover {
  color: #A1A4A9 !important; }

/* Optional "only p inside" helper */
.text-steel-grey-p p {
  color: #A1A4A9; }

/* Gutenberg text colour class */
.has-steel-grey-color {
  color: #A1A4A9 !important; }
  .has-steel-grey-color h1, .has-steel-grey-color h2, .has-steel-grey-color h3, .has-steel-grey-color h4, .has-steel-grey-color h5, .has-steel-grey-color h6, .has-steel-grey-color p, .has-steel-grey-color li {
    color: inherit !important; }

/* Border */
.border-steel-grey {
  border: solid 1px #A1A4A9; }

.bt-steel-grey {
  border-top: solid 1px #A1A4A9; }

.bb-steel-grey {
  border-bottom: solid 1px #A1A4A9; }

.hover-border-steel-grey:hover {
  border-color: #A1A4A9 !important; }

/* SVG */
.fill-steel-grey {
  fill: #A1A4A9; }

.stroke-steel-grey {
  stroke: #A1A4A9; }

/* -------------------------------------------------------
   Split BG helpers (explicit)
   Use these from PHP: bg-top-ivory bg-bottom-tangerine
------------------------------------------------------- */
.bg-top-steel-grey {
  --top-color: var(--steel-grey); }

.bg-bottom-steel-grey {
  --bottom-color: var(--steel-grey); }

/* -------------------------------------------------------
   Convenience: if someone mistakenly adds bg-<colour>
   onto a split container, treat it as TOP by default.
   (This makes ACF values like "bg-tangerine" still useful.)
------------------------------------------------------- */
.bg-split.bg-steel-grey {
  --top-color: var(--steel-grey); }

/* Accent helper */
.accent-steel-grey path {
  fill: #A1A4A9; }

/* Project-specific triangles */
.music-section-block .shape.bg-steel-grey:before {
  border-color: transparent transparent #A1A4A9 transparent; }
.music-section-block .shape.bg-steel-grey:after {
  border-color: #A1A4A9 transparent transparent transparent; }
.music-section-block .tail.bg-steel-grey:after {
  border-color: #A1A4A9 transparent transparent transparent; }

/* Background */
.bg-powder-blue,
.has-powder-blue-background-color {
  background-color: #AED9E8; }

.hover-bg-powder-blue:hover {
  background-color: #AED9E8 !important; }

/* Text */
.text-powder-blue {
  color: #AED9E8; }

.hover-text-powder-blue:hover {
  color: #AED9E8 !important; }

/* Optional "only p inside" helper */
.text-powder-blue-p p {
  color: #AED9E8; }

/* Gutenberg text colour class */
.has-powder-blue-color {
  color: #AED9E8 !important; }
  .has-powder-blue-color h1, .has-powder-blue-color h2, .has-powder-blue-color h3, .has-powder-blue-color h4, .has-powder-blue-color h5, .has-powder-blue-color h6, .has-powder-blue-color p, .has-powder-blue-color li {
    color: inherit !important; }

/* Border */
.border-powder-blue {
  border: solid 1px #AED9E8; }

.bt-powder-blue {
  border-top: solid 1px #AED9E8; }

.bb-powder-blue {
  border-bottom: solid 1px #AED9E8; }

.hover-border-powder-blue:hover {
  border-color: #AED9E8 !important; }

/* SVG */
.fill-powder-blue {
  fill: #AED9E8; }

.stroke-powder-blue {
  stroke: #AED9E8; }

/* -------------------------------------------------------
   Split BG helpers (explicit)
   Use these from PHP: bg-top-ivory bg-bottom-tangerine
------------------------------------------------------- */
.bg-top-powder-blue {
  --top-color: var(--powder-blue); }

.bg-bottom-powder-blue {
  --bottom-color: var(--powder-blue); }

/* -------------------------------------------------------
   Convenience: if someone mistakenly adds bg-<colour>
   onto a split container, treat it as TOP by default.
   (This makes ACF values like "bg-tangerine" still useful.)
------------------------------------------------------- */
.bg-split.bg-powder-blue {
  --top-color: var(--powder-blue); }

/* Accent helper */
.accent-powder-blue path {
  fill: #AED9E8; }

/* Project-specific triangles */
.music-section-block .shape.bg-powder-blue:before {
  border-color: transparent transparent #AED9E8 transparent; }
.music-section-block .shape.bg-powder-blue:after {
  border-color: #AED9E8 transparent transparent transparent; }
.music-section-block .tail.bg-powder-blue:after {
  border-color: #AED9E8 transparent transparent transparent; }

/* Background */
.bg-electric-blue,
.has-electric-blue-background-color {
  background-color: #00A1FF; }

.hover-bg-electric-blue:hover {
  background-color: #00A1FF !important; }

/* Text */
.text-electric-blue {
  color: #00A1FF; }

.hover-text-electric-blue:hover {
  color: #00A1FF !important; }

/* Optional "only p inside" helper */
.text-electric-blue-p p {
  color: #00A1FF; }

/* Gutenberg text colour class */
.has-electric-blue-color {
  color: #00A1FF !important; }
  .has-electric-blue-color h1, .has-electric-blue-color h2, .has-electric-blue-color h3, .has-electric-blue-color h4, .has-electric-blue-color h5, .has-electric-blue-color h6, .has-electric-blue-color p, .has-electric-blue-color li {
    color: inherit !important; }

/* Border */
.border-electric-blue {
  border: solid 1px #00A1FF; }

.bt-electric-blue {
  border-top: solid 1px #00A1FF; }

.bb-electric-blue {
  border-bottom: solid 1px #00A1FF; }

.hover-border-electric-blue:hover {
  border-color: #00A1FF !important; }

/* SVG */
.fill-electric-blue {
  fill: #00A1FF; }

.stroke-electric-blue {
  stroke: #00A1FF; }

/* -------------------------------------------------------
   Split BG helpers (explicit)
   Use these from PHP: bg-top-ivory bg-bottom-tangerine
------------------------------------------------------- */
.bg-top-electric-blue {
  --top-color: var(--electric-blue); }

.bg-bottom-electric-blue {
  --bottom-color: var(--electric-blue); }

/* -------------------------------------------------------
   Convenience: if someone mistakenly adds bg-<colour>
   onto a split container, treat it as TOP by default.
   (This makes ACF values like "bg-tangerine" still useful.)
------------------------------------------------------- */
.bg-split.bg-electric-blue {
  --top-color: var(--electric-blue); }

/* Accent helper */
.accent-electric-blue path {
  fill: #00A1FF; }

/* Project-specific triangles */
.music-section-block .shape.bg-electric-blue:before {
  border-color: transparent transparent #00A1FF transparent; }
.music-section-block .shape.bg-electric-blue:after {
  border-color: #00A1FF transparent transparent transparent; }
.music-section-block .tail.bg-electric-blue:after {
  border-color: #00A1FF transparent transparent transparent; }

/* Background */
.bg-warm-gold,
.has-warm-gold-background-color {
  background-color: #CCA665; }

.hover-bg-warm-gold:hover {
  background-color: #CCA665 !important; }

/* Text */
.text-warm-gold {
  color: #CCA665; }

.hover-text-warm-gold:hover {
  color: #CCA665 !important; }

/* Optional "only p inside" helper */
.text-warm-gold-p p {
  color: #CCA665; }

/* Gutenberg text colour class */
.has-warm-gold-color {
  color: #CCA665 !important; }
  .has-warm-gold-color h1, .has-warm-gold-color h2, .has-warm-gold-color h3, .has-warm-gold-color h4, .has-warm-gold-color h5, .has-warm-gold-color h6, .has-warm-gold-color p, .has-warm-gold-color li {
    color: inherit !important; }

/* Border */
.border-warm-gold {
  border: solid 1px #CCA665; }

.bt-warm-gold {
  border-top: solid 1px #CCA665; }

.bb-warm-gold {
  border-bottom: solid 1px #CCA665; }

.hover-border-warm-gold:hover {
  border-color: #CCA665 !important; }

/* SVG */
.fill-warm-gold {
  fill: #CCA665; }

.stroke-warm-gold {
  stroke: #CCA665; }

/* -------------------------------------------------------
   Split BG helpers (explicit)
   Use these from PHP: bg-top-ivory bg-bottom-tangerine
------------------------------------------------------- */
.bg-top-warm-gold {
  --top-color: var(--warm-gold); }

.bg-bottom-warm-gold {
  --bottom-color: var(--warm-gold); }

/* -------------------------------------------------------
   Convenience: if someone mistakenly adds bg-<colour>
   onto a split container, treat it as TOP by default.
   (This makes ACF values like "bg-tangerine" still useful.)
------------------------------------------------------- */
.bg-split.bg-warm-gold {
  --top-color: var(--warm-gold); }

/* Accent helper */
.accent-warm-gold path {
  fill: #CCA665; }

/* Project-specific triangles */
.music-section-block .shape.bg-warm-gold:before {
  border-color: transparent transparent #CCA665 transparent; }
.music-section-block .shape.bg-warm-gold:after {
  border-color: #CCA665 transparent transparent transparent; }
.music-section-block .tail.bg-warm-gold:after {
  border-color: #CCA665 transparent transparent transparent; }

/* Background */
.bg-bronze,
.has-bronze-background-color {
  background-color: #9F7D58; }

.hover-bg-bronze:hover {
  background-color: #9F7D58 !important; }

/* Text */
.text-bronze {
  color: #9F7D58; }

.hover-text-bronze:hover {
  color: #9F7D58 !important; }

/* Optional "only p inside" helper */
.text-bronze-p p {
  color: #9F7D58; }

/* Gutenberg text colour class */
.has-bronze-color {
  color: #9F7D58 !important; }
  .has-bronze-color h1, .has-bronze-color h2, .has-bronze-color h3, .has-bronze-color h4, .has-bronze-color h5, .has-bronze-color h6, .has-bronze-color p, .has-bronze-color li {
    color: inherit !important; }

/* Border */
.border-bronze {
  border: solid 1px #9F7D58; }

.bt-bronze {
  border-top: solid 1px #9F7D58; }

.bb-bronze {
  border-bottom: solid 1px #9F7D58; }

.hover-border-bronze:hover {
  border-color: #9F7D58 !important; }

/* SVG */
.fill-bronze {
  fill: #9F7D58; }

.stroke-bronze {
  stroke: #9F7D58; }

/* -------------------------------------------------------
   Split BG helpers (explicit)
   Use these from PHP: bg-top-ivory bg-bottom-tangerine
------------------------------------------------------- */
.bg-top-bronze {
  --top-color: var(--bronze); }

.bg-bottom-bronze {
  --bottom-color: var(--bronze); }

/* -------------------------------------------------------
   Convenience: if someone mistakenly adds bg-<colour>
   onto a split container, treat it as TOP by default.
   (This makes ACF values like "bg-tangerine" still useful.)
------------------------------------------------------- */
.bg-split.bg-bronze {
  --top-color: var(--bronze); }

/* Accent helper */
.accent-bronze path {
  fill: #9F7D58; }

/* Project-specific triangles */
.music-section-block .shape.bg-bronze:before {
  border-color: transparent transparent #9F7D58 transparent; }
.music-section-block .shape.bg-bronze:after {
  border-color: #9F7D58 transparent transparent transparent; }
.music-section-block .tail.bg-bronze:after {
  border-color: #9F7D58 transparent transparent transparent; }

/* Background */
.bg-champagne,
.has-champagne-background-color {
  background-color: #E5CFA8; }

.hover-bg-champagne:hover {
  background-color: #E5CFA8 !important; }

/* Text */
.text-champagne {
  color: #E5CFA8; }

.hover-text-champagne:hover {
  color: #E5CFA8 !important; }

/* Optional "only p inside" helper */
.text-champagne-p p {
  color: #E5CFA8; }

/* Gutenberg text colour class */
.has-champagne-color {
  color: #E5CFA8 !important; }
  .has-champagne-color h1, .has-champagne-color h2, .has-champagne-color h3, .has-champagne-color h4, .has-champagne-color h5, .has-champagne-color h6, .has-champagne-color p, .has-champagne-color li {
    color: inherit !important; }

/* Border */
.border-champagne {
  border: solid 1px #E5CFA8; }

.bt-champagne {
  border-top: solid 1px #E5CFA8; }

.bb-champagne {
  border-bottom: solid 1px #E5CFA8; }

.hover-border-champagne:hover {
  border-color: #E5CFA8 !important; }

/* SVG */
.fill-champagne {
  fill: #E5CFA8; }

.stroke-champagne {
  stroke: #E5CFA8; }

/* -------------------------------------------------------
   Split BG helpers (explicit)
   Use these from PHP: bg-top-ivory bg-bottom-tangerine
------------------------------------------------------- */
.bg-top-champagne {
  --top-color: var(--champagne); }

.bg-bottom-champagne {
  --bottom-color: var(--champagne); }

/* -------------------------------------------------------
   Convenience: if someone mistakenly adds bg-<colour>
   onto a split container, treat it as TOP by default.
   (This makes ACF values like "bg-tangerine" still useful.)
------------------------------------------------------- */
.bg-split.bg-champagne {
  --top-color: var(--champagne); }

/* Accent helper */
.accent-champagne path {
  fill: #E5CFA8; }

/* Project-specific triangles */
.music-section-block .shape.bg-champagne:before {
  border-color: transparent transparent #E5CFA8 transparent; }
.music-section-block .shape.bg-champagne:after {
  border-color: #E5CFA8 transparent transparent transparent; }
.music-section-block .tail.bg-champagne:after {
  border-color: #E5CFA8 transparent transparent transparent; }

/* Background */
.bg-tangerine,
.has-tangerine-background-color {
  background-color: #FCAE18; }

.hover-bg-tangerine:hover {
  background-color: #FCAE18 !important; }

/* Text */
.text-tangerine {
  color: #FCAE18; }

.hover-text-tangerine:hover {
  color: #FCAE18 !important; }

/* Optional "only p inside" helper */
.text-tangerine-p p {
  color: #FCAE18; }

/* Gutenberg text colour class */
.has-tangerine-color {
  color: #FCAE18 !important; }
  .has-tangerine-color h1, .has-tangerine-color h2, .has-tangerine-color h3, .has-tangerine-color h4, .has-tangerine-color h5, .has-tangerine-color h6, .has-tangerine-color p, .has-tangerine-color li {
    color: inherit !important; }

/* Border */
.border-tangerine {
  border: solid 1px #FCAE18; }

.bt-tangerine {
  border-top: solid 1px #FCAE18; }

.bb-tangerine {
  border-bottom: solid 1px #FCAE18; }

.hover-border-tangerine:hover {
  border-color: #FCAE18 !important; }

/* SVG */
.fill-tangerine {
  fill: #FCAE18; }

.stroke-tangerine {
  stroke: #FCAE18; }

/* -------------------------------------------------------
   Split BG helpers (explicit)
   Use these from PHP: bg-top-ivory bg-bottom-tangerine
------------------------------------------------------- */
.bg-top-tangerine {
  --top-color: var(--tangerine); }

.bg-bottom-tangerine {
  --bottom-color: var(--tangerine); }

/* -------------------------------------------------------
   Convenience: if someone mistakenly adds bg-<colour>
   onto a split container, treat it as TOP by default.
   (This makes ACF values like "bg-tangerine" still useful.)
------------------------------------------------------- */
.bg-split.bg-tangerine {
  --top-color: var(--tangerine); }

/* Accent helper */
.accent-tangerine path {
  fill: #FCAE18; }

/* Project-specific triangles */
.music-section-block .shape.bg-tangerine:before {
  border-color: transparent transparent #FCAE18 transparent; }
.music-section-block .shape.bg-tangerine:after {
  border-color: #FCAE18 transparent transparent transparent; }
.music-section-block .tail.bg-tangerine:after {
  border-color: #FCAE18 transparent transparent transparent; }

/* Background */
.bg-taupe,
.has-taupe-background-color {
  background-color: #927760; }

.hover-bg-taupe:hover {
  background-color: #927760 !important; }

/* Text */
.text-taupe {
  color: #927760; }

.hover-text-taupe:hover {
  color: #927760 !important; }

/* Optional "only p inside" helper */
.text-taupe-p p {
  color: #927760; }

/* Gutenberg text colour class */
.has-taupe-color {
  color: #927760 !important; }
  .has-taupe-color h1, .has-taupe-color h2, .has-taupe-color h3, .has-taupe-color h4, .has-taupe-color h5, .has-taupe-color h6, .has-taupe-color p, .has-taupe-color li {
    color: inherit !important; }

/* Border */
.border-taupe {
  border: solid 1px #927760; }

.bt-taupe {
  border-top: solid 1px #927760; }

.bb-taupe {
  border-bottom: solid 1px #927760; }

.hover-border-taupe:hover {
  border-color: #927760 !important; }

/* SVG */
.fill-taupe {
  fill: #927760; }

.stroke-taupe {
  stroke: #927760; }

/* -------------------------------------------------------
   Split BG helpers (explicit)
   Use these from PHP: bg-top-ivory bg-bottom-tangerine
------------------------------------------------------- */
.bg-top-taupe {
  --top-color: var(--taupe); }

.bg-bottom-taupe {
  --bottom-color: var(--taupe); }

/* -------------------------------------------------------
   Convenience: if someone mistakenly adds bg-<colour>
   onto a split container, treat it as TOP by default.
   (This makes ACF values like "bg-tangerine" still useful.)
------------------------------------------------------- */
.bg-split.bg-taupe {
  --top-color: var(--taupe); }

/* Accent helper */
.accent-taupe path {
  fill: #927760; }

/* Project-specific triangles */
.music-section-block .shape.bg-taupe:before {
  border-color: transparent transparent #927760 transparent; }
.music-section-block .shape.bg-taupe:after {
  border-color: #927760 transparent transparent transparent; }
.music-section-block .tail.bg-taupe:after {
  border-color: #927760 transparent transparent transparent; }

/* Background */
.bg-aqua-sky,
.has-aqua-sky-background-color {
  background-color: #6FC6E9; }

.hover-bg-aqua-sky:hover {
  background-color: #6FC6E9 !important; }

/* Text */
.text-aqua-sky {
  color: #6FC6E9; }

.hover-text-aqua-sky:hover {
  color: #6FC6E9 !important; }

/* Optional "only p inside" helper */
.text-aqua-sky-p p {
  color: #6FC6E9; }

/* Gutenberg text colour class */
.has-aqua-sky-color {
  color: #6FC6E9 !important; }
  .has-aqua-sky-color h1, .has-aqua-sky-color h2, .has-aqua-sky-color h3, .has-aqua-sky-color h4, .has-aqua-sky-color h5, .has-aqua-sky-color h6, .has-aqua-sky-color p, .has-aqua-sky-color li {
    color: inherit !important; }

/* Border */
.border-aqua-sky {
  border: solid 1px #6FC6E9; }

.bt-aqua-sky {
  border-top: solid 1px #6FC6E9; }

.bb-aqua-sky {
  border-bottom: solid 1px #6FC6E9; }

.hover-border-aqua-sky:hover {
  border-color: #6FC6E9 !important; }

/* SVG */
.fill-aqua-sky {
  fill: #6FC6E9; }

.stroke-aqua-sky {
  stroke: #6FC6E9; }

/* -------------------------------------------------------
   Split BG helpers (explicit)
   Use these from PHP: bg-top-ivory bg-bottom-tangerine
------------------------------------------------------- */
.bg-top-aqua-sky {
  --top-color: var(--aqua-sky); }

.bg-bottom-aqua-sky {
  --bottom-color: var(--aqua-sky); }

/* -------------------------------------------------------
   Convenience: if someone mistakenly adds bg-<colour>
   onto a split container, treat it as TOP by default.
   (This makes ACF values like "bg-tangerine" still useful.)
------------------------------------------------------- */
.bg-split.bg-aqua-sky {
  --top-color: var(--aqua-sky); }

/* Accent helper */
.accent-aqua-sky path {
  fill: #6FC6E9; }

/* Project-specific triangles */
.music-section-block .shape.bg-aqua-sky:before {
  border-color: transparent transparent #6FC6E9 transparent; }
.music-section-block .shape.bg-aqua-sky:after {
  border-color: #6FC6E9 transparent transparent transparent; }
.music-section-block .tail.bg-aqua-sky:after {
  border-color: #6FC6E9 transparent transparent transparent; }

/* Background */
.bg-burgundy,
.has-burgundy-background-color {
  background-color: #932B39; }

.hover-bg-burgundy:hover {
  background-color: #932B39 !important; }

/* Text */
.text-burgundy {
  color: #932B39; }

.hover-text-burgundy:hover {
  color: #932B39 !important; }

/* Optional "only p inside" helper */
.text-burgundy-p p {
  color: #932B39; }

/* Gutenberg text colour class */
.has-burgundy-color {
  color: #932B39 !important; }
  .has-burgundy-color h1, .has-burgundy-color h2, .has-burgundy-color h3, .has-burgundy-color h4, .has-burgundy-color h5, .has-burgundy-color h6, .has-burgundy-color p, .has-burgundy-color li {
    color: inherit !important; }

/* Border */
.border-burgundy {
  border: solid 1px #932B39; }

.bt-burgundy {
  border-top: solid 1px #932B39; }

.bb-burgundy {
  border-bottom: solid 1px #932B39; }

.hover-border-burgundy:hover {
  border-color: #932B39 !important; }

/* SVG */
.fill-burgundy {
  fill: #932B39; }

.stroke-burgundy {
  stroke: #932B39; }

/* -------------------------------------------------------
   Split BG helpers (explicit)
   Use these from PHP: bg-top-ivory bg-bottom-tangerine
------------------------------------------------------- */
.bg-top-burgundy {
  --top-color: var(--burgundy); }

.bg-bottom-burgundy {
  --bottom-color: var(--burgundy); }

/* -------------------------------------------------------
   Convenience: if someone mistakenly adds bg-<colour>
   onto a split container, treat it as TOP by default.
   (This makes ACF values like "bg-tangerine" still useful.)
------------------------------------------------------- */
.bg-split.bg-burgundy {
  --top-color: var(--burgundy); }

/* Accent helper */
.accent-burgundy path {
  fill: #932B39; }

/* Project-specific triangles */
.music-section-block .shape.bg-burgundy:before {
  border-color: transparent transparent #932B39 transparent; }
.music-section-block .shape.bg-burgundy:after {
  border-color: #932B39 transparent transparent transparent; }
.music-section-block .tail.bg-burgundy:after {
  border-color: #932B39 transparent transparent transparent; }

/* Background */
.bg-cornflower,
.has-cornflower-background-color {
  background-color: #7490C2; }

.hover-bg-cornflower:hover {
  background-color: #7490C2 !important; }

/* Text */
.text-cornflower {
  color: #7490C2; }

.hover-text-cornflower:hover {
  color: #7490C2 !important; }

/* Optional "only p inside" helper */
.text-cornflower-p p {
  color: #7490C2; }

/* Gutenberg text colour class */
.has-cornflower-color {
  color: #7490C2 !important; }
  .has-cornflower-color h1, .has-cornflower-color h2, .has-cornflower-color h3, .has-cornflower-color h4, .has-cornflower-color h5, .has-cornflower-color h6, .has-cornflower-color p, .has-cornflower-color li {
    color: inherit !important; }

/* Border */
.border-cornflower {
  border: solid 1px #7490C2; }

.bt-cornflower {
  border-top: solid 1px #7490C2; }

.bb-cornflower {
  border-bottom: solid 1px #7490C2; }

.hover-border-cornflower:hover {
  border-color: #7490C2 !important; }

/* SVG */
.fill-cornflower {
  fill: #7490C2; }

.stroke-cornflower {
  stroke: #7490C2; }

/* -------------------------------------------------------
   Split BG helpers (explicit)
   Use these from PHP: bg-top-ivory bg-bottom-tangerine
------------------------------------------------------- */
.bg-top-cornflower {
  --top-color: var(--cornflower); }

.bg-bottom-cornflower {
  --bottom-color: var(--cornflower); }

/* -------------------------------------------------------
   Convenience: if someone mistakenly adds bg-<colour>
   onto a split container, treat it as TOP by default.
   (This makes ACF values like "bg-tangerine" still useful.)
------------------------------------------------------- */
.bg-split.bg-cornflower {
  --top-color: var(--cornflower); }

/* Accent helper */
.accent-cornflower path {
  fill: #7490C2; }

/* Project-specific triangles */
.music-section-block .shape.bg-cornflower:before {
  border-color: transparent transparent #7490C2 transparent; }
.music-section-block .shape.bg-cornflower:after {
  border-color: #7490C2 transparent transparent transparent; }
.music-section-block .tail.bg-cornflower:after {
  border-color: #7490C2 transparent transparent transparent; }

/* Background */
.bg-off-white,
.has-off-white-background-color {
  background-color: #ECEDDE; }

.hover-bg-off-white:hover {
  background-color: #ECEDDE !important; }

/* Text */
.text-off-white {
  color: #ECEDDE; }

.hover-text-off-white:hover {
  color: #ECEDDE !important; }

/* Optional "only p inside" helper */
.text-off-white-p p {
  color: #ECEDDE; }

/* Gutenberg text colour class */
.has-off-white-color {
  color: #ECEDDE !important; }
  .has-off-white-color h1, .has-off-white-color h2, .has-off-white-color h3, .has-off-white-color h4, .has-off-white-color h5, .has-off-white-color h6, .has-off-white-color p, .has-off-white-color li {
    color: inherit !important; }

/* Border */
.border-off-white {
  border: solid 1px #ECEDDE; }

.bt-off-white {
  border-top: solid 1px #ECEDDE; }

.bb-off-white {
  border-bottom: solid 1px #ECEDDE; }

.hover-border-off-white:hover {
  border-color: #ECEDDE !important; }

/* SVG */
.fill-off-white {
  fill: #ECEDDE; }

.stroke-off-white {
  stroke: #ECEDDE; }

/* -------------------------------------------------------
   Split BG helpers (explicit)
   Use these from PHP: bg-top-ivory bg-bottom-tangerine
------------------------------------------------------- */
.bg-top-off-white {
  --top-color: var(--off-white); }

.bg-bottom-off-white {
  --bottom-color: var(--off-white); }

/* -------------------------------------------------------
   Convenience: if someone mistakenly adds bg-<colour>
   onto a split container, treat it as TOP by default.
   (This makes ACF values like "bg-tangerine" still useful.)
------------------------------------------------------- */
.bg-split.bg-off-white {
  --top-color: var(--off-white); }

/* Accent helper */
.accent-off-white path {
  fill: #ECEDDE; }

/* Project-specific triangles */
.music-section-block .shape.bg-off-white:before {
  border-color: transparent transparent #ECEDDE transparent; }
.music-section-block .shape.bg-off-white:after {
  border-color: #ECEDDE transparent transparent transparent; }
.music-section-block .tail.bg-off-white:after {
  border-color: #ECEDDE transparent transparent transparent; }

/* Background */
.bg-forest-green,
.has-forest-green-background-color {
  background-color: #5C745E; }

.hover-bg-forest-green:hover {
  background-color: #5C745E !important; }

/* Text */
.text-forest-green {
  color: #5C745E; }

.hover-text-forest-green:hover {
  color: #5C745E !important; }

/* Optional "only p inside" helper */
.text-forest-green-p p {
  color: #5C745E; }

/* Gutenberg text colour class */
.has-forest-green-color {
  color: #5C745E !important; }
  .has-forest-green-color h1, .has-forest-green-color h2, .has-forest-green-color h3, .has-forest-green-color h4, .has-forest-green-color h5, .has-forest-green-color h6, .has-forest-green-color p, .has-forest-green-color li {
    color: inherit !important; }

/* Border */
.border-forest-green {
  border: solid 1px #5C745E; }

.bt-forest-green {
  border-top: solid 1px #5C745E; }

.bb-forest-green {
  border-bottom: solid 1px #5C745E; }

.hover-border-forest-green:hover {
  border-color: #5C745E !important; }

/* SVG */
.fill-forest-green {
  fill: #5C745E; }

.stroke-forest-green {
  stroke: #5C745E; }

/* -------------------------------------------------------
   Split BG helpers (explicit)
   Use these from PHP: bg-top-ivory bg-bottom-tangerine
------------------------------------------------------- */
.bg-top-forest-green {
  --top-color: var(--forest-green); }

.bg-bottom-forest-green {
  --bottom-color: var(--forest-green); }

/* -------------------------------------------------------
   Convenience: if someone mistakenly adds bg-<colour>
   onto a split container, treat it as TOP by default.
   (This makes ACF values like "bg-tangerine" still useful.)
------------------------------------------------------- */
.bg-split.bg-forest-green {
  --top-color: var(--forest-green); }

/* Accent helper */
.accent-forest-green path {
  fill: #5C745E; }

/* Project-specific triangles */
.music-section-block .shape.bg-forest-green:before {
  border-color: transparent transparent #5C745E transparent; }
.music-section-block .shape.bg-forest-green:after {
  border-color: #5C745E transparent transparent transparent; }
.music-section-block .tail.bg-forest-green:after {
  border-color: #5C745E transparent transparent transparent; }

/* Background */
.bg-mint-cream,
.has-mint-cream-background-color {
  background-color: #E0FECA; }

.hover-bg-mint-cream:hover {
  background-color: #E0FECA !important; }

/* Text */
.text-mint-cream {
  color: #E0FECA; }

.hover-text-mint-cream:hover {
  color: #E0FECA !important; }

/* Optional "only p inside" helper */
.text-mint-cream-p p {
  color: #E0FECA; }

/* Gutenberg text colour class */
.has-mint-cream-color {
  color: #E0FECA !important; }
  .has-mint-cream-color h1, .has-mint-cream-color h2, .has-mint-cream-color h3, .has-mint-cream-color h4, .has-mint-cream-color h5, .has-mint-cream-color h6, .has-mint-cream-color p, .has-mint-cream-color li {
    color: inherit !important; }

/* Border */
.border-mint-cream {
  border: solid 1px #E0FECA; }

.bt-mint-cream {
  border-top: solid 1px #E0FECA; }

.bb-mint-cream {
  border-bottom: solid 1px #E0FECA; }

.hover-border-mint-cream:hover {
  border-color: #E0FECA !important; }

/* SVG */
.fill-mint-cream {
  fill: #E0FECA; }

.stroke-mint-cream {
  stroke: #E0FECA; }

/* -------------------------------------------------------
   Split BG helpers (explicit)
   Use these from PHP: bg-top-ivory bg-bottom-tangerine
------------------------------------------------------- */
.bg-top-mint-cream {
  --top-color: var(--mint-cream); }

.bg-bottom-mint-cream {
  --bottom-color: var(--mint-cream); }

/* -------------------------------------------------------
   Convenience: if someone mistakenly adds bg-<colour>
   onto a split container, treat it as TOP by default.
   (This makes ACF values like "bg-tangerine" still useful.)
------------------------------------------------------- */
.bg-split.bg-mint-cream {
  --top-color: var(--mint-cream); }

/* Accent helper */
.accent-mint-cream path {
  fill: #E0FECA; }

/* Project-specific triangles */
.music-section-block .shape.bg-mint-cream:before {
  border-color: transparent transparent #E0FECA transparent; }
.music-section-block .shape.bg-mint-cream:after {
  border-color: #E0FECA transparent transparent transparent; }
.music-section-block .tail.bg-mint-cream:after {
  border-color: #E0FECA transparent transparent transparent; }

/* Background */
.bg-amber,
.has-amber-background-color {
  background-color: #F59C25; }

.hover-bg-amber:hover {
  background-color: #F59C25 !important; }

/* Text */
.text-amber {
  color: #F59C25; }

.hover-text-amber:hover {
  color: #F59C25 !important; }

/* Optional "only p inside" helper */
.text-amber-p p {
  color: #F59C25; }

/* Gutenberg text colour class */
.has-amber-color {
  color: #F59C25 !important; }
  .has-amber-color h1, .has-amber-color h2, .has-amber-color h3, .has-amber-color h4, .has-amber-color h5, .has-amber-color h6, .has-amber-color p, .has-amber-color li {
    color: inherit !important; }

/* Border */
.border-amber {
  border: solid 1px #F59C25; }

.bt-amber {
  border-top: solid 1px #F59C25; }

.bb-amber {
  border-bottom: solid 1px #F59C25; }

.hover-border-amber:hover {
  border-color: #F59C25 !important; }

/* SVG */
.fill-amber {
  fill: #F59C25; }

.stroke-amber {
  stroke: #F59C25; }

/* -------------------------------------------------------
   Split BG helpers (explicit)
   Use these from PHP: bg-top-ivory bg-bottom-tangerine
------------------------------------------------------- */
.bg-top-amber {
  --top-color: var(--amber); }

.bg-bottom-amber {
  --bottom-color: var(--amber); }

/* -------------------------------------------------------
   Convenience: if someone mistakenly adds bg-<colour>
   onto a split container, treat it as TOP by default.
   (This makes ACF values like "bg-tangerine" still useful.)
------------------------------------------------------- */
.bg-split.bg-amber {
  --top-color: var(--amber); }

/* Accent helper */
.accent-amber path {
  fill: #F59C25; }

/* Project-specific triangles */
.music-section-block .shape.bg-amber:before {
  border-color: transparent transparent #F59C25 transparent; }
.music-section-block .shape.bg-amber:after {
  border-color: #F59C25 transparent transparent transparent; }
.music-section-block .tail.bg-amber:after {
  border-color: #F59C25 transparent transparent transparent; }

/* Background */
.bg-white,
.has-white-background-color {
  background-color: #FFFFFF; }

.hover-bg-white:hover {
  background-color: #FFFFFF !important; }

/* Text */
.text-white {
  color: #FFFFFF; }

.hover-text-white:hover {
  color: #FFFFFF !important; }

/* Optional "only p inside" helper */
.text-white-p p {
  color: #FFFFFF; }

/* Gutenberg text colour class */
.has-white-color {
  color: #FFFFFF !important; }
  .has-white-color h1, .has-white-color h2, .has-white-color h3, .has-white-color h4, .has-white-color h5, .has-white-color h6, .has-white-color p, .has-white-color li {
    color: inherit !important; }

/* Border */
.border-white {
  border: solid 1px #FFFFFF; }

.bt-white {
  border-top: solid 1px #FFFFFF; }

.bb-white {
  border-bottom: solid 1px #FFFFFF; }

.hover-border-white:hover {
  border-color: #FFFFFF !important; }

/* SVG */
.fill-white {
  fill: #FFFFFF; }

.stroke-white {
  stroke: #FFFFFF; }

/* -------------------------------------------------------
   Split BG helpers (explicit)
   Use these from PHP: bg-top-ivory bg-bottom-tangerine
------------------------------------------------------- */
.bg-top-white {
  --top-color: var(--white); }

.bg-bottom-white {
  --bottom-color: var(--white); }

/* -------------------------------------------------------
   Convenience: if someone mistakenly adds bg-<colour>
   onto a split container, treat it as TOP by default.
   (This makes ACF values like "bg-tangerine" still useful.)
------------------------------------------------------- */
.bg-split.bg-white {
  --top-color: var(--white); }

/* Accent helper */
.accent-white path {
  fill: #FFFFFF; }

/* Project-specific triangles */
.music-section-block .shape.bg-white:before {
  border-color: transparent transparent #FFFFFF transparent; }
.music-section-block .shape.bg-white:after {
  border-color: #FFFFFF transparent transparent transparent; }
.music-section-block .tail.bg-white:after {
  border-color: #FFFFFF transparent transparent transparent; }

/* Background */
.bg-black,
.has-black-background-color {
  background-color: #000000; }

.hover-bg-black:hover {
  background-color: #000000 !important; }

/* Text */
.text-black {
  color: #000000; }

.hover-text-black:hover {
  color: #000000 !important; }

/* Optional "only p inside" helper */
.text-black-p p {
  color: #000000; }

/* Gutenberg text colour class */
.has-black-color {
  color: #000000 !important; }
  .has-black-color h1, .has-black-color h2, .has-black-color h3, .has-black-color h4, .has-black-color h5, .has-black-color h6, .has-black-color p, .has-black-color li {
    color: inherit !important; }

/* Border */
.border-black {
  border: solid 1px #000000; }

.bt-black {
  border-top: solid 1px #000000; }

.bb-black {
  border-bottom: solid 1px #000000; }

.hover-border-black:hover {
  border-color: #000000 !important; }

/* SVG */
.fill-black {
  fill: #000000; }

.stroke-black {
  stroke: #000000; }

/* -------------------------------------------------------
   Split BG helpers (explicit)
   Use these from PHP: bg-top-ivory bg-bottom-tangerine
------------------------------------------------------- */
.bg-top-black {
  --top-color: var(--black); }

.bg-bottom-black {
  --bottom-color: var(--black); }

/* -------------------------------------------------------
   Convenience: if someone mistakenly adds bg-<colour>
   onto a split container, treat it as TOP by default.
   (This makes ACF values like "bg-tangerine" still useful.)
------------------------------------------------------- */
.bg-split.bg-black {
  --top-color: var(--black); }

/* Accent helper */
.accent-black path {
  fill: #000000; }

/* Project-specific triangles */
.music-section-block .shape.bg-black:before {
  border-color: transparent transparent #000000 transparent; }
.music-section-block .shape.bg-black:after {
  border-color: #000000 transparent transparent transparent; }
.music-section-block .tail.bg-black:after {
  border-color: #000000 transparent transparent transparent; }

/**
 * Containers (parent wrapper approach)
 * Usage:
 * <div class="container"><div class="grid">...</div></div>
 * <div class="container-lg"><div class="grid">...</div></div>
 * <div class="container-xxl"><div class="grid">...</div></div>
 * <div class="container-sm container-flush"><div class="grid">...</div></div>
 */
.container,
.container-sm,
.container-lg,
.container-xxl {
  width: 100%;
  margin-left: auto;
  margin-right: auto;
  box-sizing: border-box;
  padding-left: 24px;
  padding-right: 24px; }
  @media (max-width: 900px) {
    .container,
    .container-sm,
    .container-lg,
    .container-xxl {
      padding-left: 18px;
      padding-right: 18px; } }
  @media (max-width: 600px) {
    .container,
    .container-sm,
    .container-lg,
    .container-xxl {
      padding-left: 14px;
      padding-right: 14px; } }

.container {
  max-width: 1200px; }

.container-sm {
  max-width: 920px; }

.container-lg {
  max-width: 1440px; }

.container-xxl {
  max-width: 1640px; }

.container-flush {
  padding-left: 0 !important;
  padding-right: 0 !important; }

/**
 * Grid System
 */
.grid {
  display: grid;
  grid-template-columns: repeat(12, 1fr); }
  .grid.align-top {
    align-items: start; }
  .grid.align-center {
    align-items: center; }
  .grid.align-bottom {
    align-items: end; }
  .grid.justify-start {
    text-align: left; }
  .grid.justify-center {
    text-align: center; }
  .grid.justify-end {
    text-align: right; }
  .grid > .column.align-top {
    align-self: start; }
  .grid > .column.align-center {
    align-self: center; }
  .grid > .column.align-bottom {
    align-self: end; }
  .grid > .column.justify-start {
    text-align: left; }
  .grid > .column.justify-center {
    text-align: center; }
  .grid > .column.justify-end {
    text-align: right; }
  .grid > .column.width-1 {
    grid-column: span 1; }
  .grid > .column.width-2 {
    grid-column: span 2; }
  .grid > .column.width-3 {
    grid-column: span 3; }
  .grid > .column.width-4 {
    grid-column: span 4; }
  .grid > .column.width-5 {
    grid-column: span 5; }
  .grid > .column.width-6 {
    grid-column: span 6; }
  .grid > .column.width-7 {
    grid-column: span 7; }
  .grid > .column.width-8 {
    grid-column: span 8; }
  .grid > .column.width-9 {
    grid-column: span 9; }
  .grid > .column.width-10 {
    grid-column: span 10; }
  .grid > .column.width-11 {
    grid-column: span 11; }
  .grid > .column.width-12 {
    grid-column: span 12; }
  .grid > .column.order-0 {
    order: 0; }
  .grid > .column.order-1 {
    order: 1; }
  .grid > .column.order-2 {
    order: 2; }
  .grid > .column.order-3 {
    order: 3; }
  .grid > .column.order-4 {
    order: 4; }
  .grid > .column.order-5 {
    order: 5; }
  .grid > .column.order-6 {
    order: 6; }
  @media (max-width: 1800px) {
    .grid > .column.width-1800-1 {
      grid-column: span 1; }
    .grid > .column.width-1800-2 {
      grid-column: span 2; }
    .grid > .column.width-1800-3 {
      grid-column: span 3; }
    .grid > .column.width-1800-4 {
      grid-column: span 4; }
    .grid > .column.width-1800-5 {
      grid-column: span 5; }
    .grid > .column.width-1800-6 {
      grid-column: span 6; }
    .grid > .column.width-1800-7 {
      grid-column: span 7; }
    .grid > .column.width-1800-8 {
      grid-column: span 8; }
    .grid > .column.width-1800-9 {
      grid-column: span 9; }
    .grid > .column.width-1800-10 {
      grid-column: span 10; }
    .grid > .column.width-1800-11 {
      grid-column: span 11; }
    .grid > .column.width-1800-12 {
      grid-column: span 12; }
    .grid > .column.order-1800-0 {
      order: 0; }
    .grid > .column.order-1800-1 {
      order: 1; }
    .grid > .column.order-1800-2 {
      order: 2; }
    .grid > .column.order-1800-3 {
      order: 3; }
    .grid > .column.order-1800-4 {
      order: 4; }
    .grid > .column.order-1800-5 {
      order: 5; }
    .grid > .column.order-1800-6 {
      order: 6; } }
  @media (max-width: 1700px) {
    .grid > .column.width-1700-1 {
      grid-column: span 1; }
    .grid > .column.width-1700-2 {
      grid-column: span 2; }
    .grid > .column.width-1700-3 {
      grid-column: span 3; }
    .grid > .column.width-1700-4 {
      grid-column: span 4; }
    .grid > .column.width-1700-5 {
      grid-column: span 5; }
    .grid > .column.width-1700-6 {
      grid-column: span 6; }
    .grid > .column.width-1700-7 {
      grid-column: span 7; }
    .grid > .column.width-1700-8 {
      grid-column: span 8; }
    .grid > .column.width-1700-9 {
      grid-column: span 9; }
    .grid > .column.width-1700-10 {
      grid-column: span 10; }
    .grid > .column.width-1700-11 {
      grid-column: span 11; }
    .grid > .column.width-1700-12 {
      grid-column: span 12; }
    .grid > .column.order-1700-0 {
      order: 0; }
    .grid > .column.order-1700-1 {
      order: 1; }
    .grid > .column.order-1700-2 {
      order: 2; }
    .grid > .column.order-1700-3 {
      order: 3; }
    .grid > .column.order-1700-4 {
      order: 4; }
    .grid > .column.order-1700-5 {
      order: 5; }
    .grid > .column.order-1700-6 {
      order: 6; } }
  @media (max-width: 1600px) {
    .grid > .column.width-1600-1 {
      grid-column: span 1; }
    .grid > .column.width-1600-2 {
      grid-column: span 2; }
    .grid > .column.width-1600-3 {
      grid-column: span 3; }
    .grid > .column.width-1600-4 {
      grid-column: span 4; }
    .grid > .column.width-1600-5 {
      grid-column: span 5; }
    .grid > .column.width-1600-6 {
      grid-column: span 6; }
    .grid > .column.width-1600-7 {
      grid-column: span 7; }
    .grid > .column.width-1600-8 {
      grid-column: span 8; }
    .grid > .column.width-1600-9 {
      grid-column: span 9; }
    .grid > .column.width-1600-10 {
      grid-column: span 10; }
    .grid > .column.width-1600-11 {
      grid-column: span 11; }
    .grid > .column.width-1600-12 {
      grid-column: span 12; }
    .grid > .column.order-1600-0 {
      order: 0; }
    .grid > .column.order-1600-1 {
      order: 1; }
    .grid > .column.order-1600-2 {
      order: 2; }
    .grid > .column.order-1600-3 {
      order: 3; }
    .grid > .column.order-1600-4 {
      order: 4; }
    .grid > .column.order-1600-5 {
      order: 5; }
    .grid > .column.order-1600-6 {
      order: 6; } }
  @media (max-width: 1500px) {
    .grid > .column.width-1500-1 {
      grid-column: span 1; }
    .grid > .column.width-1500-2 {
      grid-column: span 2; }
    .grid > .column.width-1500-3 {
      grid-column: span 3; }
    .grid > .column.width-1500-4 {
      grid-column: span 4; }
    .grid > .column.width-1500-5 {
      grid-column: span 5; }
    .grid > .column.width-1500-6 {
      grid-column: span 6; }
    .grid > .column.width-1500-7 {
      grid-column: span 7; }
    .grid > .column.width-1500-8 {
      grid-column: span 8; }
    .grid > .column.width-1500-9 {
      grid-column: span 9; }
    .grid > .column.width-1500-10 {
      grid-column: span 10; }
    .grid > .column.width-1500-11 {
      grid-column: span 11; }
    .grid > .column.width-1500-12 {
      grid-column: span 12; }
    .grid > .column.order-1500-0 {
      order: 0; }
    .grid > .column.order-1500-1 {
      order: 1; }
    .grid > .column.order-1500-2 {
      order: 2; }
    .grid > .column.order-1500-3 {
      order: 3; }
    .grid > .column.order-1500-4 {
      order: 4; }
    .grid > .column.order-1500-5 {
      order: 5; }
    .grid > .column.order-1500-6 {
      order: 6; } }
  @media (max-width: 1400px) {
    .grid > .column.width-1400-1 {
      grid-column: span 1; }
    .grid > .column.width-1400-2 {
      grid-column: span 2; }
    .grid > .column.width-1400-3 {
      grid-column: span 3; }
    .grid > .column.width-1400-4 {
      grid-column: span 4; }
    .grid > .column.width-1400-5 {
      grid-column: span 5; }
    .grid > .column.width-1400-6 {
      grid-column: span 6; }
    .grid > .column.width-1400-7 {
      grid-column: span 7; }
    .grid > .column.width-1400-8 {
      grid-column: span 8; }
    .grid > .column.width-1400-9 {
      grid-column: span 9; }
    .grid > .column.width-1400-10 {
      grid-column: span 10; }
    .grid > .column.width-1400-11 {
      grid-column: span 11; }
    .grid > .column.width-1400-12 {
      grid-column: span 12; }
    .grid > .column.order-1400-0 {
      order: 0; }
    .grid > .column.order-1400-1 {
      order: 1; }
    .grid > .column.order-1400-2 {
      order: 2; }
    .grid > .column.order-1400-3 {
      order: 3; }
    .grid > .column.order-1400-4 {
      order: 4; }
    .grid > .column.order-1400-5 {
      order: 5; }
    .grid > .column.order-1400-6 {
      order: 6; } }
  @media (max-width: 1300px) {
    .grid > .column.width-1300-1 {
      grid-column: span 1; }
    .grid > .column.width-1300-2 {
      grid-column: span 2; }
    .grid > .column.width-1300-3 {
      grid-column: span 3; }
    .grid > .column.width-1300-4 {
      grid-column: span 4; }
    .grid > .column.width-1300-5 {
      grid-column: span 5; }
    .grid > .column.width-1300-6 {
      grid-column: span 6; }
    .grid > .column.width-1300-7 {
      grid-column: span 7; }
    .grid > .column.width-1300-8 {
      grid-column: span 8; }
    .grid > .column.width-1300-9 {
      grid-column: span 9; }
    .grid > .column.width-1300-10 {
      grid-column: span 10; }
    .grid > .column.width-1300-11 {
      grid-column: span 11; }
    .grid > .column.width-1300-12 {
      grid-column: span 12; }
    .grid > .column.order-1300-0 {
      order: 0; }
    .grid > .column.order-1300-1 {
      order: 1; }
    .grid > .column.order-1300-2 {
      order: 2; }
    .grid > .column.order-1300-3 {
      order: 3; }
    .grid > .column.order-1300-4 {
      order: 4; }
    .grid > .column.order-1300-5 {
      order: 5; }
    .grid > .column.order-1300-6 {
      order: 6; } }
  @media (max-width: 1200px) {
    .grid > .column.width-1200-1 {
      grid-column: span 1; }
    .grid > .column.width-1200-2 {
      grid-column: span 2; }
    .grid > .column.width-1200-3 {
      grid-column: span 3; }
    .grid > .column.width-1200-4 {
      grid-column: span 4; }
    .grid > .column.width-1200-5 {
      grid-column: span 5; }
    .grid > .column.width-1200-6 {
      grid-column: span 6; }
    .grid > .column.width-1200-7 {
      grid-column: span 7; }
    .grid > .column.width-1200-8 {
      grid-column: span 8; }
    .grid > .column.width-1200-9 {
      grid-column: span 9; }
    .grid > .column.width-1200-10 {
      grid-column: span 10; }
    .grid > .column.width-1200-11 {
      grid-column: span 11; }
    .grid > .column.width-1200-12 {
      grid-column: span 12; }
    .grid > .column.order-1200-0 {
      order: 0; }
    .grid > .column.order-1200-1 {
      order: 1; }
    .grid > .column.order-1200-2 {
      order: 2; }
    .grid > .column.order-1200-3 {
      order: 3; }
    .grid > .column.order-1200-4 {
      order: 4; }
    .grid > .column.order-1200-5 {
      order: 5; }
    .grid > .column.order-1200-6 {
      order: 6; } }
  @media (max-width: 1100px) {
    .grid > .column.width-1100-1 {
      grid-column: span 1; }
    .grid > .column.width-1100-2 {
      grid-column: span 2; }
    .grid > .column.width-1100-3 {
      grid-column: span 3; }
    .grid > .column.width-1100-4 {
      grid-column: span 4; }
    .grid > .column.width-1100-5 {
      grid-column: span 5; }
    .grid > .column.width-1100-6 {
      grid-column: span 6; }
    .grid > .column.width-1100-7 {
      grid-column: span 7; }
    .grid > .column.width-1100-8 {
      grid-column: span 8; }
    .grid > .column.width-1100-9 {
      grid-column: span 9; }
    .grid > .column.width-1100-10 {
      grid-column: span 10; }
    .grid > .column.width-1100-11 {
      grid-column: span 11; }
    .grid > .column.width-1100-12 {
      grid-column: span 12; }
    .grid > .column.order-1100-0 {
      order: 0; }
    .grid > .column.order-1100-1 {
      order: 1; }
    .grid > .column.order-1100-2 {
      order: 2; }
    .grid > .column.order-1100-3 {
      order: 3; }
    .grid > .column.order-1100-4 {
      order: 4; }
    .grid > .column.order-1100-5 {
      order: 5; }
    .grid > .column.order-1100-6 {
      order: 6; } }
  @media (max-width: 1000px) {
    .grid > .column.width-1000-1 {
      grid-column: span 1; }
    .grid > .column.width-1000-2 {
      grid-column: span 2; }
    .grid > .column.width-1000-3 {
      grid-column: span 3; }
    .grid > .column.width-1000-4 {
      grid-column: span 4; }
    .grid > .column.width-1000-5 {
      grid-column: span 5; }
    .grid > .column.width-1000-6 {
      grid-column: span 6; }
    .grid > .column.width-1000-7 {
      grid-column: span 7; }
    .grid > .column.width-1000-8 {
      grid-column: span 8; }
    .grid > .column.width-1000-9 {
      grid-column: span 9; }
    .grid > .column.width-1000-10 {
      grid-column: span 10; }
    .grid > .column.width-1000-11 {
      grid-column: span 11; }
    .grid > .column.width-1000-12 {
      grid-column: span 12; }
    .grid > .column.order-1000-0 {
      order: 0; }
    .grid > .column.order-1000-1 {
      order: 1; }
    .grid > .column.order-1000-2 {
      order: 2; }
    .grid > .column.order-1000-3 {
      order: 3; }
    .grid > .column.order-1000-4 {
      order: 4; }
    .grid > .column.order-1000-5 {
      order: 5; }
    .grid > .column.order-1000-6 {
      order: 6; } }
  @media (max-width: 900px) {
    .grid > .column.width-900-1 {
      grid-column: span 1; }
    .grid > .column.width-900-2 {
      grid-column: span 2; }
    .grid > .column.width-900-3 {
      grid-column: span 3; }
    .grid > .column.width-900-4 {
      grid-column: span 4; }
    .grid > .column.width-900-5 {
      grid-column: span 5; }
    .grid > .column.width-900-6 {
      grid-column: span 6; }
    .grid > .column.width-900-7 {
      grid-column: span 7; }
    .grid > .column.width-900-8 {
      grid-column: span 8; }
    .grid > .column.width-900-9 {
      grid-column: span 9; }
    .grid > .column.width-900-10 {
      grid-column: span 10; }
    .grid > .column.width-900-11 {
      grid-column: span 11; }
    .grid > .column.width-900-12 {
      grid-column: span 12; }
    .grid > .column.order-900-0 {
      order: 0; }
    .grid > .column.order-900-1 {
      order: 1; }
    .grid > .column.order-900-2 {
      order: 2; }
    .grid > .column.order-900-3 {
      order: 3; }
    .grid > .column.order-900-4 {
      order: 4; }
    .grid > .column.order-900-5 {
      order: 5; }
    .grid > .column.order-900-6 {
      order: 6; } }
  @media (max-width: 800px) {
    .grid > .column.width-800-1 {
      grid-column: span 1; }
    .grid > .column.width-800-2 {
      grid-column: span 2; }
    .grid > .column.width-800-3 {
      grid-column: span 3; }
    .grid > .column.width-800-4 {
      grid-column: span 4; }
    .grid > .column.width-800-5 {
      grid-column: span 5; }
    .grid > .column.width-800-6 {
      grid-column: span 6; }
    .grid > .column.width-800-7 {
      grid-column: span 7; }
    .grid > .column.width-800-8 {
      grid-column: span 8; }
    .grid > .column.width-800-9 {
      grid-column: span 9; }
    .grid > .column.width-800-10 {
      grid-column: span 10; }
    .grid > .column.width-800-11 {
      grid-column: span 11; }
    .grid > .column.width-800-12 {
      grid-column: span 12; }
    .grid > .column.order-800-0 {
      order: 0; }
    .grid > .column.order-800-1 {
      order: 1; }
    .grid > .column.order-800-2 {
      order: 2; }
    .grid > .column.order-800-3 {
      order: 3; }
    .grid > .column.order-800-4 {
      order: 4; }
    .grid > .column.order-800-5 {
      order: 5; }
    .grid > .column.order-800-6 {
      order: 6; } }
  @media (max-width: 700px) {
    .grid > .column.width-700-1 {
      grid-column: span 1; }
    .grid > .column.width-700-2 {
      grid-column: span 2; }
    .grid > .column.width-700-3 {
      grid-column: span 3; }
    .grid > .column.width-700-4 {
      grid-column: span 4; }
    .grid > .column.width-700-5 {
      grid-column: span 5; }
    .grid > .column.width-700-6 {
      grid-column: span 6; }
    .grid > .column.width-700-7 {
      grid-column: span 7; }
    .grid > .column.width-700-8 {
      grid-column: span 8; }
    .grid > .column.width-700-9 {
      grid-column: span 9; }
    .grid > .column.width-700-10 {
      grid-column: span 10; }
    .grid > .column.width-700-11 {
      grid-column: span 11; }
    .grid > .column.width-700-12 {
      grid-column: span 12; }
    .grid > .column.order-700-0 {
      order: 0; }
    .grid > .column.order-700-1 {
      order: 1; }
    .grid > .column.order-700-2 {
      order: 2; }
    .grid > .column.order-700-3 {
      order: 3; }
    .grid > .column.order-700-4 {
      order: 4; }
    .grid > .column.order-700-5 {
      order: 5; }
    .grid > .column.order-700-6 {
      order: 6; } }
  @media (max-width: 600px) {
    .grid > .column.width-600-1 {
      grid-column: span 1; }
    .grid > .column.width-600-2 {
      grid-column: span 2; }
    .grid > .column.width-600-3 {
      grid-column: span 3; }
    .grid > .column.width-600-4 {
      grid-column: span 4; }
    .grid > .column.width-600-5 {
      grid-column: span 5; }
    .grid > .column.width-600-6 {
      grid-column: span 6; }
    .grid > .column.width-600-7 {
      grid-column: span 7; }
    .grid > .column.width-600-8 {
      grid-column: span 8; }
    .grid > .column.width-600-9 {
      grid-column: span 9; }
    .grid > .column.width-600-10 {
      grid-column: span 10; }
    .grid > .column.width-600-11 {
      grid-column: span 11; }
    .grid > .column.width-600-12 {
      grid-column: span 12; }
    .grid > .column.order-600-0 {
      order: 0; }
    .grid > .column.order-600-1 {
      order: 1; }
    .grid > .column.order-600-2 {
      order: 2; }
    .grid > .column.order-600-3 {
      order: 3; }
    .grid > .column.order-600-4 {
      order: 4; }
    .grid > .column.order-600-5 {
      order: 5; }
    .grid > .column.order-600-6 {
      order: 6; } }
  @media (max-width: 500px) {
    .grid > .column.width-500-1 {
      grid-column: span 1; }
    .grid > .column.width-500-2 {
      grid-column: span 2; }
    .grid > .column.width-500-3 {
      grid-column: span 3; }
    .grid > .column.width-500-4 {
      grid-column: span 4; }
    .grid > .column.width-500-5 {
      grid-column: span 5; }
    .grid > .column.width-500-6 {
      grid-column: span 6; }
    .grid > .column.width-500-7 {
      grid-column: span 7; }
    .grid > .column.width-500-8 {
      grid-column: span 8; }
    .grid > .column.width-500-9 {
      grid-column: span 9; }
    .grid > .column.width-500-10 {
      grid-column: span 10; }
    .grid > .column.width-500-11 {
      grid-column: span 11; }
    .grid > .column.width-500-12 {
      grid-column: span 12; }
    .grid > .column.order-500-0 {
      order: 0; }
    .grid > .column.order-500-1 {
      order: 1; }
    .grid > .column.order-500-2 {
      order: 2; }
    .grid > .column.order-500-3 {
      order: 3; }
    .grid > .column.order-500-4 {
      order: 4; }
    .grid > .column.order-500-5 {
      order: 5; }
    .grid > .column.order-500-6 {
      order: 6; } }
  @media (max-width: 400px) {
    .grid > .column.width-400-1 {
      grid-column: span 1; }
    .grid > .column.width-400-2 {
      grid-column: span 2; }
    .grid > .column.width-400-3 {
      grid-column: span 3; }
    .grid > .column.width-400-4 {
      grid-column: span 4; }
    .grid > .column.width-400-5 {
      grid-column: span 5; }
    .grid > .column.width-400-6 {
      grid-column: span 6; }
    .grid > .column.width-400-7 {
      grid-column: span 7; }
    .grid > .column.width-400-8 {
      grid-column: span 8; }
    .grid > .column.width-400-9 {
      grid-column: span 9; }
    .grid > .column.width-400-10 {
      grid-column: span 10; }
    .grid > .column.width-400-11 {
      grid-column: span 11; }
    .grid > .column.width-400-12 {
      grid-column: span 12; }
    .grid > .column.order-400-0 {
      order: 0; }
    .grid > .column.order-400-1 {
      order: 1; }
    .grid > .column.order-400-2 {
      order: 2; }
    .grid > .column.order-400-3 {
      order: 3; }
    .grid > .column.order-400-4 {
      order: 4; }
    .grid > .column.order-400-5 {
      order: 5; }
    .grid > .column.order-400-6 {
      order: 6; } }
  .grid.gap-25 {
    gap: 25px; }
  .grid.gap-50 {
    gap: 50px; }

/**
 * Spacing Utilities
 */
.mt0 {
  margin-top: 0px !important; }

.mb0 {
  margin-bottom: 0px !important; }

.pt0 {
  padding-top: 0px !important; }

.pb0 {
  padding-bottom: 0px !important; }

.pl0 {
  padding-left: 0px !important; }

.pr0 {
  padding-right: 0px !important; }

.mt10 {
  margin-top: 10px !important; }

.mb10 {
  margin-bottom: 10px !important; }

.pt10 {
  padding-top: 10px !important; }

.pb10 {
  padding-bottom: 10px !important; }

.pl10 {
  padding-left: 10px !important; }

.pr10 {
  padding-right: 10px !important; }

.mt20 {
  margin-top: 20px !important; }

.mb20 {
  margin-bottom: 20px !important; }

.pt20 {
  padding-top: 20px !important; }

.pb20 {
  padding-bottom: 20px !important; }

.pl20 {
  padding-left: 20px !important; }

.pr20 {
  padding-right: 20px !important; }

.mt25 {
  margin-top: 25px !important; }

.mb25 {
  margin-bottom: 25px !important; }

.pt25 {
  padding-top: 25px !important; }

.pb25 {
  padding-bottom: 25px !important; }

.pl25 {
  padding-left: 25px !important; }

.pr25 {
  padding-right: 25px !important; }

.mt30 {
  margin-top: 30px !important; }

.mb30 {
  margin-bottom: 30px !important; }

.pt30 {
  padding-top: 30px !important; }

.pb30 {
  padding-bottom: 30px !important; }

.pl30 {
  padding-left: 30px !important; }

.pr30 {
  padding-right: 30px !important; }

.mt40 {
  margin-top: 40px !important; }

.mb40 {
  margin-bottom: 40px !important; }

.pt40 {
  padding-top: 40px !important; }

.pb40 {
  padding-bottom: 40px !important; }

.pl40 {
  padding-left: 40px !important; }

.pr40 {
  padding-right: 40px !important; }

.mt50 {
  margin-top: 50px !important; }

.mb50 {
  margin-bottom: 50px !important; }

.pt50 {
  padding-top: 50px !important; }

.pb50 {
  padding-bottom: 50px !important; }

.pl50 {
  padding-left: 50px !important; }

.pr50 {
  padding-right: 50px !important; }

.mt60 {
  margin-top: 60px !important; }

.mb60 {
  margin-bottom: 60px !important; }

.pt60 {
  padding-top: 60px !important; }

.pb60 {
  padding-bottom: 60px !important; }

.pl60 {
  padding-left: 60px !important; }

.pr60 {
  padding-right: 60px !important; }

.mt70 {
  margin-top: 70px !important; }

.mb70 {
  margin-bottom: 70px !important; }

.pt70 {
  padding-top: 70px !important; }

.pb70 {
  padding-bottom: 70px !important; }

.pl70 {
  padding-left: 70px !important; }

.pr70 {
  padding-right: 70px !important; }

.mt80 {
  margin-top: 80px !important; }

.mb80 {
  margin-bottom: 80px !important; }

.pt80 {
  padding-top: 80px !important; }

.pb80 {
  padding-bottom: 80px !important; }

.pl80 {
  padding-left: 80px !important; }

.pr80 {
  padding-right: 80px !important; }

.mt90 {
  margin-top: 90px !important; }

.mb90 {
  margin-bottom: 90px !important; }

.pt90 {
  padding-top: 90px !important; }

.pb90 {
  padding-bottom: 90px !important; }

.pl90 {
  padding-left: 90px !important; }

.pr90 {
  padding-right: 90px !important; }

.mt100 {
  margin-top: 100px !important; }

.mb100 {
  margin-bottom: 100px !important; }

.pt100 {
  padding-top: 100px !important; }

.pb100 {
  padding-bottom: 100px !important; }

.pl100 {
  padding-left: 100px !important; }

.pr100 {
  padding-right: 100px !important; }

.mt120 {
  margin-top: 120px !important; }

.mb120 {
  margin-bottom: 120px !important; }

.pt120 {
  padding-top: 120px !important; }

.pb120 {
  padding-bottom: 120px !important; }

.pl120 {
  padding-left: 120px !important; }

.pr120 {
  padding-right: 120px !important; }

.mt140 {
  margin-top: 140px !important; }

.mb140 {
  margin-bottom: 140px !important; }

.pt140 {
  padding-top: 140px !important; }

.pb140 {
  padding-bottom: 140px !important; }

.pl140 {
  padding-left: 140px !important; }

.pr140 {
  padding-right: 140px !important; }

.mt160 {
  margin-top: 160px !important; }

.mb160 {
  margin-bottom: 160px !important; }

.pt160 {
  padding-top: 160px !important; }

.pb160 {
  padding-bottom: 160px !important; }

.pl160 {
  padding-left: 160px !important; }

.pr160 {
  padding-right: 160px !important; }

.mt180 {
  margin-top: 180px !important; }

.mb180 {
  margin-bottom: 180px !important; }

.pt180 {
  padding-top: 180px !important; }

.pb180 {
  padding-bottom: 180px !important; }

.pl180 {
  padding-left: 180px !important; }

.pr180 {
  padding-right: 180px !important; }

.mt200 {
  margin-top: 200px !important; }

.mb200 {
  margin-bottom: 200px !important; }

.pt200 {
  padding-top: 200px !important; }

.pb200 {
  padding-bottom: 200px !important; }

.pl200 {
  padding-left: 200px !important; }

.pr200 {
  padding-right: 200px !important; }

/* =========================================================
   GUTENBERG → FRAMEWORK BRIDGE
   Scope: ONLY column parents
========================================================= */
/**
 * Base Gutenberg columns reset
 */
.wp-block-columns {
  width: 100%;
  box-sizing: border-box; }

/**
 * Parent-controlled column width system
 * This class is the explicit opt-in
 */
.parent-columns-width {
  margin-left: auto;
  margin-right: auto;
  width: 100%;
  box-sizing: border-box;
  padding-left: 24px;
  padding-right: 24px; }
  @media (max-width: 900px) {
    .parent-columns-width {
      padding-left: 18px;
      padding-right: 18px; } }
  @media (max-width: 600px) {
    .parent-columns-width {
      padding-left: 14px;
      padding-right: 14px; } }

/* ===============================
   WIDTH MODES
=============================== */
/* STANDARD (default container) */
.parent-columns-width:not(.wide-width):not(.small-width):not(.xs-width):not(.full-width) {
  max-width: 1200px; }

/* WIDE */
.parent-columns-width.wide-width {
  max-width: 1440px; }

/* SMALL */
.parent-columns-width.small-width {
  max-width: 920px; }

/* EXTRA SMALL */
.parent-columns-width.xs-width {
  max-width: 920px; }

/* FULL WIDTH (edge-to-edge) */
.parent-columns-width.full-width {
  max-width: none;
  padding-left: 0;
  padding-right: 0; }

/* ===============================
   COLUMN GAPS
=============================== */
/**
 * Gutenberg columns gap alignment
 * Mirrors your grid gap logic
 */
.parent-columns-width > .wp-block-column {
  box-sizing: border-box; }

/* Default gap */
.wp-block-columns {
  gap: 24px; }

/* Tablet */
@media (max-width: 900px) {
  .wp-block-columns {
    gap: 18px; } }
/* Mobile */
@media (max-width: 600px) {
  .wp-block-columns {
    gap: 14px; } }
/* ===============================
   OPTIONAL: ALIGNMENTS
=============================== */
.wp-block-columns.align-top {
  align-items: flex-start; }

.wp-block-columns.align-center {
  align-items: center; }

.wp-block-columns.align-bottom {
  align-items: flex-end; }

html.lenis, html.lenis body {
  height: auto; }

.lenis.lenis-smooth {
  scroll-behavior: auto !important; }

.lenis.lenis-smooth [data-lenis-prevent] {
  overscroll-behavior: contain; }

.lenis.lenis-stopped {
  overflow: hidden; }

.lenis.lenis-smooth iframe {
  pointer-events: none; }

.skew-up {
  font-kerning: none;
  overflow: hidden; }

.skew-up .line {
  clip-path: polygon(0 0, 100% 0, 100% 100%, 0% 100%); }

.skew-up .word {
  transform: translateY(100px); }

* {
  font-variant-ligatures: none; }

html {
  line-height: 1.6em;
  -webkit-text-size-adjust: 100%;
  scroll-behavior: auto; }

body {
  margin: 0; }

main {
  display: block; }

hr {
  box-sizing: content-box;
  height: 0;
  overflow: visible; }

a {
  background-color: transparent;
  text-decoration: none;
  -webkit-transition: 0.2s linear all;
  -moz-transition: 0.2s linear all;
  -ms-transition: 0.2s linear all;
  -o-transition: 0.2s linear all;
  transition: 0.2s linear all; }

abbr[title] {
  border-bottom: none; }

b,
strong {
  font-weight: bold; }

.italic {
  font-style: italic; }

pre,
code,
kbd,
samp {
  font-family: monospace, monospace;
  font-size: 1em; }

small {
  font-size: 80%; }

sub,
sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline; }

sub {
  bottom: -0.25em;
  font-size: 50%; }

sup {
  top: -0.5em;
  font-size: 50%; }

img,
iframe {
  border-style: none; }

img {
  width: 100%;
  height: auto; }

button,
input,
optgroup,
select,
textarea {
  font-family: inherit;
  font-size: 100%;
  line-height: 1.15;
  margin: 0; }

button,
input {
  overflow: visible; }

button,
select {
  text-transform: none; }

button,
[type="button"],
[type="reset"],
[type="submit"] {
  -webkit-appearance: button;
  appearance: button; }

button::-moz-focus-inner,
[type="button"]::-moz-focus-inner,
[type="reset"]::-moz-focus-inner,
[type="submit"]::-moz-focus-inner {
  border-style: none;
  padding: 0; }

button:-moz-focusring,
[type="button"]:-moz-focusring,
[type="reset"]:-moz-focusring,
[type="submit"]:-moz-focusring {
  outline: 1px dotted ButtonText; }

fieldset {
  padding: 0.35em 0.75em 0.625em; }

legend {
  box-sizing: border-box;
  color: inherit;
  display: table;
  max-width: 100%;
  padding: 0;
  white-space: normal; }

progress {
  vertical-align: baseline; }

textarea {
  overflow: auto; }

[type="checkbox"],
[type="radio"] {
  box-sizing: border-box;
  padding: 0; }

[type="number"]::-webkit-inner-spin-button,
[type="number"]::-webkit-outer-spin-button {
  height: auto; }

[type="search"] {
  -webkit-appearance: textfield;
  appearance: textfield;
  outline-offset: -2px; }

[type="search"]::-webkit-search-decoration {
  -webkit-appearance: none; }

::-webkit-file-upload-button {
  -webkit-appearance: button;
  font: inherit; }

details {
  display: block; }

summary {
  display: list-item; }

template,
[hidden] {
  display: none; }

.clear {
  clear: both; }

.clear-left {
  clear: left; }

.clear-float {
  clear: right; }

p,
h1,
h2,
h3,
h4,
h5,
h6,
ul,
li {
  margin: 0;
  padding: 0; }

h1:where(.wp-block-heading).has-background,
h2:where(.wp-block-heading).has-background,
h3:where(.wp-block-heading).has-background,
h4:where(.wp-block-heading).has-background,
h5:where(.wp-block-heading).has-background,
h6:where(.wp-block-heading).has-background {
  padding: 0; }

p.has-background {
  padding: 0; }

.smooth {
  -webkit-transition: 0.2s linear all;
  -moz-transition: 0.2s linear all;
  -ms-transition: 0.2s linear all;
  -o-transition: 0.2s linear all;
  transition: 0.2s linear all; }

/* Column Gap Utility Classes */
.column-gap.gap20 {
  column-gap: 20px; }
.column-gap.gap40 {
  column-gap: 40px; }
.column-gap.gap60 {
  column-gap: 60px; }
.column-gap.gap80 {
  column-gap: 80px; }
.column-gap.gap100 {
  column-gap: 100px; }
.column-gap.gap120 {
  column-gap: 120px; }
.column-gap.gap140 {
  column-gap: 140px; }
.column-gap.gap160 {
  column-gap: 160px; }
.column-gap.gap180 {
  column-gap: 180px; }
.column-gap.gap200 {
  column-gap: 200px; }

/* Apply only to wp-block-columns */
.wp-block-columns.gap20 {
  gap: 20px; }
.wp-block-columns.gap40 {
  gap: 40px; }
.wp-block-columns.gap60 {
  gap: 60px; }
.wp-block-columns.gap80 {
  gap: 80px; }
.wp-block-columns.gap100 {
  gap: 100px; }
.wp-block-columns.gap120 {
  gap: 120px; }
.wp-block-columns.gap140 {
  gap: 140px; }
.wp-block-columns.gap160 {
  gap: 160px; }
.wp-block-columns.gap180 {
  gap: 180px; }
.wp-block-columns.gap200 {
  gap: 200px; }

/* -------------------------
Tokens (CSS vars)
-------------------------- */
:root {
  --header-float-top: 18px;
  --header-float-gap: 24px;
  --header-max-width: 1640px;
  --overlay-max-width: 1688px; }

/* prevent scroll when overlay open */
html.nav-open,
html.nav-open body {
  overflow: hidden; }

#main {
  overflow: hidden; }

.editor-styles-wrapper .ukiyo {
  transform: none !important; }

.wp-block-separator {
  border-top: 1px solid;
  opacity: 0.4; }

/* -------------------------
Mixins (SCSS)
-------------------------- */
/* -------------------------------------------------------
Header (floating fixed pill)
-------------------------------------------------------- */
.site-header {
  position: relative;
  z-index: 1000; }

.header-bar {
  position: fixed;
  top: var(--header-float-top);
  left: var(--header-float-gap);
  right: var(--header-float-gap);
  z-index: 1200;
  pointer-events: none; }

.header-bar-inner {
  pointer-events: auto;
  padding: 15px 20px;
  background: #FBF7EE;
  border: 1px solid rgba(0, 0, 0, 0.12);
  border-radius: 14px;
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.12);
  max-width: var(--header-max-width);
  margin-left: auto;
  margin-right: auto;
  overflow: hidden;
  transition: background 320ms ease, border-color 320ms ease, box-shadow 320ms ease, transform 320ms ease; }

/* HEADER OPEN STATE */
.header-bar-inner.bar-inner-open {
  background: #004066;
  border-color: rgba(236, 237, 222, 0.2);
  box-shadow: 0 14px 40px rgba(0, 0, 0, 0.45); }
  .header-bar-inner.bar-inner-open .site-logo .logo-text {
    fill: #ECEDDE; }
  .header-bar-inner.bar-inner-open a.header-contact {
    color: #ECEDDE; }

/* ------------------------------------------------------- */
.header-inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px; }

.header-left {
  display: flex;
  align-items: center;
  gap: 16px; }

/* logo */
.site-logo {
  display: inline-flex;
  align-items: center;
  text-decoration: none; }
  .site-logo img {
    display: block;
    max-height: 48px; }

/* -------------------------------------------------------
Header right
-------------------------------------------------------- */
.header-right {
  display: flex;
  align-items: center;
  gap: 18px;
  white-space: nowrap; }
  .header-right .header-contact {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    text-decoration: none;
    color: #004066;
    font-size: 16px; }
    .header-right .header-contact i {
      font-size: 18px;
      opacity: .95; }
    .header-right .header-contact:hover {
      color: #020B35; }
  .header-right .btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    font-size: 16px;
    border-radius: 4px;
    text-decoration: none;
    cursor: pointer;
    border: 1px solid rgba(0, 0, 0, 0.18);
    background: #9F7D58;
    color: #ECEDDE;
    transition: background 160ms ease, transform 160ms ease; }
    .header-right .btn:hover {
      background: #020B35; }
  .header-right .btn-enquire {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    font-size: 16px;
    border-radius: 4px;
    text-decoration: none;
    cursor: pointer;
    border: 1px solid rgba(0, 0, 0, 0.18);
    background: #9F7D58;
    color: #F0EBDE;
    transition: background 160ms ease, transform 160ms ease;
    padding: 11px 13px; }
  .header-right .btn-menu {
    padding: 7px 13px; }
    .header-right .btn-menu .btn-menu__icon {
      font-size: 24px;
      position: relative;
      top: -2px; }

/* -------------------------------------------------------
Responsive header
-------------------------------------------------------- */
@media (max-width: 900px) {
  :root {
    --header-float-gap:14px;
    --header-float-top:12px; }

  .header-right {
    gap: 12px; }
    .header-right .header-contact,
    .header-right .btn-enquire {
      display: none; }
    .header-right .btn {
      height: 42px;
      padding: 0 14px; } }
/* -------------------------------------------------------
Overlay Navigation (Curtain)
-------------------------------------------------------- */
.overlay-nav {
  position: fixed;
  top: 20px;
  left: var(--header-float-gap);
  right: var(--header-float-gap);
  bottom: 24px;
  max-width: var(--overlay-max-width);
  margin-left: auto;
  margin-right: auto;
  border-radius: 14px;
  background: #004066;
  transform: translateY(-110%);
  transition: transform 650ms cubic-bezier(0.77, 0, 0.18, 1);
  padding-top: 60px;
  display: flex;
  flex-direction: column;
  overflow-y: auto; }
  .overlay-nav[hidden] {
    display: block !important; }
  @media (max-width: 900px) {
    .overlay-nav {
      left: 14px;
      right: 14px; } }

html.nav-open .overlay-nav {
  transform: translateY(0); }

.overlay-nav .container-xxl {
  position: relative;
  display: flex;
  flex-direction: column;
  min-height: 100%; }

/* -------------------------------------------------------
Header Footer row with Copyright 
-------------------------------------------------------- */
.overlay-nav .header-row {
  margin-top: auto;
  margin-bottom: 30px;
  padding-top: 30px;
  border-top: 1px solid rgba(236, 237, 222, 0.14);
  display: flex;
  justify-content: space-between;
  align-items: center;
  font-size: 13px; }
  @media (max-width: 900px) {
    .overlay-nav .header-row {
      flex-direction: column;
      gap: 12px;
      align-items: flex-start; } }

/* -------------------------------------------------------
Header credit swap
-------------------------------------------------------- */
.header-link {
  display: inline-block;
  color: #ECEDDE;
  text-decoration: none; }

.header-copy {
  color: #ECEDDE; }

.header-swap {
  position: relative;
  display: inline-block;
  overflow: hidden;
  line-height: 1.2em;
  height: 1.2em; }

.header-swap__top,
.header-swap__bottom {
  display: block;
  transition: transform 0.32s cubic-bezier(0.16, 1, 0.3, 1); }

.header-link:hover {
  color: #AED9E8; }

/* -------------------------------------------------------
Menu wrapper
------------------------------------------------------- */
.overlay-menu-wrap {
  position: relative;
  padding-top: 80px;
  padding-bottom: 120px;
  border-top: 1px solid rgba(236, 237, 222, 0.14);
  flex: 1; }

.nav-badge {
  position: absolute;
  right: 40px;
  bottom: 100px;
  width: 120px;
  opacity: .9;
  pointer-events: none; }

/* -------------------------------------------------------
Reset
------------------------------------------------------- */
.overlay-menu,
.overlay-menu ul {
  list-style: none;
  margin: 0;
  padding: 0; }

/* -------------------------------------------------------
Main container
------------------------------------------------------- */
.overlay-menu {
  display: flex;
  flex-direction: column;
  gap: 16px;
  padding-right: 69%; }

/* -------------------------------------------------------
Main menu animation
------------------------------------------------------- */
.overlay-menu > li {
  opacity: 0;
  transform: translateY(40px);
  transition: .45s ease; }

html.nav-open .overlay-menu > li {
  opacity: 1;
  transform: translateY(0); }

html.nav-open .overlay-menu > li:nth-child(1) {
  transition-delay: 0.25s; }

html.nav-open .overlay-menu > li:nth-child(2) {
  transition-delay: 0.3s; }

html.nav-open .overlay-menu > li:nth-child(3) {
  transition-delay: 0.35s; }

html.nav-open .overlay-menu > li:nth-child(4) {
  transition-delay: 0.4s; }

html.nav-open .overlay-menu > li:nth-child(5) {
  transition-delay: 0.45s; }

html.nav-open .overlay-menu > li:nth-child(6) {
  transition-delay: 0.5s; }

html.nav-open .overlay-menu > li:nth-child(7) {
  transition-delay: 0.55s; }

html.nav-open .overlay-menu > li:nth-child(8) {
  transition-delay: 0.6s; }

html.nav-open .overlay-menu > li:nth-child(9) {
  transition-delay: 0.65s; }

html.nav-open .overlay-menu > li:nth-child(10) {
  transition-delay: 0.7s; }

html.nav-open .overlay-menu > li:nth-child(11) {
  transition-delay: 0.75s; }

html.nav-open .overlay-menu > li:nth-child(12) {
  transition-delay: 0.8s; }

html.nav-open .overlay-menu > li:nth-child(13) {
  transition-delay: 0.85s; }

html.nav-open .overlay-menu > li:nth-child(14) {
  transition-delay: 0.9s; }

html.nav-open .overlay-menu > li:nth-child(15) {
  transition-delay: 0.95s; }

html.nav-open .overlay-menu > li:nth-child(16) {
  transition-delay: 1s; }

html.nav-open .overlay-menu > li:nth-child(17) {
  transition-delay: 1.05s; }

html.nav-open .overlay-menu > li:nth-child(18) {
  transition-delay: 1.1s; }

html.nav-open .overlay-menu > li:nth-child(19) {
  transition-delay: 1.15s; }

html.nav-open .overlay-menu > li:nth-child(20) {
  transition-delay: 1.2s; }

/* -------------------------------------------------------
Top level row layout
------------------------------------------------------- */
.overlay-menu > li {
  display: inline-block;
  position: relative; }

.overlay-menu > li > a {
  flex: 1;
  font-family: "larken",sans-serif;
  font-size: 42px;
  line-height: 1.05;
  letter-spacing: -.02em;
  color: #ECEDDE;
  text-decoration: none;
  display: inline-block; }

/* -------------------------------------------------------
Submenu base (desktop animation)
------------------------------------------------------- */
.overlay-menu .sub-menu {
  display: flex;
  flex-direction: column;
  gap: 12px;
  opacity: 0;
  transform: translateY(20px);
  pointer-events: none;
  transition: opacity .35s ease, transform .35s ease; }

.overlay-menu li.submenu-open > .sub-menu {
  opacity: 1;
  transform: translateY(0);
  pointer-events: auto; }

/* stagger animation */
.overlay-menu li.submenu-open > .sub-menu > li {
  opacity: 0;
  transform: translateY(10px);
  transition: .3s ease; }

.overlay-menu li.submenu-open > .sub-menu > li {
  opacity: 1;
  transform: translateY(0); }

/* -------------------------------------------------------
LEVEL 2 (desktop column)
------------------------------------------------------- */
.overlay-menu > li > .sub-menu {
  position: absolute;
  top: 0;
  left: 110%;
  width: 70%;
  font-size: 24px; }

.overlay-menu > li > .sub-menu > li {
  display: flex;
  align-items: center; }

.overlay-menu > li > .sub-menu > li > a {
  font-family: "larken",sans-serif;
  font-size: 24px;
  display: inline-block; }

/* -------------------------------------------------------
LEVEL 3 (desktop column)
------------------------------------------------------- */
.overlay-menu > li > .sub-menu > li {
  position: relative; }

.overlay-menu > li > .sub-menu > li > .sub-menu {
  position: absolute;
  top: 0;
  left: 110%;
  width: 100%; }

.overlay-menu > li > .sub-menu > li > .sub-menu li {
  display: flex;
  align-items: center; }

.overlay-menu > li > .sub-menu > li > .sub-menu a {
  flex: 1;
  font-family: "larken",sans-serif;
  font-size: 20px;
  opacity: .95; }

/* -------------------------------------------------------
Toggle button
------------------------------------------------------- */
.submenu-toggle {
  background: none;
  border: none;
  color: #ECEDDE;
  font-size: 32px;
  font-weight: 200;
  cursor: pointer;
  margin-left: 16px;
  position: relative;
  top: -12px; }

.submenu-toggle__minus {
  display: none; }

li.submenu-open > .submenu-toggle .submenu-toggle__plus {
  display: none; }

li.submenu-open > .submenu-toggle .submenu-toggle__minus {
  display: block; }

li.submenu-open .sub-menu .submenu-toggle {
  top: -5px; }

/* -------------------------------------------------------
Mobile layout
------------------------------------------------------- */
@media (max-width: 900px) {
  .overlay-menu {
    padding-right: 0; }

  .overlay-menu > li {
    flex-wrap: wrap; }

  .overlay-menu > li > a {
    font-size: 22px; }

  .submenu-toggle {
    margin-left: auto;
    width: 32px;
    height: 32px;
    align-items: center;
    justify-content: center;
    position: relative;
    top: -5px; }

  /* -------------------------------------------------------
  ACCORDION STYLE
  ------------------------------------------------------- */
  .overlay-menu .sub-menu {
    max-height: 0;
    overflow: hidden;
    opacity: 0;
    transform: translateY(-5px);
    transition: max-height .45s ease, opacity .35s ease, transform .35s ease; }

  .overlay-menu li.submenu-open > .sub-menu {
    max-height: 600px;
    opacity: 1;
    transform: translateY(0); }

  /* -------------------------------------------------------
  LEVEL 2
  ------------------------------------------------------- */
  .overlay-menu > li > .sub-menu {
    position: static;
    width: 100%;
    margin-top: 10px;
    padding-left: 18px;
    display: flex;
    flex-direction: column;
    gap: 5px; }

  .overlay-menu > li > .sub-menu > li {
    display: flex;
    align-items: center;
    flex-wrap: wrap; }

  .overlay-menu > li > .sub-menu > li > a {
    flex: 1;
    font-size: 18px; }

  /* -------------------------------------------------------
  LEVEL 3
  ------------------------------------------------------- */
  .overlay-menu > li > .sub-menu > li > .sub-menu {
    position: static;
    width: 100%;
    margin-top: 6px;
    padding-left: 18px;
    display: flex;
    flex-direction: column;
    gap: 3px; }

  .overlay-menu > li > .sub-menu > li > .sub-menu > li {
    display: block; }

  .nav-badge {
    display: none; } }
/* -------------------------------------------------------
   Link swap
-------------------------------------------------------- */
.link-swap {
  position: relative;
  display: inline-block;
  line-height: 1.2em;
  height: 1.2em;
  overflow: hidden;
  padding: 0;
  cursor: pointer;
  width: 100%;
  transition: .45s ease; }
  .link-swap__top, .link-swap__bottom {
    display: block;
    white-space: nowrap;
    transition: transform 300ms cubic-bezier(0.16, 1, 0.3, 1); }
  .link-swap__bottom {
    position: absolute;
    top: 100%;
    left: 0; }

.overlay-menu a:hover .link-swap__top,
.overlay-menu a:focus-visible .link-swap__top {
  color: #AED9E8;
  transition: .45s ease; }

/* =========================================================
   SITE FOOTER
========================================================= */
.site-footer {
  background: var(--footer-bg);
  color: var(--footer-text);
  /* -----------------------------
     Footer-only link swap
  ------------------------------ */
  /* -----------------------------
     Spacing
  ------------------------------ */
  /* -----------------------------
     ROW 1: 2fr | 1fr | 1fr
  ------------------------------ */
  /* -----------------------------
     ROW 2: LEFT HALF (2fr) | RIGHT HALF (2fr)
     ...but RIGHT HALF equals (1fr + 1fr) from Row 1
  ------------------------------ */
  /* Left half: Accreditations | Contact */
  /* Right half: Policies | Social */
  /* -----------------------------
     ROW 3
  ------------------------------ */
  /* -----------------------------
     Typography
  ------------------------------ */
  /* -----------------------------
     Lists (menus + social)
  ------------------------------ */
  /* -----------------------------
     Contact stack spacing
  ------------------------------ */
  /* -----------------------------
     Accreditations
  ------------------------------ */ }
  .site-footer .footer-link {
    color: var(--footer-text);
    text-decoration: none;
    display: block;
    width: fit-content; }
  .site-footer .footer-swap {
    position: relative;
    display: inline-block;
    width: 100%;
    overflow: hidden;
    line-height: 1.2em;
    height: 1.2em;
    white-space: nowrap; }
  .site-footer .footer-swap__top {
    display: block;
    transition: transform 320ms cubic-bezier(0.16, 1, 0.3, 1); }
  .site-footer .footer-outer {
    padding: 80px 0 40px; }
  .site-footer .footer-row {
    display: grid;
    gap: 0;
    margin-bottom: 60px; }
    @media (max-width: 1099px) {
      .site-footer .footer-row {
        grid-template-columns: 1fr;
        gap: 40px; } }
  .site-footer .footer-row-1 {
    align-items: start; }
    @media (min-width: 1100px) {
      .site-footer .footer-row-1 {
        grid-template-columns: 2fr 1fr 1fr; } }
  .site-footer .footer-row-2 {
    font-size: 15px;
    align-items: start; }
    @media (min-width: 1100px) {
      .site-footer .footer-row-2 {
        grid-template-columns: 2fr 2fr;
        /* left = Row1 col1, right = Row1 col2+col3 */ } }
  .site-footer .footer-left {
    display: grid;
    align-items: start;
    gap: 40px; }
    @media (min-width: 1100px) {
      .site-footer .footer-left.has-acc {
        grid-template-columns: 1fr 1fr; } }
    .site-footer .footer-left.no-acc {
      grid-template-columns: 1fr;
      /* contact takes whole left half */ }
  .site-footer .footer-right {
    display: grid;
    align-items: start;
    gap: 40px; }
    @media (min-width: 1100px) {
      .site-footer .footer-right {
        grid-template-columns: 1fr 1fr; } }
  .site-footer .footer-row-3 {
    margin-bottom: 0;
    padding-top: 40px;
    border-top: 1px solid rgba(255, 255, 255, 0.1);
    display: flex;
    justify-content: space-between;
    align-items: center; }
    @media (max-width: 900px) {
      .site-footer .footer-row-3 {
        flex-direction: column;
        gap: 15px; } }
  .site-footer .footer-title {
    font-family: "larken", sans-serif;
    font-size: clamp(24px, 2.4vw, 32px);
    line-height: 1.2;
    max-width: 90%;
    margin: 0; }
  .site-footer .footer-copy,
  .site-footer .footer-credit {
    font-size: 13px; }
  .site-footer ul,
  .site-footer .footer-nav ul,
  .site-footer .footer-nav ul.menu {
    list-style: none;
    padding: 0;
    margin: 0; }
  .site-footer li {
    margin-bottom: 12px; }
  .site-footer .footer-contact .footer-address {
    margin: 0 0 18px 0;
    opacity: 0.95; }
  .site-footer .footer-contact .footer-link {
    margin: 0 0 10px 0; }
  .site-footer .footer-contact .footer-link:last-child {
    margin-bottom: 0; }
  .site-footer .footer-accreditations {
    display: flex;
    gap: 25px;
    align-items: center;
    flex-wrap: nowrap; }
    .site-footer .footer-accreditations img {
      display: block;
      object-fit: contain;
      flex: 0 0 auto;
      max-width: none;
      height: auto; }
    .site-footer .footer-accreditations img.acc-1 {
      width: 125px;
      height: 125px; }
    .site-footer .footer-accreditations img.acc-2 {
      width: 100px;
      height: 100px; }

/* =========================================================
   INLINE SECTION GRAPHIC (SVG overlay, not ::before bg-image)
========================================================= */
.has-section-graphic {
  position: relative;
  isolation: isolate; }

.has-section-graphic.overflow-hidden {
  overflow: hidden; }

/* Injected wrapper containing inline SVG */
.has-section-graphic > .geo-section-graphic {
  position: absolute;
  inset: 0;
  pointer-events: none;
  z-index: 0;
  opacity: var(--section-graphic-opacity, 0.25);
  mix-blend-mode: var(--section-graphic-blend, normal);
  transform: rotate(var(--section-graphic-rotate, 0deg));
  transform-origin: center;
  display: flex;
  align-items: center;
  justify-content: center; }

.has-section-graphic > .geo-section-graphic {
  top: var(--section-graphic-offset-top);
  left: var(--section-graphic-offset-left); }

.has-section-graphic[style*="--section-graphic-layer:mid"] > .geo-section-graphic {
  z-index: 2; }

.has-section-graphic > * {
  position: relative;
  z-index: 1; }

/* =========================================================
   POSITION LOGIC
========================================================= */
.has-section-graphic[style*="--section-graphic-pos:left top"] > .geo-section-graphic {
  align-items: flex-start;
  justify-content: flex-start; }

.has-section-graphic[style*="--section-graphic-pos:center top"] > .geo-section-graphic {
  align-items: flex-start;
  justify-content: center; }

.has-section-graphic[style*="--section-graphic-pos:right top"] > .geo-section-graphic {
  align-items: flex-start;
  justify-content: flex-end; }

.has-section-graphic[style*="--section-graphic-pos:left center"] > .geo-section-graphic {
  align-items: center;
  justify-content: flex-start; }

.has-section-graphic[style*="--section-graphic-pos:center"],
.has-section-graphic[style*="--section-graphic-pos:center center"] > .geo-section-graphic {
  align-items: center;
  justify-content: center; }

.has-section-graphic[style*="--section-graphic-pos:right center"] > .geo-section-graphic {
  align-items: center;
  justify-content: flex-end; }

.has-section-graphic[style*="--section-graphic-pos:left bottom"] > .geo-section-graphic {
  align-items: flex-end;
  justify-content: flex-start; }

.has-section-graphic[style*="--section-graphic-pos:center bottom"] > .geo-section-graphic {
  align-items: flex-end;
  justify-content: center; }

.has-section-graphic[style*="--section-graphic-pos:right bottom"] > .geo-section-graphic {
  align-items: flex-end;
  justify-content: flex-end; }

/* =========================================================
   SVG SIZING
========================================================= */
.has-section-graphic > .geo-section-graphic svg {
  width: var(--section-graphic-width, auto);
  height: auto;
  max-width: 100%; }

/* =========================================================
   COLOUR OVERRIDE 
========================================================= */
.geo-section-graphic svg .graphic-1,
.geo-section-graphic svg .graphic-2,
.geo-section-graphic svg .graphic-3,
.geo-section-graphic svg .graphic-4,
.geo-section-graphic svg .graphic-5,
.geo-section-graphic svg .graphic-6,
.geo-section-graphic svg .graphic-7,
.geo-section-graphic svg .graphic-8,
.geo-section-graphic svg .graphic-9 {
  fill: var(--section-graphic-colour) !important; }
.geo-section-graphic.overflow-hidden {
  overflow: hidden; }
.geo-section-graphic.overflow-visible {
  overflow: visible; }

.gallery-slider.swiper .swiper-wrapper {
  transition-timing-function: linear !important; }

/* =========================================================
   HERO IMAGE/VIDEO BLOCK
========================================================= */
.hero-image-video {
  position: relative;
  min-height: 80vh;
  overflow: hidden;
  display: flex;
  align-items: center;
  justify-content: center;
  --ears-colour: var(--ivory); }
  .hero-image-video .hero-image-video-media {
    position: absolute;
    inset: 0;
    z-index: 1;
    overflow: hidden; }
    .hero-image-video .hero-image-video-media .hero-image-video__img,
    .hero-image-video .hero-image-video-media .hero-image-video__video {
      position: absolute;
      inset: 0;
      width: 100%;
      height: 100%;
      object-fit: cover;
      object-position: center;
      display: block; }
    .hero-image-video .hero-image-video-media .hero-image-video__overlay {
      position: absolute;
      inset: 0;
      z-index: 2;
      background: rgba(0, 0, 0, 0.35);
      pointer-events: none; }
  .hero-image-video .hero-image-video__content {
    position: relative;
    z-index: 10;
    width: 100%;
    max-width: 700px;
    padding: 60px 20px;
    text-align: center; }
    .hero-image-video .hero-image-video__content .hero-image-video__title {
      font-weight: 700;
      letter-spacing: 0.02em;
      line-height: 1.05;
      font-size: clamp(72px, 5vw, 96px);
      margin: 0 0 24px;
      text-transform: uppercase; }
    .hero-image-video .hero-image-video__content .scroll-to-doscover {
      color: #F0EBDE;
      font-size: 14px;
      margin: 90px auto 20px auto;
      display: block; }
  .hero-image-video .hero-image-video__actions {
    display: flex;
    justify-content: center;
    margin-top: 24px; }
  .hero-image-video.has-bottom-ears::before, .hero-image-video.has-bottom-ears::after {
    content: "";
    position: absolute;
    bottom: 0;
    width: 60px;
    height: 60px;
    background: var(--ears-colour);
    z-index: 9;
    pointer-events: none; }
  .hero-image-video.has-bottom-ears::before {
    left: 0;
    border-top-right-radius: 999px; }
  .hero-image-video.has-bottom-ears::after {
    right: 0;
    border-top-left-radius: 999px; }
  @media (max-width: 768px) {
    .hero-image-video {
      min-height: 45vh; }
      .hero-image-video.has-bottom-ears::before, .hero-image-video.has-bottom-ears::after {
        width: 34px;
        height: 34px; }
      .hero-image-video .hero-image-video__content {
        padding: 45px 18px; }
        .hero-image-video .hero-image-video__content .hero-image-video__title {
          font-size: clamp(36px, 8vw, 56px);
          padding-top: 80px; } }

/* =========================================================
   TITLEBAR FOUR IMAGES
   ========================================================= */
.titlebar-four-images {
  position: relative;
  /* Center content */
  /* Kicker centered */
  /* Images */
  /* Top-left (big) */
  /* Top-right (small) */
  /* Bottom-left (small) */
  /* Bottom-right (largest) */
  /* MOBILE: reduce overlap and keep readable */ }
  .titlebar-four-images__inner {
    position: relative;
    max-width: 1700px;
    margin: 0 auto;
    padding: 80px 28px 90px;
    min-height: clamp(520px, 60vh, 820px); }
  .titlebar-four-images__content {
    position: relative;
    z-index: 5;
    text-align: center;
    max-width: 980px;
    margin: 0 auto;
    padding: 40px 0; }
  .titlebar-four-images__kicker {
    display: inline-flex;
    align-items: center;
    gap: 18px;
    text-transform: uppercase;
    letter-spacing: 0.18em;
    font-size: 13px;
    line-height: 1;
    margin: 0 0 26px; }
  .titlebar-four-images__kicker-line {
    width: 140px;
    height: 4px;
    opacity: 0.85;
    background: radial-gradient(circle, currentColor 0 2px, transparent 3px) left center/4px 4px no-repeat, radial-gradient(circle, currentColor 0 2px, transparent 3px) right center/4px 4px no-repeat, linear-gradient(currentColor, currentColor) center/calc(100% - 8px) 1px no-repeat; }
  .titlebar-four-images__kicker-text {
    white-space: nowrap; }
  .titlebar-four-images__title {
    margin: 0 0 26px;
    line-height: 0.92;
    letter-spacing: -0.01em;
    font-size: clamp(56px, 7vw, 140px);
    font-weight: 500;
    text-transform: uppercase;
    max-width: 70%;
    margin: 0 auto; }
  .titlebar-four-images__scroll {
    letter-spacing: 0.18em;
    text-transform: uppercase;
    font-size: 12px;
    opacity: 0.6;
    margin-top: 26px; }
  .titlebar-four-images__actions {
    margin-top: 34px;
    display: flex;
    justify-content: center; }
  .titlebar-four-images__img {
    position: absolute;
    margin: 0;
    z-index: 2;
    overflow: hidden;
    background: rgba(255, 255, 255, 0.12); }
  .titlebar-four-images__img-el {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: cover;
    object-position: center; }
  .titlebar-four-images__img--1 {
    top: 44px;
    left: 28px;
    width: clamp(220px, 20vw, 360px);
    aspect-ratio: 1 / 1.05; }
  .titlebar-four-images__img--2 {
    top: 110px;
    right: 70px;
    width: clamp(180px, 16vw, 300px);
    aspect-ratio: 4 / 3; }
  .titlebar-four-images__img--3 {
    left: 240px;
    bottom: 70px;
    width: clamp(200px, 18vw, 320px);
    aspect-ratio: 4 / 3; }
  .titlebar-four-images__img--4 {
    right: 28px;
    bottom: 30px;
    width: clamp(320px, 28vw, 520px);
    aspect-ratio: 4 / 3; }
  @media (max-width: 991px) {
    .titlebar-four-images {
      /* put images into flow-ish layout */ }
      .titlebar-four-images__inner {
        padding: 0px 18px 70px;
        min-height: auto; }
      .titlebar-four-images__title {
        margin-top: 80px;
        font-size: clamp(42px, 10vw, 78px); }
      .titlebar-four-images__img {
        position: relative;
        inset: auto;
        width: 100% !important;
        max-width: 520px;
        margin: 18px auto 0;
        aspect-ratio: 16 / 10; }
      .titlebar-four-images__img--1 {
        order: 1; }
      .titlebar-four-images__img--2 {
        order: 2;
        display: none; }
      .titlebar-four-images__img--3 {
        order: 3;
        display: none; }
      .titlebar-four-images__img--4 {
        order: 4;
        display: none; }
      .titlebar-four-images__content {
        padding: 10px 0 0; }
      .titlebar-four-images__kicker-line {
        width: 110px; } }

@media (max-width: 900px) {
  .titlebar-four-images-block.pt90 {
    padding-top: 0; } }
/* =========================================================
   TITLEBAR ONE COLUMN BLOCK
========================================================= */
.titlebar-one-column {
  position: relative;
  /* Split background support (same logic as your other blocks) */
  /* Top content centered like your screenshot */ }
  .titlebar-one-column.bg-split {
    --split: 50%;
    background: linear-gradient(180deg, var(--top-color, transparent) 0%, var(--top-color, transparent) var(--split), var(--bottom-color, transparent) var(--split), var(--bottom-color, transparent) 100%); }
  .titlebar-one-column__inner {
    max-width: 1400px;
    margin: 0 auto;
    padding: 60px 28px 30px; }
  .titlebar-one-column__top {
    text-align: center;
    max-width: 980px;
    margin: 0 auto; }
  .titlebar-one-column__title {
    margin: 0 0 18px;
    line-height: 0.95;
    letter-spacing: -0.01em;
    font-size: clamp(44px, 6vw, 110px);
    font-weight: 500;
    text-transform: uppercase; }
  .titlebar-one-column__text {
    margin: 0 auto;
    font-size: clamp(16px, 1.4vw, 20px);
    line-height: 1.6;
    max-width: 720px; }
  .titlebar-one-column__scroll {
    margin: 34px 0 0;
    letter-spacing: 0.18em;
    text-transform: uppercase;
    font-size: 12px;
    opacity: 0.55; }
  .titlebar-one-column__divider {
    margin: 34px 0;
    border: 0;
    border-top: 1px solid rgba(0, 0, 0, 0.12); }
  .titlebar-one-column__img {
    margin: 0;
    overflow: hidden;
    border-radius: 8px; }
  .titlebar-one-column__img-el {
    width: 100%;
    height: auto;
    display: block;
    /* crop feel like the reference */
    aspect-ratio: 21 / 9;
    object-fit: cover;
    object-position: center; }
  @media (max-width: 991px) {
    .titlebar-one-column__inner {
      padding: 90px 18px 26px; }
    .titlebar-one-column__scroll {
      margin-top: 24px; }
    .titlebar-one-column__img-el {
      aspect-ratio: 16 / 9; } }

/* =========================================================
   TITLEBAR TEXT + IMAGE BLOCK
========================================================= */
.titlebar-text-image {
  position: relative;
  /* Right side image */
  /* MOBILE */ }
  .titlebar-text-image__inner {
    max-width: 1400px;
    margin: 0 auto;
    padding: 60px 28px; }
  .titlebar-text-image__grid {
    display: grid;
    grid-template-columns: 0.90fr 1fr;
    gap: 60px;
    align-items: start; }
  .titlebar-text-image__content {
    padding-top: 4px; }
  .titlebar-text-image__kicker {
    display: inline-flex;
    align-items: center;
    gap: 18px;
    text-transform: uppercase;
    letter-spacing: 0.18em;
    font-size: 13px;
    line-height: 1;
    margin: 0 0 22px; }
  .titlebar-text-image__kicker-line {
    width: 100px;
    height: 4px;
    opacity: 0.8;
    background: radial-gradient(circle, currentColor 0 2px, transparent 3px) left center/4px 4px no-repeat, radial-gradient(circle, currentColor 0 2px, transparent 3px) right center/4px 4px no-repeat, linear-gradient(currentColor, currentColor) center/calc(100% - 8px) 1px no-repeat; }
  .titlebar-text-image__kicker-text {
    white-space: nowrap; }
  .titlebar-text-image__title {
    margin: 0 0 26px;
    line-height: 0.95;
    letter-spacing: -0.01em;
    font-size: clamp(46px, 5.2vw, 110px);
    font-weight: 500;
    text-transform: uppercase; }
  .titlebar-text-image__text {
    max-width: 520px;
    font-size: clamp(16px, 1.2vw, 20px);
    line-height: 1.65;
    opacity: 0.95; }
  .titlebar-text-image__img {
    margin: 0;
    overflow: hidden;
    border-radius: 0;
    background: rgba(255, 255, 255, 0.2); }
  .titlebar-text-image__img-el {
    width: 100%;
    height: auto;
    display: block;
    aspect-ratio: 3 / 3;
    object-fit: cover;
    object-position: center; }
  @media (max-width: 991px) {
    .titlebar-text-image__inner {
      padding: 44px 18px; }
    .titlebar-text-image__grid {
      grid-template-columns: 1fr;
      gap: 28px; }
    .titlebar-text-image__text {
      max-width: 100%; }
    .titlebar-text-image__kicker {
      gap: 14px;
      font-size: 12px;
      margin-bottom: 18px; }
    .titlebar-text-image__kicker-line {
      width: 40px;
      opacity: 0.75; }
    .titlebar-text-image__img-el {
      aspect-ratio: 16 / 10; } }

/* =========================================================
   TITLEBAR TWO COLUMN BLOCK
   (matches updated PHP markup: __kicker, __kicker-line, __kicker-text)
========================================================= */
.titlebar-two-column {
  position: relative;
  /* Split background support */
  /* =========================================================
     KICKER ROW (separate row above top grid)
     - small dot + line + dot (max ~150px)
     - subtitle sits next to it, does NOT push spacing wide
  ========================================================= */
  /* TOP ROW */
  /* BOTTOM ROW */
  /* “hero-like” crop */
  /* MOBILE */ }
  .titlebar-two-column.bg-split {
    --split: 50%;
    background: linear-gradient(180deg, var(--top-color, transparent) 0%, var(--top-color, transparent) var(--split), var(--bottom-color, transparent) var(--split), var(--bottom-color, transparent) 100%); }
  .titlebar-two-column__inner {
    max-width: 1400px;
    margin: 0 auto;
    padding: 40px 28px; }
  .titlebar-two-column__kicker {
    display: inline-flex;
    align-items: center;
    gap: 16px;
    color: inherit;
    text-transform: uppercase;
    letter-spacing: 0.18em;
    font-size: 14px;
    margin: 0 0 18px; }
  .titlebar-two-column__kicker-line {
    display: inline-block;
    flex: 0 0 auto;
    width: 140px;
    height: 4px;
    opacity: 0.6;
    background: radial-gradient(circle, currentColor 0 2px, transparent 3px) left center/4px 4px no-repeat, radial-gradient(circle, currentColor 0 2px, transparent 3px) right center/4px 4px no-repeat, linear-gradient(currentColor, currentColor) center/calc(100% - 8px) 1px no-repeat; }
  .titlebar-two-column__kicker-text {
    display: inline-block;
    white-space: nowrap; }
  .titlebar-two-column__top {
    display: grid;
    grid-template-columns: 1.4fr 1fr;
    gap: 40px;
    align-items: start; }
  .titlebar-two-column__title {
    margin: 0;
    line-height: 0.95;
    letter-spacing: -0.01em;
    font-size: clamp(44px, 6vw, 110px);
    font-weight: 500;
    text-transform: uppercase; }
  .titlebar-two-column__text {
    font-size: clamp(16px, 1.4vw, 20px);
    line-height: 1.6;
    margin-left: auto;
    margin-bottom: 30px; }
  .titlebar-two-column__divider {
    margin: 34px 0;
    border: 0;
    border-top: 1px solid rgba(0, 0, 0, 0.12); }
  .titlebar-two-column__bottom {
    display: grid;
    grid-template-columns: 1.4fr 1fr;
    gap: 40px;
    align-items: start; }
  .titlebar-two-column__scroll {
    text-align: right;
    letter-spacing: 0.18em;
    text-transform: uppercase;
    font-size: 12px;
    opacity: 0.55;
    margin: 6px 0 18px; }
  .titlebar-two-column__img {
    margin: 0;
    overflow: hidden; }
  .titlebar-two-column__img-el {
    width: 100%;
    height: auto;
    display: block; }
  .titlebar-two-column__img--one .titlebar-two-column__img-el, .titlebar-two-column__img--two .titlebar-two-column__img-el {
    aspect-ratio: 16 / 9;
    object-fit: cover; }
  @media (max-width: 991px) {
    .titlebar-two-column__inner {
      padding: 30px 18px; }
    .titlebar-two-column__top, .titlebar-two-column__bottom {
      grid-template-columns: 1fr;
      gap: 26px; }
    .titlebar-two-column__text {
      max-width: 100%;
      margin-left: 0; }
    .titlebar-two-column__scroll {
      text-align: left; }
    .titlebar-two-column__kicker {
      gap: 12px;
      font-size: 12px;
      margin-bottom: 14px; }
    .titlebar-two-column__kicker-line {
      width: 110px;
      opacity: 0.55; }
    .titlebar-two-column .titlebar-two-column__img--two {
      display: none; } }

@media (max-width: 991px) {
  .titlebar-two-column-block.pb80 {
    padding-bottom: 0 !important; } }
/* =========================================================
   HALL CARD
========================================================= */
.hall-card {
  --hc-bg: transparent;
  --hc-divider: rgba(255,255,255,0.2);
  --hc-title: inherit;
  --hc-text: inherit;
  background: var(--hc-bg);
  padding: 24px;
  display: flex;
  flex-direction: column;
  gap: 18px;
  height: 100%;
  box-sizing: border-box; }
  .hall-card__media {
    width: 100%;
    overflow: hidden;
    height: 250px; }
  .hall-card__img {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: cover; }
  .hall-card__body {
    display: flex;
    flex-direction: column;
    gap: 14px;
    flex: 1; }
  .hall-card__title {
    margin: 0;
    color: var(--hc-title);
    font-size: 24px;
    font-style: normal;
    font-weight: 400;
    line-height: 120%; }
  .hall-card__text {
    color: var(--hc-text);
    opacity: .6; }
  .hall-card__divider {
    border: 0;
    border-top: 1px solid var(--hc-divider);
    margin: 6px 0 8px; }
  .hall-card__btn {
    align-self: flex-start;
    margin-top: auto; }

.event-promo-block {
  position: relative;
  overflow: hidden;
  isolation: isolate;
  --event-promo-bg: none;
  --focus-line-colour: rgba(240,235,222,0.8); }
  .event-promo-block .event-promo__bg {
    position: absolute;
    inset: 0;
    z-index: 0;
    background-image: var(--event-promo-bg);
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    transform: scale(1.02);
    min-height: 100vh; }
  .event-promo-block.is-bw .event-promo__bg {
    filter: grayscale(1) contrast(1.05); }
  .event-promo-block .event-promo__inner {
    position: relative;
    z-index: 2;
    text-align: center;
    margin: 0 auto;
    padding: 80px 0;
    display: grid;
    grid-template-rows: auto 1fr auto;
    row-gap: 150px; }
  .event-promo-block .event-promo__subtitle {
    text-transform: uppercase;
    margin-bottom: 40px; }
  .event-promo-block .event-promo__title {
    font-size: clamp(2rem, 8vw, 4rem);
    margin: 0px auto 50px auto;
    max-width: 33%; }
  @media (max-width: 1200px) {
    .event-promo-block .event-promo__title {
      max-width: 100%; } }
  @media (max-width: 700px) {
    .event-promo-block .event-promo__inner {
      row-gap: 50px; } }
  .event-promo-block .event-promo__overlay {
    position: absolute;
    inset: 0;
    z-index: 1;
    background: var(--event-promo-overlay, transparent);
    opacity: var(--event-promo-overlay-opacity, 0);
    pointer-events: none; }
  .event-promo-block .event-promo__frame {
    display: flex;
    align-items: center;
    justify-content: center;
    pointer-events: none; }
    .event-promo-block .event-promo__frame svg {
      width: 100%;
      max-width: 100%;
      height: auto; }
    .event-promo-block .event-promo__frame svg * {
      fill: var(--focus-line-colour) !important; }
  .event-promo-block .event-promo__frame--bottom {
    transform: scaleY(-1); }

/* =========================================================
   ANIMATED STATS
========================================================= */
.animated-stats {
  --as-number-colour: currentColor;
  --as-text-colour: currentColor;
  --as-border-colour: currentColor;
  position: relative;
  text-align: center;
  /* ---------------------------------------------
     Borders
  --------------------------------------------- */
  /* ---------------------------------------------
     Inner wrapper
  --------------------------------------------- */
  /* ---------------------------------------------
     Layout modes
  --------------------------------------------- */
  /* ---------------------------------------------
     Order modes
  --------------------------------------------- */
  /* ---------------------------------------------
     Number
  --------------------------------------------- */ }
  .animated-stats.has-border-top {
    border-top: 1px solid color-mix(in srgb, var(--as-border-colour) 40%, transparent);
    padding-top: 20px; }
  .animated-stats.has-border-bottom {
    border-bottom: 1px solid color-mix(in srgb, var(--as-border-colour) 40%, transparent);
    padding-bottom: 20px; }
  .animated-stats .animated-stats__inner {
    display: flex;
    align-items: baseline;
    justify-content: center;
    gap: 18px; }
  .animated-stats.is-stack .animated-stats__inner {
    flex-direction: column;
    align-items: center;
    gap: 10px; }
  .animated-stats.is-inline .animated-stats__inner {
    flex-direction: row;
    justify-content: flex-start; }
  .animated-stats.is-inline-center .animated-stats__inner {
    flex-direction: row;
    justify-content: center;
    align-items: center; }
  .animated-stats.is-inline-space-between .animated-stats__inner {
    flex-direction: row;
    justify-content: space-between;
    width: 100%;
    align-items: center; }
  .animated-stats.is-text-first .animated-stats__inner {
    padding: 0; }
  .animated-stats .animated-stats__number {
    font-size: clamp(2rem, 5vw, 4rem);
    line-height: 1;
    font-family: "larken", sans-serif;
    color: var(--as-number-colour, currentColor); }
  .animated-stats .animated-stats__label {
    font-size: 18px;
    opacity: 0.75;
    color: var(--as-text-colour, currentColor); }

/* =========================================================
  Testimonial Slider Block
  (Stationers Hall style)
========================================================= */
.testimonial-slider-block {
  background: var(--ts-bg, transparent);
  position: relative;
  /* give the whole block breathing room (your usual spacing can override) */
  /* Kicker wrapper spacing only (your .sh-paragraph-kicker handles visuals) */
  /* Swiper */
  /* ---------------------------------------------------------
    Slide Layout
  --------------------------------------------------------- */
  /* Big headline (matches screenshot: elegant, not too huge) */
  /* Quote */
  /* Meta row (Tamara and Sacha | Wedding | date) */
  /* ---------------------------------------------------------
    Image
  --------------------------------------------------------- */
  /* ---------------------------------------------------------
    Nav row (bottom right)
  --------------------------------------------------------- */
  /* chevrons */
  /* Disabled look */
  /* =========================================================
    Responsive
  ========================================================= */ }
  .testimonial-slider-block .testimonial-slider__inner {
    width: 100%; }
  .testimonial-slider-block .testimonial-slider__kicker {
    margin-bottom: 55px; }
  .testimonial-slider-block .testimonial-slider {
    width: 100%; }
  .testimonial-slider-block .testimonial-slide {
    display: grid;
    grid-template-columns: 1fr 1fr;
    column-gap: 90px;
    align-items: start; }
  .testimonial-slider-block .testimonial-slide__left {
    padding-right: 20px; }
  .testimonial-slider-block .testimonial-slide__headline {
    font-size: clamp(1.7rem, 2.6vw, 2.55rem);
    line-height: 1.35;
    margin: 0 0 45px 0;
    max-width: 740px; }
  .testimonial-slider-block .testimonial-slide__quote {
    font-size: 18px;
    line-height: 1.95;
    margin: 0 0 35px 0;
    opacity: 0.6;
    /* screenshot feels lighter */ }
    .testimonial-slider-block .testimonial-slide__quote p {
      margin: 0; }
  .testimonial-slider-block .testimonial-slide__meta {
    font-size: 14px;
    letter-spacing: 0.02em;
    opacity: 0.75;
    margin-top: 10px; }
  .testimonial-slider-block .testimonial-slide__right {
    display: flex;
    justify-content: flex-end; }
  .testimonial-slider-block .testimonial-slide__imagewrap {
    width: 100%;
    max-width: 760px; }
  .testimonial-slider-block .testimonial-slider__img {
    width: 100%;
    height: auto;
    display: block;
    border-radius: 0; }
  .testimonial-slider-block .testimonial-slider__nav {
    margin-top: 55px;
    display: flex;
    justify-content: flex-end;
    align-items: center;
    gap: 20px; }
  .testimonial-slider-block .swiper-pagination {
    position: static !important;
    width: auto !important;
    flex: 0 0 auto;
    display: flex;
    align-items: center;
    gap: 12px;
    margin: 0 !important; }
  .testimonial-slider-block .swiper-pagination-bullets.swiper-pagination-horizontal {
    width: auto; }
  .testimonial-slider-block .swiper-pagination-bullet {
    width: auto;
    height: auto;
    background: transparent;
    border-radius: 0;
    margin: 0 !important;
    padding: 0;
    cursor: pointer;
    font-size: 18px;
    line-height: 1;
    opacity: 0.35;
    transition: opacity 0.2s ease;
    padding: 0 5px; }
  .testimonial-slider-block .swiper-pagination-bullet-active {
    opacity: 1; }
  .testimonial-slider-block .testimonial-slider__prev,
  .testimonial-slider-block .testimonial-slider__next {
    width: 30px;
    height: 30px;
    border: 1px solid currentColor;
    background: transparent;
    padding: 0;
    cursor: pointer;
    position: relative;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    transition: opacity 0.2s ease; }
  .testimonial-slider-block .testimonial-slider__prev:hover,
  .testimonial-slider-block .testimonial-slider__next:hover {
    opacity: 0.75; }
  .testimonial-slider-block .testimonial-slider__prev::before,
  .testimonial-slider-block .testimonial-slider__next::before {
    content: "";
    width: 10px;
    height: 10px;
    border-top: 1px solid currentColor;
    border-right: 1px solid currentColor;
    display: block; }
  .testimonial-slider-block .testimonial-slider__prev::before {
    transform: rotate(-135deg);
    margin-left: 3px; }
  .testimonial-slider-block .testimonial-slider__next::before {
    transform: rotate(45deg);
    margin-right: 3px; }
  .testimonial-slider-block .swiper-button-disabled,
  .testimonial-slider-block .testimonial-slider__prev.swiper-button-disabled,
  .testimonial-slider-block .testimonial-slider__next.swiper-button-disabled {
    opacity: 0.25;
    cursor: default; }
  @media (max-width: 1100px) {
    .testimonial-slider-block .testimonial-slide {
      column-gap: 60px; }
    .testimonial-slider-block .testimonial-slide__headline {
      margin-bottom: 70px; }
    .testimonial-slider-block .testimonial-slide__quote {
      margin-bottom: 65px; } }
  @media (max-width: 900px) {
    .testimonial-slider-block .testimonial-slide {
      column-gap: 40px; }
    .testimonial-slider-block .testimonial-slide__headline {
      margin-bottom: 55px; } }
  @media (max-width: 800px) {
    .testimonial-slider-block .testimonial-slide {
      grid-template-columns: 1fr;
      row-gap: 45px; }
    .testimonial-slider-block .testimonial-slide__left {
      padding-right: 0; }
    .testimonial-slider-block .testimonial-slide__right {
      justify-content: flex-start; }
    .testimonial-slider-block .testimonial-slider__nav {
      justify-content: center; }
    .testimonial-slider-block .testimonial-slide__headline {
      max-width: 100%; } }
  @media (max-width: 600px) {
    .testimonial-slider-block .testimonial-slider__kicker {
      margin-bottom: 30px; }
    .testimonial-slider-block .testimonial-slide__headline {
      font-size: clamp(1.45rem, 6vw, 2rem);
      margin-bottom: 35px; }
    .testimonial-slider-block .testimonial-slide__quote {
      font-size: 16px;
      margin-bottom: 35px; }
    .testimonial-slider-block .testimonial-slider__nav {
      margin-top: 35px;
      gap: 14px; }
    .testimonial-slider-block .testimonial-slider__prev,
    .testimonial-slider-block .testimonial-slider__next {
      width: 40px;
      height: 40px; }
    .testimonial-slider-block .swiper-pagination-bullet {
      font-size: 15px; } }

.geo-button-block {
  display: flex;
  flex-wrap: wrap;
  gap: var(--btn-gap); }
  .geo-button-block.is-align-left {
    justify-content: flex-start; }
  .geo-button-block.is-align-center {
    justify-content: center; }
  .geo-button-block.is-align-right {
    justify-content: flex-end; }

/* =========================================================
   Intro Text Block
========================================================= */
.intro-text-block {
  position: relative;
  --intro-line-colour: rgba(0, 0, 0, 0.18);
  --intro-text-colour: currentColor;
  /* =========================================================
     Responsive
  ========================================================= */ }
  .intro-text-block .intro-text__inner {
    position: relative;
    width: 100%;
    margin: 0 auto;
    text-align: center;
    max-width: 1100px; }
  .intro-text-block .intro-text__line {
    display: block;
    width: 1px;
    height: 250px;
    margin: 0 auto;
    background: var(--intro-line-colour);
    opacity: 1;
    margin-top: -50px;
    position: relative; }
  .intro-text-block .intro-text__line--top {
    margin-bottom: 60px; }
  .intro-text-block .intro-text__line--bottom {
    margin-top: 80px; }
  .intro-text-block .intro-text__content {
    color: var(--intro-text-colour);
    font-size: clamp(2rem, 5vw, 4.4rem);
    line-height: 1.12;
    letter-spacing: 0;
    font-weight: 400;
    font-family: "larken", sans-serif;
    max-width: 980px;
    margin: 0 auto; }
    .intro-text-block .intro-text__content p {
      margin: 0; }
  .intro-text-block .intro-text__cta {
    margin-top: 48px;
    display: flex; }
  .intro-text-block.is-align-left .intro-text__cta {
    justify-content: flex-start; }
  .intro-text-block.is-align-center .intro-text__cta {
    justify-content: center; }
  .intro-text-block.is-align-right .intro-text__cta {
    justify-content: flex-end; }
  @media (max-width: 1200px) {
    .intro-text-block .intro-text__inner {
      max-width: 980px;
      padding: 160px 0; }
    .intro-text-block .intro-text__line {
      height: 120px; } }
  @media (max-width: 900px) {
    .intro-text-block .intro-text__inner {
      padding: 130px 0;
      max-width: 860px; }
    .intro-text-block .intro-text__line--top {
      margin-bottom: 45px; }
    .intro-text-block .intro-text__line--bottom {
      margin-top: 60px; } }
  @media (max-width: 700px) {
    .intro-text-block .intro-text__inner {
      padding: 110px 0;
      max-width: 92%; }
    .intro-text-block .intro-text__line {
      height: 90px; }
    .intro-text-block .intro-text__content {
      font-size: clamp(1.6rem, 6vw, 2.8rem);
      line-height: 1.15; }
    .intro-text-block .intro-text__cta {
      margin-top: 35px; } }
  @media (max-width: 500px) {
    .intro-text-block .intro-text__inner {
      padding: 0 0 30px 0; }
    .intro-text-block .intro-text__line {
      height: 70px; }
    .intro-text-block .intro-text__line--top {
      margin-bottom: 35px; }
    .intro-text-block .intro-text__line--bottom {
      margin-top: 45px; } }

.matterport-block {
  width: 100%; }
  .matterport-block .matterport-embed {
    position: relative;
    width: 100%;
    padding-bottom: 56.25%;
    height: 0;
    overflow: hidden; }
  .matterport-block iframe {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    border: none; }

.contact-block {
  --contact-title-colour: var(--bronze);
  --contact-links-colour: var(--deep-ocean);
  --social-title-colour: var(--bronze);
  --social-links-colour: var(--deep-ocean);
  /* Optional: color change */ }
  .contact-block .contact-block__inner {
    max-width: 700px; }
  .contact-block .contact-link:hover .link-swap__top {
    color: var(--bronze);
    transition: ease .45s; }
  .contact-block .contact-block__title {
    font-size: clamp(32px, 5vw, 72px);
    color: var(--bronze);
    margin-bottom: 20px; }
  .contact-block .contact-block__subtitle {
    font-size: 18px;
    margin-bottom: 50px;
    color: var(--deep-ocean); }
  .contact-block .contact-block__heading {
    font-size: 22px;
    font-weight: 600;
    margin-bottom: 20px;
    opacity: 0.7;
    text-transform: uppercase; }
  .contact-block .contact-block__list {
    display: flex;
    flex-direction: column;
    gap: 10px; }
  .contact-block .contact-link {
    color: var(--contact-links-colour);
    text-decoration: none;
    font-family: "Hanken Grotesk", sans-serif;
    transition: ease .45s; }
    .contact-block .contact-link.link-swap {
      font-family: "Hanken Grotesk", sans-serif !important; }
    .contact-block .contact-link.social-facebook, .contact-block .contact-link.social-x, .contact-block .contact-link.social-instagram, .contact-block .contact-link.social-pinterest, .contact-block .contact-link.social-youtube, .contact-block .contact-link.social-linkedin {
      color: var(--social-links-colour); }

.rooms-list-block {
  --rooms-intro-border: var(--bronze);
  --rooms-intro-text-colour: var(--deep-ocean);
  --rooms-item-colour: var(--deep-ocean);
  --rooms-item-hover-colour: var(--bronze);
  --rooms-number-colour: var(--rooms-item-colour);
  --rooms-number-hover-colour: var(--rooms-item-hover-colour);
  --rooms-row-border: rgba(0, 0, 0, 0.12); }
  .rooms-list-block .rooms-list-block__inner {
    padding: 0 40px; }
    @media (max-width: 980px) {
      .rooms-list-block .rooms-list-block__inner {
        padding: 0 20px; } }
  .rooms-list-block .rooms-list-block__intro {
    margin-bottom: 40px; }
  .rooms-list-block .rooms-list-block__intro-border {
    width: 100%;
    border-top: 1px solid var(--rooms-intro-border);
    margin-bottom: 18px; }
  .rooms-list-block .rooms-list-block__intro-text {
    font-family: "larken", sans-serif;
    color: var(--rooms-intro-text-colour);
    /* match link/title sizing */
    font-size: clamp(26px, 3.2vw, 46px);
    line-height: 1.15;
    /* your requested layout */
    padding-right: 33%; }
    @media (max-width: 980px) {
      .rooms-list-block .rooms-list-block__intro-text {
        padding-right: 0; } }
  .rooms-list-block .rooms-list-block__grid {
    display: grid;
    grid-template-columns: minmax(320px, 1fr) minmax(320px, 520px);
    gap: 60px;
    align-items: start; }
    @media (max-width: 980px) {
      .rooms-list-block .rooms-list-block__grid {
        grid-template-columns: 1fr;
        gap: 30px; } }
  .rooms-list-block .rooms-list-block__list {
    display: flex;
    flex-direction: column; }
  .rooms-list-block .rooms-list-block__item {
    display: grid;
    grid-template-columns: 56px 1fr;
    align-items: center;
    gap: 16px;
    text-decoration: none;
    color: var(--rooms-item-colour);
    padding: 18px 0;
    border-top: 1px solid var(--rooms-row-border);
    --rooms-num-colour: var(--rooms-number-colour);
    --rooms-num-colour-hover: var(--rooms-number-hover-colour); }
    .rooms-list-block .rooms-list-block__item:hover, .rooms-list-block .rooms-list-block__item:focus-visible, .rooms-list-block .rooms-list-block__item.is-active {
      color: var(--rooms-item-hover-colour);
      outline: none;
      --rooms-num-colour: var(--rooms-num-colour-hover); }
  .rooms-list-block .rooms-list-block__num {
    font-family: "larken", sans-serif;
    font-size: 18px;
    opacity: 0.85;
    color: var(--rooms-num-colour);
    transition: color 200ms ease; }
  .rooms-list-block .rooms-list-block__title {
    font-family: "larken", sans-serif;
    font-size: clamp(20px, 3.2vw, 46px);
    line-height: 1.1;
    letter-spacing: -0.01em; }
  .rooms-list-block .rooms-list-block__title .link-swap {
    position: relative;
    display: inline-block;
    overflow: hidden;
    line-height: 1.12em;
    width: 100%; }
  .rooms-list-block .rooms-list-block__title .link-swap__top,
  .rooms-list-block .rooms-list-block__title .link-swap__bottom {
    display: block;
    white-space: nowrap;
    will-change: transform;
    transition: transform 300ms cubic-bezier(0.16, 1, 0.3, 1); }
  .rooms-list-block .rooms-list-block__title .link-swap__bottom {
    position: absolute;
    top: 100%;
    left: 0;
    width: 100%; }
  .rooms-list-block .rooms-list-block__item:hover .link-swap__top,
  .rooms-list-block .rooms-list-block__item:hover .link-swap__bottom,
  .rooms-list-block .rooms-list-block__item:focus-visible .link-swap__top,
  .rooms-list-block .rooms-list-block__item:focus-visible .link-swap__bottom,
  .rooms-list-block .rooms-list-block__item.is-active .link-swap__top,
  .rooms-list-block .rooms-list-block__item.is-active .link-swap__bottom {
    transform: translateY(-100%); }
  .rooms-list-block .rooms-list-block__item:hover .link-swap__bottom,
  .rooms-list-block .rooms-list-block__item:focus-visible .link-swap__bottom,
  .rooms-list-block .rooms-list-block__item.is-active .link-swap__bottom {
    font-style: italic; }
  .rooms-list-block .rooms-list-block__previewcol {
    position: sticky;
    top: 120px;
    align-self: start; }
    @media (max-width: 980px) {
      .rooms-list-block .rooms-list-block__previewcol {
        position: relative;
        top: auto; } }
  .rooms-list-block .rooms-list-block__preview {
    width: 100%;
    aspect-ratio: 4 / 3;
    overflow: hidden; }
  .rooms-list-block .rooms-list-block__preview-img {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: cover;
    border-radius: 0; }

/* =========================================================
   ROOMS LIST CARD - USING GSAP 
========================================================= */
.rooms-list-card {
  --rlc-intro-border: var(--bronze);
  --rlc-card-border: rgba(255,255,255,0.10);
  --rlc-title: var(--off-white);
  --rlc-title-hover: var(--rlc-title);
  --rlc-text: rgba(255,255,255,0.70);
  --rlc-num: rgba(255,255,255,0.45);
  --rlc-num-hover: var(--rlc-title-hover);
  --rlc-card-bg: transparent;
  --rlc-card-pad-y: 40px;
  --rlc-card-pad-x: 0px;
  --rlc-deck-offset: 30px;
  position: relative; }
  .rooms-list-card .rooms-list-card__inner {
    padding: 100px 40px; }
    @media (max-width: 980px) {
      .rooms-list-card .rooms-list-card__inner {
        padding: 0 20px; } }
  .rooms-list-card .rooms-list-card__stack {
    position: relative;
    height: auto;
    overflow: visible;
    display: flex;
    flex-direction: column; }
  .rooms-list-card .rooms-list-card__card {
    position: relative;
    inset: auto; }
  .rooms-list-card .rooms-list-card__card-inner {
    height: 100%;
    width: 100%;
    display: grid;
    align-items: center;
    grid-template-columns: 70px minmax(280px, 1fr) minmax(320px, 520px);
    gap: 60px;
    border-top: 1px solid var(--rlc-card-border);
    background: var(--rlc-card-bg);
    padding: var(--rlc-card-pad-y) var(--rlc-card-pad-x);
    box-sizing: border-box; }
    @media (max-width: 1100px) {
      .rooms-list-card .rooms-list-card__card-inner {
        grid-template-columns: 60px 1fr;
        gap: 40px; } }
    @media (max-width: 980px) {
      .rooms-list-card .rooms-list-card__card-inner {
        grid-template-columns: 1fr;
        gap: 18px;
        padding: 40px 0;
        flex-direction: column;
        display: flex;
        justify-content: flex-start !important; } }
    .rooms-list-card .rooms-list-card__card-inner::before {
      content: "";
      position: absolute;
      top: 0;
      left: 0;
      right: 0;
      height: 1px;
      background: var(--rlc-card-border);
      opacity: 0.6; }
  .rooms-list-card .rooms-list-card__num {
    grid-column: 1;
    font-family: "larken", sans-serif;
    font-size: 12px;
    letter-spacing: 0.18em;
    text-transform: uppercase;
    color: var(--rlc-num); }
    @media (max-width: 980px) {
      .rooms-list-card .rooms-list-card__num {
        display: none; } }
  .rooms-list-card .rooms-list-card__left {
    grid-column: 2; }
    @media (max-width: 980px) {
      .rooms-list-card .rooms-list-card__left {
        grid-column: 1; } }
  .rooms-list-card .rooms-list-card__title {
    margin: 0 0 18px 0;
    font-family: "larken", sans-serif;
    font-size: clamp(28px, 3.4vw, 54px);
    line-height: 1.05; }
  .rooms-list-card .rooms-list-card__title-link {
    color: var(--rlc-title);
    text-decoration: none;
    display: inline-block;
    transition: color 200ms ease; }
    .rooms-list-card .rooms-list-card__title-link:hover, .rooms-list-card .rooms-list-card__title-link:focus-visible {
      color: var(--rlc-title-hover);
      outline: none; }
  .rooms-list-card .rooms-list-card__text {
    color: var(--rlc-text);
    font-size: 15px;
    line-height: 1.6;
    max-width: 520px;
    margin-bottom: 25px; }
    .rooms-list-card .rooms-list-card__text p {
      margin: 0 0 12px 0; }
    .rooms-list-card .rooms-list-card__text p:last-child {
      margin-bottom: 0; }
  .rooms-list-card .rooms-list-card__cta {
    margin-top: 20px; }
  .rooms-list-card .rooms-list-card__right {
    grid-column: 3;
    display: flex;
    justify-content: flex-end; }
    @media (max-width: 1100px) {
      .rooms-list-card .rooms-list-card__right {
        grid-column: 1 / -1;
        justify-content: flex-start; } }
    @media (max-width: 980px) {
      .rooms-list-card .rooms-list-card__right {
        grid-column: 1; } }
  .rooms-list-card .rooms-list-card__img {
    width: 100%;
    max-width: 520px;
    height: auto;
    object-fit: cover;
    display: block; }

/* =========================================================
   NEWS EVENTS BLOCK
========================================================= */
.news-events-block {
  position: relative;
  z-index: 1;
  /* Desktop column variations */
  /* Tablet */
  /* Mobile */
  /* Card */ }
  .news-events-block__inner {
    display: grid;
    gap: 40px;
    padding: 0 40px; }
  .news-events-block.cols-3 .news-events-block__inner {
    grid-template-columns: repeat(3, 1fr); }
  .news-events-block.cols-4 .news-events-block__inner {
    grid-template-columns: repeat(4, 1fr); }
  .news-events-block.cols-5 .news-events-block__inner {
    grid-template-columns: repeat(5, 1fr); }
  @media (max-width: 1200px) {
    .news-events-block__inner {
      grid-template-columns: repeat(2, 1fr);
      gap: 30px;
      padding: 0 30px; } }
  @media (max-width: 768px) {
    .news-events-block {
      /* override all column variations */ }
      .news-events-block.cols-3 .news-events-block__inner, .news-events-block.cols-4 .news-events-block__inner, .news-events-block.cols-5 .news-events-block__inner {
        grid-template-columns: 1fr; }
      .news-events-block__inner {
        gap: 20px;
        padding: 0 20px; }
      .news-events-block__image {
        padding-top: 75%;
        /* nicer card ratio on phones */ }
      .news-events-block__content {
        bottom: 20px;
        left: 20px;
        right: 20px; }
        .news-events-block__content h3 {
          font-size: 20px;
          padding-top: 8px;
          padding-bottom: 8px; } }
  .news-events-block__item {
    text-decoration: none;
    display: block; }
  .news-events-block__image {
    position: relative;
    padding-top: 100%;
    background-size: cover;
    background-position: center;
    overflow: hidden; }
  .news-events-block__overlay {
    position: absolute;
    inset: 0;
    background: #000;
    transition: opacity 0.3s ease; }
  .news-events-block__content {
    position: absolute;
    bottom: 30px;
    left: 30px;
    right: 30px;
    color: #F0EBDE; }
    .news-events-block__content h3 {
      font-family: "larken", sans-serif;
      font-size: clamp(20px, 2vw, 28px);
      margin: 0;
      border-bottom: 1px solid rgba(255, 255, 255, 0.4);
      border-top: 1px solid rgba(255, 255, 255, 0.4);
      padding: 10px 0; }
  .news-events-block__item:hover .news-events-block__overlay {
    opacity: 0.6; }

.news-slider-block {
  /* Navigation */ }
  .news-slider-block .news-slider__header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 55px; }
  .news-slider-block .news-slider__title {
    margin: 0;
    color: var(--ns-title, currentColor); }
  .news-slider-block .news-slide__inner {
    display: grid;
    grid-template-columns: 1fr 1fr;
    column-gap: 90px;
    background: var(--ns-bg, transparent);
    align-items: center;
    padding: 30px;
    padding-bottom: 45px; }
  .news-slider-block .news-slide__content {
    color: var(--ns-text, currentColor); }
  .news-slider-block .news-slide__headline {
    font-size: clamp(1.7rem, 2.6vw, 2.5rem);
    margin: 25px 0 25px; }
  .news-slider-block .news-slide__excerpt {
    margin-bottom: 35px;
    line-height: 1.8; }
  .news-slider-block .news-slide__image img {
    width: 100%;
    height: auto;
    display: block; }
  .news-slider-block .news-slider__nav {
    display: flex;
    align-items: center;
    gap: 20px;
    color: var(--ns-nav, currentColor); }
  .news-slider-block .swiper-pagination {
    position: static !important;
    display: flex;
    gap: 12px; }
  .news-slider-block .swiper-pagination-bullet {
    background: transparent;
    font-size: 18px;
    opacity: 0.35;
    padding: 0 5px; }
  .news-slider-block .swiper-pagination-bullet-active {
    opacity: 1; }
  .news-slider-block .news-slider__prev,
  .news-slider-block .news-slider__next {
    width: 35px;
    height: 30px;
    border: 1px solid currentColor;
    background: transparent;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    position: relative; }
  .news-slider-block .news-slider__prev::before,
  .news-slider-block .news-slider__next::before {
    content: "";
    width: 10px;
    height: 10px;
    border-top: 1px solid currentColor;
    border-right: 1px solid currentColor;
    position: absolute; }
  .news-slider-block .news-slider__prev::before {
    transform: rotate(-135deg);
    right: 4px; }
  .news-slider-block .news-slide__divider {
    margin-top: 10px;
    margin-bottom: 10px;
    padding-top: 10px;
    padding-bottom: 10px; }
  .news-slider-block .news-slider__next::before {
    transform: rotate(45deg);
    left: 4px; }
  @media (max-width: 800px) {
    .news-slider-block .news-slide__inner {
      grid-template-columns: 1fr;
      row-gap: 40px; }
    .news-slider-block .news-slider__header {
      flex-direction: column;
      align-items: center;
      gap: 20px; } }

.news-events-feed-block {
  /* =========================================
     Title
  ========================================= */
  /* =========================================
     Grid
  ========================================= */
  /* =========================================
     Pagination (Slider Style Match)
  ========================================= */
  /* Base number styles */
  /* Active */
  /* =========================================
     Square Arrow Buttons (like slider)
  ========================================= */
  /* Chevron spans (from PHP wrapper) */
  /* Optional: slightly shift arrows for optical balance */
  /* Number span */
  /* =========================================
     Responsive
  ========================================= */ }
  .news-events-feed-block .news-feed__title {
    margin-bottom: 30px;
    color: var(--nf-title); }
  .news-events-feed-block .news-feed__grid {
    display: grid;
    grid-template-columns: repeat(var(--nf-columns, 3), 1fr);
    gap: 30px; }
  .news-events-feed-block .news-feed__item {
    padding: 20px 20px 0 20px;
    background: var(--nf-card-bg);
    display: flex;
    flex-direction: column;
    height: 100%; }
  .news-events-feed-block .news-feed__image {
    width: 100%;
    overflow: hidden;
    height: 210px; }
    .news-events-feed-block .news-feed__image .news-feed__image img {
      width: 100%;
      height: 100%;
      display: block;
      object-fit: cover; }
  .news-events-feed-block .news-feed__content {
    display: flex;
    flex-direction: column;
    gap: 14px;
    flex: 1; }
  .news-events-feed-block .news-feed__divider {
    border-top: 1px solid var(--nf-divider);
    margin: 25px 0;
    opacity: .3; }
  .news-events-feed-block .sh-paragraph-kicker {
    font-size: 14px;
    margin-bottom: 10px; }
  .news-events-feed-block .news-feed__headline {
    font-size: 1.5rem;
    margin-bottom: 20px;
    color: var(--nf-post-title); }
  .news-events-feed-block .news-feed__excerpt {
    color: var(--nf-text); }
  .news-events-feed-block .news-feed__footer {
    margin-top: auto; }
  .news-events-feed-block .news-feed__pagination {
    margin-top: 70px;
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 18px; }
  .news-events-feed-block .news-feed__pagination .page-numbers {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 18px;
    line-height: 1;
    text-decoration: none;
    color: var(--nf-title, currentColor);
    font-variant-numeric: tabular-nums;
    opacity: 0.35;
    transition: opacity 0.2s ease; }
  .news-events-feed-block .news-feed__pagination .page-numbers.current {
    opacity: 1; }
  .news-events-feed-block .news-feed__pagination .prev,
  .news-events-feed-block .news-feed__pagination .next {
    width: 32px;
    height: 32px;
    border: 1px solid var(--nf-title, currentColor);
    background: transparent;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    opacity: 1;
    transition: opacity 0.2s ease; }
  .news-events-feed-block .news-feed__pagination .prev:hover,
  .news-events-feed-block .news-feed__pagination .next:hover {
    opacity: 0.75; }
  .news-events-feed-block .news-feed__pag-chevron {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 29px;
    line-height: 1;
    position: relative;
    top: -2px;
    font-weight: 200; }
  .news-events-feed-block .news-feed__pag-chevron--prev {
    transform: translateX(-1px); }
  .news-events-feed-block .news-feed__pag-chevron--next {
    transform: translateX(1px); }
  .news-events-feed-block .news-feed__pag-num {
    display: inline-block; }
  @media (max-width: 900px) {
    .news-events-feed-block .news-feed__grid {
      grid-template-columns: 1fr 1fr; } }
  @media (max-width: 600px) {
    .news-events-feed-block .news-feed__grid {
      grid-template-columns: 1fr; } }

/* =========================================================
   ROOM CARD
========================================================= */
.room-card {
  /* Defaults (safe fallbacks) */
  --rc-bg: transparent;
  --rc-divider: rgba(255,255,255,0.2);
  --rc-title: inherit;
  --rc-text: inherit;
  background: var(--rc-bg);
  padding: 24px;
  display: flex;
  flex-direction: column;
  gap: 18px;
  /* Optional “frame” vibe */
  box-sizing: border-box; }
  .room-card__media {
    width: 100%; }
  .room-card__img {
    width: 100%;
    height: auto;
    display: block; }
  .room-card__body {
    display: flex;
    flex-direction: column;
    gap: 14px; }
  .room-card__title {
    margin: 0;
    color: var(--rc-title);
    font-size: 24px;
    font-style: normal;
    font-weight: 400;
    line-height: 120%; }
  .room-card__text {
    color: var(--rc-text);
    opacity: .6; }
  .room-card__divider {
    border: 0;
    border-top: 1px solid var(--rc-divider);
    margin: 6px 0 8px; }
  .room-card__btn {
    align-self: flex-start; }

.rooms-hall-grid-card {
  /* ✅ responsive: override the variable per breakpoint */ }
  .rooms-hall-grid-card__grid {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 30px; }
  .rooms-hall-grid-card__card {
    background: var(--rhgc-card-bg, var(--rhgc-card-bg-default, transparent));
    display: flex;
    flex-direction: column;
    height: 100%;
    transition: background 0.25s ease;
    flex: 0 1 calc( (100% - ( (var(--rhgc-columns, 3) - 1) * 30px )) / var(--rhgc-columns, 3) );
    max-width: 380px; }
  .rooms-hall-grid-card__media {
    padding: 20px 20px 0 20px;
    overflow: hidden;
    height: 220px; }
    .rooms-hall-grid-card__media img {
      width: 100%;
      height: 100%;
      object-fit: cover;
      object-position: center;
      display: block; }
  .rooms-hall-grid-card__body {
    padding: 20px;
    display: flex;
    flex-direction: column;
    gap: 14px;
    flex: 1; }
  .rooms-hall-grid-card__divider {
    margin: 0 0 10px 0;
    border-top: 1px solid var(--rhgc-divider, currentColor);
    opacity: 0.3; }
  .rooms-hall-grid-card__title a {
    margin: 0;
    font-size: 1.4rem;
    line-height: 1.2;
    color: var(--rhgc-title, inherit); }
  .rooms-hall-grid-card__title-link {
    text-decoration: none;
    color: var(--rhgc-title, inherit);
    transition: opacity 0.2s ease; }
    .rooms-hall-grid-card__title-link:hover {
      opacity: 0.75; }
  .rooms-hall-grid-card__text {
    color: var(--rhgc-text, inherit);
    opacity: 0.9;
    font-size: 14px;
    margin-bottom: 15px; }
  .rooms-hall-grid-card__btn {
    margin-top: auto;
    align-self: flex-start; }
  @media (max-width: 900px) {
    .rooms-hall-grid-card__grid {
      --rhgc-columns: 2; }
    .rooms-hall-grid-card__card {
      max-width: 420px; } }
  @media (max-width: 600px) {
    .rooms-hall-grid-card__grid {
      --rhgc-columns: 1; }
    .rooms-hall-grid-card__card {
      max-width: 100%; } }

.download-feed-block {
  /* =====================================================
     CSS VARIABLES (from PHP inline vars)
  ===================================================== */
  --df-title: inherit;
  --df-text: inherit;
  /* =====================================================
     LAYOUT
  ===================================================== */
  /* =====================================================
     LEFT COLUMN
  ===================================================== */
  /* =====================================================
     KICKER (FULLY COMPATIBLE WITH GLOBAL SYSTEM)
  ===================================================== */
  /* =====================================================
     RIGHT COLUMN
  ===================================================== */
  /* =====================================================
     ITEMS
  ===================================================== */
  /* =====================================================
     BUTTON
  ===================================================== */
  /* =====================================================
     FILTER BAR
  ===================================================== */
  /* =====================================================
     RESPONSIVE
  ===================================================== */ }
  .download-feed-block .download-feed.is-loading .download-feed__results {
    opacity: 0.5;
    pointer-events: none; }
  .download-feed-block .download-feed__layout.is-filtered-out {
    display: none; }
  .download-feed-block .download-feed__layout {
    display: grid;
    grid-template-columns: 50% 50%;
    gap: 60px;
    align-items: start;
    margin-bottom: 150px; }
  .download-feed-block .download-feed__left {
    position: relative; }
  .download-feed-block .download-feed__title {
    color: var(--df-title);
    margin-top: 12px;
    margin-bottom: 20px;
    font-size: clamp(32px, 3vw, 60px); }
  .download-feed-block .download-feed__graphic img {
    opacity: .15;
    max-width: 100%;
    height: auto; }
  .download-feed-block .download-feed__kicker {
    display: inline-flex;
    align-items: center;
    gap: 14px; }
  .download-feed-block .download-feed__kicker-line {
    position: relative;
    width: 100px;
    height: 2px;
    background: var(--kicker-accent); }
  .download-feed-block .download-feed__kicker-line::before,
  .download-feed-block .download-feed__kicker-line::after {
    content: "";
    position: absolute;
    top: 50%;
    width: 5px;
    height: 5px;
    background: var(--kicker-accent);
    border-radius: 50%;
    transform: translateY(-50%); }
  .download-feed-block .download-feed__kicker-line::before {
    left: 0; }
  .download-feed-block .download-feed__kicker-line::after {
    right: 0; }
  .download-feed-block .download-feed__kicker-text {
    font-size: 14px;
    font-weight: 500;
    letter-spacing: .08em;
    text-transform: uppercase;
    color: var(--kicker-text); }
  .download-feed-block .download-feed__right {
    width: 100%; }
  .download-feed-block .download-feed__items {
    display: flex;
    flex-direction: column;
    border-top: 1px solid rgba(0, 0, 0, 0.15); }
  .download-feed-block .download-feed__item {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    padding: 20px 0;
    border-bottom: 1px solid rgba(0, 0, 0, 0.15); }
  .download-feed-block .download-feed__name {
    color: var(--df-text);
    font-size: 18px;
    font-weight: 500; }
  .download-feed-block .download-feed__btn {
    flex-shrink: 0; }
  .download-feed-block .download-feed__filters {
    display: flex;
    gap: 20px;
    align-items: center;
    margin-bottom: 40px;
    flex-wrap: wrap; }
  .download-feed-block .download-feed__search,
  .download-feed-block .download-feed__category-filter {
    min-width: 260px;
    padding: 14px 18px;
    font-size: 16px;
    font-family: inherit;
    border: 1px solid rgba(0, 0, 0, 0.2);
    background: transparent;
    outline: none;
    transition: border-color .2s ease; }
  .download-feed-block .download-feed__search:focus,
  .download-feed-block .download-feed__category-filter:focus {
    border-color: currentColor; }
  @media (max-width: 900px) {
    .download-feed-block .download-feed__layout {
      grid-template-columns: 1fr;
      gap: 40px; }
    .download-feed-block .download-feed__filters .download-feed__search,
    .download-feed-block .download-feed__filters .download-feed__category-filter {
      width: 100%; } }

.suppliers-feed__inner {
  display: flex;
  flex-direction: column;
  gap: 40px; }
.suppliers-feed__card {
  display: flex;
  gap: 40px;
  align-items: flex-start;
  padding: 30px;
  border: 1px solid rgba(0, 0, 0, 0.08);
  background: transparent; }
.suppliers-feed__media {
  flex: 0 0 30%; }
  .suppliers-feed__media img {
    width: 100%;
    display: block;
    height: auto; }
.suppliers-feed__content {
  flex: 1; }
.suppliers-feed__title {
  font-size: 28px;
  margin-bottom: 10px;
  color: #9F7D58; }
.suppliers-feed__manager {
  margin-bottom: 15px;
  font-weight: 500; }
.suppliers-feed__meta {
  display: flex;
  flex-wrap: wrap;
  gap: 20px;
  margin-bottom: 20px; }
.suppliers-feed__meta a {
  color: #9F7D58;
  text-decoration: none;
  display: inline-flex;
  align-items: center;
  gap: 8px; }
  .suppliers-feed__meta a:hover {
    text-decoration: underline; }
.suppliers-feed__text {
  margin-bottom: 20px;
  max-width: 700px; }
  .suppliers-feed__text p {
    margin-bottom: 12px; }
.suppliers-feed__btn {
  margin-top: 10px; }
@media (max-width: 900px) {
  .suppliers-feed__card {
    flex-direction: column;
    gap: 20px; }
  .suppliers-feed__media {
    max-width: 260px;
    margin: 0 auto; } }

/* ======================================
   HEADING SCALE (Fluid)
====================================== */
.wp-block-heading.heading-xs {
  font-size: clamp(18px, 1.4vw, 22px);
  line-height: 1.4; }

.wp-block-heading.heading-sm {
  font-size: clamp(22px, 1.8vw, 28px);
  line-height: 1.15; }

.wp-block-heading.heading-md {
  font-size: clamp(28px, 2.4vw, 38px);
  line-height: 1.25; }

.wp-block-heading.heading-lg {
  font-size: clamp(36px, 3.2vw, 52px);
  line-height: 1.2; }

.wp-block-heading.heading-xl {
  font-size: clamp(48px, 4vw, 68px);
  line-height: 1.1; }

.wp-block-heading.heading-hero {
  font-size: clamp(56px, 6vw, 96px);
  line-height: 1; }

/* ======================================
   PARAGRAPH SCALE
====================================== */
p.text-sm {
  font-size: clamp(16px, 1.1vw, 18px);
  line-height: 1.6; }

p.text-md {
  font-size: clamp(18px, 1.2vw, 24px);
  line-height: 1.55; }

p.text-lg {
  font-size: clamp(24px, 1.4vw, 28px);
  line-height: 1.45; }

p.text-xl {
  font-size: clamp(28px, 1.6vw, 36px);
  line-height: 1.35; }

body {
  font-family: "Hanken Grotesk", sans-serif;
  font-optical-sizing: auto;
  font-weight: 400;
  font-style: normal;
  font-size: 18px;
  line-height: 1.2; }

h1,
h2,
h3,
h4,
h5,
h6 {
  font-family: "larken",sans-serif;
  font-weight: 300;
  line-height: 1.3; }
  h1.bold,
  h1 strong,
  h2.bold,
  h2 strong,
  h3.bold,
  h3 strong,
  h4.bold,
  h4 strong,
  h5.bold,
  h5 strong,
  h6.bold,
  h6 strong {
    font-weight: 600; }
  h1.bolder,
  h2.bolder,
  h3.bolder,
  h4.bolder,
  h5.bolder,
  h6.bolder {
    font-weight: 700; }

h2.wp-block-heading {
  font-size: 50px;
  font-weight: 400; }
  @media (max-width: 700px) {
    h2.wp-block-heading {
      font-size: 32px;
      line-height: 42px; } }

p + p {
  margin-top: 18px; }
  p + p.no-margin {
    margin-top: 0; }

.xs-text {
  font-size: 8px; }

.small-text {
  font-size: 14px; }

.mid-text {
  font-size: 18px; }

.large-text {
  font-size: 24px;
  line-height: 28px; }
  @media (max-width: 900px) {
    .large-text {
      font-size: 22px;
      line-height: 26px; } }
  @media (max-width: 700px) {
    .large-text {
      font-size: 20px;
      line-height: 24px; } }

.xs-header {
  font-size: 24px;
  line-height: 28px; }
  @media (max-width: 700px) {
    .xs-header {
      font-size: 20px;
      line-height: 22px; } }

.small-header {
  font-size: 26px;
  line-height: 32px; }
  @media (max-width: 900px) {
    .small-header {
      font-size: 24px;
      line-height: 30px; } }
  @media (max-width: 700px) {
    .small-header {
      font-size: 22px;
      line-height: 28px; } }

.mid-header {
  font-size: 34px;
  line-height: 42px; }
  @media (max-width: 700px) {
    .mid-header {
      font-size: 28px;
      line-height: 36px; } }

.big-header {
  font-size: 50px;
  line-height: 52px; }
  @media (max-width: 700px) {
    .big-header {
      font-size: 38px;
      line-height: 40px; } }

body.font-size-large {
  font-size: 26px;
  line-height: 1.4em; }
  body.font-size-large .xs-text {
    font-size: 14px; }
  body.font-size-large .small-text {
    font-size: 18px; }
  body.font-size-large .mid-text {
    font-size: 20px; }
  body.font-size-large .large-text {
    font-size: 26px;
    line-height: 30px; }
    @media (max-width: 700px) {
      body.font-size-large .large-text {
        font-size: 22px;
        line-height: 26px; } }
  body.font-size-large .xs-header {
    font-size: 30px;
    line-height: 36px; }
    @media (max-width: 700px) {
      body.font-size-large .xs-header {
        font-size: 28px;
        line-height: 34px; } }
  body.font-size-large .small-header {
    font-size: 32px;
    line-height: 38px; }
    @media (max-width: 700px) {
      body.font-size-large .small-header {
        font-size: 30px;
        line-height: 36px; } }
  body.font-size-large .mid-header {
    font-size: 38px;
    line-height: 46px; }
    @media (max-width: 700px) {
      body.font-size-large .mid-header {
        font-size: 36px;
        line-height: 42px; } }

/* ----------------------------------------------------
   KICKER
----------------------------------------------------- */
.sh-paragraph-kicker {
  display: flex;
  align-items: center;
  gap: 14px;
  text-transform: uppercase;
  font-weight: 300;
  /* INLINE layout */
  /* STACKED layout */ }
  .sh-paragraph-kicker.sh-paragraph-kicker--inline {
    flex-direction: row; }
  .sh-paragraph-kicker.sh-paragraph-kicker--stacked {
    flex-direction: column;
    align-items: center;
    text-align: center;
    /* Move the text ABOVE the decor */ }
    .sh-paragraph-kicker.sh-paragraph-kicker--stacked .sh-paragraph-kicker__textwrap {
      order: 1; }
    .sh-paragraph-kicker.sh-paragraph-kicker--stacked .sh-paragraph-kicker__decor {
      order: 2;
      margin-top: -2px;
      margin-bottom: 15px; }
    .sh-paragraph-kicker.sh-paragraph-kicker--stacked .sh-paragraph-kicker__line {
      width: 80px; }

/* ----------------------------------------------------
   KICKER DECOR ELEMENTS
----------------------------------------------------- */
.sh-paragraph-kicker__decor {
  display: inline-flex;
  align-items: center; }

.sh-paragraph-kicker__dot {
  width: 5px;
  height: 5px;
  border-radius: 50%;
  background: var(--kicker-accent);
  display: inline-block; }

.sh-paragraph-kicker__line {
  width: 100px;
  height: 2px;
  background: var(--kicker-accent);
  display: inline-block; }

/* ----------------------------------------------------
   TEXT
----------------------------------------------------- */
.sh-paragraph-kicker__textwrap p {
  margin: 0;
  color: var(--kicker-text); }

/******* ANIMATING **********/
.animating {
  opacity: 0;
  transform: translate(0, 50px);
  transition: all 1.2s; }
  .animating.in-view {
    opacity: 1;
    transform: translate(0, 0); }
    .animating.in-view.delay1 {
      transition-delay: 300ms; }
    .animating.in-view.delay2 {
      transition-delay: 600ms; }
    .animating.in-view.delay3 {
      transition-delay: 900ms; }
    .animating.in-view.delay4 {
      transition-delay: 1200ms; }
    .animating.in-view.delay5 {
      transition-delay: 1500ms; }
    .animating.in-view.delay6 {
      transition-delay: 1800ms; }
    .animating.in-view.delay7 {
      transition-delay: 2100ms; }
    .animating.in-view.delay8 {
      transition-delay: 2400ms; }
    .animating.in-view.delay9 {
      transition-delay: 2700ms; }
    .animating.in-view.delay10 {
      transition-delay: 3000ms; }
    .animating.in-view.delay11 {
      transition-delay: 3300ms; }
    .animating.in-view.delay12 {
      transition-delay: 3600ms; }

/* =========================================================
   SH BUTTON (global, CSS-variable driven)
   Used everywhere, including Gravity Forms
========================================================= */
.sh-btn {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 15px 25px;
  background: var(--sh-btn-bg);
  border: 2px solid var(--sh-btn-border);
  color: var(--sh-btn-text);
  font-size: 14px;
  text-transform: uppercase;
  font-weight: 600;
  cursor: pointer;
  text-decoration: none;
  -webkit-appearance: none;
  appearance: none;
  transition: border-color 0.6s ease;
  /* Corner details */ }
  .sh-btn:hover {
    border-color: var(--sh-btn-border-hover); }
  .sh-btn::before, .sh-btn::after {
    content: "";
    position: absolute;
    inset: -2px;
    pointer-events: none; }
  .sh-btn::before {
    background: linear-gradient(var(--sh-btn-corner), var(--sh-btn-corner)) 0 0/6px 2px no-repeat, linear-gradient(var(--sh-btn-corner), var(--sh-btn-corner)) 0 0/2px 6px no-repeat, linear-gradient(var(--sh-btn-corner), var(--sh-btn-corner)) 100% 0/6px 2px no-repeat, linear-gradient(var(--sh-btn-corner), var(--sh-btn-corner)) 100% 0/2px 6px no-repeat; }
  .sh-btn::after {
    background: linear-gradient(var(--sh-btn-corner), var(--sh-btn-corner)) 0 100%/6px 2px no-repeat, linear-gradient(var(--sh-btn-corner), var(--sh-btn-corner)) 0 100%/2px 6px no-repeat, linear-gradient(var(--sh-btn-corner), var(--sh-btn-corner)) 100% 100%/6px 2px no-repeat, linear-gradient(var(--sh-btn-corner), var(--sh-btn-corner)) 100% 100%/2px 6px no-repeat; }
  .sh-btn .content {
    position: relative;
    overflow: hidden;
    font-size: inherit;
    line-height: 1.2em;
    height: 1.2em; }
  .sh-btn .text,
  .sh-btn .hover-text {
    display: block;
    transition: transform 600ms cubic-bezier(0.16, 1, 0.3, 1); }
  .sh-btn .hover-text {
    position: absolute;
    left: 0;
    bottom: -100%; }
  @media (max-width: 768px) {
    .sh-btn {
      padding: 10px 15px;
      font-size: 14px; } }

/* =========================================================
   GRAVITY FORMS VARIANT
========================================================= */
.sh-btn--gf {
  /* Bronze theme for GF buttons */
  --sh-btn-bg: transparent;
  --sh-btn-border: var(--bronze);
  --sh-btn-border-hover: var(--bronze);
  --sh-btn-text: var(--bronze);
  --sh-btn-corner: var(--bronze); }

/* Layout for submit button */
.sh-btn.sh-btn--gf {
  width: 100%;
  margin: 30px auto 0;
  display: flex; }

/* Center inside Gravity Forms footer */
.gform_footer,
.gform_page_footer {
  text-align: center; }

.gform_footer,
.gform_footer.top_label {
  position: relative;
  z-index: 10;
  padding: 0 !important;
  margin: 0 !important;
  line-height: 0 !important; }

/* Prevent weird overflow from wrappers */
.gform_wrapper .gform_footer,
.gform_wrapper .gform_page_footer {
  overflow: visible !important; }

.gform_footer,
.gform_footer *:not(button) {
  pointer-events: none; }

button.sh-btn {
  pointer-events: auto; }

/* ==========================================================================
   STATIONERS' HALL — Gravity Forms Styling
   ========================================================================== */
.sh-form,
.gform_wrapper {
  --form-border: #FFFFFF;
  --form-bg: #ffffff;
  --form-text: #4A4A4A;
  --form-placeholder: #A8A8A8;
  font-family: inherit; }

/* ---------------------------------------------
   GLOBAL FIELD SPACING
--------------------------------------------- */
.gform_wrapper .gfield {
  margin-bottom: 5px; }

.gform_wrapper .gfield_label {
  font-size: 15px;
  font-weight: 500;
  text-transform: none;
  color: var(--form-text);
  margin-bottom: 0; }

.gform_required_legend {
  display: none; }

.gform_wrapper.gravity-theme .ginput_container_date input {
  width: 100%; }

/* ---------------------------------------------
   INPUT + TEXTAREA
--------------------------------------------- */
.gform_wrapper input[type="text"],
.gform_wrapper input[type="email"],
.gform_wrapper input[type="tel"],
.gform_wrapper input[type="number"],
.gform_wrapper input[type="url"],
.gform_wrapper select,
.gform_wrapper textarea {
  width: 100%;
  background: var(--form-bg);
  border: 1px solid var(--form-border);
  padding: 14px 16px !important;
  font-size: 16px;
  color: var(--form-text);
  border-radius: 0;
  outline: none;
  appearance: none; }

.gform_wrapper input::placeholder,
.gform_wrapper textarea::placeholder {
  color: var(--form-placeholder); }

/* ---------------------------------------------
   TWO-COLUMN LAYOUT (like your screenshot)
--------------------------------------------- */
.gform_wrapper .gform_fields {
  display: grid !important;
  grid-template-columns: 1fr 1fr;
  gap: 24px 40px; }

.gform_wrapper .gfield.gfield--width-full {
  grid-column: 1 / 3; }

/* force email, phone etc. into two columns */
.gform_wrapper .left-half,
.gform_wrapper .right-half {
  grid-column: span 1; }

/* ---------------------------------------------
   SECTION TITLES — matches kicker-stacked style
--------------------------------------------- */
.gform_wrapper .gsection_title {
  position: relative;
  display: flex;
  align-items: center;
  gap: 14px;
  font-size: 15px;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--bronze);
  margin: 40px 0 20px; }

/* decorative line + dots */
.gform_wrapper .gsection_title::before,
.gform_wrapper .gsection_title::after {
  content: '';
  display: inline-block;
  width: 60px;
  height: 2px;
  background: var(--bronze); }

.gform_wrapper .gsection_title::before {
  margin-right: 8px; }

.gform_wrapper .gsection_title::after {
  margin-left: 8px;
  border-radius: 50%;
  width: 6px;
  height: 6px; }

/* ---------------------------------------------
   SELECT FIELD — custom arrow
--------------------------------------------- */
.gform_wrapper select {
  background-image: linear-gradient(45deg, transparent 50%, var(--bronze) 50%), linear-gradient(135deg, var(--bronze) 50%, transparent 50%);
  background-position: calc(100% - 18px) calc(1em - 3px), calc(100% - 13px) calc(1em - 3px);
  background-size: 5px 5px, 5px 5px;
  background-repeat: no-repeat; }

/* ---------------------------------------------
   SUBMIT BUTTON
--------------------------------------------- */
.gform_wrapper .gform_footer input[type="submit"] {
  display: block;
  width: 100%;
  background: transparent;
  border: 1px solid var(--bronze);
  padding: 16px 22px;
  text-align: center;
  font-size: 16px;
  letter-spacing: 0.06em;
  color: var(--bronze);
  text-transform: uppercase;
  cursor: pointer;
  transition: 0.25s ease; }

.gform_wrapper .gform_footer input[type="submit"]:hover {
  background: var(--bronze);
  color: #fff; }

/* ---------------------------------------------
   CHECKBOX + CONSENT (matches screenshot)
--------------------------------------------- */
.gform_wrapper .ginput_container_consent input[type="checkbox"] {
  width: 16px;
  height: 16px;
  border: 1px solid var(--bronze);
  margin-right: 10px;
  appearance: none;
  cursor: pointer;
  position: relative; }

.gform_wrapper .ginput_container_consent input[type="checkbox"]:checked::after {
  content: "";
  position: absolute;
  width: 10px;
  height: 10px;
  background: var(--bronze);
  top: 2px;
  left: 2px; }

.gform_wrapper .ginput_container_consent label {
  display: flex;
  align-items: center;
  line-height: 1.4;
  cursor: pointer; }

/* ---------------------------------------------
   HR separator
--------------------------------------------- */
.gform_wrapper .gsection {
  border-top: 1px solid var(--bronze);
  padding-top: 20px; }

.gform_footer,
.gform_page_footer {
  position: relative;
  z-index: 20;
  overflow: visible !important;
  /* IMPORTANT */
  line-height: normal !important;
  /* Fix collapsed box */
  min-height: auto !important;
  /* Ensures natural height */
  padding: 20px 0 !important;
  /* Gives breathing room */ }

.gform_footer,
.gform_footer *:not(button) {
  pointer-events: none; }

.sh-btn.sh-btn--gf {
  position: relative;
  z-index: 50;
  /* Bring above GF wrappers */ }

@media (max-width: 1200px) {
  .overlay-menu {
    padding-right: 0; }

  .wp-block-columns.undo-columns {
    display: flex;
    flex-wrap: wrap !important;
    align-items: stretch;
    gap: 20px; }

  .wp-block-columns.undo-columns > .wp-block-column {
    flex: 0 0 calc(50% - 10px);
    max-width: calc(50% - 10px);
    width: calc(50% - 10px);
    margin-left: 0 !important; } }
@media (max-width: 900px) {
  .wp-block-columns {
    display: flex;
    flex-wrap: wrap !important; }

  .wp-block-columns.undo-columns > .wp-block-column {
    flex: 0 0 100%;
    max-width: 100%; }

  .wp-block-columns:not(.is-not-stacked-on-mobile) > .wp-block-column {
    flex-basis: 100% !important;
    width: 100% !important;
    margin-left: 0 !important; }

  .wp-block-columns:not(.is-not-stacked-on-mobile) > .wp-block-column + .wp-block-column {
    margin-top: 20px; }

  .wp-block-columns .wp-block-heading.has-text-align-right {
    text-align: left; }

  .wp-block-spacer {
    height: 30px !important; }

  .sh-paragraph-kicker__line {
    width: 50px; }

  .page-id-1407 .news-slider__header {
    display: none; }

  .wp-block-columns.pt120.pb120 {
    padding-top: 20px !important;
    padding-bottom: 50px !important; }

  .wp-block-columns.pb60 {
    padding-bottom: 30px !important; }

  .wp-block-columns.pt30.pb30,
  .wp-block-columns.pt80,
  .wp-block-columns.pt50 {
    padding-top: 20px !important;
    padding-bottom: 20px !important; }

  .wp-block-columns.gap0 {
    gap: 20px; }

  .wp-block-columns.pl0,
  .wp-block-columns.pr0,
  .wp-block-heading.pl0,
  .wp-block-heading.pr0,
  p.pl0,
  p.pr0 {
    padding-left: 20px !important;
    padding-right: 20px !important; }

  .wp-block-columns.gap20 {
    gap: 20px; }

  .wp-block-columns.pl20,
  .wp-block-columns.pr20,
  .wp-block-heading.pl20,
  .wp-block-heading.pr20,
  p.pl20,
  p.pr20 {
    padding-left: 20px !important;
    padding-right: 20px !important; }

  .wp-block-columns.gap25 {
    gap: 20px; }

  .wp-block-columns.pl25,
  .wp-block-columns.pr25,
  .wp-block-heading.pl25,
  .wp-block-heading.pr25,
  p.pl25,
  p.pr25 {
    padding-left: 20px !important;
    padding-right: 20px !important; }

  .wp-block-columns.gap30 {
    gap: 20px; }

  .wp-block-columns.pl30,
  .wp-block-columns.pr30,
  .wp-block-heading.pl30,
  .wp-block-heading.pr30,
  p.pl30,
  p.pr30 {
    padding-left: 20px !important;
    padding-right: 20px !important; }

  .wp-block-columns.gap40 {
    gap: 20px; }

  .wp-block-columns.pl40,
  .wp-block-columns.pr40,
  .wp-block-heading.pl40,
  .wp-block-heading.pr40,
  p.pl40,
  p.pr40 {
    padding-left: 20px !important;
    padding-right: 20px !important; }

  .wp-block-columns.gap50 {
    gap: 20px; }

  .wp-block-columns.pl50,
  .wp-block-columns.pr50,
  .wp-block-heading.pl50,
  .wp-block-heading.pr50,
  p.pl50,
  p.pr50 {
    padding-left: 20px !important;
    padding-right: 20px !important; }

  .wp-block-columns.gap60 {
    gap: 20px; }

  .wp-block-columns.pl60,
  .wp-block-columns.pr60,
  .wp-block-heading.pl60,
  .wp-block-heading.pr60,
  p.pl60,
  p.pr60 {
    padding-left: 20px !important;
    padding-right: 20px !important; }

  .wp-block-columns.gap70 {
    gap: 20px; }

  .wp-block-columns.pl70,
  .wp-block-columns.pr70,
  .wp-block-heading.pl70,
  .wp-block-heading.pr70,
  p.pl70,
  p.pr70 {
    padding-left: 20px !important;
    padding-right: 20px !important; }

  .wp-block-columns.gap80 {
    gap: 20px; }

  .wp-block-columns.pl80,
  .wp-block-columns.pr80,
  .wp-block-heading.pl80,
  .wp-block-heading.pr80,
  p.pl80,
  p.pr80 {
    padding-left: 20px !important;
    padding-right: 20px !important; }

  .wp-block-columns.gap90 {
    gap: 20px; }

  .wp-block-columns.pl90,
  .wp-block-columns.pr90,
  .wp-block-heading.pl90,
  .wp-block-heading.pr90,
  p.pl90,
  p.pr90 {
    padding-left: 20px !important;
    padding-right: 20px !important; }

  .wp-block-columns.gap100 {
    gap: 20px; }

  .wp-block-columns.pl100,
  .wp-block-columns.pr100,
  .wp-block-heading.pl100,
  .wp-block-heading.pr100,
  p.pl100,
  p.pr100 {
    padding-left: 20px !important;
    padding-right: 20px !important; }

  .wp-block-columns.gap120 {
    gap: 20px; }

  .wp-block-columns.pl120,
  .wp-block-columns.pr120,
  .wp-block-heading.pl120,
  .wp-block-heading.pr120,
  p.pl120,
  p.pr120 {
    padding-left: 20px !important;
    padding-right: 20px !important; }

  .wp-block-columns.gap140 {
    gap: 20px; }

  .wp-block-columns.pl140,
  .wp-block-columns.pr140,
  .wp-block-heading.pl140,
  .wp-block-heading.pr140,
  p.pl140,
  p.pr140 {
    padding-left: 20px !important;
    padding-right: 20px !important; }

  .wp-block-columns.gap160 {
    gap: 20px; }

  .wp-block-columns.pl160,
  .wp-block-columns.pr160,
  .wp-block-heading.pl160,
  .wp-block-heading.pr160,
  p.pl160,
  p.pr160 {
    padding-left: 20px !important;
    padding-right: 20px !important; }

  .wp-block-columns.gap180 {
    gap: 20px; }

  .wp-block-columns.pl180,
  .wp-block-columns.pr180,
  .wp-block-heading.pl180,
  .wp-block-heading.pr180,
  p.pl180,
  p.pr180 {
    padding-left: 20px !important;
    padding-right: 20px !important; }

  .wp-block-columns.gap200 {
    gap: 20px; }

  .wp-block-columns.pl200,
  .wp-block-columns.pr200,
  .wp-block-heading.pl200,
  .wp-block-heading.pr200,
  p.pl200,
  p.pr200 {
    padding-left: 20px !important;
    padding-right: 20px !important; }

  .pt30 {
    padding-top: 30px !important; }

  .pb30 {
    padding-bottom: 30px !important; }

  .pt40 {
    padding-top: 30px !important; }

  .pb40 {
    padding-bottom: 30px !important; }

  .pt50 {
    padding-top: 30px !important; }

  .pb50 {
    padding-bottom: 30px !important; }

  .pt60 {
    padding-top: 30px !important; }

  .pb60 {
    padding-bottom: 30px !important; }

  .pt70 {
    padding-top: 30px !important; }

  .pb70 {
    padding-bottom: 30px !important; }

  .pt80 {
    padding-top: 30px !important; }

  .pb80 {
    padding-bottom: 30px !important; }

  .pt90 {
    padding-top: 30px !important; }

  .pb90 {
    padding-bottom: 30px !important; }

  .pt100 {
    padding-top: 30px !important; }

  .pb100 {
    padding-bottom: 30px !important; }

  .pt120 {
    padding-top: 30px !important; }

  .pb120 {
    padding-bottom: 30px !important; }

  .pt140 {
    padding-top: 30px !important; }

  .pb140 {
    padding-bottom: 30px !important; }

  .pt160 {
    padding-top: 30px !important; }

  .pb160 {
    padding-bottom: 30px !important; }

  .pt180 {
    padding-top: 30px !important; }

  .pb180 {
    padding-bottom: 30px !important; }

  .pt200 {
    padding-top: 30px !important; }

  .pb200 {
    padding-bottom: 30px !important; }

  .titlebar-text-image-block .titlebar-text-image {
    padding-top: 40px; }

  figure.wp-block-image img,
  figure.is-resized img {
    width: 100% !important;
    height: auto !important;
    aspect-ratio: 4 / 3 !important;
    object-fit: cover; }

  .wp-block-image {
    margin: 0 !important; } }
