/*
 * Theme Custom CSS
 * Automatically generated by WordPress.
 * Do not edit this file directly.
 */

.stickybar { 
    backdrop-filter: blur(16px);
    transition: .45s cubic-bezier(.19,1,.22,1);
}
.stickybar.elementor-sticky--active {
    background: rgba(241, 233, 216, .98) !important;
    border-bottom-color: #12222b24 !important;
    min-height: 68px !important;
}

.grev .elementor-heading-title {
    display: inline-flex;
    align-items: center;
    gap: .5rem;
    font-size: .78rem;
    white-space: nowrap;
}
.grev .st {
    color:#E3A63B;
    letter-spacing: .1em;
    line-height: 1;
}
.grev b {
    color: #fff;
    font-weight: 800;
}
.brandlogo span {
    display: block;
    font-family: "Mulish",system-ui,sans-serif;
    font-size: .5rem;
    font-weight: 800;
    letter-spacing: .38em;
    color:#6B5F49;
}
.brandlogo.brandfooter span { color:#93CFD5}

.elementor-nav-menu--main > ul > li.current-menu-ancestor > a {
    color: #0A4258!important;
    fill: #0A4258!important;
}
.elementor-nav-menu--main > ul > li.current-menu-ancestor > a:after {
    opacity:1!important
}

.elementor-nav-menu--main > ul > li > a > .sub-arrow svg {
    margin-top:4px;
    height:13px!important
}

/* 2nd Level */
.stickybar.elementor-sticky--active .elementor-nav-menu--main > ul > li > .sub-menu {
    margin-top:15px!important;
}
.elementor-nav-menu--main > ul > li > .sub-menu {
    margin-top:28px!important;
    background:#F4EDE0;
    border:2px solid #fff;
}
.elementor-nav-menu--main > ul > li > .sub-menu > li {
    border-bottom:1px solid #fff
}
.elementor-nav-menu--main > ul > li > .sub-menu > li > a {
    border-inline-start:none
}
.elementor-nav-menu--main > ul > li > .sub-menu > li > a .sub-arrow {
    margin-left:auto
}
.elementor-nav-menu--main > ul > li > .sub-menu > li.current-menu-ancestor > a {
    background-color: #063B52;
    color:#fff
}


/* 3rd Level */
.elementor-nav-menu--main > ul > li > .sub-menu > li > .sub-menu {
    background:#F4EDE0;
    border:2px solid #fff;
    border-top:0;
}
.elementor-nav-menu--main > ul > li > .sub-menu > li > .sub-menu li {
    border-bottom:1px solid #fff
}
.elementor-nav-menu--main > ul > li > .sub-menu > li > .sub-menu > li a  {
    border-inline-start:none
}

/* Mobile Nav */
.elementor-nav-menu--dropdown > .elementor-nav-menu > li > a {
    position: relative;
    padding: 16px 20px;
    font-size: 16px;
    font-weight: 600;
    letter-spacing: 0.01em;
    border-bottom: 1px solid rgba(0, 0, 0, 0.08);
    transition: all 0.25s ease;
}
/* First-level submenu arrow */
.elementor-nav-menu--dropdown > .elementor-nav-menu > li > a .sub-arrow {
    width: 34px;
    height: 34px;
    margin-left: auto;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: rgba(0, 0, 0, 0.05);
    transition: all 0.25s ease;
    padding:0
}
/* Arrow icon */
.elementor-nav-menu--dropdown > .elementor-nav-menu > li > a .sub-arrow svg {
    width: 11px;
    height: 11px;
    transition: transform 0.25s ease;
}

.elementor-nav-menu--dropdown
.elementor-nav-menu > li > ul.sub-menu > li > a {
    position: relative;
    padding: 13px 20px 13px 38px;
    font-size: 15px;
    font-weight: 500;
    letter-spacing: 0.01em;
    border-bottom: 1px solid rgba(0, 0, 0, 0.05);
    transition: all 0.25s ease;
}

/* Second-level items with children */
.elementor-nav-menu--dropdown
.elementor-nav-menu > li > ul.sub-menu > li.menu-item-has-children > a {
    font-weight: 600;
}

/* Second-level arrow */
.elementor-nav-menu--dropdown
.elementor-nav-menu > li > ul.sub-menu > li > a .sub-arrow {
    width: 26px;
    height: 26px;
    margin-left: auto;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: transparent;
    border: 1px solid rgba(0, 0, 0, 0.18);
    transition: all 0.25s ease;
    padding:0
}
/* Second-level arrow icon */
.elementor-nav-menu--dropdown
.elementor-nav-menu > li > ul.sub-menu > li > a .sub-arrow svg {
    width: 8px;
    height: 8px;
    transition: transform 0.25s ease;
}

.elementor-nav-menu--dropdown
.elementor-nav-menu > li > ul.sub-menu > li > ul.sub-menu > li > a {
    position: relative;
    padding: 11px 20px 11px 58px;
    font-size: 14px;
    font-weight: 400;
    letter-spacing: 0.005em;
    border-bottom: 1px solid rgba(0, 0, 0, 0.035);
    transition: all 0.25s ease;
}
/* Add a visual hierarchy indicator */
.elementor-nav-menu--dropdown
.elementor-nav-menu > li > ul.sub-menu > li > ul.sub-menu > li > a::before {
    content: "";
    position: absolute;
    left: 42px;
    top: 50%;
    width: 5px;
    height: 5px;
    border-radius: 50%;
    background: currentColor;
    opacity: 0.45;
    transform: translateY(-50%);
}

/* First level when submenu is open */
.elementor-nav-menu--dropdown
.elementor-nav-menu > li.menu-item-has-children
> a[aria-expanded="true"] .sub-arrow {
    background: rgba(0, 0, 0, 0.12);
}
.elementor-nav-menu--dropdown
.elementor-nav-menu > li.menu-item-has-children
> a[aria-expanded="true"] .sub-arrow svg { fill:#fff}

.elementor-nav-menu--dropdown
.elementor-nav-menu > li.menu-item-has-children
> a[aria-expanded="true"] .sub-arrow svg {
    transform: rotate(180deg);
}

/* Second level when submenu is open */
.elementor-nav-menu--dropdown
.elementor-nav-menu > li > ul.sub-menu
> li.menu-item-has-children
> a[aria-expanded="true"] .sub-arrow {
    background: rgba(0, 0, 0, 0.07);
    border-color: rgba(0, 0, 0, 0.30);
}

.elementor-nav-menu--dropdown
.elementor-nav-menu > li > ul.sub-menu
> li.menu-item-has-children
> a[aria-expanded="true"] .sub-arrow svg {
    transform: rotate(180deg);
}

.elementor-nav-menu--dropdown a:hover,
.elementor-nav-menu--dropdown a:focus {
    background: rgba(0, 0, 0, 0.035);
}

.elementor-nav-menu--dropdown
> .elementor-nav-menu
> li
> a:hover
.sub-arrow {
    transform: scale(1.05);
    fill:#fff
}

.elementor-nav-menu--dropdown
.elementor-nav-menu > li > ul.sub-menu
> li > a:hover
.sub-arrow {
    background: rgba(0, 0, 0, 0.06);
}

/* Second-level background */
.elementor-nav-menu--dropdown
.elementor-nav-menu > li > ul.sub-menu {
    background: rgba(0, 0, 0, 0.025);
    border-left: 2px solid rgba(0, 0, 0, 0.08);
}

/* Third-level background */
.elementor-nav-menu--dropdown
.elementor-nav-menu > li > ul.sub-menu
> li > ul.sub-menu {
    background: rgba(0, 0, 0, 0.025);
    border-left: 2px solid rgba(0, 0, 0, 0.06);
}

.elementor-nav-menu--dropdown li:last-child > a {
    border-bottom: 0;
}


.topbtn { overflow:hidden}
.topbtn .elementor-button .elementor-button-content-wrapper {
    position: relative;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: .85rem;
    flex-shrink: 0;
    white-space: nowrap;
    isolation: isolate;
    transition: color .5s cubic-bezier(.19, 1, .22, 1), border-color .5s cubic-bezier(.19, 1, .22, 1), padding .45s cubic-bezier(.19, 1, .22, 1);
}
.topbtn .elementor-button::before {
    content: "";
    position: absolute;
    inset: 0;
    background:#0A4258;
    transform: translateY(101%);
    transition: transform .55s cubic-bezier(.19, 1, .22, 1);
}
.topbtn .elementor-button::after {
    content: "";
    position: absolute;
    inset: 5px;
    border: 1px solid rgb(10, 66, 88);
    opacity: .24;
    background: none;
    pointer-events: none;
    transition: inset .5s cubic-bezier(.19, 1, .22, 1), opacity .5s cubic-bezier(.19, 1, .22, 1), border-color .5s cubic-bezier(.19, 1, .22, 1);
}
.topbtn .elementor-button-icon svg {
    width: 16px;
    height: 9px;
    flex-shrink: 0;
    transition: transform .5s cubic-bezier(.19, 1, .22, 1);
}
.topbtn:hover {
    color: #fff;
    border-color:#0A4258;
}
.topbtn:hover .elementor-button::before{
    transform: translateY(0);
}
.topbtn:hover .elementor-button-icon svg {
    transform: translateX(5px);
}
.topbtn:hover .elementor-button::after {
    inset: 3px;
    opacity: 1;
    border-color: #C39A5C!important;
    z-index: 5;
}

.herosec.herohp:before,
.herosec:before{
    content:'';
    z-index:1;
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg, rgba(6, 45, 62, .72) 0%, rgba(6, 45, 62, .30) 30%, rgba(6, 45, 62, .92) 100%), linear-gradient(95deg, rgba(6, 45, 62, .78) 0%, rgba(6, 45, 62, .34) 46%, rgba(6, 45, 62, 0) 74%);
}
.herosec.fin-hero { background: linear-gradient(135deg, #063B52 0%, #0A4258 52%, #2F8E95 130%);}

.elementor-widget-text-editor {}
.elementor-widget-text-editor h3,
.elementor-widget-text-editor h4{
    margin: 1.4rem 0 .9rem;
    letter-spacing: .03em;
}
.elementor-widget-text-editor p.lead-a {
    font-size:18px;
    color: #12222B;
    font-weight: 500;
}
.elementor-widget-text-editor p:last-child { margin:0}
.elementor-widget-text-editor p > a {
    color:inherit;
    text-decoration:underline;
    text-underline-offset:3px
}
.elementor-widget-text-editor p > a:hover { text-decoration:none}

.elementor-widget-text-editor ul {
    margin: 0 0 1.4rem;
    padding: 0;
    list-style: none;
    max-width: 70ch;
}
.elementor-widget-text-editor ul li {
    position: relative;
    padding: .4rem 0 .4rem 1.6rem;
    font-size: 1rem;
}

.elementor-widget-text-editor ul li::before {
    content: "";
    position: absolute;
    left: 5px;
    top:1em;
    width: 7px;
    height: 7px;
    border: 1.5px solid #C39A5C;
    transform: rotate(45deg);
}


.grevmeta .elementor-heading-title{
    display: inline-flex;
    align-items: center;
    gap: .5rem;
    white-space: nowrap;
}
.grevmeta .elementor-heading-title span {
    color: #E3A63B;
    letter-spacing: .1em;
    line-height: 1;
}
.grevmeta .elementor-heading-title b { color:#fff}

.fadeup,
.fadeupfast {
    display: inline-block;
    overflow: hidden;
    vertical-align: bottom;
    line-height: 1;
}
.fadeup > b,
.fadeupfast > b {
    display: inline-block;
    transform: translateY(110%);
    animation: textRise 0.45s cubic-bezier(.19, 1, .22, 1) forwards;
}
.fadeup > b,
.fadeupfast > b { font-weight:inherit}
.fadeupfast > b {
    animation-delay: 0.12s;
}
@keyframes textRise {
    from {
        transform: translateY(110%);
    }
    to {
        transform: translateY(0);
    }
}

.btn.btn-line .elementor-button::after {
    inset: 5px;
    opacity: .18;
}
.btn.btn-line .elementor-button:hover {
    border-color: #fff!important;
    background: rgba(255, 255, 255, .06)!important;
}

.btn .elementor-button .elementor-button-content-wrapper {
    display: inline-flex;
    align-items: center;
    gap: .9rem;
    position: relative;
    overflow: visible;
    transition: .5s var(--ease);
    cursor: pointer;
    background-clip: padding-box;
}
.btn .elementor-button::after {
    content: "";
    position: absolute;
    inset: 6px;
    border: 1px solid currentColor;
    opacity: .26;
    transition: inset .5s cubic-bezier(.19,1,.22,1), opacity .5s cubic-bezier(.19,1,.22,1), border-color .5s cubic-bezier(.19,1,.22,1);
    pointer-events: none;
}
.btn .elementor-button:hover::after {
    inset: 3px;
    opacity: 1;
    border-color: #C39A5C;
}
.btn .elementor-button svg {
    transition: transform .5s cubic-bezier(.19,1,.22,1);
}
.btn .elementor-button:hover svg {
    transform: translateX(6px);
}

.reveal {
    opacity: 0;
    transform: translateY(34px);
    transition:
        opacity 1.1s cubic-bezier(.19, 1, .22, 1),
        transform 1.1s cubic-bezier(.19, 1, .22, 1);
}
.reveal.in {
    opacity: 1;
    transform: translateY(0);
}
.reveal.delay12 {
    transition-delay: 0.12s;
}
.reveal.delay24 {
    transition-delay: 0.24s;
}
.reveal.delay36 {
    transition-delay: 0.36s;
}
.reveal.delay48 {
    transition-delay: 0.48s;
}

/* Keep reveal elements visible inside Elementor Editor */
body.elementor-editor-active .reveal {
    opacity: 1 !important;
    transform: none !important;
}


.imgbox .elementor-widget-image {
    isolation: isolate;
    aspect-ratio: 4 / 3;
    position: relative;
    overflow: hidden;
}
.imgbox2 .elementor-widget-image {
    aspect-ratio: 4 / 5;
}
.imgbox .elementor-widget-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: 50% 55%;
    position: absolute;
    inset: 0;
    max-width: 100%;
    display: block;
}

.imgbox .elementor-widget-image .wp-caption .wp-caption-text {
    position: absolute;
    white-space: normal;
    font-weight: 800;
    max-width: calc(100% - 40px);
    text-transform: uppercase;
    line-height: 1.55;
    font-size: .56rem;
    letter-spacing: .18em;
    bottom: 14px;
    left: 16px;
    right: 16px;
    background: linear-gradient(180deg, transparent 62%, rgba(6, 45, 62, .72));
    color: #fff;
    padding: 0;
    z-index: 2;
    font-style:normal;
    text-align:left
}

.imgbox .elementor-widget-image .wp-caption:after {
    content:'';
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    height: 46%;
    background: linear-gradient(180deg, transparent, rgba(6, 45, 62, .78));
    z-index: 1;
    pointer-events: none;
}

.imgbox.r-curve:before {
    content:'';
    position: absolute;
    inset: 24px -24px -24px 24px;
    border: 1.5px solid #C39A5C;
    border-radius: 3px 3px 120px 3px;
    z-index: -1;
}
.imgbox.r-curve .elementor-widget-image {
    border-radius: 3px 3px 120px 3px;
}


.statbox {
    background: linear-gradient(160deg, #A9DCEA 0%, #2F8E95 52%, #0A4258 100%);
}
.statbox .rays {
    position: absolute;
    right: -46px;
    top: -46px;
    width: 210px;
    opacity: .18;
    color:#fff;
}

.statbox .elementor-counter-number-suffix { font-size:44px;font-family: "Mulish", Sans-serif;}

/* Main tabs container */
.treatments-section .treatment-tabs-buttons {
    display: flex;
    align-items: center;
    gap: 12px;
    flex-wrap: wrap;
    margin-bottom: 10px;
}

.treatments-section .treatment-tabs-buttons .tab .elementor-button,
.treatments-section .treatment-tabs-buttons .elementor-widget-button#all-services-tab .elementor-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 44px;
    font-size: 0.7rem;
    font-weight: 800;
    line-height: 1.2;
    letter-spacing: 0.16em;
    text-transform: uppercase;
    padding: 1rem 1.6rem;
    border: 1px solid #d5d5d5;
    border-radius: 0;
    background: transparent;
    color:#777;
    cursor: pointer;
    transition:
        background-color 0.4s ease,
        border-color 0.4s ease,
        color 0.4s ease;
    font-family: inherit;
    box-shadow: none;
}

/* Remove Elementor button effects */
.treatments-section .treatment-tabs-buttons .tab .elementor-button::before,
.treatments-section .treatment-tabs-buttons .tab .elementor-button::after {
    display: none;
}

/* Button hover */
.treatments-section .treatment-tabs-buttons .tab .elementor-button:hover,
.treatments-section .treatment-tabs-buttons .elementor-widget-button#all-services-tab .elementor-button:hover {
    background: #0A4258;
    border-color: #0A4258;
    color: #ffffff;
}

/* Active tab */
.treatments-section .treatment-tabs-buttons .tab.on .elementor-button,
.treatments-section .treatment-tabs-buttons .tab.is-active .elementor-button {
    background: #0A4258;
    border-color: #0A4258;
    color: #ffffff;
}

/* Elementor button text */
.treatments-section .treatment-tabs-buttons .tab .elementor-button-text {
    font-size: inherit;
    font-weight: inherit;
    line-height: inherit;
    letter-spacing: inherit;
    text-transform: inherit;
}

.pane:nth-of-type(2) .tcard,
.pane:nth-of-type(2) .tcard .ph {
    background: #E8DCC5 !important;
}
.treatments-section .railwrap {
    position: relative;
    width: 100%;
    min-width: 0;
}
.rail {
    display: flex;
    flex-wrap: nowrap;
    align-items: stretch;
    gap: clamp(.9rem, 1.4vw, 1.5rem);
    width: 100%;
    min-width: 0;
    overflow-x: auto;
    overflow-y: hidden;
    scroll-behavior: smooth;
    scroll-snap-type: x mandatory;
    overscroll-behavior-x: contain;
    padding-bottom: 1.4rem;
    cursor: grab;
    scrollbar-width: none;
    -ms-overflow-style: none;
}
.rail * {
    user-select: none;
    -webkit-user-select: none;
}
.rail img {
    -webkit-user-drag: none;
    user-drag: none;
    pointer-events: none;
}

/* Hide scrollbar in WebKit browsers */
.rail::-webkit-scrollbar {
    display: none;
    width: 0;
    height: 0;
}

/* Dragging state */
.rail.is-dragging {
    cursor: grabbing;
    scroll-behavior: auto;
    scroll-snap-type: none;
}

.tcard {
    flex: 0 0 clamp(230px, 22vw, 320px) !important;
    width: clamp(230px, 22vw, 320px);
    min-width: clamp(230px, 22vw, 320px);
    scroll-snap-align: start;
    position: relative;
    overflow: hidden;
    background: #29B7E8;
}
.tcard .ph {
    aspect-ratio: 761 / 1024;
    overflow: hidden;
    position: relative;
    background: #29B7E8;
}
.tcard .ph img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: 50% 50%;
    transition: transform 1.2s cubic-bezier(.19, 1, .22, 1);
    -webkit-user-drag: none;
    user-drag: none;
    pointer-events: none;
}
.tcard .cap {
    background: #0A4258;
    color: #fff;
    padding: 1.15rem 1.25rem;
    display: flex;
    align-items: baseline;
    gap: .85rem;
    position: relative;
    transition: background .45s cubic-bezier(.19, 1, .22, 1);
}
.tcard .cap h3 {
    color: #fff;
    font-size: .95rem;
    letter-spacing: .08em;
    line-height: 1.15;
}
.tcard .cap::after {
    content: "";
    position: absolute;
    left: 0;
    bottom: 0;
    width: 0;
    height: 2px;
    background: #C39A5C;
    transition: width .55s cubic-bezier(.19, 1, .22, 1);
}
.tcard:nth-child(even) {
    margin-top: clamp(1rem, 2.6vw, 2.6rem);
}
.tcard:hover .ph img {
    transform: scale(1.06);
}
.tcard:hover .cap {
    background: #063B52;
}
.tcard:hover .cap::after {
    width: 100%;
}

.treatments-section .rail-arrows {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 10px;
    width: 100%;
    margin-top: 8px;
}
/* Arrow buttons */
.treatments-section .rail-arrow {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 42px;
    height: 42px;
    padding: 0;
    border: 1px solid #0A4258;
    border-radius: 0;
    background: transparent;
    color: #0A4258;
    font-family: inherit;
    font-size: 20px;
    font-weight: 400;
    line-height: 1;
    cursor: pointer;
    transition:
        background-color 0.3s ease,
        color 0.3s ease,
        opacity 0.3s ease,
        border-color 0.3s ease;
}

/* Arrow hover */
.treatments-section .rail-arrow:hover:not(:disabled) {
    background: #0A4258;
    color: #ffffff;
}

/* Disabled arrow */
.treatments-section .rail-arrow:disabled {
    opacity: 0.3;
    cursor: not-allowed;
}

/* Keyboard focus */
.treatments-section .rail-arrow:focus-visible,
.treatments-section .treatment-tabs-buttons .tab .elementor-button:focus-visible {
    outline: 2px solid #0A4258;
    outline-offset: 3px;
}

/* Frontend default: hide both panels */
.treatments-section .treatment-content-area .treatment-panel-plastic,
.treatments-section .treatment-content-area .treatment-panel-medspa {
    display: none !important;
}
/* Frontend: show Plastic Surgery panel */
.treatments-section.panel-plastic-active
.treatment-content-area
.treatment-panel-plastic {
    display: flex !important;
}
/* Frontend: show Med Spa panel */
.treatments-section.panel-medspa-active
.treatment-content-area
.treatment-panel-medspa {
    display: flex !important;
}

/* =========================================================
   ELEMENTOR EDITOR MODE
   Keep both panels visible while editing
   ========================================================= */
body.elementor-editor-active
.treatments-section
.treatment-content-area
.treatment-panel-plastic,
body.elementor-editor-active
.treatments-section
.treatment-content-area
.treatment-panel-medspa {
    display: flex !important;
}

.img-wrap img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: 50% 16%;
}
.img-border {
    position: absolute;
    inset: -30px 30px 30px -30px;
    border: 1.5px solid #C39A5C;
    z-index: -1;
}
.img-wrap-topr-curve .img-border { border-radius: 3px 150px 3px 3px;}
.topr-curve.elementor-widget-image {
    aspect-ratio: 5 / 6;
    overflow: hidden;
    border-radius: 3px 150px 3px 3px;
    position: relative;
    background: #E8DCC5;
}
.watermark.doc {
    position: absolute;
    left: -2vw;
    top:0;
    opacity: .05;
    pointer-events: none;
    text-transform: uppercase;
}

