/* Haven Health — shared header, mobile nav and footer.
   Used by every gated page. Waitlist page does not load this. */
/* ===== HAVEN HEALTH SHARED CHROME ===== */
.hh-header{position:sticky;top:0;z-index:9999;background:#F6F2EC;border-bottom:1px solid rgba(138,123,106,.18);font-family:'Jost',sans-serif;}
.hh-header-inner{max-width:1200px;margin:0 auto;padding:0 40px;height:76px;display:flex;align-items:center;justify-content:space-between;gap:24px;}
.hh-wordmark{display:flex;align-items:baseline;gap:9px;text-decoration:none;line-height:1;flex-shrink:0;}
.hh-wordmark b{font-family:'Cormorant Garamond',serif;font-weight:300;font-size:27px;letter-spacing:.01em;color:#2C2520;}
.hh-wordmark span{font-family:'Jost',sans-serif;font-weight:400;font-size:9.5px;letter-spacing:.24em;text-transform:uppercase;color:#8A7B6A;}
.hh-nav{display:flex;align-items:center;gap:40px;}
.hh-links{display:flex;align-items:center;gap:36px;list-style:none;margin:0;padding:0;}
.hh-links>li{position:relative;}
.hh-links>li>a{display:inline-flex;align-items:center;gap:6px;font-family:'Jost',sans-serif;font-weight:400;font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:#2C2520;text-decoration:none;transition:color .25s ease;padding:28px 0;}
.hh-links>li>a:hover,.hh-links>li.active>a{color:#8A7B6A;}
.hh-links>li.active>a::after{content:'';position:absolute;left:0;right:0;bottom:24px;height:1.5px;background:#C2B3A1;}
.hh-caret{width:7px;height:7px;border-right:1.4px solid currentColor;border-bottom:1.4px solid currentColor;transform:rotate(45deg);margin-top:-3px;transition:transform .25s ease;}
.hh-links>li:hover .hh-caret{transform:rotate(45deg) translate(1px,1px);}
.hh-drop{position:absolute;top:100%;left:50%;transform:translateX(-50%) translateY(8px);min-width:230px;background:#fff;border:1px solid rgba(138,123,106,.18);border-radius:12px;box-shadow:0 18px 50px rgba(44,37,32,.14);padding:10px;opacity:0;visibility:hidden;transition:opacity .25s ease,transform .25s ease;list-style:none;margin:0;}
.hh-links>li:hover .hh-drop{opacity:1;visibility:visible;transform:translateX(-50%) translateY(2px);}
.hh-drop::before{content:'';position:absolute;top:-14px;left:0;right:0;height:14px;}
.hh-drop a{display:block;padding:12px 16px;border-radius:8px;font-family:'Jost',sans-serif;font-weight:300;font-size:14px;letter-spacing:.02em;text-transform:none;color:#2C2520;text-decoration:none;transition:background .2s ease,color .2s ease;}
.hh-drop a:hover{background:#F6F2EC;color:#8A7B6A;}
.hh-drop a em{display:block;font-style:normal;font-size:11px;letter-spacing:.04em;color:#8A7B6A;margin-top:3px;}
.hh-book{flex-shrink:0;font-family:'Jost',sans-serif;font-weight:400;font-size:12px;letter-spacing:.1em;text-transform:uppercase;background:#8A7B6A;color:#fff;text-decoration:none;padding:13px 28px;border-radius:10px;transition:background .3s ease;white-space:nowrap;}
.hh-book:hover{background:#6B5E52;}
.hh-burger{display:none;flex-direction:column;gap:5px;background:none;border:none;cursor:pointer;padding:8px;}
.hh-burger span{width:24px;height:1.6px;background:#2C2520;transition:transform .3s ease,opacity .3s ease;}
.hh-burger.open span:nth-child(1){transform:translateY(6.6px) rotate(45deg);}
.hh-burger.open span:nth-child(2){opacity:0;}
.hh-burger.open span:nth-child(3){transform:translateY(-6.6px) rotate(-45deg);}
.hh-mobile{display:none;}
@media (max-width:860px){
  .hh-header-inner{padding:0 22px;height:66px;}
  .hh-nav{display:none;}
  .hh-burger{display:flex;}
  .hh-mobile{display:block;position:fixed;top:66px;left:0;right:0;bottom:0;background:#F6F2EC;z-index:9998;padding:28px 28px 40px;transform:translateY(-12px);opacity:0;visibility:hidden;transition:opacity .3s ease,transform .3s ease;overflow-y:auto;}
  .hh-mobile.open{opacity:1;visibility:visible;transform:translateY(0);}
  .hh-mobile a{display:block;font-family:'Cormorant Garamond',serif;font-weight:300;font-size:30px;color:#2C2520;text-decoration:none;padding:14px 0;border-bottom:1px solid rgba(138,123,106,.18);}
  .hh-mobile .hh-sub a{font-family:'Jost',sans-serif;font-size:15px;font-weight:300;padding:11px 0 11px 18px;color:#5b5048;border-bottom:none;}
  .hh-mobile .hh-sub-label{font-family:'Jost',sans-serif;font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:#8A7B6A;margin-top:20px;}
  .hh-mobile .hh-book{display:block;text-align:center;margin-top:28px;padding:17px;font-size:13px;}
}

/* ===== FOOTER ===== */
.hh-footer{background:#2C2520;color:#E9DFD2;font-family:'Jost',sans-serif;font-weight:300;width:100vw;position:relative;left:50%;margin-left:-50vw;}
.hh-footer-inner{max-width:1200px;margin:0 auto;padding:72px 40px 0;}
.hh-foot-grid{display:grid;grid-template-columns:1.6fr 1fr 1fr 1.3fr;gap:48px;}
.hh-foot-brand b{font-family:'Cormorant Garamond',serif;font-weight:300;font-size:30px;color:#fff;display:block;line-height:1;}
.hh-foot-brand span{font-family:'Jost',sans-serif;font-size:9.5px;letter-spacing:.24em;text-transform:uppercase;color:#C2B3A1;display:block;margin-top:8px;}
.hh-foot-tag{font-size:14px;line-height:1.8;color:#B8AB9B;max-width:300px;margin-top:22px;}
.hh-social{display:flex;gap:12px;margin-top:24px;}
.hh-social a{width:38px;height:38px;border:1px solid rgba(233,223,210,.22);border-radius:50%;display:flex;align-items:center;justify-content:center;transition:background .25s ease,border-color .25s ease;}
.hh-social a:hover{background:rgba(233,223,210,.1);border-color:rgba(233,223,210,.5);}
.hh-social svg{width:17px;height:17px;fill:#E9DFD2;}
.hh-foot-col h4{font-family:'Jost',sans-serif;font-weight:400;font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:#C2B3A1;margin:0 0 20px;}
.hh-foot-col ul{list-style:none;margin:0;padding:0;}
.hh-foot-col li{margin-bottom:13px;}
.hh-foot-col a{color:#D8CCBD;text-decoration:none;font-size:14px;transition:color .25s ease;}
.hh-foot-col a:hover{color:#fff;}
.hh-foot-contact div{font-size:14px;line-height:1.7;color:#D8CCBD;margin-bottom:14px;}
.hh-foot-contact div b{display:block;font-weight:400;font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:#9b8f7f;margin-bottom:5px;}
.hh-foot-contact a{color:#D8CCBD;text-decoration:none;transition:color .25s ease;}
.hh-foot-contact a:hover{color:#fff;}
.hh-foot-bottom{border-top:1px solid rgba(233,223,210,.14);margin-top:64px;padding:30px 0 36px;display:flex;justify-content:space-between;align-items:flex-start;gap:32px;flex-wrap:wrap;}
.hh-foot-legal{max-width:760px;font-size:11.5px;line-height:1.7;color:#8c8073;}
.hh-foot-copy{font-size:12px;color:#9b8f7f;white-space:nowrap;}
@media (max-width:860px){
  .hh-footer-inner{padding:56px 26px 0;}
  .hh-foot-grid{grid-template-columns:1fr 1fr;gap:40px 32px;}
  .hh-foot-brand{grid-column:1 / -1;}
  .hh-foot-bottom{flex-direction:column;gap:18px;}
}
@media (max-width:540px){ .hh-foot-grid{grid-template-columns:1fr;} }
