/* =====================================================
   HANDS OF HEALING
   INFORMATIONAL PAGE
===================================================== */


/* =====================================================
   1. COLOR SYSTEM
===================================================== */

:root{
  --healing-forest-deep:#102b1c;
  --healing-forest-dark:#173b27;
  --healing-forest:#2f6b45;
  --healing-forest-mid:#4f8a61;
  --healing-leaf:#709d72;

  --healing-blue-deep:#315d7a;
  --healing-blue:#5f9fbe;
  --healing-blue-light:#a8d3e5;

  --healing-gold-dark:#9b742b;
  --healing-gold:#c99a2e;
  --healing-gold-light:#e6c86a;
  --healing-gold-soft:#f2dda2;

  --healing-brown:#7b5438;
  --healing-cream:#fffaf0;
  --healing-ivory:#f8f4ea;
  --healing-parchment:#efe0c3;
  --healing-white:#ffffff;

  --healing-text:#183326;
  --healing-text-soft:#59685f;
  --healing-text-muted:#718078;

  --healing-line:rgba(47,107,69,.16);
  --healing-line-strong:rgba(47,107,69,.30);
  --healing-blue-line:rgba(95,159,190,.28);
  --healing-gold-line:rgba(201,154,46,.32);

  --healing-shadow:0 22px 55px rgba(24,51,38,.13);
}


/* =====================================================
   2. PAGE FOUNDATION
===================================================== */

*,
*::before,
*::after{
  box-sizing:border-box;
}

html{
  scroll-behavior:smooth;
  background:var(--healing-forest-deep);
}

body{
  margin:0;
  min-height:100vh;
  min-height:100svh;

  overflow-x:hidden;

  color:var(--healing-text);
  font-family:"Inter",Arial,sans-serif;

  background:
    radial-gradient(
      circle at 8% 20%,
      rgba(79,138,97,.10),
      transparent 29%
    ),
    radial-gradient(
      circle at 92% 32%,
      rgba(95,159,190,.09),
      transparent 30%
    ),
    linear-gradient(
      145deg,
      #f3ecdd 0%,
      var(--healing-cream) 48%,
      #edf3eb 100%
    );
}

body::before{
  content:"";

  position:fixed;
  inset:0;
  z-index:0;

  pointer-events:none;

  background-image:
    linear-gradient(
      rgba(47,107,69,.022) 1px,
      transparent 1px
    ),
    linear-gradient(
      90deg,
      rgba(47,107,69,.022) 1px,
      transparent 1px
    );

  background-size:78px 78px;

  mask-image:
    linear-gradient(
      to bottom,
      rgba(0,0,0,.55),
      transparent 88%
    );

  -webkit-mask-image:
    linear-gradient(
      to bottom,
      rgba(0,0,0,.55),
      transparent 88%
    );
}

#globalHeader{
  position:relative;
  z-index:9999;
  isolation:isolate;
}

#globalFooter{
  position:relative;
  z-index:2;
}

#main-content{
  position:relative;
  z-index:1;
}


/* =====================================================
   3. MASTHEAD
===================================================== */

.healing-masthead{
  position:relative;
  isolation:isolate;

  min-height:470px;

  display:flex;
  align-items:flex-end;

  padding:78px 24px 74px;

  overflow:hidden;

  color:var(--healing-cream);
  background:var(--healing-forest-deep);
}

.healing-masthead__background{
  position:absolute;
  inset:0;
  z-index:-2;

  background:
    linear-gradient(
      90deg,
      rgba(16,43,28,.93) 0%,
      rgba(16,43,28,.76) 34%,
      rgba(16,43,28,.30) 62%,
      rgba(16,43,28,.08) 100%
    ),
    linear-gradient(
      180deg,
      rgba(16,43,28,.08),
      rgba(16,43,28,.48)
    ),
    url("/media/healinghero.png");

  background-size:cover;
  background-position:center;
  background-repeat:no-repeat;
}

.healing-masthead::before{
  content:"";

  position:absolute;
  inset:0;
  z-index:-1;

  pointer-events:none;

  background:
    radial-gradient(
      circle at 85% 18%,
      rgba(168,211,229,.15),
      transparent 30%
    ),
    linear-gradient(
      180deg,
      transparent 55%,
      rgba(16,43,28,.40)
    );
}

.healing-masthead::after{
  content:"";

  position:absolute;
  right:0;
  bottom:0;
  left:0;

  height:3px;

  background:
    linear-gradient(
      90deg,
      var(--healing-forest-mid),
      var(--healing-blue),
      var(--healing-gold-light),
      var(--healing-forest-mid)
    );
}

.healing-masthead__inner{
  width:min(1180px,100%);
  margin:0 auto;
}

.healing-breadcrumbs{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:9px;

  margin-bottom:32px;

  color:rgba(255,250,240,.63);

  font-size:.67rem;
  font-weight:800;
  letter-spacing:.09em;
  text-transform:uppercase;
}

.healing-breadcrumbs a{
  color:var(--healing-blue-light);
  text-decoration:none;

  transition:color .2s ease;
}

.healing-breadcrumbs a:hover,
.healing-breadcrumbs a:focus-visible{
  color:var(--healing-gold-light);
}

.healing-breadcrumbs a:focus-visible{
  outline:2px solid var(--healing-gold-light);
  outline-offset:4px;
}

.healing-kicker{
  margin:0 0 13px;

  color:var(--healing-gold-light);

  font-size:.72rem;
  font-weight:900;
  letter-spacing:.24em;
  text-transform:uppercase;
}

.healing-masthead h1{
  max-width:820px;
  margin:0;

  color:var(--healing-cream);

  font-family:"Cinzel",Georgia,serif;
  font-size:clamp(3rem,7vw,6.4rem);
  font-weight:900;
  line-height:.95;
  letter-spacing:-.05em;

  text-shadow:
    0 12px 34px rgba(0,0,0,.40),
    0 0 30px rgba(95,159,190,.08);
}

.healing-masthead__summary{
  max-width:760px;
  margin:25px 0 0;

  color:rgba(255,250,240,.88);

  font-family:"Cormorant Garamond",Georgia,serif;
  font-size:clamp(1.25rem,2vw,1.58rem);
  font-weight:700;
  line-height:1.45;
}