.watermark.doc .elementor-heading-title {}

.badge b {
    white-space: nowrap;
    font-size:16px;
    font-family:"Cinzel",Georgia,serif;
    letter-spacing: .05em;
    color: #fff;
    display:block;
    margin-bottom: 8px;
}

.fbtxt {
    padding: clamp(3rem, 7vw, 6rem) clamp(1.5rem, 4vw, 4rem) clamp(3rem, 7vw, 6rem) max((100vw - 1720px) / 2 + 1.2rem, 1.2rem)!important;
    position: relative;
    z-index: 2;
}
.fb-img .elementor-widget-image {
    position: relative;
    height: 100%;
    min-height: 380px;
    overflow: hidden;
}
.fb-img .elementor-widget-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: 170px 0 0 170px;
}

.cg {
    display: grid;
    grid-template-columns: repeat(12, 1fr);
    gap: clamp(.7rem, 1.2vw, 1.2rem);
}
.ci {
    overflow: hidden;
    position: relative;
}
.ci img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 1.3s cubic-bezier(.19, 1, .22, 1);
}
.ci:hover img {
    transform: scale(1.07);
}
.k1 {
    grid-column: 1 / 7;
    aspect-ratio: 4 / 3;
}
.k2 {
    grid-column: 7 / 11;
    aspect-ratio: 3 / 4;
    margin-top: clamp(2rem, 6vw, 5rem);
}
.k3 {
    grid-column: 11 / 13;
    aspect-ratio: 3 / 4;
}
.k4 {
    grid-column: 2 / 8;
    aspect-ratio: 16 / 10;
    margin-top: -7%;
}


