.inner-page{background:#fcfaf5}.inner-hero{max-width:1200px;min-height:340px;margin:auto;display:grid;grid-template-columns:50% 50%;align-items:stretch}.inner-hero>div{padding:70px 35px 45px 6vw;display:flex;flex-direction:column;justify-content:center}.inner-hero h1,.booking-title h1{font-size:54px}.inner-hero>div>p:not(.section-label){max-width:480px;line-height:1.65}.inner-hero>img{width:100%;height:100%;max-height:390px;object-fit:cover}.hero-buttons{display:flex;gap:16px;margin-top:16px}.page-section{max-width:1120px;margin:0 auto;padding:25px 28px}.ornament-title{font-size:38px;margin-bottom:24px}.ornament-title:after{content:" ✣";display:block;color:var(--gold);font-size:15px}.category-tabs{max-width:1120px;margin:0 auto;padding:18px 28px;display:flex;gap:10px;overflow:auto}.category-tabs button{background:#fff;border:1px solid #e4d6bd;border-radius:7px;padding:12px 24px;white-space:nowrap}.category-tabs .active{background:var(--green);color:white}.featured-services{display:grid;grid-template-columns:repeat(6,1fr);gap:10px}.featured-services article{border:1px solid #e5d9c7;border-radius:10px;padding:8px;background:#fff}.service-art{height:130px;background:radial-gradient(circle at 50% 45%,#d8b04c,#1b4d34 45%,#102e21);border-radius:8px;display:grid;place-items:center}.service-art span{font-size:44px;color:#fff}.featured-services h3{font-family:var(--serif);color:var(--green);font-size:18px;margin:9px 0}.featured-services p{font-size:11px;line-height:1.5;min-height:65px}.featured-services small{display:inline-block;background:#edf2e7;padding:3px 7px;border-radius:8px;font-size:9px}.featured-services a{display:block;color:var(--green);font-weight:700;font-size:11px;margin-top:8px}.service-accordions details,.faq-section details{border:1px solid #e7dbc9;background:#fffdf9;border-radius:7px;margin:7px 0}.service-accordions summary,.faq-section summary{padding:13px 16px;cursor:pointer;font-weight:600}.service-accordions details>div{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;padding:0 14px 14px}.service-accordions a{padding:16px;border:1px solid #ece2d2;border-radius:7px;color:var(--ink);text-decoration:none}.service-accordions a b{float:right}.faq-section details p{padding:0 16px 14px;margin:0;color:var(--muted)}.guidance-callout{display:grid;grid-template-columns:1.2fr 1.8fr auto;align-items:center;gap:25px;background:#eef2e9;border:1px solid #d6dfcf;border-radius:12px}.guidance-callout h2{text-align:left}.guidance-callout ol{display:flex;justify-content:space-around;gap:20px}.format-section>div{display:grid;grid-template-columns:1fr 1fr;gap:18px}.format-section article{border:1px solid #dfd2bc;border-radius:12px;padding:22px;background:#f5f7ef}.format-section article:last-child{background:#fbf3e5}.format-section i{float:left;width:60px;height:60px;display:grid;place-items:center;border-radius:50%;background:#dce7d5;font-style:normal;font-size:30px;margin-right:18px}.format-section h3{font-family:var(--serif);font-size:25px;color:var(--green);margin:0}.format-section a{display:block;text-align:center;background:var(--green);color:#fff;padding:10px;border-radius:6px;text-decoration:none;margin-top:15px}.format-section li{margin:7px}.page-cta{background:var(--green);color:#fff;padding:28px 8%;display:grid;grid-template-columns:1fr auto;align-items:center}.page-cta h2{color:#fff;text-align:left}.page-cta p{grid-column:1}.page-cta .btn{grid-column:2;grid-row:1/3;background:#fff6e8;color:var(--green)}.three-trust{max-width:1120px;margin:0 auto 20px;display:grid;grid-template-columns:repeat(3,1fr);border:1px solid #e4d9c7;background:#fff;border-radius:10px}.three-trust div{padding:20px;text-align:center;border-right:1px solid #e4d9c7}.three-trust div:last-child{border:0}.journey-list{max-width:850px;margin:auto;display:grid;grid-template-columns:1fr 1fr;gap:12px 75px;position:relative}.journey-list article{border:1px solid #e6d9c6;border-radius:10px;padding:15px;display:flex;gap:14px;align-items:center}.journey-list article>b{width:42px;height:42px;border-radius:50%;background:var(--green);color:#fff;display:grid;place-items:center}.journey-list article i{font-style:normal;font-size:25px}.journey-list h3{margin:0;color:var(--green);font-family:var(--serif)}.journey-list p{font-size:11px;margin:5px 0}.status-flow{display:grid;grid-template-columns:repeat(4,1fr);gap:4px}.status-flow span{text-align:center;padding:28px 8px 8px;border-top:2px dotted #c7a552}.status-card{border:1px solid #e3d5be;border-radius:10px;margin-top:18px;padding:18px;display:grid;grid-template-columns:1fr 1fr;gap:10px}.preparation{display:grid;grid-template-columns:1fr 1fr;gap:25px}.preparation h2{text-align:left}.preparation>div>p{border:1px solid #e5d8c5;border-radius:6px;padding:10px}.review-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.review-grid article{border:1px solid #e5d8c5;border-radius:10px;padding:16px;display:flex;gap:12px;background:white}.featured-review{grid-column:span 2}.avatar{width:50px;height:50px;flex:0 0 50px;border-radius:50%;background:var(--green);color:#fff;display:grid;place-items:center;font-family:var(--serif);font-size:23px}.stars{color:#ce8c13}.review-grid blockquote{font-family:var(--serif);font-size:18px;margin:8px 0}.review-grid small{display:block;color:#3b8b52;margin-top:6px}.video-stories>div{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.video-stories article{height:180px;background:linear-gradient(135deg,#6d7e66,#302b22);border-radius:10px;color:#fff;display:grid;place-items:center}.video-stories article span{font-size:40px}.video-stories article p{align-self:end}.share-story{border:1px solid #e5d4b7;border-radius:10px;background:#fff8e9;display:grid;grid-template-columns:1fr auto auto;gap:15px;align-items:center}.share-story h2{text-align:left}.contact-options{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.contact-options a{background:#fff;border:1px solid #eadfce;border-radius:9px;padding:18px;text-decoration:none;color:var(--ink);display:grid;grid-template-columns:50px 1fr}.contact-options i{grid-row:1/3;font-style:normal;font-size:25px}.contact-options b{font-family:var(--serif);font-size:20px}.contact-options span{font-size:12px}.contact-layout{display:grid;grid-template-columns:1.2fr .8fr;gap:18px}.contact-form,.contact-aside article{background:#fff;border:1px solid #e7dccb;border-radius:10px;padding:20px}.contact-form h2,.contact-aside h2{font-size:30px;text-align:left}.contact-form>p{text-align:center}.two-fields{display:grid;grid-template-columns:1fr 1fr;gap:12px}.contact-form label{display:block;margin:10px 0;font-size:12px;font-weight:600}.contact-form input,.contact-form select,.contact-form textarea{width:100%;padding:11px;border:1px solid #d9d5cd;border-radius:5px;margin-top:5px}.contact-method{display:grid;grid-template-columns:repeat(3,1fr)}.contact-method input{position:absolute;opacity:0}.contact-method span{display:block;text-align:center;border:1px solid #d8d4cb;padding:10px}.contact-method input:checked+span{background:var(--green);color:#fff}.contact-form .check{display:flex;gap:7px}.contact-form .check input{width:auto}.contact-form button{width:100%}.contact-aside{display:grid;gap:12px}.contact-aside p{line-height:1.5}.map-placeholder{height:145px;background:repeating-linear-gradient(35deg,#eef0eb,#eef0eb 12px,#fff 12px,#fff 24px);display:grid;place-items:center;font-size:25px}.contact-process>div{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.contact-process article{text-align:center}.contact-process b{display:grid;place-items:center;width:45px;height:45px;border-radius:50%;background:var(--gold);color:#fff;margin:auto}.medical-notice{border:1px solid #ef9d95;background:#fff0ef;border-radius:8px;color:#a33027;display:flex;gap:18px}.honeypot{position:absolute!important;left:-9999px!important}.ajax-message{color:#a33027}.booking-page{max-width:1440px;margin:auto;padding:30px 45px 60px}.booking-title{text-align:center}.booking-progress{display:none}.booking-layout{display:grid;grid-template-columns:220px 1fr 275px;gap:16px;margin-top:25px}.booking-steps,.booking-main,.booking-summary{border:1px solid #e4d8c6;border-radius:14px;background:#fffdf9}.booking-steps{padding:35px 25px;display:grid;grid-template-columns:38px 1fr;gap:25px 12px;align-content:start}.booking-steps b{width:35px;height:35px;border-radius:50%;border:1px solid #aebbaf;display:grid;place-items:center}.booking-main{overflow:hidden}.session-types{display:grid;grid-template-columns:1fr 1fr;gap:22px;padding:35px}.session-types input{position:absolute;opacity:0}.session-types span{display:grid;grid-template-columns:65px 1fr;border:1px solid #dccdb4;border-radius:10px;padding:20px}.session-types input:checked+span{border:2px solid var(--green);background:#f1f5ed}.session-types i{grid-row:1/3;font-size:35px;font-style:normal}.session-types b{font-family:var(--serif);font-size:23px}.session-types small{margin-top:6px}.booking-service{display:block;border-top:1px solid #e5d8c4;border-bottom:1px solid #e5d8c4;padding:18px 35px}.booking-service select{display:block;width:55%;padding:12px;margin-top:8px;border:1px solid #d9cfbf}.booking-date{display:grid;grid-template-columns:1fr 1fr}.booking-date>div,.booking-date fieldset{padding:25px;border:0;margin:0}.booking-date input[type=date]{display:block;width:100%;padding:12px;margin-top:8px}.calendar-preview{height:160px;border:1px solid #dfd4c3;margin-top:12px;display:grid;place-items:center;text-align:center}.calendar-preview span{display:block;font-size:12px}.booking-date fieldset label{display:block}.booking-date fieldset input{position:absolute;opacity:0}.booking-date fieldset span{display:block;padding:12px;border:1px solid #79967f;border-radius:6px;margin:8px}.booking-date fieldset input:checked+span{background:var(--green);color:#fff}.booking-details{padding:25px;border-top:1px solid #e5d8c4;display:grid;grid-template-columns:1fr 1fr;gap:12px}.booking-details input,.booking-details textarea{padding:12px;border:1px solid #d9cfbf}.booking-details textarea,.booking-details .check{grid-column:1/3}.booking-details .check{display:flex}.booking-details .check input{width:auto}.booking-summary{padding:28px 18px;background:#eff2e9}.booking-summary h2{font-size:28px}.booking-summary p{padding:13px;border-bottom:1px dashed #d4cbbd;display:flex;flex-direction:column}.booking-summary p b{font-size:11px;color:var(--muted)}.booking-summary button{width:100%}.booking-summary>small{display:block;text-align:center;margin-top:12px}
@media(max-width:720px){.inner-page+.site-footer,.booking-page+.site-footer{display:grid;padding-bottom:90px}.inner-hero{display:flex;flex-direction:column;min-height:0}.inner-hero>div{padding:30px 42px 16px}.inner-hero h1{font-size:38px}.inner-hero>img{height:280px;order:2}.hero-buttons{flex-direction:column}.hero-buttons .btn{width:100%}.page-section{padding:18px 42px}.category-tabs{padding:14px 28px}.featured-services{grid-template-columns:1fr 1fr}.featured-services article{display:grid;grid-template-columns:46% 54%;padding:0;overflow:hidden}.service-art{height:145px;grid-row:1/6;border-radius:0}.featured-services h3,.featured-services p,.featured-services small,.featured-services a{margin-left:10px;margin-right:8px}.featured-services p{min-height:0}.service-accordions details>div{grid-template-columns:1fr}.guidance-callout{margin:0 42px;grid-template-columns:1fr}.guidance-callout ol{padding-left:18px}.format-section>div{grid-template-columns:1fr}.three-trust{margin:12px 42px;grid-template-columns:repeat(3,1fr)}.three-trust div{padding:13px 7px;font-size:12px}.journey-list{grid-template-columns:1fr;gap:8px}.journey-list article{padding:10px}.status-flow{font-size:11px}.preparation{grid-template-columns:1fr}.review-grid{grid-template-columns:1fr}.featured-review{grid-column:auto}.video-stories>div{grid-template-columns:repeat(3,1fr);overflow:auto}.video-stories article{height:150px}.share-story{grid-template-columns:1fr}.contact-options{grid-template-columns:1fr 1fr}.contact-layout{grid-template-columns:1fr}.two-fields{grid-template-columns:1fr}.contact-process>div{grid-template-columns:repeat(3,1fr)}.medical-notice{margin:0 42px;flex-direction:column}.page-cta{grid-template-columns:1fr;text-align:center}.page-cta h2{text-align:center}.page-cta .btn{grid-column:1;grid-row:auto}.booking-page{padding:25px 20px}.booking-title h1{font-size:44px}.booking-progress{display:grid;grid-template-columns:repeat(4,1fr);margin:22px 0}.booking-progress span{text-align:center}.booking-progress span:before{content:"";display:block;border-top:1px dashed #abb7aa;position:relative;top:18px;z-index:-1}.booking-progress span{font-size:16px}.booking-progress small{display:block;font-size:11px}.booking-layout{display:flex;flex-direction:column;margin:0}.booking-steps{display:none}.booking-main{border:0}.session-types{grid-template-columns:1fr;padding:10px 0}.booking-service{padding:12px 0;border:0}.booking-service select{width:100%}.booking-date{grid-template-columns:1.2fr 1fr}.booking-date>div,.booking-date fieldset{padding:12px 0}.booking-date fieldset span{margin:8px 0 8px 8px}.booking-details{grid-template-columns:1fr;padding:12px 0;border:0}.booking-details textarea,.booking-details .check{grid-column:1}.booking-summary{order:3}.mobile-action-bar{display:none}}
@media(max-width:420px){.inner-hero>div,.page-section{padding-left:20px;padding-right:20px}.three-trust,.guidance-callout,.medical-notice{margin-left:20px;margin-right:20px}.featured-services h3{font-size:16px}.featured-services p{font-size:10px}.contact-options{padding-left:20px;padding-right:20px}.booking-date{grid-template-columns:1fr}}

/* Full, proportional header logo — prevents cropping of the square source. */
.site-header .brand{
  width:210px!important;
  height:72px!important;
  overflow:visible!important;
  flex:0 0 210px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:flex-start!important;
}
.site-header .brand img{
  display:block!important;
  width:auto!important;
  height:70px!important;
  max-width:100%!important;
  max-height:70px!important;
  object-fit:contain!important;
  object-position:center!important;
}
@media(max-width:720px){
  .site-header .header-inner{display:grid!important;grid-template-columns:44px minmax(0,1fr) 44px!important;gap:10px!important}
  .site-header .brand{
    width:100%!important;
    height:66px!important;
    min-width:0!important;
    flex:none!important;
    justify-content:center!important;
  }
  .site-header .brand img{
    width:auto!important;
    height:64px!important;
    max-width:100%!important;
    max-height:64px!important;
    object-fit:contain!important;
  }
}
.legal-page{background:#fcfaf5;min-height:70vh}.legal-hero{text-align:center;padding:58px 20px 42px;background:linear-gradient(135deg,#f5efe2,#fffdf8)}.legal-hero h1{font-size:52px}.legal-hero>p:last-child{color:var(--muted)}.legal-layout{max-width:1120px;margin:0 auto;padding:45px 28px 70px;display:grid;grid-template-columns:230px 1fr;gap:45px}.legal-layout aside{position:sticky;top:115px;align-self:start;border:1px solid #e4d8c5;background:#fff;border-radius:10px;padding:18px;display:flex;flex-direction:column}.legal-layout aside strong{font-family:var(--serif);font-size:21px;color:var(--green);margin-bottom:10px}.legal-layout aside a{color:var(--ink);text-decoration:none;padding:9px 0;border-bottom:1px solid #eee6da;font-size:12px}.legal-layout article{background:#fff;border:1px solid #e7dccb;border-radius:12px;padding:20px 42px}.legal-layout section{padding:15px 0;border-bottom:1px solid #eee6da}.legal-layout section:last-child{border:0}.legal-layout h2{text-align:left;font-size:28px}.legal-layout p,.legal-layout li{line-height:1.75;color:#3d4741}.legal-layout a{color:var(--green)}.policy-table{display:grid;gap:10px}.policy-table>div{border:1px solid #e2d6c4;border-radius:8px;padding:14px;display:grid;grid-template-columns:235px 1fr;gap:20px}.policy-table b{color:var(--green)}
@media(max-width:720px){.legal-hero{padding:38px 20px 28px}.legal-hero h1{font-size:39px}.legal-layout{display:block;padding:20px 18px 60px}.legal-layout aside{position:static;margin-bottom:16px}.legal-layout article{padding:12px 20px}.legal-layout h2{font-size:25px}.legal-layout p,.legal-layout li{font-size:13px}.policy-table>div{grid-template-columns:1fr;gap:7px}}

/* Shared mobile navigation fix — intentionally loaded after style.css. */
@media(max-width:720px){
  body.menu-open{overflow:hidden!important;touch-action:none}
  /* The navigation lives inside the header. Keep the complete header stacking
     context above the page overlay, otherwise the overlay obscures the menu. */
  .site-header{z-index:10010!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important}
  .menu-toggle{position:relative!important;z-index:1003!important;display:flex!important;align-items:center!important;justify-content:center!important;width:42px!important;height:42px!important;padding:7px!important;border:0!important;background:transparent!important}
  .menu-toggle span{display:block!important;position:absolute!important;width:27px!important;height:2px!important;background:#123f2a!important;border-radius:2px!important;transition:transform .22s ease,opacity .18s ease!important}
  .menu-toggle span:nth-child(1){transform:translateY(-8px)!important}
  .menu-toggle span:nth-child(2){transform:translateY(0)!important}
  .menu-toggle span:nth-child(3){transform:translateY(8px)!important}
  .menu-toggle[aria-expanded="true"] span:nth-child(1){transform:rotate(45deg)!important}
  .menu-toggle[aria-expanded="true"] span:nth-child(2){opacity:0!important}
  .menu-toggle[aria-expanded="true"] span:nth-child(3){transform:rotate(-45deg)!important}
  .main-nav{display:flex!important;position:fixed!important;top:76px!important;left:0!important;bottom:0!important;width:min(86vw,340px)!important;height:calc(100dvh - 76px)!important;margin:0!important;padding:20px 22px 32px!important;flex-direction:column!important;align-items:stretch!important;justify-content:flex-start!important;gap:0!important;overflow-y:auto!important;background:#fffdf8!important;background-color:#fffdf8!important;background-image:none!important;border-right:1px solid #e6dccd!important;box-shadow:18px 0 45px rgba(14,43,29,.18)!important;z-index:10020!important;isolation:isolate!important;transform:translate3d(-105%,0,0)!important;visibility:hidden!important;opacity:0!important;transition:transform .25s ease,opacity .2s ease,visibility 0s linear .25s!important}
  .main-nav.open{transform:translate3d(0,0,0)!important;visibility:visible!important;opacity:1!important;transition:transform .25s ease,opacity .2s ease!important}
  .main-nav a{display:flex!important;align-items:center!important;min-height:54px!important;margin:0!important;padding:14px 10px!important;color:#17231c!important;background:transparent!important;border:0!important;border-bottom:1px solid #e7ded0!important;text-decoration:none!important;font:600 16px/1.25 Inter,Arial,sans-serif!important}
  .main-nav a.active{color:#123f2a!important;border-bottom-color:#c89a3c!important}
  .main-nav a:last-child{border-bottom:0!important}
  .nav-overlay:not([hidden]){display:block!important;position:fixed!important;inset:76px 0 0!important;background:rgba(15,28,21,.48)!important;backdrop-filter:blur(1px)!important;z-index:9990!important}
}


.booking-date fieldset .slot-list{display:block}
.booking-date fieldset .slot-note{margin:8px;padding:12px 14px;border:1px dashed #c7a552;border-radius:6px;background:#fbf6ea;font-size:12px;line-height:1.5;color:#7a5b12}