/* =====================================================
   4. ARTICLE LAYOUT
===================================================== */

.healing-article{
  padding:82px 24px 76px;
}

.healing-article__layout{
  width:min(1180px,100%);
  margin:0 auto;

  display:grid;
  grid-template-columns:minmax(0,760px) minmax(250px,310px);
  align-items:start;
  gap:clamp(54px,8vw,105px);
}

.healing-article__body{
  min-width:0;
}

.healing-article__body > section{
  position:relative;

  margin:0 0 52px;
  padding:0 0 52px;

  scroll-margin-top:120px;
}

.healing-article__body > section:not(:last-child)::after{
  content:"";

  position:absolute;
  right:0;
  bottom:0;
  left:0;

  height:1px;

  background:
    linear-gradient(
      90deg,
      var(--healing-line-strong),
      var(--healing-blue-line),
      transparent
    );
}

.healing-section-label{
  display:flex;
  align-items:center;
  gap:12px;

  margin:0 0 13px;

  color:var(--healing-gold-dark);

  font-size:.68rem;
  font-weight:900;
  letter-spacing:.19em;
  text-transform:uppercase;
}

.healing-section-label::before{
  content:"";

  width:32px;
  height:2px;

  flex:0 0 32px;

  background:
    linear-gradient(
      90deg,
      var(--healing-forest),
      var(--healing-blue)
    );
}

.healing-article h2{
  margin:0 0 23px;

  color:var(--healing-forest-dark);

  font-family:"Cinzel",Georgia,serif;
  font-size:clamp(1.85rem,3.2vw,2.7rem);
  font-weight:800;
  line-height:1.12;
  letter-spacing:-.025em;
}

.healing-article__body section > p{
  margin:0 0 20px;

  color:var(--healing-text-soft);
  font-size:1rem;
  line-height:1.82;
}

.healing-article__body section > p:last-child{
  margin-bottom:0;
}

.healing-article__opening{
  color:var(--healing-text) !important;

  font-family:"Cormorant Garamond",Georgia,serif;
  font-size:clamp(1.25rem,2vw,1.48rem) !important;
  font-weight:700;
  line-height:1.52 !important;
}


/* =====================================================
   5. ARTICLE QUOTE
===================================================== */

.healing-article__quote{
  position:relative;

  margin:36px 0 5px;
  padding:30px 34px 30px 38px;

  border:1px solid var(--healing-blue-line);
  border-left:4px solid var(--healing-blue);
  border-radius:3px;

  color:var(--healing-forest-dark);

  background:
    radial-gradient(
      circle at 100% 0%,
      rgba(95,159,190,.10),
      transparent 36%
    ),
    linear-gradient(
      135deg,
      rgba(255,255,255,.74),
      rgba(255,250,240,.90)
    );

  box-shadow:
    0 17px 38px rgba(24,51,38,.09),
    inset 0 1px rgba(255,255,255,.72);

  font-family:"Cormorant Garamond",Georgia,serif;
  font-size:clamp(1.25rem,2vw,1.55rem);
  font-weight:700;
  line-height:1.52;
}

.healing-article__quote::before{
  content:"“";

  position:absolute;
  top:4px;
  right:22px;

  color:rgba(49,93,122,.12);

  font-family:Georgia,serif;
  font-size:5.5rem;
  font-weight:700;
  line-height:1;

  pointer-events:none;
}


/* =====================================================
   6. INFORMATION LIST
===================================================== */

.healing-information-list{
  display:grid;
  gap:0;

  margin:28px 0;
  padding:0;

  list-style:none;

  border-top:1px solid var(--healing-line);
}

.healing-information-list li{
  position:relative;

  padding:17px 18px 17px 42px;

  border-bottom:1px solid var(--healing-line);

  color:var(--healing-text-soft);
  font-size:.96rem;
  line-height:1.65;
}

.healing-information-list li::before{
  content:"";

  position:absolute;
  top:24px;
  left:13px;

  width:10px;
  height:10px;

  border:2px solid var(--healing-blue);
  border-radius:50%;

  background:var(--healing-cream);

  box-shadow:0 0 0 4px rgba(95,159,190,.08);
}


/* =====================================================
   7. SUPPORT CARDS
===================================================== */

.healing-support-cards{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:16px;

  margin-top:30px;
}

.healing-support-cards[hidden]{
  display:none !important;
}

.healing-support-card{
  position:relative;

  min-height:190px;

  display:flex;
  flex-direction:column;

  padding:24px;

  border:1px solid var(--healing-line);
  border-radius:4px;

  overflow:hidden;

  background:
    radial-gradient(
      circle at 100% 0%,
      rgba(95,159,190,.07),
      transparent 35%
    ),
    linear-gradient(
      145deg,
      rgba(255,255,255,.88),
      rgba(255,250,240,.96)
    );

  box-shadow:
    0 13px 30px rgba(24,51,38,.09),
    inset 0 1px rgba(255,255,255,.78);
}

.healing-support-card:nth-child(5){
  grid-column:1 / -1;
}

.healing-support-card::before{
  content:"";

  position:absolute;
  top:0;
  right:0;
  left:0;

  height:3px;

  background:
    linear-gradient(
      90deg,
      var(--healing-forest),
      var(--healing-blue),
      var(--healing-gold-light),
      var(--healing-forest-mid)
    );
}

.healing-support-card__number{
  width:40px;
  height:40px;

  display:grid;
  place-items:center;

  margin-bottom:19px;

  border:1px solid rgba(95,159,190,.25);
  border-radius:50%;

  color:var(--healing-blue-deep);
  background:rgba(168,211,229,.12);

  font-family:"Cinzel",Georgia,serif;
  font-size:.75rem;
  font-weight:900;
}

.healing-support-card__label{
  margin:0 0 7px !important;

  color:var(--healing-gold-dark) !important;

  font-size:.58rem !important;
  font-weight:900;
  letter-spacing:.14em;
  line-height:1.4 !important;
  text-transform:uppercase;
}

.healing-article .healing-support-card h3,
.healing-support-card h3{
  margin:0 0 10px;

  color:var(--healing-forest-dark);

  font-family:"Cinzel",Georgia,serif;
  font-size:1.18rem;
  font-weight:800;
  line-height:1.2;
}

