/*
Theme Name: Retreat by Gordon Moody
Theme URI: https://example.com/
Description: A child theme for Twenty Twenty-Three, customized for Retreat by Gordon Moody.
Author: Gordon Moody
Template: twentytwentythree
Version: 1.0.0
Text Domain: retreat-gordon-moody
*/

/* =========================================================
   Retreat by Gordon Moody - General Styles
   ========================================================= */

a {transition: all 0.3s ease-in-out;}
a:where(:not(.wp-element-button)):hover {text-decoration: underline;color: var(--wp--preset--color--primary-black);}
.entry-content a:hover,
.entry-content a:focus-visible {
  color: var(--wp--preset--color--primary-black);
  text-decoration: underline;
}

/* =========================================================
   Retreat by Gordon Moody - Typography
   ========================================================= */

h1 {
    font-size: clamp(0.875rem, -0.7917rem + 5.3333vw, 3.875rem)!important;
}

p.lead {
	font-size: 24px
}

@media (max-width: 900px) {
p.lead {
	font-size:20px
}
}

@media (max-width: 650px) {
p.lead {
	font-size:18px
}
}

body:not(.wp-admin) :root :where(.is-layout-constrained) > * {
  margin-block-start: 1.3rem !important;
  margin-block-end: 0;
}
@media (max-width: 1200px) {
:root {
    --wp--preset--spacing--60: var(--wp--preset--spacing--40)!Important;
  }
}

@media (max-width: 900px) {
:root {
    --wp--preset--spacing--60: var(--wp--preset--spacing--30)!Important;
  }
}

.entry-content {
  margin-block-start: 0 !important;
}

/* Remove top spacing on footer columns */
footer .wp-block-columns {
  margin-block-start: 0 !important;
}

@media (min-width: 768px) {
h2 {
  font-size: clamp(0.875rem, -0.0938rem + 3.875vw, 2.8125rem)!important;
}
}

@media (max-width: 767px) {
h2 {
  font-size: 24px!Important
}
}

.advgb-column-inner > :first-child {
  margin-block-start: 0;
}

/* =========================================================
   Retreat by Gordon Moody - Custom Block Styles
   ========================================================= */

/* -------- Buttons -------- */
.wp-block-button.is-style-retreat-solid .wp-block-button__link, .wp-block-button.is-style-retreat-solid-secondary .wp-block-button__link {
  background: var(--wp--preset--color--primary-orange);
  color: var(--wp--preset--color--primary-black);
  border: none;
  border-radius: 999px;
  font-weight: 700;
  padding: 0.55em 1.25em;
  text-decoration: none;
  transition: all .3s;
font-family: var(--wp--preset--font-family--museo-sans-condensed);
	text-transform: uppercase
}

.wp-block-button.is-style-retreat-solid-secondary .wp-block-button__link {
  background: var(--wp--preset--color--light-green);
}

.wp-block-button.is-style-retreat-solid .wp-block-button__link:hover,
.wp-block-button.is-style-retreat-solid .wp-block-button__link:focus-visible {
  background: var(--wp--preset--color--primary-black);
  border-color: var(--wp--preset--color--primary-black);
  color: var(--wp--preset--color--primary-white);
  outline: none;
}

.wp-block-button.is-style-retreat-solid-secondary .wp-block-button__link:hover,
.wp-block-button.is-style-retreat-solid-secondary .wp-block-button__link:focus-visible {
  background: var(--wp--preset--color--light-green-60)!important;
color: var(--wp--preset--color--primary-white);
}

header .wp-block-button.is-style-retreat-solid .wp-block-button__link:hover,
header .wp-block-button.is-style-retreat-solid .wp-block-button__link:focus-visible {
  background: var(--wp--preset--color--light-orange-80);
  border-color: var(--wp--preset--color--light-orange-80);
}

.wp-block-button.is-style-retreat-outline .wp-block-button__link {
  background: transparent;
  color: var(--wp--preset--color--primary-black);
  border: 2px solid var(--wp--preset--color--primary-orange);
  border-radius: 999px;
  font-weight: 700;
  padding: 0.55em 1.25em;
  text-decoration: none;
font-family: var(--wp--preset--font-family--museo-sans-condensed);
	text-transform: uppercase
}

.wp-block-button.is-style-retreat-outline .wp-block-button__link:hover,
.wp-block-button.is-style-retreat-outline .wp-block-button__link:focus-visible {
  background: var(--wp--preset--color--primary-orange);
  color: var(--wp--preset--color--primary-black);
  outline: 0px solid var(--wp--preset--color--primary-orange);
	border: 2px solid var(--wp--preset--color--primary-orange);
  outline-offset: 0px;
}

@media (max-width: 1250px) {
    .wp-block-button.is-style-retreat-solid .wp-block-button__link, .wp-block-button.is-style-retreat-outline .wp-block-button__link, .wp-block-button.is-style-retreat-solid-secondary .wp-block-button__link {
        font-size: 16px !important;
		padding: 0.55em 1em;
    }
}

/* -------- Soft Panel (Group / Columns) -------- */
.wp-block-group.is-style-retreat-panel,
.wp-block-columns.is-style-retreat-panel {
  background: var(--wp--preset--color--primary-white);
  border: 1px solid rgba(30, 30, 30, 0.10);
  border-radius: 16px;
  padding: clamp(16px, 2.2vw, 28px);
  box-shadow: 0 8px 24px rgba(30, 30, 30, 0.06);
}

/* Optional: if panel sits on white, add subtle tint */
.has-primary-off-white-background-color .wp-block-group.is-style-retreat-panel,
.has-primary-off-white-background-color .wp-block-columns.is-style-retreat-panel {
  background: rgba(255, 255, 255, 0.75);
}

/* -------- Quote -------- */
.wp-block-quote.is-style-retreat-quote {
  border-left: 6px solid var(--wp--preset--color--light-green);
  background: rgba(166, 180, 134, 0.12);
  padding: 1.1em 1.2em;
  border-radius: 14px;
}

.wp-block-quote.is-style-retreat-quote p {
  font-family: var(--wp--preset--font-family--filmotype-lacrosse);
  font-weight: 400;
  font-style: normal;
  font-size: clamp(1.1rem, 1.6vw, 1.4rem);
  line-height: 1.35;
}

.wp-block-quote.is-style-retreat-quote cite {
  font-family: var(--wp--preset--font-family--museo-sans);
  font-size: 0.95rem;
  opacity: 0.9;
}

/* -------- Separator -------- */
.wp-block-separator.is-style-retreat-accent {
  border: none;
  height: 4px;
  background: linear-gradient(
    90deg,
    var(--wp--preset--color--light-green),
    var(--wp--preset--color--primary-orange),
    var(--wp--preset--color--light-orange)
  );
  border-radius: 999px;
  max-width: 220px;
  margin-left: 0;
}

/* =========================================================
   Retreat by Gordon Moody - Structure
   ========================================================= */

/* Front-end only */
/*body:not(.wp-admin) .wp-site-blocks {
  display: contents;
}*/

/* Or explicitly in editor: */
/*.wp-admin .wp-site-blocks {
  display: block;
}*/

.page {
  --wp--style--global--content-size: 1100px;
}

/* Front-end: page template wider content */
.page-template-page-wide {
  --wp--style--global--content-size: 1100px;
}

body.page .wp-site-blocks {
  padding-top: 0;
  padding-bottom: 0;
}

/* =========================================================
   Retreat by Gordon Moody - Header
   ========================================================= */

@media (max-width: 1250px) {
.wp-block-site-logo img {
    width: 140px
}
}

@media (max-width: 1150px) {
.wp-block-site-logo img {
    width: 130px
}
}

