
/*
 * Long Holistic Life — unified site brand layer
 * Palette and typography follow the feminine LHL brand guide.
 * Loaded after page-specific styles so the brand system stays consistent.
 */
:root{
  --lhl-rose:#B76E79;
  --lhl-blush:#E8C7C8;
  --lhl-sage:#98A993;
  --lhl-light-sage:#E2E9DF;
  --lhl-cream:#F7F4EE;
  --lhl-gold:#C79B4A;
  --lhl-bronze:#E6D6B2;
  --lhl-stone:#CDBDAF;
  --lhl-light-stone:#EEE7DF;
  --lhl-green:#33483B;
  --lhl-ink:#26342C;
  --lhl-white:#FFFFFF;
  --lhl-max:1120px;
}

/* Typography */
html{scroll-behavior:smooth}
body,
body.seo-page,
.welcome-page{
  color:var(--lhl-ink);
  font-family:"Montserrat",Arial,sans-serif!important;
}
h1,h2,h3,h4,
.seo-page h1,.seo-page h2,.seo-page h3,
.welcome-page h1,.welcome-page h2,.welcome-page h3,
.hero h1,.final-cta h2,.section-heading h2,
.brand strong,.seo-brand strong,.welcome-brand strong{
  font-family:"Playfair Display",Georgia,"Times New Roman",serif!important;
}
p,li,a,button,small,summary,label,input,textarea,select{
  font-family:"Montserrat",Arial,sans-serif;
}
body.seo-page{background:var(--lhl-cream)}
.seo-eyebrow,.welcome-eyebrow,.eyebrow{
  font-family:"Montserrat",Arial,sans-serif!important;
  color:#9b4353!important;
  font-weight:800!important;
  letter-spacing:.15em!important;
}