.faqacc {}
.faqacc .e-n-accordion-item {
    border-bottom:1px solid #12222b24;
    margin:0!important;
}
.faqacc .e-n-accordion-item .e-n-accordion-item-title {
    padding:24px 0;
    margin:0!important;
}
.faqacc .e-n-accordion-item .e-n-accordion-item-title h3 {
    text-transform: capitalize;
    font-weight:600
}
.faqacc .e-n-accordion-item:hover .e-n-accordion-item-title h3{
    color:#2F8E95;
}

.faqacc .e-n-accordion-item > .elementor-element {
    padding-bottom:20px
}
.faqacc .e-n-accordion-item .e-n-accordion-item-title .e-n-accordion-item-title-icon svg {
    fill:#C39A5C

}
.faqacc .e-n-accordion-item:hover .e-n-accordion-item-title .e-n-accordion-item-title-icon svg,
.faqacc .e-n-accordion-item .e-n-accordion-item-title .e-n-accordion-item-title-icon .e-opened svg{
    fill:#C39A5C!important
}
.faqacc .e-n-accordion-item > .elementor-element .elementor-widget-text-editor {
    max-width:80ch
}


/* Icon animation */
.faqacc .e-n-accordion-item-title-icon {
    position: relative;
    display: flex !important;
    align-items: center;
    justify-content: center;
}

