:root{--abp-ink:#34212b;--abp-muted:#776770;--abp-rose:#c21d5b;--abp-blush:#fff0f5;--abp-cream:#fff9fb;--abp-line:#eadde2;--abp-gold:#c6a15d;--abp-magenta:#c21d5b}
body{color:var(--abp-ink);background:#fff}a:hover{color:var(--abp-rose)}

/* Keep the brand mark and navigation optically centered on one header line. */
.header{position:sticky;top:0;z-index:1000;background:rgba(255,255,255,.97);border-bottom:1px solid #f1e7eb;box-shadow:0 4px 22px rgba(73,30,49,.035);backdrop-filter:blur(12px)}
.header>.container{display:flex;align-items:center;justify-content:space-between;gap:28px;width:min(1320px,calc(100% - 64px));max-width:none;padding:10px 0}
.header>.container>.logo{display:flex;align-items:center;float:none;width:auto!important;max-width:340px;min-width:220px;margin:0;line-height:0}
.logo .custom-logo-link{display:block;line-height:0}.logo img.custom-logo{display:block;width:auto;height:auto;max-width:min(300px,27vw);max-height:94px;object-fit:contain}
.logo #logo-main{margin:0}.header #navigation{float:none;display:flex;align-items:center;margin:0 0 0 auto}.header .clear{display:none}
.main-navigation ul{display:flex;align-items:center;justify-content:flex-end;gap:clamp(18px,2.5vw,36px);margin:0;padding:0;list-style:none}

.main-navigation a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 44px;
    padding: 9px 0;
    line-height: 1.2!important;
    color: var(--abp-ink);
    font-size: 11px;
    font-weight: 700;
    letter-spacing: .075em;
    text-transform: uppercase;
    transition: color .2s,transform .2s;
    align-content: center;
}
.main-navigation a:hover{color:var(--abp-rose);transform:translateY(-1px)}
.main-navigation li:last-child a{min-height:42px;height:42px;padding:0 17px;line-height:1.2!important;border-radius:3px;background:var(--abp-rose);color:#fff;box-shadow:0 7px 17px rgba(194,29,91,.16)}
.main-navigation li:last-child a:hover{background:#9e1649;color:#fff;box-shadow:0 10px 23px rgba(194,29,91,.23)}

/* Brand colors across the home, services, contact, gallery and booking pages. */
.abp-hero-art{background:linear-gradient(145deg,#f7dce6 0%,#eaaec5 48%,#b94b79 100%)}
.abp-hero-art:before{background:linear-gradient(160deg,rgba(255,255,255,.82),rgba(230,153,184,.22))}
.abp-dot{background:var(--abp-gold)}
.abp-button,.abp-contact-layout .wpcf7 input[type=submit]{background:var(--abp-rose);box-shadow:0 7px 18px rgba(194,29,91,.15)}
.abp-button:hover,.abp-contact-layout .wpcf7 input[type=submit]:hover{background:#9e1649;color:#fff!important}
.abp-service-icon,.abp-detail-icon{background:#fce8ef;color:var(--abp-rose)}
.abp-service-list>a:nth-child(2) .abp-service-icon,.abp-contact-extras span{background:#fff7e9;border-color:#eee0c2}
.abp-service-list>a:nth-child(3) .abp-service-icon{background:#f7eaf0}
.abp-service-list>a:nth-child(4) .abp-service-icon{background:#fbf3e4}
.abp-appointment{background:var(--abp-blush)}
.abp-appointment-whatsapp,.abp-contact-facebook{border-color:var(--abp-gold)}
.abp-category-links a:hover{border-color:var(--abp-rose);background:var(--abp-rose)}
.abp-price-row strong{color:var(--abp-rose)}
.abp-contact-side{background:var(--abp-cream);border-color:var(--abp-line)}
.abp-contact-detail{border-color:var(--abp-line)}
.abp-contact-detail a{color:#a3174b}
.abp-contact-form,.abp-contact-layout .abp-contact-form{border-color:var(--abp-line)}
.abp-contact-layout .wpcf7 input:focus,.abp-contact-layout .wpcf7 textarea:focus{border-color:var(--abp-rose);box-shadow:0 0 0 3px rgba(194,29,91,.12)}
.abp-branch-notice{background:#fff4f7;border-color:var(--abp-rose);color:#65515a}
.apshora-menu,.apshora-booking{--apshora-ink:var(--abp-ink);--apshora-muted:var(--abp-muted);--apshora-accent:var(--abp-rose);--apshora-line:var(--abp-line)}
.apshora-booking-story{background:linear-gradient(150deg,#4b2938 0%,#33212b 100%)}
.apshora-booking-story .apshora-eyebrow,.apshora-booking-steps>div>span{color:#e0bd79}
.apshora-booking-story h2 em{color:#efabc5}
.apshora-booking .apshora-button{background:var(--abp-rose)}
.apshora-booking .apshora-button:hover{background:#9e1649}
.apshora-price{color:var(--abp-rose)}
.abp-services-page{padding-top:22px;padding-bottom:85px}
.abp-gallery-page{padding:76px 0 20px}
.abp-gallery-intro{text-align:center;padding-bottom:52px}
.abp-gallery-intro .abp-eyebrow{margin-bottom:14px!important}
.abp-gallery-intro h1{font:500 clamp(42px,5.5vw,68px)/1.08 var(--abp-display);letter-spacing:-.035em;margin:0 0 14px;color:var(--abp-ink)}
.abp-gallery-intro h1 em{color:var(--abp-rose);font-weight:500}
.abp-gallery-intro>p:not(.abp-eyebrow){color:var(--abp-muted);margin:0 auto 22px;max-width:560px}
.abp-gallery-intro .abp-button{display:inline-flex}
.abp-gallery-page .abp-gallery{padding-bottom:80px}
.abp-gallery-page .abp-gallery-grid{grid-template-rows:300px 300px}
.abp-gallery-page .abp-gallery-item:first-child{grid-row:span 2}
.abp-gallery-note{text-align:center;color:var(--abp-muted);font-size:12px;margin:20px 0 0}
.abp-services-page>.abp-page-heading{display:none}
.abp-services-page>.abp-page-content{width:100%;max-width:none}
.apshora-menu{max-width:1160px;padding:38px 24px 64px}
.apshora-menu .apshora-menu-intro{max-width:680px;margin-bottom:42px}
.apshora-menu .apshora-menu-intro h1{font-size:clamp(36px,4.5vw,56px);line-height:1.12;letter-spacing:-.025em}
.apshora-menu .apshora-menu-intro p{font-size:14px;line-height:1.75}
.abp-feature-section{background:#fff8fa}
.abp-feature-card{background:#f4e3e9}
.abp-slider{background:var(--abp-cream)}
.abp-slide-link{border-color:var(--abp-gold)}
.abp-slider-arrow{border-color:#d9c28d}
.abp-slider-arrow:hover{border-color:var(--abp-rose)}
.abp-slider-dot{background:#e9c7d5}
.abp-welcome-image{background:#f7e6ec}
.abp-slide-shade{background:linear-gradient(90deg,rgba(49,26,38,.76),rgba(49,26,38,.14))}
.abp-service-list>a:nth-child(2) .abp-service-icon,.abp-service-list>a:nth-child(3) .abp-service-icon,.abp-service-list>a:nth-child(4) .abp-service-icon{background:#fce8ef;color:var(--abp-rose)}
.abp-appointment-whatsapp{border-color:var(--abp-gold)}
.abp-contact-form .wpcf7 input[type=submit]{background:var(--abp-rose)}
.abp-contact-form .wpcf7 input[type=submit]:hover{background:#9e1649}
.copyright-area,.footerarea{background:#402633;color:#f4e8ed}
.copyright-wrapper{background:#321e29!important;border-color:rgba(255,255,255,.1)}
.copyright-txt{color:#ead9e1}.copyright-txt a{color:#f5dce7}

/* Light entrance and hover motion; visitors who reduce motion get a static page. */
@media(prefers-reduced-motion:no-preference){
@keyframes abp-rise-in{from{opacity:0;transform:translate3d(0,18px,0)}to{opacity:1;transform:translate3d(0,0,0)}}
@keyframes abp-soft-in{from{opacity:0}to{opacity:1}}
.abp-slide.is-active .abp-slide-copy{animation:abp-rise-in .8s cubic-bezier(.2,.7,.2,1) both}
.abp-slide.is-active .abp-slide-image{animation:abp-ken-burns 8s ease both}
@keyframes abp-ken-burns{from{transform:scale(1)}to{transform:scale(1.045)}}
.abp-welcome-copy,.abp-section-head,.abp-services-intro,.abp-appointment-copy,.abp-visit-copy,.abp-page-heading{animation:abp-rise-in .7s .08s ease-out both}
.abp-feature-card,.abp-gallery-item,.abp-contact-card,.abp-contact-side{transition:transform .28s ease,box-shadow .28s ease}
.abp-feature-card:hover,.abp-gallery-item:hover,.abp-contact-card:hover,.abp-contact-side:hover{transform:translateY(-4px);box-shadow:0 16px 38px rgba(83,35,56,.11)}
.abp-home .abp-button,.abp-actions a,.apshora-button{transition:transform .22s ease,box-shadow .22s ease,background-color .22s ease}
.abp-home .abp-button:hover,.apshora-button:hover{transform:translateY(-2px)}
}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}

@media(max-width:900px){
.header>.container{width:calc(100% - 42px);gap:18px;flex-wrap:nowrap;padding:9px 0}
.header>.container>.logo{min-width:0;max-width:calc(100% - 60px)}
.logo img.custom-logo{max-width:min(260px,62vw);max-height:76px}
.header #navigation{width:auto!important;max-width:none;flex:0 0 auto;margin-left:auto}
.header #navigation,.header #site-navigation{float:none!important}
.header #site-navigation{width:auto;min-height:0;margin:0;padding:0}
#site-navigation .menu-toggle{display:flex;align-items:center;justify-content:center;flex-direction:column;gap:6px;width:46px;height:46px;margin:0!important;padding:8px;border:1px solid #e8c9d6!important;border-radius:4px;background:#fff!important;box-shadow:0 2px 8px rgba(93,37,61,.06);outline:none}
#site-navigation .menu-toggle span{display:block;width:27px!important;height:2px!important;background:var(--abp-rose)!important;position:static!important;transition:width .2s ease,background-color .2s ease}
#site-navigation .menu-toggle:hover span{width:29px!important}
#site-navigation .menu-toggle:focus-visible{outline:3px solid rgba(194,29,91,.2);outline-offset:3px}
.main-navigation ul{gap:0}
#site-navigation ul#primary.primary-menu{display:none!important;position:absolute;top:calc(100% + 8px);left:auto;right:0;z-index:100;width:min(340px,calc(100vw - 30px));flex-direction:column;align-items:stretch;gap:0;margin:0;padding:10px 18px 16px;border:1px solid var(--abp-line);background:#fff;box-shadow:0 14px 30px rgba(50,27,38,.12)}
#site-navigation.toggled ul#primary.primary-menu{display:flex!important;animation:abp-menu-in .18s ease-out both}
#site-navigation ul#primary.primary-menu>li{float:none;width:auto;padding:0;border-bottom:1px solid #f2e9ed;text-align:left}
#site-navigation ul#primary.primary-menu>li:last-child{border-bottom:0}
#site-navigation ul#primary.primary-menu>li>a{display:flex;width:auto;min-height:45px;margin:0;padding:10px 2px;border-radius:0;background:transparent;color:var(--abp-ink);box-shadow:none;text-align:left}
#site-navigation ul#primary.primary-menu>li:last-child>a{display:inline-flex;width:max-content;min-height:40px;margin:12px 0 0;padding:0 16px;border-radius:3px;background:var(--abp-rose);color:#fff}
#site-navigation ul#primary.primary-menu>li>a:hover{color:var(--abp-rose)}
@keyframes abp-menu-in{from{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}
}
@media(max-width:650px){.abp-gallery-page{padding-top:48px}.abp-gallery-intro{padding-bottom:34px}.abp-gallery-page .abp-gallery{padding-bottom:58px}.abp-gallery-page .abp-gallery-grid{grid-template-rows:210px 170px 170px}.abp-gallery-page .abp-gallery-item:first-child{grid-row:span 2}}
@media(max-width:520px){.header>.container{width:calc(100% - 30px);gap:12px}.logo img.custom-logo{max-width:min(225px,calc(100vw - 100px));max-height:66px}.abp-hero{background:var(--abp-cream)}}
