/* ELDA BEAUTY • LUXURY EDITORIAL WEBSITE — v8 */
:root {
    --ink:#2c2221;
    --brown:#422b28;
    --brown-2:#593a34;
    --cocoa:#6d493f;
    --rose:#ab8074;
    --gold:#ac8c67;
    --muted:#665d58;
    --cream:#faf6f0;
    --ivory:#fffdf9;
    --blush:#f0e1d9;
    --line:#ded0c4;
    --dark:#281b19;
    --ease:cubic-bezier(.2,.8,.2,1);
    --serif:'Playfair Display',Georgia,'Times New Roman',serif;
    --sans:'DM Sans','Manrope',Arial,sans-serif
}
* {
    box-sizing:border-box
}
html {
    scroll-behavior:smooth;
    scroll-padding-top:100px
}
body {
    padding:0;
    margin:0;
    background:var(--ivory);
    color:var(--ink);
    font-family:var(--sans);
    font-size:17px;
    line-height:1.7;
    -webkit-font-smoothing:antialiased;
    overflow-x:hidden
}
a {
    color:inherit;
    text-decoration:none
}
button,input,select,textarea {
    font:inherit
}
button {
    cursor:pointer
}
button:disabled {
    cursor:not-allowed
}
a,button {
    -webkit-tap-highlight-color:transparent
}
button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible {
    outline:3px solid #ae8066;
    outline-offset:4px
}
h1,h2,h3,h4,p {
    margin-top:0
}
img {
    max-width:100%;
    display:block
}
svg {
    width:20px;
    height:20px;
    flex-shrink:0
}
svg path,svg rect,svg circle {
    stroke:currentColor;
    stroke-width:1.6;
    fill:none;
    stroke-linecap:round;
    stroke-linejoin:round
}
.float-whatsapp svg path {
    fill:currentColor;
    stroke:none
}
.container {
    width:min(1380px,calc(100% - 104px));
    margin:0 auto
}
.sr-only {
    position:absolute!important;
    width:1px;
    height:1px;
    padding:0;
    margin:-1px;
    overflow:hidden;
    clip:rect(0,0,0,0);
    white-space:nowrap;
    border:0
}
.skip-link {
    position:fixed;
    top:-80px;
    left:10px;
    z-index:2000;
    background:#fff;
    padding:10px
}
.skip-link:focus {
    top:10px
}
.kicker {
    font-size:12px;
    line-height:1.6;
    font-weight:700;
    letter-spacing:.23em;
    color:#89614d;
    text-transform:uppercase
}
.kicker .line {
    display:inline-block;
    width:30px;
    height:1px;
    background:currentColor;
    vertical-align:middle;
    margin-right:13px
}
.section {
    padding:106px 0
}
.space-large {
    padding:126px 0
}
.section h2,.intro-layout h2,.gallery-copy h2,.onlocation-content h2,.closing-banner h2,.contact-details h2,.contact-form-card h2,.map-top h2 {
    font:normal clamp(39px,4.3vw,69px)/1.18 var(--serif);
    letter-spacing:-.045em;
    color:var(--ink)
}
em {
    color:#9c6d5a;
    font-weight:400
}
.section h2 em,.onlocation h2 em,.gallery-copy h2 em,.closing-banner h2 em,.contact-section h2 em,.map-section h2 em {
    font-style:italic
}
.btn {
    display:inline-flex;
    align-items:center;
    justify-content:space-between;
    gap:21px;
    min-height:55px;
    padding:14px 22px;
    border:1px solid transparent;
    font-size:13px;
    font-weight:700;
    letter-spacing:.08em;
    text-transform:uppercase;
    transition:transform .3s var(--ease),background .3s ease,color .3s ease,border-color .3s ease;
    max-width:100%;
    text-align:left
}
.btn:hover {
    transform:translateY(-2px)
}
.btn-dark {
    background:var(--brown);
    color:#fff
}
.btn-dark:hover {
    background:#2b1a18
}
.btn-dark svg {
    stroke:#fff
}
.btn-outline {
    border-color:#9e7b68;
    background:transparent;
    color:#452a25
}
.btn-outline:hover {
    background:#eaddd4
}
.btn-cream {
    background:#f9f1e8;
    color:#32211e;
    border:1px solid #f9f1e8
}
.btn-cream:hover {
    background:#fff
}
.btn-quiet {
    background:transparent;
    border-color:#bb9c88;
    color:#46302b
}
.btn-quiet:hover {
    background:#f0e1d9
}
.btn-outline-light {
    color:white;
    border-color:#cab5a8;
    background:transparent
}
.btn-outline-light:hover {
    color:#2b1b19;
    background:#fff
}
.btn-full {
    width:100%
}
.link-with-line {
    display:inline-flex;
    align-items:center;
    gap:24px;
    border-bottom:1px solid #ab806a;
    padding:0 0 9px;
    font-size:13px;
    font-weight:700;
    letter-spacing:.09em;
    color:var(--brown);
    text-transform:uppercase;
    transition:color .25s
}
.link-with-line:hover {
    color:#9c6d5a
}
.link-with-line svg {
    width:17px
}
.topbar {
    height:36px;
    background:var(--brown);
    color:#f8e9dc
}
.topbar-inner {
    height:100%;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:20px;
    font-size:12px;
    letter-spacing:.12em
}
.top-dot {
    padding:0 8px;
    color:#d1b29e
}
.header {
    position:sticky;
    top:0;
    z-index:60;
    background:rgba(254,251,247,.98);
    backdrop-filter:blur(16px);
    border-bottom:1px solid #e9ddd3
}
.nav-inner {
    min-height:95px;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:25px
}
.wordmark {
    min-width:240px;
    display:flex;
    flex-direction:column;
    gap:2px;
    white-space:nowrap
}
.wordmark strong {
    font:500 29px/1.2 var(--serif);
    letter-spacing:.095em;
    color:#502c29
}
.wordmark span {
    font-size:11px;
    letter-spacing:.23em;
    font-weight:600;
    color:#795e54
}
.wordmark i {
    font-style:normal;
    color:#b08c7b;
    padding:0 3px
}
.nav-desktop {
    display:flex;
    gap:clamp(15px,1.5vw,31px);
    align-items:center
}
.nav-desktop a {
    font-size:14px;
    line-height:1.4;
    color:#443631;
    font-weight:600;
    white-space:nowrap;
    position:relative
}
.nav-desktop a:hover,.nav-desktop a.current {
    color:#a36e58
}
.nav-desktop a.current:after {
    content:'';
    position:absolute;
    height:1px;
    bottom:-9px;
    left:0;
    right:0;
    background:currentColor
}
.nav-end {
    display:flex;
    align-items:center
}
.nav-book {
    min-height:48px;
    padding:13px 17px;
    font-size:11px;
    letter-spacing:.09em;
    gap:10px
}
.nav-book svg {
    width:16px
}
.mobile-menu-toggle {
    display:none;
    border:1px solid var(--line);
    background:transparent;
    width:44px;
    height:44px;
    align-items:center;
    justify-content:center;
    color:var(--brown)
}
.nav-mobile[hidden] {
    display:none!important
}
.nav-mobile {
    padding:14px 28px 26px;
    background:var(--ivory);
    border-top:1px solid var(--line)
}
.nav-mobile a {
    display:block;
    padding:12px 5px;
    border-bottom:1px solid #eee0d5;
    font-size:17px;
    font-weight:600
}
.nav-mobile .btn {
    margin-top:20px;
    width:100%
}
.hero {
    position:relative;
    min-height:690px;
    background:#f6eee7;
    overflow:hidden
}
.hero-container {
    display:grid;
    grid-template-columns:49% 51%;
    min-height:690px
}
.hero-copy {
    padding:100px 70px 80px 0;
    position:relative;
    z-index:1;
    align-self:center
}
.hero-copy h1 {
    font:400 clamp(60px,5.1vw,96px)/1.15 var(--serif);
    letter-spacing:-.065em;
    margin:31px 0;
    color:#372420
}
.hero-copy h1 em {
    font-weight:400;
    display:inline-block
}
.hero-copy>p {
    font-size:18px;
    line-height:1.9;
    color:#55433c;
    max-width:530px;
    margin-bottom:40px
}
.hero-caption {
    margin-top:58px;
    font-size:11px;
    letter-spacing:.18em;
    font-weight:700;
    color:#79594d
}
.hero-caption span {
    padding:0 11px;
    color:#ad7d60
}
.action-row {
    display:flex;
    align-items:center;
    gap:28px;
    flex-wrap:wrap
}
.hero-visual {
    position:relative;
    min-width:0
}
.hero-image-wrap {
    position:absolute;
    inset:0 -52px 0 0;
    overflow:hidden;
    background:#d5b7ab
}
.hero-image {
    height:100%;
    width:100%;
    object-fit:cover;
    object-position:center 42%;
    animation:hero-breathe 22s ease-in-out infinite alternate
}
.hero-editorial-label {
    position:absolute;
    bottom:28px;
    left:35px;
    right:35px;
    display:flex;
    justify-content:space-between;
    align-items:center;
    border-top:1px solid rgba(255,255,255,.65);
    padding-top:12px;
    color:#fff;
    font-size:11px;
    letter-spacing:.18em;
    font-weight:700;
    text-shadow:0 1px 6px #574038
}
.hero-offset-deco {
    position:absolute;
    z-index:1;
    top:28px;
    bottom:28px;
    left:28px;
    right:-24px;
    border:1px solid rgba(255,255,255,.4);
    pointer-events:none
}
.hero-side-text {
    position:absolute;
    display:none
}
.trust-strip {
    background:#f0e3d9;
    border-bottom:1px solid #dfcfc3
}
.trust-content {
    min-height:78px;
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:16px
}
.trust-content span {
    font-size:12px;
    letter-spacing:.11em;
    color:#80584b
}
.trust-content strong {
    font-weight:600
}
.intro-layout {
    display:grid;
    grid-template-columns:1fr .87fr;
    gap:clamp(65px,10vw,170px)
}
.intro-left h2 {
    margin:20px 0 32px
}
.intro-right {
    padding-top:24px
}
.intro-right p {
    font-size:18px;
    line-height:1.9;
    color:#594b45;
    margin-bottom:23px
}
.tiny-fact {
    display:flex;
    align-items:center;
    gap:20px;
    margin-top:35px;
    padding-top:26px;
    border-top:1px solid var(--line)
}
.tiny-fact>span {
    font:500 42px/1.1 var(--serif);
    color:#83533f
}
.tiny-fact>div {
    font-size:15px;
    color:#4c3e38
}
.tiny-fact small {
    color:#776a63;
    font-size:13px
}
.section-heading,.section-topline {
    display:flex;
    align-items:end;
    justify-content:space-between;
    gap:50px;
    margin-bottom:40px
}
.section-heading h2 {
    margin:12px 0 0
}
.section-heading>p {
    max-width:440px;
    margin:0 0 7px;
    color:#5d504a;
    font-size:17px;
    line-height:1.8
}
.section-services {
    background:#f8f3ee
}
.service-tiles {
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:44px 24px
}
.service-tile {
    min-width:0;
    display:block
}
.service-tile-img {
    aspect-ratio:1.38;
    overflow:hidden;
    position:relative;
    background:#eedfd2
}
.service-tile-img img {
    width:100%;
    height:100%;
    object-fit:cover;
    transition:transform .75s var(--ease)
}
.service-tile:hover .service-tile-img img {
    transform:scale(1.06)
}
.tile-number {
    position:absolute;
    top:15px;
    left:15px;
    padding:7px 11px;
    background:#fff9f0;
    color:#674a3d;
    font-size:12px;
    font-weight:700
}
.service-tile-copy {
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:12px;
    padding-top:18px
}
.service-tile-copy h3 {
    font:400 clamp(22px,2vw,30px)/1.25 var(--serif);
    color:#30211e;
    margin:0 0 7px
}
.service-tile-copy p {
    font-size:14px;
    line-height:1.55;
    color:#6c5751;
    margin:0
}
.round-arrow {
    border:1px solid #d4b8a7;
    flex-shrink:0;
    display:grid;
    place-items:center;
    width:43px;
    height:43px;
    border-radius:50%;
    transition:background .3s,color .3s
}
.service-tile:hover .round-arrow {
    background:var(--brown);
    color:#fff
}
.round-arrow svg {
    width:17px
}
.center-cta {
    display:flex;
    justify-content:center;
    margin-top:62px
}
.center-cta .btn {
    min-width:292px;
    justify-content:space-between
}
.onlocation {
    display:grid;
    grid-template-columns:50% 50%;
    min-height:600px;
    background:#3d2926;
    color:#fff
}
.onlocation-image {
    min-height:600px;
    overflow:hidden
}
.onlocation-image img {
    height:100%;
    width:100%;
    object-fit:cover;
    object-position:center
}
.onlocation-content {
    padding:82px clamp(40px,5vw,110px);
    align-self:center
}
.onlocation-content .kicker {
    color:#dfb6a0
}
.onlocation-content h2 {
    color:#fff;
    margin:18px 0
}
.onlocation-content h2 em {
    color:#edc2a9
}
.onlocation-content>p {
    font-size:18px;
    max-width:590px;
    color:#f0e2d7
}
.two-choices {
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:30px;
    margin-top:40px
}
.two-choices>div {
    border-top:1px solid #92766a;
    padding-top:20px
}
.two-choices>div>span {
    font:italic 25px var(--serif);
    color:#c19b83
}
.two-choices h3 {
    font:400 26px var(--serif);
    margin:12px 0 8px;
    color:#fff
}
.two-choices p {
    font-size:15px;
    line-height:1.8;
    color:#e3d2c8
}
.two-choices .btn {
    font-size:11px;
    min-height:46px;
    padding:10px 14px
}
.two-choices .link-with-line {
    color:#fff;
    font-size:11px
}
.offers-preview {
    background:#fffaf5
}
.featured-offers {
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:20px
}
.feature-offer {
    padding:35px 30px;
    border:1px solid #e4d5ca;
    background:#fbf4ed;
    display:flex;
    flex-direction:column;
    min-height:365px
}
.feature-offer h3 {
    font:400 31px/1.32 var(--serif);
    margin:14px 0;
    color:#352320
}
.feature-offer>p {
    font-size:15px;
    color:#614d43;
    line-height:1.7;
    flex:1
}
.offer-row {
    display:flex;
    gap:10px;
    align-items:end;
    justify-content:space-between;
    border-top:1px solid var(--line);
    padding-top:17px
}
.offer-row small,.pkg-footer small {
    display:block;
    color:#725a50;
    font-size:12px
}
.offer-row strong {
    font:500 28px var(--serif);
    color:#3d2926
}
.offer-row .btn {
    font-size:10px;
    padding:9px 12px;
    min-height:42px;
    gap:6px
}
.gallery-section {
    background:#f2e7df
}
.gallery-layout {
    display:grid;
    grid-template-columns:.75fr 1.25fr;
    gap:90px;
    align-items:center
}
.gallery-copy h2 {
    margin:20px 0
}
.gallery-copy p {
    font-size:18px;
    color:#66534c;
    line-height:1.8;
    max-width:380px;
    margin-bottom:30px
}
.gallery-photos {
    display:grid;
    grid-template-columns:1.15fr .85fr;
    gap:20px;
    align-items:end
}
.gallery-tall {
    height:530px
}
.gallery-small {
    height:360px
}
.gallery-photos img {
    height:100%;
    width:100%;
    object-fit:cover
}
.closing-banner {
    background:var(--brown);
    padding:105px 0;
    text-align:center;
    color:#fff;
    position:relative;
    overflow:hidden
}
.closing-banner:before,.closing-banner:after {
    content:'';
    position:absolute;
    width:430px;
    height:430px;
    border-radius:50%;
    border:1px solid rgba(255,255,255,.08);
    top:-240px;
    left:-160px
}
.closing-banner:after {
    left:auto;
    right:-180px;
    top:30px
}
.closing-banner .kicker {
    color:#eec4b0
}
.closing-banner h2 {
    font-size:clamp(39px,5vw,72px);
    color:#fff;
    margin:15px 0
}
.closing-banner h2 em {
    color:#f2cbb6
}
.closing-banner p {
    font-size:18px;
    color:#f3e2d9
}
.closing-actions {
    display:flex;
    justify-content:center;
    gap:14px;
    flex-wrap:wrap;
    margin-top:27px
}
.closing-banner .btn {
    min-width:230px
}
.footer {
    background:#231b19;
    color:#f8ede7;
    padding:82px 0 26px
}
.footer-main {
    display:grid;
    grid-template-columns:1.2fr .65fr 1fr;
    gap:100px;
    padding-bottom:80px
}
.footer-wordmark {
    font:400 38px/1.1 var(--serif);
    letter-spacing:.07em;
    color:#fff
}
.footer-intro>span {
    display:block;
    font-size:11px;
    letter-spacing:.23em;
    color:#cfa891;
    margin:12px 0 23px
}
.footer-intro>p {
    font-size:16px;
    line-height:1.9;
    color:#e4d1c7;
    max-width:385px
}
.footer-social {
    display:flex;
    gap:24px;
    flex-wrap:wrap;
    margin-top:25px
}
.footer-social a {
    font-size:15px;
    border-bottom:1px solid #806b5e;
    color:#fff;
    padding-bottom:5px
}
.footer-col h3 {
    font-size:12px;
    letter-spacing:.22em;
    color:#d1ae97;
    font-weight:700;
    margin:7px 0 26px
}
.footer-col>a:not(.footer-direction) {
    display:block;
    font-size:16px;
    color:#f0e2d9;
    margin-bottom:14px;
    line-height:1.6
}
.footer-col>a:hover,.footer-social a:hover {
    color:#eec4a8
}
.footer-col p {
    font-size:16px;
    line-height:1.8;
    color:#d8c7be
}
.footer-col .footer-phone {
    font-weight:700;
    color:#fff
}
.footer-direction {
    font-size:13px;
    color:#f6c8a9;
    display:inline-flex;
    align-items:center;
    gap:12px;
    border-bottom:1px solid #b58e78;
    padding-bottom:5px
}
.footer-direction svg {
    width:16px
}
.footer-bottom {
    border-top:1px solid #58423c;
    padding-top:25px;
    display:flex;
    justify-content:space-between;
    gap:20px;
    color:#c9afa3;
    font-size:12px;
    letter-spacing:.01em
}
/* Inner pages */
.page-hero {
    min-height:420px;
    background:#f0e5db;
    display:grid;
    grid-template-columns:minmax(0,55%) minmax(0,45%);
    position:relative
}
.page-hero .page-head {
    width:min(690px,calc(100% - 98px));
    align-self:center;
    margin:0 0 0 max(52px,calc((100vw - 1380px)/2));
    padding:65px 35px 60px 0
}
.page-hero h1 {
    font:400 clamp(52px,4.9vw,78px)/1.17 var(--serif);
    letter-spacing:-.052em;
    margin:16px 0
}
.page-hero p {
    font-size:18px;
    color:#58453e;
    line-height:1.8;
    max-width:590px
}
.page-hero-image {
    height:100%;
    min-height:420px;
    overflow:hidden;
    background:#dbc3b5
}
.page-hero-image img {
    width:100%;
    height:100%;
    object-fit:cover
}
.cat-section {
    background:#fdfaf6;
    padding-bottom:66px
}
.mini-heading {
    text-align:center;
    margin-bottom:37px
}
.mini-heading h2 {
    margin:12px 0
}
.category-grid {
    display:grid;
    grid-template-columns:repeat(6,minmax(0,1fr));
    gap:14px
}
.cat-tile {
    overflow:hidden;
    background:#f2e5db;
    position:relative;
    min-width:0;
    height:210px
}
.cat-tile img {
    width:100%;
    height:100%;
    object-fit:cover;
    filter:brightness(.74);
    transition:transform .55s var(--ease)
}
.cat-tile:hover img {
    transform:scale(1.08)
}
.cat-tile>span {
    position:absolute;
    left:16px;
    bottom:18px;
    right:30px;
    color:#fff;
    font:500 clamp(15px,1.3vw,20px)/1.28 var(--serif);
    text-shadow:0 1px 6px #241614
}
.cat-tile svg {
    position:absolute;
    right:13px;
    bottom:18px;
    color:#fff;
    width:16px
}
.price-section {
    background:#f9f3ed
}
.menu-heading {
    display:flex;
    align-items:end;
    justify-content:space-between;
    gap:25px
}
.menu-heading h2 {
    margin:13px 0 0
}
.search-box {
    display:flex;
    align-items:center;
    min-width:min(350px,100%);
    border-bottom:1px solid #9d7764
}
.search-box input {
    font-size:16px;
    background:transparent;
    border:0;
    outline:0;
    padding:12px 4px;
    width:100%;
    color:var(--brown)
}
.search-box>span {
    font-size:28px
}
.filter-pills {
    display:flex;
    gap:8px;
    flex-wrap:wrap;
    margin:33px 0 22px
}
.filter-pill {
    border:1px solid #cbb6a8;
    color:#49352e;
    background:#fffaf5;
    border-radius:50px;
    padding:10px 18px;
    font-size:13px;
    font-weight:600;
    transition:all .2s
}
.filter-pill:hover,.filter-pill.active {
    background:var(--brown);
    color:#fff;
    border-color:var(--brown)
}
.menu-status {
    font-size:14px;
    color:#72615b;
    margin:0 0 18px
}
.service-list {
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:0 30px
}
.service-row {
    display:flex;
    justify-content:space-between;
    gap:16px;
    align-items:center;
    padding:19px 0;
    border-top:1px solid #decfc5;
    min-height:91px
}
.service-row[hidden] {
    display:none
}
.service-row h3 {
    font:600 16px/1.5 var(--sans);
    margin:0 0 2px;
    color:#3c2e29
}
.service-row p {
    font-size:13px;
    color:#736158;
    margin:0;
    line-height:1.5
}
.service-price {
    display:flex;
    align-items:center;
    gap:13px;
    white-space:nowrap
}
.service-price b {
    font-size:15px;
    color:#372723
}
.price-action {
    display:grid;
    place-items:center;
    width:35px;
    height:35px;
    flex-shrink:0;
    border:1px solid #c7a995;
    border-radius:50%;
    background:transparent;
    color:#5d3a2e
}
.price-action:hover {
    background:#50322b;
    color:#fff
}
.price-action svg {
    width:16px
}
.no-results {
    padding:35px;
    font-size:17px
}
.fine-print {
    font-size:13px;
    color:#705d52;
    border-top:1px solid var(--line);
    margin-top:26px;
    padding-top:20px
}
.offer-page-hero .page-hero-image img {
    object-position:center 60%
}
.package-section {
    background:#faf6f1
}
.package-grid {
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:26px
}
.package-card {
    border:1px solid #e2d4c8;
    background:#fffaf6
}
.package-img {
    height:250px;
    overflow:hidden;
    position:relative
}
.package-img img {
    width:100%;
    height:100%;
    object-fit:cover;
    transition:transform .6s var(--ease)
}
.package-card:hover .package-img img {
    transform:scale(1.04)
}
.package-img>span {
    position:absolute;
    left:20px;
    top:20px;
    background:#fff9f2;
    padding:8px 13px;
    font-size:11px;
    letter-spacing:.14em;
    color:#6e4f42;
    font-weight:700
}
.package-content {
    padding:25px 31px 28px
}
.pkg-details {
    display:flex;
    justify-content:space-between;
    color:#9b705f;
    font-size:11px;
    letter-spacing:.16em;
    font-weight:700
}
.package-content h2 {
    font:400 32px/1.3 var(--serif);
    margin:13px 0
}
.package-content>p {
    font-size:16px;
    line-height:1.7;
    color:#66524a;
    min-height:53px
}
.pkg-footer {
    border-top:1px solid var(--line);
    padding-top:22px;
    display:flex;
    justify-content:space-between;
    gap:14px;
    align-items:center
}
.pkg-footer b {
    font:500 29px var(--serif);
    color:#422f29
}
.pkg-footer .btn {
    min-height:46px;
    font-size:11px;
    padding:11px 16px
}
.home-hero {
    display:grid;
    grid-template-columns:53% 47%;
    min-height:600px;
    background:#f2e7df
}
.home-hero-img {
    height:630px;
    overflow:hidden
}
.home-hero-img img {
    width:100%;
    height:100%;
    object-fit:cover;
    object-position:55% center
}
.home-hero-copy {
    align-self:center;
    padding:55px clamp(38px,5vw,110px)
}
.home-hero h1 {
    font:400 clamp(50px,5.3vw,79px)/1.18 var(--serif);
    letter-spacing:-.05em;
    margin:24px 0
}
.home-hero p {
    font-size:18px;
    color:#51423e;
    margin-bottom:35px
}
.visit-grid-section {
    padding-top:40px
}
.visit-grid {
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:25px
}
.visit-card {
    background:#f9f0e9
}
.visit-card>img {
    height:340px;
    width:100%;
    object-fit:cover
}
.visit-card>div {
    padding:28px 33px 35px
}
.visit-card h3 {
    font:400 36px/1.2 var(--serif);
    margin:14px 0
}
.visit-card p {
    font-size:16px;
    color:#68574e;
    line-height:1.8
}
.steps-section {
    background:#f3e7de
}
.steps-grid {
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:50px
}
.steps-grid article {
    border-top:1px solid #b99c89;
    padding-top:23px
}
.steps-grid article>span {
    font:italic 30px var(--serif);
    color:#996e59
}
.steps-grid article h3 {
    font:400 30px var(--serif);
    margin:14px 0
}
.steps-grid p {
    font-size:16px;
    color:#63504a
}
.contact-page-hero .page-hero-image img {
    object-position:center
}
.contact-section {
    background:#faf6f0
}
.contact-layout {
    display:grid;
    grid-template-columns:.9fr 1.1fr;
    gap:9vw
}
.contact-details h2 {
    margin:18px 0 33px
}
.contact-list>div {
    padding:20px 0;
    border-top:1px solid var(--line)
}
.contact-list span {
    font-size:12px;
    font-weight:700;
    letter-spacing:.15em;
    color:#856351
}
.contact-list p {
    font-size:18px;
    line-height:1.8;
    color:#44342e;
    margin:6px 0 10px
}
.contact-list a:hover {
    color:#9b6b58
}
.contact-list .link-with-line {
    font-size:12px
}
.contact-form-card {
    background:white;
    border:1px solid var(--line);
    padding:42px 42px 36px
}
.contact-form-card h2 {
    font-size:45px;
    margin:12px 0
}
.contact-form-card>p {
    font-size:16px;
    color:#5d4c44;
    margin-bottom:29px
}
.contact-form-card form {
    display:grid;
    gap:15px
}
.contact-form-card label,.form-grid label {
    display:flex;
    flex-direction:column;
    gap:8px;
    font-size:14px;
    font-weight:700;
    color:#47342f
}
.contact-form-card input,.contact-form-card select,.contact-form-card textarea,.form-grid input,.form-grid select,.form-grid textarea {
    width:100%;
    border:1px solid #d9c7bb;
    background:#fcf8f4;
    color:#392b27;
    padding:13px 14px;
    border-radius:0;
    font-size:16px;
    min-height:51px;
    outline-offset:3px
}
.contact-form-card textarea,.form-grid textarea {
    resize:vertical
}
.contact-submit {
    display:flex;
    gap:12px;
    flex-wrap:wrap
}
.contact-submit .btn {
    font-size:11px;
    padding:13px 16px
}
.form-note {
    font-size:12px;
    line-height:1.6;
    color:#706158
}
.map-section {
    background:#f0e3da;
    padding:90px 0
}
.map-top {
    display:flex;
    align-items:end;
    justify-content:space-between;
    gap:20px;
    margin-bottom:25px
}
.map-top h2 {
    margin:10px 0 0
}
.map-frame {
    background:#e5d3c6;
    padding:12px
}
.map-frame iframe {
    border:0;
    width:100%;
    height:370px;
    display:block
}
.map-frame p {
    font-size:13px;
    margin:10px 3px 2px;
    color:#513d34
}
.map-frame a {
    text-decoration:underline
}
.map-frame a:hover {
    color:#a0684b
}
/* Persistent controls: only one WA and one demo chat; never in the header */
.floating-actions {
    position:fixed;
    z-index:85;
    right:22px;
    bottom:22px;
    display:flex;
    align-items:flex-end;
    flex-direction:column;
    gap:11px
}
.float-whatsapp {
    display:grid;
    place-items:center;
    width:61px;
    height:61px;
    border-radius:50%;
    background:#10bf65;
    color:#fff;
    border:3px solid #fff;
    box-shadow:0 8px 30px #1d231b3b;
    transition:transform .2s,box-shadow .2s
}
.float-whatsapp svg {
    width:34px;
    height:34px
}
.float-whatsapp:hover {
    transform:translateY(-3px);
    box-shadow:0 10px 36px #1d231b55
}
.float-ai {
    border:1px solid #e3bfae;
    background:#422923;
    color:#fff;
    border-radius:40px;
    box-shadow:0 8px 30px #23161440;
    min-height:49px;
    display:flex;
    gap:12px;
    align-items:center;
    padding:10px 19px;
    font-size:13px;
    font-weight:700;
    letter-spacing:.02em
}
.float-ai:hover {
    background:#2b1b19
}
.float-ai svg {
    width:21px;
    height:21px
}
.modal-wrap[hidden],.ai-panel[hidden] {
    display:none!important
}
.modal-wrap {
    position:fixed;
    inset:0;
    background:rgba(25,15,12,.73);
    z-index:180;
    display:grid;
    place-items:center;
    padding:16px;
    overflow-y:auto
}
.modal-card {
    background:#fff9f5;
    width:min(690px,100%);
    max-height:calc(100dvh - 30px);
    overflow-y:auto;
    padding:35px;
    box-shadow:0 22px 80px #1b13154d
}
.modal-heading {
    display:flex;
    align-items:flex-start;
    justify-content:space-between;
    gap:12px
}
.modal-heading h2 {
    font:400 clamp(31px,4vw,45px)/1.25 var(--serif);
    margin:7px 0 12px;
    color:var(--ink)
}
.icon-button {
    display:grid;
    place-items:center;
    background:transparent;
    border:1px solid #cbb7ac;
    width:39px;
    height:39px;
    flex-shrink:0;
    color:var(--brown)
}
.icon-button:hover {
    background:#eee0d6
}
.modal-lead {
    font-size:15px;
    line-height:1.7;
    color:#615049
}
.form-label {
    display:block;
    font-size:14px;
    font-weight:700;
    color:#47342f;
    margin:15px 0 10px
}
.radio-cards {
    display:flex;
    gap:8px;
    flex-wrap:wrap;
    margin-bottom:20px
}
.radio-cards label {
    flex:1;
    min-width:145px
}
.radio-cards label input {
    position:absolute;
    opacity:0
}
.radio-cards span {
    display:block;
    text-align:center;
    padding:11px 8px;
    border:1px solid #cbb9ad;
    color:#594138;
    font-size:13px;
    font-weight:600;
    cursor:pointer
}
.radio-cards input:checked+span {
    background:var(--brown);
    color:#fff
}
.radio-cards input:focus-visible+span {
    outline:2px solid #9e6e55;
    outline-offset:2px
}
.form-grid {
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:13px
}
.form-wide {
    grid-column:1/-1
}
.modal-card .btn-full {
    margin-top:19px
}
.form-hint {
    font-size:12px;
    color:#68554a;
    line-height:1.7;
    margin:11px 0 0
}
.ai-panel {
    position:fixed;
    z-index:175;
    right:24px;
    bottom:155px;
    width:min(385px,calc(100vw - 30px));
    background:#fffaf5;
    box-shadow:0 19px 70px #25161155;
    border:1px solid #d7c2b2
}
.ai-top {
    padding:17px;
    background:var(--brown);
    display:flex;
    gap:12px;
    align-items:center;
    color:white
}
.ai-avatar {
    width:43px;
    height:43px;
    border-radius:50%;
    background:#f7dbc8;
    color:#5e3227;
    display:grid;
    place-items:center;
    font:italic 27px var(--serif)
}
.ai-top>div:nth-child(2) {
    display:flex;
    flex-direction:column;
    flex:1
}
.ai-top b {
    font-size:15px
}
.ai-top small {
    font-size:10px;
    letter-spacing:.12em;
    color:#e9c9b8
}
.ai-top .icon-button {
    width:31px;
    height:31px;
    color:white;
    border-color:#99776c
}
.ai-conversation {
    min-height:130px;
    max-height:290px;
    overflow:auto;
    padding:20px 16px;
    display:flex;
    flex-direction:column;
    gap:10px
}
.bubble {
    padding:12px 15px;
    font-size:14px;
    line-height:1.55;
    max-width:93%
}
.bubble.bot {
    background:#efe1d9;
    align-self:flex-start;
    color:#3c2b24
}
.bubble.user {
    background:#e0f4e7;
    align-self:flex-end
}
.bubble small {
    display:block;
    font-size:10px;
    color:#736157;
    margin-top:8px
}
.ai-options {
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:7px;
    padding:0 16px 14px
}
.ai-options button {
    background:#fff;
    border:1px solid #c8aa99;
    padding:9px 7px;
    font-size:12px;
    color:#53362b
}
.ai-options button:hover {
    background:#f2e2d6
}
.ai-notice {
    padding:10px 16px;
    border-top:1px solid #ebddd2;
    margin:0;
    color:#776057;
    font-size:11px
}
.reveal {
    opacity:1;
    transform:none
}
.js-effects .reveal {
    opacity:0;
    transform:translateY(23px);
    transition:opacity .8s ease,transform .8s var(--ease)
}
.js-effects .reveal.is-visible {
    opacity:1;
    transform:translateY(0)
}
@keyframes hero-breathe {
    from {
        transform:scale(1)
    }
    to {
        transform:scale(1.06)
    }
}
@media (prefers-reduced-motion:reduce) {
    html {
        scroll-behavior:auto
    }
    *,*:before,*:after {
        animation-duration:.01ms!important;
        animation-iteration-count:1!important;
        transition-duration:.01ms!important
    }
    .js-effects .reveal {
        opacity:1!important;
        transform:none!important
    }
}
@media(max-width:1320px) {
    .container {
        width:min(1240px,calc(100% - 68px))
    }
    .wordmark {
        min-width:215px
    }
    .wordmark strong {
        font-size:26px
    }
    .nav-desktop {
        gap:16px
    }
    .nav-desktop a {
        font-size:13px
    }
    .nav-book {
        font-size:10px
    }
    .hero-copy {
        padding-right:40px
    }
    .hero-copy h1 {
        font-size:clamp(53px,5.4vw,79px)
    }
    .onlocation-content {
        padding:62px 48px
    }
    .footer-main {
        gap:60px
    }
}
@media(max-width:1080px) {
    .nav-desktop {
        display:none
    }
    .mobile-menu-toggle {
        display:flex;
        margin-left:15px
    }
    .nav-book {
        font-size:11px
    }
    .hero-container {
        grid-template-columns:49% 51%
    }
    .hero-copy {
        padding:70px 36px 60px 0
    }
    .hero-copy h1 {
        font-size:clamp(50px,6vw,72px)
    }
    .hero-copy>p {
        font-size:16px
    }
    .hero-caption {
        margin-top:28px
    }
    .intro-layout {
        gap:65px
    }
    .service-tiles {
        gap:32px 18px
    }
    .onlocation-content {
        padding:50px 38px
    }
    .two-choices {
        grid-template-columns:1fr;
        gap:22px
    }
    .onlocation-image {
        min-height:650px
    }
    .gallery-layout {
        gap:45px
    }
    .footer-main {
        grid-template-columns:1fr .7fr 1fr;
        gap:33px
    }
}
@media(max-width:800px) {
    .container {
        width:calc(100% - 40px)
    }
    .topbar-inner {
        font-size:10px;
        justify-content:center
    }
    .topbar-inner span:nth-child(2) {
        display:none
    }
    .nav-inner {
        min-height:75px
    }
    .wordmark strong {
        font-size:25px
    }
    .wordmark span {
        font-size:9px
    }
    .nav-book {
        min-height:42px;
        padding:10px;
        font-size:10px
    }
    .header {
        position:sticky
    }
    .hero-container {
        width:100%;
        display:flex;
        flex-direction:column-reverse;
        min-height:unset
    }
    .hero-visual {
        height:440px
    }
    .hero-image-wrap {
        inset:0
    }
    .hero-offset-deco {
        inset:15px
    }
    .hero-copy {
        padding:58px 30px 67px;
        margin:0
    }
    .hero-copy h1 {
        font-size:clamp(48px,8vw,71px);
        margin:18px 0
    }
    .hero-copy>p {
        font-size:17px;
        max-width:640px
    }
    .hero-caption {
        font-size:10px
    }
    .trust-content {
        gap:12px;
        flex-wrap:wrap;
        justify-content:center;
        padding:14px 0
    }
    .trust-content span {
        font-size:11px
    }
    .section,.space-large {
        padding:72px 0
    }
    .intro-layout {
        grid-template-columns:1fr;
        gap:20px
    }
    .intro-right {
        padding:0
    }
    .section-heading {
        display:block
    }
    .section-heading>p {
        margin:18px 0 0;
        max-width:650px
    }
    .service-tiles {
        grid-template-columns:1fr 1fr
    }
    .onlocation {
        grid-template-columns:1fr
    }
    .onlocation-image {
        min-height:unset;
        height:440px
    }
    .onlocation-content {
        padding:60px 35px
    }
    .two-choices {
        grid-template-columns:1fr 1fr
    }
    .featured-offers {
        grid-template-columns:1fr 1fr
    }
    .feature-offer:last-child {
        grid-column:1/-1;
        min-height:unset
    }
    .gallery-layout {
        grid-template-columns:1fr;
        gap:35px
    }
    .gallery-tall {
        height:400px
    }
    .gallery-small {
        height:300px
    }
    .footer-main {
        grid-template-columns:1fr 1fr;
        gap:35px
    }
    .footer-intro {
        grid-column:1/-1
    }
    .footer-bottom {
        font-size:11px
    }
    .page-hero {
        display:flex;
        flex-direction:column-reverse
    }
    .page-hero-image {
        height:310px;
        min-height:310px
    }
    .page-hero .page-head {
        width:calc(100% - 40px);
        margin:0 auto;
        padding:40px 0 48px
    }
    .category-grid {
        grid-template-columns:repeat(3,1fr)
    }
    .cat-tile {
        height:210px
    }
    .home-hero {
        display:flex;
        flex-direction:column
    }
    .home-hero-img {
        height:400px
    }
    .home-hero-copy {
        padding:45px 28px 55px
    }
    .contact-layout {
        grid-template-columns:1fr;
        gap:50px
    }
    .visit-card>img {
        height:300px
    }
}
@media(max-width:580px) {
    body {
        font-size:16px
    }
    .container {
        width:calc(100% - 32px)
    }
    .topbar {
        height:30px
    }
    .nav-inner {
        min-height:70px
    }
    .wordmark {
        min-width:unset
    }
    .wordmark strong {
        font-size:21px
    }
    .wordmark span {
        letter-spacing:.13em;
        font-size:8px
    }
    .nav-book {
        display:none
    }
    .hero-visual {
        height:355px
    }
    .hero-photo-credit {
        display:none
    }
    .hero-copy {
        padding:49px 22px 55px
    }
    .hero-copy h1 {
        font-size:clamp(46px,11.6vw,63px);
        line-height:1.13
    }
    .hero-copy>p {
        font-size:16px;
        line-height:1.8;
        margin-bottom:28px
    }
    .hero-caption {
        margin-top:35px;
        line-height:1.8
    }
    .hero-image {
        object-position:center 38%
    }
    .hero-editorial-label {
        bottom:16px;
        left:17px;
        right:17px;
        font-size:9px
    }
    .hero-offset-deco {
        inset:12px
    }
    .action-row {
        gap:18px
    }
    .action-row .btn {
        width:100%
    }
    .trust-content span:nth-child(3) {
        width:100%;
        text-align:center
    }
    .section,.space-large {
        padding:60px 0
    }
    .section h2,.intro-layout h2,.gallery-copy h2,.onlocation-content h2,.closing-banner h2,.contact-details h2,.contact-form-card h2,.map-top h2 {
        font-size:clamp(35px,9vw,49px)
    }
    .intro-right p {
        font-size:16px
    }
    .service-tiles {
        grid-template-columns:1fr;
        gap:25px
    }
    .service-tile-img {
        aspect-ratio:1.45
    }
    .service-tile-copy h3 {
        font-size:26px
    }
    .section-heading>p {
        font-size:16px
    }
    .onlocation-image {
        height:320px
    }
    .onlocation-content {
        padding:52px 24px
    }
    .onlocation-content>p {
        font-size:16px
    }
    .two-choices {
        grid-template-columns:1fr
    }
    .featured-offers {
        grid-template-columns:1fr
    }
    .feature-offer:last-child {
        grid-column:auto
    }
    .feature-offer {
        min-height:unset;
        padding:28px
    }
    .gallery-layout {
        display:block
    }
    .gallery-copy {
        margin-bottom:35px
    }
    .gallery-photos {
        gap:10px
    }
    .gallery-tall {
        height:330px
    }
    .gallery-small {
        height:230px
    }
    .closing-banner {
        padding:70px 0
    }
    .closing-banner p {
        font-size:16px
    }
    .closing-actions {
        flex-direction:column
    }
    .closing-banner .btn {
        width:100%
    }
    .footer {
        padding:60px 0 150px
    }
    .footer-main {
        grid-template-columns:1fr;
        gap:28px;
        padding-bottom:42px
    }
    .footer-intro {
        grid-column:auto
    }
    .footer-wordmark {
        font-size:33px
    }
    .footer-col h3 {
        margin-bottom:14px
    }
    .footer-col a:not(.footer-direction),.footer-col p {
        font-size:16px
    }
    .footer-bottom {
        display:flex;
        flex-direction:column;
        gap:7px
    }
    .floating-actions {
        right:12px;
        bottom:calc(12px + env(safe-area-inset-bottom));
        gap:8px
    }
    .float-whatsapp {
        height:54px;
        width:54px
    }
    .float-whatsapp svg {
        height:30px;
        width:30px
    }
    .float-ai {
        height:46px;
        padding:8px 13px;
        font-size:12px
    }
    .ai-panel {
        right:10px;
        bottom:calc(128px + env(safe-area-inset-bottom));
        width:min(370px,calc(100vw - 20px));
        max-height:calc(100dvh - 160px);
        overflow:auto
    }
    .modal-card {
        padding:22px;
        max-height:calc(100dvh - 18px)
    }
    .modal-wrap {
        padding:9px
    }
    .modal-heading h2 {
        font-size:32px
    }
    .form-grid {
        grid-template-columns:1fr
    }
    .radio-cards label {
        min-width:95px;
        flex:1
    }
    .radio-cards span {
        font-size:12px
    }
    .page-hero-image {
        height:260px;
        min-height:260px
    }
    .page-hero .page-head {
        width:calc(100% - 32px);
        padding:34px 0 38px
    }
    .page-hero h1 {
        font-size:clamp(42px,10vw,58px)
    }
    .page-hero p {
        font-size:16px
    }
    .category-grid {
        grid-template-columns:1fr 1fr;
        gap:11px
    }
    .cat-tile {
        height:160px
    }
    .cat-tile>span {
        font-size:17px;
        left:11px;
        bottom:13px
    }
    .menu-heading {
        display:block
    }
    .search-box {
        margin-top:18px
    }
    .filter-pills {
        overflow-x:auto;
        flex-wrap:nowrap;
        padding-bottom:10px;
        margin:23px 0 10px;
        scrollbar-width:thin
    }
    .filter-pill {
        white-space:nowrap
    }
    .service-list {
        grid-template-columns:1fr
    }
    .service-row {
        padding:15px 0;
        min-height:84px
    }
    .service-row h3 {
        font-size:15px
    }
    .package-grid {
        grid-template-columns:1fr
    }
    .package-img {
        height:205px
    }
    .package-content {
        padding:24px
    }
    .package-content h2 {
        font-size:28px
    }
    .home-hero-img {
        height:280px
    }
    .home-hero-copy {
        padding:39px 22px 48px
    }
    .home-hero h1 {
        font-size:48px
    }
    .home-hero p {
        font-size:16px
    }
    .visit-grid {
        grid-template-columns:1fr
    }
    .visit-card>img {
        height:260px
    }
    .steps-grid {
        grid-template-columns:1fr;
        gap:15px
    }
    .steps-grid article h3 {
        margin:8px 0
    }
    .contact-form-card {
        padding:25px 20px
    }
    .contact-submit {
        flex-direction:column
    }
    .contact-submit .btn {
        width:100%
    }
    .map-top {
        display:block
    }
    .map-top .btn {
        margin-top:20px
    }
    .map-frame iframe {
        height:280px
    }
}
@media(max-width:360px) {
    .wordmark strong {
        font-size:19px
    }
    .hero-copy h1 {
        font-size:43px
    }
    .topbar {
        font-size:9px
    }
    .cat-tile {
        height:140px
    }
    .service-tile-copy h3 {
        font-size:24px
    }
    .float-ai span {
        font-size:11px
    }
}
/* ELDA BEAUTY V11 — real-team editorial section and improved readability */
.team-section {
    background:linear-gradient(150deg,#fbf6f1,#f0e5dd);
    border-top:1px solid #e9dbd0;
    border-bottom:1px solid #e9dbd0
}
.team-heading {
    display:grid;
    grid-template-columns:1.4fr 1fr;
    gap:38px;
    align-items:end;
    margin-bottom:38px
}
.team-heading h2 {
    max-width:700px;
    margin-bottom:0
}
.team-heading>p {
    max-width:460px;
    margin:0 0 8px;
    font-size:17px;
    line-height:1.8;
    color:#493a35
}
.team-grid {
    display:grid;
    grid-template-columns:repeat(6,minmax(0,1fr));
    gap:22px;
    align-items:stretch
}
.team-card {
    grid-column:span 2
}
.team-card:nth-child(4) {
    grid-column:2/span 2
}
.team-card:nth-child(5) {
    grid-column:4/span 2
}
.team-card {
    background:#fffefa;
    border:1px solid #e9dcd0;
    border-radius:15px;
    overflow:hidden;
    box-shadow:0 12px 28px rgba(62,38,31,.055);
    display:flex;
    flex-direction:column;
    transition:transform .35s ease,box-shadow .35s ease
}
.team-card:hover {
    transform:translateY(-5px);
    box-shadow:0 18px 38px rgba(62,38,31,.12)
}
.team-photo {
    aspect-ratio:4/4.4;
    overflow:hidden;
    background:#eadfd7
}
.team-photo img {
    width:100%;
    height:100%;
    object-fit:cover;
    transition:transform .8s ease
}
.team-card:hover .team-photo img {
    transform:scale(1.035)
}
.team-copy {
    padding:19px 17px 22px;
    flex:1
}
.team-role {
    display:block;
    font-size:12.5px;
    font-weight:800;
    line-height:1.4;
    letter-spacing:.13em;
    color:#825847;
    margin-bottom:11px
}
.team-copy h3 {
    font:400 clamp(23px,1.9vw,29px)/1.2 var(--serif);
    letter-spacing:-.03em;
    margin:0 0 12px;
    color:#33201b
}
.team-copy p {
    font-size:16px;
    line-height:1.68;
    color:#493c35;
    margin:0
}
.team-note {
    font-size:12.5px;
    color:#71605a;
    margin:26px 0 0
}
.service-policy {
    background:#fff8f2;
    border-left:3px solid #996a56;
    border-radius:6px;
    padding:15px 18px;
    margin-top:22px;
    color:#49352e;
    font-size:15px;
    line-height:1.65
}
.service-policy strong {
    color:#392824
}
.service-policy a {
    color:#6a4439;
    text-decoration:underline;
    text-underline-offset:3px
}
@media(max-width:1160px) {
    .team-grid {
        grid-template-columns:repeat(2,minmax(0,1fr));
        gap:18px
    }
    .team-card,.team-card:nth-child(4),.team-card:nth-child(5) {
        grid-column:auto
    }
    .team-copy p {
        font-size:16px
    }
}
@media(max-width:770px) {
    .team-heading {
        grid-template-columns:1fr;
        gap:15px
    }
    .team-grid {
        grid-template-columns:repeat(2,minmax(0,1fr))
    }
    .team-copy {
        padding:18px
    }
    .team-copy h3 {
        font-size:24px
    }
}
@media(max-width:510px) {
    .team-grid {
        grid-template-columns:1fr;
        gap:18px
    }
    .team-photo {
        aspect-ratio:4/3.4
    }
    .team-heading {
        margin-bottom:24px
    }
    .team-copy h3 {
        font-size:25px
    }
    .team-copy p {
        font-size:16px
    }
    .team-section {
        padding:66px 0
    }
}
@media(prefers-reduced-motion:reduce) {
    .team-card,.team-photo img {
        transition:none!important
    }
    .team-card:hover,.team-card:hover .team-photo img {
        transform:none!important
    }
}
/* V14: readable, clear pricing; performance-safe across mobile/tablet/desktop. */
.price-source-note {
    background:#fffdf9;
    border:1px solid #d8bfae;
    border-left:4px solid #9c6751;
    border-radius:12px;
    color:#40302b;
    font-size:clamp(15px,1.3vw,17px);
    line-height:1.7;
    padding:18px 20px;
    margin:22px 0 28px
}
.price-source-note strong {
    color:#3c261f
}
.price-source-note a,.home-combo a {
    color:#6b3e2c;
    text-decoration:underline;
    text-underline-offset:3px
}
.offer-inclusions {
    margin:16px 0 20px;
    padding:0;
    list-style:none;
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:7px 17px;
    color:#4a3830;
    font-size:15px;
    line-height:1.55
}
.offer-inclusions li {
    padding-left:17px;
    position:relative
}
.offer-inclusions li:before {
    content:'•';
    position:absolute;
    left:2px;
    color:#a16e57
}
.offer-inclusions.single {
    grid-template-columns:1fr
}
.exact-package-summary {
    font-size:15px;
    line-height:1.6;
    color:#45332c!important;
    margin-top:12px
}
.package-content h2 {
    line-height:1.2
}
.extra-heading {
    padding-bottom:14px
}
.extra-heading h2 {
    margin:0 0 14px;
    font-family:Georgia,serif;
    font-size:clamp(29px,3.8vw,43px);
    font-weight:400;
    color:#372720
}
.offer-extras,.home-combo-grid {
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:18px;
    margin:22px 0 28px
}
.extra-offer,.home-combo {
    border:1px solid #e2cdc0;
    background:#fffaf6;
    border-radius:14px;
    padding:23px 24px;
    box-shadow:0 8px 22px rgba(47,29,19,.04)
}
.extra-offer .type,.home-combo .type {
    color:#906048;
    text-transform:uppercase;
    font-size:12px;
    letter-spacing:.13em;
    font-weight:700
}
.extra-offer h3,.home-combo h3 {
    margin:9px 0;
    font:normal clamp(23px,2.4vw,28px)/1.16 Georgia,serif;
    color:#372720
}
.extra-offer p,.home-combo p {
    font-size:15px;
    line-height:1.65;
    color:#49362f;
    margin:9px 0 13px
}
.extra-offer .offer-price,.home-combo .offer-price {
    font:normal 32px Georgia,serif;
    color:#51372d;
    margin:10px 0 16px
}
.extra-offer .offer-price small,.home-combo .offer-price small {
    display:block;
    font:normal 13px/1.5 system-ui,sans-serif;
    color:#715a4d
}
.extra-offer details,.home-combo details {
    margin:12px 0 18px;
    padding-top:12px;
    border-top:1px solid #eadbd3
}
.extra-offer summary,.home-combo summary {
    cursor:pointer;
    font-size:15px;
    font-weight:700;
    color:#55362d;
    min-height:36px
}
.extra-offer ul,.home-combo ul {
    padding:8px 0 2px 22px;
    margin:0;
    color:#433129;
    font-size:15px;
    line-height:1.65
}
.extra-offer li,.home-combo li {
    margin:2px 0
}
.home-price-intro {
    font-size:clamp(16px,1.5vw,19px);
    max-width:780px;
    color:#4f3b32;
    line-height:1.7
}
.home-price-section {
    padding:68px 0 74px;
    background:linear-gradient(180deg,#fffaf7,#f7efea)
}
.home-price-section h2 {
    font:normal clamp(32px,4.5vw,53px)/1.15 Georgia,serif;
    color:#37251f;
    margin:11px 0 20px
}
.home-price-section .kicker {
    display:block;
    color:#92644e;
    font-size:12px;
    font-weight:750;
    letter-spacing:.15em
}
.home-price-compare {
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:15px;
    margin:25px 0 26px
}
.home-price-compare .compare-card {
    background:#fff;
    border:1px solid #dec8bc;
    border-radius:12px;
    padding:18px 18px 20px
}
.home-price-compare h3 {
    font:normal 23px Georgia,serif;
    margin:0 0 8px
}
.home-price-compare b {
    font:normal 30px Georgia,serif;
    color:#5c382c
}
.home-price-compare small {
    display:block;
    color:#715a4d;
    margin-top:8px;
    line-height:1.5
}
.home-policy-details {
    background:#f8ede6;
    border:1px solid #dfbdab;
    border-radius:12px;
    padding:18px 24px;
    line-height:1.65;
    margin:22px 0;
    color:#3b2b27
}
.home-policy-details h3 {
    font:normal 26px Georgia,serif;
    margin:0 0 12px
}
.home-policy-details p {
    margin:8px 0;
    font-size:15px
}
.home-menu-callout {
    padding:14px 0;
    display:flex;
    gap:14px;
    flex-wrap:wrap;
    align-items:center
}
.home-menu-callout a {
    padding:13px 20px;
    background:#3e2924;
    color:white;
    border-radius:7px;
    font-weight:700;
    font-size:15px;
    text-decoration:none
}
.home-menu-callout a.secondary {
    background:transparent;
    color:#4c3128;
    border:1px solid #bfa597
}
.home-filter {
    display:flex;
    align-items:center;
    gap:12px;
    flex-wrap:wrap;
    margin:20px 0
}
.home-filter label {
    font-size:16px;
    color:#43322b;
    font-weight:600
}
.home-filter input {
    flex:1;
    max-width:500px;
    min-width:180px;
    border:1px solid #cdb6aa;
    border-radius:9px;
    padding:13px 15px;
    font:inherit;
    background:white;
    color:#392822
}
.home-filter .home-filter-count {
    font-size:14px;
    color:#6c5246
}
.home-combo[hidden] {
    display:none!important
}
.home-coverage-list {
    color:#513b32;
    font-size:15px;
    line-height:1.7
}
.service-scope-choices {
    display:flex;
    flex-wrap:wrap;
    gap:12px;
    margin:22px 0
}
.service-scope-choices a {
    display:inline-flex;
    align-items:center;
    justify-content:center;
    padding:12px 18px;
    border:1px solid #9c7361;
    border-radius:7px;
    background:#fffaf6;
    color:#432d25;
    font-weight:700;
    font-size:15px;
    text-decoration:none
}
.service-scope-choices a.current {
    background:#3e2924;
    color:white
}
#booking-form .area-row {
    display:none
}
#booking-form .area-row.is-on {
    display:block
}
#booking-form .area-row select {
    width:100%;
    padding:13px;
    min-height:48px;
    color:#3d2e27;
    background:white;
    border:1px solid #d7c5ba;
    border-radius:8px
}
#booking-form .form-label {
    font-size:16px
}
.team-photo img {
    object-position:center 26%
}
.team-copy p {
    font-size:clamp(15px,1.25vw,17px);
    line-height:1.66
}
.team-copy h3 {
    font-size:clamp(24px,2.2vw,30px)
}
.ai-panel .ai-notice {
    font-size:14px;
    line-height:1.5
}
@media(max-width:820px) {
    .home-price-compare {
        grid-template-columns:1fr 1fr
    }
}
@media(max-width:650px) {
    .offer-extras,.home-combo-grid,.home-price-compare {
        grid-template-columns:1fr
    }
    .offer-inclusions {
        grid-template-columns:1fr
    }
    .extra-offer,.home-combo {
        padding:20px 18px
    }
    .home-price-section {
        padding:50px 0 55px
    }
    .home-menu-callout a {
        width:100%;
        justify-content:center
    }
    .price-source-note {
        padding:16px 15px
    }
    .package-content {
        padding:22px!important
    }
    .package-content h2 {
        font-size:clamp(27px,7vw,33px)
    }
    .team-copy {
        padding:22px!important
    }
    .team-photo {
        height:auto
    }
    .team-photo img {
        aspect-ratio:4/4.2;
        object-fit:cover
    }
    .floating-actions {
        bottom:16px!important;
        right:12px!important;
        gap:7px!important
    }
    .float-ai span {
        font-size:12px!important
    }
    .float-whatsapp {
        width:52px!important;
        height:52px!important
    }
}
@media(prefers-reduced-motion:reduce) {
    .home-combo,.extra-offer {
        transition:none!important
    }
}
/* V14 extended, scannable in-salon price matrices */
.fullmenu-section {
    background:#fffaf6;
    padding:70px 0
}
.fullmenu-title {
    font:normal clamp(32px,4.5vw,52px)/1.12 Georgia,serif;
    color:#382720;
    margin:12px 0 18px
}
.fullmenu-intro {
    max-width:850px;
    font-size:clamp(16px,1.5vw,18px);
    line-height:1.7;
    color:#4d3a30
}
.fullmenu-cat {
    margin:13px 0;
    border:1px solid #e0cabe;
    border-radius:12px;
    background:white;
    overflow:hidden
}
.fullmenu-cat>summary {
    padding:19px 23px;
    font-size:clamp(18px,1.7vw,22px);
    font-weight:700;
    cursor:pointer;
    color:#463028;
    background:#f7ede7;
    list-style-position:inside
}
.fullmenu-cat>summary small {
    display:inline;
    font:400 14px/1.7 system-ui,sans-serif;
    color:#75594c;
    margin-left:12px
}
.fullmenu-scroll {
    width:100%;
    overflow-x:auto
}
.fullmenu-scroll table {
    border-collapse:collapse;
    width:100%;
    min-width:440px;
    font-size:15px;
    color:#44332b
}
.fullmenu-scroll thead {
    background:#efe0d5
}
.fullmenu-scroll th,.fullmenu-scroll td {
    text-align:left;
    padding:12px 14px;
    border-bottom:1px solid #eddfd6
}
.fullmenu-scroll th {
    font-weight:700
}
.fullmenu-scroll tbody tr:nth-child(even) {
    background:#fdfaf7
}
.fullmenu-footnote {
    font-size:15px;
    line-height:1.7;
    color:#63493d;
    margin-top:24px
}
@media(max-width:550px) {
    .fullmenu-section {
        padding:52px 0
    }
    .fullmenu-cat>summary {
        padding:17px 15px
    }
    .fullmenu-cat>summary small {
        display:block;
        margin-left:0
    }
    .fullmenu-scroll th,.fullmenu-scroll td {
        padding:11px 10px;
        font-size:14px
    }
}
.salon-offer-details {
    padding:10px 0 12px;
    border-top:1px solid #ead7cb;
    margin:12px 0 15px
}
.salon-offer-details summary {
    font-size:15px;
    font-weight:700;
    cursor:pointer;
    color:#614233;
    min-height:34px
}
.salon-offer-details[open] summary {
    margin-bottom:6px
}
/* V14.3 — CLIENT-SUPPLIED OFFICIAL LOGO (header / footer; no other styling altered) */
.wordmark.elda-brand-lockup {
    display:flex;
    flex-direction:row;
    align-items:center;
    gap:10px;
    min-width:260px;
    white-space:nowrap;
    text-decoration:none
}
.wordmark.elda-brand-lockup .elda-brand-emblem {
    width:62px;
    height:62px;
    flex:0 0 62px;
    border-radius:50%;
    display:block;
    object-fit:contain;
    background:white;
    box-shadow:0 0 0 1px rgba(85,51,43,.11),0 3px 10px rgba(56,32,23,.06)
}
.wordmark.elda-brand-lockup .elda-brand-type {
    display:flex;
    flex-direction:column;
    gap:1px;
    min-width:0;
    font-size:inherit;
    letter-spacing:normal;
    font-weight:inherit;
    color:inherit
}
.wordmark.elda-brand-lockup .elda-brand-type strong {
    font:500 24px/1.12 var(--serif);
    letter-spacing:.07em;
    color:#502c29;
    white-space:nowrap
}
.wordmark.elda-brand-lockup .elda-brand-type>span {
    font-size:10px;
    line-height:1.45;
    letter-spacing:.17em;
    font-weight:600;
    color:#795e54
}
.elda-footer-brand {
    display:inline-flex;
    align-items:center;
    gap:13px;
    max-width:100%;
    text-decoration:none
}
.elda-footer-brand img {
    width:76px;
    height:76px;
    flex:0 0 76px;
    display:block;
    border-radius:50%;
    background:white;
    object-fit:contain;
    box-shadow:0 0 0 1px rgba(255,255,255,.22)
}
.elda-footer-brand .footer-wordmark {
    font-size:clamp(25px,2.5vw,35px);
    white-space:nowrap
}
@media(max-width:1320px) {
    .wordmark.elda-brand-lockup {
        min-width:236px;
        gap:8px
    }
    .wordmark.elda-brand-lockup .elda-brand-emblem {
        width:54px;
        height:54px;
        flex-basis:54px
    }
    .wordmark.elda-brand-lockup .elda-brand-type strong {
        font-size:21px;
        letter-spacing:.06em
    }
    .wordmark.elda-brand-lockup .elda-brand-type>span {
        font-size:9px;
        letter-spacing:.15em
    }
}
@media(max-width:800px) {
    .wordmark.elda-brand-lockup {
        min-width:0
    }
    .wordmark.elda-brand-lockup .elda-brand-emblem {
        width:52px;
        height:52px;
        flex-basis:52px
    }
    .wordmark.elda-brand-lockup .elda-brand-type strong {
        font-size:22px
    }
}
@media(max-width:580px) {
    .wordmark.elda-brand-lockup {
        gap:8px;
        min-width:0
    }
    .wordmark.elda-brand-lockup .elda-brand-emblem {
        width:46px;
        height:46px;
        flex-basis:46px
    }
    .wordmark.elda-brand-lockup .elda-brand-type strong {
        font-size:19px;
        letter-spacing:.052em
    }
    .wordmark.elda-brand-lockup .elda-brand-type>span {
        font-size:8px;
        letter-spacing:.1em
    }
    .elda-footer-brand img {
        width:60px;
        height:60px;
        flex-basis:60px
    }
    .elda-footer-brand .footer-wordmark {
        font-size:28px
    }
}
@media(max-width:360px) {
    .wordmark.elda-brand-lockup .elda-brand-emblem {
        width:42px;
        height:42px;
        flex-basis:42px
    }
    .wordmark.elda-brand-lockup .elda-brand-type strong {
        font-size:17px
    }
}
