/* about-energy-medicine.html - styles for this page only. */
html { scroll-behavior: smooth; }

body { margin: 0; background: #FDFCF9; -webkit-font-smoothing: antialiased; font-family: Inter, sans-serif; color: #151A1F; overflow-x: clip; }

* { box-sizing: border-box; }

a { color: #164C77; text-decoration: none; }

a:hover { color:#7A5F28; }

::selection { background: #E7D6A1; }

summary::-webkit-details-marker { display: none; }

summary { list-style: none; }

.rm-tog .rm-plus { transition: transform .25s ease; }

details[open] > .rm-tog .rm-plus { transform: rotate(45deg); }

details > summary.rm-tog + div { overflow: hidden; max-height: 0; transition: max-height .5s cubic-bezier(.4,0,.2,1); }

html.rv-on [data-reveal] { opacity: 0; transform: translateY(18px); transition: opacity .7s cubic-bezier(.22,.7,.2,1), transform .7s cubic-bezier(.22,.7,.2,1); }

html.rv-on [data-reveal].is-visible { opacity: 1; transform: translateY(0); }

@media (prefers-reduced-motion: reduce) { html.rv-on [data-reveal] { opacity: 1; transform: none; transition: none; } }

.eh-flow { display:flex; align-items:flex-start; justify-content:center; gap:clamp(10px,2.5vw,28px); flex-wrap:wrap; margin:44px 0 8px; }

.eh-node { display:flex; flex-direction:column; align-items:center; gap:10px; width:clamp(96px,14vw,140px); }

.eh-ico { width:clamp(64px,9vw,88px); height:clamp(64px,9vw,88px); border-radius:50%; display:flex; align-items:center; justify-content:center; background:#0A1D30; box-shadow:0 8px 22px rgba(10,29,48,.18); }

.eh-lbl { font-size:.78rem; letter-spacing:.06em; text-transform:uppercase; font-weight:600; color:#123A5C; text-align:center; }

.eh-arrow { font-size:1.6rem; color:#C9A84C; flex:0 0 auto; margin-top:clamp(18px,3vw,28px); }

.eh-car { position:relative; margin-top:56px; }

.eh-nav { position:absolute; top:50%; transform:translateY(-50%); z-index:2; width:52px; height:52px; border-radius:50%; border:1px solid rgba(156,130,74,.5); background:#FDFCF9; color:#123A5C; font-size:1.4rem; cursor:pointer; display:flex; align-items:center; justify-content:center; box-shadow:0 6px 18px rgba(10,29,48,.08); transition:transform .2s ease, background .2s ease; }

.eh-nav.eh-prev { left:clamp(-70px,-4vw,-26px); }

.eh-nav.eh-next { right:clamp(-70px,-4vw,-26px); }

.eh-nav:active { transform:translateY(-50%) scale(.94); }

.eh-nav:hover { background:#F4F1E9; }

.eh-nav:focus-visible { outline:2px solid #C9A84C; outline-offset:2px; }

.eh-viewport { position:relative; overflow:hidden; }

.eh-track { display:flex; transition:transform .5s cubic-bezier(.22,.7,.2,1); }

.eh-slide { flex:0 0 100%; display:grid; grid-template-columns:1fr 1fr; min-height:492px; background:#FDFCF9; box-shadow:0 18px 40px rgba(10,29,48,.10); overflow:hidden; }

.eh-slide-img { position:relative; background:linear-gradient(155deg,#0A1D30,#164C77); display:flex; align-items:flex-start; justify-content:center; padding:32px; }

.eh-slide-img img { width:100%; height:auto !important; object-fit:contain; display:block; }

.eh-ph { width:100%; height:100%; min-height:340px; border:1px dashed rgba(231,214,161,.45); display:flex; align-items:center; justify-content:center; text-align:center; color:#E7D6A1; font-size:.82rem; letter-spacing:.05em; padding:20px; line-height:1.6; }

.eh-num { position:absolute; top:22px; left:26px; font-family:'Cormorant Garamond',serif; font-size:2.6rem; color:rgba(255,255,255,.5); line-height:1; }

.eh-slide-txt { padding:0 clamp(30px,4vw,52px) clamp(30px,4vw,52px); display:flex; flex-direction:column; justify-content:flex-start; }

.eh-eyebrow { margin-top:0; font-size:.72rem; letter-spacing:.14em; text-transform:uppercase; font-weight:700; color:#7A5F28; margin:0 0 12px; }

.eh-slide-txt h3 { font-family:'Cormorant Garamond',serif; font-weight:500; font-size:clamp(1.5rem,2.4vw,1.9rem); color:#0A1D30; margin:0 0 16px; line-height:1.2; }

.eh-slide-txt p { font-size:1.17rem; line-height:1.8; color:#4b5158; margin:0; text-align:justify; hyphens:none; -webkit-hyphens:none; }

.eh-dots { display:flex; gap:9px; justify-content:center; margin-top:32px; flex-wrap:wrap; }

.eh-dot { padding:0; border:none; border-radius:50%; cursor:pointer; background:rgba(10,29,48,.2); height:9px; width:9px; transition:width .3s ease, background .3s ease; }

.eh-dot.eh-on { width:26px; border-radius:5px; background:#C9A84C; }

.eh-slide-video { grid-template-columns:1fr; }

.eh-slide-video .eh-slide-img { align-items:stretch; }

.eh-embed { position:relative; width:100%; aspect-ratio:16/9; border:0; display:block; }

@media (max-width:1160px) {
    .eh-nav { position:static; transform:none; }
    .eh-nav:active { transform:scale(.94); }
    .eh-navrow { display:flex; justify-content:flex-end; gap:12px; margin-top:20px; }
  }

@media (min-width:1161px) { .eh-navrow { display:contents; } }

@media (max-width:760px) {
    .eh-slide { grid-template-columns:1fr; min-height:0; }
    .eh-slide-img { min-height:180px; padding:0; }
    .eh-ph { min-height:200px; }
  }

/* Phones: taller touch area for the small slider dots (they look the same). */
@media (max-width:767px){
  .eh-dot{position:relative;}
  .eh-dot::after{content:"";position:absolute;left:50%;top:50%;width:calc(100% + 8px);height:44px;transform:translate(-50%,-50%);}
}


/* ---------- Global header / nav / footer / modal (matches the rest of the site) ---------- */
.wrap{max-width:1100px;margin:0 auto;padding:0 clamp(20px,5vw,64px);}

footer .wrap{max-width:1320px;}

header.nav{position:fixed;top:0;left:0;right:0;z-index:100;display:flex;flex-direction:row;align-items:center;justify-content:center;gap:15mm;
    padding:14px clamp(20px,5vw,64px) 14px;background:#fff;box-shadow:0 1px 0 rgba(20,30,40,.10);}

.brand{display:flex;align-items:center;justify-content:flex-start;flex:none;}

.brand-logo{height:59.375px;width:auto;display:block;}

nav.links{display:flex;gap:34px;align-items:center;flex-wrap:wrap;}

.nav-item{position:relative;}

.nav-item .sub::before{content:"";position:absolute;top:-14px;left:0;right:0;height:14px;}

.nav-item > a{font-size:.862rem;letter-spacing:.06em;text-transform:uppercase;font-weight:600;padding:8px 0;color:#0A1D30;transition:opacity .3s;}

.nav-item > a:hover{opacity:.6;}

.nav-item.current > a{text-decoration:underline;text-decoration-color:currentColor;text-decoration-thickness:1.5px;text-underline-offset:6px;}

.nav-item .sub{position:absolute;top:100%;left:-19.56px;transform:translateY(6px);background:#FDFCF9;border:1px solid rgba(20,30,40,.10);
    border-radius:10px;padding:7.56px;min-width:236px;box-shadow:0 18px 40px rgba(10,20,30,.14);opacity:0;pointer-events:none;
    transition:opacity .25s cubic-bezier(.22,.7,.2,1), transform .25s cubic-bezier(.22,.7,.2,1);}

.nav-item:hover .sub,.nav-item.open .sub{opacity:1;pointer-events:auto;transform:translateY(10px);}

.nav-item .sub{transition-delay:0s,0s;}

.nav-item.closing .sub{transition-delay:.45s,.45s;}

.nav-item .sub a{display:block;padding:9px 12px;border-radius:6px;font-size:.9853rem;color:#151A1F;font-weight:500;text-transform:none;letter-spacing:0;}

.nav-item .sub a.current{text-decoration:underline;text-decoration-color:currentColor;text-decoration-thickness:1.5px;text-underline-offset:4px;}

.nav-item .sub a:hover{background:#F4F1E9;text-shadow:0 2px 6px rgba(21,26,31,.15);}

.menu-btn{display:none;}

.nav-cta{display:inline-flex;align-items:center;gap:8px;font-family:'Inter', sans-serif;font-size:.78rem;letter-spacing:.08em;
    text-transform:uppercase;font-weight:700;padding:12px 24px;border-radius:100px;border:1px solid #9C824A;
    color:#0A1D30;background:#C9A84C;cursor:pointer;white-space:nowrap;
    transition:background .4s cubic-bezier(.22,.7,.2,1),color .4s cubic-bezier(.22,.7,.2,1),box-shadow .4s cubic-bezier(.22,.7,.2,1),transform .3s cubic-bezier(.22,.7,.2,1);
    box-shadow:0 8px 24px rgba(201,168,76,.4);text-shadow:0 1px 1px rgba(255,255,255,.55),0 -1px 0 rgba(10,29,48,.22);}

.nav-cta:hover{background:#164C77;border-color:#164C77;color:#fff;
    box-shadow:0 10px 28px rgba(22,76,119,.4);transform:translateY(-1px);text-shadow:none;}

@media (max-width:900px){ header.nav{justify-content:space-between;gap:0;} nav.links{display:none;} .nav-cta{display:none;} .menu-btn{display:block;background:none;border:none;color:#0A1D30;font-size:1.5rem;} }

/* ---------- Book a Free Call modal ---------- */
.tlt-modal-overlay{position:fixed;inset:0;z-index:300;display:flex;align-items:center;justify-content:center;
    padding:24px;background:rgba(10,20,32,.72);backdrop-filter:blur(4px);opacity:0;visibility:hidden;
    transition:opacity .3s cubic-bezier(.22,.7,.2,1),visibility 0s linear .3s;}

.tlt-modal-overlay.is-open{opacity:1;visibility:visible;transition:opacity .3s cubic-bezier(.22,.7,.2,1);}

.tlt-modal{position:relative;background:#FDFCF9;border-radius:18px;max-width:480px;width:100%;
    padding:46px 38px 38px;max-height:88vh;overflow-y:auto;box-shadow:0 30px 80px rgba(10,20,30,.35);
    transform:translateY(14px);transition:transform .35s cubic-bezier(.22,.7,.2,1);}

.tlt-modal-overlay.is-open .tlt-modal{transform:translateY(0);}

.tlt-modal-close{position:absolute;top:14px;right:14px;width:36px;height:36px;border-radius:50%;border:none;
    background:rgba(20,30,40,.07);color:#0A1D30;font-size:1.15rem;line-height:1;cursor:pointer;
    display:flex;align-items:center;justify-content:center;transition:background .25s;}

.tlt-modal-close:hover{background:rgba(20,30,40,.14);}

.tlt-modal .eyebrow{margin-bottom:14px;font-family:'Inter', sans-serif;font-size:.72rem;letter-spacing:.22em;text-transform:uppercase;font-weight:600;color:#7A5F28;}

.tlt-modal h3{font-family:'Cormorant Garamond', serif;font-weight:500;font-size:1.55rem;color:#0A1D30;margin:0 0 16px;line-height:1.1;}

.tlt-modal .tlt-modal-invite{font-size:1rem;line-height:1.75;color:#2c3138;margin-bottom:28px;}

.tlt-modal form{display:flex;flex-direction:column;gap:16px;}

.tlt-modal label{font-size:.82rem;font-weight:600;color:#123A5C;margin-bottom:6px;display:block;}

.tlt-modal input{border:1px solid rgba(20,30,40,.22);background:#fff;padding:13px 14px;font-size:1rem;
    color:#151A1F;width:100%;box-sizing:border-box;border-radius:6px;font-family:'Inter', sans-serif;transition:border-color .25s;}

.tlt-modal input:focus{outline:none;border-color:#9C824A;}

.tlt-modal .tlt-modal-submit{margin-top:6px;align-self:stretch;justify-content:center;background:#C9A84C;
    color:#0A1D30;font-weight:700;font-size:.92rem;letter-spacing:.03em;padding:15px 28px;
    border-radius:100px;border:none;cursor:pointer;transition:background .35s,box-shadow .35s,transform .3s cubic-bezier(.22,.7,.2,1);
    box-shadow:0 10px 30px rgba(201,168,76,.28);}

.tlt-modal .tlt-modal-submit:hover{background:#E7D6A1;transform:translateY(-1px);}

.tlt-modal .tlt-modal-note{font-size:.78rem;color:#7a828b;margin-top:14px;text-align:center;}

/* ---------- Footer ---------- */
footer{background:#0A1D30;color:#fff;padding:80px 0 36px;font-family:'Inter', sans-serif;border-top:2px solid #9c824a;}

.footer-top{display:flex;justify-content:space-between;gap:44px;flex-wrap:wrap;margin-bottom:56px;align-items:flex-start;}

.footer-brand-row{display:flex;align-items:flex-start;gap:26px;}

.footer-logo-mark{width:auto;object-fit:contain;display:block;flex:none;}

.footer-brand{font-family:'Cormorant Garamond', serif;font-size:1.483rem;color:#E7D6A1;max-width:280px;text-transform:uppercase;}

.footer-brand span{display:block;margin-top:14px;font-family:'Inter', sans-serif;font-size:.963rem;color:#fff;line-height:1.7;text-transform:none;}

.footer-social{display:flex;gap:14px;flex-wrap:wrap;}

.footer-social a{display:inline-flex;align-items:center;justify-content:center;width:50px;height:50px;border-radius:50%;
    background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.16);color:#fff;
    transition:background .3s,transform .3s cubic-bezier(.22,.7,.2,1),box-shadow .3s;}

.footer-social a:hover{background:#C9A84C;color:#0A1D30;transform:translateY(-2px);
    box-shadow:0 8px 22px rgba(201,168,76,.35);}

.footer-social a svg{width:23px;height:23px;}

.footer-cols{display:flex;gap:64px;flex-wrap:wrap;}

.footer-col h4{font-size:.833rem;letter-spacing:.12em;text-transform:uppercase;color:#E7D6A1;margin:0 0 16px;font-weight:700;}

.footer-col a{display:block;font-size:.983rem;color:#fff;margin-bottom:10px;transition:opacity .3s;}

.footer-col a:hover{color:#fff;}

.footer-bottom{border-top:1px solid rgba(255,255,255,.16);padding-top:26px;display:flex;justify-content:center;text-align:center;font-size:.863rem;flex-wrap:wrap;gap:12px;color:#fff;}

/* ===== Phones (700px and narrower): carousel with title + lead + Read More, thin arrows, text panel over the picture ===== */
.ehm-lead,.ehm-row,.ehm-nav,.ehm-ov{display:none;}
@media (max-width:700px){
  #ehTrack .eh-slide{overflow:hidden;box-shadow:none;}
  /* cream bar: line 1 title, lines 2-4 text, line 5 Read More, then padding */
  #ehTrack .tee-whybar{display:block;box-sizing:border-box;height:164px;overflow:hidden;padding:14px 14px 0 16px;margin:0;}
  #ehTrack .tee-whybar > b,#ehTrack .tee-whybar > span{display:none;}
  #ehTrack .ehm-lead{display:block;margin:0;height:117px;overflow:hidden;font:500 17.33px/26px Inter,system-ui,sans-serif;color:#000;}
  #ehTrack .ehm-title{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font:500 24px/26px 'Cormorant Garamond',serif;letter-spacing:0;text-transform:none;color:#0A1D30;}
  #ehTrack .ehm-text{margin-top:13px;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;line-clamp:3;overflow:hidden;}
  #ehTrack .ehm-row{display:flex;justify-content:flex-end;align-items:center;height:26px;}
  #ehTrack .ehm-more{background:none;border:0;padding:0;margin:0;cursor:pointer;font:700 15px/26px Inter,system-ui,sans-serif;color:#7A5F28;letter-spacing:.02em;white-space:nowrap;}
  /* thin arrows between the bar and the picture: 20% larger, gaps 30% smaller */
  #ehTrack .ehm-nav{display:flex;justify-content:space-between;align-items:center;padding:0 6px;}
  #ehTrack .ehm-nav button{background:none;border:0;cursor:pointer;color:#7A5F28;width:64px;height:42px;display:flex;align-items:center;justify-content:center;padding:0;}
  #ehTrack .ehm-nav svg{width:41px;height:14.4px;}
  #ehTrack .eh-slide-txt{display:none;}
  #ehTrack .eh-slide-img{position:relative;}
  #ehTrack .ehm-ov{display:none;position:absolute;inset:0;z-index:3;box-sizing:border-box;background:#f4ecd4;padding:20px 22px 22px 22px;overflow-y:auto;-webkit-overflow-scrolling:touch;scrollbar-width:thin;scrollbar-color:rgba(122,95,40,.4) transparent;}
  #ehTrack .ehm-ov::-webkit-scrollbar{width:4px;}
  #ehTrack .ehm-ov::-webkit-scrollbar-track{background:transparent;}
  #ehTrack .ehm-ov::-webkit-scrollbar-thumb{background:rgba(122,95,40,.4);border-radius:2px;}
  #ehTrack .ehm-open .ehm-ov{display:block;}
  #ehTrack .ehm-ov p{margin:0 0 16px;font-size:1.17rem;line-height:1.8;color:#2c3138;text-align:left;}
  /* the arrows below the carousel: centered */
  .eh-navrow{justify-content:center;}
}
@media (max-width:375px){
  #ehTrack .ehm-title{font-size:20px;}
}
@media (max-width:700px){
  /* (end) */
  .eh-navrow{justify-content:center;}
}

@media (max-width:700px){a[href="service-holistic-energy-medicine.html#sessions"].m16{text-align:center;justify-content:center;}}

/* Carousel video placeholder: same box as the video it replaces */
.eh-slide-video{grid-template-columns:minmax(0,1fr) !important;}
.eh-slide-video .eh-slide-img{min-width:0;}
.eh-slide-video .eh-slide-img > button.eh-embed{width:100%;max-width:100%;min-width:0;}
