/* ============================================================
   HONORÉE CORDER ENTERPRISES — Brand stylesheet v2
   Corporate Modern · Luxury editorial (greens + cream + gold)
   ============================================================ */

:root{
  --color-ink:        #1c1b17;
  --color-ink-soft:   rgba(28,27,23,.62);
  --color-ink-faint:  rgba(28,27,23,.42);
  --color-forest:     #0d1b35;
  --color-forest-deep:#07101f;
  --color-pine:       #1f3a68;
  --color-sage:       #dde4ec;
  --color-gold:       #b08545;
  --color-gold-soft:  #d9c08a;
  --color-cream:      #f6f2e9;
  --color-ceramic:    #efe9dc;
  --color-white:      #fffdf8;
  --color-line:       #e2dac9;

  --font-display: 'Cormorant Garamond', Georgia, 'Times New Roman', serif;
  --font-body:    'Manrope', system-ui, -apple-system, 'Segoe UI', sans-serif;

  --hc-radius-sm: 3px;
  --hc-radius:    6px;
  --hc-radius-lg: 14px;
  --hc-radius-pill: 100px;

  --shadow-sm: 0 1px 2px rgba(13,27,53,.05), 0 2px 8px rgba(13,27,53,.06);
  --shadow:    0 2px 6px rgba(13,27,53,.06), 0 12px 32px rgba(13,27,53,.08);
  --shadow-lg: 0 4px 12px rgba(13,27,53,.08), 0 24px 60px rgba(13,27,53,.12);
}

/* ---- Base body styling (only when hc-page class is on body) -- */
body.hc-page{
  font-family: var(--font-body);
  background: var(--color-cream);
  color: var(--color-ink);
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}
body.hc-page a{ color: var(--color-pine); transition: color .2s ease; }
body.hc-page a:hover{ color: var(--color-forest); }/* (was: hide Astra header on brand pages — removed in v3.1) */
/* (rule removed in v3.1: Astra now drives the header) */