.healing-support-card > p:last-of-type{
  margin:0 0 20px !important;

  color:var(--healing-text-soft) !important;
  font-size:.80rem !important;
  line-height:1.55 !important;
}

.healing-support-card__button{
  width:100%;

  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:15px;

  margin-top:auto;
  padding:14px 0 0;

  appearance:none;
  -webkit-appearance:none;

  border:0;
  border-top:1px solid var(--healing-line);

  color:var(--healing-blue-deep);
  background:transparent;

  cursor:pointer;

  font:inherit;
  font-size:.61rem;
  font-weight:900;
  letter-spacing:.11em;
  text-align:left;
  text-transform:uppercase;
}

.healing-support-card__button span{
  width:27px;
  height:27px;

  display:grid;
  place-items:center;

  flex:0 0 27px;

  border:1px solid rgba(95,159,190,.27);
  border-radius:50%;

  color:var(--healing-gold-dark);
  background:rgba(255,255,255,.55);

  transition:
    transform .2s ease,
    border-color .2s ease,
    background .2s ease;
}

.healing-support-card__button:hover span,
.healing-support-card__button:focus-visible span{
  transform:translateX(4px);

  border-color:var(--healing-gold);
  background:rgba(230,200,106,.13);
}

.healing-support-card__button:focus-visible{
  outline:2px solid var(--healing-blue);
  outline-offset:5px;
}


/* =====================================================
   8. INLINE SUPPORT DIALOGUE
===================================================== */

.healing-support-detail{
  position:relative;

  width:100%;
  margin-top:30px;
  padding:42px 44px;

  scroll-margin-top:120px;

  border:1px solid rgba(95,159,190,.30);
  border-left:4px solid var(--healing-blue);
  border-radius:5px;

  overflow:hidden;

  background:
    radial-gradient(
      circle at 100% 0%,
      rgba(95,159,190,.11),
      transparent 34%
    ),
    radial-gradient(
      circle at 0% 100%,
      rgba(230,200,106,.10),
      transparent 36%
    ),
    linear-gradient(
      145deg,
      rgba(255,255,255,.96),
      rgba(255,250,240,.98)
    );

  box-shadow:
    0 24px 58px rgba(24,51,38,.16),
    inset 0 1px rgba(255,255,255,.80);

  animation:healingSupportOpen .28s ease both;
}

.healing-support-detail[hidden]{
  display:none !important;
}

.healing-support-detail::before{
  content:"";

  position:absolute;
  top:0;
  right:0;
  left:0;

  height:4px;

  background:
    linear-gradient(
      90deg,
      var(--healing-forest),
      var(--healing-blue),
      var(--healing-gold-light),
      var(--healing-forest-mid)
    );
}

.healing-support-detail::after{
  content:"";

  position:absolute;
  right:-110px;
  bottom:-145px;

  width:290px;
  height:290px;

  border:1px solid rgba(95,159,190,.09);
  border-radius:50%;

  background:
    radial-gradient(
      circle,
      rgba(95,159,190,.07),
      transparent 68%
    );

  pointer-events:none;
}

.healing-support-detail__close{
  position:absolute;
  top:18px;
  right:18px;
  z-index:2;

  width:40px;
  height:40px;

  display:grid;
  place-items:center;

  padding:0;

  appearance:none;
  -webkit-appearance:none;

  border:1px solid rgba(47,107,69,.25);
  border-radius:50%;

  color:var(--healing-forest-dark);
  background:rgba(255,255,255,.82);

  cursor:pointer;

  font-family:Arial,sans-serif;
  font-size:1.5rem;
  line-height:1;

  box-shadow:0 8px 18px rgba(24,51,38,.10);

  transition:
    transform .2s ease,
    color .2s ease,
    border-color .2s ease,
    background .2s ease;
}

.healing-support-detail__close:hover,
.healing-support-detail__close:focus-visible{
  transform:rotate(6deg);

  color:var(--healing-blue-deep);
  border-color:var(--healing-blue);
  background:var(--healing-white);
}

.healing-support-detail__close:focus-visible{
  outline:2px solid var(--healing-gold);
  outline-offset:3px;
}

.healing-support-detail__content{
  position:relative;
  z-index:1;
}


/* =====================================================
   9. SUPPORT DIALOGUE CONTENT
===================================================== */

.healing-support-information{
  max-width:780px;
}

.healing-support-information__header{
  display:grid;
  grid-template-columns:auto minmax(0,1fr);
  align-items:center;
  gap:20px;

  padding-right:50px;
}

.healing-support-information__number{
  width:58px;
  height:58px;

  display:grid;
  place-items:center;

  border:1px solid rgba(95,159,190,.27);
  border-radius:50%;

  color:var(--healing-blue-deep);

  background:
    linear-gradient(
      145deg,
      rgba(168,211,229,.16),
      rgba(79,138,97,.07)
    );

  font-family:"Cinzel",Georgia,serif;
  font-size:.90rem;
  font-weight:900;

  box-shadow:
    inset 0 0 18px rgba(95,159,190,.05),
    0 8px 18px rgba(24,51,38,.07);
}

.healing-support-information__label{
  margin:0 0 7px !important;

  color:var(--healing-gold-dark) !important;

  font-size:.61rem !important;
  font-weight:900;
  letter-spacing:.16em;
  line-height:1.4 !important;
  text-transform:uppercase;
}

.healing-article .healing-support-information h3,
.healing-support-information h3{
  margin:0;

  color:var(--healing-forest-dark);

  font-family:"Cinzel",Georgia,serif;
  font-size:clamp(1.55rem,3.4vw,2.35rem);
  font-weight:800;
  line-height:1.1;
}

.healing-support-information__lead{
  margin:29px 0 19px !important;
  padding-top:24px;

  border-top:1px solid var(--healing-blue-line);

  color:var(--healing-text) !important;

  font-family:"Cormorant Garamond",Georgia,serif;
  font-size:1.25rem !important;
  font-weight:700;
  line-height:1.55 !important;
}

.healing-support-information > p{
  margin:0 0 17px !important;

  color:var(--healing-text-soft) !important;
  font-size:.94rem !important;
  line-height:1.75 !important;
}

.healing-support-information h4{
  margin:29px 0 13px;

  color:var(--healing-forest-dark);

  font-family:"Cinzel",Georgia,serif;
  font-size:.88rem;
  font-weight:800;
  letter-spacing:.04em;
  text-transform:uppercase;
}