@media (max-width: 600px) {
.wp-block-site-logo img {
    width: 120px
}
	
 .navigation-wrp {
	 padding-top: 12px!important;
	 padding-bottom: 12px!important;
	}
}

/* Force mobile navigation below 1024px */
@media (max-width: 1023px) {
  .wp-block-navigation__responsive-container {
    display: none!important;
  }

  .wp-block-navigation__responsive-container.is-menu-open {
    display: block!important;
  }

  .wp-block-navigation__responsive-container-open {
    display: flex!important;
  }
  .hide-on-tablet {
	display:none!important
  }
.wp-block-navigation__responsive-container-close svg, .wp-block-navigation__responsive-container-open svg {
    height: 34px;
    width: 34px;
}
}

/* Force desktop navigation from 1024px up */
@media (min-width: 1024px) {
  .wp-block-navigation__responsive-container-open {
    display: none !important;
  }

  .wp-block-navigation__responsive-container {
    display: block !important;
    position: static;
    background: none;
  }
  .hide-on-desktop {
	display:none!important
  }
}

@media (max-width: 767px) {
.navigation-wrp {
	padding: 20px 30px!Important
}
}

@media (max-width: 600px) {
.navigation-wrp {
	padding: 20px 20px 20px 30px!Important
}
}

/* =========================================================
   Retreat - Styling for desktop menu
   ========================================================= */
.wp-block-navigation .wp-block-navigation-item {
	line-height: 2
}

.wp-block-navigation .has-child .wp-block-navigation__submenu-container>.wp-block-navigation-item>.wp-block-navigation-item__content {
    padding: .05em 0.8em;
}

.wp-block-navigation:not(.has-background) .wp-block-navigation__submenu-container {
    padding-top: 12px;
	padding-bottom: 12px;
  border-radius: 12px;
  padding: 10px;
	border: solid 0px!important;
  box-shadow: 0 12px 28px rgba(30, 30, 30, 0.08);
}

.wp-block-navigation .wp-block-navigation-item__content.wp-block-navigation-item__content:hover {
	color: var(--wp--preset--color--light-orange);
}

.wp-block-navigation li ul .wp-block-navigation-item__content {
    font-size: 14px
}

.wp-block-navigation .wp-block-navigation-item {
    font-size: 20px!important;
	line-height: 1.8
}

@media (max-width: 1250px) {
.wp-block-navigation .wp-block-navigation-item {
    font-size: 16px!important;
	line-height: 1.8
}
	
.wp-block-navigation .has-child .wp-block-navigation__submenu-container>.wp-block-navigation-item>.wp-block-navigation-item__content {
    padding: .1em 0.8em;
}
.wp-block-navigation__container {
	gap: 12px}
}

@media (max-width: 1023px) {
	
.wp-block-navigation:not(.has-background) .wp-block-navigation__submenu-container {
  border-radius: 0;
  padding: 0px;
  box-shadow: none;
}
	
  /* Ensure menu items are left-aligned */
  .wp-block-navigation__responsive-container .wp-block-navigation__container {
    align-items: flex-start;
    text-align: left;
  }

  /* Increase font size to 20px */
  .wp-block-navigation__responsive-container
  .wp-block-navigation-item__content {
    font-size: 20px;
    justify-content: flex-start;
  }

  /* Submenu items also left-aligned */
  .wp-block-navigation__responsive-container
  .wp-block-navigation__submenu-container
  .wp-block-navigation-item__content {
    text-align: left;
    font-size: 16px; /* slightly smaller for hierarchy */
  }
	
	.wp-block-navigation .has-child .wp-block-navigation__submenu-container {
		padding: 10px 0 0 10px!important;
		margin: 0!important
	}
	
.wp-block-navigation.items-justified-right {
    --navigation-layout-justification-setting: flex-start;
    --navigation-layout-justify: flex-start;
}
	
    .wp-block-navigation .wp-block-navigation-item {
        line-height: normal;
    }
	
	    .wp-block-navigation .has-child .wp-block-navigation__submenu-container>.wp-block-navigation-item>.wp-block-navigation-item__content {
        padding: .3em;
    }
}

@media (min-width: 1024px) {
  .wp-block-navigation__submenu-container {

    opacity: 0;
    transform: translateY(10px);
    visibility: hidden;
    pointer-events: none;
    transition:
      opacity 400ms ease,
      transform 400ms ease,
      visibility 0s linear 400ms;
  }

	
/* Open state: hover OR keyboard focus */
  .wp-block-navigation-item:hover > .wp-block-navigation__submenu-container,
  .wp-block-navigation-item:focus-within > .wp-block-navigation__submenu-container {
    opacity: 1;
    transform: translateY(0);
    visibility: visible;
    pointer-events: auto;

    transition:
      opacity 200ms ease,
      transform 200ms ease,
      visibility 0s;
  }

}

  /* ---------------------------------------------------------
     Animate submenu arrows
     --------------------------------------------------------- */

  /* WordPress outputs an "open submenu" button with an icon */
  .wp-block-navigation__submenu-icon,
  .wp-block-navigation__submenu-icon svg,
  .wp-block-navigation__submenu-icon .wp-block-navigation__submenu-icon {
    transition: transform 200ms ease;
    transform-origin: 50% 50%;
  }

  /* Rotate arrow when submenu is open (hover or focus-within) */
  .wp-block-navigation-item:hover > .wp-block-navigation-item__content .wp-block-navigation__submenu-icon,
  .wp-block-navigation-item:focus-within > .wp-block-navigation-item__content .wp-block-navigation__submenu-icon,
  .wp-block-navigation-item:hover > .wp-block-navigation-item__content .wp-block-navigation__submenu-icon svg,
  .wp-block-navigation-item:focus-within > .wp-block-navigation-item__content .wp-block-navigation__submenu-icon svg {
    transform: rotate(180deg);
  }

/* Respect reduced motion */
@media (prefers-reduced-motion: reduce) {
  .wp-block-navigation__submenu-container,
  .wp-block-navigation__submenu-icon,
  .wp-block-navigation__submenu-icon svg {
    transition: none !important;
    transform: none !important;
  }
}

  /* ---------------------------------------------------------
     Animate underline
     --------------------------------------------------------- */

@media (min-width: 1024px) {
.wp-block-navigation-item__content {
    padding-bottom: 0.2ex;
    background-image: linear-gradient(rgba(252, 187, 111, 0.8), rgba(252, 187, 111, 0.8));
    background-size: 0% .3ex;
    background-repeat: no-repeat;
    background-position: left bottom;
    transition: background-size 0.36s ease-in-out
}

.wp-block-navigation-item__content:hover {
    background-size: 100% .3ex;
	text-decoration: none
}
}

/* =========================================================
   Retreat - Styling for mobile menu
   ========================================================= */

/* =========================================================
   Retreat - "Close ×" label for mobile menu
   ========================================================= */

@media (max-width: 1023px) {

  /* Style the close button */
  .wp-block-navigation__responsive-container-close {
    display: flex;
    align-items: center;
    gap: 8px;

    padding: 10px 14px;
    width: auto;
    height: auto;

    font-family: var(--wp--preset--font-family--museo-sans-condensed);
    font-weight: 900;
    letter-spacing: 0.03em;
    text-transform: uppercase;
  }

  /* Add the "Close" text */
  .wp-block-navigation__responsive-container-close::before {
    content: "Close";
    font-size: 0.85rem;
    line-height: 1;
  }

  /* Slightly enlarge the X icon */
  .wp-block-navigation__responsive-container-close svg {
    width: 18px;
    height: 18px;
  }
}

/* =========================================================
   Accessibility upgrades: focus + contrast for mobile nav
   ========================================================= */

