.elementor-kit-5{--e-global-color-primary:#9F604A;--e-global-color-secondary:#D28B70;--e-global-color-text:#313131;--e-global-color-accent:#B4873E;--e-global-color-hmbrown:#7E4A37;--e-global-color-hmdeep:#723F2E;--e-global-color-hmcream:#FFF7F2;--e-global-color-hmblush:#F8E9E2;--e-global-color-hmpeach:#FFE2D0;--e-global-color-hmwhite:#FFFFFF;--e-global-color-hmcharc:#3B3D35;--e-global-color-hmblack:#000000;--e-global-typography-primary-font-family:"DM Serif Display";--e-global-typography-primary-font-size:40px;--e-global-typography-primary-font-weight:400;--e-global-typography-primary-line-height:1.25em;--e-global-typography-secondary-font-family:"DM Serif Display";--e-global-typography-secondary-font-size:18px;--e-global-typography-secondary-font-weight:400;--e-global-typography-secondary-font-style:italic;--e-global-typography-secondary-line-height:1.39em;--e-global-typography-text-font-family:"Manrope";--e-global-typography-text-font-size:16px;--e-global-typography-text-font-weight:400;--e-global-typography-text-line-height:1.375em;--e-global-typography-accent-font-family:"DM Serif Display";--e-global-typography-accent-font-size:18px;--e-global-typography-accent-font-weight:400;--e-global-typography-accent-line-height:1.39em;--e-global-typography-hmh1-font-family:"DM Serif Display";--e-global-typography-hmh1-font-size:50px;--e-global-typography-hmh1-font-weight:400;--e-global-typography-hmh1-line-height:1.08em;--e-global-typography-hmh2-font-family:"DM Serif Display";--e-global-typography-hmh2-font-size:40px;--e-global-typography-hmh2-font-weight:400;--e-global-typography-hmh2-line-height:1.25em;--e-global-typography-hmh2c-font-family:"DM Serif Display";--e-global-typography-hmh2c-font-size:40px;--e-global-typography-hmh2c-font-weight:400;--e-global-typography-hmh2c-line-height:1.35em;--e-global-typography-hmh3-font-family:"DM Serif Display";--e-global-typography-hmh3-font-size:32px;--e-global-typography-hmh3-font-weight:400;--e-global-typography-hmh3-line-height:1.69em;--e-global-typography-hmh4-font-family:"DM Serif Display";--e-global-typography-hmh4-font-size:24px;--e-global-typography-hmh4-font-weight:400;--e-global-typography-hmh4-line-height:1.35em;--e-global-typography-hmh5-font-family:"DM Serif Display";--e-global-typography-hmh5-font-size:20px;--e-global-typography-hmh5-font-weight:400;--e-global-typography-hmh5-line-height:1.35em;--e-global-typography-hmh6-font-family:"DM Serif Display";--e-global-typography-hmh6-font-size:17px;--e-global-typography-hmh6-font-weight:400;--e-global-typography-hmh6-line-height:1.4em;--e-global-typography-hmnav-font-family:"Manrope";--e-global-typography-hmnav-font-size:18px;--e-global-typography-hmnav-font-weight:500;--e-global-typography-hmnav-line-height:1.4em;--e-global-typography-hmsmall-font-family:"Manrope";--e-global-typography-hmsmall-font-size:14px;--e-global-typography-hmsmall-font-weight:400;--e-global-typography-hmsmall-line-height:1.5em;--e-global-typography-hmlabel-font-family:"Manrope";--e-global-typography-hmlabel-font-size:14px;--e-global-typography-hmlabel-font-weight:600;--e-global-typography-hmlabel-text-transform:uppercase;--e-global-typography-hmlabel-line-height:1.4em;--e-global-typography-hmlabel-letter-spacing:1.1px;--e-global-typography-hmfoot-font-family:"Manrope";--e-global-typography-hmfoot-font-size:15px;--e-global-typography-hmfoot-font-weight:400;--e-global-typography-hmfoot-line-height:1.4em;--e-global-typography-hmfoot-letter-spacing:-0.2px;--e-global-typography-hmfhead-font-family:"DM Serif Display";--e-global-typography-hmfhead-font-size:17px;--e-global-typography-hmfhead-font-weight:400;--e-global-typography-hmfhead-line-height:1.35em;--e-global-typography-hmfhead-letter-spacing:-0.2px;background-color:var( --e-global-color-hmcream );color:var( --e-global-color-text );font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-size:var( --e-global-typography-text-font-size );font-weight:var( --e-global-typography-text-font-weight );line-height:var( --e-global-typography-text-line-height );letter-spacing:var( --e-global-typography-text-letter-spacing );word-spacing:var( --e-global-typography-text-word-spacing );}.elementor-kit-5 button,.elementor-kit-5 input[type="button"],.elementor-kit-5 input[type="submit"],.elementor-kit-5 .elementor-button{background-color:var( --e-global-color-secondary );font-family:var( --e-global-typography-accent-font-family ), Sans-serif;font-size:var( --e-global-typography-accent-font-size );font-weight:var( --e-global-typography-accent-font-weight );line-height:var( --e-global-typography-accent-line-height );letter-spacing:var( --e-global-typography-accent-letter-spacing );word-spacing:var( --e-global-typography-accent-word-spacing );color:#FFFFFF;border-radius:7px 7px 7px 7px;padding:12px 30px 12px 30px;}.elementor-kit-5 button:hover,.elementor-kit-5 button:focus,.elementor-kit-5 input[type="button"]:hover,.elementor-kit-5 input[type="button"]:focus,.elementor-kit-5 input[type="submit"]:hover,.elementor-kit-5 input[type="submit"]:focus,.elementor-kit-5 .elementor-button:hover,.elementor-kit-5 .elementor-button:focus{background-color:var( --e-global-color-secondary );color:#FFFFFF;}.elementor-kit-5 e-page-transition{background-color:#FFBC7D;}.elementor-kit-5 p{margin-block-end:16px;}.elementor-kit-5 a{color:var( --e-global-color-primary );}.elementor-kit-5 a:hover{color:var( --e-global-color-secondary );}.elementor-kit-5 h1{color:var( --e-global-color-text );font-family:"DM Serif Display", Sans-serif;font-size:50px;font-weight:400;line-height:1.08em;}.elementor-kit-5 h2{color:var( --e-global-color-text );font-family:"DM Serif Display", Sans-serif;font-size:40px;font-weight:400;line-height:1.25em;}.elementor-kit-5 h3{color:var( --e-global-color-text );font-family:"DM Serif Display", Sans-serif;font-size:32px;font-weight:400;line-height:1.3em;}.elementor-kit-5 h4{color:var( --e-global-color-text );font-family:"DM Serif Display", Sans-serif;font-size:24px;font-weight:400;line-height:1.35em;}.elementor-kit-5 h5{color:var( --e-global-color-text );font-family:"DM Serif Display", Sans-serif;font-size:20px;font-weight:400;line-height:1.4em;}.elementor-kit-5 h6{color:var( --e-global-color-text );font-family:"DM Serif Display", Sans-serif;font-size:17px;font-weight:400;line-height:1.4em;}.elementor-kit-5 label{color:var( --e-global-color-hmbrown );font-family:"Manrope", Sans-serif;font-size:12px;font-weight:600;line-height:1.4em;}.elementor-kit-5 input:not([type="button"]):not([type="submit"]),.elementor-kit-5 textarea,.elementor-kit-5 .elementor-field-textual{font-family:"Manrope", Sans-serif;font-size:13px;font-weight:400;line-height:1.4em;color:#313131;background-color:rgba(255,255,255,0.43);border-style:solid;border-width:1px 1px 1px 1px;border-color:rgba(0,0,0,0.1);border-radius:12px 12px 12px 12px;padding:12px 14px 12px 14px;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1440px;}.e-con{--container-max-width:1440px;--container-default-padding-top:0px;--container-default-padding-right:0px;--container-default-padding-bottom:0px;--container-default-padding-left:0px;}.elementor-widget:not(:last-child){--kit-widget-spacing:20px;}.elementor-element{--widgets-spacing:20px 20px;--widgets-spacing-row:20px;--widgets-spacing-column:20px;}{}h1.entry-title{display:var(--page-title-display);}.site-header .site-branding{flex-direction:column;align-items:stretch;}.site-header{padding-inline-end:0px;padding-inline-start:0px;}.site-footer .site-branding{flex-direction:column;align-items:stretch;}@media(max-width:1024px){.elementor-kit-5{--e-global-typography-primary-font-size:34px;--e-global-typography-hmh1-font-size:42px;--e-global-typography-hmh2-font-size:34px;--e-global-typography-hmh2c-font-size:34px;--e-global-typography-hmh3-font-size:28px;--e-global-typography-hmh3-line-height:1.4em;--e-global-typography-hmnav-font-size:16px;font-size:var( --e-global-typography-text-font-size );line-height:var( --e-global-typography-text-line-height );letter-spacing:var( --e-global-typography-text-letter-spacing );word-spacing:var( --e-global-typography-text-word-spacing );}.elementor-kit-5 h1{font-size:42px;}.elementor-kit-5 h2{font-size:34px;}.elementor-kit-5 h3{font-size:28px;}.elementor-kit-5 button,.elementor-kit-5 input[type="button"],.elementor-kit-5 input[type="submit"],.elementor-kit-5 .elementor-button{font-size:var( --e-global-typography-accent-font-size );line-height:var( --e-global-typography-accent-line-height );letter-spacing:var( --e-global-typography-accent-letter-spacing );word-spacing:var( --e-global-typography-accent-word-spacing );}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1024px;}.e-con{--container-max-width:1024px;}}@media(max-width:767px){.elementor-kit-5{--e-global-typography-primary-font-size:28px;--e-global-typography-secondary-font-size:16px;--e-global-typography-text-font-size:15px;--e-global-typography-accent-font-size:16px;--e-global-typography-hmh1-font-size:30px;--e-global-typography-hmh1-line-height:1.15em;--e-global-typography-hmh2-font-size:28px;--e-global-typography-hmh2c-font-size:28px;--e-global-typography-hmh2c-line-height:1.25em;--e-global-typography-hmh3-font-size:26px;--e-global-typography-hmh3-line-height:1.3em;--e-global-typography-hmh4-font-size:20px;--e-global-typography-hmh5-font-size:18px;font-size:var( --e-global-typography-text-font-size );line-height:var( --e-global-typography-text-line-height );letter-spacing:var( --e-global-typography-text-letter-spacing );word-spacing:var( --e-global-typography-text-word-spacing );}.elementor-kit-5 h1{font-size:30px;line-height:1.15em;}.elementor-kit-5 h2{font-size:28px;}.elementor-kit-5 h3{font-size:24px;}.elementor-kit-5 h4{font-size:20px;}.elementor-kit-5 h5{font-size:18px;}.elementor-kit-5 button,.elementor-kit-5 input[type="button"],.elementor-kit-5 input[type="submit"],.elementor-kit-5 .elementor-button{font-size:var( --e-global-typography-accent-font-size );line-height:var( --e-global-typography-accent-line-height );letter-spacing:var( --e-global-typography-accent-letter-spacing );word-spacing:var( --e-global-typography-accent-word-spacing );}.elementor-section.elementor-section-boxed > .elementor-container{max-width:767px;}.e-con{--container-max-width:767px;}}
/* Start custom CSS *//* =========================================================
   Hermosa Cosmetic Center — Global CSS
   Lives in: Elementor › Site Settings › Custom CSS
   Class names below are added on widgets/containers under
   Advanced › CSS Classes, so everything stays editable in Elementor.
   ========================================================= */

:root {
  --hm-ease-bounce: cubic-bezier(.34, 1.56, .64, 1);
  /* Figma "Bouncy" spring (mass 1, stiffness 600, damping 15) sampled over a 1.8s transition */
  --hm-ease-figma-bouncy: linear(0 0%, 0.0642 0.85%, 0.2311 1.7%, 0.4588 2.55%, 0.7069 3.4%, 0.9404 4.24%, 1.1335 5.09%, 1.2705 5.94%, 1.346 6.79%, 1.3632 7.64%, 1.332 8.49%, 1.2661 9.34%, 1.1808 10.19%, 1.0905 11.03%, 1.0076 11.88%, 0.9407 12.73%, 0.8949 13.58%, 0.8714 14.43%, 0.8687 15.28%, 0.8827 16.13%, 0.9084 16.98%, 0.9402 17.82%, 0.9728 18.67%, 1.0022 19.52%, 1.0252 20.37%, 1.0404 21.22%, 1.0475 22.07%, 1.0473 22.92%, 1.0413 23.77%, 1.0314 24.61%, 1.0196 25.46%, 1.0078 26.31%, 0.9975 27.16%, 0.9896 28.01%, 0.9846 28.86%, 0.9825 29.71%, 0.983 30.56%, 0.9856 31.4%, 0.9893 32.25%, 0.9937 33.1%, 0.9979 33.95%, 1.0015 34.8%, 1.0042 35.65%, 1.0058 36.5%, 1.0064 37.35%, 1.0061 38.19%, 1.005 39.04%, 1.0036 39.89%, 1.002 40.74%, 1.0005 41.59%, 0.9992 42.44%, 0.9983 43.29%, 0.9978 44.14%, 0.9977 44.98%, 0.9978 45.83%, 0.9983 46.68%, 0.9988 47.53%, 0.9994 48.38%, 0.9999 49.23%, 1.0003 50.08%, 1.0007 50.93%, 1.0008 51.77%, 1.0008 52.62%, 1.0008 53.47%, 1.0006 54.32%, 1.0004 55.17%, 1.0002 56.02%, 1 56.87%, 0.9999 57.72%, 0.9997 58.56%, 0.9997 59.41%, 0.9997 60.26%, 0.9997 61.11%, 1 100%);
  --hm-ease-out: cubic-bezier(.22, 1, .36, 1);
}

html { scroll-behavior: smooth; }

/* Keyboard focus (accessibility) */
:where(a, button, input, select, textarea, .elementor-button):focus-visible {
  outline: 2px solid var(--e-global-color-accent);
  outline-offset: 3px;
}

/* Text Editor: no trailing gap after the last paragraph (spacing comes from widget margins) */
.elementor-widget-text-editor p:last-child { margin-block-end: 0 !important; }
/* Headings set to <p> and box descriptions must not inherit the theme paragraph margin */
.elementor-widget-heading p.elementor-heading-title,
.elementor-image-box-description,
.elementor-icon-box-description { margin: 0; }

/* ---------- Buttons: fill slides in from the left (Figma "smart animate") ----------
   Add class "hm-btn" to any Button / Form widget.
   Fill colour defaults to Primary; override with --hm-btn-fill. */
.hm-btn .elementor-button {
  position: relative;
  overflow: hidden;
  isolation: isolate;
  box-shadow:
    0 10px 21px -3.75px rgba(0, 0, 0, .05),
    0 5.9px 8.3px -3px rgba(0, 0, 0, .19),
    0 2.7px 3.8px -2.25px rgba(0, 0, 0, .23),
    0 1.2px 1.7px -1.5px rgba(0, 0, 0, .25),
    inset -1px -1px 1px rgba(0, 0, 0, .15),
    inset 1px 1px 1px rgba(255, 255, 255, .5);
  transition: color .3s ease, transform .2s var(--hm-ease-out);
}
.hm-btn .elementor-button::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  background: var(--hm-btn-fill, var(--e-global-color-primary));
  border-radius: inherit;
  transform: translateX(-100%);
  /* fallback for browsers without CSS linear(): one overshoot */
  transition: transform .9s cubic-bezier(.34, 1.56, .64, 1);
}
/* Figma: Smart Animate, "Bouncy" spring, 1.8s. The fill overshoots and wobbles like the prototype. */
@supports (transition-timing-function: linear(0, 1)) {
  .hm-btn .elementor-button::before { transition: transform 1.8s var(--hm-ease-figma-bouncy); }
}
.hm-btn .elementor-button:hover::before,
.hm-btn .elementor-button:focus-visible::before { transform: translateX(0); }
.hm-btn .elementor-button:active { transform: translateY(1px); }
.hm-btn--flat .elementor-button { box-shadow: none; }
/* buttons are inline-block: drop the baseline gap so the widget is exactly the button height (49px) */
.elementor-widget-button .elementor-button { vertical-align: top; }

