
:root{--leaf:#c8e7a6;--olive:#679d23;--darkgreen:#28730a;--text:#101010;--rule:#e0e0e0;--wide:1090px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:white;color:var(--text);font-family:Georgia,'Times New Roman',serif;font-size:15px;line-height:1.36}a{color:inherit}a:focus-visible{outline:2px solid #509b29;outline-offset:3px}.masthead{height:150px;background:linear-gradient(100deg,#c9e7ad 0,#c7e5a5 67%,#c8e5a7);border-bottom:12px solid #63981f;position:relative;overflow:hidden}.mast-inner{max-width:var(--wide);height:100%;margin:auto;position:relative;display:flex;align-items:flex-start;justify-content:center}.mast-leaves{position:absolute;left:0;top:-10px;width:225px;height:170px;object-fit:fill;opacity:.90;mix-blend-mode:multiply}.mast-title{text-align:center;padding:17px 105px 0 130px;font:normal 27px/1.16 Arial,sans-serif;letter-spacing:-.45px}.mast-title small{display:block;font:13px/1.3 Arial,sans-serif;letter-spacing:0;text-align:right;margin-right:20px}.small-logo{width:70px;height:auto;object-fit:contain;position:absolute;top:17px;right:65px}.site-shell{max-width:var(--wide);margin:0 auto;display:grid;grid-template-columns:180px minmax(0,560px) 115px;column-gap:37px;min-height:580px;position:relative}.site-shell:before{content:'';position:absolute;top:0;left:0;background:url('assets/leaf-header.png') no-repeat left top;background-size:155px auto;width:170px;height:138px;opacity:.80;pointer-events:none}.leftnav{padding:110px 0 38px 18px;align-self:start;font:13px/1.45 Arial,Helvetica,sans-serif;z-index:1}.leftnav ul{padding:0;margin:0;list-style:none}.leftnav li{margin:0 0 12px}.leftnav a{color:#111;text-decoration:none;display:block;position:relative}.leftnav a:hover,.leftnav a[aria-current='page']{color:#5d9826}.leftnav a[aria-current='page']::before{content:'◆';position:absolute;left:-21px;top:1px;color:#65a32a;font-size:10px}.rightside{padding-top:48px;text-align:center}.fb{display:block;margin-left:auto;margin-right:19px;text-align:center;background:#3f6090;color:#fff;font:bold 23px/28px Arial,sans-serif;text-decoration:none;width:24px;height:28px}.abmp{display:block;width:74px;height:auto;object-fit:contain;margin:45px auto 0}.page-content{padding:38px 0 110px;min-width:0}.page-label{text-align:center;font:normal 18px/1.25 Arial,sans-serif;margin:0 0 48px}.narrow{max-width:460px;margin-left:auto;margin-right:auto}.center{text-align:center}.serif{font-family:Georgia,'Times New Roman',serif}.italic{font-style:italic}.strong{font-weight:bold}.big-italic{font:bold italic 25px/1.12 Georgia,serif}.main-title{font:bold italic 26px/1.1 Georgia,serif}.rule{border:0;border-top:1px solid var(--rule);margin:33px 0}.extra-space{margin-top:85px}.large-space{margin-top:110px}.booking{display:block;text-align:center;margin:56px auto 68px;max-width:fit-content;text-decoration:none}.booking img{width:280px;max-width:100%;height:auto;display:block;transition:transform .15s}.booking:hover img{transform:scale(1.025)}.book-caption{text-align:center;margin:26px auto 0}.small-intro{font-size:14px}.home-banner{display:block;margin:auto;width:100%;max-width:560px;object-fit:contain}.home-intro{font-size:16px;text-align:center}.home-intro h1{font:bold italic 26px/1.1 Georgia,serif;margin:23px 0}.home-intro p{margin:9px 0}.room-photo{display:block;width:420px;max-width:100%;height:auto;margin:8px auto}.massage-collage{display:block;width:420px;max-width:100%;height:auto;margin:0 auto}.photo-caption{text-align:center;margin:14px 0 40px;font-size:14px}.point-list{list-style:none;margin:0;padding:0}.point-list li:before{content:'• '}.legacy-footer{border-top:5px solid #679e2e;background:#c9e8a8;text-align:center;padding:13px 12px 10px;font-size:11px;color:#263f17}.footer-copy{padding:10px;text-align:center;font-size:10px}.tablewrap{overflow-x:auto}.hours-table{border-collapse:collapse;width:100%;font:13px/1.4 Arial,sans-serif}.hours-table td{padding:8px 10px 8px 4px;border-bottom:1px solid #ddd;white-space:nowrap}.hours-table td:first-child{font-weight:bold}.policy h3{font-size:16px;margin:23px 0 3px}.policy p{margin:0 0 10px}.biopage{max-width:460px}.biopage .head{font:normal 25px Georgia,serif;margin:0 0 25px}.biopage .tagline{font-style:italic;font-size:21px;line-height:1.4;margin-bottom:12px}.portrait{width:250px;max-width:100%;height:auto;display:block;margin:14px 0 35px}.nature-photo{width:295px;max-width:100%;display:block;margin:16px 0}.bio-paragraph{font-size:17px;line-height:1.3;margin:28px 0}.bio-paragraph.bordered{border-top:1px solid #ddd;border-bottom:1px solid #ddd;padding:15px 0}.text-list{margin:5px 0 14px;padding-left:22px}.faq-item{border-bottom:1px solid #ddd;padding:13px 0 20px}.faq-item h3{font-size:16px;margin:0 0 6px}.faq-item p{margin:0}.faq-title{font-size:31px;line-height:1.1;font-weight:normal;margin:12px 0 25px}.review{padding:39px 0 42px;border-bottom:1px solid #e0e0e0}.review:first-of-type{padding-top:18px}.review p{margin:0}.review .byline{font-size:13px}.price{margin:43px 0}.price h3{font-size:16px;font-weight:normal;text-align:center;margin:0 0 9px}.price p{text-align:center;margin:0;font-size:14px}.prices-table{width:100%;border-collapse:collapse;font:13px/1.5 Arial,sans-serif}.prices-table th,.prices-table td{border-bottom:1px solid #d8d8d8;text-align:left;padding:7px}.prices-table td:last-child,.prices-table th:last-child{text-align:right}.contact-card{text-align:center;padding:12px 0}.contact-card h2{font:bold italic 25px Georgia,serif}.contact-card p{line-height:1.6}.contact-card a.text-link{color:#36791c;text-underline-offset:3px}.product-intro{font-size:15px;text-align:center;max-width:420px}.product-category{font:bold 21px/1.15 Georgia,serif;color:#138000;margin:64px 0 18px}.product-entry{padding:27px 0 34px;border-bottom:1px solid #ddd}.product-entry h3{font-size:17px;margin:0 0 3px}.product-entry p{font-size:14px;margin:0 0 12px}.product-entry img{display:block;max-width:170px;max-height:170px;object-fit:contain;margin:10px 0}.product-entry .product-image{background:white}.product-description{font-size:14px}.product-category.rulebefore{border-top:1px solid #ddd;padding-top:31px}.mobile-menu{display:none}.square-note{font-size:13px;color:#47533f}.notice{padding:12px 15px;background:#f1f9e8;border-left:3px solid #80a64c;margin:25px 0;font-size:14px}.mini-heading{font-size:19px;font-weight:bold;font-style:italic}.footer-link{text-decoration:none} .footer-link:hover{text-decoration:underline}
@media(max-width:790px){.masthead{height:120px;border-bottom-width:8px}.mast-inner{max-width:100%}.mast-leaves{left:-22px;top:-14px;width:140px;height:138px}.mast-title{font-size:19px;padding:18px 62px 0 86px;letter-spacing:0}.mast-title small{font-size:11px;text-align:center;margin:2px 0}.small-logo{width:48px;right:8px;top:10px}.site-shell{display:block}.site-shell:before{display:none}.mobile-menu{display:block;border-bottom:1px solid #ddd;padding:11px 18px;font:14px Arial,sans-serif}.mobile-menu summary{cursor:pointer;color:#568322;font-weight:bold}.mobile-menu ul{list-style:none;padding:8px 0 0;margin:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:5px 12px}.mobile-menu a{font-size:12px;text-decoration:none;display:block;padding:6px 0}.leftnav,.rightside{display:none}.page-content{padding:23px 20px 65px}.page-label{margin-bottom:30px}.narrow{max-width:480px}.big-italic{font-size:23px}.home-intro{font-size:15px}.room-photo,.massage-collage{width:330px}.booking img{width:245px}.extra-space{margin-top:55px}.large-space{margin-top:70px}.portrait{margin-left:auto;margin-right:auto}.nature-photo{margin-left:auto;margin-right:auto}.biopage .head,.biopage .tagline{text-align:center}.product-category{margin-top:42px}.hours-table{font-size:11px}.hours-table td{padding:6px 4px}.legacy-footer{font-size:10px}}
@media(min-width:791px) and (max-width:1000px){.site-shell{grid-template-columns:155px minmax(0,540px) 85px;column-gap:20px;padding:0 12px}.mast-title{font-size:24px}.small-logo{right:10px}.leftnav{font-size:12px}.abmp{width:65px}}
/* Owner-provided original product photos and affiliate destination links */
.product-photo-link{display:inline-block;max-width:100%;text-decoration:none}
.product-photo-link img{transition:transform .15s ease}
.product-photo-link:hover img,.product-photo-link:focus-visible img{transform:scale(1.035)}
.product-buy-link{display:inline-block;color:#357b20;text-underline-offset:3px;font:600 13px/1.5 Arial,Helvetica,sans-serif;margin:3px 0 0}
.product-buy-link:hover{color:#20560d}
.policy p{line-height:1.55;margin-bottom:16px}
.policy h3{margin-top:24px}

/* Linked Facebook icon in the right rail */
a.fb{cursor:pointer}a.fb:hover,a.fb:focus-visible{background:#2f4b7a;outline-offset:3px}


/* Desktop layout refresh: wider reading space, breathable photos, readable typography. */
@media (min-width:791px) {
  :root { --wide: 1440px; }
  body { font-size: 17px; line-height: 1.56; }
  .masthead { height: 160px; }
  .mast-inner { max-width: var(--wide); align-items: center; }
  .mast-title { font-size: clamp(25px, 2.25vw, 34px); padding: 0 120px 0 135px; }
  .mast-title small { font-size: 15px; text-align: center; margin: 7px 0 0; }
  .small-logo { width: 83px; right: 52px; top: 33px; }
  .mast-leaves { width: 240px; height: 179px; left: 10px; }
  .site-shell {
    max-width: var(--wide);
    grid-template-columns: 205px minmax(0, 1fr) 55px;
    column-gap: clamp(24px, 3.4vw, 46px);
    padding: 0 34px;
    min-height: 650px;
  }
  .site-shell:before { left: 25px; }
  .leftnav { font-size: 14px; line-height: 1.55; padding: 125px 0 45px 14px; }
  .leftnav li { margin-bottom: 16px; }
  .leftnav a { max-width: 195px; }
  .rightside { padding-top: 54px; }
  .fb { margin-right: 0; }
  .page-content { padding: 46px 0 100px; }
  .page-label { font-size: 26px; margin-bottom: 45px; }
  .narrow { max-width: min(820px, 100%); }
  .biopage { max-width: min(820px, 100%); }
  .home-banner { max-width: 670px; }
  .home-intro { font-size: 18px; line-height: 1.55; }
  .home-intro h1 { font-size: 32px; line-height: 1.18; }
  .room-photo, .massage-collage { width: min(660px, 100%); }
  .photo-caption { font-size: 15px; line-height: 1.5; }
  .big-italic { font-size: 29px; line-height: 1.22; }
  .main-title { font-size: 30px; }
  .small-intro, .price p, .product-description { font-size: 16px; }
  .price { margin: 35px 0; }
  .price h3 { font-size: 19px; line-height: 1.4; }
  .price p { line-height: 1.55; }
  .hours-table, .prices-table { font-size: 15px; }
  .hours-table td { padding: 11px 12px; }
  .biopage .head { font-size: 30px; }
  .biopage .tagline { font-size: 24px; }
  .bio-paragraph { font-size: 17px; line-height: 1.65; margin: 24px 0; }
  .portrait { width: 310px; }
  .nature-photo { width: 380px; }
  .faq-title { font-size: 35px; }
  .faq-item h3, .policy h3 { font-size: 19px; }
  .faq-item p, .policy p, .review p { line-height: 1.7; }
  .product-intro { max-width: 680px; font-size: 17px; }
  .product-category { font-size: 25px; margin-top: 63px; }
  .product-entry {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 210px;
    grid-template-rows: auto 1fr auto;
    column-gap: 32px;
    row-gap: 6px;
    align-items: start;
    padding: 26px 0 30px;
  }
  .product-entry h3 { grid-column: 1; grid-row: 1; font-size: 19px; }
  .product-entry p { grid-column: 1; grid-row: 2; font-size: 16px; line-height: 1.6; margin: 0 0 8px; }
  .product-entry .product-photo-link { grid-column: 2; grid-row: 1 / span 3; align-self: center; justify-self: center; }
  .product-entry .product-buy-link { grid-column: 1; grid-row: 3; font-size: 15px; }
  .product-entry img { max-width: 205px; max-height: 190px; margin: 0 auto; }
  .rule { margin: 37px 0; }
  .booking { margin-top: 50px; margin-bottom: 58px; }
}
@media (min-width:791px) and (max-width:1120px) {
  .site-shell {
    grid-template-columns: 165px minmax(0, 1fr) 40px;
    column-gap: 22px;
    padding: 0 20px;
  }
  .site-shell:before { left: 8px; }
  .leftnav { padding-left: 9px; font-size: 12.5px; }
  .leftnav a { max-width: 155px; }
  .mast-title { font-size: clamp(22px, 2.5vw, 28px); padding: 0 86px 0 116px; }
  .small-logo { width: 61px; right: 24px; top: 25px; }
  .mast-leaves { width: 175px; left: 0; }
  .page-content { padding-top: 36px; }
  .product-entry { grid-template-columns: minmax(0, 1fr) 140px; column-gap: 18px; }
  .product-entry img { max-width: 137px; max-height: 150px; }
}


/* Original full-size business card and centered treatment photos */
.page-content img.portrait,
.page-content img.nature-photo {
  display: block;
  height: auto;
  max-width: 100%;
  margin-left: auto;
  margin-right: auto;
}
@media (min-width:1121px) {
  .masthead { height: 185px; }
  .mast-title { padding-left: 155px; padding-right: 275px; font-size: clamp(25px, 2.1vw, 32px); }
  .small-logo { width: 225px; height: auto; max-height: 143px; right: 20px; top: 23px; object-fit: contain; }
}
@media (min-width:791px) and (max-width:1120px) {
  .masthead { height: 175px; }
  .mast-title { padding-left: 115px; padding-right: 185px; font-size: clamp(21px, 2.4vw, 27px); }
  .small-logo { width: 160px; height: auto; right: 12px; top: 34px; object-fit: contain; }
}
@media (max-width:790px) {
  .masthead { height: 150px; }
  .mast-title { font-size: 17px; line-height: 1.15; padding: 23px 135px 0 64px; }
  .mast-title small { font-size: 10px; line-height: 1.3; margin-top: 6px; }
  .mast-leaves { width: 118px; left: -36px; top: 0; }
  .small-logo { width: 116px; height: auto; top: 37px; right: 7px; }
}


/* Product category navigation: distinct botanical section headings */
.product-category,
.product-category.rulebefore {
  display: block;
  margin: 76px 0 30px;
  padding: 19px 24px 18px;
  color: #2d681b;
  background: linear-gradient(95deg, #e8f2dc 0%, #f6faef 100%);
  border: 0;
  border-left: 5px solid #78a74b;
  border-radius: 0 9px 9px 0;
  font-family: Georgia, 'Times New Roman', serif;
  font-size: clamp(24px, 2.1vw, 30px);
  font-weight: 700;
  line-height: 1.3;
  letter-spacing: .15px;
}
.product-category + .product-entry {
  padding-top: 11px;
}
@media (max-width: 790px) {
  .product-category,
  .product-category.rulebefore {
    margin: 49px 0 23px;
    padding: 14px 15px;
    font-size: 22px;
    border-left-width: 4px;
  }
}


/* Restore visible EHW office contact number */
.legacy-footer .footer-office {
  margin: 9px auto 3px;
  font: 600 15px/1.5 Arial, Helvetica, sans-serif;
  color: #214e16;
  max-width: 850px;
}
.legacy-footer .footer-office a {
  color: #164e1b;
  font-weight: 700;
  text-decoration: underline;
  text-underline-offset: 2px;
  white-space: nowrap;
}
.office-contact {
  margin: 27px auto;
  padding: 22px 24px;
  background: #f2f8eb;
  border-left: 4px solid #80a74f;
  border-radius: 0 8px 8px 0;
}
.office-contact h3 {
  margin: 0 0 9px;
  font-size: 21px;
  color: #326d20;
}
.office-contact p {
  margin: 7px 0;
  font-size: 16px;
}
.office-contact .office-phone {
  margin: 13px auto 0;
  font: 700 26px/1.3 Arial, Helvetica, sans-serif;
}
.office-contact .office-phone a {
  color: #265c1c;
  text-decoration: underline;
  text-underline-offset: 4px;
}
@media (max-width:790px) {
  .legacy-footer .footer-office { font-size: 13px; padding: 0 9px; }
  .office-contact { padding: 18px 14px; }
  .office-contact .office-phone { font-size: 24px; }
}