.healing-support-information ul{
  display:grid;
  gap:0;

  margin:0;
  padding:0;

  list-style:none;

  border-top:1px solid var(--healing-line);
}

.healing-support-information li{
  position:relative;

  padding:13px 12px 13px 32px;

  border-bottom:1px solid var(--healing-line);

  color:var(--healing-text-soft);
  font-size:.86rem;
  line-height:1.55;
}

.healing-support-information li::before{
  content:"";

  position:absolute;
  top:19px;
  left:9px;

  width:8px;
  height:8px;

  border:2px solid var(--healing-blue);
  border-radius:50%;

  background:var(--healing-cream);
}


/* =====================================================
   10. SUPPORT DIALOGUE ANIMATION
===================================================== */

@keyframes healingSupportOpen{

  from{
    opacity:0;
    transform:translateY(14px);
  }

  to{
    opacity:1;
    transform:translateY(0);
  }

}


/* =====================================================
   11. PROGRAM DISCLOSURE
===================================================== */

.healing-article__body > .healing-disclosure{
  margin-bottom:52px;
  padding:34px 36px;

  border:1px solid var(--healing-gold-line);
  border-left:4px solid var(--healing-gold);
  border-radius:3px;

  background:
    radial-gradient(
      circle at 100% 0%,
      rgba(230,200,106,.13),
      transparent 34%
    ),
    linear-gradient(
      145deg,
      rgba(255,250,240,.96),
      rgba(239,224,195,.52)
    );

  box-shadow:
    0 18px 42px rgba(74,51,36,.10),
    inset 0 1px rgba(255,255,255,.76);
}

.healing-article__body > .healing-disclosure::after{
  display:none;
}

.healing-disclosure .healing-section-label{
  color:var(--healing-brown);
}

.healing-disclosure .healing-section-label::before{
  background:
    linear-gradient(
      90deg,
      var(--healing-gold-dark),
      var(--healing-gold-light)
    );
}

.healing-disclosure h2{
  font-size:clamp(1.55rem,2.7vw,2.15rem);
}


/* =====================================================
   12. CONTACT SECTION
===================================================== */

.healing-article__body > .healing-contact{
  margin:0;
  padding:38px 40px;

  overflow:hidden;

  border:1px solid rgba(230,200,106,.27);
  border-radius:4px;

  background:
    radial-gradient(
      circle at 100% 0%,
      rgba(95,159,190,.15),
      transparent 34%
    ),
    linear-gradient(
      135deg,
      var(--healing-forest),
      var(--healing-forest-deep)
    );

  box-shadow:
    0 23px 52px rgba(24,51,38,.20),
    inset 0 1px rgba(255,255,255,.07);
}

.healing-contact .healing-section-label{
  color:var(--healing-blue-light);
}

.healing-contact .healing-section-label::before{
  background:
    linear-gradient(
      90deg,
      var(--healing-gold-light),
      var(--healing-blue-light)
    );
}

.healing-contact h2{
  color:var(--healing-cream);
}

.healing-contact > p{
  color:rgba(248,244,234,.77) !important;
}

.healing-contact__button{
  min-height:50px;

  display:inline-flex;
  align-items:center;
  justify-content:center;

  margin-top:9px;
  padding:0 25px;

  border:1px solid rgba(230,200,106,.60);
  border-radius:4px;

  color:var(--healing-forest-dark);

  background:
    linear-gradient(
      135deg,
      var(--healing-cream),
      var(--healing-parchment)
    );

  box-shadow:0 13px 28px rgba(0,0,0,.19);

  font-size:.71rem;
  font-weight:900;
  letter-spacing:.10em;
  text-decoration:none;
  text-transform:uppercase;

  transition:
    transform .22s ease,
    border-color .22s ease,
    box-shadow .22s ease;
}

.healing-contact__button:hover,
.healing-contact__button:focus-visible{
  transform:translateY(-2px);

  border-color:var(--healing-blue-light);

  box-shadow:
    0 17px 32px rgba(0,0,0,.25),
    0 0 22px rgba(95,159,190,.14);
}

.healing-contact__button:focus-visible{
  outline:2px solid var(--healing-gold-light);
  outline-offset:4px;
}


/* =====================================================
   13. INFORMATION SIDEBAR
===================================================== */

.healing-sidebar{
  position:sticky;
  top:28px;

  display:grid;
  gap:20px;
}

.healing-sidebar__panel,
.healing-sidebar__navigation{
  position:relative;

  padding:27px 25px;

  border:1px solid var(--healing-line);
  border-radius:4px;

  background:
    radial-gradient(
      circle at 100% 0%,
      rgba(95,159,190,.08),
      transparent 34%
    ),
    rgba(255,255,255,.68);

  box-shadow:
    0 16px 38px rgba(24,51,38,.10),
    inset 0 1px rgba(255,255,255,.80);

  backdrop-filter:blur(8px);
  -webkit-backdrop-filter:blur(8px);
}

.healing-sidebar__panel::before,
.healing-sidebar__navigation::before{
  content:"";

  position:absolute;
  top:-1px;
  right:-1px;
  left:-1px;

  height:3px;

  border-radius:4px 4px 0 0;

  background:
    linear-gradient(
      90deg,
      var(--healing-forest),
      var(--healing-blue),
      var(--healing-gold-light)
    );
}

.healing-sidebar__label{
  margin:0 0 19px;

  color:var(--healing-gold-dark);

  font-size:.65rem;
  font-weight:900;
  letter-spacing:.18em;
  text-transform:uppercase;
}

.healing-sidebar__facts{
  margin:0;
}

.healing-sidebar__facts > div{
  padding:14px 0;
  border-bottom:1px solid var(--healing-line);
}

.healing-sidebar__facts > div:first-child{
  padding-top:0;
}

.healing-sidebar__facts > div:last-child{
  padding-bottom:0;
  border-bottom:0;
}

.healing-sidebar__facts dt{
  margin-bottom:5px;

  color:var(--healing-blue-deep);

  font-size:.61rem;
  font-weight:900;
  letter-spacing:.11em;
  text-transform:uppercase;
}

