/* Home Massage Sharjah theme styles. Design tokens first, then base, layout, components. */
@font-face{font-family:"Cormorant Garamond";font-style:normal;font-weight:600;font-display:swap;src:url(../fonts/cormorant-garamond-600.woff2) format("woff2")}
@font-face{font-family:"Manrope";font-style:normal;font-weight:200 800;font-display:swap;src:url(../fonts/manrope-variable.woff2) format("woff2")}

:root{
	--hms-green-900:#1E3A34;--hms-green-700:#2F5A50;--hms-sage-500:#7FA595;--hms-sage-200:#D3E0D9;--hms-sage-100:#E8EFEB;
	--hms-sand-50:#FBF8F3;--hms-sand-100:#F6F0E7;--hms-sand-200:#EFE5D6;--hms-sand-400:#D9C3A2;
	--hms-gold-300:#D7BB7E;--hms-gold-500:#B8924A;--hms-gold-700:#7D5D22;
	--hms-ink:#22302C;--hms-muted:#4F5C58;--hms-white:#FFFFFF;--hms-line:rgba(30,58,52,.14);
	--hms-wa:#1F7A4D;
	--hms-font-display:"Cormorant Garamond","Iowan Old Style","Palatino Linotype",Georgia,serif;
	--hms-font-body:"Manrope",system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;
	--hms-max:1200px;--hms-gutter:clamp(16px,4vw,32px);--hms-sec-pad:clamp(44px,8vw,104px);
	--hms-radius:18px;--hms-radius-lg:28px;--hms-shadow:0 12px 32px rgba(30,58,52,.08);
	--hms-header-h:76px;
}