/* ---------- Header ---------- */
.hm-header { box-shadow: 0 4px 8px rgba(71, 44, 0, .2); transition: box-shadow .3s var(--hm-ease-out); }
.hm-header.elementor-sticky--effects { box-shadow: 0 6px 18px rgba(71, 44, 0, .18); }
@media (min-width: 1025px) {
  /* logo + button share equal space so the menu sits in the true centre */
  .hm-header .hm-side { flex: 1 1 0; min-width: 0; }
}
@media (max-width: 1024px) {
  /* tablet/mobile: CTA sits next to the hamburger */
  .hm-header .hm-btn { margin-inline-start: auto; }
}
.hm-nav .elementor-nav-menu--main .elementor-item { transition: color .2s ease; }
.hm-nav.elementor-widget .elementor-nav-menu--main .elementor-nav-menu .elementor-item.elementor-item-active { font-weight: 600; }
.hm-nav .elementor-nav-menu--main .sub-menu { overflow: hidden; }
/* Figma has no caret on desktop; mobile dropdown keeps it (needed to open sub-menus) */
.hm-nav .elementor-nav-menu--main > .elementor-nav-menu > li > a > .sub-arrow { display: none; }
.hm-nav .elementor-nav-menu--dropdown .elementor-sub-item { transition: background-color .2s ease, color .2s ease, padding .25s var(--hm-ease-out); }
.hm-nav .elementor-nav-menu--main .elementor-sub-item:hover { padding-inline-start: 26px; }