.healing-sidebar__facts dd{
  margin:0;

  color:var(--healing-text);
  font-size:.86rem;
  font-weight:600;
  line-height:1.5;
}

.healing-sidebar__navigation{
  display:grid;
}

.healing-sidebar__navigation a{
  display:block;

  padding:11px 0;

  border-bottom:1px solid var(--healing-line);

  color:var(--healing-text-soft);
  font-size:.82rem;
  font-weight:700;
  line-height:1.4;
  text-decoration:none;

  transition:
    color .2s ease,
    padding-left .2s ease;
}

.healing-sidebar__navigation a:last-child{
  border-bottom:0;
}

.healing-sidebar__navigation a:hover,
.healing-sidebar__navigation a:focus-visible{
  padding-left:7px;
  color:var(--healing-forest-dark);
}

.healing-sidebar__navigation a:focus-visible{
  outline:2px solid var(--healing-blue);
  outline-offset:3px;
}

.healing-sidebar__back{
  display:flex;
  align-items:center;
  gap:9px;

  padding:4px 2px;

  color:var(--healing-forest);
  font-size:.71rem;
  font-weight:900;
  letter-spacing:.08em;
  text-decoration:none;
  text-transform:uppercase;
}

.healing-sidebar__back span{
  color:var(--healing-blue-deep);
  font-size:1rem;

  transition:transform .2s ease;
}

.healing-sidebar__back:hover span,
.healing-sidebar__back:focus-visible span{
  transform:translateX(-4px);
}

.healing-sidebar__back:focus-visible{
  outline:2px solid var(--healing-blue);
  outline-offset:5px;
}


/* =====================================================
   14. CRISIS INFORMATION
===================================================== */

.healing-crisis-note{
  position:relative;
  padding:0 24px 86px;
}

.healing-crisis-note__inner{
  width:min(1180px,100%);
  margin:0 auto;
  padding:32px 38px;

  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  align-items:center;
  gap:38px;

  border:1px solid rgba(168,211,229,.25);
  border-left:4px solid var(--healing-blue);
  border-radius:4px;

  color:var(--healing-cream);

  background:
    radial-gradient(
      circle at 90% 10%,
      rgba(95,159,190,.17),
      transparent 34%
    ),
    linear-gradient(
      135deg,
      #244d43,
      var(--healing-forest-deep)
    );

  box-shadow:
    0 22px 52px rgba(24,51,38,.20),
    inset 0 1px rgba(255,255,255,.06);
}

.healing-crisis-note__label{
  margin:0 0 9px;

  color:var(--healing-blue-light);

  font-size:.64rem;
  font-weight:900;
  letter-spacing:.17em;
  text-transform:uppercase;
}

.healing-crisis-note h2{
  margin:0;

  color:var(--healing-cream);

  font-family:"Cinzel",Georgia,serif;
  font-size:clamp(1.3rem,2.6vw,2rem);
  font-weight:800;
  line-height:1.15;
}

.healing-crisis-note__inner p:last-child{
  max-width:780px;
  margin:13px 0 0;

  color:rgba(248,244,234,.74);
  font-size:.88rem;
  line-height:1.65;
}

.healing-crisis-note__button{
  min-width:130px;
  min-height:50px;

  display:inline-flex;
  align-items:center;
  justify-content:center;

  padding:0 24px;

  border:1px solid var(--healing-blue-light);
  border-radius:4px;

  color:var(--healing-forest-deep);

  background:
    linear-gradient(
      135deg,
      var(--healing-blue-light),
      #d9edf4
    );

  box-shadow:0 13px 28px rgba(0,0,0,.20);

  font-size:.73rem;
  font-weight:900;
  letter-spacing:.10em;
  text-decoration:none;
  text-transform:uppercase;

  transition:
    transform .22s ease,
    border-color .22s ease,
    box-shadow .22s ease;
}

.healing-crisis-note__button:hover,
.healing-crisis-note__button:focus-visible{
  transform:translateY(-2px);

  border-color:var(--healing-gold-light);

  box-shadow:
    0 17px 32px rgba(0,0,0,.26),
    0 0 22px rgba(95,159,190,.16);
}

.healing-crisis-note__button:focus-visible{
  outline:2px solid var(--healing-gold-light);
  outline-offset:4px;
}


/* =====================================================
   15. TABLET
===================================================== */

@media(max-width:980px){

  .healing-masthead{
    min-height:430px;
    padding:70px 24px 65px;
  }

  .healing-article__layout{
    grid-template-columns:minmax(0,1fr) 260px;
    gap:48px;
  }

}


/* =====================================================
   16. MOBILE AND SMALL TABLET
===================================================== */

@media(max-width:780px){

  .healing-masthead{
    min-height:400px;
  }

  .healing-masthead__background{
    background:
      linear-gradient(
        180deg,
        rgba(16,43,28,.76),
        rgba(16,43,28,.84)
      ),
      url("/media/healinghero.png");

    background-size:cover;
    background-position:65% center;
  }

  .healing-article{
    padding:62px 20px 64px;
  }

  .healing-article__layout{
    display:flex;
    flex-direction:column;
    gap:54px;
  }

  .healing-article__body{
    width:100%;
  }

  .healing-sidebar{
    position:relative;
    top:auto;

    width:100%;
    order:-1;

    grid-template-columns:1fr 1fr;
    align-items:start;
  }

  .healing-sidebar__back{
    grid-column:1 / -1;
  }

  .healing-crisis-note__inner{
    grid-template-columns:1fr;
    gap:24px;
  }

  .healing-crisis-note__button{
    justify-self:start;
  }

}


/* =====================================================
   17. MOBILE
===================================================== */

@media(max-width:680px){

  .healing-support-cards{
    grid-template-columns:1fr;
  }

  .healing-support-card:nth-child(5){
    grid-column:auto;
  }

  .healing-support-detail{
    padding:38px 24px 29px;
  }

  .healing-support-information__header{
    grid-template-columns:1fr;
    gap:15px;
  }

  .healing-support-information__number{
    width:50px;
    height:50px;
  }

}


