.elementor-kit-6{--e-global-color-primary:#6EC1E4;--e-global-color-secondary:#54595F;--e-global-color-text:#7A7A7A;--e-global-color-accent:#61CE70;--e-global-color-c42df48:#FFFFFF;--e-global-color-33d232b:#FF8971;--e-global-color-bb30b78:#AD2F28;--e-global-color-5cf7c36:#6E1813;--e-global-color-0c0e764:#3C0A07;--e-global-color-6cd5a8c:#FFF6F5;--e-global-color-92b739a:#1C0403;--e-global-color-f6e25bc:#52BBAC;--e-global-color-6798b54:#175850;--e-global-color-459c6be:#0F322E;--e-global-color-ae6fc28:#A2E2DA;--e-global-typography-primary-font-family:"Easy Grotesk";--e-global-typography-primary-font-weight:normal;--e-global-typography-primary-line-height:1.2em;--e-global-typography-secondary-font-family:"Easy Grotesk";--e-global-typography-secondary-font-weight:bold;--e-global-typography-secondary-line-height:1em;--e-global-typography-secondary-letter-spacing:0.025em;--e-global-typography-text-font-family:"Easy Grotesk";--e-global-typography-text-font-size:16px;--e-global-typography-text-font-weight:400;--e-global-typography-text-line-height:1.5em;--e-global-typography-accent-font-family:"Elma Mono";--e-global-typography-accent-font-size:16px;--e-global-typography-accent-font-weight:normal;--e-global-typography-accent-text-transform:uppercase;--e-global-typography-accent-line-height:1.3em;--e-global-typography-e8f1614-font-family:"English Grotesque";--e-global-typography-e8f1614-font-weight:500;--e-global-typography-e8f1614-text-transform:uppercase;--e-global-typography-e8f1614-line-height:1em;--e-global-typography-e8f1614-letter-spacing:0.05em;--e-global-typography-a865fac-font-family:"English Grotesque";--e-global-typography-a865fac-font-size:clamp(43px, calc(18.8px + 6.5vw), 112px);--e-global-typography-a865fac-font-weight:100;--e-global-typography-a865fac-text-transform:uppercase;--e-global-typography-a865fac-line-height:1em;--e-global-typography-a865fac-letter-spacing:-0.01em;--e-global-typography-c5f63e0-font-family:"Easy Grotesk";--e-global-typography-c5f63e0-font-size:clamp(24px, calc(18.366px + 1.502vw), 40px);--e-global-typography-c5f63e0-font-weight:normal;--e-global-typography-c5f63e0-text-transform:none;--e-global-typography-c5f63e0-line-height:1.1em;--e-global-typography-c5f63e0-letter-spacing:-0.005em;--e-global-typography-6fcd76e-font-family:"English Grotesque";--e-global-typography-6fcd76e-font-size:clamp(32px, calc(22.14px + 2.629vw), 60px);--e-global-typography-6fcd76e-font-weight:100;--e-global-typography-6fcd76e-text-transform:uppercase;--e-global-typography-6fcd76e-line-height:1.1em;--e-global-typography-6fcd76e-letter-spacing:-0.01em;--e-global-typography-9e26f07-font-family:"Easy Grotesk";--e-global-typography-9e26f07-font-size:clamp(20px, calc(17.89px + 0.563vw), 26px);--e-global-typography-9e26f07-font-weight:400;--e-global-typography-9e26f07-text-transform:none;--e-global-typography-9e26f07-line-height:1.3em;font-family:"Easy Grotesk", Sans-serif;font-size:16px;font-weight:normal;line-height:1.5em;letter-spacing:0.01em;}.elementor-kit-6 button,.elementor-kit-6 input[type="button"],.elementor-kit-6 input[type="submit"],.elementor-kit-6 .elementor-button{background-color:#6E181300;color:var( --e-global-color-5cf7c36 );border-style:solid;border-width:1px 1px 1px 1px;border-color:var( --e-global-color-5cf7c36 );border-radius:0px 0px 0px 0px;padding:12px 48px 12px 48px;}.elementor-kit-6 e-page-transition{background-color:#FFBC7D;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1440px;}.e-con{--container-max-width:1440px;--container-default-padding-top:0px;--container-default-padding-right:0px;--container-default-padding-bottom:0px;--container-default-padding-left:0px;}.elementor-widget:not(:last-child){margin-block-end:20px;}.elementor-element{--widgets-spacing:20px 20px;--widgets-spacing-row:20px;--widgets-spacing-column:20px;}{}h1.entry-title{display:var(--page-title-display);}.site-header .site-branding{flex-direction:column;align-items:stretch;}.site-header{padding-inline-end:0px;padding-inline-start:0px;}.site-footer .site-branding{flex-direction:column;align-items:stretch;}@media(max-width:1024px){.elementor-section.elementor-section-boxed > .elementor-container{max-width:1024px;}.e-con{--container-max-width:1024px;}}@media(max-width:767px){.elementor-section.elementor-section-boxed > .elementor-container{max-width:767px;}.e-con{--container-max-width:767px;}}/* Start custom CSS *//* ==========================================================================
   Container System for Elementor — USWDS-inspired
   ========================================================================== */

/* ---- Base spacing scale (4px/8px modular, public-domain style) ---- */
:root {
  /* USWDS-like spacing tokens */
  --space-0: 0;         /* 0px  */
  --space-1: 0.25rem;   /* 4px  */
  --space-2: 0.5rem;    /* 8px  */
  --space-3: 0.75rem;   /* 12px */
  --space-4: 1rem;      /* 16px */
  --space-5: 1.5rem;    /* 24px */
  --space-6: 2rem;      /* 32px */
  --space-7: 2.5rem;    /* 40px */
  --space-8: 3rem;      /* 48px */
  --space-9: 3.75rem;   /* 60px */
  --space-10: 5rem;     /* 80px */
  --space-11: 6rem;     /* 96px */
  --space-12: 7.5rem;   /* 120px */
  --space-13: 10rem;    /* 160px */

  /* Horizontal padding caps (use tokens) */
  --space-side-min: var(--space-5);   /* 24px min inline padding */
  --space-side-max: var(--space-12);  /* 120px max inline padding */
  --fluid-side-inline: clamp(var(--space-side-min), 4vw, var(--space-side-max));

  /* Vertical section paddings (mapped to scale; keep your class API) */
  --space-xxl-top-min: var(--space-11); /* 96px  */
  --space-xxl-top-max: var(--space-12); /* 120px */

  --space-xl-top-min:  var(--space-9);  /* 60px  */
  --space-xl-top-max:  var(--space-12); /* 120px */

  --space-l-top-min:   var(--space-8);  /* 48px  */
  --space-l-top-max:   var(--space-10); /* 80px  */

  --space-m-top-min:   var(--space-8);  /* 48px  */
  --space-m-top-max:   var(--space-10); /* 80px  */

  --space-s-top-min:   var(--space-6);  /* 32px  */
  --space-s-top-max:   var(--space-9);  /* 60px  */

  --space-xs-top-min:  var(--space-5);  /* 24px  */
  --space-xs-top-max:  var(--space-7);  /* 40px  */

  --space-xxs-top-min: var(--space-5);  /* 24px  */
  --space-xxs-top-max: var(--space-5);  /* 24px (fixed) */

  --space-header-top-min: var(--space-5);  /* 24px (tap-friendly) */
  --space-header-top-max: var(--space-5);  /* 24px */

  /* Hero section height */
  --space-hero-height: 100svh; /* modern viewport unit avoids mobile jump */

  /* Offset for overlay headers */
  --space-offset-header: var(--space-12); /* 120px */

  /* Widths for narrow sections */
  --section-width-narrow:    62.5rem; /* 1000px */
  --section-width-narrow-xs: 45rem;   /* 720px */

  /* Optional: content measure + inner rhythm */
  --content-measure: 65ch;
  --section-gap: clamp(2rem, 4vw, 6rem);

}

/* ==========================================================================
   Base Section Styles
   ========================================================================== */

/* Consistent horizontal padding with safe-area awareness */
:where(.section-xxl, .section-xl, .section-l, .section-m, .section-s, .section-xs, .section-xxs, .section-header) {
  padding-inline:
    max(env(safe-area-inset-left),  var(--fluid-side-inline))
    max(env(safe-area-inset-right), var(--fluid-side-inline));
}

/* Vertical padding that truly scales (additive middle term) */
.section-xxl {
  /* 96 → 120 */
  padding-block: clamp(var(--space-xxl-top-min), 1.0vw + 4.8rem, var(--space-xxl-top-max));
}
.section-xl {
  /* 60 → 120 */
  padding-block: clamp(var(--space-xl-top-min), 1.4vw + 2.8rem, var(--space-xl-top-max));
}
.section-l {
  /* 48 → 80 */
  padding-block: clamp(var(--space-l-top-min), 0.9vw + 3rem, var(--space-l-top-max));
}
.section-m {
  /* 48 → 80 (used to be fixed; now has a small fluid window) */
  padding-block: clamp(var(--space-m-top-min), 0.8vw + 2.2rem, var(--space-m-top-max));
}
.section-s {
  /* 32 → 60 */
  padding-block: clamp(var(--space-s-top-min), 0.6vw + 1.6rem, var(--space-s-top-max));
}
.section-xs {
  /* 24 → 40 */
  padding-block: clamp(var(--space-xs-top-min), 0.4vw + 1.2rem, var(--space-xs-top-max));
}
.section-xxs {
  /* fixed (24) but kept as clamp for consistency/future tuning) */
  padding-block: clamp(var(--space-xxs-top-min), 0.2vw + 1.3rem, var(--space-xxs-top-max));
}
.section-header {
  /* fixed 24 for tap targets */
  padding-block: clamp(var(--space-header-top-min), 0.25vw + 0.6rem, var(--space-header-top-max));
}

/* ==========================================================================
   Hero Section
   ========================================================================== */
.section-hero {
  min-height: var(--space-hero-height);
  min-height: 100dvh; /* additional fallback chain */
  min-height: 100vh;
}
.section-hero .e-con-inner {
  display: flex;
  flex-direction: column;
  justify-content: center;
}

/* ==========================================================================
   Full Width and Narrow Sections
   ========================================================================== */

/* Scope tightly to Elementor inner; remove side padding for true edge-to-edge */
.section-full > .e-con-inner {
  max-width: none;
  padding-inline: 0;
}

.section-narrow    > .e-con-inner { max-width: var(--section-width-narrow); }
.section-narrow-xs > .e-con-inner { max-width: var(--section-width-narrow-xs); }

/* Optional helpers */
.prose { max-width: var(--content-measure) !important; }
.section-xxl .e-con-inner,
.section-xl  .e-con-inner,
.section-l   .e-con-inner,
.section-m   .e-con-inner { row-gap: var(--section-gap) !important; }

/* ==========================================================================
   Overlay Header Offset
   ========================================================================== */
.section-offset {
  /* generic additive offset rather than tying to a specific section size */
  padding-block-start: calc(var(--space-offset-header) + clamp(2rem, 3vw, 4rem));
}

/* ==========================================================================
   Notes
   ========================================================================== */
/* You generally don't need a mobile media query to clamp inline paddings;
   the clamp handles it. If you want a special-case hero height on tiny screens,
   add it explicitly:

@media (max-width: 480px) {
  .section-hero { min-height: 90svh; }
}
*/

/* Padding All Sides */
.p-0   { padding: var(--space-0) !important; }
.p-1   { padding: var(--space-1) !important; }
.p-2   { padding: var(--space-2) !important; }
.p-3   { padding: var(--space-3) !important; }
.p-4   { padding: var(--space-4) !important; }
.p-5   { padding: var(--space-5) !important; }
.p-6   { padding: var(--space-6) !important; }
.p-7   { padding: var(--space-7) !important; }
.p-8   { padding: var(--space-8) !important; }
.p-9   { padding: var(--space-9) !important; }
.p-10  { padding: var(--space-10) !important; }

/* Padding Inline (Left + Right) */
.px-1  { padding-inline: var(--space-1) !important; }
.px-2  { padding-inline: var(--space-2) !important; }
.px-3  { padding-inline: var(--space-3) !important; }
.px-4  { padding-inline: var(--space-4) !important; }
.px-5  { padding-inline: var(--space-5) !important; }
.px-6  { padding-inline: var(--space-6) !important; }

/* Padding Block (Top + Bottom) */
.py-1  { padding-block: var(--space-1) !important; }
.py-2  { padding-block: var(--space-2) !important; }
.py-3  { padding-block: var(--space-3) !important; }
.py-4  { padding-block: var(--space-4) !important; }
.py-5  { padding-block: var(--space-5) !important; }
.py-6  { padding-block: var(--space-6) !important; }

/* Padding Top Only */
.pt-1  { padding-top: var(--space-1) !important; }
.pt-2  { padding-top: var(--space-2) !important; }
.pt-3  { padding-top: var(--space-3) !important; }
.pt-4  { padding-top: var(--space-4) !important; }
.pt-5  { padding-top: var(--space-5) !important; }

/* Padding Bottom Only */
.pb-1  { padding-bottom: var(--space-1) !important; }
.pb-2  { padding-bottom: var(--space-2) !important; }
.pb-3  { padding-bottom: var(--space-3) !important; }
.pb-4  { padding-bottom: var(--space-4) !important; }
.pb-5  { padding-bottom: var(--space-5) !important; }


/* === LOOP CARD BASE === */
.loop-card {
  overflow: hidden;
  aspect-ratio: 1 / 1;
}

/* Put all inner content above overlays */
.loop-card > * {
  z-index: 2;
}

/* Featured image widget acts like background */
.loop-card .lc-bg {
  position: absolute;
  inset: 0;
  z-index: 0;
}
.loop-card .lc-bg img {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
  object-position: center;
}

/* === OVERLAYS === */
/* Gradient overlay (non-hover) */
.loop-card::before {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  z-index: 1;
  background: linear-gradient(
    180deg,
    rgba(28, 4, 3, 0) 0%,
    rgba(28, 4, 3, 1) 100%
  );
  opacity: 1;
  transition: opacity 0.35s ease;
}

/* Hover overlay image + border */
.loop-card::after {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  z-index: 1;
  background-image: url("https://hunteradvisors.co/wp-content/uploads/2025/09/overlay-test.jpg");
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  opacity: 0;
  transition: opacity 0.35s ease, box-shadow 0.35s ease;
}



/* Hover state: swap overlay + show border */
.loop-card:hover::before {
  opacity: 0;
}
.loop-card:hover::after {
  opacity: 1;
  box-shadow: inset 0 0 0 1px #0F322E; /* inside border */
}



/* === TEXT COLOR STATES === */
/* Default text color inside the card */
.loop-card h3,
.loop-card p,
.loop-card time {
  color: #FFF6F5 !important;
  transition: color 0.3s ease;
}

/* Change text color when hovering the entire card */
.loop-card:hover h3,
.loop-card:hover p,
.loop-card:hover time {
  color: #1C0403 !important;
}

/* Optional: reduce motion */
@media (prefers-reduced-motion: reduce) {
  .loop-card::before,
  .loop-card::after {
    transition: none;
  }
}


.TT-Card:hover .corner-icon .elementor-icon {
  background-color: #0F322E !important;
}
  .TT-Card:hover .corner-icon i{
  color: #52BBAC; 

}

/* === GENERIC CARD BASE === */
.generic-card {
  position: relative;
  overflow: hidden;
  aspect-ratio: 1 / 1; /* square */
  background-color: #D8C8C7;
  border: 1px solid #0F322E;
}

/* Keep inner content above overlays */
.generic-card > * {
  position: relative;
  z-index: 2;
}

/* === OVERLAYS === */
.generic-card::before {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  z-index: 1;
  background: none;
  opacity: 0; /* flipped default */
  transition: opacity 0.35s ease;
}

.generic-card::after {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  z-index: 1;
  background-image: url("https://hunteradvisors.co/wp-content/uploads/2025/09/generic-card-overlay.jpg");
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  opacity: 1; /* flipped default */
  transition: opacity 0.35s ease, box-shadow 0.35s ease;
}

/* Hover now shows the plain version */
.generic-card:hover::before { opacity: 1; }
.generic-card:hover::after {
  opacity: 0;
  box-shadow: none;
}

/* === TEXT COLOR STATES === */
.generic-card h3,
.generic-card p {
  transition: color 0.3s ease;
}

/* Flipped: default has the hover colors */
.generic-card h3 {
  color: #FF8971 !important;
}

.generic-card p {
  color: #FFF6F5 !important;
}

/* Hover switches back to original (dark) */
.generic-card:hover h3 {
  color: inherit !important; /* or your base heading color */
}

.generic-card:hover p {
  color: inherit !important; /* or your base text color */
}


/* Respect user's reduce-motion setting */
@media (prefers-reduced-motion: reduce) {
  .generic-card::before,
  .generic-card::after {
    transition: none;
  }
}


.city-container {
  display: inline-flex; 
  align-items: center;
  width: auto !important;
  max-width: fit-content; 
}


.TT-Card {
    overflow: hidden;
  aspect-ratio: 16 / 9;
}
.TT-Card > *{
  z-index: 2;
}

/* --- Non-hover overlay: gradient --- */
.TT-Card::before{
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  z-index: 1;

  background: linear-gradient(
    180deg,
    rgba(28, 4, 3, 0) 0%,
    rgba(28, 4, 3, 0.6) 100%
  );
  opacity: 1;
  transition: opacity .35s ease;
  will-change: opacity;
}

/* --- Hover overlay: image --- */
.TT-Card::after{
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  z-index: 1;
  background-image: url("https://hunteradvisors.co/wp-content/uploads/2025/09/h-jade-overlay.jpg");
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  opacity: 0;                    /* hidden by default */
  transition: opacity .35s ease;
  will-change: opacity;
}

/* Hover state: fade gradient out, image in */
.TT-Card:hover::before{ opacity: 0; }
.TT-Card:hover::after{  opacity: 1; }

/* Optional: reduce motion for accessibility */
@media (prefers-reduced-motion: reduce){
  .TT-Card::before,
  .TT-Card::after{ transition: none; }
}

.TT-Card .tt-bg{
  position: absolute; 
  inset: 0;                    /* top:0 right:0 bottom:0 left:0 */
  z-index: 0;                  /* sits under overlays and content */
}

.TT-Card .tt-bg img{
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center center;  /* tweak if you need a focal point */
  z-index: 0;
}

.TT-Card:hover::after {
  opacity: 1;
  box-shadow: inset 0 0 0 1px #0F322E; /* now your border shows above everything */
}

.site-header,
.elementor-location-header {
  font-size: 100%;                 /* stop em scaling */
  -webkit-text-size-adjust: 100%;
}

/* 2) Make header buttons exactly match global buttons */
.elementor-location-header .elementor-button,
.elementor-location-header .elementor-button .elementor-button-text{
  font-size: 16px;     /* 1rem = root 16px */
  line-height: var(--btn-line, 1.25em);

}

.footer-text p {
    margin: 0;
}


.vline .elementor-divider-separator {
  display:block;
  width:1px;
  height:clamp(3rem, 8vw, 5rem);
  margin-inline:auto;
  background-color: var(--e-global-color-92b739a);
  border:0;

  /* Animation setup */
  transform: scaleY(0);
  transform-origin: top; /* grow downward */
  transition: transform 1s ease-out;
}

.vline.in-view .elementor-divider-separator {
  transform: scaleY(1);
}

/* Always keep layout tidy */
.text-reveal { overflow: hidden; }

/* Hide on the live site to prevent flash; visible in Elementor editor */
body:not(.elementor-editor-active) .text-reveal {
  visibility: hidden;
}

.text-reveal .char{
  display: inline-block;
  transform: translateY(40%); /* your preferred smaller offset */
  opacity: 0;
  will-change: transform, opacity;
}/* End custom CSS */