/*
Theme Name: Mana Loa Premium
Theme URI: https://heilpraxis-manaloa.de/
Author: Mana Loa Design
Description: Individuelles, responsives WordPress-Theme für Heilpraxis Mana Loa – Vivien Witte. Originales Logo, warmes Elfenbein, Bordeaux- und Goldakzente, Originalportrait im Header und editierbare Inhalte im Customizer.
Version: 2.10.0
Requires at least: 6.0
Tested up to: 7.1
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: mana-loa-premium
*/
:root{
 --ivory:#F7F3EC;
 --wine:#874F59;
 --wine-rich:#9D3F49;
 --wine-dark:#6D343D;
 --gold:#B58A4A;
 --gold-soft:#C7A16A;
 --sage:#68765E;
 --ink:#242724;
 --text:#4E4C47;
 --line:rgba(181,138,74,.20);
 --shadow:0 10px 34px rgba(65,48,33,.065);
 --serif:Georgia,'Times New Roman',serif;
 --sans:system-ui,-apple-system,BlinkMacSystemFont,'Segoe UI',Arial,sans-serif;
}
*,*:before,*:after{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:120px}
body{margin:0;background:var(--ivory);color:var(--text);font-family:var(--sans);font-size:16px;line-height:1.65;-webkit-font-smoothing:antialiased}
body.admin-bar .site-header{top:32px}
img{max-width:100%;height:auto;display:block}
a{color:var(--wine);text-decoration:none}
a:hover{color:var(--wine-dark)}
button,a{-webkit-tap-highlight-color:transparent}
button,input,textarea{font:inherit}
:focus-visible{outline:3px solid var(--gold);outline-offset:4px}
::selection{background:#EAD9C5;color:#463336}
.page-width{width:min(1200px,calc(100% - 84px));margin-inline:auto}
.skip-link{position:absolute;top:-100px;left:20px;z-index:9999;padding:14px;background:var(--ivory)}
.skip-link:focus{top:14px}
h1,h2,h3,h4,p{margin-top:0}
h1,h2,h3,h4{font-family:var(--serif);font-weight:normal;color:var(--ink);line-height:1.14}
.section-space{padding:72px 0}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:46px;padding:11px 28px;border-radius:50px;border:1px solid transparent;white-space:nowrap;font-size:14px;font-weight:500;line-height:1.15;transition:background .2s ease,transform .2s ease,color .2s ease,box-shadow .2s ease}
.btn:hover{transform:translateY(-2px)}
.btn-main{background:var(--wine-rich);color:#fff;box-shadow:0 3px 10px rgba(134,74,79,.08)}
.btn-main:hover,.btn-main:focus-visible{background:var(--wine-dark);color:#fff}
.btn-outline{background:transparent;border:1px solid var(--wine-rich);color:var(--wine-dark)}
.btn-outline:hover{background:rgba(157,63,73,.045)}
.btn-small{min-height:40px;padding:10px 19px;font-size:13px}
.icon{color:var(--gold);flex-shrink:0}
.eyebrow{font-size:12px;letter-spacing:.17em;font-weight:600;color:#545753;line-height:1.65}
.eyebrow-line:after,.gold-rule,.section-heading:after{content:'';display:block;background:var(--gold);width:49px;height:1px;margin-top:11px}
.section-heading{font-size:clamp(32px,3.2vw,43px);text-align:center;margin-bottom:36px}
.section-heading:after{margin:17px auto 0}
/* Stationary, sticky navigation. The page scrolls underneath. */
.site-header{position:sticky;top:0;z-index:100;background:rgba(247,243,236,.97);backdrop-filter:blur(13px);-webkit-backdrop-filter:blur(13px);border-bottom:1px solid rgba(181,138,74,.12)}
.header-inner{height:98px;display:flex;align-items:center;gap:25px;justify-content:space-between}
.brand{display:flex;width:186px;flex:0 0 186px;align-items:center;justify-content:center}
.brand-logo{width:100%;max-height:69px;object-fit:contain}
.site-nav{display:flex;align-items:center;justify-content:center;flex:1}
.menu{display:flex;align-items:center;gap:clamp(19px,2.2vw,32px);list-style:none;margin:0;padding:0}
.menu a{display:block;padding:9px 0;font-size:16px;font-weight:500;color:#3D3D39;border-bottom:1px solid transparent}
.menu a:hover,.menu .current-menu-item>a,.menu .current_page_item>a{color:var(--wine-rich);border-bottom-color:var(--wine-rich)}
.header-cta{font-size:13px;padding:12px 23px;flex-shrink:0}
.nav-toggle,.nav-mobile-cta{display:none}
/* Hero */
.hero{min-height:590px;position:relative;isolation:isolate;overflow:hidden;margin-top:0}
.hero-scenery{position:absolute;inset:0 auto 0 0;width:65%;background-image:var(--hero-image);background-repeat:no-repeat;background-size:cover;background-position:left 42%;z-index:-2}
.hero-scenery:before{content:'';position:absolute;inset:0;background:linear-gradient(to bottom,rgba(247,243,236,.04),rgba(247,243,236,.02))}
.hero-soft-overlay{position:absolute;inset:0;z-index:-1;background:linear-gradient(to right,rgba(247,243,236,0) 15%,rgba(247,243,236,.06) 29%,rgba(247,243,236,.42) 43%,rgba(247,243,236,.88) 57%,rgba(247,243,236,.98) 71%,var(--ivory) 86%)}
.hero-inner{min-height:590px;display:flex;align-items:center;justify-content:flex-end;padding:47px 0 87px}
.hero-copy{text-align:center;width:58%;max-width:640px;padding-left:44px}
.hero-copy .eyebrow{margin-bottom:21px}
.hero-copy h1{max-width:600px;font-size:clamp(32px,3.3vw,47px);line-height:1.13;color:var(--wine-rich);margin-bottom:18px;text-wrap:balance}
.hero-lead{font-family:var(--serif);font-size:clamp(18px,1.65vw,23px);line-height:1.4;color:#43423C;max-width:470px;margin:0 auto 22px;text-wrap:balance}
.hero-pillars{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;margin-top:34px}
.hero-pillars>div{display:flex;flex-direction:column;align-items:center;gap:8px;min-width:0}
.hero-pillars .icon{width:35px;height:35px;color:var(--gold);stroke-width:1.35}
.hero-pillars span{font-size:10.5px;letter-spacing:0;line-height:1.36;color:#4b4a45;font-weight:550;hyphens:auto}
.hero-wave{position:absolute;bottom:-1px;width:100%;height:50px;pointer-events:none}
.hero-wave svg{display:block;width:100%;height:100%}
/* Welcome */
.botanical-edge{position:relative;isolation:isolate}
.botanical-edge:before{content:'';position:absolute;left:0;top:14%;height:225px;width:85px;background-image:url('assets/icons/botanical.svg');background-repeat:no-repeat;background-size:contain;pointer-events:none;z-index:-1;opacity:.7}
.welcome{padding-top:57px;padding-bottom:63px}
.welcome-grid{display:block;width:min(1200px,calc(100% - 84px))}
.welcome-copy{width:100%;max-width:none}.welcome-copy .eyebrow{margin-bottom:9px;letter-spacing:.07em;text-transform:none}
.welcome-copy h2{font-size:clamp(29px,2.8vw,38px);margin-bottom:17px}
.welcome-copy .gold-rule{margin:-3px 0 22px}
.welcome-copy p:not(.eyebrow){line-height:1.65;margin-bottom:15px;max-width:1100px}
.action-row{display:flex;align-items:center;flex-wrap:wrap;gap:13px;margin-top:22px}
.action-row .icon{width:19px;height:19px;color:var(--wine-rich)}
.welcome-visual{min-height:460px;position:relative;align-self:stretch;border-radius:3px;overflow:hidden;background:var(--ivory)}
.welcome-visual>img{width:100%;height:100%;max-height:530px;min-height:460px;object-fit:cover;object-position:39% center}
.circle-stamp{position:absolute;width:170px;height:170px;border-radius:50%;background:rgba(247,243,236,.96);border:1px solid var(--gold);box-shadow:0 0 0 8px rgba(247,243,236,.67),0 8px 22px rgba(48,31,21,.07);right:-5px;bottom:38px;display:flex;align-items:center;justify-content:center;flex-direction:column;text-align:center;font-family:var(--serif);font-size:21px;line-height:1.17;color:#4F4841}
.circle-stamp span{font-family:var(--sans);font-size:30px;color:var(--gold);margin-top:8px}
/* Four strengths */
.benefits{padding-top:39px;padding-bottom:55px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.benefits-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr))}
.benefit{padding:0 24px;text-align:center;border-right:1px solid var(--line)}
.benefit:last-child{border-right:0}
.benefit .icon{width:45px;height:45px;margin:0 auto 12px}
.benefit h3{font-size:19px;margin-bottom:11px;font-weight:600}
.benefit p{font-size:14px;line-height:1.5;max-width:240px;margin:0 auto}
/* Offers */
.services{padding-top:64px;padding-bottom:69px}
.services-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px}
.service-card{min-width:0;display:flex;flex-direction:column;border:1px solid rgba(181,138,74,.15);background:var(--ivory);box-shadow:var(--shadow);overflow:hidden;border-radius:7px;text-align:center}
.service-card>img{height:159px;object-fit:cover;width:100%}
.service-card__content{display:flex;flex:1;flex-direction:column;padding:17px 16px 18px;align-items:center}
.service-card h3{font-size:20px;line-height:1.14;min-height:48px;margin-bottom:12px;font-weight:600}
.service-card p{font-size:14px;line-height:1.53;margin-bottom:18px;flex:1}
.service-card .btn{align-self:stretch;max-width:210px;width:100%;white-space:normal}
/* Retreat feature */
.fasten-section{padding:9px 0 55px;border-top:1px solid var(--line);overflow:hidden}
.fasten-grid{display:grid;grid-template-columns:1.04fr 1fr;gap:57px;align-items:center}
.fasten-image{margin-left:calc((min(1200px,100vw - 84px) - 100vw)/2);border-radius:0 4px 4px 0;overflow:hidden;min-height:360px}
.fasten-image img{width:100%;height:370px;object-fit:cover}
.fasten-copy{padding:32px 0 23px;max-width:530px}
.accent-eyebrow{color:var(--gold);margin-bottom:8px}
.fasten-copy h2{font-size:clamp(34px,3.1vw,47px);color:var(--wine-rich);margin-bottom:13px}
.fasten-lead{font-family:var(--serif);font-size:23px;line-height:1.35;color:var(--ink);margin-bottom:13px}
.fasten-copy p:not(.eyebrow):not(.fasten-lead){font-size:15px;max-width:500px;line-height:1.6;margin-bottom:20px}
/* Final contact banner */
.contact-banner{position:relative;isolation:isolate;min-height:275px;overflow:hidden;border-top:1px solid var(--line)}
.contact-nature{position:absolute;inset:0;z-index:-2;background-position:left center;background-size:cover}
.contact-banner:after{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(to right,rgba(247,243,236,.03) 8%,rgba(247,243,236,.47) 36%,rgba(247,243,236,.91) 60%,var(--ivory) 91%)}
.contact-inner{display:flex;justify-content:flex-end;align-items:center;min-height:275px}
.contact-copy{text-align:center;width:54%;max-width:570px}
.contact-copy h2{font-size:clamp(30px,3vw,41px);margin-bottom:10px}
.contact-copy p{font-size:18px;margin-bottom:19px}
/* Subpages */
.interior-main{min-height:58vh}
.interior-shell{max-width:1040px;padding-block:70px 85px}
.interior-heading{margin-bottom:44px}
.interior-heading h1{font-size:clamp(40px,5vw,62px);margin-bottom:15px}
.entry-content{font-size:17px;line-height:1.8;color:#47443F}
.entry-content>h2{font-size:34px;margin-top:38px;margin-bottom:13px}
.entry-content>h3{font-size:25px;margin-top:25px;margin-bottom:8px}
.entry-content p{max-width:760px}
.entry-content ul,.entry-content ol{padding-left:24px;max-width:760px}
.entry-content li{margin-bottom:9px}
.entry-content figure{margin:0 0 30px}
.entry-content figure img{border-radius:8px}
.about-original{max-width:490px;float:right;margin:0 0 28px 45px!important}
.about-original img{width:100%;height:auto}
.content-wide img{width:100%;height:420px;object-fit:cover}
.contact-details{border-top:1px solid var(--line);margin-top:35px;padding:25px 0}
.interior-cta{clear:both;margin-top:55px;padding:30px;border-top:1px solid var(--line);text-align:center}
.interior-cta p{font-family:var(--serif);font-size:24px;color:var(--ink)}
.entry-content .services-grid{margin-top:30px}
.post-summary{padding:26px 0;border-bottom:1px solid var(--line)}
.post-summary h2{font-size:31px}
/* Footers are ivory, not white or another colored background */
.site-footer{padding-top:46px;border-top:1px solid var(--line);background:var(--ivory);font-size:14px}
.footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr;gap:40px;padding-bottom:32px}
.footer-grid p{margin-bottom:6px}.footer-address{margin-top:12px;line-height:1.5}
.footer-brand{font-family:var(--serif);color:var(--wine-rich);font-size:26px;margin-bottom:13px!important}
.footer-grid h2{font-family:var(--sans);font-size:14px;font-weight:700;color:#4B4941;letter-spacing:.04em;margin-bottom:12px}
.footer-grid ul{list-style:none;margin:0;padding:0}
.footer-grid li{margin-bottom:8px}
.footer-grid a{color:#4D4B48}
.footer-grid a:hover{color:var(--wine-rich)}
.footer-bottom{display:flex;gap:15px;justify-content:space-between;border-top:1px solid var(--line);padding:18px 0 25px;font-size:12px;color:#77716B}
/* WordPress default content */
.alignwide{max-width:1050px}.alignfull{width:100%}.wp-block-image img{max-width:100%}

/* Version 1.3 refinements */
.hero{min-height:610px}
.hero-scenery{width:100%;background-size:cover;background-position:center center}
.hero-soft-overlay{position:absolute;inset:0;z-index:-1;background:linear-gradient(to right,rgba(247,243,236,0) 0%,rgba(247,243,236,0) 42%,rgba(247,243,236,.50) 55%,rgba(247,243,236,.86) 66%,rgba(247,243,236,.97) 76%,var(--ivory) 100%)}
.hero-inner{justify-content:flex-end;min-height:610px}
.hero-copy{width:min(48%,600px);margin-left:auto;padding:78px 0 96px;text-align:center}
.welcome{padding-top:62px}
.welcome-copy{max-width:100%}
.welcome .eyebrow{font-size:15px;letter-spacing:.09em;color:#55524c;margin-bottom:10px;text-transform:none}
.welcome-copy h2{font-size:clamp(44px,4.6vw,62px);margin-bottom:20px}
.welcome .eyebrow:after,.welcome .gold-rule{display:none !important}
.services-grid{gap:22px}
.service-card{border:1px solid rgba(181,138,74,.16);box-shadow:0 14px 34px rgba(65,48,33,.085)}
.service-card>img{height:205px;object-fit:cover;object-position:center center;background:#eee7db}
.service-card:nth-child(4)>img{object-position:center 38%}


/* Version 1.4 header and intro refinements */
.hero{min-height:660px;background:var(--ivory)}
.hero-scenery{width:100%;background-size:contain;background-position:left center;background-repeat:no-repeat;background-color:#d9e6f1}
.hero-soft-overlay{position:absolute;inset:0;z-index:-1;background:linear-gradient(to right,rgba(247,243,236,0) 0%,rgba(247,243,236,0) 34%,rgba(247,243,236,.18) 44%,rgba(247,243,236,.58) 56%,rgba(247,243,236,.88) 68%,rgba(247,243,236,.98) 78%,var(--ivory) 100%)}
.hero-inner{justify-content:flex-end;min-height:660px}
.hero-copy{width:min(46%,590px);margin-left:auto;padding:82px 0 104px;text-align:center}
.welcome{padding-top:64px}
.welcome-grid{display:block}
.welcome-copy-full{max-width:100%}
.welcome-copy h2{font-size:clamp(34px,3.5vw,48px);margin-bottom:24px;max-width:980px}
.welcome-copy p{font-size:20px;line-height:1.72;max-width:1100px}


/* V1.5 – ausschließlich angeforderte Änderungen am Header, Willkommen und drei Vorteilen. */
.hero-scenery {
  inset:0;
  width:100%;
  background-image:var(--hero-image);
  background-color:var(--ivory);
  background-size:auto 100%;
  background-repeat:no-repeat;
  background-position:left center;
}
.hero-soft-overlay {
  background:linear-gradient(90deg,
    rgba(247,243,236,0) 0%,
    rgba(247,243,236,0) 38%,
    rgba(247,243,236,.10) 47%,
    rgba(247,243,236,.66) 59%,
    var(--ivory) 76%,
    var(--ivory) 100%);
}
.hero-copy .eyebrow {
  font-family:var(--serif);
  font-size:clamp(18px,1.65vw,23px);
  font-weight:400;
  letter-spacing:0;
  line-height:1.4;
  text-transform:none;
  color:#43423c;
  margin-bottom:19px;
}
.welcome-copy h2 {font-size:clamp(28px,2.6vw,35px);}
.hero-pillars span {overflow-wrap:anywhere;hyphens:auto;}

/* Tablet & compact laptop */
@media(max-width:1100px){
 .page-width{width:calc(100% - 54px)}
 .header-inner{gap:13px}.brand{width:163px;flex-basis:163px}.header-cta{padding-inline:15px}.menu{gap:16px}.menu a{font-size:15px}
 .hero-copy{width:61%;padding-left:42px}.hero-inner{min-height:555px}.hero{min-height:555px}
 .welcome-grid{gap:38px}.service-card__content{padding:15px 10px}.service-card h3{font-size:18px}.services-grid{gap:14px}
 .fasten-image{margin-left:0}
}
@media(max-width:850px){
 .page-width{width:calc(100% - 44px)}
 .header-inner{height:78px}
 .brand{width:165px;flex-basis:165px}.brand-logo{max-height:65px}
 .nav-toggle{display:flex;background:none;border:0;padding:10px;flex-direction:column;gap:5px;align-items:center;justify-content:center;margin-left:auto;cursor:pointer}
 .nav-toggle span{width:24px;height:2px;background:var(--wine-rich);border-radius:2px;transition:transform .2s ease}
 .nav-toggle[aria-expanded=true] span:first-child{transform:translateY(7px) rotate(45deg)}
 .nav-toggle[aria-expanded=true] span:nth-child(2){opacity:0}
 .nav-toggle[aria-expanded=true] span:last-child{transform:translateY(-7px) rotate(-45deg)}
 .site-nav{display:none;position:absolute;top:100%;left:0;right:0;padding:19px 28px 26px;background:var(--ivory);border-bottom:1px solid var(--line);box-shadow:0 18px 23px rgba(50,37,26,.08)}
 .site-nav.is-open{display:block}
 .site-nav .menu{display:flex;flex-direction:column;align-items:stretch;gap:0}
 .site-nav .menu a{padding:12px 5px;font-size:16px}
 .nav-mobile-cta{display:inline-flex;margin-top:16px}
 .header-cta{display:none}
 .hero,.hero-inner{min-height:560px}.hero-scenery{width:100%;background-size:contain;background-position:left center}.hero-soft-overlay{background:linear-gradient(to right,rgba(247,243,236,0) 0%,rgba(247,243,236,.1) 28%,rgba(247,243,236,.5) 47%,rgba(247,243,236,.88) 66%,var(--ivory) 100%)}
 .hero-copy{width:54%;padding-left:12px;margin-left:auto}
 .hero-copy h1{font-size:clamp(31px,4.3vw,40px)}.hero-pillars{gap:9px}.hero-pillars span{font-size:9.1px}
 .welcome-grid{width:calc(100% - 44px)}
 .welcome-copy h2{font-size:34px}.welcome-copy p:not(.eyebrow){font-size:18px}
 .welcome-visual{min-height:420px}.welcome-visual>img{min-height:420px}.circle-stamp{width:133px;height:133px;font-size:17px}
 .benefit{padding-inline:10px}
 .services-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.service-card>img{height:185px}
 .fasten-grid{gap:27px}.fasten-image img{height:330px}
}
@media(max-width:640px){
 body.admin-bar .site-header{top:46px}
 .page-width{width:calc(100% - 36px)}
 .section-space{padding:49px 0}
 .header-inner{height:73px}.brand{width:148px;flex-basis:148px}.brand-logo{max-height:60px}
 /* On phones, keep the person unobstructed in the upper photographic half. */
 .hero{min-height:760px}
 .hero-scenery{inset:0 0 auto;width:100%;height:420px;background-size:contain;background-repeat:no-repeat;background-position:center top;background-color:#d9e6f1}
 .hero-soft-overlay{background:linear-gradient(to bottom,rgba(247,243,236,0) 0%,rgba(247,243,236,.1) 26%,rgba(247,243,236,.72) 48%,var(--ivory) 60%,var(--ivory) 100%)}
 .hero-inner{min-height:760px;align-items:flex-end;padding:0 0 90px}
 .hero-copy{padding:0;width:100%;max-width:none;margin:0 auto}
 .hero-copy .eyebrow{font-size:10px;letter-spacing:.14em;margin-bottom:9px}
 .hero-copy h1{max-width:520px;margin:0 auto 11px;font-size:clamp(31px,9vw,43px)}
 .hero-lead{font-size:18px;max-width:360px;margin-bottom:17px}
 .hero-pillars{margin-top:27px;gap:6px;grid-template-columns:repeat(5,minmax(0,1fr))}
 .hero-pillars .icon{width:28px;height:28px}.hero-pillars span{font-size:9px;line-height:1.18}
 .hero-wave{height:30px}
 .welcome{padding-top:36px}.welcome-grid{width:calc(100% - 36px)}
 .welcome-copy h2{font-size:31px}.welcome-copy p:not(.eyebrow){font-size:17px}
 .welcome-visual{min-height:365px}.welcome-visual>img{min-height:365px;max-height:465px;object-position:37% center}
 .circle-stamp{right:13px;bottom:25px}
 .action-row{gap:10px}.action-row .btn{padding-inline:18px;font-size:13px}
 .benefits-grid{grid-template-columns:1fr 1fr;row-gap:26px}.benefit{border-right:0}.benefit:nth-child(odd){border-right:1px solid var(--line)}.benefit h3{font-size:17px}.benefit p{font-size:13px}.benefit .icon{width:37px;height:37px}
 .services-grid{grid-template-columns:1fr 1fr;gap:13px}.service-card>img{height:138px}.service-card__content{padding:14px 9px 15px}.service-card h3{font-size:17px;min-height:48px}.service-card p{font-size:12px;line-height:1.5}.service-card .btn{padding:9px 7px;font-size:12px}
 .fasten-section{padding:0 0 35px}.fasten-grid{display:block}.fasten-image{margin:0 -18px 0}.fasten-image img{height:250px}.fasten-copy{padding:24px 0 5px}.fasten-copy h2{font-size:38px}.fasten-lead{font-size:21px}
 .contact-banner{min-height:345px}.contact-nature{background-position:left center}.contact-banner:after{background:linear-gradient(to bottom,rgba(247,243,236,.18),rgba(247,243,236,.88) 35%,var(--ivory) 82%)}.contact-inner{min-height:345px;align-items:flex-end;padding-bottom:44px}.contact-copy{width:100%}.contact-copy h2{font-size:31px}.contact-copy p{font-size:16px}
 .botanical-edge:before{width:40px;opacity:.45}
 .interior-shell{padding-block:42px 56px}.interior-heading{margin-bottom:27px}.interior-heading h1{font-size:40px}.entry-content{font-size:16px}.entry-content>h2{font-size:29px}.about-original{max-width:none;float:none;margin:0 0 28px!important}
 .footer-grid{grid-template-columns:1fr 1fr;gap:26px}.footer-grid>div:first-child{grid-column:span 2}.footer-bottom{flex-direction:column}
}
@media(max-width:365px){.services-grid{grid-template-columns:1fr}.service-card>img{height:170px}.hero-pillars span{font-size:7.7px}.action-row .btn{width:100%}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}}

/* V1.5 – Breakpoint complements, preserving a completely visible original photo. */
@media(min-width:851px) and (max-width:1100px){
 .hero-scenery{background-size:auto 100%;background-position:left center}
 .hero-soft-overlay{background:linear-gradient(90deg,transparent 0%,transparent 38%,rgba(247,243,236,.45) 54%,var(--ivory) 73%)}
 .hero-copy .eyebrow{font-size:clamp(18px,1.65vw,23px);letter-spacing:0}
}
@media(max-width:850px) and (min-width:641px){
 .hero-scenery{background-size:auto 100%;background-position:left center}
 .hero-soft-overlay{background:linear-gradient(90deg,transparent 0%,transparent 43%,rgba(247,243,236,.50) 59%,var(--ivory) 79%)}
 .hero-copy .eyebrow{font-size:clamp(17px,2.3vw,20px);letter-spacing:0}
 .hero-pillars span{font-size:9px}
}
@media(max-width:640px){
 .hero-scenery{background-image:var(--hero-mobile-image);background-color:var(--ivory);background-size:auto 100%;background-repeat:no-repeat;background-position:center top}
 .hero-soft-overlay{background:linear-gradient(to bottom,transparent 0%,transparent 43%,rgba(247,243,236,.24) 50%,var(--ivory) 62%,var(--ivory) 100%)}
 .hero-copy .eyebrow{font-size:18px;letter-spacing:0;line-height:1.35}
 .welcome-copy h2{font-size:clamp(25px,6.9vw,31px)}
 .hero-pillars span{font-size:8.5px;overflow-wrap:anywhere;hyphens:auto}
}


/* V1.7 – Header uses the newly attached portrait with a soft ivory fade toward the typography. */
.hero-scenery{background-image:var(--hero-image);background-size:contain;background-position:left center;background-repeat:no-repeat;background-color:#c99a7f}
.hero-soft-overlay{background:linear-gradient(90deg,rgba(247,243,236,0) 0%,rgba(247,243,236,0) 34%,rgba(247,243,236,.14) 46%,rgba(247,243,236,.55) 58%,rgba(247,243,236,.88) 70%,var(--ivory) 82%,var(--ivory) 100%)}
@media(min-width:851px) and (max-width:1100px){
 .hero-scenery{background-size:contain;background-position:left center}
 .hero-soft-overlay{background:linear-gradient(90deg,transparent 0%,transparent 32%,rgba(247,243,236,.18) 44%,rgba(247,243,236,.62) 58%,var(--ivory) 80%)}
}
@media(max-width:850px) and (min-width:641px){
 .hero-scenery{background-size:contain;background-position:center top}
 .hero-soft-overlay{background:linear-gradient(90deg,transparent 0%,transparent 25%,rgba(247,243,236,.24) 40%,rgba(247,243,236,.72) 58%,var(--ivory) 78%)}
}
@media(max-width:640px){
 .hero-scenery{background-image:var(--hero-mobile-image);background-size:contain;background-position:center top;background-color:#c99a7f}
 .hero-soft-overlay{background:linear-gradient(to bottom,transparent 0%,transparent 35%,rgba(247,243,236,.24) 48%,rgba(247,243,236,.82) 58%,var(--ivory) 68%,var(--ivory) 100%)}
}


/* V1.8 – Dedicated fasting detail page. Isolated from the approved homepage design. */
.fasten-detail-page{background:var(--ivory)}
.fasten-detail-header{border-bottom:1px solid var(--line);overflow:hidden}
.fasten-detail-header__inner{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:center;min-height:410px}
.fasten-detail-photo{align-self:stretch;margin-left:calc((min(1200px,100vw - 84px) - 100vw)/2);position:relative;min-height:400px;overflow:hidden}
.fasten-detail-photo img{width:100%;height:100%;min-height:400px;object-fit:cover;object-position:center}
.fasten-detail-header__copy{padding:62px 0 68px;max-width:580px}
.fasten-detail-header__copy .eyebrow{font-size:12px;color:var(--gold);letter-spacing:.16em;margin:0 0 18px}
.fasten-detail-header__copy h1{color:var(--wine-rich);font-size:clamp(43px,4.35vw,62px);margin:0 0 16px}
.fasten-detail-headline{font-family:var(--serif);font-size:clamp(22px,2.1vw,27px);line-height:1.4;color:var(--ink);margin:0 0 17px}
.fasten-detail-date{font-size:16px;letter-spacing:.018em;color:var(--text);margin:0 0 25px}
.fasten-detail-date span{color:var(--gold);padding-right:7px}
.fasten-detail-layout{display:grid;grid-template-columns:minmax(0,1fr) 340px;align-items:start;gap:65px;padding-top:66px;padding-bottom:62px}
.fasten-detail-text{font-size:17px;line-height:1.78}
.fasten-detail-text>p{max-width:unset;margin-bottom:20px}
.fasten-detail-text>.fasten-opening{font-family:var(--serif);font-size:clamp(23px,2.3vw,29px);line-height:1.48;color:var(--ink);margin-bottom:37px}
.fasten-detail-text>h2{font-size:clamp(27px,2.5vw,33px);margin-top:43px;margin-bottom:16px;color:var(--ink)}
.fasten-detail-text>h2:first-of-type{margin-top:0}
.fasten-detail-text strong{font-weight:650;color:#34302c}
.fasten-detail-text>.fasten-safety-note{border-left:2px solid var(--gold);padding:14px 0 14px 19px;font-size:15px;line-height:1.64;margin-top:35px;color:#5D5850}
.fasten-detail-aside{position:sticky;top:130px}
.fasten-detail-facts{border:1px solid rgba(181,138,74,.30);background:var(--ivory);border-radius:9px;box-shadow:var(--shadow);padding:33px 29px 32px}
.fasten-detail-facts .eyebrow{color:var(--gold);margin:0 0 7px;font-size:11px}
.fasten-detail-facts h2{font-size:28px;margin:0 0 24px}
.fasten-detail-facts dl{margin:0 0 22px}
.fasten-detail-facts dl>div{padding:13px 0;display:flex;gap:10px;justify-content:space-between;border-bottom:1px solid var(--line)}
.fasten-detail-facts dl>div:first-child{border-top:1px solid var(--line)}
.fasten-detail-facts dt{font-size:13px;color:#686157;min-width:105px}
.fasten-detail-facts dd{margin:0;color:var(--ink);font-size:14px;font-weight:600;text-align:right}
.fasten-detail-facts .fasten-price{font-family:var(--serif);color:var(--wine-rich);font-size:23px}
.fasten-detail-extras{font-size:13px;line-height:1.6;margin-bottom:22px}
.fasten-detail-reserve{width:100%;white-space:normal}
.fasten-detail-call{font-size:13px;text-align:center;margin:15px 0 0}
.fasten-detail-call a{text-decoration:underline;text-underline-offset:3px}
.fasten-detail-footer{border-top:1px solid var(--line);text-align:center;padding:42px 0 65px}
.fasten-detail-footer p{font-family:var(--serif);font-size:clamp(23px,2.3vw,30px);color:var(--ink);margin-bottom:22px}
@media(max-width:1000px){
 .fasten-detail-header__inner{gap:35px}.fasten-detail-photo{margin-left:-27px}
 .fasten-detail-layout{grid-template-columns:minmax(0,1fr) 295px;gap:32px}
 .fasten-detail-facts{padding:25px 19px}
}
@media(max-width:740px){
 .fasten-detail-header__inner{grid-template-columns:1fr;gap:0}
 .fasten-detail-photo{margin:0 -22px;height:250px;min-height:0}
 .fasten-detail-photo img{height:250px;min-height:0}
 .fasten-detail-header__copy{padding:36px 0 45px}
 .fasten-detail-header__copy h1{font-size:44px}
 .fasten-detail-layout{grid-template-columns:1fr;gap:30px;padding-top:40px;padding-bottom:43px}
 .fasten-detail-aside{position:static}
 .fasten-detail-text>.fasten-opening{margin-bottom:25px}
 .fasten-detail-text>h2{margin-top:31px}
}
@media(max-width:500px){
 .fasten-detail-photo{margin:0 -18px}
 .fasten-detail-header__copy h1{font-size:39px}
 .fasten-detail-header__copy .eyebrow{font-size:10px}
 .fasten-detail-facts{padding:26px 23px}
 .fasten-detail-footer{padding-bottom:45px}
}


/* V1.9 – Fasten header image update and enhanced offer page */
.offer-page{background:var(--ivory)}
.offer-hero-section{padding:64px 0 36px;border-bottom:1px solid var(--line)}
.offer-hero-grid,.offer-two-col{display:grid;grid-template-columns:minmax(0,1.12fr) minmax(320px,.88fr);gap:44px;align-items:center}
.offer-hero-copy h1{font-size:clamp(40px,5vw,62px);margin-bottom:16px}
.offer-lead{font-family:var(--serif);font-size:clamp(22px,2.2vw,28px);line-height:1.42;color:var(--ink);margin-bottom:18px}
.offer-hero-actions{display:flex;gap:14px;flex-wrap:wrap;margin-top:24px}
.offer-hero-visual img,.offer-visual-large img,.offer-feature-card img{width:100%;display:block;border-radius:10px;box-shadow:var(--shadow);object-fit:cover}
.offer-hero-visual img{min-height:420px;max-height:520px}
.offer-copy-block h2,.offer-side-card h3{font-size:clamp(30px,3vw,40px);margin-bottom:14px}
.offer-copy-block p{font-size:17px;line-height:1.75}
.offer-side-card{border:1px solid rgba(181,138,74,.28);background:#fbf8f2;border-radius:10px;padding:28px 28px 24px;box-shadow:var(--shadow)}
.offer-side-card .eyebrow{color:var(--gold);margin-bottom:8px}
.offer-feature-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}
.offer-feature-card{background:var(--ivory);border:1px solid rgba(181,138,74,.16);border-radius:10px;overflow:hidden;box-shadow:var(--shadow)}
.offer-feature-card img{height:230px}
.offer-feature-card div{padding:20px 21px 22px}
.offer-feature-card h3{font-size:24px;margin-bottom:10px}
.offer-feature-card p{font-size:15px;line-height:1.65;margin:0}
.offer-chip-list{list-style:none;padding:0;margin:0;display:flex;flex-wrap:wrap;gap:12px}
.offer-chip-list li{padding:12px 16px;border:1px solid rgba(181,138,74,.22);border-radius:999px;background:#fbf8f2;font-size:15px;color:#49453f}
.offer-two-col--reverse{grid-template-columns:minmax(320px,.88fr) minmax(0,1.12fr)}
.offer-visual-large img{min-height:460px;max-height:600px}
.massage-price-list{display:grid;gap:12px;margin-top:20px}
.massage-price-list div{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;padding:13px 0;border-bottom:1px solid var(--line)}
.massage-price-list div:first-child{border-top:1px solid var(--line)}
.massage-price-list span{font-weight:500;color:var(--ink)}
.massage-price-list strong{color:var(--wine-rich);font-family:var(--serif);font-size:22px;white-space:nowrap}
.massage-price-list em{grid-column:1 / -1;font-style:normal;font-size:13px;color:#666055;margin-top:-5px}
@media(max-width:980px){
 .offer-hero-grid,.offer-two-col,.offer-two-col--reverse{grid-template-columns:1fr;gap:28px}
 .offer-feature-grid{grid-template-columns:1fr 1fr}
}
@media(max-width:640px){
 .offer-hero-section{padding:42px 0 24px}
 .offer-feature-grid{grid-template-columns:1fr}
 .offer-feature-card img{height:200px}
 .offer-copy-block p{font-size:16px}
 .massage-price-list div{grid-template-columns:1fr}
 .massage-price-list strong{font-size:20px}
}


/* Version 2.5 – legible legal pages, no visual changes elsewhere. */
.legal-main .interior-shell {max-width:980px;}
.legal-main .entry-content {max-width:850px;font-size:16px;line-height:1.8;}
.legal-main .entry-content > h2 {font-size:clamp(25px,2.4vw,32px);margin-top:40px;margin-bottom:14px;}
.legal-main .entry-content > h3 {font-size:clamp(20px,2vw,24px);margin-top:26px;margin-bottom:11px;}
.legal-main .entry-content p {max-width:850px;overflow-wrap:break-word;}
.legal-main .entry-content ul {max-width:850px;margin-top:0;}
.legal-main .entry-content a {text-decoration:underline;text-underline-offset:3px;}
@media(max-width:640px){
 .legal-main .entry-content {font-size:15px;line-height:1.75;}
 .legal-main .interior-shell {padding-top:45px;}
}

/* V2.7 – technical corrections, approved palette and typography retained. */
main {overflow-wrap:break-word;}
.entry-content {display:flow-root;}
.entry-content a:not(.btn) {text-decoration:underline;text-underline-offset:3px;}
.btn {max-width:100%;white-space:normal;text-align:center;}
.nav-toggle {min-width:44px;min-height:44px;}
.service-card .btn {min-height:44px;}
.footer-grid a {display:inline-block;min-height:24px;overflow-wrap:anywhere;}
.fasten-image {margin-left:0;min-height:0;background:var(--ivory);}
.fasten-image img {width:100%;height:auto;object-fit:contain;padding:0;background:transparent;}
.fasten-detail-header__inner {align-items:center;}
.fasten-detail-photo {margin:0;min-height:0;height:auto;overflow:visible;display:flex;justify-content:center;align-items:center;padding:24px 0;}
.fasten-detail-photo img {width:auto;max-width:100%;height:auto;max-height:650px;min-height:0;object-fit:contain;border-radius:10px;}
.offer-hero-visual img,.offer-visual-large img,.offer-feature-card img {height:auto;min-height:0;max-height:none;object-fit:contain;}
@media(min-width:641px) and (max-width:1100px) {
 .hero-copy {width:52%;padding-left:18px;}
 .hero-pillars {grid-template-columns:repeat(3,minmax(0,1fr));}
}
@media(max-width:850px) {
 .site-nav {max-height:calc(100dvh - 78px);overflow-y:auto;overscroll-behavior:contain;}
 /* Navigation stays available when JavaScript is disabled. */
 html:not(.ml-js) .site-header {position:relative;}
 html:not(.ml-js) .header-inner {height:auto;min-height:78px;flex-wrap:wrap;}
 html:not(.ml-js) .nav-toggle {display:none;}
 html:not(.ml-js) .site-nav {display:block;position:static;flex-basis:100%;max-height:none;box-shadow:none;}
}
@media(max-width:782px) {body.admin-bar .site-header {top:46px;}}
@media(max-width:600px) {body.admin-bar .site-header {top:0;}}
@media(max-width:640px) {
 .hero,.hero-inner {min-height:0;}
 .hero-scenery {height:auto;aspect-ratio:4 / 3;inset:0 0 auto;background-size:contain;background-color:var(--ivory);}
 .hero-soft-overlay {inset:0 0 auto;height:auto;aspect-ratio:4 / 3;background:linear-gradient(to bottom,transparent 76%,var(--ivory) 100%);}
 .hero-inner {padding:calc((100vw - 36px) * .75 + 28px) 0 60px;}
 .hero-copy {padding:0;width:100%;}
 .hero-pillars {grid-template-columns:repeat(3,minmax(0,1fr));gap:18px 10px;}
 .hero-pillars span {font-size:12px;line-height:1.4;}
 .services-grid {grid-template-columns:1fr;gap:22px;}
 .service-card>img {height:auto;}
 .service-card h3 {font-size:22px;min-height:0;}
 .service-card p {font-size:16px;line-height:1.6;}
 .service-card__content {padding:20px;}
 .service-card .btn {font-size:14px;}
 .fasten-detail-photo img {max-height:520px;}
 .fasten-copy h2 {font-size:clamp(29px,8vw,38px);}
 .footer-grid {grid-template-columns:minmax(0,1fr);}
 .footer-grid>div:first-child {grid-column:auto;}
 .footer-grid a {min-height:32px;}
 .offer-chip-list li {border-radius:20px;max-width:100%;}
}
@media(prefers-reduced-motion:reduce){.btn:hover{transform:none;}}
@media(min-width:641px) and (max-width:1100px) {
 .hero-inner {padding:40px 0 60px;min-height:640px;}
 .hero-copy {padding-block:20px;}
 .hero-scenery {background-color:var(--ivory);background-position:left top;}
 .hero-soft-overlay {background:linear-gradient(90deg,transparent 30%,rgba(247,243,236,.5) 45%,var(--ivory) 65%);}
}
@media(max-width:640px) {
 .benefits-grid {grid-template-columns:repeat(2,minmax(0,1fr));}
 .benefit {min-width:0;overflow-wrap:anywhere;hyphens:auto;}
}

/* V2.8 – new original-size service photos, portrait. */
.image-zoom {display:block;position:relative;overflow:hidden;border-radius:7px;line-height:0;}
.image-zoom img {display:block;width:100%;height:auto!important;min-height:0!important;max-height:none!important;aspect-ratio:3 / 2;object-fit:contain!important;border-radius:inherit;}
.image-zoom-hint {position:absolute;bottom:10px;right:10px;padding:8px 12px;background:var(--ivory);color:var(--wine-dark);border-radius:30px;font-size:12px;line-height:1.3;box-shadow:var(--shadow);}
.service-card>.image-zoom {border-radius:6px 6px 0 0;}
.offer-feature-card>.image-zoom {border-radius:9px 9px 0 0;}
.ml-image-dialog {border:0;border-radius:12px;padding:54px 16px 16px;background:var(--ivory);max-width:calc(100vw - 24px);max-height:calc(100dvh - 24px);overflow:auto;}
.ml-image-dialog::backdrop {background:rgba(24,24,22,.82);}
.ml-image-dialog img {display:block;max-width:calc(100vw - 56px);max-height:calc(100dvh - 150px);width:auto;height:auto;margin:auto;object-fit:contain;}
.ml-image-dialog figcaption {font-size:14px;padding:12px 6px 0;line-height:1.4;}
.ml-image-dialog figure {margin:0;}
.ml-image-close {position:absolute;right:10px;top:7px;min-width:44px;min-height:40px;border:1px solid var(--wine);border-radius:22px;background:var(--ivory);color:var(--wine-dark);padding:7px 14px;cursor:pointer;}
.about-home {border-top:1px solid var(--line);}
.about-home-grid {display:grid;grid-template-columns:minmax(0,.78fr) minmax(0,1.22fr);gap:58px;align-items:start;}
.about-home-portrait {margin:0;}
.about-home-portrait img {width:100%;height:auto;border-radius:10px;box-shadow:var(--shadow);}
.about-home-copy h2 {font-size:clamp(34px,3.3vw,46px);margin-bottom:24px;}
.about-home-copy p {font-size:16px;line-height:1.8;}
.about-home-experience {border-left:2px solid var(--gold);padding-left:20px;margin-top:26px;}
.about-qualifications {margin-top:35px;border-block:1px solid var(--line);}
.about-qualifications summary {padding:20px 6px;font-family:var(--serif);font-size:25px;color:var(--wine-dark);cursor:pointer;}
.about-qualifications ul {columns:2;column-gap:50px;padding:0 25px 25px;line-height:1.75;}
.about-qualifications li {break-inside:avoid;margin-bottom:14px;}
@media(max-width:850px) {
 .about-home-grid {grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:30px;}
}
@media(max-width:640px) {
 .about-home-grid {grid-template-columns:minmax(0,1fr);gap:30px;}
 .about-home-portrait {max-width:420px;width:100%;margin-inline:auto;}
 .about-qualifications ul {columns:1;padding-left:25px;}
 .about-qualifications summary {font-size:22px;}
}



.ml-anchor-alias {display:block;height:0;scroll-margin-top:120px;}