@media(max-width:560px){

  .healing-masthead{
    min-height:380px;
    padding:58px 18px 54px;
  }

  .healing-breadcrumbs{
    margin-bottom:26px;
    font-size:.59rem;
  }

  .healing-kicker{
    font-size:.64rem;
    letter-spacing:.18em;
  }

  .healing-masthead h1{
    font-size:clamp(2.5rem,14vw,4rem);
  }

  .healing-masthead__summary{
    font-size:1.17rem;
  }

  .healing-article{
    padding:52px 17px 55px;
  }

  .healing-article__body > section{
    margin-bottom:42px;
    padding-bottom:42px;
  }

  .healing-article h2{
    font-size:clamp(1.65rem,8vw,2.25rem);
  }

  .healing-article__quote{
    padding:27px 24px 27px 28px;
  }

  .healing-article__body > .healing-disclosure,
  .healing-article__body > .healing-contact{
    padding:29px 24px;
  }

  .healing-sidebar{
    grid-template-columns:1fr;
  }

  .healing-sidebar__back{
    grid-column:auto;
  }

  .healing-crisis-note{
    padding:0 17px 68px;
  }

  .healing-crisis-note__inner{
    padding:27px 24px;
  }

  .healing-crisis-note__button{
    width:100%;
  }

}


/* =====================================================
   18. REDUCED MOTION
===================================================== */

@media(prefers-reduced-motion:reduce){

  html{
    scroll-behavior:auto;
  }

  .healing-support-detail{
    animation:none;
  }

  .healing-breadcrumbs a,
  .healing-support-card__button span,
  .healing-support-detail__close,
  .healing-contact__button,
  .healing-sidebar__navigation a,
  .healing-sidebar__back span,
  .healing-crisis-note__button{
    transition:none;
  }

}


/* =====================================================
   19. PROGRAM STORY
===================================================== */

.healing-program{
  position:relative;

  display:grid;
  gap:28px;

  margin:0 0 54px;

  scroll-margin-top:120px;
}

.healing-program__overview,
.healing-program__purpose{
  position:relative;
  isolation:isolate;

  padding:clamp(34px,5vw,56px);

  overflow:hidden;

  border:1px solid var(--healing-line);
  border-radius:8px;

  background:
    radial-gradient(
      circle at 100% 0%,
      rgba(95,159,190,.11),
      transparent 30%
    ),
    radial-gradient(
      circle at 0% 100%,
      rgba(230,200,106,.10),
      transparent 34%
    ),
    linear-gradient(
      145deg,
      rgba(255,255,255,.96),
      rgba(255,250,240,.94)
    );

  box-shadow:
    0 25px 58px rgba(24,51,38,.12),
    inset 0 1px rgba(255,255,255,.84);
}

.healing-program__overview::before,
.healing-program__purpose::before{
  content:"";

  position:absolute;
  top:0;
  right:0;
  left:0;

  height:4px;

  background:
    linear-gradient(
      90deg,
      var(--healing-forest),
      var(--healing-blue),
      var(--healing-gold-light),
      var(--healing-forest-mid)
    );
}

.healing-program__overview::after,
.healing-program__purpose::after{
  content:"";

  position:absolute;
  z-index:-1;

  width:360px;
  height:360px;

  border:1px solid rgba(95,159,190,.11);
  border-radius:50%;

  background:
    radial-gradient(
      circle,
      rgba(95,159,190,.07),
      transparent 68%
    );

  pointer-events:none;
}

.healing-program__overview::after{
  top:-145px;
  right:-135px;
}

.healing-program__purpose::after{
  right:-145px;
  bottom:-180px;

  border-color:rgba(201,154,46,.12);

  background:
    radial-gradient(
      circle,
      rgba(230,200,106,.08),
      transparent 68%
    );
}


/* PROGRAM HEADER */

.healing-program__header{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:28px;

  margin-bottom:32px;
  padding-bottom:26px;

  border-bottom:1px solid var(--healing-line);
}

.healing-program__header h2,
.healing-program__purpose h2{
  margin:0;

  color:var(--healing-forest-dark);

  font-family:"Cinzel",Georgia,serif;
  font-size:clamp(2rem,4vw,3.25rem);
  font-weight:800;
  line-height:1.06;
  letter-spacing:-.035em;
}

.healing-program__header-mark{
  width:70px;
  height:70px;

  display:grid;
  place-items:center;

  flex:0 0 70px;

  border:1px solid var(--healing-blue-line);
  border-radius:50%;

  color:var(--healing-blue-deep);

  background:
    linear-gradient(
      145deg,
      rgba(168,211,229,.34),
      rgba(255,250,240,.92)
    );

  box-shadow:0 12px 28px rgba(49,93,122,.12);
}

.healing-program__header-mark svg,
.healing-program__opening-graphic svg,
.healing-approach-card__icon svg,
.healing-program__purpose-symbol{
  display:block;

  max-width:100%;
  max-height:100%;

  fill:none;
  stroke:currentColor;
  stroke-linecap:round;
  stroke-linejoin:round;
}

.healing-program__header-mark svg{
  width:38px;
  height:38px;
  stroke-width:2;
}


/* PROGRAM OPENING */

.healing-program__opening{
  display:grid;
  grid-template-columns:160px minmax(0,1fr);
  align-items:center;
  gap:clamp(28px,5vw,52px);

  padding:30px 34px;

  border:1px solid var(--healing-line);
  border-left:4px solid var(--healing-forest);
  border-radius:6px;

  background:
    radial-gradient(
      circle at 5% 50%,
      rgba(79,138,97,.14),
      transparent 35%
    ),
    linear-gradient(
      135deg,
      rgba(47,107,69,.07),
      rgba(255,255,255,.76)
    );

  box-shadow:0 16px 35px rgba(24,51,38,.09);
}

.healing-program__opening-graphic{
  position:relative;

  width:142px;
  height:142px;

  display:grid;
  place-items:center;

  margin:auto;

  border-radius:50%;

  color:var(--healing-cream);

  background:
    radial-gradient(
      circle at 35% 27%,
      rgba(255,255,255,.19),
      transparent 35%
    ),
    linear-gradient(
      145deg,
      var(--healing-forest-mid),
      var(--healing-forest-deep)
    );

  box-shadow:
    0 20px 42px rgba(24,51,38,.23),
    0 0 0 8px rgba(79,138,97,.08);
}

.healing-program__opening-graphic::before{
  content:"";

  position:absolute;
  inset:11px;

  border:1px solid rgba(230,200,106,.34);
  border-radius:50%;
}