.faqacc .e-n-accordion-item-title-icon .e-opened {
    position:absolute;
    display:flex!important
}

.faqacc .e-n-accordion-item-title-icon .e-opened svg {
    transform: scale(0.75) rotate(0deg);
    transform-origin: center;
    transition: transform 0.4s cubic-bezier(.4, 0, .2, 1);
}

.faqacc .e-n-accordion-item-title-icon .e-closed {
    display: flex !important;
    align-items: center;
    justify-content: center;
}

.faqacc .e-n-accordion-item-title-icon .e-closed svg {
    transform: scale(0.75) rotate(90deg);
    transform-origin: center;
    transition: transform 0.4s cubic-bezier(.4, 0, .2, 1);
}

.faqacc .e-n-accordion-item[open] .e-closed svg {
    transform: scale(0.75) rotate(180deg);
    fill: #C6A15C !important;
}


.taglink .elementor-heading-title a {
    position: relative;
    display: flex;
    align-items: center;
    gap: .7rem;
    padding: 15px 0;
    border: 0;
    background: none;
    border-bottom: 1px solid rgba(255, 255, 255, .16);
    transition: .4s cubic-bezier(.19,1,.22,1);
    backdrop-filter: none;
}

.taglink .elementor-heading-title a::before {
    content: '25C6';
    font-size: .42rem;
    color: #C39A5C;
    line-height: 1;
    transform: translateX(0);
    transition: .4s cubic-bezier(.19,1,.22,1);
    flex-shrink: 0;
}