/* ---------- Phone button (footer "Call Us Anytime") ---------- */
.hm-phone-btn .elementor-button { --hm-btn-fill: #fff; }
.hm-phone-btn .elementor-button-content-wrapper { align-items: center; }
.hm-phone-btn .elementor-button-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 37px;
  height: 37px;
  border-radius: 6px;
  background: #fff;
  color: var(--e-global-color-hmcharc);
  transition: background-color .35s ease, color .35s ease;
}
/* !important: Elementor's own "hover text colour" rule also paints the svg dark, which hid it on the dark hover box */
.hm-phone-btn .elementor-button .elementor-button-icon svg { width: 18px; height: 18px; fill: currentColor !important; }
.hm-phone-btn .elementor-button:hover .elementor-button-icon,
.hm-phone-btn .elementor-button:focus-visible .elementor-button-icon {
  background: var(--e-global-color-hmcharc);
  color: #fff;
}

/* ---------- Footer ---------- */
.elementor-widget.hm-contact .elementor-icon-box-description { margin-inline-start: -32px; }
/* centre the 20px icon on the 23px title line (Figma: icon and title share one centre line) */
.elementor-widget.hm-contact:not(.hm-visit-info) .elementor-icon-box-icon { margin-top: 9.5px; }
.elementor-widget.hm-contact .elementor-icon-box-description a { color: inherit; }
.hm-links .elementor-icon-list-text { transition: color .2s ease, transform .25s var(--hm-ease-out); }
.hm-links .elementor-icon-list-item:hover .elementor-icon-list-text { transform: translateX(4px); }
.hm-social .elementor-social-icon { transition: transform .25s var(--hm-ease-out), color .2s ease; }
.hm-social .elementor-social-icon:hover { transform: translateY(-3px); }

/* Newsletter: underline input + square arrow button */
.hm-news .elementor-form-fields-wrapper { flex-wrap: nowrap; align-items: stretch; }
.hm-news .elementor-field-type-email { flex: 1 1 auto; width: auto; max-width: none; }
.hm-news .e-form__buttons { flex: 0 0 50px; width: 50px; max-width: 50px; }
.hm-news .elementor-field-textual {
  height: 50px;
  padding-inline: 0;
  background: transparent !important;
  border-width: 0 0 1px 0 !important;
  border-radius: 0 !important;
}
.hm-news .elementor-field-textual::placeholder { color: rgba(255, 255, 255, .5); }
.hm-news .elementor-button { width: 50px; height: 50px; padding: 0; justify-content: center; }
.hm-news .elementor-button .elementor-button-icon svg { width: 12px; height: 12px; }
.hm-news .elementor-button-text {
  position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap;
}

/* Get in Touch: inline form, button aligned with inputs */
.hm-git .elementor-form-fields-wrapper { align-items: flex-end; }
.hm-git .elementor-field-textual { min-height: 45px; }
.hm-git .elementor-field-textual::placeholder { color: rgba(51, 51, 51, .56); }
.hm-git .e-form__buttons .elementor-button { min-height: 49px; }

/* ---------- Motion safety ---------- */
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    animation-duration: .01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: .01ms !important;
    scroll-behavior: auto !important;
  }
  .elementor-invisible { visibility: visible !important; }
}

/* ---------- Glass cards (Figma: white 50–60% + background blur 10) ---------- */
.hm-glass {
  -webkit-backdrop-filter: blur(10px);
  backdrop-filter: blur(10px);
  box-shadow:
    -2px 4px 10px rgba(145, 145, 145, .05),
    -7px 17px 18px rgba(145, 145, 145, .04),
    -15px 37px 24px rgba(145, 145, 145, .03),
    inset 0 4px 4px rgba(255, 255, 255, .25),
    inset 0 -5px 4px rgba(255, 255, 255, .25);
}

/* ---------- Hero ---------- */
/* photo is the card background on desktop; tablet/mobile show it as the Image widget instead */
@media (max-width: 1024px) { .elementor-element.hm-hero { background-image: none !important; } }
.hm-btn--light .elementor-button { --hm-btn-fill: var(--e-global-color-hmcharc); }