.healing-program__opening-graphic::after{
  content:"";

  position:absolute;
  right:-6px;
  bottom:22px;

  width:14px;
  height:14px;

  border-radius:50%;

  background:var(--healing-gold-light);

  box-shadow:
    0 0 0 6px rgba(230,200,106,.12),
    0 0 22px rgba(230,200,106,.55);
}

.healing-program__opening-graphic svg{
  position:relative;
  z-index:1;

  width:72px;
  height:72px;

  stroke-width:2.3;
}

.healing-program__graphic-ring{
  position:absolute;
  inset:-13px;

  border:1px dashed rgba(95,159,190,.38);
  border-radius:50%;

  animation:healingGraphicRotate 24s linear infinite;
}

.healing-program__opening-content{
  min-width:0;
  max-width:690px;
}

.healing-program__opening-content p{
  margin:0 0 15px;

  color:var(--healing-text-soft);
  font-size:.96rem;
  line-height:1.75;
}

.healing-program__opening-content p:last-child{
  margin-bottom:0;
}

.healing-program__opening-content .healing-article__opening{
  color:var(--healing-forest-dark) !important;

  font-size:clamp(1.32rem,2.2vw,1.72rem) !important;
  line-height:1.4 !important;
}


/* CARE APPROACH */

.healing-program__approach{
  position:relative;

  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:16px;

  margin-top:24px;
}

.healing-program__approach::before{
  content:"";

  position:absolute;
  top:51px;
  right:8%;
  left:8%;

  height:1px;

  background:
    linear-gradient(
      90deg,
      transparent,
      rgba(95,159,190,.30),
      rgba(230,200,106,.32),
      rgba(95,159,190,.30),
      transparent
    );
}

.healing-approach-card{
  position:relative;
  z-index:1;

  min-height:190px;

  display:grid;
  grid-template-columns:54px minmax(0,1fr);
  align-items:start;
  gap:16px;

  padding:24px 21px;

  overflow:hidden;

  border:1px solid var(--healing-line);
  border-radius:6px;

  background:
    radial-gradient(
      circle at 100% 0%,
      rgba(95,159,190,.09),
      transparent 36%
    ),
    linear-gradient(
      145deg,
      rgba(255,255,255,.92),
      rgba(239,224,195,.34)
    );

  box-shadow:0 14px 30px rgba(24,51,38,.08);

  transition:
    transform .28s ease,
    border-color .28s ease,
    box-shadow .28s ease;
}

.healing-approach-card:hover{
  transform:translateY(-5px);

  border-color:rgba(95,159,190,.45);

  box-shadow:0 22px 42px rgba(24,51,38,.13);
}

.healing-approach-card__icon{
  width:52px;
  height:52px;

  display:grid;
  place-items:center;

  border:1px solid var(--healing-blue-line);
  border-radius:50%;

  color:var(--healing-blue-deep);

  background:
    linear-gradient(
      145deg,
      rgba(168,211,229,.34),
      rgba(255,255,255,.78)
    );

  box-shadow:0 10px 23px rgba(49,93,122,.11);
}

.healing-approach-card__icon svg{
  width:28px;
  height:28px;
  stroke-width:2;
}

.healing-approach-card__number{
  display:block;

  margin:2px 0 8px;

  color:var(--healing-gold-dark);

  font-size:.58rem;
  font-weight:900;
  letter-spacing:.16em;
}

.healing-approach-card h3{
  margin:0 0 9px;

  color:var(--healing-forest-dark);

  font-family:"Cinzel",Georgia,serif;
  font-size:1rem;
  font-weight:800;
  line-height:1.25;
}

.healing-approach-card p{
  margin:0;

  color:var(--healing-text-soft);
  font-size:.79rem;
  line-height:1.62;
}


/* ANDREA INSPIRATION */

.healing-program__inspiration{
  position:relative;

  display:grid;
  grid-template-columns:minmax(250px,.72fr) minmax(0,1.28fr);
  align-items:center;
  gap:34px;

  margin-top:24px;
  padding:30px 34px;

  overflow:hidden;

  border:1px solid var(--healing-blue-line);
  border-left:4px solid var(--healing-blue);
  border-radius:6px;

  color:var(--healing-cream);

  background:
    radial-gradient(
      circle at 100% 0%,
      rgba(168,211,229,.21),
      transparent 34%
    ),
    radial-gradient(
      circle at 4% 100%,
      rgba(230,200,106,.13),
      transparent 35%
    ),
    linear-gradient(
      135deg,
      #315d64,
      var(--healing-forest-deep) 75%
    );

  box-shadow:0 21px 46px rgba(24,51,38,.21);
}

.healing-program__inspiration-identity{
  display:flex;
  align-items:center;
  gap:18px;
}

.healing-program__inspiration-monogram{
  width:66px;
  height:66px;

  display:grid;
  place-items:center;

  flex:0 0 66px;

  padding:0;

  overflow:hidden;

  border:1px solid rgba(230,200,106,.52);
  border-radius:50%;

  color:var(--healing-gold-light);
  background:rgba(16,43,28,.60);

  box-shadow:0 13px 28px rgba(0,0,0,.24);
}

.healing-program__inspiration-monogram img{
  width:100%;
  height:100%;

  display:block;

  object-fit:cover;
  object-position:center;
}

.healing-program__inspiration-label{
  margin:0 0 8px;

  color:var(--healing-blue-light);

  font-size:.6rem;
  font-weight:900;
  letter-spacing:.17em;
  line-height:1.45;
  text-transform:uppercase;
}

.healing-program__inspiration h3{
  margin:0;

  color:var(--healing-cream);

  font-family:"Cinzel",Georgia,serif;
  font-size:clamp(1.2rem,2vw,1.7rem);
  font-weight:800;
  line-height:1.18;
}

.healing-program__inspiration-message{
  position:relative;

  padding-left:34px;

  border-left:1px solid rgba(230,200,106,.25);
}

.healing-program__quote-mark{
  position:absolute;
  top:-26px;
  left:20px;

  color:rgba(230,200,106,.24);

  font-family:Georgia,serif;
  font-size:5rem;
  line-height:1;
}