.taglink .elementor-heading-title a:hover {
    background: none;
    border-color: #C39A5C;
    color: #fff;
    padding-left: .4rem;
    letter-spacing: .19em;
}

.revs-score .elementor-heading-title .st {
    color:#E3A63B;
    letter-spacing: .14em;
    font-size: 1rem;
}
.revs-score .elementor-heading-title b {
    display: block;
    font-family:"Cinzel",Georgia,serif;
    font-size: 3rem;
    color: #0A4258;
    line-height: 1;
    margin:5px 0;
}
.revs-score .elementor-heading-title span {
    display: block;
}

.rgrid {
    grid-template-columns: 1.15fr .9fr 1fr!important;
}
.rcard {
    transition: transform .5s cubic-bezier(.19, 1, .22, 1)
}
.rcard:hover {
    transform: translateY(-6px);
}
.rcard .cite { margin-top:auto!important}
.rcard .cite .elementor-heading-title small {
    display: block;
    font-weight: 600;
    letter-spacing: .12em;
    color: #6B5F49;
    margin-top: 5px;
}

.map-address .elementor-widget-html iframe,
.map-address .elementor-widget-html{
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    border: 0;
}

.nap-info .elementor-widget-text-editor .nm {
    font-family: "Cinzel",Georgia,serif;
    text-transform: uppercase;
    font-size: 20px;
    color: #0A4258;
    letter-spacing: .05em;
    margin: 0 0 .7rem;
    font-weight: 600;
}
.nap-info .elementor-widget-text-editor .ad {
    color:#6B5F49;
    line-height: 1.9;
    margin: 0 0 1.2rem;
}
.nap-info .elementor-widget-text-editor .ad b {
    color: #12222B;
}
.nap-info .elementor-widget-text-editor .ad a {
    color: inherit;
    text-decoration: none;
}
.nap-info .elementor-widget-text-editor .dh {
    font-size: 11px;
    font-weight: 800;
    letter-spacing: .24em;
    text-transform: uppercase;
    color: #2F8E95;
    margin: 1.3rem 0 .7rem;
}
.nap-info .elementor-widget-text-editor .drives {
    list-style: none;
    padding: 0;
    max-width:100%
}
.nap-info .elementor-widget-text-editor .drives li {
    display: flex;
    justify-content: space-between;
    align-items: baseline;
    gap: .8rem;
    font-size: .89rem;
    color:#6B5F49;
    border-bottom: 1px dotted #12222b24;
    padding: .42rem 0;
}
.nap-info .elementor-widget-text-editor .drives li::before { display:none}
.nap-info .elementor-widget-text-editor .drives b {
    color:#0A4258;
    white-space: nowrap;
    flex-shrink: 0;
}

