/* Luciak Counselling: approved Belleza / Figtree / Jost typography. */
:root{
 --font-heading:"Belleza","Optima","Palatino Linotype",serif;
 --font-body:"Figtree","Helvetica Neue",Arial,sans-serif;
 --font-ui:"Jost","Futura","Helvetica Neue",Arial,sans-serif;
}
body.luciak-site,body.luciak-booking,body.luciak-grief{
 font-family:var(--font-body);font-size:17px;font-weight:400;line-height:1.65;
 font-synthesis:none;-webkit-font-smoothing:auto;
}
body.luciak-site{--olive:#66745c;--olive-dark:#35412f;--olive-deep:#2a3427;--ink:#3a3a3a;--muted:#566150;}
body.luciak-site :is(h1,h2,h3),body.luciak-booking :is(h1,h2,h3),body.luciak-grief :is(h1,h2,h3){
 font-family:var(--font-heading);font-weight:400;font-style:normal;letter-spacing:.01em;text-transform:none;
}
body.luciak-site h1{font-size:clamp(24.8px,2.728vw,33.48px);line-height:1.25;text-wrap:balance;}
body.luciak-site h2{font-size:34px;line-height:1.25;text-wrap:balance;}
body.luciak-site h3{font-size:24px;line-height:1.3;}
body.luciak-site main :is(p,li,address){font-family:var(--font-body);font-size:17px;line-height:1.65;font-weight:400;letter-spacing:0;}
body.luciak-site .svc-includes{font-size:16px!important;line-height:1.65!important;}
body.luciak-site :is(.fee-unit,.fee-row span,.online-note p,.provider-grid span,.svc-more-item span,.facts dd,.therapist-card p){font-family:var(--font-body);font-size:16px;line-height:1.65;}
body.luciak-site :is(.non-direct,.billing-disclaimer,.provider-help){font-family:var(--font-body);font-size:16px!important;line-height:1.65!important;}
body.luciak-site :is(.primary-nav a,.clinic-benefits a,.header-cta,.button,.hero-book,.text-link,.phone-button,.eyebrow,.support-eyebrow,.hero-eyebrow,.profile-name,.profile-role,.secure-note,.principle strong,.site-footer,.svc-nav strong,.svc-more-item strong,.facts dt,.group-label,.therapist-location){
 font-family:var(--font-ui);font-weight:500;font-style:normal;text-shadow:none;
}
body.luciak-site .primary-nav a{font-size:13px;line-height:1.2;letter-spacing:.14em;color:#fff;opacity:1;}
body.luciak-site .clinic-benefits a{font-size:12px;line-height:1.35;letter-spacing:.12em;color:#384532;}
body.luciak-site .header-cta{font-size:13px;line-height:1.2;font-weight:600;letter-spacing:.14em;min-height:44px;padding:12px 17px;}
body.luciak-site .secure-note{font-size:11px;line-height:1.4;letter-spacing:.14em;}
body.luciak-site :is(.button,.phone-button){font-size:13px;line-height:1.2;font-weight:600;letter-spacing:.12em;min-height:44px;padding:12px 20px;}
body.luciak-site :is(.hero-book,.text-link){font-size:13px;line-height:1.4;letter-spacing:.12em;min-height:44px;display:inline-flex;align-items:center;}
body.luciak-site :is(.eyebrow,.support-eyebrow,.hero-eyebrow){font-size:12px;line-height:1.4;letter-spacing:.17em;font-weight:500;}
body.luciak-site .hero-kicker{font-size:16px;line-height:1.65;letter-spacing:0;}
body.luciak-site .hero-copy{width:min(760px,calc(100% - 72px));text-shadow:none;}
body.luciak-site .hero h1{max-width:none;}
body.luciak-site .hero-actions{gap:20px;}
body.luciak-site .profile-name{font-size:14px;line-height:1.4;letter-spacing:.16em;color:#fff;}
body.luciak-site :is(.profile-role,.profile-foot){font-size:11px;line-height:1.4;letter-spacing:.14em;color:#fff;opacity:1;}
body.luciak-site :is(.profile-panel,.finder-band,.principle){background:var(--olive);}
body.luciak-site .finder-copy h2{font-size:28px;color:#fff;}
body.luciak-site .finder-copy p{font-size:16px;color:#fff;}
body.luciak-site .faq summary{font-family:var(--font-body);font-size:18px;line-height:1.4;font-weight:500;padding-top:23px;padding-bottom:23px;}
body.luciak-site .faq details p{font-size:17px;line-height:1.65;}
body.luciak-site .location-copy h2{font-size:30px;}
body.luciak-site .principle strong{font-size:14px;line-height:1.4;letter-spacing:.14em;}
body.luciak-site .principle span{font-family:var(--font-body);font-size:16px;line-height:1.65;letter-spacing:0;max-width:260px;color:#fff;}
body.luciak-site .site-footer{font-size:12px;line-height:1.4;letter-spacing:.12em;}
body.luciak-site :is(.svc-nav strong,.svc-more-item strong,.facts dt,.group-label,.therapist-location){font-size:12px;line-height:1.4;}
body.luciak-site .group-feature .group-detail h3{font-family:var(--font-heading);}
body.luciak-site .group-feature .grief-tagline{font-family:var(--font-heading);font-size:26px;line-height:1.3;}
/* Booking choices retain their existing flow and touch targets. */
body.luciak-booking .page-title{font-size:33.48px;line-height:1.25;}
body.luciak-booking .section-title{font-size:24px;line-height:1.3;}
body.luciak-booking :is(button,.header-phone,.footer-phone,.step-label){font-family:var(--font-ui);}
body.luciak-booking :is(.opt-label,.check-label){font-family:var(--font-ui);font-weight:500;font-size:16px;}
body.luciak-booking :is(.opt-desc,.check-sub,.page-subtitle){font-family:var(--font-body);font-size:15px;line-height:1.55;}
body.luciak-booking .cta-btn{font-weight:600;}
/* The group microsite retains its artwork and warm palette. */
body.luciak-grief :is(h1 em,.aside-note,.nav-title){font-family:var(--font-heading);font-style:normal;}
body.luciak-grief :is(.btn,.text-link,.return,.nav-links a,.eyebrow,.number){font-family:var(--font-ui);font-weight:500;}
body.luciak-grief .btn{font-weight:600;}
@media(min-width:721px) and (max-width:1000px){
 body.luciak-site .nav-inner{gap:clamp(14px,2.4vw,26px);}
}
@media(max-width:720px){
 body.luciak-site,body.luciak-booking,body.luciak-grief{font-size:16px;}
 body.luciak-site .lc-benefits-header .brand-logo{width:min(243.75px,calc(100vw - 104px));}
 body.luciak-site h1{font-size:clamp(24px,6.4vw,28px);line-height:1.25;}
 body.luciak-site h2{font-size:28px;line-height:1.25;}
 body.luciak-site h3{font-size:22px;line-height:1.3;}
 body.luciak-site main :is(p,li,address){font-size:16px;line-height:1.65;}
 body.luciak-site .hero-copy{width:min(560px,calc(100% - 40px));padding:40px 0;}
 body.luciak-site .hero-eyebrow{font-size:11px;line-height:1.5;letter-spacing:.14em;margin-bottom:16px;}
 body.luciak-site .hero-actions{flex-direction:column;gap:10px;margin-top:24px;}
 body.luciak-site .hero :is(.button,.hero-book){font-size:12px;min-height:44px;max-width:100%;}
 body.luciak-site .hero .button{padding:12px 20px;}
 body.luciak-site .hero-book{padding:8px 0;}
 body.luciak-site :is(.eyebrow,.support-eyebrow){font-size:12px;line-height:1.4;}
 body.luciak-site .profile-name{font-size:14px;}
 body.luciak-site :is(.profile-role,.profile-foot){font-size:11px;}
 body.luciak-site .therapist-location{font-size:12px;}
 body.luciak-site .faq summary{font-size:17px;padding-top:22px;padding-bottom:22px;}
 body.luciak-site .faq details p{font-size:16px;}
 body.luciak-site .finder-copy h2{font-size:26px;}
 body.luciak-site .location-copy h2{font-size:28px;}
 body.luciak-site .site-footer{font-size:11px;}
 body.luciak-booking .page-title{font-size:28px;}
 body.luciak-booking .logo-band img{max-width:350px;}
}
@media(max-width:620px){
 body.luciak-grief .clinic-logo{width:228.75px;max-width:100%;}
}
/* Override the group page's legacy inline heading font. */
body.luciak-site :is(h1,h2,h3){font-family:var(--font-heading)!important;}
@media(max-width:720px){
 body.luciak-site :is(.therapists-intro-grid,.team-heading){grid-template-columns:1fr;gap:20px;}
}

/* Shared subpage heroes — approved homepage/contact treatment, 2026-10-31.
   One rule set for Services, Fees, Therapists, Groups, Forms and Contact. */
body.luciak-site .hero {
  min-height: 408px;
  background:
    linear-gradient(to bottom, rgba(0, 0, 0, .32), rgba(0, 0, 0, .55)),
    url("/assets/luciak-hero-mountain-lake-20260831.webp") center 56% / cover no-repeat;
  color: #fff;
}

body.luciak-site .hero .hero-copy {
  width: min(669.6px, calc(100% - 72px));
  margin: 0 auto;
  padding: 40px 0;
  text-shadow: none;
}

body.luciak-site .hero h1 {
  max-width: none;
  margin: 0 auto;
  font-family: var(--font-heading, "Belleza"), "Optima", "Segoe UI", sans-serif;
  font-size: clamp(24.8px, 2.728vw, 33.48px);
  font-weight: 400;
  font-style: normal;
  line-height: 1.18;
  letter-spacing: .015em;
  color: #fff;
  text-shadow: none;
  text-wrap: balance;
}

body.luciak-site .hero .hero-eyebrow {
  margin: 0 0 12.4px;
  font-family: var(--font-ui, "Jost"), "Futura", "Helvetica Neue", Arial, sans-serif;
  font-size: 10px;
  font-weight: 500;
  font-style: normal;
  line-height: 1.4;
  letter-spacing: .18em;
  text-transform: uppercase;
  color: #fff;
  opacity: 1;
  text-shadow: none;
}

body.luciak-site .hero .hero-kicker {
  margin: 18px 0 0;
  font-family: var(--font-body, "Figtree"), "Helvetica Neue", Arial, sans-serif;
  font-size: 13px;
  font-weight: 400;
  font-style: normal;
  line-height: 1.6;
  letter-spacing: .015em;
  text-transform: none;
  color: #e9ede4;
  opacity: 1;
  text-shadow: none;
  text-wrap: balance;
}

@media (max-width: 720px) {
  body.luciak-site .hero {
    min-height: 381.6px;
    background-position: center 57%;
  }

  body.luciak-site .hero .hero-copy {
    width: min(560px, calc(100% - 40px));
    padding: 40px 0;
  }

  body.luciak-site .hero h1 {
    font-size: clamp(24px, 6.4vw, 28px);
    line-height: 1.25;
  }

  body.luciak-site .hero .hero-eyebrow {
    margin-bottom: 16px;
    font-size: 11px;
    line-height: 1.5;
    letter-spacing: .14em;
  }

  body.luciak-site .hero .hero-kicker {
    margin-top: 15px;
    font-size: 12px;
    line-height: 1.6;
    letter-spacing: .01em;
  }
}

/* Shared booking links retain a comfortable touch target. */
body.luciak-site .hero .hero-actions {
  margin-top: 22px;
  gap: 20px;
}
body.luciak-site .hero .hero-book {
  font-family: var(--font-ui);
  font-size: 12px;
  font-weight: 500;
  line-height: 1.4;
  letter-spacing: .1em;
  color: #fff;
  opacity: 1;
  text-shadow: none;
  min-height: 44px;
}
body.luciak-site .hero a:focus-visible {
  outline: 2px solid #fff;
  outline-offset: 4px;
}