/* ---- Section bands (CSS classes on containers) --------------- */
.hc-band-cream{ background: var(--color-cream); }.hc-band-ceramic{ background: var(--color-ceramic); }.hc-band-white{ background: var(--color-white); }.hc-band-forest{ background: var(--color-forest); color: rgba(255,255,255,.9); }.hc-band-forest-deep{ background: var(--color-forest-deep); color: rgba(255,255,255,.9); }/* Headings auto-light when inside dark band */
.hc-band-forest h1, .hc-band-forest h2, .hc-band-forest h3,
.hc-band-forest .hc-h1 .elementor-heading-title,
.hc-band-forest .hc-h2 .elementor-heading-title,
.hc-band-forest .hc-h3 .elementor-heading-title,
.hc-band-forest-deep h1, .hc-band-forest-deep h2, .hc-band-forest-deep h3,
.hc-band-forest-deep .hc-h1 .elementor-heading-title,
.hc-band-forest-deep .hc-h2 .elementor-heading-title,
.hc-band-forest-deep .hc-h3 .elementor-heading-title{ color: #fff; }

.hc-band-forest p, .hc-band-forest .elementor-widget-text-editor,
.hc-band-forest-deep p, .hc-band-forest-deep .elementor-widget-text-editor{ color: rgba(255,255,255,.78); }/* ---- Typography hooks (apply via css_classes on heading/text widget) ---- */
.hc-display .elementor-heading-title{
  font-family: var(--font-display);
  font-weight: 500;
  font-size: clamp(2.75rem, 6vw, 5rem);
  line-height: 1.02;
  letter-spacing: -.015em;
  color: var(--color-forest);
}.hc-band-forest .hc-display .elementor-heading-title,
.hc-band-forest-deep .hc-display .elementor-heading-title{ color: #fff; }.hc-h1 .elementor-heading-title{
  font-family: var(--font-display);
  font-weight: 500;
  font-size: clamp(2.25rem, 4.5vw, 3.5rem);
  line-height: 1.1;
  letter-spacing: -.01em;
  color: var(--color-forest);
}.hc-h2 .elementor-heading-title{
  font-family: var(--font-display);
  font-weight: 500;
  font-size: clamp(1.75rem, 3vw, 2.5rem);
  line-height: 1.15;
  letter-spacing: -.01em;
  color: var(--color-forest);
}.hc-h3 .elementor-heading-title{
  font-family: var(--font-display);
  font-weight: 600;
  font-size: 1.375rem;
  line-height: 1.2;
  letter-spacing: -.005em;
  color: var(--color-forest);
}.hc-eyebrow .elementor-heading-title{
  display: inline-block!important;
  font-family: var(--font-body);
  font-size: .75rem;
  font-weight: 700;
  letter-spacing: .22em;
  text-transform: uppercase;
  color: var(--color-gold);
  line-height: 1;
}.hc-band-forest .hc-eyebrow .elementor-heading-title,
.hc-band-forest-deep .hc-eyebrow .elementor-heading-title{ color: var(--color-gold-soft); }.hc-lead, .hc-lead p, .hc-lead .elementor-widget-container p{
  font-size: clamp(1.0625rem, 1.6vw, 1.3125rem);
  line-height: 1.5;
  color: var(--color-ink-soft);
  font-weight: 400;
}.hc-band-forest .hc-lead, .hc-band-forest .hc-lead p,
.hc-band-forest-deep .hc-lead, .hc-band-forest-deep .hc-lead p{ color: rgba(255,255,255,.78); }.hc-muted, .hc-muted p, .hc-muted .elementor-widget-container p{ color: var(--color-ink-soft); }.hc-band-forest .hc-muted, .hc-band-forest .hc-muted p,
.hc-band-forest-deep .hc-muted, .hc-band-forest-deep .hc-muted p{ color: rgba(255,255,255,.7); }

.hc-prose p{ margin-bottom: 1.25rem; color: var(--color-ink-soft); }
.hc-prose p.hc-lead{ color: var(--color-ink); }.hc-signature .elementor-heading-title{
  font-family: var(--font-display);
  font-style: italic;
  font-size: 2rem;
  color: var(--color-forest);
  font-weight: 500;
}/* ---- Buttons -------------------------------------------------- */
.hc-btn .elementor-button{
  display: inline-flex!important;
  align-items: center!important;
  font-family: var(--font-body);
  font-size: .875rem;
  font-weight: 700;
  letter-spacing: .06em;
  text-transform: uppercase;
  padding: .95rem 1.75rem;
  border-radius: var(--hc-radius)!important;
  border: 1.5px solid transparent!important;
  transition: background .2s ease, color .2s ease, border-color .2s ease, box-shadow .2s ease!important;
  text-align: center!important;
}.hc-btn-primary .elementor-button{ background: var(--color-forest); color: #fff; box-shadow: var(--shadow-sm)!important; }.hc-btn-primary .elementor-button:hover{ background: var(--color-forest-deep); color: #fff; box-shadow: var(--shadow)!important; }.hc-btn-gold .elementor-button{ background: var(--color-gold); color: var(--color-forest-deep); }.hc-btn-gold .elementor-button:hover{ background: var(--color-gold-soft); color: var(--color-forest-deep); }.hc-btn-outline .elementor-button{ background: transparent; color: var(--color-forest); border-color: var(--color-forest)!important; }.hc-btn-outline .elementor-button:hover{ background: var(--color-forest); color: #fff; }.hc-band-forest .hc-btn-outline .elementor-button,
.hc-band-forest-deep .hc-btn-outline .elementor-button{ color: #fff; border-color: rgba(255,255,255,.5)!important; }.hc-band-forest .hc-btn-outline .elementor-button:hover,
.hc-band-forest-deep .hc-btn-outline .elementor-button:hover{ background: #fff; color: var(--color-forest); }
.hc-btn-block .elementor-button{ width: 100%!important; justify-content: center!important; }/* ---- Cards ---------------------------------------------------- */
.hc-card{
  background: var(--color-white);
  border: 1px solid var(--color-line)!important;
  border-radius: var(--hc-radius-lg)!important;
  padding: clamp(1.5rem, 3vw, 2.5rem);
  box-shadow: var(--shadow-sm)!important;
}.hc-card-forest{
  background: var(--color-forest);
  border: 1px solid var(--color-forest)!important;
  color: #fff;
}.hc-card-forest .hc-h3 .elementor-heading-title{ color: #fff; }.hc-card-forest p, .hc-card-forest .elementor-widget-text-editor{ color: rgba(255,255,255,.78); }

.hc-card-media-wrap{
  background: var(--color-white);
  border: 1px solid var(--color-line);
  border-radius: var(--hc-radius-lg);
  overflow: hidden;
  box-shadow: var(--shadow-sm);
  transition: transform .25s ease, box-shadow .25s ease;
}
.hc-card-media-wrap:hover{ transform: translateY(-4px); box-shadow: var(--shadow); }
.hc-card-media-wrap .elementor-widget-image img{ aspect-ratio: 3/2; object-fit: cover; width: 100%; }
.hc-card-body{ padding: clamp(1.5rem, 3vw, 2rem); }/* ---- Card icon (sage rounded square with forest icon) ---- */
.hc-card-icon .elementor-icon{
  width: 52px!important;
  height: 52px!important;
  background: var(--color-sage);
  border-radius: var(--hc-radius)!important;
  display: grid!important;
  place-items: center!important;
  color: var(--color-forest);
  margin-bottom: 1rem;
}
.hc-card-icon svg{ width: 26px; height: 26px; }/* ---- Page hero (forest band) ---------------------------------- */
.hc-page-hero{ background: var(--color-forest); color: #fff; }.hc-page-hero .hc-h1 .elementor-heading-title{ color: #fff; }.hc-page-hero .hc-eyebrow .elementor-heading-title{ color: var(--color-gold-soft); }.hc-page-hero p, .hc-page-hero .hc-lead p{ color: rgba(255,255,255,.78); }

.hc-breadcrumb p{
  font-size: .875rem;
  color: rgba(255,255,255,.6);
  margin-bottom: 1.5rem;
}
.hc-breadcrumb p a{ color: rgba(255,255,255,.8); }
.hc-breadcrumb p a:hover{ color: var(--color-gold-soft); }

/* ---- Hero badge ---------------------------------------------- */
.hc-hero-badge{
  position: relative;
}
.hc-hero-badge::before{
  content: attr(data-stat);
  position: absolute;
  left: -8px;
  bottom: 24px;
  background: var(--color-forest);
  color: #fff;
  padding: .85rem 1.4rem;
  border-radius: 0 var(--hc-radius) var(--hc-radius) 0;
  font-family: var(--font-display);
  font-size: 1.5rem;
  font-weight: 600;
  box-shadow: var(--shadow);
  z-index: 2;
}

/* ---- Hero image rounded card ---------------------------------- */
.hc-hero-image .elementor-widget-image img{
  aspect-ratio: 4/5;
  object-fit: cover;
  border-radius: var(--hc-radius-lg);
  box-shadow: var(--shadow-lg);
  width: 100%;
}
.hc-split-image .elementor-widget-image img{
  aspect-ratio: 5/4;
  object-fit: cover;
  border-radius: var(--hc-radius-lg);
  box-shadow: var(--shadow);
  width: 100%;
}/* ---- Logo strip chips ---------------------------------------- */
.hc-logo-chip{
  display: grid!important;
  place-items: center!important;
  background: var(--color-white);
  border: 1px solid var(--color-line)!important;
  border-radius: var(--hc-radius)!important;
  height: 90px!important;
  padding: 1.5rem;
}.hc-logo-chip .elementor-heading-title{
  font-family: var(--font-display);
  font-size: 1.25rem;
  font-weight: 600;
  color: var(--color-forest);
  letter-spacing: .02em;
  line-height: 1;
}.hc-logos-label .elementor-widget-container,
.hc-logos-label p{
  font-size: .875rem;
  letter-spacing: .16em;
  text-transform: uppercase;
  color: var(--color-ink-soft);
  text-align: center!important;
}/* ---- Stats --------------------------------------------------- */
.hc-stat-num .elementor-heading-title{
  font-family: var(--font-display);
  font-weight: 600;
  font-size: clamp(2.5rem, 5vw, 3.75rem);
  line-height: 1;
  color: var(--color-gold-soft);
}.hc-stat-label .elementor-heading-title{
  font-family: var(--font-body);
  font-size: .875rem;
  letter-spacing: .04em;
  font-weight: 500;
  color: rgba(255,255,255,.72);
  text-align: center!important;
}

/* ---- Timeline (Process: 4 phases) ----------------------------- */
.hc-timeline-step{ position: relative; }
.hc-timeline-num{
  width: 48px;
  height: 48px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  background: var(--color-forest);
  color: var(--color-gold-soft);
  font-family: var(--font-display);
  font-size: 1.4rem;
  font-weight: 600;
  flex: none;
}/* ---- Tiers (pricing) ----------------------------------------- */
.hc-tier{
  background: var(--color-white);
  border: 1px solid var(--color-line)!important;
  border-radius: var(--hc-radius-lg)!important;
  padding: 2rem;
  box-shadow: var(--shadow-sm)!important;
  height: 100%!important;
}.hc-tier--featured{
  background: var(--color-forest);
  border: 1px solid var(--color-forest)!important;
  color: rgba(255,255,255,.85);
  box-shadow: var(--shadow-lg)!important;
  position: relative;
}.hc-tier--featured .hc-h3 .elementor-heading-title,
.hc-tier--featured .hc-tier-price .elementor-heading-title{ color: #fff; }.hc-tier--featured p, .hc-tier--featured .elementor-widget-text-editor,
.hc-tier--featured .elementor-icon-list-text{ color: rgba(255,255,255,.78); }
.hc-tier-flag{
  position: absolute;
  top: -.85rem;
  left: 50%;
  transform: translateX(-50%);
  background: var(--color-gold);
  color: var(--color-forest-deep);
  font-size: .75rem;
  font-weight: 700;
  letter-spacing: .16em;
  text-transform: uppercase;
  padding: .4rem 1rem;
  border-radius: var(--hc-radius-pill);
  white-space: nowrap;
  z-index: 2;
}.hc-tier-sub p{ font-size: .875rem; color: var(--color-ink-soft); }.hc-tier--featured .hc-tier-sub p{ color: rgba(255,255,255,.7); }.hc-tier-price .elementor-heading-title{
  font-family: var(--font-display);
  font-size: 2.75rem;
  font-weight: 600;
  color: var(--color-forest);
  line-height: 1;
}.hc-tier-price .per, .hc-tier-price .elementor-heading-title .per{
  font-family: var(--font-body);
  font-size: .875rem;
  font-weight: 600;
  color: var(--color-ink-soft);
}.hc-tier--featured .hc-tier-price .per{ color: rgba(255,255,255,.7); }.hc-tier .elementor-icon-list-icon{ color: var(--color-gold); }.hc-tier--featured .elementor-icon-list-icon{ color: var(--color-gold-soft); }.hc-tier .elementor-icon-list-item{ font-size: .875rem; }

/* ---- Comparison table ---------------------------------------- */
.hc-compare-wrap{ overflow-x:auto; border-radius: var(--hc-radius-lg); border: 1px solid var(--color-line); }
.hc-compare{ width:100%; border-collapse:collapse; min-width:640px; background: var(--color-white); }
.hc-compare caption{ text-align:left; padding: 1.5rem 2rem; font-size:.875rem; color: var(--color-ink-faint); }
.hc-compare th, .hc-compare td{ padding: 1rem 1.25rem; text-align:left; border-bottom: 1px solid var(--color-line); }
.hc-compare thead th{ background: var(--color-forest); color:#fff; font-size:.875rem; letter-spacing:.04em; font-family: var(--font-body); }
.hc-compare thead th.is-featured{ background: var(--color-forest-deep); }
.hc-compare tbody th{ font-weight:600; color: var(--color-ink); font-family: var(--font-body); }
.hc-compare td{ color: var(--color-ink-soft); }
.hc-compare tbody tr:nth-child(even){ background: var(--color-cream); }
.hc-compare .yes{ color: var(--color-pine); font-weight:700; }
.hc-compare .no{ color: var(--color-ink-faint); }/* ---- Quote cards --------------------------------------------- */
.hc-quote{
  background: var(--color-white);
  border: 1px solid var(--color-line)!important;
  border-radius: var(--hc-radius-lg)!important;
  padding: 2rem;
  box-shadow: var(--shadow-sm)!important;
}.hc-quote-mark .elementor-heading-title{
  font-family: var(--font-display);
  font-size: 3rem;
  line-height: .6;
  color: var(--color-gold);
  height: 1.4rem!important;
  display: block!important;
}.hc-quote-body .elementor-heading-title,
.hc-quote-body p{
  font-family: var(--font-display);
  font-size: 1.35rem;
  line-height: 1.4;
  color: var(--color-ink);
  font-weight: 500;
}
.hc-quote-author-name{ font-family: var(--font-body); font-size: .875rem; font-weight: 700; color: var(--color-forest); display:block; }
.hc-quote-author-role{ font-size: .75rem; letter-spacing: .06em; text-transform: uppercase; color: var(--color-ink-faint); display:block; }/* ---- FAQ ----------------------------------------------------- */
.hc-faq .elementor-accordion-item{
  background: var(--color-white);
  border: 1px solid var(--color-line)!important;
  border-radius: var(--hc-radius)!important;
  margin-bottom: .5rem;
  overflow: hidden!important;
}.hc-faq .elementor-tab-title{
  font-family: var(--font-body);
  font-weight: 600;
  font-size: 1.0625rem;
  color: var(--color-forest);
  padding: 1.25rem 1.5rem;
  background: transparent;
  border: 0!important;
}.hc-faq .elementor-tab-title:hover{ background: var(--color-cream); }.hc-faq .elementor-tab-content{
  border: 0!important;
  padding: 0 1.5rem 1.4rem;
  color: var(--color-ink-soft);
  background: transparent;
}.hc-faq .elementor-accordion-icon i,
.hc-faq .elementor-accordion-icon svg{ color: var(--color-gold); }/* ---- Row items (events / media) ------------------------------ */
.hc-row-item{
  display: grid!important;
  grid-template-columns: auto 1fr auto;
  gap: 2rem;
  align-items: center;
  background: var(--color-white);
  border: 1px solid var(--color-line)!important;
  border-radius: var(--hc-radius-lg)!important;
  padding: 1.5rem 2rem;
  box-shadow: var(--shadow-sm)!important;
  margin-bottom: 1rem;
}
.hc-row-date{
  text-align: center;
  background: var(--color-sage);
  color: var(--color-forest);
  border-radius: var(--hc-radius);
  padding: .75rem 1rem;
  min-width: 92px;
}
.hc-row-date .d{ font-family: var(--font-display); font-size: 2rem; font-weight: 600; line-height: 1; display: block; }
.hc-row-date .m{ font-size: .75rem; letter-spacing: .16em; text-transform: uppercase; }.hc-tag .elementor-heading-title{
  display: inline-block!important;
  font-size: .75rem;
  font-weight: 700;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: var(--color-gold);
  background: rgba(176,133,69,.1);
  padding: .3rem .7rem;
  border-radius: var(--hc-radius-pill)!important;
  margin-bottom: .6rem;
  font-family: var(--font-body);
}

/* ---- Brand block --------------------------------------------- */
.hc-brand-link{
  display: inline-flex;
  align-items: baseline;
  gap: .4rem;
  line-height: 1;
  text-decoration: none;
  white-space: nowrap;
}
.hc-brand-name{
  font-family: var(--font-display);
  font-size: 1.55rem;
  font-weight: 600;
  color: var(--color-forest);
  letter-spacing: -.01em;
}
.hc-brand-kicker{
  font-family: var(--font-body);
  font-size: .62rem;
  font-weight: 700;
  letter-spacing: .28em;
  text-transform: uppercase;
  color: var(--color-gold);
}/* ---- Footer style hooks ------------------------------------- */
.hc-footer-h .elementor-heading-title{
  color: var(--color-gold-soft);
  font-family: var(--font-body);
  font-size: .75rem;
  letter-spacing: .16em;
  text-transform: uppercase;
  margin-bottom: 1.25rem;
  font-weight: 700;
}.hc-footer-list .elementor-icon-list-text{
  color: rgba(255,255,255,.72);
  font-size: .875rem;
  font-family: var(--font-body);
}.hc-footer-list .elementor-icon-list-item:hover .elementor-icon-list-text{ color: var(--color-gold-soft); }.hc-footer-blurb p{ color: rgba(255,255,255,.6); font-size: .875rem; max-width: 32ch; }.hc-footer-bottom p{ color: rgba(255,255,255,.5); font-size: .875rem; }/* ---- Sticky site header --------------------------------------- */
.hc-site-header{
  position: sticky!important;
  top: 0!important;
  z-index: 100!important;
  background: rgba(246,242,233,.92);
  backdrop-filter: saturate(1.4) blur(10px)!important;
  -webkit-backdrop-filter: saturate(1.4) blur(10px)!important;
  border-bottom: 1px solid var(--color-line)!important;
}

/* ---- Process timeline step (split layout) -------------------- */
.hc-process-step{
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 1.5rem;
  padding-bottom: 2rem;
  position: relative;
}
.hc-process-step:not(:last-child)::before{
  content: "";
  position: absolute;
  left: 23px;
  top: 56px;
  bottom: 0;
  width: 2px;
  background: linear-gradient(var(--color-gold-soft), var(--color-line));
}

/* ---- Helpers ------------------------------------------------ */
.hc-center .elementor-widget-container,
.hc-center{ text-align: center!important; }
.hc-text-center .elementor-heading-title{ text-align: center!important; }
.hc-gold-rule{ width: 56px; height: 2px; background: var(--color-gold); border: 0; margin: 1.5rem 0; }
.hc-gold-rule-center{ margin-inline: auto; }

/* ============================================================
   v2.1 — New footer styles (3-col, italic brand, wordmark socials)
   ============================================================ */
.hc-footer-brand-link{ text-decoration:none; display:inline-block; }
.hc-footer-brand-name{
  font-family: var(--font-display);
  font-size: 2.25rem;
  font-weight: 500;
  color: #fff;
  letter-spacing: -.01em;
  line-height: 1;
}
.hc-footer-brand-name em{ font-style: italic; }

.hc-footer-links{ display: grid; gap: .85rem; }.hc-footer-link{
  color: rgba(255,255,255,.78);
  font-size: 1rem;
  font-family: var(--font-body);
  font-weight: 400;
  text-decoration: none!important;
  transition: color .2s ease;
}.hc-footer-link:hover{ color: var(--color-gold-soft); }

.hc-footer-socials-wordmark{
  display: flex;
  gap: 2rem;
  flex-wrap: wrap;
  justify-content: flex-end;
}
@media (max-width: 760px){ .hc-footer-socials-wordmark{ justify-content: flex-start; } }.hc-footer-social-word{
  font-family: var(--font-body);
  font-size: .8rem;
  font-weight: 600;
  letter-spacing: .18em;
  text-transform: uppercase;
  color: rgba(255,255,255,.88);
  text-decoration: none!important;
  transition: color .2s ease;
}.hc-footer-social-word:hover{ color: var(--color-gold-soft); }.hc-footer-blurb-v2 p{
  color: rgba(255,255,255,.65);
  font-size: .95rem;
  line-height: 1.65;
  max-width: 30ch;
}.hc-footer-blurb-v2 strong{ color: rgba(255,255,255,.92); }.hc-footer-blurb-v2 em{ font-style: italic; color: rgba(255,255,255,.92); }.hc-footer-h-v2 .elementor-heading-title{
  color: var(--color-gold);
  font-family: var(--font-body);
  font-size: .8rem;
  letter-spacing: .22em;
  text-transform: uppercase;
  margin-bottom: 1.5rem;
  font-weight: 700;
}

/* ============================================================
   v2.2 — Footer grid layout (reliable 4-col, gold-italic brand)
   ============================================================ */
.hc-footer-grid{
  display: grid;
  grid-template-columns: 1.6fr 1fr 1fr 1fr;
  gap: 48px 56px;
  align-items: start;
}
@media (max-width: 1024px){
  .hc-footer-grid{ grid-template-columns: 1fr 1fr; gap: 40px; }
}
@media (max-width: 560px){
  .hc-footer-grid{ grid-template-columns: 1fr; gap: 32px; }
}

.hc-footer-col-brand .hc-footer-brand-link{ display: inline-block; margin-bottom: 1.25rem; }
.hc-footer-brand-name em{
  font-style: italic;
  color: var(--color-gold-soft);
}

.hc-footer-col h4.hc-footer-h-v2{
  color: var(--color-gold);
  font-family: var(--font-body);
  font-size: .8rem;
  letter-spacing: .22em;
  text-transform: uppercase;
  margin: 0 0 1.5rem 0;
  font-weight: 700;
}

ul.hc-footer-links{
  list-style: none;
  padding: 0;
  margin: 0;
  display: grid;
  gap: 1rem;
}
ul.hc-footer-links li{ margin: 0; }
ul.hc-footer-links a{
  color: rgba(255,255,255,.82);
  font-size: 1rem;
  font-family: var(--font-body);
  font-weight: 400;
  text-decoration: none;
  transition: color .2s ease;
}
ul.hc-footer-links a:hover{ color: var(--color-gold-soft); }

.hc-footer-bottom-strip{
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 24px;
  flex-wrap: wrap;
}
.hc-footer-bottom-strip .hc-footer-copyright{
  color: rgba(255,255,255,.5);
  font-size: .875rem;
  margin: 0;
}
.hc-footer-bottom-strip .hc-footer-socials-wordmark{
  display: flex;
  gap: 2.5rem;
  flex-wrap: wrap;
}
@media (max-width: 760px){
  .hc-footer-bottom-strip{ justify-content: flex-start; }
  .hc-footer-bottom-strip .hc-footer-socials-wordmark{ gap: 1.5rem; }
}
.hc-footer-divider{
  height: 1px;
  background: rgba(255,255,255,.12);
  margin: 24px 0;
  border: 0;
}/* ============================================================
   v2.3 — "Stop Waiting. Start Owning." homepage hero
   ============================================================ */
.hc-hero-blueprint{
  background-color: #0d1b35;
  background-image:
    linear-gradient(rgba(217,192,138,.04) 1px, transparent 1px),
    linear-gradient(90deg, rgba(217,192,138,.04) 1px, transparent 1px);
  background-size: 80px 80px;
}.hc-display-mega .elementor-heading-title{
  font-family: var(--font-body);
  font-weight: 800;
  font-size: clamp(2.5rem, 7.5vw, 5.5rem);
  line-height: 1;
  letter-spacing: -.02em;
  text-transform: uppercase;
  color: var(--color-cream);
}.hc-subhead-italic .elementor-heading-title{
  font-family: var(--font-display);
  font-style: italic;
  font-weight: 500;
  font-size: clamp(1.5rem, 3vw, 2.25rem);
  color: var(--color-gold-soft);
  line-height: 1.2;
  letter-spacing: -.005em;
}

.hc-hero-eyebrow-line{ display:flex; flex-direction:column; gap:.85rem; }
.hc-hero-eyebrow-line .hc-hero-rule{ width:72px; height:1px; background: var(--color-gold); border:0; margin:0; }.hc-hero-body-text p{
  color: rgba(246,242,233,.85);
  font-size: 1.0625rem;
  line-height: 1.65;
  max-width: 52ch;
}.hc-hero-body-text em{ font-style: italic; color: #fff; }.hc-band-hero .hc-btn-outline .elementor-button{
  background: transparent;
  color: var(--color-cream);
  border-color: rgba(246,242,233,.5)!important;
}.hc-band-hero .hc-btn-outline .elementor-button:hover{
  background: var(--color-cream);
  color: var(--color-forest);
}

/* === Author Portrait book-frame === */
.hc-author-portrait{
  background:#0a1628;
  border:2px solid var(--color-gold);
  padding:14px;
  aspect-ratio:4 / 5;
  max-width:460px;
  margin-inline:auto;
  position:relative;
  box-shadow:0 24px 60px rgba(7,16,31,.5), 0 0 0 1px rgba(176,133,69,.2);
}
.hc-author-portrait-inner{
  border:1px solid rgba(176,133,69,.45);
  height:100%;
  display:flex;
  flex-direction:column;
  justify-content:center;
  align-items:center;
  gap:1.5rem;
  background:radial-gradient(circle at 50% 40%, #142a4a 0%, #0a1628 75%);
  padding:2rem;
}
.hc-author-monogram{
  font-family:var(--font-display);
  font-style:italic;
  font-weight:500;
  font-size:clamp(4rem, 9vw, 7rem);
  color:var(--color-gold-soft);
  line-height:1;
  letter-spacing:-.02em;
}
.hc-author-diamonds{ color:var(--color-gold); font-size:.9rem; letter-spacing:.8rem; }
.hc-author-caption{
  font-family:var(--font-body);
  font-size:.8rem;
  letter-spacing:.18em;
  color:var(--color-gold);
  font-weight:500;
}/* === Press strip === */
.hc-press-strip{ background:#07101f; padding:1.5rem 0; }
.hc-press-strip-inner{
  display:flex;
  align-items:center;
  gap:2rem;
  flex-wrap:wrap;
  justify-content:center;
}
.hc-press-label{
  font-family:var(--font-body);
  font-size:.8rem;
  font-weight:700;
  letter-spacing:.22em;
  text-transform:uppercase;
  color:var(--color-gold);
  white-space:nowrap;
}
.hc-press-divider{ width:1px; height:22px; background:rgba(255,255,255,.2); flex:none; }
.hc-press-logos{
  display:flex;
  gap:2.5rem;
  flex-wrap:wrap;
  align-items:center;
  justify-content:center;
}
.hc-press-logos span{
  font-family:var(--font-display);
  font-style:italic;
  font-size:1.2rem;
  color:rgba(246,242,233,.78);
  white-space:nowrap;
}
@media (max-width: 760px){
  .hc-press-strip-inner{ justify-content:flex-start; }
  .hc-press-divider{ display:none; }
  .hc-press-logos{ gap:1.25rem 1.75rem; }
  .hc-press-logos span{ font-size:1.05rem; }
}/* ============================================================
   v2.4 — Button class-name fix (HC_EB outputs hc-btn--variant)
   ============================================================ */

/* BASE button shape — applies to all hc-btn variants */
.hc-btn .elementor-button,
.elementor-widget.hc-btn .elementor-button{
  display: inline-flex!important;
  align-items: center!important;
  font-family: var(--font-body);
  font-size: .875rem;
  font-weight: 700;
  letter-spacing: .06em;
  text-transform: uppercase;
  padding: .95rem 1.75rem;
  border-radius: var(--hc-radius)!important;
  border: 1.5px solid transparent!important;
  transition: background .2s ease, color .2s ease, border-color .2s ease, box-shadow .2s ease!important;
  text-align: center!important;
  text-decoration: none!important;
}/* PRIMARY (navy filled) — high specificity */
body .hc-btn.hc-btn--primary .elementor-button,
body .elementor-widget.hc-btn--primary .elementor-button{
  background-color: var(--color-forest);
  background-image: none;
  color: #fff;
  border-color: var(--color-forest)!important;
  box-shadow: var(--shadow-sm)!important;
}body .hc-btn.hc-btn--primary .elementor-button:hover,
body .elementor-widget.hc-btn--primary .elementor-button:hover{
  background-color: var(--color-forest-deep);
  color: #fff;
  border-color: var(--color-forest-deep)!important;
}/* GOLD (gold filled, dark text) */
body .hc-btn.hc-btn--gold .elementor-button,
body .elementor-widget.hc-btn--gold .elementor-button{
  background-color: var(--color-gold);
  background-image: none;
  color: var(--color-forest-deep);
  border-color: var(--color-gold)!important;
}body .hc-btn.hc-btn--gold .elementor-button:hover,
body .elementor-widget.hc-btn--gold .elementor-button:hover{
  background-color: var(--color-gold-soft);
  color: var(--color-forest-deep);
  border-color: var(--color-gold-soft)!important;
}/* OUTLINE (transparent + border) — default on cream/white bands = navy border + navy text */
body .hc-btn.hc-btn--outline .elementor-button,
body .elementor-widget.hc-btn--outline .elementor-button{
  background-color: transparent;
  background-image: none;
  color: var(--color-forest);
  border-color: var(--color-forest)!important;
}body .hc-btn.hc-btn--outline .elementor-button:hover,
body .elementor-widget.hc-btn--outline .elementor-button:hover{
  background-color: var(--color-forest);
  color: #fff;
}/* OUTLINE on dark bands (forest / forest-deep / hero) — cream border + cream text */
body .hc-band-forest .hc-btn--outline .elementor-button,
body .hc-band-forest-deep .hc-btn--outline .elementor-button,
body .hc-band-hero .hc-btn--outline .elementor-button,
body .hc-band-forest .elementor-widget.hc-btn--outline .elementor-button,
body .hc-band-forest-deep .elementor-widget.hc-btn--outline .elementor-button,
body .hc-band-hero .elementor-widget.hc-btn--outline .elementor-button{
  background-color: transparent;
  color: var(--color-cream);
  border-color: rgba(246,242,233,.55)!important;
}body .hc-band-forest .hc-btn--outline .elementor-button:hover,
body .hc-band-forest-deep .hc-btn--outline .elementor-button:hover,
body .hc-band-hero .hc-btn--outline .elementor-button:hover,
body .hc-band-forest .elementor-widget.hc-btn--outline .elementor-button:hover,
body .hc-band-forest-deep .elementor-widget.hc-btn--outline .elementor-button:hover,
body .hc-band-hero .elementor-widget.hc-btn--outline .elementor-button:hover{
  background-color: var(--color-cream);
  color: var(--color-forest);
  border-color: var(--color-cream)!important;
}

/* BLOCK button (full width) */
body .hc-btn--block .elementor-button,
body .hc-btn.hc-btn--block .elementor-button{
  width: 100%!important;
  justify-content: center!important;
}/* ============================================================
   v3.0 — Mockup-v2 homepage rebuild
   ============================================================ */

/* Section heading with inline italic gold subline */
.hc-section-title-mega .elementor-heading-title{
  font-family: var(--font-body);
  font-weight: 700;
  font-size: clamp(2rem, 5vw, 3.125rem);
  line-height: 1.05;
  letter-spacing: -.02em;
  text-transform: uppercase;
  color: var(--color-forest);
  text-align: center;
}.hc-section-title-mega .elementor-heading-title .gold-italic,
.hc-italic-h2-line .elementor-heading-title{
  display: block;
  font-family: var(--font-display);
  font-style: italic;
  font-weight: 400;
  text-transform: none;
  color: var(--color-gold);
  font-size: clamp(1.5rem, 3.5vw, 2.25rem);
  line-height: 1.1;
  letter-spacing: 0;
  margin-top: .25rem;
}.hc-section-title-mega.hc-light .elementor-heading-title{ color: var(--color-cream); }.hc-section-title-mega.hc-light .elementor-heading-title .gold-italic{ color: var(--color-gold-soft); }

/* Section ornament divider (gold lines + star in middle) */
.hc-ornament-divider{
  display: flex; align-items: center; justify-content: center;
  margin: 22px auto 26px; max-width: 200px;
}
.hc-ornament-divider::before, .hc-ornament-divider::after{
  content: ''; flex: 1; height: 1px; background: var(--color-gold);
}
.hc-ornament-divider span{
  color: var(--color-gold); margin: 0 14px; font-size: 14px; letter-spacing: 4px;
}.hc-lede-serif p{
  font-family: var(--font-display);
  font-size: clamp(1.125rem, 2vw, 1.375rem);
  color: var(--color-ink-soft);
  line-height: 1.5;
  max-width: 760px;
  margin: 0 auto;
  text-align: center;
}.hc-lede-serif.hc-light p{ color: rgba(244,237,224,.85); }/* Pillar card (white card with gold top border) */
.hc-pillar-card{
  background: #ffffff;
  border-top: 2px solid var(--color-gold)!important;
  padding: 40px 30px;
  height: 100%;
}.hc-roman .elementor-heading-title{
  font-family: var(--font-display);
  font-style: italic;
  font-weight: 500;
  font-size: 28px;
  color: var(--color-gold);
  line-height: 1;
  margin-bottom: 14px;
}.hc-pillar-h3 .elementor-heading-title{
  font-family: var(--font-body);
  font-size: 18px;
  font-weight: 700;
  color: var(--color-forest);
  text-transform: uppercase;
  letter-spacing: 1px;
  margin-bottom: 14px;
}.hc-pillar-card p{ color: var(--color-ink-soft); font-size: 15px; line-height: 1.65; }

/* About-personal photo (smaller portrait frame) */
.hc-about-photo{
  aspect-ratio: 4 / 5;
  background: linear-gradient(135deg, #1B3A5F, #07101f);
  border: 1px solid var(--color-gold);
  position: relative;
  display: flex; align-items: center; justify-content: center;
  max-width: 420px;
  margin-inline: auto;
}
.hc-about-photo::before{
  content: ''; position: absolute; inset: 14px;
  border: 1px solid rgba(176,133,69,.5);
}
.hc-about-photo .hc-monogram-lg{
  font-family: var(--font-display);
  font-style: italic;
  font-weight: 500;
  color: var(--color-gold-soft);
  font-size: clamp(4rem, 8vw, 6.5rem);
  line-height: 1;
  letter-spacing: -.02em;
  z-index: 1;
}.hc-signature-big .elementor-heading-title{
  font-family: var(--font-display);
  font-style: italic;
  font-weight: 500;
  font-size: 36px;
  color: var(--color-gold);
  line-height: 1;
  margin: 24px 0 6px;
}.hc-signature-name p{
  font-size: 11px;
  letter-spacing: 3px;
  text-transform: uppercase;
  color: var(--color-ink-soft);
  margin-bottom: 24px;
}

/* The Show: circular mic */
.hc-show-mic-wrap{
  aspect-ratio: 1 / 1;
  background: radial-gradient(circle, #1B3A5F 0%, #07101f 100%);
  border: 1px solid var(--color-gold);
  position: relative;
  display: flex; align-items: center; justify-content: center;
  max-width: 480px;
  margin-inline: auto;
}
.hc-show-mic-wrap::before, .hc-show-mic-wrap::after{
  content: ''; position: absolute;
  border: 1px solid rgba(176,133,69,.3);
  border-radius: 50%;
}
.hc-show-mic-wrap::before{ inset: 30px; }
.hc-show-mic-wrap::after{ inset: 60px; }
.hc-show-mic-circle{
  width: 140px; height: 140px; border-radius: 50%;
  background: var(--color-gold);
  display: flex; align-items: center; justify-content: center;
  color: var(--color-forest);
  font-family: var(--font-display);
  font-style: italic;
  font-size: 48px;
  font-weight: 600;
  position: relative; z-index: 1;
  box-shadow: 0 0 50px rgba(176,133,69,.4);
}

.hc-chip{
  display: inline-block;
  padding: 10px 16px;
  border: 1px solid rgba(244,237,224,.3);
  font-size: 11px;
  letter-spacing: 2px;
  text-transform: uppercase;
  color: var(--color-cream);
  font-weight: 500;
  font-family: var(--font-body);
  margin: 0 6px 8px 0;
}
.hc-chip--cumulus{
  background: rgba(176,133,69,.15);
  border-color: var(--color-gold);
  color: var(--color-gold-soft);
  font-weight: 600;
}.hc-show-dist-label p{
  font-size: 11px;
  letter-spacing: 3px;
  text-transform: uppercase;
  color: var(--color-gold-soft);
  font-weight: 600;
  margin: 24px 0 12px;
}/* Newsletter gold gradient band */
/* removed: .hc-newsletter-gold-band rule */
/* removed: .hc-newsletter-gold-band rule */
/* removed: .hc-newsletter-gold-band rule */
/* removed: .hc-newsletter-gold-band rule */.hc-newsletter-eyebrow .elementor-heading-title{
  color: var(--color-forest);
  font-family: var(--font-body);
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 4px;
  text-transform: uppercase;
}.hc-newsletter-italic-h2 .elementor-heading-title{
  font-family: var(--font-display);
  font-style: italic;
  font-weight: 500;
  font-size: clamp(3rem, 7vw, 5.75rem);
  color: var(--color-forest);
  line-height: 1;
  margin-bottom: 12px;
  letter-spacing: -1px;
  text-align: center;
}.hc-newsletter-stat p{
  font-size: 14px;
  letter-spacing: 4px;
  text-transform: uppercase;
  color: var(--color-forest);
  font-weight: 700;
  text-align: center;
}.hc-newsletter-tagline p{
  font-family: var(--font-display);
  font-style: italic;
  font-size: clamp(1.125rem, 2vw, 1.5rem);
  color: var(--color-forest);
  line-height: 1.4;
  text-align: center;
}.hc-newsletter-detail p{
  color: var(--color-forest);
  font-size: 16px;
  opacity: .85!important;
  max-width: 580px;
  margin: 0 auto;
  text-align: center;
}
.hc-newsletter-form{
  display: flex; gap: 0; max-width: 540px; margin: 0 auto 18px;
}
.hc-newsletter-form input{
  flex: 1; padding: 20px 24px;
  border: 1px solid var(--color-forest);
  background: rgba(255,255,255,.85);
  color: var(--color-forest);
  font-family: var(--font-body);
  font-size: 14px;
  border-radius: 0;
  outline: none;
}
.hc-newsletter-form input::placeholder{ color: rgba(13,27,53,.5); }
.hc-newsletter-form button{
  padding: 20px 36px;
  background: var(--color-forest);
  color: var(--color-cream);
  border: none;
  font-family: var(--font-body);
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 2.5px;
  text-transform: uppercase;
  cursor: pointer;
  transition: background .3s;
}
.hc-newsletter-form button:hover{ background: var(--color-forest-deep); }
@media (max-width: 540px){
  .hc-newsletter-form{ flex-direction: column; gap: 12px; }
}.hc-newsletter-disclaimer p{
  font-size: 12px;
  letter-spacing: 1px;
  color: var(--color-forest);
  opacity: .65!important;
  text-align: center;
}
.hc-newsletter-insider{
  margin: 40px auto 0;
  padding: 20px 30px;
  background: rgba(13,27,53,.08);
  border: 1px solid var(--color-forest);
  display: inline-block;
  max-width: 580px;
}
.hc-newsletter-insider strong{
  display: block;
  font-size: 11px;
  letter-spacing: 3px;
  text-transform: uppercase;
  margin-bottom: 8px;
  color: var(--color-forest);
  font-family: var(--font-body);
}
.hc-newsletter-insider em{
  font-family: var(--font-display);
  font-style: italic;
  font-size: 17px;
  color: var(--color-forest);
}/* By-the-numbers stats */
.hc-stat-mega-num .elementor-heading-title{
  font-family: var(--font-body);
  font-weight: 800;
  font-size: clamp(2.5rem, 5vw, 3.75rem);
  color: var(--color-forest);
  line-height: 1;
  letter-spacing: -2px;
  margin-bottom: 8px;
  text-align: center;
}
.hc-stat-mega-num .plus{ color: var(--color-gold); font-weight: 700; }.hc-stat-label-italic p{
  font-family: var(--font-display);
  font-style: italic;
  font-size: 17px;
  color: var(--color-ink-soft);
  text-align: center;
}
.hc-stat-tiny-divider{
  height: 2px;
  width: 30px;
  background: var(--color-gold);
  margin: 12px auto 0;
  border: 0;
}

/* Mini book covers */
.hc-mini-book-cover{
  aspect-ratio: 2 / 3;
  background: linear-gradient(160deg, #1B3A5F, #07101f);
  border: 1px solid var(--color-gold);
  padding: 16px 12px;
  display: flex; align-items: center; justify-content: center;
  position: relative;
  box-shadow: 0 8px 22px rgba(13,27,53,.15);
  transition: transform .3s;
}
.hc-mini-book-cover:hover{ transform: translateY(-4px); }
.hc-mini-book-cover::before{
  content: ''; position: absolute; inset: 6px;
  border: 1px solid rgba(176,133,69,.5);
}
.hc-mini-book-cover h5{
  font-family: var(--font-body);
  font-size: 11px;
  font-weight: 700;
  color: var(--color-gold-soft);
  text-transform: uppercase;
  text-align: center;
  line-height: 1.15;
  position: relative;
  z-index: 1;
  letter-spacing: .3px;
}/* Work With Me v2 cards */
.hc-work-card-v2{
  padding: 34px 26px;
  border: 1px solid var(--color-line)!important;
  background: var(--color-cream);
  transition: all .3s;
  height: 100%;
}
.hc-work-card-v2:hover{
  transform: translateY(-4px);
  box-shadow: 0 16px 30px rgba(13,27,53,.08);
  border-color: var(--color-gold)!important;
}.hc-work-link p{
  color: var(--color-forest);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 2px;
  text-transform: uppercase;
  border-bottom: 1px solid var(--color-gold);
  padding-bottom: 3px;
  display: inline-block;
}
.hc-work-link a{ color: inherit; text-decoration: none; }.hc-work-link a:hover{ color: var(--color-gold); }/* Real Me cards on navy */
.hc-real-me-card{
  padding: 28px;
  border: 1px solid rgba(201,162,75,.3)!important;
  background: rgba(201,162,75,.05);
  height: 100%;
}
.hc-real-me-card h4{
  font-family: var(--font-body);
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 2.5px;
  text-transform: uppercase;
  color: var(--color-gold-soft);
  margin-bottom: 14px;
}
.hc-real-me-card ul{ list-style: none; padding: 0; margin: 0; }
.hc-real-me-card li{
  color: var(--color-cream);
  font-size: 14px;
  padding: 8px 0;
  line-height: 1.5;
  border-bottom: 1px solid rgba(244,237,224,.08);
}
.hc-real-me-card li:last-child{ border-bottom: none; }
.hc-real-me-card li .label{
  font-family: var(--font-display);
  font-style: italic;
  color: var(--color-gold-soft);
  margin-right: 8px;
}.hc-real-me-note p{
  font-family: var(--font-display);
  font-style: italic;
  font-size: 18px;
  color: rgba(244,237,224,.85);
  text-align: center;
  margin-top: 40px;
}

/* ============================================================
   v3.1 — Astra theme integration for restored Honorée Corder site
   Targets Astra's heading + button + nav + footer classes so the
   rebrand reaches every page, not only those built with hc-* classes.
   ============================================================ */

/* Body baseline (already inherited from .hc-page, but reinforce) */
body.hc-page{
  font-family: var(--font-body);
  color: var(--color-ink);
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}

/* === Headings everywhere become Cormorant Garamond === */
body.hc-page h1, body.hc-page h2, body.hc-page h3,
body.hc-page .entry-title,
body.hc-page .ast-archive-title,
body.hc-page .ast-single-post-content h1,
body.hc-page .ast-single-post-content h2,
body.hc-page .ast-single-post-content h3{
  font-family: var(--font-display);
  font-weight: 500;
  color: var(--color-forest);
  letter-spacing: -.01em;
}
body.hc-page h1, body.hc-page .entry-title{ font-size: clamp(2.25rem, 4.5vw, 3.5rem); line-height: 1.1; }
body.hc-page h2{ font-size: clamp(1.75rem, 3vw, 2.5rem); line-height: 1.15; }
body.hc-page h3{ font-size: 1.5rem; line-height: 1.25; font-weight: 600; }/* === Astra default buttons — navy fill + gold hover === */
body.hc-page .wp-block-button__link,
body.hc-page .ast-button,
body.hc-page button.menu-toggle,
body.hc-page .ast-custom-button{
  background-color: var(--color-forest);
  color: var(--color-cream);
  border: 1.5px solid var(--color-forest)!important;
  border-radius: var(--hc-radius)!important;
  font-family: var(--font-body);
  font-weight: 700;
  letter-spacing: .06em;
  text-transform: uppercase;
  padding: .95rem 1.75rem;
  font-size: .875rem;
  transition: all .2s ease!important;
}body.hc-page .wp-block-button__link:hover,
body.hc-page .ast-button:hover,
body.hc-page .ast-custom-button:hover{
  background-color: var(--color-gold);
  border-color: var(--color-gold)!important;
  color: var(--color-forest-deep);
}/* === Astra header polish === */
body.hc-page .site-header,
body.hc-page .ast-main-header-wrap{
  background: rgba(246,242,233,.94);
  backdrop-filter: saturate(1.4) blur(10px);
  -webkit-backdrop-filter: saturate(1.4) blur(10px);
  border-bottom: 1px solid var(--color-line);
}body.hc-page .site-title a,
body.hc-page .site-title,
body.hc-page .ast-site-identity{
  font-family: var(--font-display);
  color: var(--color-forest);
  font-weight: 600;
}body.hc-page .main-header-menu > .menu-item > a,
body.hc-page .main-navigation a{
  font-family: var(--font-body);
  font-size: .875rem;
  font-weight: 600;
  letter-spacing: .04em;
  text-transform: uppercase;
  color: var(--color-ink);
  transition: color .2s ease;
}body.hc-page .main-header-menu > .menu-item:hover > a,
body.hc-page .main-header-menu > .current-menu-item > a,
body.hc-page .main-navigation a:hover{
  color: var(--color-gold);
}/* === Astra footer polish === */
body.hc-page .site-footer,
body.hc-page .ast-footer-wrap,
body.hc-page .footer-sml-layout-1,
body.hc-page footer.site-footer{
  background: var(--color-forest-deep);
  color: rgba(255,255,255,.78);
  border-top: 1px solid rgba(176,133,69,.2);
}body.hc-page .site-footer a,
body.hc-page footer.site-footer a{
  color: rgba(255,255,255,.78);
  transition: color .2s ease;
}body.hc-page .site-footer a:hover,
body.hc-page footer.site-footer a:hover{ color: var(--color-gold-soft); }body.hc-page footer.site-footer h2,
body.hc-page footer.site-footer h3,
body.hc-page footer.site-footer h4,
body.hc-page footer.site-footer h5,
body.hc-page footer.site-footer .widget-title{
  color: var(--color-gold);
  font-family: var(--font-body);
  font-size: .8rem;
  letter-spacing: .2em;
  text-transform: uppercase;
}

/* === Content backgrounds: warm cream for the page canvas === */
body.hc-page{
  background-color: var(--color-cream);
}
body.hc-page .entry-content,
body.hc-page .ast-container,
body.hc-page .site-content{
  background-color: transparent;
}/* === Form inputs everywhere get a softer feel === */
body.hc-page input[type=text],
body.hc-page input[type=email],
body.hc-page input[type=url],
body.hc-page input[type=tel],
body.hc-page textarea,
body.hc-page select{
  border: 1px solid var(--color-line)!important;
  border-radius: var(--hc-radius-sm)!important;
  background: #fff;
  font-family: var(--font-body);
  padding: .85rem 1rem;
  transition: border-color .2s ease, box-shadow .2s ease;
}
body.hc-page input[type=text]:focus,
body.hc-page input[type=email]:focus,
body.hc-page textarea:focus,
body.hc-page select:focus{
  outline: 0;
  border-color: var(--color-gold)!important;
  box-shadow: 0 0 0 3px rgba(176,133,69,.15)!important;
}/* === Block editor / Elementor wide accent fallbacks === */
body.hc-page .has-text-color.has-primary-color,
body.hc-page .has-text-color.has-theme-color{ color: var(--color-forest); }body.hc-page .has-background.has-primary-background-color,
body.hc-page .has-background.has-theme-background-color{ background-color: var(--color-forest); }/* ============================================================
   v3.2 — Home-only header (mockup style)
   Dark navy bg, gold accent border, cream menu, gold hover.
   Scoped to body.hc-page so other pages keep cream header.
   ============================================================ */

/* Header background: dark navy with backdrop blur + subtle gold bottom border */
body.hc-page .site-header,
body.hc-page #masthead,
body.hc-page .ast-main-header-wrap,
body.hc-page .main-header-bar-wrap,
body.hc-page .main-header-bar{
  background: rgba(14, 36, 64, 0.96);
  background-color: rgba(14, 36, 64, 0.96);
  backdrop-filter: saturate(1.4) blur(10px)!important;
  -webkit-backdrop-filter: saturate(1.4) blur(10px)!important;
  border-bottom: 1px solid rgba(176, 133, 69, 0.25)!important;
  border-top: 0!important;
  box-shadow: none!important;
}/* Top-level menu link styling — cream, uppercase tracked, gold hover */
body.hc-page .main-header-menu > .menu-item > a.menu-link,
body.hc-page .main-header-menu > .menu-item > a,
body.hc-page #ast-hf-mobile-menu > .menu-item > a{
  color: var(--color-cream);
  font-family: var(--font-body);
  font-size: 11px;
  font-weight: 500;
  letter-spacing: 2.5px;
  text-transform: uppercase;
  padding: 10px 16px;
  transition: color .25s ease;
}body.hc-page .main-header-menu > .menu-item:hover > a.menu-link,
body.hc-page .main-header-menu > .menu-item > a.menu-link:hover,
body.hc-page .main-header-menu > .current-menu-item > a.menu-link,
body.hc-page .main-header-menu > .current_page_item > a.menu-link,
body.hc-page .main-header-menu > .menu-item:hover > a,
body.hc-page .main-header-menu > .current-menu-item > a{
  color: var(--color-gold-soft);
}/* Submenu (dropdown) panels — also navy, cream links, gold hover */
body.hc-page .main-header-menu .sub-menu,
body.hc-page .ast-menu-shadow .sub-menu{
  background: rgba(7, 16, 31, 0.98);
  border: 1px solid rgba(176, 133, 69, 0.18)!important;
  box-shadow: 0 12px 32px rgba(0,0,0,.45)!important;
}body.hc-page .main-header-menu .sub-menu a.menu-link,
body.hc-page .main-header-menu .sub-menu a{
  color: var(--color-cream);
  font-size: 12px;
  letter-spacing: 1.5px;
  text-transform: uppercase;
  padding: 12px 18px;
  border-bottom: 1px solid rgba(255,255,255,.05)!important;
}
body.hc-page .main-header-menu .sub-menu li:last-child a.menu-link{ border-bottom: 0!important; }body.hc-page .main-header-menu .sub-menu a.menu-link:hover,
body.hc-page .main-header-menu .sub-menu .current-menu-item > a.menu-link{
  color: var(--color-gold-soft);
  background: rgba(176, 133, 69, 0.08);
}/* Submenu arrow indicators (carets) */
body.hc-page .ast-menu-toggle,
body.hc-page .ast-menu-toggle .ast-icon{
  color: var(--color-cream);
  fill: var(--color-cream)!important;
}body.hc-page .menu-item:hover > .ast-menu-toggle{ color: var(--color-gold-soft); }/* Mobile menu toggle (hamburger) — cream icon on navy */
body.hc-page .menu-toggle,
body.hc-page .main-header-menu-toggle,
body.hc-page .menu-toggle-icon{
  color: var(--color-cream);
  background: transparent;
}body.hc-page .menu-toggle .menu-toggle-icon::before,
body.hc-page .ast-icon.icon-menu-bars{
  color: var(--color-cream);
  fill: var(--color-cream)!important;
}/* Site title (if shown) becomes cream */
body.hc-page .site-title,
body.hc-page .site-title a,
body.hc-page .ast-site-identity .site-description{
  color: var(--color-cream);
}/* If there's a header CTA / header button area, style it gold */
body.hc-page .ast-custom-button,
body.hc-page .ast-header-button-1 a,
body.hc-page .ast-header-button-2 a,
body.hc-page .ast-builder-button-1 a,
body.hc-page .ast-builder-button-2 a,
body.hc-page .header-widget-area a.wp-block-button__link,
body.hc-page .site-header .wp-block-button__link{
  background-color: var(--color-gold);
  color: var(--color-forest-deep);
  border: 1.5px solid var(--color-gold)!important;
  font-family: var(--font-body);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 2.5px;
  text-transform: uppercase;
  padding: 12px 26px;
  border-radius: 0!important;
  transition: background .25s ease, color .25s ease;
}body.hc-page .ast-custom-button:hover,
body.hc-page .ast-header-button-1 a:hover,
body.hc-page .ast-header-button-2 a:hover,
body.hc-page .ast-builder-button-1 a:hover,
body.hc-page .ast-builder-button-2 a:hover,
body.hc-page .header-widget-area a.wp-block-button__link:hover,
body.hc-page .site-header .wp-block-button__link:hover{
  background-color: var(--color-gold-soft);
  border-color: var(--color-gold-soft)!important;
  color: var(--color-forest-deep);
}/* Make sure logo image (wax seal) sits clean on the navy without weird boxing */
body.hc-page .custom-logo,
body.hc-page .site-logo-img img{
  background: transparent;
  mix-blend-mode: normal;
}/* ============================================================
   v3.3 — Site-wide footer (mockup style)
   4-column grid + bottom strip with copyright and social wordmarks.
   Rendered inside <footer id="colophon"> via EHF post 262.
   ============================================================ */

/* Override Astra/EHF default footer styling */
body.hc-page footer#colophon,
body.hc-page .site-footer,
body.hc-page .footer-sml-layout-2,
body.hc-page .ast-small-footer{
  background: var(--color-forest-deep);
  color: rgba(244,237,224,.85);
  border-top: 0!important;
  padding: 0;
  margin: 0;
}

/* Hide the Astra small-footer if any (we render our own content) */
body.hc-page footer#colophon > .ast-small-footer-section{ display: none!important; }body.hc-page footer#colophon .footer-width-fixer{ padding: 0; max-width: 100%!important; }

/* Wrap + inner */
body.hc-page .hc-footer-wrap{
  background: var(--color-forest-deep);
  color: rgba(244,237,224,.85);
  padding: 84px 0 30px;
  font-family: var(--font-body);
}
body.hc-page .hc-footer-inner{
  max-width: 1280px;
  margin: 0 auto;
  padding: 0 40px;
}

/* The 4-column grid */
body.hc-page .hc-footer-grid{
  display: grid;
  grid-template-columns: 1.6fr 1fr 1fr 1fr;
  gap: 80px;
  padding-bottom: 50px;
  align-items: flex-start;
}
@media (max-width: 980px){
  body.hc-page .hc-footer-grid{ grid-template-columns: 1fr 1fr; gap: 50px; }
}
@media (max-width: 600px){
  body.hc-page .hc-footer-grid{ grid-template-columns: 1fr; gap: 40px; }
  body.hc-page .hc-footer-inner{ padding: 0 24px; }
  body.hc-page .hc-footer-wrap{ padding: 56px 0 28px; }
}/* Brand wordmark (Honorée Corder) */
body.hc-page .hc-footer-brand-name{
  font-family: var(--font-display);
  font-size: 2.2rem;
  font-weight: 500;
  color: var(--color-cream);
  text-decoration: none!important;
  letter-spacing: .01em;
  display: inline-block;
  margin-bottom: 22px;
  line-height: 1.2;
}body.hc-page .hc-footer-brand-name em{
  font-style: italic;
  color: var(--color-gold);
}body.hc-page .hc-footer-brand-name:hover em{ color: var(--color-gold-soft); }/* Brand blurb */
body.hc-page .hc-footer-blurb{
  font-family: var(--font-body);
  font-size: 15px;
  line-height: 1.75;
  color: rgba(244,237,224,.78);
  margin: 0;
  max-width: 460px;
}body.hc-page .hc-footer-blurb strong em{
  color: var(--color-cream);
  font-weight: 600;
}/* Column eyebrows (Explore / Stay Close / The Real Me) */
body.hc-page .hc-footer-eyebrow{
  font-family: var(--font-body);
  font-size: .8rem;
  font-weight: 700;
  letter-spacing: .22em;
  text-transform: uppercase;
  color: var(--color-gold);
  margin: 0 0 26px;
  line-height: 1;
}/* Link lists */
body.hc-page .hc-footer-links{
  list-style: none!important;
  padding: 0;
  margin: 0;
}body.hc-page .hc-footer-links li{
  margin: 0 0 18px;
  padding: 0;
  list-style: none!important;
}body.hc-page .hc-footer-links li:last-child{ margin-bottom: 0; }body.hc-page .hc-footer-links a{
  font-family: var(--font-body);
  font-size: 15px;
  font-weight: 400;
  color: rgba(244,237,224,.85);
  text-decoration: none!important;
  transition: color .25s ease;
  letter-spacing: 0;
  text-transform: none;
}body.hc-page .hc-footer-links a:hover{
  color: var(--color-gold-soft);
}/* Divider above bottom strip */
body.hc-page .hc-footer-divider{
  border: 0!important;
  height: 1px!important;
  background: rgba(244,237,224,.12);
  margin: 0;
}

/* Bottom strip */
body.hc-page .hc-footer-bottom-strip{
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 24px;
  padding: 26px 0 8px;
}body.hc-page .hc-footer-copyright{
  font-family: var(--font-body);
  font-size: 13px;
  color: rgba(244,237,224,.55);
  margin: 0;
  letter-spacing: 0;
}body.hc-page .hc-footer-socials-wordmark{
  list-style: none!important;
  display: flex;
  gap: 36px;
  margin: 0;
  padding: 0;
}body.hc-page .hc-footer-socials-wordmark li{ margin: 0; padding: 0; }body.hc-page .hc-footer-socials-wordmark a{
  font-family: var(--font-body);
  font-size: 12px;
  font-weight: 600;
  letter-spacing: .2em;
  text-transform: uppercase;
  color: rgba(244,237,224,.78);
  text-decoration: none!important;
  transition: color .25s ease;
}body.hc-page .hc-footer-socials-wordmark a:hover{ color: var(--color-gold-soft); }
@media (max-width: 700px){
  body.hc-page .hc-footer-bottom-strip{ justify-content: center; text-align: center; }
  body.hc-page .hc-footer-socials-wordmark{ gap: 22px; flex-wrap: wrap; justify-content: center; }
}/* ============================================================
   v3.4 — Footer rebuilt with Elementor core widgets
   Overrides to make icon-list / heading / text-editor widgets
   match the original mockup styling.
   ============================================================ */

/* Footer band: navy bg, full-bleed inside <footer id="colophon"> */
body.hc-page .hc-footer-band > .e-con-inner,
body.hc-page .hc-footer-band.e-con > .e-con-inner,
body.hc-page .hc-footer-band{
  background: var(--color-forest-deep);
  color: rgba(244,237,224,.85);
  padding: 84px 40px 30px;
  max-width: 100%!important;
}body.hc-page .hc-footer-band > .e-con-inner{
  max-width: 1280px!important;
  margin: 0 auto;
  padding: 0;
}/* 4-column grid — force grid layout on the row container */
body.hc-page .hc-footer-grid{
  display: grid!important;
  grid-template-columns: 1.6fr 1fr 1fr 1fr!important;
  gap: 80px;
  align-items: flex-start!important;
  width: 100%!important;
  margin-bottom: 50px;
}body.hc-page .hc-footer-grid > .e-con-inner,
body.hc-page .hc-footer-col > .e-con-inner{
  display: block!important;
  width: 100%!important;
  padding: 0;
}
body.hc-page .hc-footer-col{ display: block!important; }
@media (max-width: 980px){body.hc-page .hc-footer-grid{ grid-template-columns: 1fr 1fr!important; gap: 50px; }
}
@media (max-width: 600px){body.hc-page .hc-footer-grid{ grid-template-columns: 1fr!important; gap: 40px; }body.hc-page .hc-footer-band{ padding: 56px 24px 28px; }
}/* Brand wordmark heading widget */
body.hc-page .hc-footer-brand-name .elementor-heading-title,
body.hc-page .hc-footer-brand-name.elementor-widget-heading .elementor-heading-title{
  font-family: var(--font-display);
  font-size: 2.2rem;
  font-weight: 500;
  color: var(--color-cream);
  letter-spacing: .01em;
  margin: 0 0 22px;
  line-height: 1.2;
}body.hc-page .hc-footer-brand-name .elementor-heading-title em{
  font-style: italic;
  color: var(--color-gold);
}body.hc-page .hc-footer-brand-name .elementor-heading-title a{
  color: inherit;
  text-decoration: none!important;
}body.hc-page .hc-footer-brand-name .elementor-heading-title a:hover em{
  color: var(--color-gold-soft);
}/* Brand blurb text-editor */
body.hc-page .hc-footer-blurb-wrap .elementor-widget-container p,
body.hc-page .hc-footer-blurb-wrap p{
  font-family: var(--font-body);
  font-size: 15px;
  line-height: 1.75;
  color: rgba(244,237,224,.78);
  margin: 0;
  max-width: 460px!important;
  text-align: left!important;
}body.hc-page .hc-footer-blurb-wrap strong em,
body.hc-page .hc-footer-blurb-wrap em strong{
  color: var(--color-cream);
  font-weight: 600;
}/* Column eyebrow headings (EXPLORE / STAY CLOSE / THE REAL ME) */
body.hc-page .hc-footer-eyebrow .elementor-heading-title{
  font-family: var(--font-body);
  font-size: .8rem;
  font-weight: 700;
  letter-spacing: .22em;
  text-transform: uppercase;
  color: var(--color-gold);
  margin: 0 0 26px;
  line-height: 1;
}/* Footer link lists (icon-list widget, vertical) */
body.hc-page .hc-footer-links .elementor-icon-list-items{
  padding: 0;
  margin: 0;
  list-style: none!important;
}body.hc-page .hc-footer-links .elementor-icon-list-item{
  margin: 0 0 18px;
  padding: 0;
  border: 0!important;
}body.hc-page .hc-footer-links .elementor-icon-list-item:last-child{ margin-bottom: 0; }
body.hc-page .hc-footer-links .elementor-icon-list-item:after{ display: none!important; }

/* Hide the empty icon span on each item so labels sit flush-left */
body.hc-page .hc-footer-links .elementor-icon-list-icon{ display: none!important; }body.hc-page .hc-footer-links .elementor-icon-list-text{
  padding-left: 0;
  margin-left: 0;
}/* The actual link styling */
body.hc-page .hc-footer-links .elementor-icon-list-item > a,
body.hc-page .hc-footer-links .elementor-icon-list-text{
  font-family: var(--font-body);
  font-size: 15px;
  font-weight: 400;
  color: rgba(244,237,224,.85);
  text-decoration: none!important;
  transition: color .25s ease!important;
  letter-spacing: 0;
  text-transform: none;
}body.hc-page .hc-footer-links .elementor-icon-list-item > a:hover,
body.hc-page .hc-footer-links .elementor-icon-list-item > a:hover .elementor-icon-list-text{
  color: var(--color-gold-soft);
}/* Divider widget styling */
body.hc-page .hc-footer-divider .elementor-divider{
  padding: 0;
  margin: 0;
}body.hc-page .hc-footer-divider .elementor-divider-separator{
  border-top: 0!important;
  background: rgba(244,237,224,.12);
  height: 1px!important;
  width: 100%!important;
}/* Bottom strip layout */
body.hc-page .hc-footer-bottom-strip{
  margin-top: 26px;
  padding: 0;
  width: 100%!important;
}body.hc-page .hc-footer-bottom-strip > .e-con-inner{ padding: 0; }/* Copyright (text-editor widget) */
body.hc-page .hc-footer-copyright .elementor-widget-container p,
body.hc-page .hc-footer-copyright p{
  font-family: var(--font-body);
  font-size: 13px;
  color: rgba(244,237,224,.55);
  margin: 0;
  letter-spacing: 0;
  text-align: left!important;
}/* Social wordmarks (icon-list inline view) */
body.hc-page .hc-footer-socials-wordmark .elementor-inline-items,
body.hc-page .hc-footer-socials-wordmark .elementor-icon-list-items{
  list-style: none!important;
  display: flex!important;
  flex-direction: row!important;
  flex-wrap: wrap!important;
  justify-content: flex-end!important;
  gap: 36px;
  margin: 0;
  padding: 0;
}body.hc-page .hc-footer-socials-wordmark .elementor-icon-list-item,
body.hc-page .hc-footer-socials-wordmark .elementor-inline-item{
  margin: 0;
  padding: 0;
  border: 0!important;
}
body.hc-page .hc-footer-socials-wordmark .elementor-icon-list-icon{ display: none!important; }body.hc-page .hc-footer-socials-wordmark .elementor-icon-list-text{
  padding-left: 0;
  margin-left: 0;
}body.hc-page .hc-footer-socials-wordmark .elementor-icon-list-item > a,
body.hc-page .hc-footer-socials-wordmark .elementor-icon-list-text{
  font-family: var(--font-body);
  font-size: 12px;
  font-weight: 600;
  letter-spacing: .2em;
  text-transform: uppercase;
  color: rgba(244,237,224,.78);
  text-decoration: none!important;
  transition: color .25s ease!important;
}body.hc-page .hc-footer-socials-wordmark .elementor-icon-list-item > a:hover,
body.hc-page .hc-footer-socials-wordmark .elementor-icon-list-item > a:hover .elementor-icon-list-text{
  color: var(--color-gold-soft);
}

@media (max-width: 700px){body.hc-page .hc-footer-bottom-strip{ flex-direction: column!important; text-align: center!important; gap: 18px; }body.hc-page .hc-footer-socials-wordmark .elementor-icon-list-items{ justify-content: center!important; gap: 22px; }
  body.hc-page .hc-footer-copyright p{ text-align: center!important; }
}

/* ============================================================
   v3.5 — Articles page (category chips + post grid + single-post CTA)
   ============================================================ */

/* Category filter chip row */
body.hc-page .hc-cat-chips-row{
  width: 100%;
  max-width: 1100px;
  margin: 0 auto;
}body.hc-page .hc-cat-chips-row > .e-con-inner{
  display: flex!important;
  flex-wrap: wrap!important;
  justify-content: center!important;
  gap: 12px;
}/* Each chip = Elementor Button widget with .hc-cat-chip class */
body.hc-page .hc-cat-chip .elementor-button,
body.hc-page .hc-cat-chip a.elementor-button-link{
  display: inline-block!important;
  background: transparent;
  color: var(--color-forest);
  border: 1.5px solid var(--color-line)!important;
  border-radius: 999px!important;
  font-family: var(--font-body);
  font-size: 12px;
  font-weight: 600;
  letter-spacing: .14em;
  text-transform: uppercase;
  padding: 9px 18px;
  text-decoration: none!important;
  transition: all .25s ease!important;
}body.hc-page .hc-cat-chip .elementor-button:hover,
body.hc-page .hc-cat-chip a.elementor-button-link:hover{
  background: var(--color-forest);
  border-color: var(--color-forest)!important;
  color: var(--color-cream);
}body.hc-page .hc-cat-chip .elementor-button-text{
  font-family: inherit;
  font-size: inherit;
  font-weight: inherit;
  letter-spacing: inherit;
  text-transform: inherit;
  color: inherit;
}

/* XPro Post Grid — quiet, editorial card style */
body.hc-page .hc-articles-grid .xpro-elementor-post-grid-wrapper{
  max-width: 1240px;
  margin: 0 auto;
}body.hc-page .hc-articles-grid .xpro-post-item,
body.hc-page .hc-articles-grid article.xpro-elementor-post{
  background: #fff;
  border: 1px solid var(--color-line)!important;
  border-radius: var(--hc-radius)!important;
  overflow: hidden;
  transition: transform .3s ease, box-shadow .3s ease, border-color .3s ease;
}
body.hc-page .hc-articles-grid .xpro-post-item:hover,
body.hc-page .hc-articles-grid article.xpro-elementor-post:hover{
  transform: translateY(-4px);
  box-shadow: 0 16px 40px rgba(13,27,53,.10);
  border-color: var(--color-gold-soft)!important;
}body.hc-page .hc-articles-grid .xpro-post-title,
body.hc-page .hc-articles-grid .xpro-post-title a{
  font-family: var(--font-display);
  font-weight: 500;
  color: var(--color-forest);
  font-size: 1.4rem;
  line-height: 1.25;
  letter-spacing: -.005em;
  text-decoration: none!important;
}body.hc-page .hc-articles-grid .xpro-post-title a:hover{
  color: var(--color-gold);
}body.hc-page .hc-articles-grid .xpro-post-content,
body.hc-page .hc-articles-grid .xpro-post-excerpt{
  font-family: var(--font-body);
  font-size: 14px;
  line-height: 1.6;
  color: var(--color-ink-soft);
}body.hc-page .hc-articles-grid .xpro-post-meta,
body.hc-page .hc-articles-grid .xpro-post-meta-item{
  font-family: var(--font-body);
  font-size: 11px;
  font-weight: 600;
  letter-spacing: .14em;
  text-transform: uppercase;
  color: var(--color-gold);
}body.hc-page .hc-articles-grid .xpro-readmore,
body.hc-page .hc-articles-grid .xpro-readmore a{
  font-family: var(--font-body);
  font-size: 12px;
  font-weight: 700;
  letter-spacing: .14em;
  text-transform: uppercase;
  color: var(--color-forest);
  text-decoration: none!important;
  border-bottom: 1.5px solid var(--color-gold)!important;
  padding-bottom: 2px;
  transition: color .25s ease, border-color .25s ease;
}body.hc-page .hc-articles-grid .xpro-readmore a:hover{
  color: var(--color-gold);
}/* Pagination */
body.hc-page .hc-articles-grid .xpro-pagination a,
body.hc-page .hc-articles-grid .xpro-pagination span{
  font-family: var(--font-body);
  font-weight: 600;
  font-size: 12px;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: var(--color-forest);
  border: 1px solid var(--color-line)!important;
  background: transparent;
  padding: 8px 14px;
  margin: 0 4px;
  border-radius: var(--hc-radius-sm)!important;
}body.hc-page .hc-articles-grid .xpro-pagination a:hover{
  background: var(--color-forest);
  color: var(--color-cream);
  border-color: var(--color-forest)!important;
}body.hc-page .hc-articles-grid .xpro-pagination .current{
  background: var(--color-gold);
  border-color: var(--color-gold)!important;
  color: var(--color-forest-deep);
}

/* Single-post CTA wrapper — ensures CTA sits flush-edge below content */
body.hc-page .hc-single-post-cta-wrap{
  margin-top: 60px;
  margin-left: calc(50% - 50vw);
  margin-right: calc(50% - 50vw);
  width: 100vw;
  max-width: 100vw;
}/* ============================================================
   v3.6 — Astra Pro Custom Layout header (post 4501)
   Replaces the default Astra masthead. Styled to match the
   previous navy backdrop-blur look. Editable in Elementor.
   ============================================================ */

/* Astra Custom Layout header wrapper */
body.hc-page header.ast-custom-header{
  position: sticky;
  top: 0;
  z-index: 99;
  background: rgba(14, 36, 64, 0.96);
  backdrop-filter: saturate(1.4) blur(10px);
  -webkit-backdrop-filter: saturate(1.4) blur(10px);
  border-bottom: 1px solid rgba(176, 133, 69, 0.25);
  margin: 0;
  padding: 0;
}body.hc-page header.ast-custom-header > .ast-custom-header-content{
  padding: 0;
}/* The Elementor section inside */
body.hc-page .hc-astra-header-layout,
body.hc-page .hc-astra-header-layout.e-con,
body.hc-page .hc-astra-header-layout.e-con > .e-con-inner{
  background: transparent;
  max-width: 100%!important;
  padding: 14px 40px;
}body.hc-page .hc-astra-header-layout > .e-con-inner{
  max-width: 1280px!important;
  margin: 0 auto;
  padding: 0;
}/* Row container */
body.hc-page .hc-astra-header-row{
  width: 100%!important;
  padding: 0;
}body.hc-page .hc-astra-header-row > .e-con-inner{
  display: flex!important;
  flex-direction: row!important;
  align-items: center!important;
  justify-content: space-between!important;
  gap: 40px;
  padding: 0;
  width: 100%!important;
  max-width: 100%!important;
}/* Logo widget */
body.hc-page .hc-astra-header-logo img,
body.hc-page .hc-astra-header-logo .elementor-widget-container img{
  max-height: 56px!important;
  width: auto!important;
  background: transparent;
}/* HFE Navigation Menu widget — cream uppercase tracked links, gold hover */
body.hc-page .hc-astra-header-nav .hfe-nav-menu li.menu-item > a,
body.hc-page .hc-astra-header-nav .hfe-nav-menu li > a,
body.hc-page .hc-astra-header-nav nav.hfe-nav-menu__layout-horizontal .hfe-nav-menu > li > a{
  font-family: var(--font-body);
  font-size: 11px;
  font-weight: 500;
  letter-spacing: 2.5px;
  text-transform: uppercase;
  color: var(--color-cream);
  padding: 10px 16px;
  transition: color .25s ease!important;
  text-decoration: none!important;
}body.hc-page .hc-astra-header-nav .hfe-nav-menu li:hover > a,
body.hc-page .hc-astra-header-nav .hfe-nav-menu li.current-menu-item > a,
body.hc-page .hc-astra-header-nav .hfe-nav-menu li.current_page_item > a{
  color: var(--color-gold-soft);
}/* Submenu (dropdown) panels */
body.hc-page .hc-astra-header-nav .hfe-nav-menu .sub-menu,
body.hc-page .hc-astra-header-nav .sub-menu{
  background: rgba(7, 16, 31, 0.98);
  border: 1px solid rgba(176, 133, 69, 0.18)!important;
  box-shadow: 0 12px 32px rgba(0,0,0,.45)!important;
  border-radius: 0!important;
}body.hc-page .hc-astra-header-nav .hfe-nav-menu .sub-menu li a,
body.hc-page .hc-astra-header-nav .sub-menu li > a{
  color: var(--color-cream);
  font-size: 12px;
  letter-spacing: 1.5px;
  text-transform: uppercase;
  font-weight: 500;
  padding: 12px 18px;
  border-bottom: 1px solid rgba(255,255,255,.05)!important;
}
body.hc-page .hc-astra-header-nav .hfe-nav-menu .sub-menu li:last-child a{
  border-bottom: 0!important;
}body.hc-page .hc-astra-header-nav .hfe-nav-menu .sub-menu li:hover > a,
body.hc-page .hc-astra-header-nav .sub-menu li.current-menu-item > a{
  color: var(--color-gold-soft);
  background: rgba(176, 133, 69, 0.08);
}/* Submenu dropdown indicator (arrows/carets) */
body.hc-page .hc-astra-header-nav .sub-arrow{
  color: var(--color-cream);
}body.hc-page .hc-astra-header-nav li:hover > a > .sub-arrow{
  color: var(--color-gold-soft);
}/* Mobile menu toggle */
body.hc-page .hc-astra-header-nav .hfe-menu-toggle,
body.hc-page .hc-astra-header-nav .menu-toggle{
  color: var(--color-cream);
  background: transparent;
  border: 0!important;
}

/* Hide entry-header (empty title wrapper inside articles) when ast-no-title */
body.hc-page header.entry-header.ast-no-title.ast-header-without-markup{ display: none!important; }/* ============================================================
   v3.7 — HFE Basic Posts (replaces removed XPro Post Grid)
   On the Articles page. Forces a 3-col grid + editorial card styling.
   ============================================================ */

/* Force 3-col grid — HFE Basic Posts ships single-column by default */
body.hc-page .hc-articles-grid .hfe-post-grid,
body.hc-page .hc-articles-grid .hfe-posts-grid,
body.hc-page .hc-articles-grid .hfe-post-wrapper{
  display: grid!important;
  grid-template-columns: repeat(3, 1fr)!important;
  gap: 28px;
}
@media (max-width: 980px){
  body.hc-page .hc-articles-grid .hfe-post-grid,
  body.hc-page .hc-articles-grid .hfe-posts-grid,
  body.hc-page .hc-articles-grid .hfe-post-wrapper{ grid-template-columns: repeat(2, 1fr)!important; }
}
@media (max-width: 600px){
  body.hc-page .hc-articles-grid .hfe-post-grid,
  body.hc-page .hc-articles-grid .hfe-posts-grid,
  body.hc-page .hc-articles-grid .hfe-post-wrapper{ grid-template-columns: 1fr!important; }
}/* Card style */
body.hc-page .hc-articles-grid .hfe-post-inner-wrap,
body.hc-page .hc-articles-grid article.hfe-post-item,
body.hc-page .hc-articles-grid .hfe-post-item-wrap{
  background: #fff;
  border: 1px solid var(--color-line)!important;
  border-radius: var(--hc-radius)!important;
  overflow: hidden;
  padding: 0;
  transition: transform .3s ease, box-shadow .3s ease, border-color .3s ease;
}
body.hc-page .hc-articles-grid .hfe-post-inner-wrap:hover,
body.hc-page .hc-articles-grid article.hfe-post-item:hover,
body.hc-page .hc-articles-grid .hfe-post-item-wrap:hover{
  transform: translateY(-4px);
  box-shadow: 0 16px 40px rgba(13,27,53,.10);
  border-color: var(--color-gold-soft)!important;
}/* Featured image fills the top of the card */
body.hc-page .hc-articles-grid .hfe-post-thumbnail,
body.hc-page .hc-articles-grid .hfe-post-image{
  margin: 0;
}
body.hc-page .hc-articles-grid .hfe-post-thumbnail img,
body.hc-page .hc-articles-grid .hfe-post-image img{
  width: 100%!important;
  height: 220px!important;
  object-fit: cover!important;
  display: block!important;
}/* Inner content padding */
body.hc-page .hc-articles-grid .hfe-post-content,
body.hc-page .hc-articles-grid .hfe-post-item-content{
  padding: 24px 24px 28px;
}/* Title */
body.hc-page .hc-articles-grid .hfe-post-title,
body.hc-page .hc-articles-grid .hfe-post-title a,
body.hc-page .hc-articles-grid h3.hfe-post-title{
  font-family: var(--font-display);
  font-weight: 500;
  color: var(--color-forest);
  font-size: 1.4rem;
  line-height: 1.25;
  letter-spacing: -.005em;
  text-decoration: none!important;
  margin: 0 0 12px;
}body.hc-page .hc-articles-grid .hfe-post-title a:hover{ color: var(--color-gold); }/* Meta line (date) */
body.hc-page .hc-articles-grid .hfe-post-meta,
body.hc-page .hc-articles-grid .hfe-post-meta-data,
body.hc-page .hc-articles-grid .hfe-post-meta span,
body.hc-page .hc-articles-grid .hfe-post-meta a{
  font-family: var(--font-body);
  font-size: 11px;
  font-weight: 600;
  letter-spacing: .14em;
  text-transform: uppercase;
  color: var(--color-gold);
  margin-bottom: 10px;
}/* Excerpt */
body.hc-page .hc-articles-grid .hfe-post-excerpt,
body.hc-page .hc-articles-grid .hfe-post-excerpt p{
  font-family: var(--font-body);
  font-size: 14px;
  line-height: 1.6;
  color: var(--color-ink-soft);
  margin: 0 0 18px;
}/* Read more link */
body.hc-page .hc-articles-grid .hfe-post-read-more,
body.hc-page .hc-articles-grid .hfe-post-readmore,
body.hc-page .hc-articles-grid .hfe-post-read-more a,
body.hc-page .hc-articles-grid .hfe-post-readmore a{
  font-family: var(--font-body);
  font-size: 12px;
  font-weight: 700;
  letter-spacing: .14em;
  text-transform: uppercase;
  color: var(--color-forest);
  text-decoration: none!important;
  border-bottom: 1.5px solid var(--color-gold)!important;
  padding-bottom: 2px;
  display: inline-block;
}body.hc-page .hc-articles-grid .hfe-post-read-more a:hover,
body.hc-page .hc-articles-grid .hfe-post-readmore a:hover{ color: var(--color-gold); }/* ============================================================
   v3.8 — Elementor Pro Theme Builder header (replaces Astra Custom Layouts)
   Targets Pro's theme-site-logo + nav-menu widget DOM.
   ============================================================ */

/* Pro Theme Builder wraps header in <div data-elementor-type="header"> */
body.hc-page [data-elementor-type="header"]{
  position: sticky;
  top: 0;
  z-index: 99;
  background: rgba(14, 36, 64, 0.96);
  backdrop-filter: saturate(1.4) blur(10px);
  -webkit-backdrop-filter: saturate(1.4) blur(10px);
  border-bottom: 1px solid rgba(176, 133, 69, 0.25);
}body.hc-page .hc-pro-header-layout,
body.hc-page .hc-pro-header-layout.e-con > .e-con-inner{
  max-width: 100%!important;
  padding: 14px 40px;
}body.hc-page .hc-pro-header-layout > .e-con-inner{
  max-width: 1280px!important;
  margin: 0 auto;
  padding: 0;
}body.hc-page .hc-pro-header-row > .e-con-inner{
  display: flex!important;
  flex-direction: row!important;
  align-items: center!important;
  justify-content: space-between!important;
  gap: 40px;
  padding: 0;
  width: 100%!important;
}/* Pro Site Logo widget */
body.hc-page .hc-pro-header-logo img,
body.hc-page .hc-pro-header-logo .elementor-widget-container img{
  max-height: 56px!important;
  width: auto!important;
  background: transparent;
}/* Pro Nav Menu widget — cream uppercase tracked, gold-soft hover */
body.hc-page .hc-pro-header-nav .elementor-nav-menu li.menu-item > a,
body.hc-page .hc-pro-header-nav .elementor-nav-menu a.elementor-item,
body.hc-page .hc-pro-header-nav ul.elementor-nav-menu > li > a{
  font-family: var(--font-body);
  font-size: 11px;
  font-weight: 500;
  letter-spacing: 2.5px;
  text-transform: uppercase;
  color: var(--color-cream);
  padding: 10px 16px;
  transition: color .25s ease!important;
  text-decoration: none!important;
}body.hc-page .hc-pro-header-nav .elementor-nav-menu li:hover > a,
body.hc-page .hc-pro-header-nav .elementor-nav-menu li.current-menu-item > a,
body.hc-page .hc-pro-header-nav .elementor-nav-menu a.elementor-item:hover,
body.hc-page .hc-pro-header-nav .elementor-nav-menu a.elementor-item.elementor-item-active{
  color: var(--color-gold-soft);
}/* Submenu (dropdown) panels */
body.hc-page .hc-pro-header-nav .elementor-nav-menu .sub-menu,
body.hc-page .hc-pro-header-nav ul.sub-menu{
  background: rgba(7, 16, 31, 0.98);
  border: 1px solid rgba(176, 133, 69, 0.18)!important;
  box-shadow: 0 12px 32px rgba(0,0,0,.45)!important;
  border-radius: 0!important;
}body.hc-page .hc-pro-header-nav .sub-menu li > a{
  color: var(--color-cream);
  font-size: 12px;
  letter-spacing: 1.5px;
  text-transform: uppercase;
  font-weight: 500;
  padding: 12px 18px;
  border-bottom: 1px solid rgba(255,255,255,.05)!important;
}
body.hc-page .hc-pro-header-nav .sub-menu li:last-child > a{ border-bottom: 0!important; }body.hc-page .hc-pro-header-nav .sub-menu li:hover > a,
body.hc-page .hc-pro-header-nav .sub-menu li.current-menu-item > a{
  color: var(--color-gold-soft);
  background: rgba(176, 133, 69, 0.08);
}/* Caret/arrow indicator */
body.hc-page .hc-pro-header-nav .sub-arrow,
body.hc-page .hc-pro-header-nav .elementor-nav-menu .sub-arrow i{ color: var(--color-cream); }body.hc-page .hc-pro-header-nav .elementor-nav-menu li:hover > a > .sub-arrow i{ color: var(--color-gold-soft); }/* Mobile menu toggle */
body.hc-page .hc-pro-header-nav .elementor-menu-toggle,
body.hc-page .hc-pro-header-nav .elementor-menu-toggle i{
  color: var(--color-cream);
  background: transparent;
  border: 0!important;
}

/* Hide empty entry-header on inner pages */
body.hc-page header.entry-header.ast-no-title.ast-header-without-markup{ display: none!important; }

/* ============================================================
   v3.9 — "Is This For You?" comparison section
   Two card layout: gold/sage "For You" / muted "Not Right Fit"
   Scannable, brand-cohesive, mobile-stacks at 700px
   ============================================================ */

body.hc-page .hc-section-fit{
  /* lives inside .hc-band-cream — already cream background */
}

/* Both cards — base */
body.hc-page .hc-fit-card{
  background: #fff;
  border-radius: var(--hc-radius);
  border-left: 4px solid var(--color-line);
  box-shadow: 0 4px 24px rgba(13, 27, 53, 0.04);
  transition: transform .3s ease, box-shadow .3s ease;
}
body.hc-page .hc-fit-card:hover{
  transform: translateY(-3px);
  box-shadow: 0 12px 32px rgba(13, 27, 53, 0.08);
}

/* YES card (left) — sage green + gold accents on white */
body.hc-page .hc-fit-card--yes{
  background: #fff;
  border-left-color: var(--color-gold);
}

/* NO card (right) — muted, lower visual weight */
body.hc-page .hc-fit-card--no{
  background: rgba(13, 27, 53, 0.025);
  border-left-color: rgba(13, 27, 53, 0.15);
  box-shadow: none;
}
body.hc-page .hc-fit-card--no:hover{
  box-shadow: 0 6px 20px rgba(13, 27, 53, 0.04);
}/* Eyebrow labels ("For You" / "Not the Right Fit") */
body.hc-page .hc-fit-eyebrow .elementor-heading-title{
  font-family: var(--font-body);
  font-size: 0.75rem;
  font-weight: 700;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  display: inline-flex;
  align-items: center;
}body.hc-page .hc-fit-eyebrow--yes .elementor-heading-title{
  color: #5f7857; /* sage green — the "green" in green/gold */
}body.hc-page .hc-fit-eyebrow--no .elementor-heading-title{
  color: rgba(13, 27, 53, 0.45);
}/* Card H3 titles — "A bespoke book is for you if…" */
body.hc-page .hc-fit-card-h3 .elementor-heading-title{
  font-family: var(--font-display);
  font-size: 1.55rem;
  line-height: 1.22;
  letter-spacing: -.005em;
  color: var(--color-forest);
  font-weight: 500;
  margin: 4px 0 6px;
}
body.hc-page .hc-fit-card-h3 .gold-italic{
  display: block;
  margin-top: 4px;
}body.hc-page .hc-fit-card-h3--no .elementor-heading-title{
  color: rgba(13, 27, 53, 0.55);
}
body.hc-page .hc-fit-card-h3--no .hc-fit-h3-quiet{
  display: block;
  font-style: italic;
  font-weight: 400;
  margin-top: 4px;
  color: rgba(13, 27, 53, 0.45);
}

/* Icon lists — scannable, compact */
body.hc-page .hc-fit-list .elementor-icon-list-items{
  display: flex;
  flex-direction: column;
  gap: 14px;
  padding: 6px 0 0!important;
  margin: 0!important;
}
body.hc-page .hc-fit-list .elementor-icon-list-item{
  align-items: flex-start!important;
  padding: 0!important;
  margin: 0!important;
}
body.hc-page .hc-fit-list .elementor-icon-list-icon{
  font-size: 13px;
  padding-top: 4px;
  margin-right: 12px!important;
  flex-shrink: 0;
}/* YES check icons — sage green */
body.hc-page .hc-fit-list--yes .elementor-icon-list-icon i,
body.hc-page .hc-fit-list--yes .elementor-icon-list-icon svg{
  color: #5f7857;
  fill: #5f7857!important;
}/* NO minus icons — muted gray */
body.hc-page .hc-fit-list--no .elementor-icon-list-icon i,
body.hc-page .hc-fit-list--no .elementor-icon-list-icon svg{
  color: rgba(13, 27, 53, 0.35);
  fill: rgba(13, 27, 53, 0.35)!important;
}/* List text — scannable, comfortable line-height */
body.hc-page .hc-fit-list .elementor-icon-list-text{
  font-family: var(--font-body);
  font-size: 15px;
  line-height: 1.55;
  color: var(--color-ink-soft);
}body.hc-page .hc-fit-list--no .elementor-icon-list-text{
  color: rgba(13, 27, 53, 0.55);
}

/* Mobile — stack the cards full width below 700px */
@media (max-width: 700px){
  body.hc-page .hc-section-fit .e-con-inner > .e-con,
  body.hc-page .hc-fit-card{
    width: 100%!important;
    flex-basis: 100%!important;
  }
  body.hc-page .hc-fit-card{
    padding: 28px 24px!important;
  }
  body.hc-page .hc-fit-card-h3 .elementor-heading-title{
    font-size: 1.35rem;
  }
}

/* ============================================================
   v3.10 — Testimonial Carousel (home section 7)
   Elementor Pro testimonial-carousel widget, brand-styled
   ============================================================ */

/* Container around the carousel */
body.hc-page .hc-testimonial-carousel{
  max-width: 880px;
  margin: 0 auto;
}

/* Each slide — editorial card with subtle border */
body.hc-page .hc-testimonial-carousel .elementor-testimonial-wrapper{
  background: #fffdf8;
  border: 1px solid var(--color-line);
  border-radius: var(--hc-radius);
  padding: 48px 56px 40px;
  box-shadow: 0 8px 32px rgba(13, 27, 53, 0.05);
  position: relative;
}

/* Decorative open-quote ornament — gold serif at top-left */
body.hc-page .hc-testimonial-carousel .elementor-testimonial-wrapper::before{
  content: '\201C';
  position: absolute;
  top: -8px;
  left: 28px;
  font-family: var(--font-display);
  font-size: 96px;
  line-height: 1;
  color: var(--color-gold);
  opacity: 0.95;
}

/* Quote text */
body.hc-page .hc-testimonial-carousel .elementor-testimonial-content{
  font-family: var(--font-display);
  font-style: italic;
  font-size: 1.35rem;
  line-height: 1.5;
  color: var(--color-forest);
  margin-bottom: 28px;
  letter-spacing: -.005em;
  padding-left: 8px;
}

/* Meta row (name + title) */
body.hc-page .hc-testimonial-carousel .elementor-testimonial-meta-inner{
  padding-left: 8px;
}
body.hc-page .hc-testimonial-carousel .elementor-testimonial-name{
  font-family: var(--font-body);
  font-size: 13px;
  font-weight: 700;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--color-forest);
  margin-bottom: 4px;
}
body.hc-page .hc-testimonial-carousel .elementor-testimonial-title{
  font-family: var(--font-display);
  font-style: italic;
  font-size: 15px;
  color: var(--color-gold);
  letter-spacing: 0;
}
body.hc-page .hc-testimonial-carousel .elementor-testimonial-title em{
  font-style: italic;
}

/* Navigation arrows — minimal, gold on hover */
body.hc-page .hc-testimonial-carousel .swiper-button-prev,
body.hc-page .hc-testimonial-carousel .swiper-button-next,
body.hc-page .hc-testimonial-carousel .elementor-swiper-button{
  color: rgba(13, 27, 53, 0.45);
  width: 36px;
  height: 36px;
  transition: color .25s ease, transform .25s ease;
}
body.hc-page .hc-testimonial-carousel .elementor-swiper-button:hover{
  color: var(--color-gold);
  transform: scale(1.1);
}
body.hc-page .hc-testimonial-carousel .elementor-swiper-button svg{
  width: 22px;
  height: 22px;
}

/* Pagination dots — gold accent on active */
body.hc-page .hc-testimonial-carousel .swiper-pagination{
  position: relative;
  margin-top: 24px;
  bottom: auto;
}
body.hc-page .hc-testimonial-carousel .swiper-pagination-bullet{
  width: 8px;
  height: 8px;
  background: rgba(13, 27, 53, 0.2);
  opacity: 1;
  transition: background .25s ease, transform .25s ease;
  margin: 0 4px;
}
body.hc-page .hc-testimonial-carousel .swiper-pagination-bullet-active{
  background: var(--color-gold);
  transform: scale(1.25);
}

/* Mobile — smaller padding + quote size */
@media (max-width: 700px){
  body.hc-page .hc-testimonial-carousel .elementor-testimonial-wrapper{
    padding: 40px 28px 32px;
  }
  body.hc-page .hc-testimonial-carousel .elementor-testimonial-wrapper::before{
    font-size: 72px;
    left: 16px;
  }
  body.hc-page .hc-testimonial-carousel .elementor-testimonial-content{
    font-size: 1.15rem;
  }
  body.hc-page .hc-testimonial-carousel .elementor-swiper-button{
    width: 28px;
    height: 28px;
  }
}

/* ============================================================
   v3.11 — Results page (/results/)
   Featured result cards + typical-outcomes list + hero/CTA
   ============================================================ */

/* === Hero === */
body.hc-page .hc-results-hero{
  position: relative;
}

/* === Featured Result Cards === */
body.hc-page .hc-result-card{
  background: #fffdf8;
  border: 1px solid var(--color-line);
  border-left: 4px solid var(--color-gold);
  border-radius: var(--hc-radius);
  box-shadow: 0 4px 24px rgba(13, 27, 53, 0.05);
  width: 100%;
  max-width: 820px;
  transition: transform .3s ease, box-shadow .3s ease;
}
body.hc-page .hc-result-card:hover{
  transform: translateY(-4px);
  box-shadow: 0 16px 40px rgba(13, 27, 53, 0.10);
}

/* The big stat headline at top of each card */
body.hc-page .hc-result-stat .elementor-heading-title{
  font-family: var(--font-display);
  font-weight: 500;
  font-size: clamp(1.85rem, 3.5vw, 2.5rem);
  line-height: 1.1;
  letter-spacing: -.01em;
  color: var(--color-forest);
  margin: 0 0 4px;
}

/* Client label — small uppercase tracked gold */
body.hc-page .hc-result-client .elementor-heading-title{
  font-family: var(--font-body);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--color-gold);
  margin: 0 0 10px;
}

/* Story paragraph */
body.hc-page .hc-result-story{
  font-family: var(--font-body);
  font-size: 16px;
  line-height: 1.65;
  color: var(--color-ink-soft);
  margin: 0 0 8px;
}
body.hc-page .hc-result-story strong{
  color: var(--color-forest);
  font-weight: 700;
}
body.hc-page .hc-result-story em{
  font-family: var(--font-display);
  font-style: italic;
  color: var(--color-gold);
}

/* Bullet list label ("Key Results", "Results in the First Year") */
body.hc-page .hc-result-bullets-label .elementor-heading-title{
  font-family: var(--font-body);
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: rgba(13, 27, 53, 0.55);
  margin: 14px 0 6px;
}

/* Result-card bullets — tiny gold circle markers */
body.hc-page .hc-result-bullets .elementor-icon-list-items{
  display: flex; flex-direction: column;
  gap: 8px;
  padding: 0; margin: 0;
}
body.hc-page .hc-result-bullets .elementor-icon-list-item{
  align-items: flex-start;
  padding: 0; margin: 0;
}
body.hc-page .hc-result-bullets .elementor-icon-list-icon{
  font-size: 6px;
  padding-top: 9px;
  margin-right: 12px;
  flex-shrink: 0;
}
body.hc-page .hc-result-bullets .elementor-icon-list-icon i,
body.hc-page .hc-result-bullets .elementor-icon-list-icon svg{
  color: var(--color-gold);
  fill: var(--color-gold);
}
body.hc-page .hc-result-bullets .elementor-icon-list-text{
  font-family: var(--font-body);
  font-size: 15px;
  line-height: 1.55;
  color: var(--color-ink-soft);
}

/* === Typical Outcomes list === */
body.hc-page .hc-typical-list .elementor-icon-list-items{
  display: flex; flex-direction: column;
  gap: 18px;
  padding: 0; margin: 0;
  width: 100%;
}
body.hc-page .hc-typical-list .elementor-icon-list-item{
  align-items: flex-start;
  padding: 18px 24px;
  margin: 0;
  background: var(--color-cream);
  border-left: 3px solid var(--color-gold);
  border-radius: 4px;
}
body.hc-page .hc-typical-list .elementor-icon-list-icon{
  font-size: 14px;
  padding-top: 4px;
  margin-right: 14px;
  flex-shrink: 0;
}
body.hc-page .hc-typical-list .elementor-icon-list-icon i,
body.hc-page .hc-typical-list .elementor-icon-list-icon svg{
  color: var(--color-gold);
  fill: var(--color-gold);
}
body.hc-page .hc-typical-list .elementor-icon-list-text{
  font-family: var(--font-body);
  font-size: 16px;
  line-height: 1.55;
  color: var(--color-forest);
}
body.hc-page .hc-typical-list .elementor-icon-list-text strong{
  color: var(--color-forest);
  font-weight: 700;
}

/* === Mobile adjustments === */
@media (max-width: 700px){
  body.hc-page .hc-result-card{
    padding: 32px 24px !important;
  }
  body.hc-page .hc-result-stat .elementor-heading-title{
    font-size: 1.55rem;
  }
  body.hc-page .hc-typical-list .elementor-icon-list-item{
    padding: 16px 18px;
  }
}

/* ============================================================
   v3.12 — Free Book page (/free-book/)
   Clean, focused conversion page: book details + value list + CTA
   ============================================================ */

/* Author byline — small uppercase tracked, sits below the subtitle */
body.hc-page .hc-fb-byline .elementor-heading-title{
  font-family: var(--font-body);
  font-size: 12px;
  font-weight: 500;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: var(--color-gold);
  margin: 8px 0 0;
}

/* "Inside, you'll discover" list */
body.hc-page .hc-fb-list .elementor-icon-list-items{
  display: flex; flex-direction: column;
  gap: 18px;
  padding: 0; margin: 0;
  width: 100%;
}
body.hc-page .hc-fb-list .elementor-icon-list-item{
  align-items: flex-start;
  padding: 18px 24px;
  margin: 0;
  background: var(--color-cream);
  border-left: 3px solid var(--color-gold);
  border-radius: 4px;
}
body.hc-page .hc-fb-list .elementor-icon-list-icon{
  font-size: 14px;
  padding-top: 4px;
  margin-right: 14px;
  flex-shrink: 0;
}
body.hc-page .hc-fb-list .elementor-icon-list-icon i,
body.hc-page .hc-fb-list .elementor-icon-list-icon svg{
  color: var(--color-gold);
  fill: var(--color-gold);
}
body.hc-page .hc-fb-list .elementor-icon-list-text{
  font-family: var(--font-body);
  font-size: 16px;
  line-height: 1.55;
  color: var(--color-forest);
}

/* Pull quote block — the "$1.1 million" story */
body.hc-page .hc-fb-pullquote{
  background: var(--color-cream);
  border-radius: var(--hc-radius);
  border: 1px solid var(--color-line);
  position: relative;
  margin: 0 auto;
}
body.hc-page .hc-fb-pullquote-mark{
  font-family: var(--font-display);
  font-size: 96px;
  line-height: 0.6;
  color: var(--color-gold);
  text-align: center;
  margin: 0 0 8px;
  opacity: 0.95;
}
body.hc-page .hc-fb-pullquote-text{
  font-family: var(--font-display);
  font-style: italic;
  font-size: 1.5rem;
  line-height: 1.4;
  color: var(--color-forest);
  letter-spacing: -.005em;
}
body.hc-page .hc-fb-pullquote-text strong{
  font-style: normal;
  font-weight: 700;
  color: var(--color-gold);
}
body.hc-page .hc-fb-pullquote-attr{
  font-family: var(--font-body);
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--color-gold);
  margin: 8px 0 0;
}

/* Hardcover offer note — small, friendly, under the main CTA */
body.hc-page .hc-fb-hardcover{
  font-family: var(--font-body);
  font-size: 14px;
  line-height: 1.6;
  color: var(--color-ink-soft);
  max-width: 640px;
  margin: 0 auto;
}
body.hc-page .hc-fb-hardcover strong{
  color: var(--color-forest);
  font-weight: 700;
}
body.hc-page .hc-fb-hardcover a{
  color: var(--color-gold);
  text-decoration: none;
  border-bottom: 1.5px solid var(--color-gold-soft);
  transition: color .25s ease, border-color .25s ease;
}
body.hc-page .hc-fb-hardcover a:hover{
  color: var(--color-forest);
  border-bottom-color: var(--color-forest);
}

/* Mobile adjustments */
@media (max-width: 700px){
  body.hc-page .hc-fb-list .elementor-icon-list-item{
    padding: 16px 18px;
  }
  body.hc-page .hc-fb-pullquote{
    padding: 28px 24px !important;
  }
  body.hc-page .hc-fb-pullquote-mark{
    font-size: 72px;
  }
  body.hc-page .hc-fb-pullquote-text{
    font-size: 1.25rem;
  }
}

/* ============================================================
   v3.13 — Free Book hero two-column layout (text left, book mockup right)
   ============================================================ */

/* Two-column row */
body.hc-page .hc-fb-hero .e-con-inner{
  align-items: center;
}

/* Text column — left-aligned, comfortable max-width */
body.hc-page .hc-fb-hero-text{
  text-align: left;
}
body.hc-page .hc-fb-hero-text .hc-eyebrow .elementor-heading-title,
body.hc-page .hc-fb-hero-text .hc-display-mega .elementor-heading-title,
body.hc-page .hc-fb-hero-text .hc-subhead-italic .elementor-heading-title,
body.hc-page .hc-fb-hero-text .hc-fb-byline .elementor-heading-title,
body.hc-page .hc-fb-hero-text .hc-lead{
  text-align: left;
}
body.hc-page .hc-fb-hero-text .hc-display-mega .elementor-heading-title{
  /* Slightly more compact than the centered version since we have a narrower column */
  font-size: clamp(2.25rem, 5vw, 4rem);
}

/* Left-aligned ornament divider variant */
body.hc-page .hc-ornament-left{
  text-align: left;
  justify-content: flex-start;
}
body.hc-page .hc-ornament-left::before,
body.hc-page .hc-ornament-left::after{
  /* Some ornament-divider implementations use ::before/::after rules — */
  /* this just makes sure the centered version doesn't override this variant */
}

/* Book mockup image */
body.hc-page .hc-fb-book-mockup img{
  max-width: 100%;
  height: auto;
  display: block;
  filter: drop-shadow(0 24px 40px rgba(13, 27, 53, 0.20));
  transition: transform .5s ease;
}
body.hc-page .hc-fb-book-mockup:hover img{
  transform: scale(1.04);
}

/* Mobile: stack vertically, image first then text — books-first hierarchy */
@media (max-width: 880px){
  body.hc-page .hc-fb-hero .e-con-inner{
    flex-direction: column-reverse !important;
    gap: 32px !important;
  }
  body.hc-page .hc-fb-hero-text,
  body.hc-page .hc-fb-hero-image{
    width: 100% !important;
    flex-basis: 100% !important;
    padding: 0 !important;
  }
  body.hc-page .hc-fb-hero-text{
    text-align: center;
    align-items: center !important;
  }
  body.hc-page .hc-fb-hero-text .hc-eyebrow .elementor-heading-title,
  body.hc-page .hc-fb-hero-text .hc-display-mega .elementor-heading-title,
  body.hc-page .hc-fb-hero-text .hc-subhead-italic .elementor-heading-title,
  body.hc-page .hc-fb-hero-text .hc-fb-byline .elementor-heading-title,
  body.hc-page .hc-fb-hero-text .hc-lead{
    text-align: center;
  }
  body.hc-page .hc-ornament-left{
    text-align: center;
    justify-content: center;
  }
  body.hc-page .hc-fb-book-mockup img{
    max-width: 320px;
    margin: 0 auto;
  }
}

/* ============================================================
   v3.14 — Force column widths for Free Book hero two-column row
   (the width settings stored in Elementor data weren't translating
   to --width CSS vars, so we set them explicitly here.)
   ============================================================ */

@media (min-width: 881px){
  /* Desktop — side by side */
  body.hc-page .hc-fb-hero-text{
    flex: 0 0 55% !important;
    max-width: 55% !important;
    width: 55% !important;
  }
  body.hc-page .hc-fb-hero-image{
    flex: 0 0 42% !important;
    max-width: 42% !important;
    width: 42% !important;
  }
}

/* On the explicit no-wrap behavior — if the row's children fit, don't wrap. */
body.hc-page .hc-fb-hero > .e-con-inner{
  flex-wrap: wrap;
}

/* ============================================================
   v3.15 — Single Post template (Elementor Pro single-post)
   Applies to all single blog posts site-wide.
   ============================================================ */

/* === Header: category eyebrow === */
.hc-sp-category .elementor-icon-list-text,
.hc-sp-category a{
  font-family: var(--font-body);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  text-decoration: none;
  border: none;
  background: transparent;
  transition: color .25s ease;
}
/* hover color is set via Elementor widget Hover panel */
.hc-sp-category .elementor-icon-list-items{
  justify-content: center;
}

/* === Post title === */
.hc-sp-title .elementor-heading-title{
  font-family: var(--font-display);
  font-weight: 500;
  font-size: clamp(2rem, 5vw, 3.5rem);
  line-height: 1.15;
  letter-spacing: -.01em;
  color: var(--color-forest);
  text-align: center;
  margin: 8px 0 16px;
}

/* === Meta line (date · author) === */
.hc-sp-meta .elementor-icon-list-items{
  justify-content: center;
}
.hc-sp-meta .elementor-icon-list-text,
.hc-sp-meta .elementor-icon-list-item a{
  font-family: var(--font-body);
  font-size: 13px;
  font-weight: 500;
  letter-spacing: 0.05em;
  color: var(--color-ink-soft);
  text-decoration: none;
}
.hc-sp-meta .elementor-icon-list-item a:hover{ color: var(--color-gold); }
.hc-sp-meta .elementor-icon-list-divider{
  color: var(--color-gold-soft);
  font-size: 18px;
  margin: 0 4px;
}

/* === Featured image === */
body.hc-page .hc-sp-featured{
  margin-top: 24px;
}
.hc-sp-featured img{
  height: auto;
  display: block;
  border-radius: var(--hc-radius);
  box-shadow: 0 12px 40px rgba(13, 27, 53, 0.10);
}

/* === Post content body — the reading column === */
body.hc-page .hc-sp-content .elementor-widget-container{
  font-family: var(--font-body);
  font-size: 17px;
  line-height: 1.7;
  color: var(--color-ink);
}
body.hc-page .hc-sp-content p{
  margin: 0 0 1.4em;
  color: var(--color-ink);
}
body.hc-page .hc-sp-content p:first-of-type{
  font-size: 19px;
  line-height: 1.6;
  color: var(--color-forest);
}
body.hc-page .hc-sp-content h2{
  font-family: var(--font-display);
  font-weight: 500;
  font-size: 1.85rem;
  line-height: 1.2;
  letter-spacing: -.005em;
  color: var(--color-forest);
  margin: 2em 0 0.6em;
}
body.hc-page .hc-sp-content h3{
  font-family: var(--font-display);
  font-weight: 500;
  font-size: 1.4rem;
  line-height: 1.25;
  color: var(--color-forest);
  margin: 1.6em 0 0.5em;
}
body.hc-page .hc-sp-content h4{
  font-family: var(--font-body);
  font-weight: 700;
  font-size: 1rem;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--color-gold);
  margin: 1.6em 0 0.4em;
}
body.hc-page .hc-sp-content strong{
  color: var(--color-forest);
  font-weight: 700;
}
body.hc-page .hc-sp-content em{
  font-family: var(--font-display);
  font-style: italic;
  color: var(--color-gold);
}
body.hc-page .hc-sp-content a{
  color: var(--color-gold);
  text-decoration: none;
  border-bottom: 1.5px solid var(--color-gold-soft);
  transition: color .25s ease, border-color .25s ease;
}
body.hc-page .hc-sp-content a:hover{
  color: var(--color-forest);
  border-bottom-color: var(--color-forest);
}
body.hc-page .hc-sp-content ul,
body.hc-page .hc-sp-content ol{
  margin: 0 0 1.4em;
  padding-left: 1.4em;
}
body.hc-page .hc-sp-content li{
  margin: 0 0 0.6em;
  line-height: 1.65;
}
body.hc-page .hc-sp-content ul li::marker{
  color: var(--color-gold);
}
body.hc-page .hc-sp-content ol li::marker{
  color: var(--color-gold);
  font-weight: 700;
}
body.hc-page .hc-sp-content blockquote{
  font-family: var(--font-display);
  font-style: italic;
  font-size: 1.4rem;
  line-height: 1.45;
  color: var(--color-forest);
  border-left: 3px solid var(--color-gold);
  padding: 8px 0 8px 28px;
  margin: 1.8em 0;
}
body.hc-page .hc-sp-content img{
  max-width: 100%;
  height: auto;
  border-radius: var(--hc-radius);
  margin: 1.4em 0;
}
body.hc-page .hc-sp-content hr{
  border: 0;
  border-top: 1px solid var(--color-line);
  margin: 2em auto;
  width: 60%;
}

/* === Divider before author box === */
body.hc-page .hc-sp-hr{
  border: 0;
  border-top: 1px solid var(--color-line);
  width: 80px;
  margin: 0 auto;
}

/* === Author Box === */
body.hc-page .hc-sp-author .elementor-author-box{
  display: flex;
  gap: 24px;
  align-items: flex-start;
  background: #fff;
  padding: 32px;
  border-radius: var(--hc-radius);
  border: 1px solid var(--color-line);
  border-left: 4px solid var(--color-gold);
}
body.hc-page .hc-sp-author .elementor-author-box__avatar{
  flex-shrink: 0;
}
body.hc-page .hc-sp-author .elementor-author-box__avatar img{
  border-radius: 50%;
  width: 96px;
  height: 96px;
  object-fit: cover;
}
body.hc-page .hc-sp-author .elementor-author-box__text{
  flex: 1;
}
body.hc-page .hc-sp-author .elementor-author-box__name,
body.hc-page .hc-sp-author h3.elementor-author-box__name{
  font-family: var(--font-display);
  font-size: 1.4rem;
  font-weight: 500;
  color: var(--color-forest);
  margin: 0 0 8px;
}
body.hc-page .hc-sp-author .elementor-author-box__bio{
  font-family: var(--font-body);
  font-size: 15px;
  line-height: 1.6;
  color: var(--color-ink-soft);
  margin: 0 0 12px;
}
body.hc-page .hc-sp-author .elementor-author-box__button{
  font-family: var(--font-body);
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--color-gold);
  text-decoration: none;
  border-bottom: 1.5px solid var(--color-gold);
  padding-bottom: 2px;
}
body.hc-page .hc-sp-author .elementor-author-box__button:hover{
  color: var(--color-forest);
}

/* === CTA title === */
body.hc-page .hc-sp-cta-title .elementor-heading-title{
  font-family: var(--font-display);
  font-weight: 500;
  font-size: clamp(1.5rem, 3vw, 2rem);
  line-height: 1.25;
  color: var(--color-forest);
  margin: 0;
}

/* === Post Navigation (prev/next links at bottom) === */
body.hc-page .hc-sp-nav .elementor-post-navigation{
  display: flex;
  justify-content: space-between;
  gap: 24px;
  padding: 32px 0;
  border-top: 1px solid var(--color-line);
}
body.hc-page .hc-sp-nav .elementor-post-navigation__link__prev,
body.hc-page .hc-sp-nav .elementor-post-navigation__link__next{
  flex: 1;
  text-decoration: none;
  color: var(--color-ink-soft);
  transition: color .25s ease;
}
body.hc-page .hc-sp-nav .elementor-post-navigation__link__next{ text-align: right; }
body.hc-page .hc-sp-nav .elementor-post-navigation__link:hover{
  color: var(--color-gold);
}
body.hc-page .hc-sp-nav .elementor-post-navigation__prev--label,
body.hc-page .hc-sp-nav .elementor-post-navigation__next--label{
  font-family: var(--font-body);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--color-gold);
  display: block;
  margin-bottom: 6px;
}
body.hc-page .hc-sp-nav .elementor-post-navigation__prev--title,
body.hc-page .hc-sp-nav .elementor-post-navigation__next--title{
  font-family: var(--font-display);
  font-size: 1.05rem;
  line-height: 1.3;
  color: var(--color-forest);
}

/* === Mobile adjustments === */
@media (max-width: 700px){
  body.hc-page .hc-sp-author .elementor-author-box{
    flex-direction: column;
    align-items: flex-start;
    padding: 24px;
  }
  body.hc-page .hc-sp-author .elementor-author-box__avatar img{
    width: 72px; height: 72px;
  }
  body.hc-page .hc-sp-content .elementor-widget-container{
    font-size: 16px;
  }
  body.hc-page .hc-sp-nav .elementor-post-navigation{
    flex-direction: column;
  }
  body.hc-page .hc-sp-nav .elementor-post-navigation__link__next{ text-align: left; }
}

/* ============================================================
   v3.17 — Active category chip state
   Set via inline JS detector inside the chips container that matches
   the current pathname against each chip's href and adds .is-active.
   ============================================================ */

body.hc-page .hc-cat-chip.is-active a.elementor-button-link{
  border-color: var(--color-gold) !important;
  border-width: 2px !important;
  color: var(--color-forest);
  font-weight: 700;
  background: rgba(176, 133, 69, 0.06);
  padding: 9px 19px; /* compensate ±0.5px so the 2px border doesn't shift layout */
}

body.hc-page .hc-cat-chip.is-active a.elementor-button-link:hover{
  background: var(--color-forest);
  border-color: var(--color-forest) !important;
  color: var(--color-cream);
}

/* ============================================================
   v3.18 — About page: Honorée's books list (native widgets)
   Structure: .hc-book-item (row) > .hc-book-num + .hc-book-text (col)
   Colors are set as Elementor widget settings; CSS here is structural
   (layout, borders, sizes, fonts) so the widgets stay fully editable.
   ============================================================ */

/* Row: divider line between items */
.hc-book-item{
  padding: 18px 0 !important;
  border-bottom: 1px solid rgba(176, 133, 69, 0.18);
  align-items: flex-start;
}
.hc-book-item:last-child{
  border-bottom: none;
}

/* Roman numeral badge */
.hc-book-num{
  flex-shrink: 0;
}
.hc-book-num .elementor-heading-title{
  display: flex;
  align-items: center;
  justify-content: center;
  width: 36px;
  height: 36px;
  border: 1.5px solid #b08545;
  font-family: var(--font-display);
  font-style: italic;
  font-size: 1rem;
  line-height: 1;
}

/* Text column grows */
.hc-book-text{
  flex: 1;
}

/* Question eyebrow */
.hc-book-q .elementor-heading-title{
  font-family: var(--font-body);
  font-size: .75rem;
  font-weight: 600;
  letter-spacing: .18em;
  text-transform: uppercase;
  line-height: 1.3;
}

/* Book title — serif italic */
.hc-book-title .elementor-heading-title{
  font-family: var(--font-display);
  font-size: 1.4rem;
  font-weight: 400;
  line-height: 1.3;
}
.hc-book-title .elementor-heading-title em{
  font-style: italic;
}

/* CTA line (free copy link) */
.hc-book-cta{
  font-size: .85rem;
  color: var(--color-ink-soft);
}
.hc-book-cta a{
  color: #b08545;
  font-weight: 600;
  text-decoration: underline;
}
.hc-book-cta a:hover{
  color: var(--color-forest);
}
.hc-book-cta p{
  margin: 0;
}

/* ============================================================
   v3.19 — Clickable book titles in testimonial carousels
   ============================================================ */
.hc-testimonial-carousel .elementor-testimonial__title a{
  color: inherit;
  text-decoration: none;
  border-bottom: 1px solid rgba(176, 133, 69, 0.45);
  transition: color .25s ease, border-color .25s ease;
}
.hc-testimonial-carousel .elementor-testimonial__title a:hover{
  color: var(--color-forest);
  border-bottom-color: var(--color-forest);
}

/* ============================================================
   v3.20 — Resources page
   ============================================================ */

/* Hero */
.hc-res-title .elementor-heading-title{
  font-family: var(--font-display);
  font-weight: 500;
  font-size: clamp(2.4rem, 6vw, 4rem);
  line-height: 1.1;
  letter-spacing: -.01em;
  color: var(--color-forest);
}
.hc-res-intro{
  font-family: var(--font-display);
  font-style: italic;
  font-size: 1.15rem;
  line-height: 1.55;
  color: var(--color-ink-soft);
  max-width: 560px;
}

/* Resource cards — 2-col grid */
.hc-res-card{
  background: #fff;
  border: 1px solid var(--color-line);
  border-top: 3px solid var(--color-gold);
  border-radius: var(--hc-radius);
  box-shadow: 0 8px 30px rgba(13, 27, 53, 0.05);
  width: calc(50% - 14px);
  transition: box-shadow .3s ease, transform .3s ease;
}
.hc-res-card:hover{
  box-shadow: 0 14px 40px rgba(13, 27, 53, 0.09);
  transform: translateY(-2px);
}
@media (max-width: 880px){
  .hc-res-card{ width: 100%; }
}

.hc-res-card-title .elementor-heading-title{
  font-family: var(--font-display);
  font-weight: 500;
  font-size: 1.45rem;
  line-height: 1.25;
  color: var(--color-forest);
  padding-bottom: 10px;
  border-bottom: 1px solid rgba(176, 133, 69, 0.18);
}

.hc-res-list{
  font-family: var(--font-body);
  font-size: 15px;
  line-height: 1.6;
  color: var(--color-ink-soft);
}
.hc-res-list p{
  margin: 0 0 12px;
}
.hc-res-list p:last-child{ margin-bottom: 0; }
.hc-res-list a{
  color: var(--color-gold);
  font-weight: 600;
  text-decoration: none;
  border-bottom: 1px solid rgba(176, 133, 69, 0.4);
  transition: color .25s ease, border-color .25s ease;
}
.hc-res-list a:hover{
  color: var(--color-forest);
  border-bottom-color: var(--color-forest);
}
.hc-res-list strong{ color: var(--color-forest); }

/* CTA */
.hc-res-cta-title .elementor-heading-title{
  font-family: var(--font-display);
  font-weight: 500;
  font-size: clamp(1.6rem, 3.5vw, 2.4rem);
  line-height: 1.2;
  color: var(--color-forest);
}
.hc-res-cta-sub{
  font-family: var(--font-display);
  font-style: italic;
  font-size: 1.05rem;
  line-height: 1.55;
  color: var(--color-ink-soft);
}

/* My Story */
.hc-res-story-text{ flex: 1 1 520px; }
.hc-res-story-image{ flex: 0 1 340px; }
.hc-res-story-title .elementor-heading-title{
  font-family: var(--font-display);
  font-weight: 500;
  font-size: clamp(1.6rem, 3vw, 2.2rem);
  line-height: 1.2;
  color: var(--color-forest);
}
.hc-res-story-bio{
  font-family: var(--font-body);
  font-size: 16px;
  line-height: 1.7;
  color: var(--color-ink);
}
.hc-res-story-quote{
  font-family: var(--font-display);
  font-style: italic;
  font-size: 1.05rem;
  line-height: 1.55;
  color: var(--color-ink-soft);
  border-left: 3px solid var(--color-gold);
  padding-left: 20px;
}
.hc-res-story-quote a{
  color: var(--color-gold);
  text-decoration: none;
  border-bottom: 1px solid rgba(176, 133, 69, 0.4);
}
.hc-res-story-quote a:hover{ color: var(--color-forest); }
.hc-res-headshot img{
  width: 100%;
  max-width: 340px;
  height: auto;
  border-radius: var(--hc-radius);
  box-shadow: 0 12px 40px rgba(13, 27, 53, 0.12);
}

/* ============================================================
   v3.21 — Media page
   ============================================================ */

/* Hero */
.hc-media-title .elementor-heading-title{
  font-family: var(--font-display);
  font-weight: 500;
  font-size: clamp(2.4rem, 6vw, 4rem);
  line-height: 1.1;
  letter-spacing: -.01em;
  color: var(--color-forest);
}
.hc-media-intro{
  font-family: var(--font-display);
  font-style: italic;
  font-size: 1.15rem;
  line-height: 1.55;
  color: var(--color-ink-soft);
  max-width: 560px;
}

/* Trailer feature band (on forest) */
.hc-eyebrow-oncolor .elementor-heading-title{
  color: var(--color-gold-soft) !important;
}
.hc-media-feature-title .elementor-heading-title{
  font-family: var(--font-display);
  font-weight: 500;
  font-size: clamp(1.8rem, 4vw, 2.8rem);
  line-height: 1.15;
  color: var(--color-cream);
}
.hc-ornament-oncolor span{ color: var(--color-gold-soft); }
.hc-media-trailer{
  width: 100%;
}
.hc-media-trailer .elementor-video,
.hc-media-trailer video{
  border-radius: var(--hc-radius);
  box-shadow: 0 20px 60px rgba(0, 0, 0, 0.35);
  overflow: hidden;
}

/* Video grid */
.hc-media-section-title .elementor-heading-title{
  font-family: var(--font-display);
  font-weight: 500;
  font-size: clamp(1.6rem, 3.5vw, 2.4rem);
  line-height: 1.2;
  color: var(--color-forest);
}
.hc-media-video-card{
  width: calc(50% - 14px);
}
@media (max-width: 880px){
  .hc-media-video-card{ width: 100%; }
}
.hc-media-video .elementor-video,
.hc-media-video iframe{
  border-radius: var(--hc-radius);
  box-shadow: 0 10px 34px rgba(13, 27, 53, 0.10);
  overflow: hidden;
}
.hc-media-bizable{
  font-family: var(--font-body);
  font-size: 15px;
  color: var(--color-ink-soft);
}
.hc-media-bizable strong{ color: var(--color-forest); letter-spacing: .06em; }
.hc-media-bizable a{
  color: var(--color-gold);
  font-weight: 600;
  text-decoration: none;
  border-bottom: 1px solid rgba(176, 133, 69, 0.4);
}
.hc-media-bizable a:hover{ color: var(--color-forest); border-bottom-color: var(--color-forest); }

/* Podcast / radio / press list */
.hc-media-list{
  font-family: var(--font-body);
  font-size: 15.5px;
  line-height: 1.6;
  color: var(--color-ink-soft);
  width: 100%;
}
.hc-media-list p{
  margin: 0;
  padding: 16px 0;
  border-bottom: 1px solid rgba(176, 133, 69, 0.16);
}
.hc-media-list p:last-child{ border-bottom: none; }
.hc-media-show{
  display: block;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--color-gold);
  margin-bottom: 4px;
}
.hc-media-list a{
  font-family: var(--font-display);
  font-size: 1.15rem;
  line-height: 1.35;
  color: var(--color-forest);
  text-decoration: none;
  border-bottom: 1px solid transparent;
  transition: color .25s ease, border-color .25s ease;
}
.hc-media-list a:hover{
  color: var(--color-gold);
  border-bottom-color: var(--color-gold-soft);
}

/* CTA */
.hc-media-cta-title .elementor-heading-title{
  font-family: var(--font-display);
  font-weight: 500;
  font-size: clamp(1.6rem, 3.5vw, 2.4rem);
  line-height: 1.2;
  color: var(--color-forest);
}
.hc-media-cta-sub{
  font-family: var(--font-display);
  font-style: italic;
  font-size: 1.05rem;
  line-height: 1.55;
  color: var(--color-ink-soft);
}

/* ============================================================
   v3.22 — Courses page
   ============================================================ */

/* Hero */
.hc-courses-title .elementor-heading-title{
  font-family: var(--font-display);
  font-weight: 500;
  font-size: clamp(2.4rem, 6vw, 4rem);
  line-height: 1.1;
  letter-spacing: -.01em;
  color: var(--color-forest);
}
.hc-courses-intro{
  font-family: var(--font-display);
  font-style: italic;
  font-size: 1.15rem;
  line-height: 1.55;
  color: var(--color-ink-soft);
  max-width: 620px;
}

/* Section titles */
.hc-courses-section-title .elementor-heading-title{
  font-family: var(--font-display);
  font-weight: 500;
  font-size: clamp(1.6rem, 3.5vw, 2.4rem);
  line-height: 1.2;
  color: var(--color-forest);
}

/* Course cards */
.hc-course-card{
  background: #fff;
  border: 1px solid var(--color-line);
  border-top: 3px solid var(--color-gold);
  border-radius: var(--hc-radius);
  box-shadow: 0 8px 30px rgba(13, 27, 53, 0.05);
  width: calc(50% - 14px);
  text-align: center;
  transition: box-shadow .3s ease, transform .3s ease;
}
.hc-course-card:hover{
  box-shadow: 0 14px 40px rgba(13, 27, 53, 0.09);
  transform: translateY(-2px);
}
.hc-course-card-3col{
  width: calc(33.333% - 19px);
}
@media (max-width: 1024px){
  .hc-course-card-3col{ width: calc(50% - 14px); }
}
@media (max-width: 880px){
  .hc-course-card, .hc-course-card-3col{ width: 100%; }
}

.hc-course-logo img{
  max-width: 180px;
  height: auto;
  border-radius: 8px;
}

.hc-course-title .elementor-heading-title{
  font-family: var(--font-display);
  font-weight: 500;
  font-size: 1.4rem;
  line-height: 1.25;
  color: var(--color-forest);
}

.hc-course-desc{
  font-family: var(--font-body);
  font-size: 15px;
  line-height: 1.6;
  color: var(--color-ink-soft);
}
.hc-course-desc p{ margin: 0; }
.hc-course-desc em{ font-style: italic; }
.hc-course-desc a{
  color: var(--color-gold);
  font-weight: 600;
  text-decoration: none;
  border-bottom: 1px solid rgba(176, 133, 69, 0.4);
}
.hc-course-desc a:hover{ color: var(--color-forest); border-bottom-color: var(--color-forest); }

/* Mastermind feature rows */
.hc-mm-row{ align-items: center; }
.hc-mm-image{ flex: 0 1 320px; }
.hc-mm-text{ flex: 1 1 480px; }
.hc-mm-row-reverse{ flex-direction: row-reverse; }
@media (max-width: 880px){
  .hc-mm-row, .hc-mm-row-reverse{ flex-direction: column; }
}
.hc-mm-logo img{
  width: 100%;
  max-width: 320px;
  height: auto;
  border-radius: var(--hc-radius);
  box-shadow: 0 12px 40px rgba(13, 27, 53, 0.10);
}
.hc-mm-title .elementor-heading-title{
  font-family: var(--font-display);
  font-weight: 500;
  font-size: clamp(1.4rem, 2.8vw, 1.9rem);
  line-height: 1.25;
  color: var(--color-forest);
}
.hc-mm-desc{
  font-family: var(--font-body);
  font-size: 16px;
  line-height: 1.65;
  color: var(--color-ink-soft);
}
.hc-mm-desc a{
  color: var(--color-gold);
  font-weight: 600;
  text-decoration: none;
  border-bottom: 1px solid rgba(176, 133, 69, 0.4);
}
.hc-mm-desc a:hover{ color: var(--color-forest); border-bottom-color: var(--color-forest); }

/* CTA */
.hc-courses-cta-title .elementor-heading-title{
  font-family: var(--font-display);
  font-weight: 500;
  font-size: clamp(1.6rem, 3.5vw, 2.4rem);
  line-height: 1.2;
  color: var(--color-forest);
}

/* ============================================================
   v3.23 — Events page
   ============================================================ */

.hc-events-title .elementor-heading-title{
  font-family: var(--font-display);
  font-weight: 500;
  font-size: clamp(2.4rem, 6vw, 4rem);
  line-height: 1.1;
  letter-spacing: -.01em;
  color: var(--color-forest);
}
.hc-events-intro{
  font-family: var(--font-display);
  font-style: italic;
  font-size: 1.15rem;
  line-height: 1.55;
  color: var(--color-ink-soft);
}
.hc-events-section-title .elementor-heading-title,
.hc-events-cta-title .elementor-heading-title{
  font-family: var(--font-display);
  font-weight: 500;
  font-size: clamp(1.6rem, 3.5vw, 2.4rem);
  line-height: 1.2;
  color: var(--color-forest);
}

/* Event card */
.hc-events-list{ width: 100%; }
.hc-event-card{
  background: #fff;
  border: 1px solid var(--color-line);
  border-left: 4px solid var(--color-gold);
  border-radius: var(--hc-radius);
  box-shadow: 0 8px 30px rgba(13, 27, 53, 0.05);
  align-items: flex-start;
  transition: box-shadow .3s ease, transform .3s ease;
}
.hc-event-card:hover{
  box-shadow: 0 14px 40px rgba(13, 27, 53, 0.09);
  transform: translateY(-2px);
}

/* Date tile */
.hc-event-date{
  flex: 0 0 92px;
  border: 1.5px solid var(--color-gold);
  border-radius: 8px;
  padding: 12px 8px !important;
  background: rgba(176, 133, 69, 0.04);
}
.hc-event-month .elementor-heading-title{
  font-family: var(--font-body);
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.22em;
  line-height: 1;
}
.hc-event-day .elementor-heading-title{
  font-family: var(--font-display);
  font-size: 2.4rem;
  font-weight: 500;
  line-height: 1.1;
}
.hc-event-year .elementor-heading-title{
  font-family: var(--font-body);
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.14em;
  line-height: 1;
}

/* Details */
.hc-event-details{ flex: 1; }
.hc-event-type .elementor-heading-title{
  font-family: var(--font-body);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.18em;
  text-transform: uppercase;
}
.hc-event-title .elementor-heading-title{
  font-family: var(--font-display);
  font-weight: 500;
  font-size: 1.5rem;
  line-height: 1.25;
}
.hc-event-meta{
  font-family: var(--font-body);
  font-size: 13.5px;
  font-weight: 600;
  letter-spacing: 0.04em;
  color: var(--color-ink-soft);
}
.hc-event-meta p{ margin: 0; }
.hc-event-desc{
  font-family: var(--font-body);
  font-size: 15px;
  line-height: 1.6;
  color: var(--color-ink-soft);
}
.hc-event-desc p{ margin: 0; }

.hc-events-cta-sub{
  font-family: var(--font-display);
  font-style: italic;
  font-size: 1.05rem;
  line-height: 1.55;
  color: var(--color-ink-soft);
}

@media (max-width: 640px){
  .hc-event-card{ flex-direction: column; }
  .hc-event-date{ flex: 0 0 auto; width: 92px; }
}