:root {
    --ink: #1E5942;
    --ink-deep: #174532;
    --ink-soft: #5C4033;
    --gold: #D6B36C;
    --gold-light: #F0E4C5;
    --cream: #F6F5EF;
    --paper: #FCFBF7;
    --muted: #6D746E;
    --line: rgba(92, 64, 51, .15);
}

html { scroll-behavior: smooth; scroll-padding-top: 88px; }
body { background: var(--paper); color: #25332f; font-family: "Aptos", "Segoe UI", sans-serif; }
a { color: inherit; }
.site-navbar { background: rgba(255, 254, 250, .96); border-bottom: 1px solid var(--line); backdrop-filter: blur(16px); }
.brand-lockup { display: inline-flex; align-items: center; gap: 10px; color: var(--ink); text-decoration: none; }
.brand-mark { width: 40px; height: 40px; display: grid; place-items: center; border: 1px solid var(--gold); border-radius: 50%; color: var(--ink); font-family: Georgia, serif; font-size: 15px; letter-spacing: -.08em; }
.brand-name { display: flex; flex-direction: column; font-size: 13px; font-weight: 800; letter-spacing: .08em; line-height: 1.1; }
.brand-name small { margin-top: 4px; color: #897345; font-size: 9px; letter-spacing: .22em; }
.site-navbar .nav-link { color: #46534e; font-size: 12px; font-weight: 650; white-space: nowrap; }
.site-navbar .nav-link:hover { color: var(--ink-soft); }
.btn { border-radius: 3px; font-weight: 700; }
.btn-brand { background: var(--ink); border-color: var(--ink); color: #fff; }
.btn-brand:hover, .btn-brand:focus { background: var(--ink-deep); border-color: var(--ink-deep); color: #fff; }
.btn-outline-brand { border: 1px solid var(--ink); color: var(--ink); }
.btn-outline-brand:hover, .btn-outline-brand:focus { background: var(--ink); color: #fff; }
.btn-gold { background: var(--gold); border-color: var(--gold); color: #182e29; }
.btn-gold:hover, .btn-gold:focus { background: #e4cb91; border-color: #e4cb91; color: #182e29; }
.btn-glass { border: 1px solid rgba(255,255,255,.56); color: #fff; }
.btn-glass:hover, .btn-glass:focus { background: #fff; color: var(--ink); }
.brand-hero, .landing-hero, .closing-cta { position: relative; overflow: hidden; background: var(--ink); color: white; }
.brand-hero { min-height: 600px; }
.min-vh-hero { min-height: 555px; padding-top: 65px; padding-bottom: 55px; }
.brand-hero h1, .landing-hero h1, .closing-cta h2 { margin: 24px 0 18px; font-family: Georgia, "Times New Roman", serif; font-size: clamp(3rem, 6.5vw, 5.8rem); font-weight: 400; letter-spacing: -.055em; line-height: .99; }
.brand-hero h1 em, .landing-hero h1 em, .closing-cta h2 em, .section-heading h2 em, .why-section h2 em, .about-section h2 em, .health-section h2 em, .testimonial-card h2 em { color: var(--gold); font-weight: 400; }
.hero-lead { max-width: 550px; color: rgba(255,255,255,.76); font-size: 17px; line-height: 1.75; }
.eyebrow { display: inline-flex; align-items: center; gap: 10px; color: var(--gold); font-size: 10px; font-weight: 800; letter-spacing: .2em; }
.eyebrow > span { width: 24px; height: 1px; background: var(--gold); }
.eyebrow-dark { color: #957d4a; }
.hero-whatsapp { display: inline-flex; align-items: center; gap: 11px; margin-top: 30px; color: rgba(255,255,255,.8); font-size: 13px; text-decoration: none; }
.hero-whatsapp strong { display: block; color: white; font-size: 15px; }
.whatsapp-dot { display: grid; width: 38px; height: 38px; place-items: center; border: 1px solid rgba(255,255,255,.4); border-radius: 50%; color: #9ed1a8; font-size: 20px; }
.hero-visual { position: relative; display: grid; min-height: 390px; place-items: center; overflow: hidden; border: 1px solid rgba(215,185,120,.35); background: radial-gradient(ellipse at 50% 42%, #60473a 0, #38271f 35%, #211713 72%); }
.hero-visual-ring { position: absolute; width: 310px; height: 310px; border: 1px solid rgba(215,185,120,.55); border-radius: 50%; box-shadow: 0 0 0 30px rgba(215,185,120,.035), 0 0 0 65px rgba(215,185,120,.035); }
.hero-monogram { position: relative; color: var(--gold); font-family: Georgia, serif; font-size: clamp(5rem, 11vw, 9rem); letter-spacing: -.1em; }
.hero-monogram span { display: block; margin-top: -12px; color: rgba(255,255,255,.82); font-family: "Segoe UI", sans-serif; font-size: 10px; letter-spacing: .32em; text-align: center; }
.hero-caption { position: absolute; right: 20px; bottom: 18px; color: rgba(255,255,255,.8); font-size: 9px; letter-spacing: .17em; line-height: 1.7; text-align: right; }
.hero-caption span { color: var(--gold); }
.hero-leaf { position: absolute; color: rgba(215,185,120,.72); font-size: 38px; }
.hero-leaf-one { top: 35px; left: 42px; }
.hero-leaf-two { right: 48px; top: 62px; font-size: 28px; }
.hero-orbit { position: absolute; width: 520px; height: 520px; border: 1px solid rgba(215,185,120,.09); border-radius: 50%; pointer-events: none; }
.hero-orbit-one { top: -400px; left: -210px; }
.hero-orbit-two { right: -390px; bottom: -440px; }
.hero-bottomline { display: flex; align-items: center; justify-content: center; gap: 20px; padding: 16px 0; border-top: 1px solid rgba(255,255,255,.16); color: rgba(255,255,255,.55); font-size: 9px; letter-spacing: .24em; }
.hero-bottomline i { width: 4px; height: 4px; border-radius: 50%; background: var(--gold); }
.section-pad { padding: 100px 0; }
.services-section { background: var(--paper); }
.section-heading h2, .why-section h2, .about-section h2, .health-section h2, .testimonial-card h2 { margin: 16px 0; color: var(--ink); font-family: Georgia, serif; font-size: clamp(2.3rem, 4vw, 3.8rem); font-weight: 400; letter-spacing: -.045em; line-height: 1.08; }
.section-heading h2 em, .why-section h2 em, .about-section h2 em, .health-section h2 em { color: #a68b50; }
.section-intro { color: var(--muted); line-height: 1.8; }
.service-card { position: relative; display: flex; min-height: 215px; flex-direction: column; justify-content: space-between; padding: 25px; border: 1px solid var(--line); background: white; transition: transform .2s, border-color .2s, box-shadow .2s; }
.service-card:hover { transform: translateY(-4px); border-color: rgba(166,139,80,.55); box-shadow: 0 18px 45px rgba(33,23,19,.08); }
.service-card-top { display: flex; justify-content: space-between; color: #a68b50; font-size: 12px; letter-spacing: .16em; }
.service-card h3 { margin: 18px 0; color: var(--ink); font-family: Georgia, serif; font-size: 24px; font-weight: 400; }
.service-card-bottom { display: flex; justify-content: space-between; align-items: end; gap: 8px; color: var(--muted); font-size: 12px; }
.service-card-bottom strong { color: var(--ink); font-size: 16px; }
.service-note { display: flex; align-items: center; gap: 10px; color: var(--muted); font-size: 13px; }
.service-note span { color: #a68b50; font-size: 20px; }
.why-section { background: var(--ink); color: white; }
.why-section h2 { color: white; }
.why-brand { margin: 22px 0; color: var(--gold); font-size: 11px; font-weight: 800; letter-spacing: .16em; }
.text-link { color: var(--ink); font-size: 13px; font-weight: 800; text-decoration: none; }
.why-section .text-link { color: var(--gold); }
.text-link span { padding-left: 6px; }
.why-list { border-top: 1px solid rgba(255,255,255,.2); }
.why-item { display: grid; grid-template-columns: 42px 1fr 25px; gap: 18px; align-items: start; padding: 25px 0; border-bottom: 1px solid rgba(255,255,255,.2); }
.why-number { color: var(--gold); font-size: 11px; letter-spacing: .14em; }
.why-item h3 { margin: 0 0 7px; color: #fff; font-family: Georgia, serif; font-size: 22px; font-weight: 400; }
.why-item p { margin: 0; color: rgba(255,255,255,.68); font-size: 14px; line-height: 1.7; }
.why-symbol { color: var(--gold); font-size: 20px; }
.price-section { background: var(--cream); }
.price-section .section-heading { max-width: 640px; }
.price-sheet { max-width: 850px; margin-right: auto; margin-left: auto; padding: 10px 35px; background: white; border: 1px solid var(--line); }
.price-row { display: flex; justify-content: space-between; align-items: center; gap: 20px; padding: 19px 0; border-bottom: 1px solid var(--line); }
.price-row:last-child { border-bottom: 0; }
.price-row h3 { margin: 0 0 4px; color: var(--ink); font-family: Georgia, serif; font-size: 19px; font-weight: 400; }
.price-row span { color: var(--muted); font-size: 12px; }
.price-row strong { color: var(--ink); font-size: 16px; white-space: nowrap; }
.testimonial-section { background: #eee8e2; }
.testimonial-card { position: relative; max-width: 760px; margin: auto; padding: 60px 30px; text-align: center; }
.testimonial-mark { color: #b7a16f; font-family: Georgia, serif; font-size: 100px; line-height: .7; }
.testimonial-card h2 { font-size: clamp(2.3rem, 4vw, 3.5rem); }
.testimonial-card p { max-width: 550px; margin: 0 auto 25px; color: var(--muted); line-height: 1.8; }
.about-section { background: var(--paper); }
.about-art { position: relative; display: grid; min-height: 370px; place-items: center; overflow: hidden; border: 1px solid rgba(92,64,51,.16); border-radius: 10px; background: var(--cream); color: var(--gold); box-shadow: 0 20px 48px rgba(92,64,51,.12); }
.about-art::before, .about-art::after { position: absolute; width: 280px; height: 280px; border: 1px solid rgba(215,185,120,.35); border-radius: 50%; content: ""; }
.about-art::after { width: 350px; height: 350px; border-color: rgba(215,185,120,.15); }
.about-art-large { font-family: Georgia, serif; font-size: 150px; letter-spacing: -.1em; }
.about-art-small, .about-art-bottom { position: absolute; z-index: 1; font-size: 9px; letter-spacing: .22em; line-height: 1.7; }
.about-art-small { top: 26px; left: 28px; }
.about-art-bottom { right: 26px; bottom: 26px; color: rgba(255,255,255,.7); }
.health-section { background: var(--cream); }
.faq-accordion .accordion-item { border: 0; border-bottom: 1px solid var(--line); background: transparent; }
.faq-accordion .accordion-button { padding: 21px 4px; background: transparent; box-shadow: none; color: var(--ink); font-family: Georgia, serif; font-size: 18px; }
.faq-accordion .accordion-button:not(.collapsed) { color: #947c48; }
.faq-accordion .accordion-body { padding: 0 4px 20px; color: var(--muted); font-size: 14px; line-height: 1.8; }
.closing-cta { padding: 45px 0; text-align: center; }
.closing-cta h2 { font-size: clamp(2.8rem, 5vw, 4.5rem); }
.landing-hero { min-height: 390px; padding: 50px 0; }
.landing-hero h1 { max-width: 780px; }
.landing-hero .hero-lead { max-width: 650px; }
.step-card { height: 100%; padding: 30px 18px; border: 1px solid var(--line); background: white; }
.step-card > span { color: #a68b50; font-size: 12px; letter-spacing: .2em; }
.step-card h2 { margin: 13px 0 8px; color: var(--ink); font-family: Georgia, serif; font-size: 22px; font-weight: 400; }
.step-card p { margin: 0; color: var(--muted); font-size: 14px; }
.booking-page { min-height: 70vh; background: var(--cream); }
.booking-heading { max-width: 720px; }
.booking-heading h1 { color: var(--ink); font-family: Georgia, serif; font-size: clamp(2.5rem, 5vw, 4rem); font-weight: 400; letter-spacing: -.04em; }
.booking-card { overflow: hidden; border: 1px solid var(--line); border-radius: 2px; box-shadow: 0 18px 55px rgba(33,23,19,.07); }
.booking-card .form-control, .booking-card .form-select { min-height: 47px; border-color: rgba(33,23,19,.2); border-radius: 2px; }
.booking-card textarea.form-control { min-height: 90px; }
.booking-card .form-control:focus, .booking-card .form-select:focus { border-color: var(--ink-soft); box-shadow: 0 0 0 .2rem rgba(75,53,43,.12); }
.booking-help { padding-top: 16px; border-top: 1px solid var(--line); color: var(--muted); font-size: 13px; text-align: center; }
.booking-help a { color: var(--ink); font-weight: 800; }
.site-footer { background: #17110e; color: white; }
.brand-lockup-light { color: white; }
.brand-lockup-light .brand-mark { color: var(--gold); }
.brand-lockup-light .brand-name small { color: var(--gold); }
.footer-copy { max-width: 350px; color: rgba(255,255,255,.62); font-size: 13px; line-height: 1.7; }
.footer-heading { margin: 0 0 16px; color: var(--gold); font-size: 10px; font-weight: 800; letter-spacing: .16em; text-transform: uppercase; }
.site-footer .col-lg-3 > a { display: block; margin: 9px 0; color: rgba(255,255,255,.76); font-size: 13px; text-decoration: none; }
.site-footer .col-lg-3 > a:hover, .footer-contact:hover { color: var(--gold); }
.social-links { display: flex; gap: 9px; }
.social-links a { display: grid; width: 38px; height: 38px; place-items: center; border: 1px solid rgba(255,255,255,.3); border-radius: 50%; color: white; font-size: 19px; font-weight: 700; text-decoration: none; transition: background .2s, color .2s; }
.social-links a:hover { background: var(--gold); color: var(--ink); }
.footer-contact { display: inline-flex; align-items: center; gap: 9px; color: white; font-weight: 700; text-decoration: none; }
.footer-bottom { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 8px 20px; border-top: 1px solid rgba(255,255,255,.15); color: rgba(255,255,255,.55); font-size: 11px; letter-spacing: .08em; }
.whatsapp-float { position: fixed; z-index: 1030; right: 22px; bottom: 22px; display: flex; align-items: center; gap: 9px; padding: 11px 17px; border-radius: 40px; background: #21875b; box-shadow: 0 8px 28px rgba(0,0,0,.2); color: white; font-size: 13px; font-weight: 800; text-decoration: none; }
.whatsapp-float:hover { background: #176c47; color: white; }
.whatsapp-float small { display: block; font-size: 10px; font-weight: 500; }
.hero-card, .stat { background: white; }

.staff-navbar { background: #17110e; border-bottom: 1px solid rgba(215,185,120,.28); box-shadow: 0 8px 28px rgba(18,14,12,.12); }
.staff-navbar .brand-mark { color: var(--gold); }
.staff-navbar .navbar-toggler { border-color: rgba(255,255,255,.3); }
.staff-navbar .navbar-toggler-icon { filter: invert(1); }
.staff-navbar .nav-link { color: rgba(255,255,255,.76); font-size: 12px; font-weight: 650; white-space: nowrap; }
.staff-navbar .nav-link:hover, .staff-navbar .nav-link:focus { color: var(--gold); }
.staff-identity { padding: 0 12px; color: var(--gold-light); font-size: 12px; }
.staff-navbar + main { min-height: calc(100vh - 74px); background: #f5f1ed; }
.panel-page-heading h1 { margin: 8px 0; color: var(--ink); font-family: Georgia, serif; font-size: clamp(2rem, 4vw, 3rem); font-weight: 400; letter-spacing: -.04em; }
.panel-page-heading p { max-width: 680px; margin: 0; color: var(--muted); }
.panel-eyebrow { display: inline-block; color: #987b47; font-size: 10px; font-weight: 800; letter-spacing: .2em; }
.btn-panel-primary { border: 1px solid var(--ink); border-radius: 2px; background: var(--ink); color: #fff; font-weight: 750; }
.btn-panel-primary:hover, .btn-panel-primary:focus { border-color: var(--ink-deep); background: var(--ink-deep); color: #fff; }
.panel-table-wrap, .panel-form-card, .panel-stat-card, .panel-content-card { overflow: hidden; border: 1px solid var(--line); border-radius: 3px; background: #fffdfa; box-shadow: 0 14px 42px rgba(33,23,19,.055); }
.panel-table-wrap .table { color: #382b25; }
.panel-table-wrap thead th { padding: 15px 18px; border-bottom: 1px solid var(--line); background: #f2ece6; color: #756052; font-size: 10px; letter-spacing: .12em; text-transform: uppercase; white-space: nowrap; }
.panel-table-wrap tbody td { padding: 15px 18px; border-color: rgba(33,23,19,.08); font-size: 13px; vertical-align: middle; }
.panel-table-wrap tbody tr:last-child td { border-bottom: 0; }
.panel-table-wrap a { color: #765a36; font-weight: 700; text-decoration: none; }
.panel-table-wrap a:hover { color: var(--ink); text-decoration: underline; }
.panel-form-card .form-label { color: #4a3930; font-size: 12px; font-weight: 750; }
.panel-form-card .form-control, .panel-form-card .form-select, .panel-login-form .form-control { min-height: 46px; border-color: rgba(33,23,19,.2); border-radius: 2px; }
.panel-form-card .form-control:focus, .panel-form-card .form-select:focus, .panel-login-form .form-control:focus { border-color: #9b7b47; box-shadow: 0 0 0 .2rem rgba(155,123,71,.14); }
.panel-stat-card { height: 100%; padding: 22px; }
.panel-stat-card small { display: block; color: #806e60; font-size: 10px; font-weight: 800; letter-spacing: .13em; text-transform: uppercase; }
.panel-stat-card strong { display: block; margin-top: 12px; color: var(--ink); font-family: Georgia, serif; font-size: clamp(1.8rem, 3vw, 2.5rem); font-weight: 400; }
.panel-stat-card span { color: var(--muted); font-size: 12px; }
.panel-section-title { color: var(--ink); font-family: Georgia, serif; font-size: 1.45rem; font-weight: 400; }
.status-pill { display: inline-block; padding: 5px 10px; border-radius: 30px; background: #f3eae3; color: #765a36; font-size: 10px; font-weight: 800; text-transform: uppercase; }
.status-pill-active { background: #eee6d7; color: #654c24; }
.panel-empty-state { padding: 35px 18px; color: var(--muted); text-align: center; }

.panel-login-body { min-height: 100vh; background: #120e0c; color: #30231d; }
.panel-login-shell { display: grid; min-height: 100vh; grid-template-columns: minmax(420px, .88fr) 1.12fr; }
.panel-login-card { display: flex; width: min(100%, 560px); flex-direction: column; justify-content: center; margin: auto; padding: clamp(30px, 7vw, 84px); background: #f8f4ee; }
.panel-login-brand { display: inline-flex; align-items: center; gap: 12px; margin-bottom: 58px; color: var(--ink); text-decoration: none; }
.panel-login-brand .brand-mark { color: #765a36; }
.panel-login-brand strong, .panel-login-brand small { display: block; }
.panel-login-brand strong { font-size: 12px; letter-spacing: .12em; }
.panel-login-brand small { margin-top: 4px; color: #987b47; font-size: 9px; letter-spacing: .2em; }
.panel-login-card h1 { margin: 12px 0; color: var(--ink); font-family: Georgia, serif; font-size: clamp(2.9rem, 5vw, 4.4rem); font-weight: 400; letter-spacing: -.05em; line-height: .98; }
.panel-login-card h1 em { color: #9b7b47; font-weight: 400; }
.panel-login-intro, .panel-security-note { color: #786e66; font-size: 13px; line-height: 1.7; }
.panel-login-form { display: grid; gap: 10px; margin: 23px 0 16px; }
.panel-login-form > label:not(.panel-remember) { margin-top: 6px; color: #4a3930; font-size: 11px; font-weight: 750; }
.panel-remember { display: flex; align-items: center; gap: 8px; margin: 5px 0; color: #6d6159; font-size: 12px; }
.panel-back-link { color: #765a36; font-size: 12px; font-weight: 750; text-decoration: none; }
.panel-login-aside { position: relative; display: flex; min-height: 100vh; align-items: end; overflow: hidden; padding: clamp(35px, 7vw, 100px); background: radial-gradient(ellipse at 65% 30%, #5b4132 0, #30211a 38%, #17110e 76%); color: #fff; }
.panel-login-aside::before, .panel-login-aside::after { position: absolute; width: min(55vw, 580px); aspect-ratio: 1; border: 1px solid rgba(215,185,120,.28); border-radius: 50%; content: ""; }
.panel-login-aside::before { top: 7%; right: 8%; box-shadow: 0 0 0 34px rgba(215,185,120,.035), 0 0 0 75px rgba(215,185,120,.025); }
.panel-login-aside::after { top: 14%; right: 15%; width: min(42vw, 450px); border-color: rgba(255,255,255,.12); }
.panel-aside-orbit { position: absolute; top: 21%; right: 28%; width: 12px; height: 12px; border-radius: 50%; background: var(--gold); box-shadow: 0 0 35px 12px rgba(215,185,120,.25); }
.panel-aside-copy { position: relative; z-index: 1; max-width: 550px; }
.panel-aside-copy p { margin: 14px 0 30px; font-family: Georgia, serif; font-size: clamp(2rem, 4vw, 3.8rem); line-height: 1.08; }
.panel-aside-copy small { color: rgba(255,255,255,.6); font-size: 9px; letter-spacing: .2em; }

@media (max-width: 1199.98px) {
    .site-navbar .navbar-collapse { max-height: calc(100vh - 75px); overflow-y: auto; }
    .site-navbar .navbar-nav { align-items: stretch !important; }
    .staff-navbar .navbar-collapse { max-height: calc(100vh - 75px); overflow-y: auto; }
    .staff-navbar .navbar-nav { align-items: stretch !important; }
}

@media (max-width: 767.98px) {
    .section-pad { padding: 70px 0; }
    .brand-hero { min-height: auto; }
    .min-vh-hero { min-height: 0; padding-top: 70px; padding-bottom: 45px; }
    .brand-hero h1, .landing-hero h1 { font-size: clamp(3rem, 14vw, 4.7rem); }
    .hero-visual { min-height: 280px; }
    .hero-visual-ring { width: 220px; height: 220px; }
    .hero-bottomline { gap: 10px; font-size: 8px; letter-spacing: .14em; }
    .why-item { grid-template-columns: 30px 1fr 20px; gap: 10px; }
    .price-sheet { padding: 8px 18px; }
    .price-row h3 { font-size: 16px; }
    .price-row strong { font-size: 14px; }
    .testimonial-card { padding: 45px 10px; }
    .about-art { min-height: 290px; }
    .whatsapp-float { right: 12px; bottom: 12px; padding: 10px 13px; }
    .panel-login-shell { grid-template-columns: 1fr; }
    .panel-login-card { padding: 38px 26px; }
    .panel-login-brand { margin-bottom: 42px; }
    .panel-login-aside { display: none; }
    .panel-table-wrap tbody td { padding: 12px; }
}

.brand-hero .hero-bottomline {
    border-color: rgba(92,64,51,.22);
    color: #51463D;
}
.brand-hero .hero-bottomline span {
    padding: 8px 12px;
    border-radius: 3px;
    background: linear-gradient(135deg, rgba(255,255,255,.98), rgba(255,255,255,.76));
    box-shadow: 0 3px 12px rgba(92,64,51,.08);
    color: #B42318;
    font-size: 11px;
    font-weight: 800;
    letter-spacing: .2em;
}
.brand-hero .hero-bottomline i { background: #A9823F; }

.hours-section { background: var(--cream); }
.hours-card {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(280px, .9fr) auto;
    align-items: center;
    gap: 34px;
    padding: clamp(26px, 4vw, 48px);
    border: 1px solid rgba(92,64,51,.13);
    background: linear-gradient(120deg, #fff 0%, #FBF8F0 100%);
    box-shadow: 0 16px 42px rgba(54,70,57,.06);
}
.hours-heading h2 {
    margin: 12px 0;
    color: var(--ink);
    font-family: Georgia, serif;
    font-size: clamp(2rem, 3vw, 2.8rem);
}
.hours-heading h2 em { color: #A68B50; font-weight: 400; }
.hours-list { border-top: 1px solid var(--line); }
.hours-row {
    display: flex;
    justify-content: space-between;
    gap: 18px;
    padding: 15px 0;
    border-bottom: 1px solid var(--line);
}
.hours-row h3, .hours-row p { margin: 0; font-size: 14px; }
.hours-row h3 { color: var(--ink); font-weight: 750; }
.hours-row p { color: #5C4033; font-weight: 700; white-space: nowrap; }

@media (max-width: 767.98px) {
    .brand-hero .hero-bottomline { gap: 7px; }
    .brand-hero .hero-bottomline span {
        padding: 7px 8px;
        font-size: 9px;
        letter-spacing: .12em;
    }
    .hours-card { grid-template-columns: 1fr; gap: 22px; }
    .hours-card > .btn { justify-self: start; }
    .hours-row { gap: 10px; }
    .hours-row h3, .hours-row p { font-size: 13px; }
}

@media (prefers-reduced-motion: reduce) {
    html { scroll-behavior: auto; }
    *, *::before, *::after { transition-duration: .01ms !important; }
}

/* Warm sage-and-cream brand system */
body { background: var(--cream); color: var(--ink-soft); }
.site-navbar { background: rgba(246,245,239,.96); border-color: rgba(30,89,66,.12); }
.brand-lockup, .brand-name, .brand-mark { color: var(--ink); }
.brand-name small, .site-navbar .nav-link:hover, .site-navbar .nav-link:focus { color: var(--ink); }
.site-navbar .nav-link { color: #5C625D; }
.btn-brand, .btn-outline-brand:hover, .btn-outline-brand:focus, .btn-panel-primary {
    background: var(--ink);
    border-color: var(--ink);
    color: #fff;
}
.btn-brand:hover, .btn-brand:focus, .btn-panel-primary:hover, .btn-panel-primary:focus {
    background: var(--ink-deep);
    border-color: var(--ink-deep);
    color: #fff;
}
.btn-outline-brand { border-color: var(--ink); color: var(--ink); }
.btn-gold { background: var(--gold); border-color: var(--gold); color: #3C3425; }
.btn-gold:hover, .btn-gold:focus { background: #C69E50; border-color: #C69E50; color: #302718; }
.btn-glass { border-color: rgba(30,89,66,.38); color: var(--ink); }
.btn-glass:hover, .btn-glass:focus { background: var(--ink); color: #fff; }
.brand-hero, .landing-hero, .closing-cta {
    background: linear-gradient(125deg, #FCFBF7 0%, #F6F5EF 56%, #EEEFE6 100%);
    color: var(--ink-soft);
}
.brand-hero { min-height: auto; }
.min-vh-hero { min-height: 490px; padding-top: 44px; padding-bottom: 38px; }
.brand-hero h1, .landing-hero h1, .closing-cta h2 {
    margin: 18px 0 14px;
    color: var(--ink);
    font-size: clamp(2.45rem, 4vw, 3.8rem);
    line-height: 1.04;
}
.brand-hero h1 em, .landing-hero h1 em, .closing-cta h2 em { color: var(--ink-soft); }
.hero-lead { color: #5E6861; font-size: 16px; }
.eyebrow, .eyebrow-dark { color: var(--ink); }
.eyebrow > span { background: var(--gold); }
.hero-whatsapp { color: #5E6861; }
.hero-whatsapp strong { color: var(--ink); }
.whatsapp-dot { border-color: rgba(30,89,66,.25); color: var(--ink); }
.hero-visual {
    min-height: 330px;
    border-color: rgba(214,179,108,.55);
    background: radial-gradient(ellipse at 50% 42%, #6C9A7B 0, #367354 38%, #1E5942 78%);
    box-shadow: 0 24px 60px rgba(30,89,66,.15);
}
.hero-visual-ring { border-color: rgba(246,245,239,.52); }
.hero-monogram { color: #F0D391; font-size: clamp(4.5rem, 9vw, 7rem); }
.hero-leaf, .hero-caption span { color: var(--gold); }
.hero-orbit { border-color: rgba(30,89,66,.09); }
.hero-bottomline { border-color: rgba(30,89,66,.15); color: #65736A; }
.section-pad { padding: 82px 0; }
.services-section, .about-section { background: var(--paper); }
.section-heading h2, .about-section h2, .health-section h2, .testimonial-card h2 {
    color: var(--ink);
    font-size: clamp(2.1rem, 3.5vw, 3.15rem);
}
.section-heading h2 em, .about-section h2 em, .health-section h2 em { color: var(--ink-soft); }
.section-intro, .service-card-bottom, .service-note, .testimonial-card p { color: #69716B; }
.service-card, .step-card, .price-sheet, .booking-card, .hero-card, .stat {
    border-color: rgba(92,64,51,.13);
    border-radius: 8px;
    background: #fff;
    box-shadow: 0 12px 34px rgba(54,70,57,.06);
}
.service-card { min-height: 195px; padding: 23px; }
.service-card:hover { border-color: rgba(30,89,66,.32); box-shadow: 0 18px 42px rgba(30,89,66,.1); }
.service-card-top, .service-note span, .step-card > span { color: #A5823E; }
.service-card h3, .service-card-bottom strong, .price-row h3, .price-row strong { color: var(--ink); }
.why-section { background: #E9EFE8; color: var(--ink-soft); }
.why-section h2, .why-item h3 { color: var(--ink); }
.why-brand, .why-number, .why-symbol { color: #A5823E; }
.why-section .eyebrow, .why-section .text-link { color: var(--ink); }
.why-list, .why-item { border-color: rgba(30,89,66,.16); }
.why-item p { color: #5E6861; }
.text-link, .booking-help a { color: var(--ink); }
.price-section, .health-section, .booking-page { background: var(--cream); }
.price-sheet { padding: 10px 32px; }
.price-row { border-color: rgba(92,64,51,.13); }
.testimonial-section { background: #E9EFE8; }
.testimonial-mark { color: #A5823E; }
.testimonial-card h2 { color: var(--ink); }
.about-art { background: var(--ink); color: var(--gold); }
.faq-accordion .accordion-item { border-color: rgba(30,89,66,.15); }
.faq-accordion .accordion-button, .faq-accordion .accordion-button:not(.collapsed) { color: var(--ink); }
.faq-accordion .accordion-body { color: #5E6861; }
.closing-cta { padding: 44px 0; }
.closing-cta h2 { color: var(--ink); }
.landing-hero { min-height: 350px; padding: 38px 0; }
.landing-hero h1 { max-width: 740px; }
.step-card { padding: 27px 20px; }
.step-card h2 { color: var(--ink); }
.step-card p { color: #69716B; }
.booking-heading h1 { color: var(--ink); }
.booking-card .form-control, .booking-card .form-select { border-color: rgba(92,64,51,.2); }
.booking-card .form-control:focus, .booking-card .form-select:focus { border-color: var(--ink); box-shadow: 0 0 0 .2rem rgba(30,89,66,.12); }
.booking-help { border-color: rgba(92,64,51,.14); color: #69716B; }
.site-footer { background: var(--ink); }
.brand-lockup-light .brand-name small, .brand-lockup-light .brand-mark { color: var(--gold); }
.footer-heading { color: var(--gold); }
.social-links a:hover { background: var(--gold); color: var(--ink); }
.whatsapp-float { background: var(--ink); box-shadow: 0 8px 28px rgba(30,89,66,.2); }
.whatsapp-float:hover { background: var(--ink-deep); }

.staff-navbar { background: var(--ink); border-color: rgba(214,179,108,.35); box-shadow: 0 8px 28px rgba(30,89,66,.12); }
.staff-navbar .brand-mark { color: var(--gold); }
.staff-navbar .navbar-toggler { border-color: rgba(255,255,255,.45); }
.staff-navbar .nav-link { color: rgba(255,255,255,.86); }
.staff-navbar .nav-link:hover, .staff-navbar .nav-link:focus { color: var(--gold); }
.staff-identity { color: #F3E8CC; }
.staff-navbar + main { background: var(--cream); }
.panel-page-heading h1, .panel-section-title, .panel-stat-card strong { color: var(--ink); }
.panel-eyebrow { color: #8A6B31; }
.btn-panel-primary { border-radius: 5px; }
.panel-table-wrap, .panel-form-card, .panel-stat-card, .panel-content-card {
    border-color: rgba(92,64,51,.13);
    border-radius: 8px;
    background: #fff;
    box-shadow: 0 12px 34px rgba(54,70,57,.06);
}
.panel-table-wrap .table { color: var(--ink-soft); }
.panel-table-wrap thead th { background: #EEF1E9; color: #516256; }
.panel-table-wrap tbody td { border-color: rgba(92,64,51,.09); }
.panel-table-wrap a, .panel-table-wrap a:hover { color: var(--ink); }
.panel-form-card .form-label { color: var(--ink-soft); }
.panel-form-card .form-control, .panel-form-card .form-select, .panel-login-form .form-control {
    border-color: rgba(92,64,51,.2);
    border-radius: 5px;
    background-color: #fff;
}
.panel-form-card .form-control:focus, .panel-form-card .form-select:focus, .panel-login-form .form-control:focus {
    border-color: var(--ink);
    box-shadow: 0 0 0 .2rem rgba(30,89,66,.13);
}
.panel-stat-card small { color: #627166; }
.panel-stat-card span, .panel-empty-state { color: #69716B; }
.status-pill { background: #F4EBD8; color: #65502C; }
.status-pill-active { background: #E5EFE6; color: var(--ink); }
.staff-navbar + main .card, .staff-navbar + main .stat {
    overflow: hidden;
    border: 1px solid rgba(92,64,51,.13);
    border-radius: 8px;
    background: #fff;
    box-shadow: 0 12px 34px rgba(54,70,57,.06);
}
.staff-navbar + main .table { color: var(--ink-soft); }
.staff-navbar + main .table th { color: #516256; }
.staff-navbar + main .table td, .staff-navbar + main .table th { border-color: rgba(92,64,51,.1); }
.staff-navbar + main .form-control, .staff-navbar + main .form-select {
    border-color: rgba(92,64,51,.2);
    border-radius: 5px;
}
.staff-navbar + main .form-control:focus, .staff-navbar + main .form-select:focus {
    border-color: var(--ink);
    box-shadow: 0 0 0 .2rem rgba(30,89,66,.13);
}
.staff-navbar + main .btn-dark { border-color: var(--ink); background: var(--ink); }
.staff-navbar + main .btn-dark:hover { border-color: var(--ink-deep); background: var(--ink-deep); }
.staff-navbar + main .pagination .page-link { color: var(--ink); }
.staff-navbar + main .pagination .active .page-link { border-color: var(--ink); background: var(--ink); color: #fff; }

.panel-login-body { background: var(--cream); color: var(--ink-soft); }
.panel-login-shell { background: var(--cream); }
.panel-login-card { background: var(--cream); }
.panel-login-brand, .panel-login-card h1 { color: var(--ink); }
.panel-login-brand .brand-mark { color: var(--ink); }
.panel-login-brand small, .panel-login-card h1 em { color: #A5823E; }
.panel-login-intro, .panel-security-note { color: #68716A; }
.panel-login-form > label:not(.panel-remember) { color: var(--ink-soft); }
.panel-remember { color: #68716A; }
.panel-back-link { color: var(--ink); }
.panel-login-aside {
    background: radial-gradient(ellipse at 67% 28%, #3A795A 0, #246347 42%, #1E5942 78%);
    color: #fff;
}
.panel-login-aside::before, .panel-login-aside::after { border-color: rgba(214,179,108,.38); }
.panel-login-aside::before { box-shadow: 0 0 0 34px rgba(214,179,108,.06), 0 0 0 75px rgba(214,179,108,.035); }
.panel-login-aside::after { border-color: rgba(255,255,255,.2); }
.panel-aside-orbit { background: var(--gold); box-shadow: 0 0 35px 12px rgba(214,179,108,.28); }
.panel-aside-copy .panel-eyebrow { color: var(--gold); }

@media (max-width: 767.98px) {
    .section-pad { padding: 64px 0; }
    .min-vh-hero { padding-top: 48px; padding-bottom: 35px; }
    .brand-hero h1, .landing-hero h1 { font-size: clamp(2.15rem, 7.5vw, 2.8rem); }
    .hero-lead { font-size: 15px; }
    .hero-visual { min-height: 270px; }
    .panel-login-card { background: var(--cream); }
    .whatsapp-float { width: 48px; height: 48px; justify-content: center; padding: 0; }
    .whatsapp-float > span:first-child { font-size: 20px; }
    .whatsapp-float > span:last-child { display: none; }
}

    .brand-logo {
        display: block;
        height: auto;
        object-fit: contain;
    }
    .brand-logo-header {
        width: clamp(145px, 15vw, 190px);
        padding: 5px 9px;
        border: 1px solid rgba(214,179,108,.48);
        border-radius: 6px;
        background: var(--ink);
    }
    .staff-brand-caption {
        padding-left: 2px;
        color: var(--gold);
        font-size: 9px;
        font-weight: 800;
        letter-spacing: .17em;
        white-space: nowrap;
    }
    .hero-brand-logo {
        position: relative;
        z-index: 1;
        display: block;
        width: min(88%, 430px);
        height: auto;
        filter: drop-shadow(0 12px 18px rgba(12,39,27,.18));
    }
    .brand-logo-footer {
        width: min(100%, 290px);
        padding: 0;
        border: 0;
        border-radius: 0;
        background: transparent;
        box-shadow: none;
        filter: drop-shadow(0 2px 5px rgba(13,42,29,.24));
    }
    .about-art::before, .about-art::after { display: none; }
    .about-photo { display: block; width: 100%; height: 100%; min-height: inherit; position: absolute; inset: 0; object-fit: cover; object-position: center; }
    .about-art { min-height: 420px; }

    @media (max-width: 575.98px) {
        .brand-logo-header { width: 152px; padding: 4px 7px; }
        .staff-brand-caption { font-size: 8px; letter-spacing: .12em; }
        .brand-logo-footer { width: min(100%, 250px); }
    }
    .about-art { background: var(--cream); }
    @media (max-width: 767.98px) {
        .about-art { min-height: 290px; }
    }

    .site-navbar, .staff-navbar {
        background: linear-gradient(110deg, #5C4033 0%, #8B6841 52%, #D6B36C 100%);
        border-bottom: 1px solid rgba(92,64,51,.34);
        box-shadow: 0 6px 22px rgba(60,42,31,.15);
    }
    .brand-logo-header {
        width: clamp(165px, 16vw, 205px);
        padding: 0;
        border: 0;
        border-radius: 0;
        background: transparent;
        filter: drop-shadow(0 2px 5px rgba(47,31,21,.28));
    }
    .site-navbar .nav-link, .staff-navbar .nav-link {
        color: #fffaf0;
        text-shadow: 0 1px 2px rgba(48,32,23,.35);
    }
    .site-navbar .nav-link:hover, .site-navbar .nav-link:focus,
    .staff-navbar .nav-link:hover, .staff-navbar .nav-link:focus {
        color: #fff;
    }
    .site-navbar .navbar-toggler, .staff-navbar .navbar-toggler {
        border-color: rgba(255,250,240,.65);
    }
    .site-navbar .navbar-toggler-icon, .staff-navbar .navbar-toggler-icon {
        filter: invert(1);
    }
    .staff-navbar .staff-brand-caption { color: #fffaf0; }
    .staff-navbar .staff-identity { color: #fffaf0; }
    .brand-hero {
        min-height: 530px;
        background-color: #EFE6D6;
        background-image:
            linear-gradient(90deg, rgba(246,245,239,.94) 0%, rgba(246,245,239,.86) 31%, rgba(246,245,239,.50) 51%, rgba(54,38,26,.08) 100%),
            url("/images/intan-reflexy-hero.jpg");
        background-position: center, center 48%;
        background-size: cover;
        background-repeat: no-repeat;
    }
    .brand-hero h1 { color: var(--ink); text-shadow: 0 1px 16px rgba(246,245,239,.28); }
    .brand-hero h1 em { color: var(--ink-soft); }
    .brand-hero .hero-lead { color: #4E554F; }
    .brand-hero .hero-whatsapp { color: #4F5A52; }
    .brand-hero .hero-whatsapp strong { color: var(--ink); }
    .brand-hero .whatsapp-dot { border-color: rgba(30,89,66,.32); background: rgba(246,245,239,.65); }
    .brand-hero .eyebrow { color: var(--ink); }
    .brand-hero .hero-bottomline { border-color: rgba(92,64,51,.22); color: #51463D; }
    .brand-hero .hero-bottomline i { background: #A9823F; }
    .why-section {
        position: relative;
        isolation: isolate;
        overflow: hidden;
        background-color: #EDE5D8;
        background-image:
            linear-gradient(90deg, rgba(246,245,239,.82) 0%, rgba(246,245,239,.74) 48%, rgba(246,245,239,.64) 100%),
            url("/images/kenapa-kami-background.jpg");
        background-position: center, center 48%;
        background-size: cover;
        background-repeat: no-repeat;
        color: var(--ink-soft);
    }
    .why-section h2, .why-item h3 { color: var(--ink); }
    .why-section .eyebrow, .why-section .text-link { color: var(--ink); }
    .why-brand, .why-number, .why-symbol { color: #85672F; }
    .why-list {
        padding: 0 26px;
        border: 1px solid rgba(92,64,51,.14);
        border-radius: 10px;
        background: rgba(252,251,247,.76);
        box-shadow: 0 16px 42px rgba(55,39,27,.09);
        backdrop-filter: blur(7px);
    }
    .why-item { border-color: rgba(92,64,51,.16); }
    .why-item p { color: #4F554F; }
    .brand-logo-footer {
        padding: 0;
        border: 0;
        border-radius: 0;
        background: transparent;
        box-shadow: none;
    }

    @media (max-width: 767.98px) {
        .brand-logo-header { width: 158px; }
        .brand-hero {
            min-height: auto;
            background-image:
                linear-gradient(90deg, rgba(246,245,239,.94) 0%, rgba(246,245,239,.82) 57%, rgba(246,245,239,.38) 100%),
                url("/images/intan-reflexy-hero.jpg");
            background-position: center, 58% center;
        }
        .brand-hero .min-vh-hero { min-height: 0; padding-top: 62px; padding-bottom: 38px; }
        .why-section {
            background-image:
                linear-gradient(90deg, rgba(246,245,239,.86) 0%, rgba(246,245,239,.76) 100%),
                url("/images/kenapa-kami-background.jpg");
            background-position: center, 62% center;
        }
        .why-list { padding-right: 16px; padding-left: 16px; background: rgba(252,251,247,.82); }
    }

/* Refined glass treatment for the "Kenapa Kami?" section. */
.why-section {
    background-image:
        linear-gradient(105deg, rgba(246,245,239,.36) 0%, rgba(246,245,239,.24) 54%, rgba(246,245,239,.18) 100%),
        url("/images/kenapa-kami-background.jpg");
    background-position: center, center 48%;
    background-size: cover;
    background-repeat: no-repeat;
}
.why-list {
    border: 1px solid rgba(255,255,255,.58);
    border-radius: 12px;
    background: rgba(252,251,247,.52);
    box-shadow: 0 18px 46px rgba(55,39,27,.12), inset 0 1px 0 rgba(255,255,255,.36);
    backdrop-filter: blur(12px) saturate(115%);
    -webkit-backdrop-filter: blur(12px) saturate(115%);
}
.why-item { border-color: rgba(92,64,51,.14); }
.why-item p { color: #4F554F; }

@media (max-width: 767.98px) {
    .why-section {
        background-image:
            linear-gradient(105deg, rgba(246,245,239,.42) 0%, rgba(246,245,239,.32) 100%),
            url("/images/kenapa-kami-background.jpg");
        background-position: center, 62% center;
    }
    .why-list { background: rgba(252,251,247,.58); }
}

.why-intro {
    padding: clamp(20px, 3vw, 34px);
    border: 1px solid rgba(255,255,255,.68);
    border-radius: 12px;
    background: rgba(252,251,247,.82);
    box-shadow: 0 16px 42px rgba(55,39,27,.1), inset 0 1px 0 rgba(255,255,255,.52);
    backdrop-filter: blur(12px) saturate(115%);
    -webkit-backdrop-filter: blur(12px) saturate(115%);
}
.why-intro .eyebrow { color: #5C4033; }
.why-intro h2 { color: #33251E; }
.why-intro h2 em { color: #76552F; }
.why-intro .why-brand { color: #72542F; }
.why-intro .text-link { color: #4A352A; }
.home-care-map-wrap {
    overflow: hidden;
    min-height: 280px;
    border: 1px solid rgba(92,64,51,.18);
    border-radius: 8px;
    background: #F6F5EF;
    box-shadow: 0 10px 28px rgba(54,70,57,.08);
}
.home-care-map-wrap iframe { display: block; width: 100%; height: 280px; border: 0; }
.home-care-map-wrap iframe[hidden] { display: none; }
.map-empty-state { display: grid; min-height: 280px; place-items: center; padding: 24px; color: #6D746E; font-size: 13px; text-align: center; }
.whatsapp-float { gap: 10px; }
.whatsapp-icon { width: 22px; height: 22px; flex: 0 0 22px; fill: currentColor; }
.whatsapp-float > span { font-size: 12px; font-weight: 750; white-space: nowrap; }

@media (max-width: 767.98px) {
    .why-intro { padding: 22px; background: rgba(252,251,247,.86); }
    .home-care-map-wrap, .home-care-map-wrap iframe, .map-empty-state { min-height: 240px; height: 240px; }
    .whatsapp-float {
        width: auto;
        height: 48px;
        justify-content: center;
        padding: 0 14px;
    }
    .whatsapp-float .whatsapp-icon { width: 21px; height: 21px; flex-basis: 21px; }
    .whatsapp-float > span:last-child { display: inline; font-size: 11px; }
}

/* Premium staff workspace and service catalogue */
:root {
    --admin-ink: #26342c;
    --admin-muted: #748078;
    --admin-surface: #fffefa;
    --admin-border: rgba(46, 75, 57, .12);
    --admin-shadow: 0 18px 48px rgba(40, 54, 43, .08);
}

.admin-page {
    width: min(1180px, calc(100% - 32px));
    margin: clamp(28px, 5vw, 64px) auto;
    color: var(--admin-ink);
    animation: admin-rise-in .55s ease both;
}
.admin-page__header {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 24px;
    margin-bottom: 28px;
}
.admin-page__header h1 { margin: 0 0 8px; color: #263d31; font-family: inherit; font-size: clamp(2rem, 4vw, 3rem); font-weight: 650; letter-spacing: -.04em; }
.admin-page__header p:not(.eyebrow) { max-width: 620px; margin: 0; color: var(--admin-muted); }
.admin-page .eyebrow { margin-bottom: 8px; color: #9a7840; font-size: .75rem; font-weight: 750; letter-spacing: .16em; text-transform: uppercase; }
.premium-table-wrap, .premium-form {
    overflow: hidden;
    border: 1px solid var(--admin-border);
    border-radius: 22px;
    background: var(--admin-surface);
    box-shadow: var(--admin-shadow);
}
.premium-table { width: 100%; border-collapse: collapse; }
.premium-table th { padding: 16px 18px; color: #69766d; background: #f5f5ee; font-size: .75rem; font-weight: 750; letter-spacing: .08em; text-align: left; text-transform: uppercase; white-space: nowrap; }
.premium-table td { padding: 16px 18px; border-top: 1px solid rgba(46, 75, 57, .08); color: #344239; vertical-align: middle; }
.premium-table tbody tr { transition: background .2s ease; }
.premium-table tbody tr:hover { background: #faf9f3; }
.premium-table td strong, .premium-table td small { display: block; }
.premium-table td small { margin-top: 4px; color: var(--admin-muted); }
.service-thumb { width: 64px; height: 52px; border-radius: 11px; object-fit: cover; }
.service-thumb--empty { display: inline-grid; place-items: center; width: 64px; color: #829087; background: #f1f1eb; font-size: .65rem; text-align: center; }
.status-pill { display: inline-flex; padding: 6px 10px; border-radius: 999px; font-size: .75rem; font-weight: 700; }
.status-pill--active { color: #246144; background: #e6f2e9; }
.status-pill--inactive { color: #805345; background: #f5eae5; }
.table-empty { padding: 36px !important; color: var(--admin-muted) !important; text-align: center; }
.table-actions { display: flex; align-items: center; gap: 8px; }
.table-actions form { margin: 0; }
.btn-sm { border-radius: 10px; }
.customer-search { display: flex; flex-wrap: wrap; gap: 10px; margin-bottom: 18px; }
.customer-search input { flex: 1 1 280px; min-height: 46px; padding: 10px 14px; border: 1px solid var(--admin-border); border-radius: 12px; background: white; }
.premium-form { padding: clamp(20px, 4vw, 38px); }
.form-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px; }
.form-field { display: grid; align-content: start; gap: 8px; color: #435248; font-size: .9rem; font-weight: 650; }
.form-field--wide { grid-column: 1 / -1; }
.form-field input, .form-field select, .form-field textarea { width: 100%; min-height: 46px; padding: 11px 13px; border: 1px solid rgba(46, 75, 57, .2); border-radius: 12px; outline: none; background: #fff; color: #28372e; font: inherit; font-weight: 400; transition: border-color .2s ease, box-shadow .2s ease; }
.form-field textarea { resize: vertical; }
.form-field input:focus, .form-field select:focus, .form-field textarea:focus { border-color: #7b9c7f; box-shadow: 0 0 0 4px rgba(69, 119, 83, .12); }
.field-hint { color: var(--admin-muted); font-size: .8rem; font-weight: 400; }
.field-error { color: #a23c36; font-weight: 500; }
.image-preview-wrap { min-height: 12px; }
.service-preview { display: block; max-width: min(100%, 440px); max-height: 270px; border-radius: 16px; object-fit: cover; box-shadow: 0 12px 28px rgba(35, 49, 39, .12); }
.form-actions { display: flex; justify-content: flex-end; gap: 10px; margin-top: 28px; }
.btn-primary, .btn-brand { border-color: #1e5942; background: #1e5942; }
.btn-primary:hover, .btn-brand:hover { border-color: #174632; background: #174632; }
.pagination-wrap { margin-top: 20px; }
.service-card { position: relative; overflow: hidden; transition: transform .35s ease, box-shadow .35s ease; }
.service-card:hover { transform: translateY(-5px); box-shadow: 0 22px 48px rgba(40, 54, 43, .13); }
.service-card-image { width: 100%; height: 190px; margin-bottom: 18px; border-radius: 14px; object-fit: cover; }
.service-card-description { position: relative; z-index: 1; color: var(--admin-muted); font-size: .9rem; }
.service-card-bottom, .service-card h3, .service-card-description { position: relative; z-index: 1; }
.alert { border-radius: 14px; }
.site-footer {
    background: linear-gradient(118deg, #3d2922 0%, #67462f 52%, #a98248 100%);
    color: #fff;
}
.site-footer .footer-copy,
.site-footer .footer-heading,
.site-footer .footer-bottom,
.site-footer .col-lg-3 > a,
.site-footer .footer-contact {
    color: #fff;
}
.site-footer .footer-copy { color: rgba(255,255,255,.88); }
.site-footer .footer-bottom { border-color: rgba(255,255,255,.38) !important; }
.site-footer .col-lg-3 > a:hover,
.site-footer .footer-contact:hover { color: #fff; text-decoration: underline; }
.site-footer .social-links a { border-color: rgba(255,255,255,.8); color: #fff; }
.site-footer .social-links a:hover { border-color: #fff; background: rgba(255,255,255,.18); color: #fff; }
.member-toggle { display: flex; flex-direction: row; align-items: center; gap: 12px; padding: 16px; border: 1px solid var(--admin-border); border-radius: 14px; background: #faf9f3; }
.member-toggle > input[type="checkbox"] { width: 20px; height: 20px; accent-color: #1e5942; }
.member-toggle span strong, .member-toggle span small { display: block; }
.member-toggle span small { margin-top: 4px; color: var(--admin-muted); font-weight: 400; }
.brand-hero .btn-glass { font-size: .95rem; }
.brand-hero .eyebrow { animation: premium-enter .65s ease both; }
.brand-hero h1 { animation: premium-enter .75s .08s ease both; }
.brand-hero .hero-lead { animation: premium-enter .75s .16s ease both; }
.brand-hero .btn, .brand-hero .hero-whatsapp { animation: premium-enter .75s .24s ease both; }
.hours-card { animation: premium-enter .7s ease both; }
.services-section .row > div:nth-child(3n + 1) .service-card { animation: premium-enter .65s .04s ease both; }
.services-section .row > div:nth-child(3n + 2) .service-card { animation: premium-enter .65s .12s ease both; }
.services-section .row > div:nth-child(3n) .service-card { animation: premium-enter .65s .2s ease both; }
.staff-navbar + main .card,
.staff-navbar + main .panel-form-card {
    overflow: hidden;
    border: 1px solid var(--admin-border);
    border-radius: 20px;
    background: var(--admin-surface);
    box-shadow: var(--admin-shadow);
}
.staff-navbar + main .table { --bs-table-bg: transparent; }
@keyframes premium-enter {
    from { opacity: 0; transform: translateY(14px); }
    to { opacity: 1; transform: translateY(0); }
}
@keyframes admin-rise-in {
    from { opacity: 0; transform: translateY(12px); }
    to { opacity: 1; transform: translateY(0); }
}
@media (max-width: 767.98px) {
    .admin-page__header { align-items: flex-start; flex-direction: column; }
    .premium-table-wrap { overflow-x: auto; }
    .premium-table { min-width: 680px; }
    .form-grid { grid-template-columns: 1fr; }
    .form-field--wide { grid-column: auto; }
}
@media (prefers-reduced-motion: reduce) {
    *, *::before, *::after { scroll-behavior: auto !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
}

.booking-art-link {
    display: inline-flex;
    flex: 0 1 auto;
    align-items: center;
    justify-content: center;
    padding: 0;
    border: 0;
    border-radius: 0;
    background: transparent !important;
    box-shadow: none !important;
    line-height: 0;
    text-decoration: none;
    transition: transform .24s ease, filter .24s ease;
}
.booking-art-link img {
    display: block;
    width: 100%;
    height: auto;
    background: transparent;
}
.booking-art-link:hover,
.booking-art-link:focus-visible {
    transform: translateY(-3px) scale(1.015);
    filter: drop-shadow(0 10px 16px rgba(64, 43, 25, .2));
}
.booking-art-link:focus-visible { outline: 3px solid #b78e45; outline-offset: 4px; }
.booking-art-link--nav,
.booking-art-link--hero,
.booking-art-link--section,
.booking-art-link--switch,
.consultation-art-link { width: 148px; max-width: 100%; }
.booking-art-link--switch.is-selected { filter: drop-shadow(0 6px 12px rgba(64, 43, 25, .18)); }
.booking-switch { align-items: center; }
.brand-hero { isolation: isolate; }
.brand-hero::before {
    position: absolute;
    z-index: -1;
    inset: -25%;
    background:
        radial-gradient(ellipse at 14% 18%, rgba(214,179,108,.20), transparent 34%),
        radial-gradient(ellipse at 78% 76%, rgba(92,64,51,.10), transparent 40%);
    content: "";
    pointer-events: none;
    animation: hero-light-drift 12s ease-in-out infinite alternate;
}
.hero-heading__line { display: block; animation: hero-title-rise .85s cubic-bezier(.2,.7,.25,1) both; }
.hero-heading__line--accent { animation-delay: .16s; }
.brand-hero .hero-heading__line--accent em {
    background: linear-gradient(105deg, #5c4033 12%, #a98248 38%, #d6b36c 52%, #67462f 72%, #5c4033 92%);
    background-size: 220% 100%;
    background-clip: text;
    color: transparent;
    -webkit-background-clip: text;
    animation: hero-gold-sheen 7s ease-in-out .8s infinite;
}
.brand-hero .hero-lead { animation: hero-title-rise .8s .24s cubic-bezier(.2,.7,.25,1) both; }
.brand-hero .hero-whatsapp { animation: hero-title-rise .8s .38s cubic-bezier(.2,.7,.25,1) both; }
.site-footer .footer-address { max-width: 100%; align-items: flex-start; font-size: .88rem; line-height: 1.65; }
.footer-credit { color: #fff; font-weight: 700; letter-spacing: .04em; }
@keyframes hero-title-rise {
    from { opacity: 0; transform: translate3d(0, 20px, 0); filter: blur(5px); }
    to { opacity: 1; transform: translate3d(0, 0, 0); filter: blur(0); }
}
@keyframes hero-gold-sheen {
    0%, 20% { background-position: 100% 50%; }
    72%, 100% { background-position: 0% 50%; }
}
@keyframes hero-light-drift {
    from { transform: translate3d(-1%, -1%, 0) scale(1); }
    to { transform: translate3d(1%, 1%, 0) scale(1.05); }
}
@media (max-width: 767.98px) {
    .booking-art-link--nav,
    .booking-art-link--hero,
    .booking-art-link--section,
    .booking-art-link--switch,
    .consultation-art-link { width: min(58vw, 190px); }
    .hero-heading__line { line-height: 1.08; }
}
@media (prefers-reduced-motion: reduce) {
    .brand-hero::before,
    .hero-heading__line,
    .brand-hero .hero-heading__line--accent em,
    .brand-hero .hero-lead,
    .brand-hero .hero-whatsapp { animation: none !important; }
}