:root {
  /* Use your accessible dark orange if present, else fallback */
  --retreat-focus: var(--wp--preset--color--dark-orange, #C4330E);
}

/* Make focus clearly visible everywhere */
:where(a.wp-element-button, a.wp-block-button__link, a, button, input, select, textarea, summary, [role="button"], [tabindex]:not([tabindex="-1"])):focus-visible {
  outline: 3px solid var(--retreat-focus)!important;
  outline-offset: 3px!important;
}

/* Ensure navigation links inside the overlay are NOT orange-on-offwhite */
@media (max-width: 1023px) {
  .wp-block-navigation__responsive-container {
    color: var(--wp--preset--color--primary-black);
  }

  .wp-block-navigation__responsive-container a,
  .wp-block-navigation__responsive-container .wp-block-navigation-item__content {
    color: var(--wp--preset--color--primary-black);
    text-decoration-thickness: 2px;
    text-underline-offset: 3px;
  }

  .wp-block-navigation__responsive-container a:hover {
    text-decoration: underline;
  }

  /* Make the close button focus state unmistakable */
  .wp-block-navigation__responsive-container-close:focus-visible {
    outline: 3px solid var(--retreat-focus);
    outline-offset: 3px;
  }
}

/* When menu is open, stop background from scrolling (JS toggles this class) */
body.is-retreat-menu-open {
  overflow: hidden;
}

/* =========================================================
   Retreat by Gordon Moody - Main
   ========================================================= */



/* =========================================================
   Retreat by Gordon Moody - Footer
   ========================================================= */

footer {
 margin-block-start: 0;
}

.footer-menu, .footer-menu ul, .footer-menu li {
	list-style: none;
    margin: 0;
    padding: 0;
	font-size: 14px
}

@media (min-width: 630px) {
.footer-menu {
	list-style: none;
    margin: 0 68px 0 0!important;
    padding: 0;
}

.footer-menu li, .footer-menu ul {
    display: inline-block;
    position: relative;
    padding-left: 0;
}

.footer-menu li::after {
    content: "|";
    display: inline-block;
    padding: 0 1rem 0 1.2rem;
    color: rgba(255, 255, 255, 0.6);
}

.footer-menu li:last-child::after {
  display: none;
}
}

@media (max-width: 767px) {
.footer-menu ul {
	list-style: none;
    margin: 0;
    padding: 0;
}	
}

@media (max-width: 960px) {
.legal-footer-wrp {
	    gap: 1rem!Important;
}
}

@media (max-width: 767px) {
.legal-footer-wrp {
	    gap: 0.2rem!Important;
}
	
	.footer-columns {
		padding-top: 30px!Important;
    padding-right: 25px!Important;
    padding-bottom: 5px!Important;
    padding-left: 25px!Important;
		gap: 0.4rem!Important;
	}
}

footer .wp-block-uagb-icon-list {
	margin-block-start: 0!important;
}

footer .wp-block-uagb-icon-list a {
	color: var(--wp--preset--color--light-orange);
}

footer .wp-block-uagb-icon-list a:hover {
    color: var(--wp--preset--color--primary-orange);
}

footer .wp-block-uagb-icon-list-child {
    margin-bottom: 5px!important;
}

footer .wp-block-spacer {
    margin-block-start: 10px!important;
}

@media (max-width: 1100px) {
footer .footer-logo img {
	width: 160px!important;
    height: 66px!important;
}
	
footer :where(.is-layout-flow) > * {
    margin-block-start: 0rem!important;
    margin-block-end: 0;
}
	
footer p {
    padding-top: 12px;
	font-size: 14px
}
}

.footer-quote {}

.footer-quote .wp-block-uagb-image__figure {width:100%}

.footer-quote .wp-block-uagb-image__figure img {width:100%!Important}

@media (max-width: 1550px) {
.footer-quote .wp-block-uagb-image__figure h3 {
	font-size: 44px!Important;
	padding: 0 12px
}
}

@media (max-width: 1250px) {
.footer-quote {
	display:none
}
.footer-links, .footer-info {
	flex-basis:50%!important
}
}

@media (max-width: 1100px) {
  footer p {
    padding-bottom: 12px;
  }
footer .wp-block-spacer {
  margin-block-start: 0px !important;
}
.wp-block-social-links {
	margin-top: 12px!important;
  margin-bottom: 0px!important;
  --wp--style--block-gap: 1rem;
}
}

@media (max-width: 1000px) {
.legal-footer-wrp {
	padding-top: 18px!Important;
  padding-right: 30px!Important;
  padding-bottom: 25px!Important;
  padding-left: 30px!Important;
  gap: 0!Important
}

.legal-footer-wrp p {
	padding-top: 0px!Important;
}
}

@media (max-width: 767px) {
.footer-info {
  padding-top: 5px!Important;
  padding-right: 10px!Important;
  padding-left: 10px!Important;
}
.footer-links {
  padding-top: 0px!Important;
  padding-right: 10px!Important;
  padding-left: 10px!Important;
}
 .wp-block-social-links {
    margin-bottom: 30px !important;
  }
.footer-info .wp-block-group {
  padding-bottom:20px!important;
}
}
@media (max-width: 850px) {
footer .footer-logo img {
	width: 140px!important;
    height: 58px!important;
}
}

footer .gm-logo img {
	width: 180px!important;
    height: auto!important;
}

footer .ngsn-logo img {
	width: 80px!important;
    height: auto!important;
}

footer .fr-logo img {
	width: 80px!important;
    height: auto!important;
}

/* =========================================================
   Retreat by Gordon Moody - Ninja Form
   ========================================================= */
   
.nf-field-element .wp-block-button__link {
background: var(--wp--preset--color--primary-orange);
  color: var(--wp--preset--color--primary-black);
  border: none;
  border-radius: 999px;
  font-weight: 700;
  padding: 0.55em 1.85em;
  text-decoration: none;
  transition: all .3s;
  font-family: var(--wp--preset--font-family--museo-sans-condensed);
  text-transform: uppercase;
  margin-top: 20px
}

.nf-field-element .wp-block-button__link:hover,
.nf-field-element .wp-block-button__link:focus-visible {
  background: var(--wp--preset--color--primary-black);
  border-color: var(--wp--preset--color--primary-black);
  color: var(--wp--preset--color--primary-white);
  outline: none;
}

.nf-form-fields-required {font-size:14px; margin-bottom: 12px}

.label-above .nf-field-label {
  margin-bottom: 0px;
}

.nf-field-container {
  margin-bottom: 12px;
}

.nf-field-label label {
  font-weight: 700;
  font-family: var(--wp--preset--font-family--museo-sans-condensed);
  text-transform: uppercase;
}

.nf-field-element input, .nf-field-element select, .nf-field-element textarea {
  padding: 15px;
  font-size:16px;
  font-family: var(--wp--preset--font-family--museo-sans);
}
   
@media (max-width: 800px) {
  .nf-field-element input, .nf-field-element select, .nf-field-element textarea {
  padding: 10px;
}
}

/* =========================================================
   Retreat by Gordon Moody - Helpers
   ========================================================= */

.no-bullet-list li, .no-bullet-list ul {
    display: inline-block;
    position: relative;
    padding-left: 0;
}

/*html, body { overflow-x: hidden; }*/
/*body { overflow: hidden !important; }*/


/* ✅ Front-end only: full-bleed alignfull breakout */
body:not(.wp-admin) .wp-site-blocks .alignfull {
  width: 100vw;
  max-width: 100vw;
  margin-left: calc(50% - 50vw) ;
  margin-right: calc(50% - 50vw) ;
}

body:not(.wp-admin) .wp-site-blocks :where(.wp-block-group, .wp-block-cover, .wp-block-columns) > .alignfull {
  margin-left: calc(50% - 50vw) !important;
  margin-right: calc(50% - 50vw) !important;
}

body:not(.wp-admin) .wp-site-blocks,
body:not(.wp-admin) .wp-site-blocks > * {
  overflow: visible;
}

body:not(.wp-admin) .wp-block-group{
  margin-block-start: 0 !important;
}

.is-hidden { display: none !important; }

/* =========================================================
   Retreat - Back to Top Button
   ========================================================= */

#retreat-back-to-top {
  position: fixed;
  right: 20px;
  bottom: 15px;
  z-index: 9999;
  padding: 12px 16px;
  border-radius: 999px;
  background: var(--wp--preset--color--primary-orange);
  color: var(--wp--preset--color--primary-black);
  border: 2px solid var(--wp--preset--color--primary-orange);
  font-family: var(--wp--preset--font-family--museo-sans-condensed);
  font-weight: 900;
  letter-spacing: 0.03em;
  cursor: pointer;
  opacity: 0;
  visibility: hidden;
  transform: translateY(10px);
  transition: opacity 200ms ease, transform 200ms ease, visibility 0s linear 200ms;
}