/* phone badge: white disc with a soft cream ring (Figma "Group 40030") */
.hm-hero-address { --hm-ring: 12px; }
.hm-hero-address .elementor-icon {
  box-shadow:
    0 0 0 var(--hm-ring) rgba(255, 246, 240, .78),
    0 0 0 calc(var(--hm-ring) + 1px) rgba(222, 168, 136, .25),
    inset 0 0 3px rgba(0, 0, 0, .18);
  transition: transform .3s ease-out;
}
.hm-hero-address .elementor-icon i,
.hm-hero-address .elementor-icon svg { transform-origin: 50% 60%; }
.hm-hero-card:hover .hm-hero-address .elementor-icon { transform: scale(1.06); }
.hm-hero-card:hover .hm-hero-address .elementor-icon svg { animation: hm-ring .8s ease-in-out; }
@keyframes hm-ring {
  0%, 100% { transform: rotate(0); }
  20% { transform: rotate(-14deg); }
  40% { transform: rotate(12deg); }
  60% { transform: rotate(-8deg); }
  80% { transform: rotate(4deg); }
}
.hm-hero-address .elementor-icon-box-title a { color: inherit; }
.hm-hero-address .elementor-icon-box-description a { color: inherit; transition: color .2s ease; }
.hm-hero-address .elementor-icon-box-description a:hover { color: var(--e-global-color-primary); }
@media (max-width: 767px) { .hm-hero-address { --hm-ring: 8px; } }

