:root{--ink:#102d24;--amber:#a77a2e;--gold:#d8b45b;--cream:#edf3ec;--paper:#fbfcf7;--line:rgba(16,45,36,.18)}
body{background:var(--paper);color:var(--ink)}
.nav{background:rgba(251,252,247,.94)}
.brand-mark{border-color:var(--gold);color:#8b641d}
.eyebrow{color:#8b641d}
.book{background:#174b3b}
.book:hover{background:#a77a2e}
.hero-art{background:#102d24}
.hero-art::after{background:linear-gradient(180deg,rgba(13,47,37,.03) 35%,rgba(8,35,27,.84))}
.marquee{background:#102d24;color:#f6e9bd}
.services{background:#edf3ec}
.service-grid article:hover{background:#fffdf7}
.ritual{background:#102d24}
.ritual-art{background:radial-gradient(circle at 45% 45%,#356b58,#0e3025 72%)}
.orb{background:radial-gradient(circle at 38% 32%,#efd58c,#aa7830 52%,#174b3b);box-shadow:0 40px 80px #071d16}
.contact{background:linear-gradient(135deg,#123b2e,#2d654f);color:#fff8e7}
.contact .eyebrow{color:#e2c46f}
.contact h2 em{color:#e8ca75}
.contact>p:not(.eyebrow){color:#e0eee7}
.contact{display:grid;grid-template-columns:minmax(0,.9fr) minmax(360px,1.1fr);gap:58px;align-items:start;text-align:left}
.contact-intro>p:not(.eyebrow){color:#e0eee7;max-width:560px}
.contact-details{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;max-width:760px;margin:30px 0 0}
.contact-details a{display:flex;flex-direction:column;gap:6px;padding:18px 20px;border:1px solid rgba(232,202,117,.35);border-radius:8px;background:rgba(255,255,255,.06);color:#fff8e7;text-decoration:none;text-align:left;transition:.25s ease}
.contact-details a:hover{border-color:#e8ca75;background:rgba(255,255,255,.1);transform:translateY(-2px)}
.contact-details span{color:#e8ca75;font-size:.76rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase}
.contact-details strong{font-size:1rem;line-height:1.5;font-weight:500}
.contact-hours{grid-column:1/-1;display:grid;grid-template-columns:1fr auto;gap:6px 20px;padding:20px;border:1px solid rgba(232,202,117,.48);border-radius:8px;background:rgba(232,202,117,.1)}
.contact-hours span{grid-column:1/-1;color:#e8ca75;font-size:.76rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase}.contact-hours strong,.contact-hours b{font-size:1rem;font-weight:600}.contact-hours b{color:#f4dc9a}.contact-hours small{grid-column:1/-1;color:#b9cdc3;font-size:.82rem}
.booking-form{padding:34px;border:1px solid rgba(232,202,117,.42);border-radius:14px;background:#fffaf0;color:#123b2e;box-shadow:0 24px 70px rgba(4,24,18,.28)}
.form-heading span{color:#9a701f;font-size:.76rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase}.form-heading h3{margin:7px 0 24px;font-family:'Playfair Display',serif;font-size:2rem;font-weight:500}
.booking-form label{display:flex;flex-direction:column;gap:8px;margin:0 0 16px;color:#174b3b;font-size:.82rem;font-weight:700;letter-spacing:.04em}
.booking-form input,.booking-form select,.booking-form textarea{width:100%;box-sizing:border-box;border:1px solid rgba(16,45,36,.22);border-radius:7px;background:#fff;color:#102d24;font:inherit;font-size:1rem;font-weight:400;letter-spacing:0;padding:13px 14px;outline:none}.booking-form textarea{resize:vertical}.booking-form input:focus,.booking-form select:focus,.booking-form textarea:focus{border-color:#b58a36;box-shadow:0 0 0 3px rgba(181,138,54,.14)}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:14px}.booking-form .book{border:0;cursor:pointer}.form-note{margin:12px 0 0;color:#6d7e76;font-size:.78rem;line-height:1.5}
.book.light{background:#d8b45b;color:#102d24}
.booking-form button:disabled{cursor:wait;opacity:.7}.form-status{display:none;margin:14px 0 0;padding:12px 14px;border-radius:7px;font-size:.86rem;font-weight:600}.form-status.success{display:block;background:#e1f1e8;color:#174b3b}.form-status.error{display:block;background:#f7e4df;color:#7b281e}
footer{background:#0b241b;color:#fff8e7}
footer p{color:#b9cdc3}
.service-option{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:18px;padding-top:13px;border-top:1px solid var(--line);font-size:.92rem;color:#174b3b}
.service-option strong{color:#9a701f;font-family:'Playfair Display',serif;font-size:1.35rem;font-weight:500}
.service-grid .facial-card{min-height:820px}
.service-grid .microneedling-card{grid-column:span 2;min-height:940px}
.pricing-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:34px;margin-top:22px;padding-bottom:58px}
.price-group h4{margin:0 0 8px;color:#174b3b;font-family:'Playfair Display',serif;font-size:1.3rem;font-weight:500}
.price-group h5{margin:18px 0 2px;color:#8b641d;font-size:.72rem;letter-spacing:.12em;text-transform:uppercase}
.treatment-menu{display:grid;gap:14px}.treatment-menu>h4{margin-bottom:0}.treatment-package{padding:18px 20px;border:1px solid rgba(16,45,36,.12);border-radius:8px;background:#fbfcf7}.treatment-package h5{margin:0 0 4px;font-size:.82rem}.treatment-package p{margin:0 0 8px;color:#6b5b51;font-size:.84rem;line-height:1.55}.treatment-package .service-option{margin-top:8px;padding-top:8px}.treatment-package.compact{background:#fffaf0}
@media(max-width:850px){.service-grid .microneedling-card{grid-column:auto;min-height:1200px}.pricing-grid{grid-template-columns:1fr}}
.service-grid .hair-removal-card{grid-column:span 2;min-height:750px}
.method-tags{display:flex;gap:10px;margin:20px 0 6px}.method-tags span{padding:7px 13px;border:1px solid #a77a2e;color:#174b3b;font-size:.76rem;letter-spacing:.08em;text-transform:uppercase}
.hair-pricing{display:grid;grid-template-columns:1fr 1fr;column-gap:34px;padding-bottom:58px}
@media(max-width:850px){.service-grid .hair-removal-card{grid-column:auto;min-height:990px}.hair-pricing{grid-template-columns:1fr}}
.service-grid .nail-care-card{min-height:580px}
.service-grid .body-treatment-card{grid-column:1/-1;min-height:760px}
.package-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin:26px 0}.package{padding:24px;border:1px solid var(--line);background:rgba(255,255,255,.35)}.package h4,.choice-panel h4{margin:0 0 10px;color:#174b3b;font-family:'Playfair Display',serif;font-size:1.3rem;font-weight:500}.package p{min-height:125px;font-size:.9rem}.package .service-option strong{font-size:1.15rem}.choice-panel{padding:22px;border:1px solid rgba(167,122,46,.45);background:#fffaf0;margin-bottom:62px}.choice-tags{display:flex;flex-wrap:wrap;gap:9px}.choice-tags span{padding:7px 12px;background:#174b3b;color:#fff8e7;font-size:.75rem;letter-spacing:.04em}.bridal .service-option strong{font-family:Manrope,sans-serif;font-size:.82rem;text-transform:uppercase;letter-spacing:.06em}
@media(max-width:850px){.service-grid .body-treatment-card{grid-column:auto;min-height:1400px}.package-grid{grid-template-columns:1fr}.package p{min-height:auto}}

/* Refined services layout */
.service-grid{gap:20px;border:0;align-items:start}
.service-grid article{border:1px solid rgba(16,45,36,.12);border-radius:10px;background:#fff;box-shadow:0 12px 35px rgba(16,45,36,.06);overflow:hidden}
.service-grid article:hover{background:#fff;transform:translateY(-3px);box-shadow:0 18px 44px rgba(16,45,36,.1)}
.service-grid article>h3{font-size:1.55rem;line-height:1.18;letter-spacing:-.015em}
.service-grid article>p{font-size:.95rem;line-height:1.65}
.service-grid .microneedling-card,.service-grid .hair-removal-card,.service-grid .body-treatment-card{grid-column:1/-1;min-height:0;padding:48px}
.service-grid .microneedling-card>a,.service-grid .hair-removal-card>a,.service-grid .body-treatment-card>a{position:static;display:inline-block;margin-top:6px}
.pricing-grid{padding-bottom:28px}
.hair-pricing{padding-bottom:28px}
.package-grid{gap:22px;margin:30px 0 24px}
.package{display:flex;flex-direction:column;min-height:360px;padding:28px;border:1px solid rgba(16,45,36,.12);border-radius:8px;background:#fbfcf7}
.package h4{font-size:1.18rem;line-height:1.25;letter-spacing:-.01em}
.package p{min-height:0;margin:0 0 18px;color:#6b5b51;font-size:.92rem;line-height:1.7}
.package .service-option:first-of-type{margin-top:auto}
.package .service-option{margin-top:10px;padding-top:10px}
.choice-panel{margin:0 0 28px;padding:24px 28px;border-radius:8px}
.choice-panel h4{font-size:1.1rem}
.choice-tags span{border-radius:999px;padding:8px 14px}
.service-image{display:block;width:calc(100% + 76px);height:220px;margin:-45px -38px 30px;object-fit:cover;object-position:center}
.service-image-crop{width:calc(100% + 76px);height:220px;margin:-45px -38px 30px;overflow:hidden;background:#14382e}
.service-image-crop img{display:block;width:100%;height:auto;transform:translateY(-29.3%)}
.service-grid .microneedling-card .service-image,.service-grid .hair-removal-card .service-image,.service-grid .body-treatment-card .service-image{width:calc(100% + 96px);height:320px;margin:-48px -48px 36px}
.service-grid article>.service-image+.num,.service-grid article>.service-image-crop+.num{top:22px;right:24px;padding:6px 10px;border-radius:999px;background:rgba(16,45,36,.86);color:#f6e9bd;backdrop-filter:blur(6px)}
.service-grid article>.service-image~.icon,.service-grid article>.service-image-crop~.icon{margin-top:0}
.service-grid .maderotherapy-card,.service-grid .fitness-maderotherapy-card,.service-grid .post-operative-card,.service-grid .lymphatic-card{min-height:690px}
.service-grid .maderotherapy-card>a,.service-grid .fitness-maderotherapy-card>a,.service-grid .post-operative-card>a,.service-grid .lymphatic-card>a{position:static;display:inline-block;margin-top:26px}
.session-note{display:inline-flex;align-items:center;margin:10px 0 2px;padding:7px 12px;border:1px solid rgba(167,122,46,.38);border-radius:999px;background:#fffaf0;color:#8b641d;font-size:.75rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase}
.mini-service-group{margin-top:28px;padding:22px;border:1px solid rgba(16,45,36,.12);border-radius:8px;background:#fbfcf7}.mini-service-group h4{margin:0;color:#174b3b;font-family:'Playfair Display',serif;font-size:1.15rem;font-weight:500}.service-grid .facial-card>a{position:static;display:inline-block;margin-top:26px}
@media(max-width:850px){.service-grid{display:grid;gap:16px}.service-grid .microneedling-card,.service-grid .hair-removal-card,.service-grid .body-treatment-card{grid-column:auto;min-height:0;padding:32px 24px}.service-image,.service-image-crop{height:210px}.service-grid .microneedling-card .service-image,.service-grid .hair-removal-card .service-image,.service-grid .body-treatment-card .service-image{width:calc(100% + 48px);height:230px;margin:-32px -24px 28px}.package{min-height:0}.package-grid{gap:14px}.pricing-grid{gap:24px}.contact{grid-template-columns:1fr;gap:34px}}
@media(max-width:620px){.contact-details,.form-row{grid-template-columns:1fr}.contact-details a{text-align:center}.booking-form{padding:24px}}

/* Homepage treatment directory and individual treatment views */
.service-detail-header{display:none}.service-details-link{position:static!important;display:inline-flex!important;align-items:center;gap:8px;margin-top:22px;color:#174b3b;font-weight:700}.service-booking-link{display:none!important}
body:not(.service-detail-view) .service-grid article{min-height:465px!important;padding-bottom:34px}
body:not(.service-detail-view) .service-grid article .service-option,body:not(.service-detail-view) .service-grid article .pricing-grid,body:not(.service-detail-view) .service-grid article .method-tags,body:not(.service-detail-view) .service-grid article .hair-pricing,body:not(.service-detail-view) .service-grid article .package-grid,body:not(.service-detail-view) .service-grid article .choice-panel,body:not(.service-detail-view) .service-grid article .session-note,body:not(.service-detail-view) .service-grid article .mini-service-group{display:none}
body:not(.service-detail-view) .service-grid .microneedling-card,body:not(.service-detail-view) .service-grid .hair-removal-card,body:not(.service-detail-view) .service-grid .body-treatment-card{grid-column:auto;padding:45px 38px}
body:not(.service-detail-view) .service-grid .microneedling-card .service-image,body:not(.service-detail-view) .service-grid .hair-removal-card .service-image,body:not(.service-detail-view) .service-grid .body-treatment-card .service-image{width:calc(100% + 76px);height:220px;margin:-45px -38px 30px}
body.service-detail-view .nav nav,body.service-detail-view .nav>.book{display:none}body.service-detail-view main>.hero,body.service-detail-view main>.marquee,body.service-detail-view main>.about,body.service-detail-view main>.ritual,body.service-detail-view main>.contact,body.service-detail-view footer{display:none}
body.service-detail-view .services{min-height:calc(100vh - 88px);padding-top:58px;background:linear-gradient(180deg,#edf3ec,#fbfcf7)}body.service-detail-view .section-head{display:none}body.service-detail-view .service-detail-header{display:flex;align-items:center;justify-content:space-between;gap:20px;max-width:1100px;margin:0 auto 28px}.back-to-services{display:inline-flex;align-items:center;padding:10px 0;border-bottom:1px solid rgba(16,45,36,.28);font-size:.82rem;font-weight:700;letter-spacing:.04em}
body.service-detail-view .service-grid{display:block;max-width:1100px;margin:0 auto;border:0}body.service-detail-view .service-grid article{display:none}body.service-detail-view .service-grid article.active-service{display:block!important;min-height:0!important;padding:48px}body.service-detail-view .service-grid article.active-service>.service-image{width:calc(100% + 96px);height:360px;margin:-48px -48px 40px}body.service-detail-view .service-grid article.active-service>.service-image-crop{width:calc(100% + 96px);height:360px;margin:-48px -48px 40px}body.service-detail-view .service-details-link{display:none!important}body.service-detail-view .service-booking-link{display:inline-flex!important;position:static!important;margin-top:30px;padding:13px 20px;background:#174b3b;color:#fff8e7;border-radius:3px}body.service-detail-view .service-grid article.active-service .pricing-grid{grid-template-columns:1fr 1fr}
@media(max-width:850px){body:not(.service-detail-view) .service-grid .microneedling-card,body:not(.service-detail-view) .service-grid .hair-removal-card,body:not(.service-detail-view) .service-grid .body-treatment-card{padding:32px 24px}body:not(.service-detail-view) .service-grid .microneedling-card .service-image,body:not(.service-detail-view) .service-grid .hair-removal-card .service-image,body:not(.service-detail-view) .service-grid .body-treatment-card .service-image{width:calc(100% + 48px);height:210px;margin:-32px -24px 28px}body.service-detail-view .nav>.brand{display:flex}body.service-detail-view .menu{display:none}body.service-detail-view .services{padding:38px 5vw}body.service-detail-view .service-detail-header{align-items:flex-start;flex-direction:column-reverse}body.service-detail-view .service-grid article.active-service{padding:32px 24px}body.service-detail-view .service-grid article.active-service>.service-image,body.service-detail-view .service-grid article.active-service>.service-image-crop{width:calc(100% + 48px);height:240px;margin:-32px -24px 28px}body.service-detail-view .service-grid article.active-service .pricing-grid{grid-template-columns:1fr}}