/* ---------- base */
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:calc(var(--hms-header-h) + 12px)}
body{margin:0;background:var(--hms-sand-50);color:var(--hms-ink);font-family:var(--hms-font-body);font-size:1.0625rem;line-height:1.7;overflow-x:hidden}
img{max-width:100%;height:auto}
a{color:var(--hms-green-700);text-decoration-thickness:1px;text-underline-offset:3px}
a:hover{color:var(--hms-green-900)}
:focus-visible{outline:3px solid var(--hms-gold-500);outline-offset:3px}
h1,h2,h3,h4{font-family:var(--hms-font-display);font-weight:600;color:var(--hms-green-900);line-height:1.12;margin:0 0 .5em;letter-spacing:-.01em}
h1{font-size:clamp(2.35rem,5.2vw,3.9rem)}
h2{font-size:clamp(1.9rem,3.7vw,2.75rem)}
h3{font-size:clamp(1.35rem,2.2vw,1.6rem)}
h4{font-size:1.25rem}
p,ul,ol{margin:0 0 1em}
strong{font-weight:700;color:var(--hms-green-900)}
.screen-reader-text{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(1px,1px,1px,1px);white-space:nowrap}
.hms-skip:focus{position:fixed;top:8px;left:8px;z-index:200;width:auto;height:auto;clip:auto;background:#fff;padding:10px 16px;border-radius:8px}

/* Elementor typography alignment with the theme */
.elementor-widget-heading .elementor-heading-title{font-family:var(--hms-font-display);font-weight:600;color:var(--hms-green-900);line-height:1.12}
.elementor-widget-heading h1.elementor-heading-title{font-size:clamp(2.35rem,5.2vw,3.9rem)}
.elementor-widget-heading h2.elementor-heading-title{font-size:clamp(1.9rem,3.7vw,2.75rem)}
.elementor-widget-heading h3.elementor-heading-title{font-size:clamp(1.35rem,2.2vw,1.6rem)}
.elementor-widget-text-editor{color:var(--hms-ink);font-family:var(--hms-font-body);font-size:1.0625rem;line-height:1.7}
.elementor-widget-text-editor p:last-child,.elementor-widget-text-editor ul:last-child,.elementor-widget-text-editor ol:last-child{margin-bottom:0}

/* ---------- header */
.hms-header{position:sticky;top:0;z-index:100;background:rgba(251,248,243,.94);backdrop-filter:saturate(140%) blur(10px);-webkit-backdrop-filter:saturate(140%) blur(10px);border-bottom:1px solid var(--hms-line)}
.admin-bar .hms-header{top:32px}
@media (max-width:782px){.admin-bar .hms-header{top:0}}
.hms-header__inner{max-width:var(--hms-max);margin:0 auto;padding:0 var(--hms-gutter);min-height:var(--hms-header-h);display:flex;align-items:center;gap:24px}
.hms-logo{display:flex;align-items:center;gap:10px;text-decoration:none;color:var(--hms-green-900);font-family:var(--hms-font-display);font-weight:600;font-size:1.55rem;line-height:1;white-space:nowrap}
.hms-logo img{max-height:52px;width:auto}
.hms-logo__mark{width:34px;height:34px;flex:none}
.hms-nav{margin-left:auto}
.hms-nav ul{list-style:none;margin:0;padding:0}
.hms-nav__list{display:flex;align-items:center;gap:4px}
.hms-nav__list>li{position:relative}
.hms-nav a{display:block;padding:10px 12px;border-radius:10px;color:var(--hms-ink);text-decoration:none;font-weight:600;font-size:.97rem}
.hms-nav a:hover,.hms-nav .current-menu-item>a{color:var(--hms-green-900);background:var(--hms-sage-100)}
.hms-nav .menu-item-has-children>a::after{content:"";display:inline-block;width:7px;height:7px;margin-left:8px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:translateY(-3px) rotate(45deg)}
.hms-nav .sub-menu{position:absolute;top:100%;left:0;min-width:260px;padding:10px;background:#fff;border:1px solid var(--hms-line);border-radius:14px;box-shadow:var(--hms-shadow);opacity:0;visibility:hidden;transform:translateY(6px);transition:opacity .18s,transform .18s,visibility .18s}
.hms-nav li:hover>.sub-menu,.hms-nav li:focus-within>.sub-menu{opacity:1;visibility:visible;transform:none}
.hms-nav .sub-menu a{font-weight:500;padding:9px 12px}
.hms-header__cta{flex:none}
.hms-burger{display:none;margin-left:auto;width:46px;height:46px;border:1px solid var(--hms-line);border-radius:12px;background:#fff;cursor:pointer;align-items:center;justify-content:center}
.hms-burger span,.hms-burger span::before,.hms-burger span::after{display:block;width:20px;height:2px;background:var(--hms-green-900);border-radius:2px;position:relative;transition:transform .2s}
.hms-burger span::before,.hms-burger span::after{content:"";position:absolute;left:0}
.hms-burger span::before{top:-6px}.hms-burger span::after{top:6px}
.hms-nav-open .hms-burger span{background:transparent}
.hms-nav-open .hms-burger span::before{transform:translateY(6px) rotate(45deg)}
.hms-nav-open .hms-burger span::after{transform:translateY(-6px) rotate(-45deg)}
@media (max-width:1023px){
	.hms-burger{display:inline-flex}
	.hms-header__cta{display:none}
	.hms-nav{position:fixed;inset:var(--hms-header-h) 0 0 0;background:var(--hms-sand-50);padding:16px var(--hms-gutter) 120px;overflow-y:auto;display:none;margin:0}
	.admin-bar .hms-nav{top:calc(var(--hms-header-h) + 46px)}
	.hms-nav-open .hms-nav{display:block}
	.hms-nav__list{flex-direction:column;align-items:stretch;gap:0}
	.hms-nav__list>li{border-bottom:1px solid var(--hms-line)}
	.hms-nav a{padding:14px 4px;font-size:1.06rem}
	.hms-nav .menu-item-has-children>a::after{display:none}
	.hms-nav .sub-menu{position:static;opacity:1;visibility:visible;transform:none;box-shadow:none;border:0;padding:0 0 10px 14px;min-width:0;background:transparent;display:grid;grid-template-columns:1fr 1fr;gap:0 10px}
	.hms-nav .sub-menu a{padding:8px 4px;font-size:.98rem}
	.hms-nav__cta{display:block;margin-top:20px}
}
@media (min-width:1024px){.hms-nav__cta{display:none}}

/* ---------- buttons */
.hms-button,.hms-btn .elementor-button,.hms-btn--primary .wp-block-button__link,.hms-btn--ghost .wp-block-button__link{
	display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:52px;padding:14px 26px;border-radius:999px;
	font-family:var(--hms-font-body);font-weight:700;font-size:1rem;line-height:1.2;text-decoration:none;cursor:pointer;transition:background-color .2s,color .2s,border-color .2s,transform .2s
}
.hms-button--primary,.hms-btn--primary.elementor-widget-button .elementor-button,.hms-btn--primary .wp-block-button__link{background:var(--hms-green-900);color:#fff;border:2px solid var(--hms-green-900)}
.hms-button--primary:hover,.hms-btn--primary.elementor-widget-button .elementor-button:hover,.hms-btn--primary .wp-block-button__link:hover{background:var(--hms-green-700);border-color:var(--hms-green-700);color:#fff}
.hms-button--ghost,.hms-btn--ghost.elementor-widget-button .elementor-button,.hms-btn--ghost .wp-block-button__link{background:transparent;color:var(--hms-green-900);border:2px solid var(--hms-green-900)}
.hms-button--ghost:hover,.hms-btn--ghost.elementor-widget-button .elementor-button:hover,.hms-btn--ghost .wp-block-button__link:hover{background:var(--hms-green-900);color:#fff}
.hms-button--gold{background:var(--hms-gold-300);color:var(--hms-green-900);border:2px solid var(--hms-gold-300)}
.hms-button--gold:hover{background:#fff;border-color:#fff;color:var(--hms-green-900)}
.hms-btn.elementor-widget-button .elementor-button-text{font-weight:700}
.hms-btnrow.e-con{--flex-direction:row;--flex-wrap:wrap;--gap:12px;--row-gap:12px;--column-gap:12px;--padding-top:8px;--padding-bottom:0;--padding-left:0;--padding-right:0;--width:auto;--container-widget-width:auto}
.hms-btnrow.e-con>.elementor-element{width:auto}
.wp-block-buttons.hms-btnrow{gap:12px;margin-top:8px}
.hms-btnrow--center.e-con{--justify-content:center}
.wp-block-buttons.hms-btnrow--center{justify-content:center}

/* ---------- sections (shared by Elementor containers and block groups) */
.hms-sec{position:relative}
.e-con.hms-sec{--container-max-width:var(--hms-max);--padding-top:var(--hms-sec-pad);--padding-bottom:var(--hms-sec-pad);--padding-left:var(--hms-gutter);--padding-right:var(--hms-gutter);--gap:18px;--row-gap:18px;--column-gap:18px}
.wp-block-group.hms-sec{--hms-side:max(var(--hms-gutter),calc((100% - var(--hms-max)) / 2));padding:var(--hms-sec-pad) var(--hms-side);margin:0}
.wp-block-group.hms-sec>*{max-width:none;margin-left:0;margin-right:0}
.hms-sec--sand{background:var(--hms-sand-100)}
.hms-sec--white{background:var(--hms-white)}
.hms-sec .elementor-widget-heading h2.elementor-heading-title,.wp-block-group.hms-sec>h2{max-width:22ch}
.hms-sec .elementor-widget-text-editor,.wp-block-group.hms-sec>p,.hms-legal-intro .elementor-widget-text-editor{max-width:72ch}
.hms-sec h3{margin-top:1.4em}
.hms-sec h3:first-child{margin-top:0}

/* hero */
.hms-hero{background:linear-gradient(160deg,var(--hms-sand-50) 0%,var(--hms-sand-100) 55%,var(--hms-sage-100) 100%);overflow:hidden}
.e-con.hms-hero{--padding-top:clamp(40px,6vw,88px);--padding-bottom:clamp(48px,7vw,96px)}
.wp-block-group.hms-hero{padding-top:clamp(40px,6vw,88px);padding-bottom:clamp(48px,7vw,96px)}
.hms-hero__lead{font-size:clamp(1.07rem,1.6vw,1.2rem);color:var(--hms-muted)}
.hms-hero__lead p{margin-bottom:.6em}
.hms-hero--legal .elementor-widget-heading h1.elementor-heading-title,.hms-hero--legal h1{font-size:clamp(2.1rem,4.2vw,3.1rem)}
.hms-badges{list-style:none;margin:0 0 10px;padding:0;display:flex;flex-wrap:wrap;gap:8px}
.hms-badges li{display:inline-flex;align-items:center;gap:8px;padding:7px 14px;border-radius:999px;background:#fff;border:1px solid var(--hms-line);font-size:.86rem;font-weight:600;color:var(--hms-green-900)}
.hms-badges li::before{content:"";width:8px;height:8px;border-radius:50%;background:var(--hms-gold-500)}

/* two-column split (hero + image sections) */
.e-con.hms-split{--flex-direction:row;--flex-wrap:nowrap;--align-items:center;--gap:clamp(28px,5vw,72px);--row-gap:clamp(28px,5vw,72px);--column-gap:clamp(28px,5vw,72px)}
.e-con.hms-split--reverse{--flex-direction:row-reverse}
.e-con.hms-col{--padding-top:0;--padding-bottom:0;--padding-left:0;--padding-right:0;--gap:16px;--row-gap:16px;--width:50%;flex:1 1 0;min-width:0}
.e-con.hms-col--media{--align-items:center;--justify-content:center}
.hms-split__cols{gap:clamp(28px,5vw,72px)!important;align-items:center!important;margin:0}
.hms-split--reverse .hms-split__cols{flex-direction:row-reverse}
@media (max-width:781px){.hms-split__cols,.hms-split--reverse .hms-split__cols{flex-direction:column}}
@media (max-width:767px){
	.e-con.hms-split,.e-con.hms-split--reverse{--flex-direction:column;--flex-wrap:wrap}
	.e-con.hms-col{--width:100%;flex-basis:auto}
	.e-con.hms-hero .hms-col--media{order:-1}
}

/* arch-framed illustrations */
.hms-arch img,.hms-figure img,.hms-hero-img{display:block;width:100%;height:auto;aspect-ratio:4/3;object-fit:cover;border-radius:280px 280px var(--hms-radius-lg) var(--hms-radius-lg);box-shadow:var(--hms-shadow);background:var(--hms-sand-100)}
.hms-figure{margin:0;width:100%}
.hms-col--media .elementor-widget-image,.hms-col--media .elementor-widget-shortcode{width:100%;max-width:560px}
.wp-block-image.hms-figure{margin:0}

/* cards */
.e-con.hms-grid{--padding-top:8px;--padding-bottom:8px;--padding-left:0;--padding-right:0;display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;width:100%}
.hms-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin:8px 0}
.hms-grid--4.e-con,.hms-grid.hms-grid--4{grid-template-columns:repeat(4,minmax(0,1fr))}
.hms-grid--2.e-con,.hms-grid.hms-grid--2{grid-template-columns:repeat(2,minmax(0,1fr))}
@media (max-width:1023px){.hms-grid--4.e-con,.hms-grid.hms-grid--4,.hms-grid--3.e-con,.hms-grid.hms-grid--3{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:767px){.e-con.hms-grid,.hms-grid,.hms-grid--2.e-con,.hms-grid.hms-grid--2{grid-template-columns:1fr}}
.hms-card{background:#fff;border:1px solid var(--hms-line);border-radius:var(--hms-radius);padding:24px 22px;box-shadow:0 1px 0 rgba(30,58,52,.04);transition:box-shadow .2s,transform .2s}
.e-con.hms-card{--padding-top:24px;--padding-bottom:24px;--padding-left:22px;--padding-right:22px;--gap:6px;--row-gap:6px;--width:auto;width:auto;min-width:0}
.hms-sec--white .hms-card{background:var(--hms-sand-50)}
.hms-card:hover{box-shadow:var(--hms-shadow)}
.hms-card .elementor-heading-title,.hms-card__title{font-size:1.45rem!important;margin:0 0 6px}
.hms-card .elementor-heading-title a,.hms-card__title a{color:var(--hms-green-900);text-decoration:none}
.hms-card .elementor-heading-title a::after,.hms-card__title a::after{content:" →";color:var(--hms-gold-500)}
.hms-card .elementor-heading-title a:hover,.hms-card__title a:hover{text-decoration:underline}
.hms-card__body,.hms-card .elementor-widget-text-editor{font-size:.98rem;color:var(--hms-muted)}
.hms-card__body p{margin:0}

/* numbered steps */
.hms-steps{list-style:none;counter-reset:hms-step;margin:8px 0 0;padding:0;display:grid;gap:14px}
.hms-steps>li{counter-increment:hms-step;position:relative;padding:18px 20px 18px 74px;background:#fff;border:1px solid var(--hms-line);border-radius:var(--hms-radius)}
.hms-sec--white .hms-steps>li{background:var(--hms-sand-50)}
.hms-steps>li::before{content:counter(hms-step);position:absolute;left:18px;top:16px;width:40px;height:40px;border-radius:50%;background:var(--hms-green-900);color:#fff;font-family:var(--hms-font-display);font-size:1.35rem;font-weight:600;display:flex;align-items:center;justify-content:center}

/* tables */
.hms-table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch;margin:8px 0 18px;border:1px solid var(--hms-line);border-radius:var(--hms-radius);background:#fff}
.hms-table{width:100%;border-collapse:collapse;font-size:.98rem;min-width:520px}
.hms-table th,.hms-table td{padding:14px 18px;text-align:left;vertical-align:top;border-bottom:1px solid var(--hms-line)}
.hms-table th{background:var(--hms-green-900);color:#fff;font-weight:700;font-size:.92rem}
.hms-table tr:last-child td{border-bottom:0}
.hms-table tbody tr:nth-child(even) td{background:var(--hms-sand-50)}
.hms-table td:first-child{font-weight:600;color:var(--hms-green-900)}
@media (max-width:767px){.hms-table{min-width:0}.hms-table th,.hms-table td{padding:12px 12px;font-size:.93rem}}

/* FAQ */
.hms-faq{display:grid;gap:12px;max-width:860px;width:100%}
.hms-faq__item{background:#fff;border:1px solid var(--hms-line);border-radius:var(--hms-radius);overflow:hidden}
.hms-sec--white .hms-faq__item{background:var(--hms-sand-50)}
.hms-faq__q{cursor:pointer;list-style:none;padding:18px 56px 18px 22px;font-weight:700;color:var(--hms-green-900);position:relative;font-size:1.04rem}
.hms-faq__q::-webkit-details-marker{display:none}
.hms-faq__q::after{content:"";position:absolute;right:24px;top:50%;width:10px;height:10px;border-right:2px solid var(--hms-gold-500);border-bottom:2px solid var(--hms-gold-500);transform:translateY(-70%) rotate(45deg);transition:transform .2s}
.hms-faq__item[open] .hms-faq__q::after{transform:translateY(-30%) rotate(-135deg)}
.hms-faq__a{padding:0 22px 18px;color:var(--hms-muted)}
.hms-faq__a p:last-child{margin-bottom:0}

/* CTA band */
.hms-cta{background:var(--hms-green-900);color:#E9EFEC;text-align:center}
.e-con.hms-cta{--align-items:center}
.hms-cta .elementor-heading-title,.hms-cta h2{color:#fff!important;max-width:none!important;margin-left:auto;margin-right:auto}
.hms-cta .elementor-widget-text-editor,.hms-cta__text{color:#E9EFEC;max-width:62ch;margin-left:auto;margin-right:auto}
.hms-cta a{color:var(--hms-gold-300)}
.hms-cta strong{color:#fff}
.hms-cta .hms-btn--primary.elementor-widget-button .elementor-button,.hms-cta .hms-btn--primary .wp-block-button__link{background:var(--hms-gold-300);border-color:var(--hms-gold-300);color:var(--hms-green-900)}
.hms-cta .hms-btn--ghost.elementor-widget-button .elementor-button,.hms-cta .hms-btn--ghost .wp-block-button__link{color:#fff;border-color:rgba(255,255,255,.7)}
.hms-cta .hms-btn--ghost.elementor-widget-button .elementor-button:hover{background:#fff;color:var(--hms-green-900)}
.hms-cta em{color:#C8D6D0;font-size:.92rem}

/* contact details list */
.hms-contact{list-style:none;margin:8px auto 18px;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px;max-width:960px;text-align:left}
.hms-contact li{background:#fff;border:1px solid var(--hms-line);border-radius:var(--hms-radius);padding:16px 18px}
.hms-cta .hms-contact li{background:rgba(255,255,255,.06);border-color:rgba(255,255,255,.18)}
.hms-contact__label{display:block;font-size:.78rem;letter-spacing:.08em;text-transform:uppercase;font-weight:700;color:var(--hms-gold-700)}
.hms-cta .hms-contact__label{color:var(--hms-gold-300)}
.hms-contact__value{font-weight:600;color:var(--hms-green-900);word-break:break-word}
.hms-cta .hms-contact__value,.hms-cta .hms-contact__value a{color:#fff}
.hms-licence{display:block;margin-top:6px;font-size:.92rem;color:var(--hms-muted)}

/* booking form */
.hms-form{background:#fff;border:1px solid var(--hms-line);border-radius:var(--hms-radius-lg);padding:clamp(20px,3vw,32px);box-shadow:var(--hms-shadow);max-width:860px;width:100%}
.hms-form__grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 18px}
.hms-form__field{display:flex;flex-direction:column;gap:6px}
.hms-form__field--full{grid-column:1/-1}
.hms-form label{font-weight:700;font-size:.92rem;color:var(--hms-green-900)}
.hms-form input,.hms-form select,.hms-form textarea{font:inherit;font-size:1rem;padding:12px 14px;border:1px solid #C9D3CF;border-radius:12px;background:var(--hms-sand-50);color:var(--hms-ink);width:100%;min-height:48px}
.hms-form textarea{min-height:110px;resize:vertical}
.hms-form input:focus,.hms-form select:focus,.hms-form textarea:focus{outline:none;border-color:var(--hms-green-700);box-shadow:0 0 0 3px rgba(47,90,80,.18)}
.hms-form__actions{margin-top:20px;display:flex;flex-wrap:wrap;gap:12px;align-items:center}
.hms-form__note{font-size:.88rem;color:var(--hms-muted);margin:0}
.hms-form__error{color:#9B2C2C;font-weight:600;font-size:.92rem}
@media (max-width:767px){.hms-form__grid{grid-template-columns:1fr}}

/* ---------- footer */
.hms-footer{background:#16302A;color:#C9D6D1;padding:clamp(48px,7vw,80px) var(--hms-gutter) 28px;font-size:.97rem}
.hms-footer__inner{max-width:var(--hms-max);margin:0 auto}
.hms-footer__grid{display:grid;grid-template-columns:1.3fr 1fr 1fr 1fr;gap:32px}
.hms-footer__brand{font-family:var(--hms-font-display);font-size:1.7rem;color:#fff;margin:0 0 10px;font-weight:600}
.hms-footer h2{font-family:var(--hms-font-body);font-size:.8rem;letter-spacing:.12em;text-transform:uppercase;color:var(--hms-gold-300);margin:0 0 14px;font-weight:700}
.hms-footer ul{list-style:none;margin:0;padding:0}
.hms-footer li{margin:0 0 8px}
.hms-footer a{color:#E3ECE8;text-decoration:none}
.hms-footer a:hover{color:#fff;text-decoration:underline}
.hms-footer__contact li{display:flex;flex-direction:column}
.hms-footer__contact span{font-size:.78rem;text-transform:uppercase;letter-spacing:.08em;color:#9FB3AC}
.hms-footer__social{display:flex;gap:14px;margin-top:12px}
.hms-footer__bottom{border-top:1px solid rgba(255,255,255,.12);margin-top:40px;padding-top:20px;display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px;font-size:.88rem;color:#9FB3AC}
@media (max-width:1023px){.hms-footer__grid{grid-template-columns:1fr 1fr}}
@media (max-width:600px){.hms-footer__grid{grid-template-columns:1fr}}

/* ---------- WhatsApp / call helpers */
.hms-sticky{position:fixed;left:0;right:0;bottom:0;z-index:90;display:none;grid-template-columns:1fr;gap:8px;padding:10px 12px calc(10px + env(safe-area-inset-bottom));background:rgba(251,248,243,.97);border-top:1px solid var(--hms-line);box-shadow:0 -8px 24px rgba(30,58,52,.08)}
.hms-sticky a{display:flex;align-items:center;justify-content:center;gap:8px;min-height:50px;border-radius:999px;font-weight:700;text-decoration:none;font-size:1rem}
.hms-sticky__wa{background:var(--hms-wa);color:#fff}
.hms-sticky svg,.hms-float svg{width:22px;height:22px;flex:none}
.hms-float{position:fixed;right:24px;bottom:24px;z-index:90;width:62px;height:62px;border-radius:50%;background:var(--hms-wa);color:#fff;display:none;align-items:center;justify-content:center;box-shadow:0 10px 28px rgba(31,122,77,.35);transition:transform .2s}
.hms-float:hover{transform:translateY(-3px);color:#fff}
.hms-float svg{width:30px;height:30px}
@media (max-width:767px){
	.hms-has-sticky .hms-sticky{display:grid}
	.hms-has-sticky .hms-footer{padding-bottom:104px}
	.elementor-widget-button.hms-btn,.hms-btnrow.e-con>.elementor-element{width:100%}
	.hms-btn .elementor-button,.hms-btnrow .wp-block-button,.hms-btnrow .wp-block-button__link,.hms-form .hms-button{width:100%}
	.hms-btnrow.e-con{--width:100%;--flex-direction:column}
}
@media (min-width:768px){.hms-has-float .hms-float{display:flex}}

/* ---------- classic content (blog, owner pages) */
.hms-main{display:block;min-height:50vh}
.hms-content{max-width:780px;margin:0 auto;padding:clamp(40px,6vw,80px) var(--hms-gutter)}
.hms-content--wide{max-width:none;padding:0}
.hms-post-list article{padding:24px 0;border-bottom:1px solid var(--hms-line)}
.hms-pagination{margin-top:28px}
.hms-404{text-align:center}

@media (prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}

/* ---------- overrides that must beat Elementor's per-element CSS (0,3,0) and button display */
@media (max-width:1023px){.hms-header .hms-header__cta{display:none}}
@media (min-width:1024px){.hms-nav .hms-nav__cta,.hms-nav li.hms-nav__cta{display:none}}
.elementor .e-con.hms-split.e-flex{--flex-direction:row;--flex-wrap:nowrap}
.elementor .e-con.hms-split--reverse.e-flex{--flex-direction:row-reverse}
.elementor .e-con.hms-split .e-con.hms-col.e-con-full{flex:1 1 0;width:auto;max-width:none;min-width:0}
@media (max-width:767px){
	.elementor .e-con.hms-split.e-flex,.elementor .e-con.hms-split--reverse.e-flex{--flex-direction:column;--flex-wrap:wrap}
	.elementor .e-con.hms-split .e-con.hms-col.e-con-full{flex:0 0 auto;width:100%}
}
@supports (overflow:clip){body{overflow-x:clip}}
.elementor .hms-arch img,.elementor .hms-figure img,.elementor img.hms-hero-img{border-radius:280px 280px var(--hms-radius-lg) var(--hms-radius-lg);box-shadow:var(--hms-shadow);height:auto}
.hms-button svg{width:20px;height:20px;flex:none}
.hms-contact{margin-left:0;margin-right:0}
.hms-cta .hms-contact{margin-left:auto;margin-right:auto}
.wp-block-group.hms-sec.hms-cta>*{margin-left:auto;margin-right:auto}

/* phones: the menu panel is position:fixed, so the header must not create a containing block (backdrop-filter does) */
@media (max-width:1023px){.hms-header{backdrop-filter:none;-webkit-backdrop-filter:none;background:var(--hms-sand-50)}}
.hms-steps{margin-bottom:18px}
/* tables with 3+ columns become labelled cards on phones */
@media (max-width:600px){
	.hms-table-wrap:has(.hms-table--stack){overflow:visible}
	.hms-table.hms-table--stack{min-width:0}
	.hms-table--stack thead{display:none}
	.hms-table--stack,.hms-table--stack tbody,.hms-table--stack tr,.hms-table--stack td{display:block;width:100%}
	.hms-table--stack tr{padding:14px 16px;border-bottom:1px solid var(--hms-line)}
	.hms-table--stack tbody tr:last-child{border-bottom:0}
	.hms-table--stack tbody tr:nth-child(even){background:var(--hms-sand-50)}
	.hms-table.hms-table--stack td,.hms-table--stack tbody tr:nth-child(even) td{display:flex;justify-content:space-between;align-items:baseline;gap:14px;padding:5px 0;border:0;background:transparent;font-size:.95rem;text-align:right}
	.hms-table--stack td::before{content:attr(data-label);flex:1 1 52%;text-align:left;font-weight:600;font-size:.86rem;color:var(--hms-muted)}
	.hms-table.hms-table--stack td:first-child{display:block;text-align:left;font-family:var(--hms-font-display);font-size:1.3rem;font-weight:600;color:var(--hms-green-900);padding:0 0 6px}
	.hms-table--stack td:first-child::before{content:none}
}
.hms-nav a.hms-nav__cta,.hms-nav a.hms-nav__cta:hover{color:#fff;background:var(--hms-green-900);justify-content:center;text-align:center;padding:14px 20px;border-radius:999px}
.hms-nav .menu-item-type-custom.current-menu-item>a:not(:hover){background:transparent;color:var(--hms-ink)}