.healing-program__inspiration-message p{
  position:relative;
  z-index:1;

  margin:0;

  color:rgba(255,250,240,.80);

  font-family:"Cormorant Garamond",Georgia,serif;
  font-size:clamp(1.06rem,1.6vw,1.28rem);
  font-weight:600;
  line-height:1.55;
}


/* PROGRAM PURPOSE */

.healing-program__purpose{
  display:grid;
  grid-template-columns:minmax(0,.94fr) minmax(0,1.06fr);
  align-items:stretch;
  column-gap:38px;
  row-gap:28px;
}

.healing-program__purpose-heading{
  min-width:0;
  align-self:start;
}

.healing-program__purpose h2{
  max-width:9.5ch;

  font-size:clamp(2rem,3.15vw,2.72rem);
  line-height:1.08;
  letter-spacing:-.028em;

  text-wrap:balance;
}

.healing-program__purpose-heading > p:last-child{
  max-width:430px;
  margin:18px 0 0;

  color:var(--healing-text-soft);

  font-size:.91rem;
  line-height:1.66;
}

.healing-program__purpose-quote{
  position:relative;

  min-width:0;
  min-height:350px;

  display:flex;
  flex-direction:column;
  justify-content:center;

  margin:0;
  padding:38px 36px;

  overflow:hidden;

  border:1px solid var(--healing-gold-line);
  border-left:4px solid var(--healing-gold-light);
  border-radius:6px;

  color:var(--healing-cream);

  background:
    radial-gradient(
      circle at 100% 0%,
      rgba(95,159,190,.20),
      transparent 34%
    ),
    radial-gradient(
      circle at 0% 100%,
      rgba(230,200,106,.13),
      transparent 37%
    ),
    linear-gradient(
      145deg,
      var(--healing-forest),
      var(--healing-forest-deep)
    );

  box-shadow:0 22px 48px rgba(24,51,38,.22);
}

.healing-program__purpose-symbol{
  position:absolute;
  top:24px;
  right:26px;

  width:64px;
  height:64px;

  color:rgba(168,211,229,.34);
  stroke-width:1.6;
}

.healing-program__purpose-quote p{
  position:relative;
  z-index:1;

  max-width:520px;
  margin:0;

  color:var(--healing-cream);

  font-family:"Cormorant Garamond",Georgia,serif;
  font-size:clamp(1.3rem,2.1vw,1.72rem);
  font-weight:700;
  line-height:1.4;
}

.healing-program__outcomes{
  grid-column:1 / -1;

  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:12px;
}

.healing-program__outcome{
  min-height:62px;

  display:flex;
  align-items:center;
  gap:14px;

  padding:13px 17px;

  border:1px solid var(--healing-line);
  border-radius:4px;

  background:
    linear-gradient(
      135deg,
      rgba(255,255,255,.78),
      rgba(168,211,229,.10)
    );

  box-shadow:0 10px 22px rgba(24,51,38,.07);
}

.healing-program__outcome span{
  width:35px;
  height:35px;

  display:grid;
  place-items:center;

  flex:0 0 35px;

  border:1px solid var(--healing-blue-line);
  border-radius:50%;

  color:var(--healing-blue-deep);
  background:rgba(255,255,255,.74);

  font-family:"Cinzel",Georgia,serif;
  font-size:.56rem;
  font-weight:900;
}

.healing-program__outcome strong{
  color:var(--healing-forest-dark);

  font-size:.68rem;
  font-weight:900;
  letter-spacing:.08em;
  line-height:1.4;
  text-transform:uppercase;
}


/* =====================================================
   20. PROGRAM ANIMATION
===================================================== */

@keyframes healingGraphicRotate{

  to{
    transform:rotate(360deg);
  }

}


/* =====================================================
   21. PROGRAM RESPONSIVE
===================================================== */

@media(max-width:1100px){

  .healing-program__approach{
    grid-template-columns:1fr;
  }

  .healing-program__approach::before{
    display:none;
  }

  .healing-approach-card{
    min-height:0;
  }

  .healing-program__inspiration{
    grid-template-columns:1fr;
  }

  .healing-program__inspiration-message{
    padding:25px 0 0;

    border-top:1px solid rgba(230,200,106,.25);
    border-left:0;
  }

  .healing-program__quote-mark{
    top:-13px;
    left:0;
  }

  .healing-program__purpose{
    grid-template-columns:1fr;
    column-gap:0;
  }

  .healing-program__purpose h2{
    max-width:12ch;
  }

  .healing-program__purpose-quote{
    min-height:280px;
  }

}


@media(max-width:680px){

  .healing-program{
    gap:20px;
  }

  .healing-program__overview,
  .healing-program__purpose{
    padding:30px 22px;
  }

  .healing-program__header{
    gap:18px;
  }

  .healing-program__header-mark{
    width:52px;
    height:52px;

    flex-basis:52px;
  }

  .healing-program__header-mark svg{
    width:29px;
    height:29px;
  }

  .healing-program__opening{
    grid-template-columns:1fr;

    padding:27px 22px;
  }

  .healing-program__opening-graphic{
    width:116px;
    height:116px;
  }

  .healing-program__opening-graphic svg{
    width:58px;
    height:58px;
  }

  .healing-approach-card{
    grid-template-columns:48px minmax(0,1fr);

    padding:21px 18px;
  }

  .healing-approach-card__icon{
    width:46px;
    height:46px;
  }

  .healing-program__inspiration{
    padding:26px 22px;
  }

  .healing-program__inspiration-identity{
    align-items:flex-start;
  }

  .healing-program__inspiration-monogram{
    width:54px;
    height:54px;

    flex-basis:54px;
  }

  .healing-program__purpose h2{
    max-width:none;

    font-size:clamp(1.9rem,10vw,2.5rem);
  }

  .healing-program__purpose-quote{
    min-height:230px;

    padding:68px 24px 30px;
  }

  .healing-program__purpose-symbol{
    top:20px;
    right:20px;

    width:52px;
    height:52px;
  }

  .healing-program__purpose-quote p{
    font-size:1.3rem;
  }

  .healing-program__outcomes{
    grid-template-columns:1fr;
  }

}


/* =====================================================
   22. REDUCED PROGRAM MOTION
===================================================== */

@media(prefers-reduced-motion:reduce){

  .healing-program__graphic-ring{
    animation:none;
  }

  .healing-approach-card{
    transition:none;
  }

}