/* Show when scrolling */
#retreat-back-to-top.is-visible {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
  transition-delay: 0s;
}

/* Hover + focus */
#retreat-back-to-top:hover,
#retreat-back-to-top:focus-visible {
  background: var(--wp--preset--color--dark-orange, #C4330E);
  border-color: var(--wp--preset--color--dark-orange, #C4330E);
  color: var(--wp--preset--color--primary-white);
}

#retreat-back-to-top:focus-visible {
  outline: 3px solid var(--wp--preset--color--dark-orange, #C4330E);
  outline-offset: 3px;
}

/* Respect reduced motion */
@media (prefers-reduced-motion: reduce) {
  #retreat-back-to-top {
    transition: none;
  }
}

/* Arrow animation */
#retreat-back-to-top .retreat-btt__icon {
  display: inline-block;
  font-size: 18px;
  line-height: 1;
  transition: transform 200ms ease;
}

/* Bounce on hover/focus */
#retreat-back-to-top:hover .retreat-btt__icon,
#retreat-back-to-top:focus-visible .retreat-btt__icon {
  transform: translateY(-3px);
}

/* Optional: gentle bob when visible */
#retreat-back-to-top.is-visible .retreat-btt__icon {
  animation: retreat-btt-bob 1.6s ease-in-out infinite;
}

@keyframes retreat-btt-bob {
  0%, 100% { transform: translateY(0); }
  50% { transform: translateY(-3px); }
}

/* Hide on mobile only (example: under 768px) */
@media (max-width: 767px) {
  #retreat-back-to-top {
    display: none !important;
  }
}

/* Respect reduced motion */
@media (prefers-reduced-motion: reduce) {
  #retreat-back-to-top .retreat-btt__icon {
    animation: none !important;
    transition: none !important;
    transform: none !important;
  }
}