.raydiv-cta svg {
    width: 340px;
    opacity: .14;
    color:#fff;
}

.raydiv-cta.hero-ray svg {
    width: 560px;
    opacity: .10;
    color:#BFE6EC;
}

.quote {
    border-left: 3px solid #C39A5C;
    padding-left: 1.5rem!important;
    font-style: italic;
    font-size: 1.15rem;
    color: #0A4258;
    font-weight: 500;
    line-height: 1.5;
    font-family:"Mulish",system-ui,sans-serif;
}
.quote.drkbg {
    border-left:3px solid #93CFD5;
    color:#EAF2F4
}

.quote blockquote { margin:0!important}
.quote blockquote cite {
    display: block;
    margin-top: .8rem;
    font-style: normal;
    font-size: .66rem;
    font-weight: 800;
    letter-spacing: .22em;
    text-transform: uppercase;
    color: #9F7738;
}
.quote.drkbg blockquote cite { color:#93CFD5}



.gal {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    grid-auto-rows: clamp(170px, 19vw, 250px);
    gap: clamp(.7rem, 1.2vw, 1.1rem);
}
.gal .elementor-widget-image { text-align:left}
.gal .elementor-widget-image {
    margin: 0;
    overflow: hidden;
    position: relative;
}
.gal .elementor-widget-image figure.wp-caption {
    overflow: hidden;
    position: relative;
}
.gal .elementor-widget-image.ga{
    grid-column: 1 / 3;
    grid-row: 1 / 2;
}
.gal .elementor-widget-image.ga figure img {
    height:480px;
    object-position: bottom center!important;
}
.gal .elementor-widget-image.gb{
    grid-column: 3 / 4;
    grid-row: 1 / 3;
}
.gal .elementor-widget-image figure img {
    max-width: 100%;
    display: block;
    width: 100%;
    height: 100%;
    object-position: center center;
    object-fit: cover;
    transition: transform 1.3s cubic-bezier(.19, 1, .22, 1);
}
.gal .elementor-widget-image figure figcaption {
    font-style:normal;
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    padding: 1.4rem 1rem .8rem;
    font-size: .64rem;
    font-weight: 800;
    letter-spacing: .16em;
    text-transform: uppercase;
    color: #fff;
    background: linear-gradient(180deg, transparent, rgba(6, 45, 62, .82));
}
.gal .elementor-widget-image figure:hover img{transform:scale(1.06)}

.drcred .elementor-image-box-wrapper {
    align-items: center!important;
}

.drcred .elementor-image-box-img {
    width: 50px;
    height: 50px;
}
.drcred .elementor-image-box-img img {
    border-radius: 50%;
    object-fit: cover;
    object-position: 50% 18%;
}

.drcred .elementor-image-box-description span b {
    color: #0A4258;
    font-weight: 800;
}
.drcred .elementor-image-box-description .sep {
    color:#C39A5C;
}

.altbox {
    border-left: 3px solid #2F8E95;
    padding: 1.4rem 1.6rem;
    max-width: 56ch;
}
.altbox .elementor-heading-title h3,
.altbox .elementor-heading-title h4 {
    text-transform: uppercase;
    font-weight:600;
    font-size: 1rem;
    letter-spacing: .05em;
    color: #0A4258;
    margin: 0 0 .6rem;
}



.tscroll {overflow-x:auto}
.tscroll {position:relative;-webkit-overflow-scrolling:touch}
.tscroll::after{content:"Scroll table â†’";display:block;font-size:.62rem;letter-spacing:.2em;text-transform:uppercase;color:#6B5F49;margin-top:.9rem; display:none}

.ctable{width:100%;border-collapse:collapse;font-size:.95rem;}
.ctable th,.ctable td{text-align:left;padding:1.1rem 1.2rem;border-bottom:1px solid #12222b24;vertical-align:top}
.ctable thead th{ 
    font-family:"Cinzel",Georgia,serif;
    text-transform:uppercase;
    font-size:.9rem;
    letter-spacing:.08em;
    color:#0A4258;
    border:0!important;
    border-bottom:2px solid #0A4258;
    white-space:nowrap
}
.ctable tbody th{font-weight:800;font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;color:#2F8E95;width:22%}
.ctable td{color:#6B5F49}
.ctable td > a {
    color:inherit;
    font-weight: 800;
    font-size: .7rem;
    letter-spacing: .18em;
    text-transform: uppercase;
    text-decoration:underline;
    text-underline-offset:4px;
    text-decoration-color:#C39A5C
}
.ctable tbody tr:hover{background:#FBF7EE}
.ctable .hi{background:rgba(147,207,213,.14)}

.teambox:hover .tphoto img {
    transform: scale(1.05)
}
.teambox .tphoto {
    aspect-ratio: 4 / 5;
    overflow: hidden;
    border-radius: 3px 3px 130px 3px;
    background: #E8DCC5;
    position: relative;
}
.teambox .tphoto img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: 50% 18%;
    transition: transform 1.1s cubic-bezier(.19,1,.22,1);
}

.teambox-spa:hover .tphoto-spa img {
    transform: scale(1.05)
}
.teambox-spa .tphoto-spa {
    aspect-ratio: 1 / 1;
    overflow: hidden;
    position: relative;
}
.teambox-spa .tphoto-spa img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: 50% 18%;
    transition: transform 1.1s cubic-bezier(.19,1,.22,1);
}

.pcard {
    transition: transform .5s cubic-bezier(.19,1,.22,1), box-shadow .5s cubic-bezier(.19,1,.22,1);
}
.pcard:hover {
    transform: translateY(-6px);
    box-shadow: 0 14px 34px rgba(12, 59, 73, .10);
}

.paylist {
    list-style: none;
    margin: 0 0 1rem;
    padding: 0;
    columns: 2;
    column-gap: 1.4rem;
}
.paylist li {
    position: relative;
    padding: .3rem 0 .3rem 1.4rem;
    font-size: .93rem;
    color: #6B5F49;
    break-inside: avoid;
}
.paylist li::before {
    content: "";
    position: absolute;
    left: 0;
    top: .72em;
    width: 7px;
    height: 7px;
    border: 1.5px solid #C39A5C;
    transform: rotate(45deg);
}

.contact-icon svg {
    width: 44px;
    height: 44px;
    color: #2F8E95;
}


.crow .elementor-heading-title {
    display: flex;
    justify-content: space-between;
    align-items: baseline;
    gap: 1.4rem;
}
.crow .elementor-heading-title b {
    font-family:"Cinzel",Georgia,serif;
    font-size: 1.25rem;
    color: #93CFD5;
    white-space: nowrap;
    letter-spacing: .03em;
    font-weight:600
}

.creds-txt {}
.creds-txt h3 {
    font-size: .66rem;
    font-weight: 800;
    letter-spacing: .24em;
    text-transform: uppercase;
    color: #2F8E95;
    margin: 0 0 1rem;
    font-family: "Mulish",system-ui,sans-serif;
}
.creds-txt ul {
    list-style: none;
    margin: 0;
    padding: 0;
}
.creds-txt li {
    line-height: 1.5em;
    position: relative;
    padding: .34rem 0 .34rem 1.5rem;
}

.creds-txt li::before {
    content: "";
    position: absolute;
    left: 2px;
    top: .86em;
    width: 7px;
    height: 7px;
    border: 1.5px solid #C39A5C;
    transform: rotate(45deg);
}

.creds-txt.creds2 .cost-inc ul {
    list-style: none;
    margin: 0;
    padding: 0;
    columns: 2;
    column-gap: 2rem;
}
.creds-txt.creds2 .cost-inc ul.col1 { columns:1}

.creds-txt.creds2 .cost-inc ul li::before {
    border: 1.5px solid #93CFD5;
}
.creds-txt.creds2 .cost-inc { margin-top:30px}
.creds-txt.creds2 .cost-inc h3 { color:#93CFD5;}
.creds-txt.creds2 .cost-note { margin-top:20px}
.creds-txt.creds2 .cost-note strong { color:#fff}


.ag-item .elementor-heading-title {
        display: grid;
    grid-template-columns: minmax(120px, 150px) 1fr;
    gap: 1.2rem;
    align-items: baseline;
}

.ag-item .elementor-heading-title b {
    font-weight: 800;
    font-size:11px;
    letter-spacing: .18em;
    text-transform: uppercase;
    color:#2F8E95;
    margin: 0;
}

.counter-alt-head .elementor-heading-title b {
    color: #FFFFFF;
    font-family: "Cinzel", Sans-serif;
    font-size: 53px;
    font-weight: 600;
    text-transform: uppercase;
    line-height:.9em;
}



/* Mobile Css */
@media (max-width: 767px) {
    .treatments-section .treatment-tabs-buttons {
        gap: 8px;
        margin-bottom: 24px;
    }
    .treatments-section .treatment-tabs-buttons .tab .elementor-button {
        min-height: 40px;
        padding: 0.75rem 1rem;
        font-size: 0.62rem;
        letter-spacing: 0.12em;
    }
    .tcard {
        flex-basis: 78vw !important;
        width: 78vw;
        min-width: 78vw;
    }
    .treatments-section .rail-arrows {
        justify-content: flex-start;
        margin-top: 4px;
    }
    .treatments-section .rail-arrow {
        width: 38px;
        height: 38px;
        font-size: 18px;
    }
    .rgrid {grid-template-columns: 1fr!important;}
    .rcard {margin:0}

    .imgbox .elementor-widget-image {
        height:400px;
    }
    .imgbox .elementor-widget-image .wp-caption .wp-caption-text {
        font-size: .50rem;
        letter-spacing: .11em;
    }
    .imgbox.r-curve:before {
        border-radius: 3px 3px 100px 3px;
    }
    .imgbox.r-curve .elementor-widget-image {
        border-radius: 3px 3px 100px 3px;
    }
    .fbtxt { padding:0!important}
    .fb-img .elementor-widget-image img {
        border-radius: 10px;
    }

    .k1 {
        grid-column: 1 / 7;
        aspect-ratio: 4 / 3;
    }
    .k2 {
        grid-column: 7 / 13;
        aspect-ratio: 4 / 4;
        margin-top:24px
    }
    .k3 {
        grid-column: 1 / 7;
        aspect-ratio: 3 / 3;
        margin-top: -60px;
    }
    .k4 {
        grid-column: 7 / 13;
        aspect-ratio: 16 / 10;
        margin-top: 2%;
    }
     

    .gal {
        display: grid;
        grid-template-columns:1fr!important;
        grid-auto-rows: auto;
        gap: clamp(.7rem, 1.2vw, 1.1rem);
    }
    .gal .elementor-widget-image.ga,
    .gal .elementor-widget-image.gb {grid-column:1 / 2;grid-row:auto}
    .gal .elementor-widget-image.ga figure img {
        height:auto!important;
        object-position: center center!important;
    }

    .tscroll::after{display:block}
    .ctable{min-width:640px}
    .ctable th,.ctable td{padding:.95rem 1rem;font-size:.9rem}
    .ctable tbody th{width:19%}

    .drcred .elementor-image-box-wrapper {
        text-align:left!important;
        display:flex;
        gap:20px
    }

    .crow .elementor-heading-title b {
        font-size:16px;
    }

    .creds-txt.creds2 .cost-inc ul {
        columns: 1;
    }

    .ag-item .elementor-heading-title {  grid-template-columns:unset; gap: .5rem;}

    .counter-alt-head .elementor-heading-title b {
        font-size: 30px;
     }

}
/* === SEA PRIMARY CTA (booking) GOLD === */
.elementor-button[href*="symplast.com"],.elementor-button[href*="contact-7seas"]{position:relative !important;background-color:#C39A5C !important;border-color:#C39A5C !important;color:#ffffff !important;}
.elementor-button[href*="symplast.com"] .elementor-button-text,.elementor-button[href*="contact-7seas"] .elementor-button-text{color:#ffffff !important;font-family:"Cinzel",Georgia,serif !important;font-weight:800 !important;text-shadow:0 1px 2px rgba(10,66,88,.55),0 0 1px rgba(10,66,88,.6) !important;}
.elementor-button[href*="symplast.com"] svg,.elementor-button[href*="contact-7seas"] svg{filter:drop-shadow(0 1px 1px rgba(10,66,88,.5));}
.elementor-button[href*="symplast.com"]::after,.elementor-button[href*="contact-7seas"]::after{content:"" !important;position:absolute !important;inset:5px !important;border:1px solid #0A4258 !important;border-radius:0 !important;opacity:1 !important;background:none !important;pointer-events:none !important;z-index:1;transition:inset .4s cubic-bezier(.19,1,.22,1) !important;}
.elementor-button[href*="symplast.com"]:hover::after,.elementor-button[href*="contact-7seas"]:hover::after{inset:3px !important;border-color:#0A4258 !important;opacity:1 !important;}
.elementor-button[href*="symplast.com"]:hover,.elementor-button[href*="contact-7seas"]:hover{background-color:#B0842F !important;border-color:#B0842F !important;color:#ffffff !important;}
.elementor-button[href*="symplast.com"]::before,.elementor-button[href*="contact-7seas"]::before{background:#B0842F !important;}
.topbtn .elementor-button[href*="symplast.com"]:hover,.topbtn .elementor-button[href*="contact-7seas"]:hover{color:#ffffff !important;}

/* === SEA FOOTER CATEGORY COLUMNS === */
.foot-info{flex-wrap:wrap !important;justify-content:flex-start !important;align-items:flex-start !important;gap:34px 26px !important;}
.foot-info .foot-brand{flex:0 0 22% !important;max-width:22%;}
.foot-info .foot-col{flex:1 1 150px !important;min-width:140px;}
@media(max-width:1024px){.foot-info .foot-brand{flex:0 0 100% !important;max-width:100%;}.foot-info .foot-col{flex:1 1 40% !important;}}
@media(max-width:600px){.foot-info .foot-col{flex:1 1 100% !important;min-width:0;}}

/* === SEA inline body-link legibility (fix all:unset hover washout) === */
.e-paragraph-base a,.e-heading-base a,.elementor-widget-text-editor p a{color:inherit!important;text-decoration:underline!important;text-decoration-color:#C39A5C!important;text-underline-offset:2px!important;text-decoration-thickness:1px!important;transition:color .2s,text-decoration-color .2s!important;cursor:pointer}
.e-paragraph-base a:hover,.e-heading-base a:hover,.e-paragraph-base a:focus,.e-heading-base a:focus,.elementor-widget-text-editor p a:hover{color:#C39A5C!important;text-decoration-color:#C39A5C!important}