/* Unified header — same on every HTML page */
.lhl-site-header{
  position:relative!important;
  top:auto!important;
  z-index:100;
  width:100%;
  background:rgba(247,244,238,.98)!important;
  border-bottom:1px solid rgba(51,72,59,.11)!important;
  box-shadow:none!important;
  backdrop-filter:none!important;
}
.lhl-header-inner{
  width:min(var(--lhl-max),calc(100% - 40px));
  min-height:92px;
  margin:auto;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:24px;
}
.lhl-header-brand{
  display:flex;
  align-items:center;
  gap:13px;
  min-width:max-content;
  color:var(--lhl-green)!important;
  text-decoration:none!important;
}
.lhl-header-brand img{
  width:58px;
  height:58px;
  object-fit:contain;
}
.lhl-header-brand span{display:flex;flex-direction:column;line-height:1.1}
.lhl-header-brand strong{
  color:var(--lhl-green)!important;
  font-family:"Playfair Display",Georgia,serif!important;
  font-size:1.12rem;
  font-weight:600;
}
.lhl-header-brand small{
  margin-top:5px;
  color:#4e5f54!important;
  font-size:.66rem;
  font-weight:600;
}
.lhl-header-nav{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:18px;
}
.lhl-header-nav a{
  color:var(--lhl-green)!important;
  text-decoration:none!important;
  font-size:.72rem;
  font-weight:700;
  white-space:nowrap;
}
.lhl-header-nav a:hover{color:#8f4452!important}
.lhl-header-nav .lhl-header-workshop{
  color:#8f4452!important;
}
.lhl-header-nav .lhl-header-cta{
  min-height:42px;
  padding:12px 18px;
  border:1px solid var(--lhl-rose);
  border-radius:5px;
  color:#9b4353!important;
  font-size:.69rem;
  font-weight:800;
  letter-spacing:.045em;
  text-transform:uppercase;
  transition:background .18s ease,color .18s ease;
}
.lhl-header-nav .lhl-header-cta:hover{
  background:var(--lhl-rose);
  color:#fff!important;
}

/* Keep the current home announcement bar in its established style */
.announcement{
  font-family:"Montserrat",Arial,sans-serif!important;
  background:var(--lhl-green)!important;
  color:#fff!important;
}
.announcement-dot{background:var(--lhl-gold)!important}

/* Unified footer — premium, simple, and consistent sitewide */
.lhl-site-footer{
  margin:0!important;
  padding:0!important;
  background:
    radial-gradient(circle at 50% 0%,rgba(226,233,223,.55),transparent 34%),
    var(--lhl-cream)!important;
  color:var(--lhl-green)!important;
  border-top:1px solid rgba(51,72,59,.1)!important;
}
.lhl-footer-main{
  width:min(var(--lhl-max),calc(100% - 40px));
  margin:auto;
  padding:34px 0 32px;
}
.lhl-footer-nav{
  display:flex;
  align-items:center;
  justify-content:center;
  flex-wrap:wrap;
  gap:10px 28px;
  margin:0!important;
  padding:0 0 25px;
  border-bottom:1px solid rgba(51,72,59,.1);
}
.lhl-footer-nav a{
  color:var(--lhl-green)!important;
  font-family:"Montserrat",Arial,sans-serif!important;
  font-size:.69rem!important;
  font-weight:700!important;
  letter-spacing:.035em;
  text-decoration:none!important;
}
.lhl-footer-nav a:hover{color:#9b4353!important}
.lhl-footer-brand-block{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:16px;
  margin:28px auto 0;
  text-align:left;
}
.lhl-footer-logo{
  display:block;
  flex:0 0 auto;
  text-decoration:none!important;
}
.lhl-footer-logo img{
  display:block;
  width:68px;
  height:68px;
  object-fit:contain;
}
.lhl-footer-brand-copy{
  display:flex;
  flex-direction:column;
  gap:5px;
  max-width:510px;
  color:var(--lhl-green)!important;
  text-decoration:none!important;
}
.lhl-footer-brand-copy strong{
  color:var(--lhl-green)!important;
  font-family:"Playfair Display",Georgia,serif!important;
  font-size:1.18rem!important;
  font-weight:600!important;
  line-height:1.2;
}
.lhl-footer-brand-copy span{
  color:#526158!important;
  font-family:"Montserrat",Arial,sans-serif!important;
  font-size:.74rem!important;
  line-height:1.55;
}
.lhl-footer-contact{
  display:flex;
  align-items:center;
  justify-content:center;
  flex-wrap:wrap;
  gap:12px 18px;
  margin-top:23px;
}
.lhl-footer-email{
  color:#8f4452!important;
  font-family:"Montserrat",Arial,sans-serif!important;
  font-size:.73rem!important;
  font-weight:700!important;
  text-decoration:none!important;
}
.lhl-footer-email:hover{text-decoration:underline!important}
.lhl-footer-book{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:40px;
  padding:10px 20px;
  border-radius:5px;
  background:var(--lhl-rose)!important;
  color:#fff!important;
  box-shadow:0 8px 22px rgba(143,68,82,.13);
  font-family:"Montserrat",Arial,sans-serif!important;
  font-size:.69rem!important;
  font-weight:800!important;
  letter-spacing:.045em;
  text-decoration:none!important;
  text-transform:uppercase;
  transition:transform .18s ease,box-shadow .18s ease,background .18s ease;
}
.lhl-footer-book:hover{
  background:#9b4353!important;
  box-shadow:0 10px 26px rgba(143,68,82,.18);
  transform:translateY(-1px);
}
.lhl-footer-credit{
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:5px;
  padding:15px 20px 24px;
  border-top:1px solid rgba(51,72,59,.1);
  text-align:center;
  background:rgba(255,255,255,.18);
  font-family:"Montserrat",Arial,sans-serif!important;
  font-size:.65rem!important;
  color:#6a756e!important;
}
.lhl-footer-credit a{
  color:var(--lhl-green)!important;
  font-weight:600!important;
  text-decoration:none!important;
}
.lhl-footer-credit a:hover{color:#9b4353!important}

/* Welcome page booking CTA — premium and intentionally simple */
.welcome-page .consultation-actions{
  display:flex!important;
  flex-direction:column!important;
  align-items:center!important;
  justify-content:center!important;
  width:min(100%,460px)!important;
  margin:auto!important;
  padding:38px 34px!important;
  border:1px solid rgba(199,155,74,.32)!important;
  border-radius:14px!important;
  background:
    linear-gradient(145deg,rgba(255,255,255,.96),rgba(247,244,238,.9))!important;
  box-shadow:
    0 18px 46px rgba(51,72,59,.10),
    inset 0 1px 0 rgba(255,255,255,.9)!important;
}
.welcome-page .lhl-welcome-book-call{
  width:min(100%,320px)!important;
  min-height:56px!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:12px!important;
  padding:15px 28px!important;
  border:1px solid rgba(230,214,178,.72)!important;
  border-radius:999px!important;
  background:linear-gradient(135deg,var(--lhl-rose),#9b4353)!important;
  color:#fff!important;
  box-shadow:
    0 14px 30px rgba(143,68,82,.22),
    inset 0 1px 0 rgba(255,255,255,.22)!important;
  font-family:"Montserrat",Arial,sans-serif!important;
  font-size:.76rem!important;
  font-weight:800!important;
  letter-spacing:.07em!important;
  line-height:1!important;
  text-align:center!important;
  text-decoration:none!important;
  text-transform:uppercase!important;
  transition:transform .18s ease,box-shadow .18s ease,filter .18s ease!important;
}
.welcome-page .lhl-welcome-book-call span{
  color:#fff!important;
}
.welcome-page .lhl-welcome-book-call:hover{
  filter:brightness(.97);
  box-shadow:
    0 18px 38px rgba(143,68,82,.28),
    inset 0 1px 0 rgba(255,255,255,.22)!important;
  transform:translateY(-2px);
}
.welcome-page .lhl-booking-note{
  margin:14px 0 0!important;
  color:#526158!important;
  font-family:"Montserrat",Arial,sans-serif!important;
  font-size:.69rem!important;
  font-weight:600!important;
  text-align:center!important;
}
.welcome-page .consultation-actions .contact-microcopy{
  margin:9px 0 0!important;
  color:#65726a!important;
  font-size:.62rem!important;
  text-align:center!important;
}

/* Consistent LHL page styling */
body.seo-page .seo-hero,
body.seo-page .seo-section{
  color:var(--lhl-ink);
}
body.seo-page .seo-hero h1,
body.seo-page .seo-section h2,
body.seo-page .seo-section h3{
  color:var(--lhl-green)!important;
}
body.seo-page .seo-hero{
  background:
    radial-gradient(circle at 88% 12%,rgba(232,199,200,.55),transparent 32%),
    radial-gradient(circle at 8% 88%,rgba(226,233,223,.82),transparent 34%),
    var(--lhl-cream)!important;
}
body.seo-page .seo-button{
  border-radius:5px!important;
  font-family:"Montserrat",Arial,sans-serif!important;
  font-size:.75rem!important;
  font-weight:800!important;
  letter-spacing:.045em;
  text-transform:uppercase;
}
body.seo-page .seo-button-primary{
  background:var(--lhl-rose)!important;
  color:#fff!important;
}
body.seo-page .seo-button-secondary{
  background:#fff!important;
  border-color:rgba(183,110,121,.45)!important;
  color:#8f4452!important;
}
body.seo-page .seo-card{
  border-radius:10px!important;
  border-color:rgba(51,72,59,.1)!important;
}
body.seo-page .seo-cta-band{
  background:var(--lhl-green)!important;
}
body.seo-page .seo-cta-band .seo-button-primary{
  background:var(--lhl-rose)!important;
  color:#fff!important;
}

/* Welcome page: preserve functionality while unifying the brand */
.welcome-page{
  --deep-rose:var(--lhl-rose)!important;
  --cream:var(--lhl-cream)!important;
  --deep-green:var(--lhl-green)!important;
}
.welcome-page .welcome-hero h1,
.welcome-page .welcome-section-heading h2,
.welcome-page .guided-heading h2,
.welcome-page .consultation-copy h2,
.welcome-page .welcome-final-cta h2{
  color:var(--lhl-green)!important;
  font-family:"Playfair Display",Georgia,serif!important;
}
.welcome-page .welcome-primary-cta,
.welcome-page .guide-start-link{
  border-radius:5px!important;
  font-family:"Montserrat",Arial,sans-serif!important;
}
.welcome-page .welcome-primary-cta{
  background:var(--lhl-rose)!important;
  color:#fff!important;
}

@media(max-width:980px){
  .lhl-header-inner{align-items:flex-start;padding:15px 0;flex-wrap:wrap}
  .lhl-header-nav{width:100%;justify-content:flex-start;gap:14px 19px;padding-left:71px}
}
@media(max-width:700px){
  .lhl-header-inner{width:calc(100% - 28px);gap:12px}
  .lhl-header-brand img{width:48px;height:48px}
  .lhl-header-brand strong{font-size:1rem}
  .lhl-header-brand small{font-size:.6rem}
  .lhl-header-nav{
    width:100%;
    padding-left:0;
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:8px;
  }
  .lhl-header-nav a{
    min-height:39px;
    display:flex;
    align-items:center;
    justify-content:center;
    padding:9px 10px;
    border:1px solid rgba(51,72,59,.12);
    border-radius:5px;
    background:rgba(255,255,255,.52);
    text-align:center;
  }
  .lhl-header-nav .lhl-header-cta{grid-column:1 / -1}
  .lhl-footer-main{width:calc(100% - 28px);padding:30px 0 30px}
  .lhl-footer-nav{gap:10px 18px;padding-bottom:22px}
  .lhl-footer-brand-block{flex-direction:column;gap:10px;margin-top:24px;text-align:center}
  .lhl-footer-brand-copy{align-items:center}
  .lhl-footer-brand-copy span{max-width:360px}
  .lhl-footer-contact{flex-direction:column;gap:12px;margin-top:20px}
  .lhl-footer-book{width:min(100%,260px)}
  .lhl-footer-credit{padding-bottom:86px}
}