/* feature strip: warm glow underneath + dividers + icon lift */
.hm-features { position: relative; }
.hm-features::before {
  content: "";
  position: absolute;
  inset: 30% 4% -30% 4%;
  z-index: -1;
  background: radial-gradient(50% 50% at 50% 50%, rgba(158, 51, 11, .16), rgba(158, 51, 11, .06) 55%, rgba(158, 51, 11, 0) 100%);
  pointer-events: none;
}
.hm-features-wrap { overflow-x: clip; }
.hm-features .elementor-widget-image-box + .elementor-widget-image-box { border-inline-start: 1px solid #DBBCAD; }
.hm-features .elementor-image-box-img img { transition: transform .35s var(--hm-ease-bounce); }
.hm-features .elementor-widget-image-box:hover .elementor-image-box-img img { transform: translateY(-4px); }
@media (max-width: 767px) {
  .hm-features .elementor-widget-image-box + .elementor-widget-image-box { border-inline-start: 0; }
  .hm-features .elementor-widget-image-box:nth-child(even) { border-inline-start: 1px solid #DBBCAD; }
}

/* ---------- Decorative leaves / flourishes ---------- */
.hm-deco { pointer-events: none; }

/* ---------- Welcome ---------- */
.hm-welcome-card { transition: transform .5s var(--hm-ease-out), box-shadow .5s var(--hm-ease-out); }
.hm-welcome-photo:hover .hm-welcome-card { transform: translateY(-4px); box-shadow: 0 24px 40px -24px rgba(79, 69, 66, .45); }

/* ---------- Service cards (Image Box + class hm-service) ---------- */
.elementor-widget.hm-service {
  position: relative;
  --hm-arrow: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M7 17 17 7M9 7h8v8'/%3E%3C/svg%3E");
  transition: transform .35s var(--hm-ease-out), box-shadow .35s var(--hm-ease-out), background-color .35s ease;
}
.elementor-widget.hm-service:hover { transform: translateY(-4px); background-color: rgba(255, 255, 255, .7); }
/* icon tile */
.hm-service .elementor-image-box-img {
  display: flex !important;
  align-items: center;
  justify-content: center;
  flex: 0 0 98px;
  width: 98px !important;
  height: 135px;
  margin-block: 0 !important;
  border-radius: 15px;
  background: #F2DFD7;
  overflow: hidden;
}
.hm-service .elementor-image-box-img img { width: auto; max-width: 80%; max-height: 80%; transition: transform .45s var(--hm-ease-bounce); }
.elementor-widget.hm-service:hover .elementor-image-box-img img { transform: scale(1.06); }
/* arrow chip (Figma "Frame 8": arrow grows on hover) */
.elementor-widget.hm-service::after {
  content: "";
  position: absolute;
  top: 16px;
  right: 16px;
  width: 35px;
  height: 35px;
  border-radius: 7px;
  background: #F4F4F4 var(--hm-arrow) center / 14px no-repeat;
  box-shadow:
    0.3px 0.3px 0.44px -0.7px rgba(0, 0, 0, .26),
    1.86px 1.86px 2.63px -1.58px rgba(0, 0, 0, .23),
    4.13px 4.13px 5.84px -2.1px rgba(0, 0, 0, .19),
    7px 7px 14.85px -2.63px rgba(0, 0, 0, .055),
    inset .7px .7px .7px #fff,
    inset -.7px -.7px .7px rgba(0, 0, 0, .15);
  transition: background-size .35s var(--hm-ease-bounce), background-position .35s var(--hm-ease-bounce), background-color .3s ease;
  pointer-events: none;
}
.elementor-widget.hm-service:hover::after { background-size: 19px; background-position: 60% 40%; background-color: #fff; }
/* whole card is clickable (stretched title link) */
.hm-service .elementor-image-box-title a::before { content: ""; position: absolute; inset: 0; z-index: 1; }
.hm-service .elementor-image-box-title { margin-top: 0; }
/* Figma text box is 263px wide — keeps line breaks identical on desktop */
@media (min-width: 1025px) { .hm-service .elementor-image-box-description { width: 263px; max-width: 100%; } }
.hm-service .elementor-image-box-title a { color: inherit; }
.hm-service:focus-within { outline: 2px solid var(--e-global-color-accent); outline-offset: 3px; }
@media (max-width: 767px) {
  .elementor-widget.hm-service .elementor-image-box-img { flex-basis: auto; width: 72px !important; height: 96px; margin: 0 0 14px !important; margin-inline: 0 !important; }
  .e-con.hm-service-grid { grid-template-rows: none !important; }
  .elementor-widget.hm-service::after { top: 12px; right: 12px; width: 30px; height: 30px; background-size: 12px; }
}

/* ---------- Floating treatment chips (Subtle Enhancements) ---------- */
.hm-subtle-visual { position: relative; }
.elementor-widget.hm-chip {
  animation: hm-float 4.2s ease-in-out infinite;
  transition: box-shadow .3s ease, background-color .3s ease, scale .3s var(--hm-ease-bounce);
}
.elementor-widget.hm-chip--2 { animation-delay: -1.4s; }
.elementor-widget.hm-chip--3 { animation-delay: -2.8s; }
.elementor-widget.hm-chip:hover { scale: 1.05; background-color: rgba(255, 255, 255, .95); }
.hm-chip .elementor-image-box-img { display: block !important; width: fit-content !important; margin-inline: auto !important; }
.hm-chip .elementor-image-box-img img { width: auto; height: 71px; }
@media (max-width: 767px) { .hm-chip .elementor-image-box-img img { height: 50px; } }
.hm-chip .elementor-image-box-title { margin: 0; }
.hm-chip .elementor-image-box-title a { color: inherit; }
@keyframes hm-float {
  0%, 100% { translate: 0 0; }
  50% { translate: 0 -8px; }
}

/* ---------- Skin section: diamond collage + numbered list ---------- */
.hm-skin-left { position: relative; }
/* any square photo becomes a rounded diamond (Figma: 174px tile) */
.elementor-widget.hm-diamond img {
  display: block;
  width: 100%;
  aspect-ratio: 1;
  object-fit: cover;
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 174 174'%3E%3Crect x='25.5' y='25.5' width='123' height='123' rx='22' transform='rotate(45 87 87)'/%3E%3C/svg%3E") center / 100% 100% no-repeat;
          mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 174 174'%3E%3Crect x='25.5' y='25.5' width='123' height='123' rx='22' transform='rotate(45 87 87)'/%3E%3C/svg%3E") center / 100% 100% no-repeat;
  transition: scale .45s var(--hm-ease-bounce), filter .3s ease;
}
.elementor-widget.hm-diamond:hover img { scale: 1.05; filter: brightness(1.05); }
.hm-numbered .elementor-icon-list-items { counter-reset: hm-num; }
.hm-numbered .elementor-icon-list-item { counter-increment: hm-num; }
.hm-numbered .elementor-icon-list-item::before {
  content: counter(hm-num) ".";
  min-width: 1.35em;
  color: inherit;
  font: inherit;
}
.hm-numbered .elementor-icon-list-item { color: #fff; font-family: Manrope, sans-serif; font-size: 16px; line-height: 27px; }
@media (max-width: 767px) {
  /* collage flows under the list on phones */
  .e-con.hm-collage { position: relative !important; inset: auto !important; }
}

/* ---------- Numbered principles with star badge (Icon Box + class hm-step) ---------- */
.hm-steps { counter-reset: hm-step; }
.elementor-widget.hm-step { position: relative; counter-increment: hm-step; }
.elementor-widget.hm-step::before {
  content: counter(hm-step);
  position: absolute;
  top: -1px;
  left: 0;
  width: 24px;
  height: 24px;
  display: grid;
  place-items: center;
  padding-top: 1px;
  background: #7F4B38;
  color: #fff;
  font: 400 14px/1 "DM Serif Display", serif;
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M7.232 3.694c1.271-4.925 8.265-4.925 9.536 0a4.99 4.99 0 0 0 3.538 3.538c4.925 1.271 4.925 8.265 0 9.536a4.99 4.99 0 0 0-3.538 3.538c-1.271 4.925-8.265 4.925-9.536 0a4.99 4.99 0 0 0-3.538-3.538c-4.925-1.271-4.925-8.265 0-9.536a4.99 4.99 0 0 0 3.538-3.538Z'/%3E%3C/svg%3E") center / contain no-repeat;
          mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M7.232 3.694c1.271-4.925 8.265-4.925 9.536 0a4.99 4.99 0 0 0 3.538 3.538c4.925 1.271 4.925 8.265 0 9.536a4.99 4.99 0 0 0-3.538 3.538c-1.271 4.925-8.265 4.925-9.536 0a4.99 4.99 0 0 0-3.538-3.538c-4.925-1.271-4.925-8.265 0-9.536a4.99 4.99 0 0 0 3.538-3.538Z'/%3E%3C/svg%3E") center / contain no-repeat;
  transition: background-color .3s ease, scale .35s var(--hm-ease-bounce);
}
.elementor-widget.hm-step:hover::before { background-color: var(--e-global-color-secondary); scale: 1.15; }
.hm-step .elementor-icon-box-title { margin-top: 0; }

/* ---------- Journey steps (Icon Box + class hm-journey-step): big faded 01–04 ---------- */
.hm-journey { counter-reset: hm-journey; }
.elementor-widget.hm-journey-step {
  position: relative;
  overflow: hidden;
  counter-increment: hm-journey;
  transition: transform .35s var(--hm-ease-out), background-color .35s ease;
}
.elementor-widget.hm-journey-step::after {
  content: counter(hm-journey, decimal-leading-zero);
  position: absolute;
  top: -15px;
  right: 12px;
  font: 400 73.45px/101px "DM Serif Display", serif;
  color: rgba(159, 96, 74, .12);
  pointer-events: none;
  transition: color .35s ease, translate .45s var(--hm-ease-bounce);
}
.elementor-widget.hm-journey-step:hover { transform: translateY(-4px); background-color: rgba(255, 255, 255, .7); }
.elementor-widget.hm-journey-step:hover::after { color: rgba(159, 96, 74, .22); translate: 0 4px; }
.hm-journey-step .elementor-icon-box-title { margin-top: 0; position: relative; z-index: 1; }
.hm-journey-step .elementor-icon-box-description { position: relative; z-index: 1; }
@media (max-width: 767px) {
  .e-con.hm-journey { grid-template-rows: none !important; }
  .elementor-widget.hm-journey-step::after { font-size: 56px; line-height: 80px; top: -10px; }
}

/* ---------- Special offer cards ---------- */
.e-con.hm-offer {
  position: relative;
  box-shadow:
    -2px 4px 10px rgba(222, 168, 136, .52),
    -7px 17px 18px rgba(145, 145, 145, .04),
    -15px 37px 24px rgba(145, 145, 145, .03),
    inset 0 4px 4px rgba(255, 255, 255, .25),
    inset 0 -5px 4px rgba(255, 255, 255, .25);
  transition: transform .35s var(--hm-ease-out), box-shadow .35s var(--hm-ease-out);
}
.e-con.hm-offer:hover { transform: translateY(-6px); box-shadow: -2px 10px 24px rgba(222, 168, 136, .6), -7px 24px 30px rgba(145, 145, 145, .06); }
.hm-offer-badge .elementor-heading-title {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  height: 80px;
  padding-top: 2px;
}
.hm-offer-badge .elementor-heading-title span { font-size: 16px; line-height: 22px; }
.elementor-widget.hm-offer-badge { transition: rotate .5s var(--hm-ease-bounce), scale .5s var(--hm-ease-bounce); }
.e-con.hm-offer:hover .elementor-widget.hm-offer-badge { rotate: -10deg; scale: 1.06; }
.hm-offer-icon img { height: 50px; width: auto; }
.elementor-widget.hm-offer-price { margin-top: auto !important; padding-top: 20px; }
.hm-offer-price del { font-size: 20px; opacity: .8; text-decoration-thickness: 1px; }
.hm-offer-price .hm-price-arrow { font-size: 20px; }
.hm-offer-price ins { font-size: 30px; text-decoration: none; vertical-align: -2px; }
@media (max-width: 767px) {
  .e-con.hm-offer-grid { grid-template-rows: none !important; }
}

/* ---------- Your Goals (brown image-box cards) ---------- */
.elementor-widget.hm-goal {
  position: relative;
  transition: transform .35s var(--hm-ease-out), box-shadow .35s var(--hm-ease-out);
}
.elementor-widget.hm-goal:hover { transform: translateY(-6px); box-shadow: 0 22px 34px -18px rgba(126, 74, 55, .55); }
.elementor-widget.hm-goal .elementor-image-box-img { display: block; overflow: hidden; border-radius: 12px; }
.elementor-widget.hm-goal .elementor-image-box-title { margin-top: 0; }
.hm-goal .elementor-image-box-img img { display: block; transition: transform .6s var(--hm-ease-out); }
.elementor-widget.hm-goal:hover .elementor-image-box-img img { transform: scale(1.05); }
.hm-goal .elementor-image-box-content { padding: 0 3px; }
/* whole card is clickable (title link stretched over the card) */
.hm-goal .elementor-image-box-title a { color: inherit; }
.hm-goal .elementor-image-box-title a::after { content: ""; position: absolute; inset: 0; border-radius: 15px; }
.hm-goal .elementor-image-box-title a:focus-visible { outline: none; }
.hm-goal:has(.elementor-image-box-title a:focus-visible) { outline: 2px solid var(--e-global-color-secondary); outline-offset: 3px; }
@media (max-width: 767px) { .hm-br { display: none; } }

/* ---------- Patient reviews (nested carousel) ---------- */
.hm-reviews { overflow-x: clip; }
.hm-reviews-carousel .e-n-carousel.swiper { padding: 0 30px 44px 0; margin-bottom: -44px; }
.e-con.hm-review {
  box-shadow: 1px 3px 7px rgba(0, 0, 0, .10), 5px 12px 12px rgba(0, 0, 0, .09), 10px 26px 17px rgba(0, 0, 0, .05);
  transition: transform .35s var(--hm-ease-out);
}
.e-con.hm-review:hover { transform: translateY(-4px); }
.hm-review .elementor-widget-rating { line-height: 0; }
/* arrows sit top-right of the section, level with the heading (Figma) */
.hm-reviews-carousel .elementor-swiper-button {
  width: 50px; height: 50px;
  display: inline-flex; align-items: center; justify-content: center;
  top: -149px !important; bottom: auto !important; right: auto !important;
  transform: none !important;
  transition: background-color .25s ease, color .25s ease;
}
.hm-reviews-carousel .elementor-swiper-button-prev { left: 708px !important; }
.hm-reviews-carousel .elementor-swiper-button-next { left: 770px !important; }
.hm-reviews-carousel .elementor-swiper-button i,
.hm-reviews-carousel .elementor-swiper-button svg { transition: transform .35s var(--hm-ease-bounce); }
.hm-reviews-carousel .elementor-swiper-button-prev:hover i,
.hm-reviews-carousel .elementor-swiper-button-prev:hover svg { transform: translateX(-3px); }
.hm-reviews-carousel .elementor-swiper-button-next:hover i,
.hm-reviews-carousel .elementor-swiper-button-next:hover svg { transform: translateX(3px); }
@media (max-width: 1024px) {
  .hm-reviews-carousel .e-n-carousel.swiper { padding: 0 0 30px 0; margin-bottom: -30px; }
  .hm-reviews-carousel .elementor-swiper-button { top: auto !important; bottom: -66px !important; }
  .hm-reviews-carousel .elementor-swiper-button-prev { left: calc(50% - 56px) !important; }
  .hm-reviews-carousel .elementor-swiper-button-next { left: calc(50% + 6px) !important; }
}

/* ---------- Visit Hermosa ---------- */
.hm-map img { display: block; transition: transform .6s var(--hm-ease-out); }
.elementor-widget.hm-map a { display: block; overflow: hidden; border-radius: 15px; }
.hm-map:hover img { transform: scale(1.02); }
.elementor-widget.hm-visit-info .elementor-icon-box-title { margin-top: 0; }
.hm-visit-info .elementor-icon-box-description a:hover { color: var(--e-global-color-primary); }

/* ---------- CTA (shared template) ---------- */
.e-con.hm-cta { position: relative; overflow: visible; }
.hm-cta-woman img { display: block; }
/* hover: the line-art leaves sway from their stems */
.hm-cta-leaf img { display: block; transition: transform .9s var(--hm-ease-bounce); will-change: transform; }
.hm-cta-leaf1 img { transform-origin: 82% 86%; }
.hm-cta-leaf2 img { transform-origin: 14% 100%; }
.e-con.hm-cta:hover .hm-cta-leaf1 img { transform: rotate(-9deg) translateY(-4px); }
.e-con.hm-cta:hover .hm-cta-leaf2 img { transform: rotate(8deg) translateY(-4px); }
@media (max-width: 1024px) and (min-width: 768px) {
  .e-con.hm-cta { min-height: 300px; }
}

/* =================== PROMOTIONS PAGE =================== */
/* Get in Touch template shown as a floating card (Figma 309:5938) */
.hm-git-card .e-con.hm-git-section {
  border: 0;
  border-radius: 15px;
  box-shadow: -2px 4px 10px rgba(145, 145, 145, .06), -7px 17px 18px rgba(145, 145, 145, .05), -15px 37px 24px rgba(145, 145, 145, .03);
}

/* offer cards */
.e-con.hm-promo-card {
  position: relative;
  box-shadow:
    -2px 4px 10px rgba(222, 168, 136, .52),
    -7px 17px 18px rgba(145, 145, 145, .04),
    -15px 37px 24px rgba(145, 145, 145, .03),
    inset 0 4px 4px rgba(255, 255, 255, .15),
    inset 0 -5px 4px rgba(255, 255, 255, .1);
  transition: transform .35s var(--hm-ease-out), box-shadow .35s var(--hm-ease-out);
}
.e-con.hm-promo-card:hover { transform: translateY(-6px); box-shadow: -2px 12px 26px rgba(222, 168, 136, .6), -7px 24px 30px rgba(145, 145, 145, .06); }
.hm-promo-img { overflow: hidden; border-radius: 20px; }
.hm-promo-img img { display: block; transition: transform .6s var(--hm-ease-out); }
.e-con.hm-promo-card:hover .hm-promo-img img { transform: scale(1.04); }
.elementor-widget.hm-promo-badge { height: 116px; transition: rotate .5s var(--hm-ease-bounce), scale .5s var(--hm-ease-bounce); transform-origin: 51px 45px; }
.hm-promo-badge .elementor-heading-title {
  width: 80px; height: 80px; margin: 5px 0 0 11px;
  display: flex; flex-direction: column; align-items: center; justify-content: center; padding-bottom: 4px;
}
.hm-promo-badge .elementor-heading-title span { font-size: 18px; line-height: 20px; }
.e-con.hm-promo-card:hover .elementor-widget.hm-promo-badge { rotate: -10deg; scale: 1.06; }
.elementor-widget.hm-promo-pill {
  -webkit-backdrop-filter: blur(6px); backdrop-filter: blur(6px);
  box-shadow: -2px 4px 10px rgba(145, 145, 145, .05), inset 0 1px 1px rgba(255, 255, 255, .5);
}
.hm-promo-text .hm-promo-sub { color: #FFC7B2; }
.hm-promo-text .hm-promo-wide { margin-inline: -11px; }
.hm-promo-text .hm-promo-sub--strong { font-weight: 600; }
.hm-promo-was del { text-decoration-thickness: 2px; }

/* images in organic shapes: gentle lift on hover */
.hm-float-img img { display: block; transition: transform .8s var(--hm-ease-out); }
.hm-float-img:hover img { transform: translateY(-8px) rotate(-1deg); }

/* how to claim */
.e-con.hm-claim {
  position: relative;
  overflow: hidden;
  box-shadow: 1px 3px 7px rgba(0, 0, 0, .10), 5px 12px 12px rgba(0, 0, 0, .06), 10px 26px 17px rgba(0, 0, 0, .04),
    inset 0 -3px 4px rgba(255, 255, 255, .12), inset 0 3px 4px rgba(255, 255, 255, .12);
  transition: transform .35s var(--hm-ease-out), background-color .35s ease;
}
.e-con.hm-claim:hover { transform: translateY(-5px); background-color: var(--e-global-color-hmdeep); }
.hm-claim-no .elementor-heading-title { transition: transform .5s var(--hm-ease-bounce), color .35s ease; }
.e-con.hm-claim:hover .hm-claim-no .elementor-heading-title { transform: translateX(-6px); color: rgba(255, 211, 194, .35); }
.elementor-widget.hm-claim-title .elementor-heading-title { margin: 0; }

/* FAQ accordion (Figma 309:6059) */
.elementor-widget.hm-faq .e-n-accordion { gap: 30px; }
.elementor-widget.hm-faq .e-n-accordion-item {
  background: var(--e-global-color-hmblush);
  border-radius: 15px;
  box-shadow: 0 4px 10px rgba(145, 145, 145, .10), 0 12px 18px -8px rgba(145, 145, 145, .12);
  transition: background-color .35s ease, box-shadow .35s ease;
}
.elementor-widget.hm-faq .e-n-accordion-item[open] { background: #7F4D3B; box-shadow: 0 10px 22px -10px rgba(127, 77, 59, .55); }
.elementor-widget.hm-faq .e-n-accordion-item-title {
  position: relative;
  padding: 27px 90px 26px 46px !important;
  border: 0 !important;
  background: transparent !important;
  justify-content: flex-start;
}
.elementor-widget.hm-faq .e-n-accordion-item-title-icon {
  position: absolute; right: 15px; top: 15px;
  width: 50px; height: 50px; border-radius: 10px;
  display: flex; align-items: center; justify-content: center;
  background: #7F4D3B;
  box-shadow: 2px 3px 6px rgba(0, 0, 0, .18);
  transition: background-color .3s ease;
}
.elementor-widget.hm-faq .e-n-accordion-item[open] .e-n-accordion-item-title-icon { background: #F4F4F4; }
.elementor-widget.hm-faq .e-n-accordion-item-title-icon i,
.elementor-widget.hm-faq .e-n-accordion-item-title-icon svg { transform: rotate(-45deg); transition: transform .4s var(--hm-ease-bounce); }
.elementor-widget.hm-faq .e-n-accordion-item[open] .e-n-accordion-item-title-icon i,
.elementor-widget.hm-faq .e-n-accordion-item[open] .e-n-accordion-item-title-icon svg { transform: rotate(45deg); }
.elementor-widget.hm-faq .e-n-accordion-item > .e-con { margin-top: -8px; padding: 0 90px 32px 70px !important; border: 0 !important; background: transparent !important; }
@media (max-width: 767px) {
  .elementor-widget.hm-faq .e-n-accordion { gap: 16px; }
  .elementor-widget.hm-faq .e-n-accordion-item-title { padding: 18px 70px 18px 20px !important; }
  .elementor-widget.hm-faq .e-n-accordion-item-title-icon { width: 40px; height: 40px; right: 12px; top: 50%; margin-top: -20px; }
  .elementor-widget.hm-faq .e-n-accordion-item[open] .e-n-accordion-item-title-icon { top: 14px; margin-top: 0; }
  .elementor-widget.hm-faq .e-n-accordion-item > .e-con { padding: 0 20px 22px 20px !important; }
}
/* accordion title: never inherit the kit heading font/colour */
.elementor-widget.hm-faq .e-n-accordion-item-title-text { color: inherit; margin: 0; }

/* =================== SERVICE PAGES (shared blocks) =================== */
.hm-steps--light .elementor-widget.hm-step::before { background: #FFD3C2; color: #804D3A; }
.hm-steps--light .elementor-widget.hm-step:hover::before { background-color: #FFFFFF; }
.e-con.hm-glass-dark {
  -webkit-backdrop-filter: blur(12px); backdrop-filter: blur(12px);
  box-shadow: inset 0 0 22px rgba(242, 242, 242, .08), 0 20px 40px -24px rgba(0, 0, 0, .35);
}
/* treatment-area list with round photos */
.hm-area-img img { display: block; transition: transform .6s var(--hm-ease-bounce); }
.e-con.hm-area:hover .hm-area-img img { transform: scale(1.06) rotate(-3deg); }
.e-con.hm-area .elementor-widget-heading h3 { transition: color .25s ease; }
.e-con.hm-area:hover .elementor-widget-heading h3 { color: var(--e-global-color-secondary) !important; }
/* lifestyle card: photo fills the right half and fades into the card */
.elementor-widget.hm-life-img { top: 0 !important; bottom: 0; height: 100%; }
.hm-life-img img { width: 100%; height: 100% !important; object-fit: cover; object-position: left center; display: block; }
@media (max-width: 1024px) { .elementor-widget.hm-life-img { opacity: .35; } }
.e-con.hm-area > .e-con { flex: 1 1 0; min-width: 0; }
/* before/after list cards */
.e-con.hm-list-card { box-shadow: 1px 3px 7px rgba(0,0,0,.10), 5px 12px 12px rgba(0,0,0,.06), 10px 26px 17px rgba(0,0,0,.04); transition: transform .35s var(--hm-ease-out); }
.e-con.hm-list-card:hover { transform: translateY(-5px); }
.hm-list-card-img img { display: block; transition: transform .6s var(--hm-ease-out); }
.hm-list-card-img { overflow: hidden; border-radius: 26px; }
.e-con.hm-list-card:hover .hm-list-card-img img { transform: scale(1.05); }
.hm-list .elementor-icon-list-icon { align-self: flex-start; margin-top: 9px; }
.e-con.hm-flex-fill { flex: 1 1 0; min-width: 0; }
/* odd number of step cards: last one centred on its own row */
@media (min-width: 768px) { .e-con.hm-grid-odd > .e-con:last-child { grid-column: 1 / -1; justify-self: center; width: calc(50% - 14px); } }
/* white use-cards */
.e-con.hm-use-card { transition: transform .35s var(--hm-ease-out), box-shadow .35s var(--hm-ease-out); box-shadow: -2px 4px 10px rgba(222,168,136,.35), -7px 17px 18px rgba(145,145,145,.04); }
.e-con.hm-use-card:hover { transform: translateY(-6px); box-shadow: -2px 12px 26px rgba(222,168,136,.5), -7px 24px 30px rgba(145,145,145,.06); }
.hm-use-img { overflow: hidden; border-radius: 16px; }
.hm-use-img img { display: block; transition: transform .6s var(--hm-ease-out); }
.e-con.hm-use-card:hover .hm-use-img img { transform: scale(1.05); }

/* concern tiles (dark card) */
@media (min-width: 1025px) { .e-con.hm-grid3-center-last > .e-con:last-child { grid-column: 2; } }
.e-con.hm-concern { -webkit-backdrop-filter: blur(12px); backdrop-filter: blur(12px); box-shadow: inset 0 0 22px rgba(242,242,242,.06); transition: transform .35s var(--hm-ease-out), background-color .35s ease; }
.e-con.hm-concern:hover { transform: translateY(-4px); background-color: rgba(255,255,255,.16) !important; }
.hm-concern-icon img { display: block; }
/* vein page */
.hm-option-go .elementor-icon i, .hm-option-go .elementor-icon svg { transform: rotate(-45deg); transition: transform .4s var(--hm-ease-bounce); }
.e-con.hm-option:hover .hm-option-go .elementor-icon i, .e-con.hm-option:hover .hm-option-go .elementor-icon svg { transform: rotate(0deg); }
.hm-option-go .elementor-icon { box-shadow: 2px 3px 6px rgba(0,0,0,.18); }
.hm-list--sm .elementor-icon-list-icon { margin-top: 7px; }
.e-con.hm-notice { box-shadow: 0 4px 10px rgba(145,145,145,.10), 0 12px 18px -8px rgba(145,145,145,.12); }
.e-con.hm-reason { transition: transform .35s var(--hm-ease-out), background-color .35s ease; }
.e-con.hm-reason:hover { transform: translateY(-5px); background-color: rgba(255,255,255,.7) !important; }

/* =================== ABOUT US =================== */
/* brown value cards */
.e-con.hm-value {
  box-shadow: -2px 4px 10px rgba(222,168,136,.52), -7px 17px 18px rgba(145,145,145,.04), -15px 37px 24px rgba(145,145,145,.03), inset 0 4px 4px rgba(255,255,255,.25), inset 0 -5px 4px rgba(255,255,255,.25);
  transition: transform .35s var(--hm-ease-out), box-shadow .35s var(--hm-ease-out);
}
.e-con.hm-value:hover { transform: translateY(-6px); box-shadow: -2px 12px 26px rgba(222,168,136,.6), -7px 24px 30px rgba(145,145,145,.06), inset 0 4px 4px rgba(255,255,255,.25), inset 0 -5px 4px rgba(255,255,255,.25); }
.hm-value-icon img { display: block; transition: transform .5s var(--hm-ease-bounce); }
.e-con.hm-value:hover .hm-value-icon img { transform: rotate(-8deg) scale(1.06); }
/* service category rows (star badge from .hm-step) */
.e-con.hm-cat { box-shadow: -2px 4px 10px rgba(222,168,136,.52), -7px 17px 18px rgba(145,145,145,.04), inset 0 4px 4px rgba(255,255,255,.25), inset 0 -5px 4px rgba(255,255,255,.25); transition: transform .35s var(--hm-ease-out); }
.e-con.hm-cat:hover { transform: translateX(-6px); }
.e-con.hm-cat .elementor-widget.hm-step::before { top: 1px; background: #7E4A37; color: #F8E9E2; }
.e-con.hm-cat:hover .elementor-widget.hm-step::before { background-color: var(--e-global-color-secondary); scale: 1.15; }
/* team */
.elementor-widget.hm-member-photo { position: relative; z-index: 2; }
.hm-member-photo img { display: block; transition: transform .6s var(--hm-ease-out); }
.e-con.hm-member:hover .hm-member-photo img { transform: translateY(-8px); }
.e-con.hm-member-info { transition: box-shadow .35s var(--hm-ease-out); }
.e-con.hm-member:hover .hm-member-info { box-shadow: -2px 12px 26px rgba(222,168,136,.5), -7px 24px 30px rgba(145,145,145,.06), inset 0 4px 4px rgba(255,255,255,.25), inset 0 -5px 4px rgba(255,255,255,.25); }
/* outline pills */
.elementor-widget.hm-pill .elementor-heading-title { white-space: nowrap; }
.elementor-widget.hm-nowrap .elementor-heading-title { white-space: nowrap; }

/* =================== CONTACT =================== */
a.e-con.hm-reach, a.e-con.hm-reach:hover { color: inherit; text-decoration: none; }
.hm-reach-icon .elementor-icon { transition: transform .5s var(--hm-ease-bounce), background-color .3s ease; }
.e-con.hm-reach:hover .hm-reach-icon .elementor-icon { transform: rotate(-10deg) scale(1.06); background-color: #FFD3C2; }
.elementor-widget.hm-reach-go { margin-top: auto !important; padding-top: 16px; }
.hm-reach-go .elementor-heading-title { display: inline-block; transition: transform .35s var(--hm-ease-out); }
.e-con.hm-reach:hover .hm-reach-go .elementor-heading-title { transform: translateX(6px); }
.hm-reach-text p { overflow-wrap: anywhere; }
/* opening hours */
.e-con.hm-hours { box-shadow: 0 24px 40px -24px rgba(126,74,55,.55); }
.e-con.hm-hours-row .elementor-heading-title { transition: color .25s ease, transform .3s var(--hm-ease-out); }
.e-con.hm-hours-row:hover .elementor-widget:first-child .elementor-heading-title { color: #FFD3C2 !important; transform: translateX(4px); }
/* contact form */
.hm-contact-form textarea.elementor-field-textual { min-height: 130px; resize: vertical; }
.hm-contact-form .elementor-field-textual:focus { border-color: var(--e-global-color-secondary) !important; box-shadow: 0 0 0 3px rgba(210,139,112,.18); outline: none; }
.hm-contact-form .elementor-field-type-acceptance .elementor-field-subgroup label { font: 400 13px/1.5 Manrope, sans-serif; color: #313131; }
.hm-contact-form .elementor-field-type-acceptance > .elementor-field-label { display: none; }
.hm-contact-form .elementor-field-type-acceptance input { accent-color: #7E4A37; }
.hm-contact-form .elementor-select-wrapper::before { color: #7E4A37; }
/* map with floating card */
.e-con.hm-map-frame { position: relative; overflow: hidden; box-shadow: -2px 4px 10px rgba(222,168,136,.35), -7px 17px 18px rgba(145,145,145,.04); }
.hm-gmap iframe { display: block; }
@media (min-width: 768px) {
  .e-con.hm-map-card { position: absolute; left: 30px; top: 30px; z-index: 2; }
}
.hm-map-list .elementor-icon-list-icon { align-self: flex-start; margin-top: 3px; }
/* sticky hours card must stay below the sticky site header (both get Elementor's z-index 99 otherwise) */
.e-con.hm-hours.elementor-sticky, .e-con.hm-hours.elementor-sticky--active { z-index: 2 !important; }
/* booking form */
.hm-req { color: var(--e-global-color-secondary); font-weight: 600; }
.hm-book-form .elementor-field-type-acceptance .elementor-field-subgroup label a { color: #9F604A; text-decoration: underline; text-underline-offset: 2px; }
.hm-book-form .elementor-field-type-acceptance .elementor-field-subgroup label { color: rgba(49,49,49,.8); font-size: 12.5px; }
.hm-book-form .elementor-field-type-date input { cursor: pointer; }
.hm-book-form .e-form__buttons .elementor-button-icon { transition: transform .35s var(--hm-ease-out); }
.hm-book-form .e-form__buttons .elementor-button:hover .elementor-button-icon { transform: translateX(4px); }
.hm-book-form .e-form__buttons { flex: 0 0 auto; width: auto; max-width: 100%; }
.hm-book-form .e-form__buttons .elementor-button { white-space: nowrap; }
@media (max-width: 767px) { .hm-book-form .e-form__buttons { flex: 1 1 100%; width: 100%; } }
.hm-contact-form .elementor-field-type-acceptance .elementor-field-option { display: flex; align-items: flex-start; gap: 10px; }
.hm-contact-form .elementor-field-type-acceptance .elementor-field-option input { flex: none; margin: 4px 0 0; width: 16px; height: 16px; }/* End custom CSS */