.screen-reader-text {
  position: absolute !important;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

.screen-reader-text {
  border: 0 !important;
  clip: rect(1px, 1px, 1px, 1px) !important;
  -webkit-clip-path: inset(50%) !important;
  clip-path: inset(50%) !important;
  height: 1px !important;
  margin: -1px !important;
  overflow: hidden !important;
  padding: 0 !important;
  position: absolute !important;
  width: 1px !important;
  white-space: nowrap !important;
}

.screen-reader-text:focus,
.screen-reader-text:focus-visible {
  clip: auto !important;
  -webkit-clip-path: none !important;
  clip-path: none !important;
  height: auto !important;
  width: auto !important;
  margin: 0 !important;
  padding: 12px 16px !important;
  top: 10px;
  left: 10px;
  background: var(--wp--preset--color--primary-white);
  color: var(--wp--preset--color--primary-black);
  border-radius: 999px;
  z-index: 100000;
}



/* =========================================================
   Retreat Accessibility Toolbar
   ========================================================= */

/* High Contrast Mode */
html.retreat-high-contrast {
  --wp--preset--color--primary-black: #000000;
  --wp--preset--color--primary-white: #ffffff;
}

html.retreat-high-contrast a {
  text-decoration: underline;
}

/* Dark Mode */
html[data-retreat-mode="dark"] {
  background: #111;
  color: #fff;
}

html[data-retreat-mode="dark"] a {
  color: #FFD36A;
}

/* =========================================================
   Retreat - Accessibility Toolbar (Header)
   ========================================================= */

.retreat-a11y {
  position: fixed;
  top: 0px;
  right: 35px;
  z-index: 10000;
  display: grid;
  gap: 10px;	
}

/* Hide on mobile only (change breakpoint if you want) */
@media (max-width: 767px) {
  .retreat-a11y {
    display: none !important;
  }
}

/* Toggle button */
.retreat-a11y__toggle {
  display: inline-flex;
  align-items: center;
  gap: 10px;

  padding: 7px 10px;
  border-radius: 0;

  background: var(--wp--preset--color--light-green);
  color: var(--wp--preset--color--primary-black);
  border: 0px solid var(--wp--preset--color--primary-orange);

  font-family: var(--wp--preset--font-family--museo-sans);
  font-weight: 700;
  cursor: pointer;
	transition: all .3s;
	width: 130px;
	margin-left: auto;

}

.retreat-a11y__toggle:hover,
.retreat-a11y__toggle:focus-visible {
  background: var(--wp--preset--color--dark-orange, #C4330E);
  border-color: var(--wp--preset--color--dark-orange, #C4330E);
  color: var(--wp--preset--color--primary-white);
}

/* Panel */
.retreat-a11y__panel {
  width: min(360px, calc(100vw - 32px));
  background: rgba(255, 255, 255, 0.92);
  border: 1px solid rgba(30, 30, 30, 0.14);
  border-radius: 0;
  padding: 12px;
  box-shadow: 0 12px 30px rgba(0,0,0,0.10);
  backdrop-filter: blur(8px);
  position: relative;          /* needed for absolute close */
  padding-top: 16px;           /* room for top-right close */
}

.retreat-a11y__panel-title {
  font-family: var(--wp--preset--font-family--museo-sans-condensed);
  font-weight: 900;
  letter-spacing: 0.03em;
  margin: 2px 2px 10px;
margin-right: 56px; /* leaves breathing room even if close overlaps */
}

/* Controls */
.retreat-a11y__controls {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.retreat-a11y__controls button {
  padding: 8px 12px;
  border-radius: 999px;

  background: var(--wp--preset--color--primary-off-white);
  color: var(--wp--preset--color--primary-black);
  border: 1px solid rgba(30, 30, 30, 0.18);

  font-family: var(--wp--preset--font-family--museo-sans);
  font-weight: 300;
  cursor: pointer;
}

.retreat-a11y__controls button:hover,
.retreat-a11y__controls button:focus-visible {
  outline: 3px solid var(--wp--preset--color--dark-orange, #C4330E);
  outline-offset: 3px;
  border-color: rgba(30, 30, 30, 0.28);
}

/* Open/close animation (JS toggles [hidden]) */
.retreat-a11y__panel {
  opacity: 0;
  transform: translateY(-6px);
  pointer-events: none;
  visibility: hidden;
  transition: opacity 160ms ease, transform 160ms ease, visibility 0s linear 160ms;
}

.retreat-a11y__panel.is-open {
  opacity: 1;
  transform: translateY(0);
  pointer-events: auto;
  visibility: visible;
  transition: opacity 160ms ease, transform 160ms ease, visibility 0s;
}

/* Reduced motion */
@media (prefers-reduced-motion: reduce) {
  .retreat-a11y__toggle,
  .retreat-a11y__panel[hidden],
  .retreat-a11y__panel.is-open {
    transition: none !important;
    transform: none !important;
  }
}

.retreat-a11y__icon {
  display: inline-flex;
  align-items: center;
}

.retreat-a11y__icon svg {
  display: block;
  fill: currentColor; /* icon matches button text color */
}

.retreat-a11y__controls button {
  font-size: 14px;
  padding: 8px 10px;
}

/* Close button: top-right, animated */
.retreat-a11y__close {
  position: absolute;
  top: 10px;
  right: 10px;

  display: inline-flex;
  align-items: center;
  justify-content: center;

  width: 44px;
  height: 44px;
  border-radius: 999px;

  background: rgba(255, 255, 255, 0.85);
  color: var(--wp--preset--color--primary-black);
  border: 1px solid rgba(30, 30, 30, 0.18);

  cursor: pointer;

  /* animation start */
  transform: rotate(-90deg) scale(0.92);
  opacity: 0;

  transition:
    transform 180ms ease,
    opacity 180ms ease,
    background-color 180ms ease,
    border-color 180ms ease;
}

/* When panel is open, pop it in */
.retreat-a11y__panel.is-open .retreat-a11y__close {
  transform: rotate(0deg) scale(1);
  opacity: 1;
}

.retreat-a11y__close:hover {
  background: #fff;
  border-color: rgba(30, 30, 30, 0.28);
}

.retreat-a11y__close:focus-visible {
  outline: 3px solid var(--wp--preset--color--dark-orange, #C4330E);
  outline-offset: 3px;
}

/* Reduce motion */
@media (prefers-reduced-motion: reduce) {
  .retreat-a11y__close {
    transition: none !important;
    transform: none !important;
    opacity: 1 !important;
  }
}

.retreat-a11y { z-index: 2147483647!Important; }

/* =========================================
   FULL-BLEED HERO: Copy | Stripes
   TT3 compatible
   ========================================= */

/* Outer hero: full-bleed background */
.wp-block-group.hero--stripes.hero-grid {
  width: auto !important;
  max-width: none !important;

  /* keep the breakout */
  margin-left: calc(50% - 50vw) !important;
  margin-right: calc(50% - 50vw) !important;

  background: var(--wp--preset--color--primary-black) !important;
  color: #f2f2f7;
  padding: 0;

  overflow-x: clip;  /* prevents tiny overflow */
  overflow-x: hidden; /* fallback */
}

/* Inner centered container (1400px wide) */
.hero-grid__inner {
  max-width: clamp(
    var(--wp--style--global--wide-size, 1400px),
    90vw,
    1600px
  );
  margin: 0 auto;
  padding:  0;

  display: grid;
  grid-template-columns: minmax(420px, 1fr) minmax(420px, 520px);
  gap: clamp(32px, 5vw, 48px);
  align-items: center;
  overflow: hidden;
  min-height: 70vh;
}

@media (max-width: 1480px) {
.hero-grid__inner {
  padding:  0 0 0 40px;
}
}

/* Left column */
.hero-grid__inner .hero__copy {
  max-width:74ch;
}

.hero-grid__inner .hero__copy h1 {
  font-size: clamp(2.4rem, 5vw, 4rem);
  line-height: 1.05;
  margin: 0 0 0.6rem;
}

.hero-grid__inner .hero__copy p {
  font-size: 1.1rem;
  opacity: 0.85;
  margin: 0;
}

.hero-grid__inner p.sub {
  font-size: 1.4rem;
}

/* Right column: stripes */
.hero-grid__inner .stripes {
 display: grid;
  grid-template-columns: repeat(2, minmax(180px, 240px));
  gap: clamp(14px, 1.8vw, 22px);

  justify-content: end;
  justify-self: end;

  max-width: 520px;
  width: fit-content;
  margin-left: auto;
}

/* Stripe panels */
.hero-grid__inner .stripe {
  height: min(68vh, 700px);
  border-radius: 24px;
  overflow: hidden;
  position: relative;
  backdrop-filter: blur(6px);
}

/* Fade mask */
.hero-grid__inner .stripe::after {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background: linear-gradient(
    to bottom,
    rgba(30, 30, 30, 1) 0%,
    rgba(30, 30, 30, 0) 18%,
    rgba(30, 30, 30, 0) 82%,
    rgba(30, 30, 30, 1) 100%
  );
}

/* Gallery as track */
.hero-grid__inner .stripe .track {
  display: grid !important;
  gap: 14px;
  padding: 14px;
  will-change: transform;
}

/* Remove default figure spacing Gutenberg adds */
.hero-grid__inner .stripe .track figure {
  margin: 0 !important;
}

.hero-grid__inner .stripe .track img {
  width: 100%;
  display: block;
  border-radius: 18px;
}

/* Defaults for any stripe */
.hero--stripes .stripes .stripe {
  --speed: 22;
  --dir: down;
}/* Hide gallery/image captions in hero stripes (front end only) */
.hero--stripes .wp-element-caption {
  display: none !important;
}

/* Second stripe goes up, different speed */
.hero--stripes .stripes .stripe:nth-child(2) {
  --speed: 30;
  --dir: up;
}

/* Hide gallery/image captions in hero stripes (front end only) */
.hero--stripes .wp-element-caption {
  display: none !important;
}

/* Force 600x900 (2:3) portrait ratio for stripe images */
.hero--stripes .stripe .track figure,
.hero--stripes .stripe .track img {
  aspect-ratio: 2 / 3;   /* 600 / 900 */
  width: 100%;
  height: auto;
  object-fit: cover;
}

/* Ensure images fill the portrait frame */
.hero--stripes .stripe .track img {
  display: block;
  width: 100%;
  height: 100%;
}

.hero--stripes .wp-block-button__link:hover {
    background: var(--wp--preset--color--primary-orange);
    color: var(--wp--preset--color--primary-black);
    border: none;
    border-radius: 999px;
    font-weight: 700;
    padding: 0.55em 1.25em;
    text-decoration: none;
    transition: all .3s;
    font-family: var(--wp--preset--font-family--museo-sans-condensed);
    text-transform: uppercase;
}

.hero--stripes .wp-block-button__link:hover,
.hero--stripes .wp-block-button__link:focus-visible {
  background: var(--wp--preset--color--light-orange-80)!important;
  border-color: var(--wp--preset--color--light-orange-80)!important;
}

.hero--stripes .is-style-retreat-outline .wp-block-button__link {
  color: white!important
}

/* =========================================
   MOBILE: stack but keep stripes
   ========================================= */

@media (max-width: 900px) {
  .hero-grid__inner {
    grid-template-columns: 1fr;
    gap: 24px;
    padding: 0 40px;
    min-height: auto;
  }

  .hero-grid__inner .stripes {
    grid-template-columns: repeat(2, minmax(140px, 1fr));
    justify-self: start;
    max-width: 100%;
  }

  .hero-grid__inner .stripe {
    height: min(52vh, 520px);
  }
  
.hero-grid__inner .stripe .track {
  gap: 10px;
  padding: 10px;
}

.wp-block-group.hero--stripes.hero-grid p {
	margin-block-start: 1rem;
	font-size: 14px
}
}

@media (max-width: 800px) {
.wp-block-group.hero--stripes.hero-grid h1 {
	margin-top: 10px
}
}

@media (max-width: 767px) {
  .hero-grid__inner {
    padding: 0 30px;
    display: block;
  }

  .hero-grid__inner .stripes {
    display: block;
    max-width: none;
    margin: 2rem 0 0;
  }

  .hero-grid__inner .stripe {
    height: auto;
    overflow: visible;
  }
  
  .hero--stripes .stripes {
    display: none;
  }
  
.wp-block-group.hero--stripes.hero-grid .wp-block-buttons {
	margin-block-start: 15px;
	margin-bottom:30px;
	gap: 1.2rem;
}
.wp-block-group.hero--stripes.hero-grid h1 {
	margin-top: 0px
}
}


@media (max-width: 767px) {
  /* Stack the two columns and show RIGHT column first */
  .hero--stripes .hero-grid__inner.wp-block-columns {
    flex-direction: column;
  }

  .hero--stripes .hero-grid__inner.wp-block-columns > .wp-block-column:nth-child(1) {
    order: 2; /* left/copy */
  }

  .hero--stripes .hero-grid__inner.wp-block-columns > .wp-block-column:nth-child(2) {
    order: 1; /* right/media */
  }
}

@media (max-width: 700px) {
.wp-block-group.hero--stripes.hero-grid h1 {
	font-size: 24px!Important
}

.wp-block-group.hero--stripes.hero-grid p {
	margin-block-start: 15px;
}
}

@media (max-width: 600px) {
.wp-block-group.hero--stripes.hero-grid .wp-block-buttons>.wp-block-button {
	width: 100%
}
}

@media (max-width: 550px) {
  .hero-grid__inner .stripe {
    height: min(45vh, 400px);
  }
}

@media (max-width: 420px) {
  .hero-grid__inner .stripes {
    grid-template-columns: 1fr;
    max-width: 320px;
  }

  .hero-grid__inner .stripe {
    height: min(46vh, 460px);
  }
}

/* Reduced motion */
@media (prefers-reduced-motion: reduce) {
  .hero-grid__inner .track {
    transform: none !important;
  }
}

.hero--stripes .hero-mobile-image {
  display: none;
}

/* Mobile: show the static image + hide stripes */
@media (max-width: 767px) {
  .hero--stripes .hero-mobile-image {
    display: block !important;
    max-width: 100%;
    margin: 0;
  }

  .hero--stripes .hero-mobile-image img {
    width: 100%;
    height: auto;
   
    object-fit: cover;
    border-radius: 18px;
    display: block;
  }

  .hero--stripes .stripes {
    display: none !important;
  }
}

/* Editor: force hero to visually break out to full width (especially on front page) */
.editor-styles-wrapper .wp-block-post-content .hero--stripes.hero-grid,
.editor-styles-wrapper .is-root-container .hero--stripes.hero-grid {
  /* break out of the editor content padding */
  margin-left: calc(-1 * var(--wp--style--root--padding-left, 0px)) !important;
  margin-right: calc(-1 * var(--wp--style--root--padding-right, 0px)) !important;

  width: calc(100% + var(--wp--style--root--padding-left, 0px) + var(--wp--style--root--padding-right, 0px)) !important;
  max-width: none !important;
}

/* =========================================
   HOME PAGE Introduction Section
   ========================================= */

.intro-wrapper {

}

.intro-wrapper p, .intro-wrapper h2, .intro-wrapper h3 {
	padding-bottom: 0;
	margin-bottom: 0;
}

.intro-wrapper h3 {
	font-size:65px;
	line-height: normal;
	margin-top: 0
}

.intro-wrapper h3 strong {
	color: var(--wp--preset--color--primary-off-white);
	line-height: normal;
	content: none
}


.intro-wrapper h3 strong::before{
  content: '';
  display: inline-block;
  left: 0;
  top: 0;
  width: 12px;
  height: 12px;
  border-radius: 100%;
  background-color: var(--wp--preset--color--primary-orange);
  position: relative;
	margin-bottom: 5px;
	margin-left: 3px 
}


.intro-wrapper p.lead {
	font-size: 24px
}

@media (max-width: 1200px) {
.intro-wrapper p.lead {
	font-size: 20px
}

.intro-wrapper h3 {
	font-size:50px;
	line-height: normal;
}
}

@media (max-width: 1100px) {
  .intro-wrapper.cta-wrapper p {
    padding-top: 12px;
    padding-left: 30px;
    padding-right: 30px;
    font-size: 16px;
    padding-bottom: 20px
  }
}

@media (max-width: 900px) {
.intro-wrapper p.lead {
	font-size:18px
}
.intro-wrapper h3 {
	font-size:40px;
}
.intro-wrapper h3 strong::before{
  width: 9px;
  height:9px;
	margin-bottom: 3px;
	margin-left: 3px 
}
}

@media (max-width: 650px) {
  .intro-wrapper.cta-wrapper p {
    padding-top: 12px;
    padding-left: 30px;
    padding-right: 30px;
    font-size: 16px;
    padding-bottom: 20px
  }
}

@media (max-width:600px) {
.intro-wrapper p.lead {
	font-size: 16px
}
.intro-wrapper h3 {
	font-size:34px;
}
  .intro-wrapper.cta-wrapper p {
    padding-left: 0px;
    padding-right: 0px;
  }
  .intro-wrapper.cta-wrapper .wp-block-buttons {
    margin-bottom: 6px;
  }
}

/* =========================================
   Sticky Scroll Feature (Gutenberg-native)
   - Full-bleed section background
   - Sticky left column
   - Glass/outline cards
   ========================================= */

.sticky-feature--native {
  /* Set by JS */
  --feature-bg: transparent;

  background: var(--feature-bg);
  transition: background-color 450ms ease;

  /* Break out of constrained page content */
  width: 100vw;
  max-width: 100vw !important;
  margin-left: calc(50% - 50vw) !important;
  margin-right: calc(50% - 50vw) !important;

  overflow: visible !important;
}

/* TT3 can constrain groups; remove so the wrapper can be truly full-bleed */
.sticky-feature--native.wp-block-group {
  max-width: none !important;
}

/* Sticky can break if constrained/global padding wrappers introduce overflow/contain */
.wp-block-group.alignfull.sticky-feature--native,
.wp-block-group.alignfull.sticky-feature--native.has-global-padding.is-layout-constrained,
.wp-block-group.alignfull.sticky-feature--native .sticky-feature__inner,
.wp-block-group.alignfull.sticky-feature--native .sticky-feature__chapters {
  overflow: visible !important;
}

.wp-block-group.alignfull.sticky-feature--native.has-global-padding.is-layout-constrained {
  contain: none !important;
}

.wp-block-group.alignfull.sticky-feature--native {
  transform: none !important;
  filter: none !important;
  perspective: none !important;
}

.sticky-feature__chapters {
  border-left: solid 1px rgba(0,0,0,0.09)
}


/* Inner grid (support Group blocks with/without inner container wrapper) */
.sticky-feature--native .sticky-feature__inner,
.sticky-feature--native .sticky-feature__inner > .wp-block-group__inner-container {
  max-width: 1600px;
  margin-inline: auto;
  padding: 0 24px 96px;

  display: grid;
  grid-template-columns: minmax(280px, 0.9fr) minmax(0, 1.1fr);
  gap: 48px;
  align-items: start;

  overflow: visible !important;
}

/* Chapters column */
.sticky-feature--native .sticky-feature__chapters,
.sticky-feature--native .sticky-feature__chapters > .wp-block-group__inner-container {
  display: grid;
  gap: 18px;
  overflow: visible !important;
}

/* Sticky column */
.sticky-feature--native .sticky-feature__sticky {
  position: -webkit-sticky !important;
  position: sticky !important;
  top: calc(64px + var(--wp-admin--admin-bar--height, 0px));

  align-self: start;
  z-index: 2;
  overflow: visible !important;
}

/* Cards */
.sticky-feature--native .sticky-feature__chapter {
  min-height: 75vh;
  padding: 0 22px 22px 62px !important;

  border-radius: 18px;
  border: 0px solid rgba(0, 0, 0, 0.15);

  background: transparent !important;
  background-color: rgba(255, 255, 255, 0.15); /* subtle glass */
  backdrop-filter: blur(6px);

  opacity: 0.38;
  /*transform: translateY(10px);*/
transform: translateY(0px);
  transition:
    opacity 350ms ease,
    transform 350ms ease,
    border-color 250ms ease;
  will-change: opacity, transform;
}

.sticky-feature--native .sticky-feature__chapter.is-active {
  opacity: 1;
  transform: translateY(0);
  border-color: rgba(0, 0, 0, 0.35);
}

/* Reduced motion */
@media (prefers-reduced-motion: reduce) {
  .sticky-feature--native,
  .sticky-feature--native .sticky-feature__chapter {
    transition: none !important;
  }

  .sticky-feature--native .sticky-feature__chapter {
    transform: none !important;
  }
}

@media (max-width: 1200px) {
  .sticky-feature--native .sticky-feature__chapter {
    min-height: 50vh;
  }
}

/* Mobile stack */
@media (max-width: 900px) {
  .sticky-feature--native .sticky-feature__inner,
  .sticky-feature--native .sticky-feature__inner > .wp-block-group__inner-container {
    grid-template-columns: 1fr;
  }

  .sticky-feature--native .sticky-feature__sticky {
    position: relative !important;
    top: auto;
  }

  .sticky-feature--native .sticky-feature__chapter {
    min-height: 25vh;
    padding: 20px 0 0 0 !important;
  }
  
.sticky-feature__chapters {
  border-left: solid 0px rgba(0,0,0,0.09);
}

.sticky-feature--native .sticky-feature__inner {
padding: 0 14px 66px;
}

.wp-block-group.alignfull.sticky-feature--native.has-global-padding.is-layout-constrained {
  --feature-bg: #EAE9E3!Important;
}

.sticky-feature--native h2, .sticky-feature--native h3 {
text-align: center;
}

.sticky-feature--native p {
text-align: justify;
}

}

@media (max-width: 600px) {
.wp-block-group.alignfull.sticky-feature--native {
	--wp--style--block-gap: 1rem;
}
}

@media (max-width: 600px) {
.sticky-feature--native .sticky-feature__inner {
padding: 0 10px 36px;
gap:28px;
}

 .sticky-feature .wp-block-buttons > .wp-block-button {
    width: 100%;
  }
}

/* Cards: fully transparent (no fill, no glass) */
.sticky-feature--native .sticky-feature__chapter,
.sticky-feature--native .sticky-feature__chapter.has-background {
  background: transparent !important;
  background-color: transparent !important;
  backdrop-filter: none !important;
}

/* Keep the outline + active state */
.sticky-feature--native .sticky-feature__chapter {
  border: 0px solid rgba(0, 0, 0, 0.15);
}

.sticky-feature--native .sticky-feature__chapter.is-active {
  border-color: rgba(0, 0, 0, 0.35);
}

/* Sticky prerequisites: no overflow/contain/transform on ancestors */
.wp-block-group.alignfull.sticky-feature--native,
.wp-block-group.alignfull.sticky-feature--native.has-global-padding.is-layout-constrained,
.wp-block-group.alignfull.sticky-feature--native .sticky-feature__inner,
.wp-block-group.alignfull.sticky-feature--native .sticky-feature__inner > .wp-block-group__inner-container,
.wp-block-group.alignfull.sticky-feature--native .sticky-feature__chapters,
.wp-block-group.alignfull.sticky-feature--native .sticky-feature__chapters > .wp-block-group__inner-container {
  overflow: visible !important;
}

.wp-block-group.alignfull.sticky-feature--native.has-global-padding.is-layout-constrained {
  contain: none !important;
}

.wp-block-group.alignfull.sticky-feature--native {
  transform: none !important;
  filter: none !important;
  perspective: none !important;
}

/* Ensure the grid isn't stretching items oddly */
.wp-block-group.alignfull.sticky-feature--native .sticky-feature__inner,
.wp-block-group.alignfull.sticky-feature--native .sticky-feature__inner > .wp-block-group__inner-container {
  align-items: start !important;
}

/* =========================================
   INNER HERO
   ========================================= */

:root{
  --inner-hero-bg: #0b0b0b;
  --inner-hero-fg: #f5f3ef;
  --inner-hero-muted: rgba(245,243,239,.72);
  --inner-hero-hairline: rgba(245,243,239,.18);
}

/* Prevent horizontal scrollbars caused by transforms/rounding */

body:not(.wp-admin) {
  overflow-x: clip;
}
@supports not (overflow: clip) {
  body:not(.wp-admin) {
    overflow-x: hidden;
  }
}

.inner-hero{
  display: grid;
  grid-template-columns: minmax(0, 1.55fr) minmax(0, 1fr); /* shrink-safe tracks */
  background: var(--wp--preset--color--primary-black);
  color: var(--inner-hero-fg);
  overflow-x: clip;
}

.inner-hero__media,
.inner-hero__content{
  min-width: 0; /* allow grid children to shrink */
}

/* Media (responsive ratio box based on 1100x730) */
.inner-hero__media{
  position: relative;
  width: 100%;
  overflow: hidden;
  aspect-ratio: 1100 / 730;
}

/* Fallback if aspect-ratio isn't supported */
@supports not (aspect-ratio: 1 / 1) {
  .inner-hero__media::before{
    content:"";
    display:block;
    padding-top: 66.36%; /* 730/1100*100 */
  }
}

/* Parallax layer inside the ratio box (desktop default) */
.inner-hero__mediaInner{
  position: absolute;
  inset: -22%;
  will-change: transform;
  transform: translate3d(0,0,0) scale(1.18);
}

/* WP featured image markup */
.inner-hero__mediaInner figure.wp-block-post-featured-image{
  margin: 0;
  width: 100%;
  height: 100%;
}

.inner-hero__mediaInner img{
  width: 100%;
  height: 100%;
  max-width: none;           /* avoid "intrinsic max-width" weirdness */
  object-fit: cover;
  display: block;
}

/* Content */
.inner-hero__content{
  display: grid;
  place-items: center;
  padding: clamp(20px, 3vw, 44px);
  border-left: 1px solid var(--inner-hero-hairline);
  text-align: center;
}

.inner-hero__content p {
  margin-bottom: 22px;
  margin-block-start: 1rem;
}

.inner-hero__contentInner{
  width: min(520px, 100%);
}

body:not(.has-post-thumbnail) .inner-hero__contentInner{
  width: 100%;
  max-width: 90%;
}

.inner-hero__kicker{
  font-size: 12px;
  letter-spacing: .18em;
  text-transform: uppercase;
  color: var(--inner-hero-muted);
  margin: 0 0 10px 0;
}

.inner-hero__title{
  font-size: clamp(38px, 3.6vw, 62px);
  line-height: 1.02;
  margin: 0!important;
}

.inner-hero__subline,
.wp-block-shortcode.inner-hero__subline {
  font-size: clamp(14px, 1.35vw, 18px);
  line-height: 1.55;
  margin: 1rem auto 0;
  color: var(--inner-hero-muted);
  max-width: 46ch;
	padding-bottom: 20px;
	margin-block-start: 1rem!important;
}

.inner-hero__rule{
  margin: 0 auto 0;
  height: 1px;
  width: 120px;
  background: var(--inner-hero-hairline);

}

/* No featured image => full width text */
body:not(.has-post-thumbnail) .inner-hero{
  grid-template-columns: 1fr;
}
body:not(.has-post-thumbnail) .inner-hero__media{
  display: none;
}
body:not(.has-post-thumbnail) .inner-hero__content{
  border-left: none;
}

/* Responsive: stack columns */
@media (max-width: 860px){
  .inner-hero{
    grid-template-columns: 1fr;
  }

  .inner-hero__content{
    border-left: none;
    border-top: 0px solid var(--inner-hero-hairline);
  }
  
body:not(.has-post-thumbnail) .inner-hero__contentInner{
  width: 100%;
  max-width: 100%;
}
}

/* Tablet "light motion" (601px–860px):
   - keep slight overscan
   - keep small scale so JS motion still looks good
   - JS should also run in this range with a smaller translate (recommended) */
@media (min-width: 601px) and (max-width: 860px){
  .inner-hero__mediaInner{
    inset: -10%;
    transform: translate3d(0,0,0) scale(1.08);
  }
}

/* Phone "no motion" (<=600px):
   - remove overscan and disable transform so it’s cheap to render
   - (JS should bail out at <=600px for best performance) */
@media (max-width: 600px){
  .inner-hero__mediaInner{
    inset: 0;
    transform: none;
  }
}


/* Sidebar spacing polish (only impacts the page-sidebar template) */
body.page-template-page-sidebar .wp-block-columns {
  align-items: flex-start;
}

body.page-template-page-sidebar .inner-hero-sidebar{
  position: sticky;
  top: 1.5rem;
  align-self: flex-start;
}

/* Sidebar can be wider, but keep it tidy */
.inner-hero-sidebar{
  max-width: 420px;   /* increase to 480px if you want */
}

/* Prevent ANY sidebar content from breaking out */
.inner-hero-sidebar{
  max-width: 100%;
  min-width: 0;
  /*overflow: hidden;*/
}

/* Let children shrink instead of forcing overflow */
.inner-hero-sidebar *{
  min-width: 0;
}

/* Media should never exceed sidebar */
.inner-hero-sidebar img,
.inner-hero-sidebar video,
.inner-hero-sidebar iframe,
.inner-hero-sidebar embed,
.inner-hero-sidebar object{
  max-width: 100%;
  height: auto;
}

/* Tables are the #1 breakout culprit */
.inner-hero-sidebar table{
  width: 100%;
  max-width: 100%;
  display: block;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
}

/* Long words/URLs */
.inner-hero-sidebar{
  overflow-wrap: anywhere;
  word-break: break-word;
}

/* Alignwide/full blocks should not escape inside sidebar */
.inner-hero-sidebar .alignwide,
.inner-hero-sidebar .alignfull{
  max-width: 100% !important;
  width: 100% !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  margin-left: calc(0% - 0vw) !important;
  margin-right: calc(0% - 0vw) !important;
}

body.page-template-page-sidebar .inner-hero-sidebar .advgb-column-inner {
margin-left: 40px!Important}


@media (max-width: 1250px) {
  .wp-block-advgb-columns.advgb-columns-wrapper .advgb-columns-container .advgb-columns.mbl-layout-stacked > .advgb-column {
    width: 100%!important;
    flex-basis: unset !important;
    margin-left: 0 !important;
  }
 .advgb-columns.mbl-layout-1-12-12, .advgb-columns.mbl-layout-12-12-1, .advgb-columns.mbl-layout-12x4, .advgb-columns.mbl-layout-12x6, .advgb-columns.mbl-layout-13x6, .advgb-columns.mbl-layout-stacked {
    flex-wrap: wrap!important;
  }
body.page-template-page-sidebar .inner-hero-sidebar .advgb-column-inner {
margin-left: 0px!Important;
margin-top: 20px}
}

@media (min-width: 861px) and (max-width: 1250px) {
.inner-hero {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  background: var(--wp--preset--color--primary-black);
  color: var(--inner-hero-fg);
  overflow-x: clip;
}
}

@media (max-width: 1250px) {
.inner-hero__kicker {
  margin: 0 0 5px 0;
  padding-bottom: 10px;
}
.inner-hero__subline {
  margin: 12px auto 0;
  padding-bottom:12px;
  margin-block-start: 6px !important;
}

.inner-hero__content p {
  margin-bottom: 0px;
  margin-block-start: 12px;
}
.inner-hero__rule {display:none}
}

@media (max-width: 860px) {
h1.inner-hero__title {
  font-size: 36px!Important
}
.inner-hero__contentInner {
  width: min(720px, 100%);
}
.inner-hero__subline {
  max-width: 66ch;
}
}

@media (max-width: 560px) {
h1.inner-hero__title {
  font-size: 30px!Important
}
.inner-hero__rule {
  display: none;
}
.inner-hero__subline {
    padding-bottom:0px;
  }
}

/** SIDEBAR CTAs **/

.sidebar-cta .inner-hero-sidebar {
margin-block-start: 0rem !important;
}
.inner-hero-sidebar h3 {
	font-family: var(--wp--preset--font-family--museo-sans-condensed);
	text-transform: uppercase;
	margin: 0;
	padding: 0;
}

.inner-hero-sidebar p {
	font-size: 16px;
	margin: 0;
	padding: 0;
	line-height: normal;
}


.inner-hero-sidebar .is-style-retreat-solid .wp-block-button__link  {
  background: white;
  padding: 0.55em 1.25em;
  font-size: 16px;
  width: 100%!Important;
  margin-top: 25px
}

.inner-hero-sidebar .wp-block-button {
width: 100%!Important;
}

.inner-hero-sidebar .wp-block-accordion {
margin-top: 10px
}

.inner-hero-sidebar .wp-block-accordion-item {
border-bottom: solid 1px rgba(0 ,0, 0, 0.30)
}

.sidebar-cta h3.wp-block-accordion-heading {
text-transform: none!Important;
font-size: 20px
}

.sidebar-cta .wp-block-accordion-item, .sidebar-cta .wp-block-accordion-panel {
margin-block-start: 0!Important;
}

 .wp-block-accordion-panel p {
padding-bottom: 12px
}


main .wp-block-post-title {display:none}
main .inner-hero__content .wp-block-post-title {display:block}

/* Editor safety: keep title UI above any full-bleed blocks */
/*.wp-admin .edit-post-visual-editor__post-title-wrapper {
  position: relative;
  z-index: 999999;
}*/

/* =========================================================
   EDITOR SAFETY: NEVER hide the Title field
   (Front-end CSS in block themes loads in the editor too)
   ========================================================= */

body.wp-admin .editor-post-title,
body.wp-admin .editor-post-title__block,
body.wp-admin .editor-post-title__input,
body.wp-admin .edit-post-visual-editor__post-title-wrapper {
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
  height: auto !important;
  max-height: none !important;
  clip: auto !important;
  clip-path: none !important;
  transform: none !important;
  position: relative !important;
  z-index: 9999999 !important;
}

/* If a parent container is collapsing */
body.wp-admin .edit-post-layout__content,
body.wp-admin .edit-post-visual-editor {
  overflow: visible !important;
}

/* If something is pushing it behind fixed UI */
body.wp-admin .edit-post-layout__header,
body.wp-admin .edit-post-header {
  z-index: 9999998 !important;
}


/* =========================================================
   WP ADMIN: Prevent theme CSS from hiding the editor title bar
   ========================================================= */

/* Keep the entire top editor area visible */
body.wp-admin .edit-post-header,
body.wp-admin .edit-post-layout__header,
body.wp-admin .edit-post-visual-editor__post-title-wrapper,
body.wp-admin .editor-post-title,
body.wp-admin .editor-post-title__block {
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
  height: auto !important;
  max-height: none !important;
  overflow: visible !important;
  clip: auto !important;
  clip-path: none !important;
  transform: none !important;
  position: relative !important;
  z-index: 9999999 !important;
}

/* The actual title input */
body.wp-admin textarea.editor-post-title__input,
body.wp-admin .editor-post-title__input {
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
  height: auto !important;
  max-height: none !important;
}
