
@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:wght@300;400;500&family=Playfair+Display:ital,wght@0,400;0,500;0,600;0,700;1,400;1,600&family=Plus+Jakarta+Sans:wght@300;400;500;600;700;800&display=swap');

:root{
  --color-bg:#F7EFE5;
  --color-bg-soft:#FFF9F1;
  --color-surface:#FFF9F1;
  --color-surface-clean:#FFFFFF;
  --color-surface-2:#EFE0CF;
  --color-surface-blush:#F7EFE5;
  --color-heading:#3B241B;
  --color-text:#4F3A30;
  --color-muted:#7B675C;
  --color-primary:#4A2E23;
  --color-primary-hover:#2F1C15;
  --color-accent:#B8956A;
  --color-sage:#8F967C;
  --color-border:#D8C4AD;
  --color-shadow:rgba(75,46,36,.12);
  --cream:var(--color-bg-soft);
  --cream-2:var(--color-bg);
  --cream-3:#F1DECE;
  --cream-4:var(--color-surface);
  --white:#FFFFFF;
  --sage:var(--color-primary);
  --sage-dark:var(--color-heading);
  --sage-light:var(--color-border);
  --sage-soft:var(--color-surface-blush);
  --brown:var(--color-muted);
  --brown-dark:var(--color-heading);
  --taupe:var(--color-muted);
  --charcoal:var(--color-text);
  --line:var(--color-border);
  --blush:var(--color-surface-blush);
  --shadow:0 26px 80px var(--color-shadow);
  --shadow-soft:0 16px 42px rgba(75,46,36,.085);
  --shadow-hover:0 34px 88px rgba(75,46,36,.16);
  --radius-xl:34px;
  --radius-lg:24px;
  --radius-md:18px;
  --container:1180px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--cream);color:var(--brown-dark);font-family:'Plus Jakarta Sans',system-ui,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;line-height:1.6;overflow-x:hidden}
body.menu-open{overflow:hidden}
img{display:block;max-width:100%}
a{color:inherit;text-decoration:none}
button,input,select,textarea{font:inherit}
.container{width:min(var(--container),calc(100% - 48px));margin-inline:auto}
.skip-link{position:absolute;left:18px;top:-80px;z-index:9999;background:var(--sage);color:white;padding:12px 18px;border-radius:999px;transition:.2s}
.skip-link:focus{top:18px}
.eyebrow{display:inline-flex;align-items:center;gap:10px;text-transform:uppercase;letter-spacing:.18em;font-size:.72rem;font-weight:800;color:var(--sage)}
.eyebrow:before{content:"";width:36px;height:1px;background:currentColor;display:inline-block}
h1,h2,h3,.logo,.display{font-family:'Playfair Display',Georgia,serif;line-height:1.05;font-weight:600;margin:0;color:var(--brown-dark)}
p{margin:0;color:var(--brown)}
.section{padding:112px 0}
.section-heading{max-width:820px;margin:0 auto 54px;text-align:center}
.section-heading h2{font-size:clamp(2.35rem,5vw,4.7rem);letter-spacing:-.04em;margin-top:14px}
.section-heading p{font-size:1.08rem;margin:18px auto 0;max-width:650px}.text-left{text-align:left}.section-heading.text-left{margin-inline:0}.section-heading.text-left p{margin-left:0}
.btn{--btn-bg:var(--sage);--btn-color:white;display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:48px;padding:14px 22px;border-radius:999px;background:var(--btn-bg);color:var(--btn-color);font-weight:800;font-size:.78rem;letter-spacing:.10em;text-transform:uppercase;border:1px solid transparent;cursor:pointer;transition:transform .28s ease,box-shadow .28s ease,background .28s ease,color .28s ease,border-color .28s ease;box-shadow:0 12px 32px rgba(74,46,35,.22)}
.btn:hover{transform:translateY(-3px);box-shadow:0 18px 44px rgba(74,46,35,.28)}
.btn:active{transform:translateY(0)}
.btn.secondary{--btn-bg:rgba(255,255,255,.45);--btn-color:var(--sage);border-color:rgba(74,46,35,.20);box-shadow:none;backdrop-filter:blur(10px)}
.btn.secondary:hover{background:white;border-color:var(--sage)}
.btn.ghost{--btn-bg:transparent;--btn-color:var(--sage);box-shadow:none;border-color:var(--line)}
.btn.full{width:100%}.btn .arrow{transition:transform .25s ease}.btn:hover .arrow{transform:translateX(4px)}

/* Header */
.site-header{position:sticky;top:0;z-index:1000;background:rgba(250,249,247,.75);backdrop-filter:blur(18px);border-bottom:1px solid rgba(224,211,196,.55);transition:box-shadow .25s ease,background .25s ease}.site-header.scrolled{box-shadow:0 16px 38px rgba(74,46,35,.08);background:rgba(250,249,247,.93)}
.nav{height:82px;display:flex;align-items:center;justify-content:space-between;gap:26px}.logo{font-size:1.55rem;font-style:italic;letter-spacing:-.04em;color:var(--sage);white-space:nowrap}.nav-links{display:flex;align-items:center;gap:28px}.nav-links a:not(.btn){font-size:.75rem;text-transform:uppercase;letter-spacing:.13em;font-weight:800;color:var(--brown);position:relative}.nav-links a:not(.btn):after{content:"";position:absolute;left:0;bottom:-8px;width:0;height:1px;background:var(--sage);transition:width .25s}.nav-links a:not(.btn):hover:after{width:100%}.mobile-menu-btn{display:none;width:46px;height:46px;border-radius:50%;border:1px solid var(--line);background:white;color:var(--sage);font-size:1.25rem;cursor:pointer}

/* Hero */
.hero{position:relative;min-height:calc(100vh - 82px);padding:70px 0 80px;display:flex;align-items:center;overflow:hidden;background:radial-gradient(circle at 16% 20%,rgba(248,243,239,.95),transparent 29%),linear-gradient(115deg,#FAF9F7 0%,#FFFFFF 42%,#F8F3EF 100%)}
.hero:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(250,249,247,.96) 0%,rgba(250,249,247,.78) 41%,rgba(250,249,247,.12) 72%,rgba(250,249,247,.05) 100%);z-index:1}.hero:after{content:"A|Y";position:absolute;right:-50px;bottom:-80px;font-family:'Playfair Display',Georgia,serif;font-size:clamp(12rem,23vw,23rem);line-height:1;color:rgba(74,46,35,.065);font-style:italic;z-index:1}.hero-bg{position:absolute;inset:0;background-image:none;background-size:cover;background-position:center right;transform:scale(1.02);filter:saturate(.88) contrast(.98);z-index:0}.hero-grid{position:relative;z-index:2;display:grid;grid-template-columns:1.02fr .98fr;gap:54px;align-items:center}.hero-copy{max-width:650px}.availability-pill{display:inline-flex;align-items:center;gap:10px;padding:10px 16px;border-radius:999px;background:rgba(255,255,255,.7);border:1px solid rgba(74,46,35,.14);box-shadow:var(--shadow-soft);color:var(--sage);font-size:.78rem;font-weight:800;text-transform:uppercase;letter-spacing:.09em;margin-bottom:28px}.availability-pill span{width:8px;height:8px;background:var(--sage-light);border-radius:50%;box-shadow:0 0 0 5px rgba(216,196,173,.20)}.hero h1{font-size:clamp(4rem,8.3vw,8.7rem);letter-spacing:-.075em;color:var(--sage-dark);max-width:760px}.hero .lead{font-size:clamp(1.05rem,1.4vw,1.28rem);max-width:570px;margin:28px 0 32px;color:var(--brown);line-height:1.8}.hero-actions{display:flex;flex-wrap:wrap;gap:14px}.hero-stats{display:grid;grid-template-columns:repeat(3,minmax(120px,1fr));gap:14px;max-width:560px;margin-top:42px}.stat-card{background:rgba(255,255,255,.54);border:1px solid rgba(255,255,255,.65);box-shadow:var(--shadow-soft);border-radius:22px;padding:18px 16px;backdrop-filter:blur(14px)}.stat-card strong{font-family:'Playfair Display',Georgia,serif;font-size:1.95rem;line-height:1;color:var(--sage);display:block}.stat-card span{display:block;font-size:.72rem;text-transform:uppercase;letter-spacing:.10em;font-weight:800;color:var(--brown);margin-top:7px}.hero-visual{position:relative;min-height:580px}.hero-card{position:absolute;border-radius:36px;overflow:hidden;box-shadow:var(--shadow);border:9px solid rgba(255,255,255,.48);background:white}.hero-card.large{right:0;top:0;width:min(82%,520px);height:620px}.hero-card.small{left:0;bottom:30px;width:48%;height:300px;transform:rotate(-2deg)}.hero-card img{width:100%;height:100%;object-fit:cover}.floating-note{position:absolute;right:30px;bottom:0;width:245px;background:rgba(255,255,255,.84);border:1px solid rgba(255,255,255,.80);border-radius:26px;padding:20px;box-shadow:var(--shadow);backdrop-filter:blur(18px)}.floating-note .icon{width:42px;height:42px;border-radius:50%;display:grid;place-items:center;background:var(--sage-soft);color:var(--sage);margin-bottom:12px}.floating-note strong{display:block;color:var(--brown-dark);font-size:.94rem}.floating-note span{display:block;color:var(--brown);font-size:.82rem;margin-top:4px}.scroll-cue{position:absolute;left:50%;bottom:24px;z-index:3;transform:translateX(-50%);color:var(--sage);font-size:.72rem;letter-spacing:.16em;text-transform:uppercase;font-weight:800;display:flex;gap:9px;align-items:center}.scroll-cue i{width:1px;height:34px;background:var(--sage);display:block;animation:drop 1.6s infinite}@keyframes drop{0%{transform:scaleY(.2);transform-origin:top}50%{transform:scaleY(1)}100%{transform:scaleY(.2);transform-origin:bottom}}

/* quick bar */
.quick-bar{position:relative;z-index:4;margin-top:-38px}.quick-panel{display:grid;grid-template-columns:1fr 1fr 1fr auto;gap:10px;background:rgba(255,255,255,.84);border:1px solid rgba(255,255,255,.86);box-shadow:var(--shadow);backdrop-filter:blur(18px);border-radius:28px;padding:16px}.quick-field{padding:14px 16px;border:1px solid var(--line);border-radius:18px;background:var(--cream);min-width:0}.quick-field span{display:block;color:var(--taupe);font-size:.68rem;text-transform:uppercase;letter-spacing:.12em;font-weight:800}.quick-field strong{display:block;color:var(--brown-dark);font-size:.93rem;margin-top:4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}

/* Services */
.services{background:linear-gradient(180deg,var(--cream) 0%,#fff 100%)}.service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}.service-card{position:relative;min-height:520px;border-radius:32px;overflow:hidden;background:var(--cream-2);box-shadow:var(--shadow-soft);transition:transform .35s ease,box-shadow .35s ease}.service-card:hover{transform:translateY(-9px);box-shadow:var(--shadow-hover)}.service-card.featured{grid-column:span 1}.service-image{height:295px;overflow:hidden;background:linear-gradient(135deg,var(--cream-3),var(--sage-soft))}.service-image img{width:100%;height:100%;object-fit:cover;transition:transform .8s ease}.service-card:hover .service-image img{transform:scale(1.09)}.service-content{padding:26px}.service-top{display:flex;justify-content:space-between;gap:16px;align-items:flex-start;margin-bottom:14px}.service-top h3{font-size:1.8rem;letter-spacing:-.03em}.price{display:inline-flex;padding:9px 12px;border-radius:999px;background:white;color:var(--sage);font-size:.76rem;font-weight:800;letter-spacing:.05em;white-space:nowrap}.service-content p{font-size:.95rem;min-height:76px}.service-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:22px}.mini-btn{border:1px solid var(--line);background:white;color:var(--sage);border-radius:999px;padding:10px 13px;font-size:.7rem;font-weight:800;text-transform:uppercase;letter-spacing:.08em;cursor:pointer;transition:.25s}.mini-btn:hover{background:var(--sage);color:white;border-color:var(--sage);transform:translateY(-2px)}.menu-strip{margin-top:28px;display:grid;grid-template-columns:repeat(5,1fr);gap:12px}.menu-pill{display:flex;align-items:center;justify-content:space-between;gap:12px;background:var(--cream-2);border:1px solid var(--line);border-radius:20px;padding:16px 16px;transition:.25s;cursor:pointer}.menu-pill:hover{background:white;transform:translateY(-3px);box-shadow:var(--shadow-soft)}.menu-pill strong{font-family:'Playfair Display',Georgia,serif;font-size:1.12rem;color:var(--brown-dark)}.menu-pill span{color:var(--sage);font-size:.82rem;font-weight:800}.menu-pill small{display:block;color:var(--taupe);font-size:.72rem;margin-top:2px}.service-note{display:flex;align-items:center;justify-content:center;gap:10px;margin-top:28px;color:var(--taupe);font-size:.92rem}.service-note i{width:7px;height:7px;border-radius:50%;background:var(--sage-light)}

/* Quiz */
.quiz-section{background:var(--sage-dark);color:white;position:relative;overflow:hidden}.quiz-section:before{content:"";position:absolute;inset:-40% -10% auto auto;width:600px;height:600px;border-radius:50%;background:rgba(248,243,239,.10);filter:blur(2px)}.quiz-grid{position:relative;z-index:2;display:grid;grid-template-columns:.9fr 1.1fr;gap:54px;align-items:center}.quiz-section h2,.quiz-section p,.quiz-section .eyebrow{color:white}.quiz-card{background:rgba(255,255,255,.10);border:1px solid rgba(255,255,255,.16);backdrop-filter:blur(18px);border-radius:34px;padding:30px;box-shadow:0 28px 70px rgba(0,0,0,.18)}.quiz-options{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin-top:24px}.quiz-option{background:rgba(255,255,255,.10);border:1px solid rgba(255,255,255,.18);border-radius:22px;padding:18px;text-align:left;color:white;cursor:pointer;transition:.25s}.quiz-option strong{display:block;font-family:'Playfair Display',Georgia,serif;font-size:1.35rem}.quiz-option span{display:block;color:rgba(255,255,255,.76);font-size:.85rem;margin-top:4px}.quiz-option:hover,.quiz-option.active{background:var(--cream);color:var(--brown-dark);transform:translateY(-4px)}.quiz-option:hover span,.quiz-option.active span{color:var(--brown)}.recommendation{margin-top:24px;padding:22px;border-radius:24px;background:var(--cream);color:var(--brown-dark);display:none}.recommendation.is-visible{display:block;animation:fadeUp .3s ease}.recommendation h3{font-size:1.65rem;margin-bottom:6px}.recommendation p{color:var(--brown);margin-bottom:18px}

/* About */
.about{background:var(--cream-2);position:relative;overflow:hidden}.about-grid{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:center}.image-stack{position:relative;min-height:620px}.stack-img{position:absolute;border-radius:32px;overflow:hidden;box-shadow:var(--shadow);background:white}.stack-img.one{left:0;top:0;width:78%;height:520px;transform:rotate(-1.4deg)}.stack-img.two{right:0;bottom:0;width:46%;height:310px;border:10px solid var(--cream-2);transform:rotate(3deg)}.stack-img img{width:100%;height:100%;object-fit:cover}.about-content h2{font-size:clamp(2.45rem,5vw,4.55rem);letter-spacing:-.04em;margin:14px 0 24px}.about-content .lead{font-size:1.12rem;line-height:1.9}.signature-card{margin-top:28px;padding:26px;border-radius:28px;background:rgba(255,255,255,.55);border:1px solid rgba(255,255,255,.8);box-shadow:var(--shadow-soft)}.signature-card p{font-family:'Playfair Display',Georgia,serif;font-size:1.55rem;font-style:italic;color:var(--sage-dark);line-height:1.35}.benefits-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:36px}.benefit{padding:20px;border-radius:22px;background:rgba(255,255,255,.58);border:1px solid rgba(255,255,255,.8)}.benefit b{display:block;color:var(--sage);font-size:1.3rem}.benefit span{font-size:.79rem;text-transform:uppercase;letter-spacing:.09em;font-weight:800;color:var(--brown)}

/* Process */
.process-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.process-card{position:relative;padding:28px 22px;border-radius:28px;background:white;border:1px solid var(--line);box-shadow:var(--shadow-soft);overflow:hidden}.process-card:after{content:"";position:absolute;right:-38px;top:-38px;width:110px;height:110px;border-radius:50%;background:var(--sage-soft);opacity:.65}.process-card .num{font-family:'Playfair Display',Georgia,serif;font-size:3rem;color:var(--sage-light);line-height:1}.process-card h3{font-size:1.35rem;margin:14px 0 9px}.process-card p{font-size:.9rem}

/* Testimonials */
.testimonials{background:linear-gradient(180deg,var(--cream-4),var(--cream));overflow:hidden}.testimonial-shell{position:relative;max-width:980px;margin-inline:auto}.testimonial-card{display:none;background:white;border-radius:36px;padding:48px;box-shadow:var(--shadow);border:1px solid rgba(255,255,255,.86)}.testimonial-card.active{display:grid;grid-template-columns:86px 1fr;gap:26px;align-items:center;animation:fadeUp .45s ease}.client-img{width:86px;height:86px;border-radius:50%;overflow:hidden;border:5px solid var(--cream-2)}.client-img img{width:100%;height:100%;object-fit:cover}.quote{font-family:'Playfair Display',Georgia,serif;font-size:clamp(1.7rem,3.2vw,3rem);line-height:1.16;color:var(--brown-dark);font-style:italic}.client-meta{margin-top:18px;color:var(--sage);font-size:.82rem;text-transform:uppercase;letter-spacing:.11em;font-weight:800}.slider-controls{display:flex;align-items:center;justify-content:center;gap:12px;margin-top:28px}.circle-btn{width:46px;height:46px;border-radius:50%;border:1px solid var(--line);background:white;color:var(--sage);cursor:pointer;font-weight:800;transition:.25s}.circle-btn:hover{background:var(--sage);color:white}.dots{display:flex;gap:8px}.dot{width:9px;height:9px;border-radius:50%;border:0;background:var(--line);cursor:pointer}.dot.active{background:var(--sage);width:28px;border-radius:99px}

/* Booking */
.booking{background:var(--cream)}.booking-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:56px;align-items:start}.booking-info{position:sticky;top:110px}.booking-info h2{font-size:clamp(2.45rem,5vw,4.5rem);letter-spacing:-.04em;margin:14px 0 18px}.booking-list{display:grid;gap:14px;margin-top:28px}.booking-item{display:flex;gap:14px;align-items:flex-start;padding:17px;border-radius:20px;background:white;border:1px solid var(--line);box-shadow:0 10px 30px rgba(74,46,35,.06)}.booking-icon{width:38px;height:38px;border-radius:50%;background:var(--sage-soft);display:grid;place-items:center;color:var(--sage);flex:0 0 auto}.booking-item strong{display:block;color:var(--brown-dark)}.booking-item span{display:block;color:var(--brown);font-size:.88rem;margin-top:2px}.deposit-card{margin-top:20px;border-radius:28px;background:var(--sage-dark);color:white;padding:24px;box-shadow:var(--shadow-soft)}.deposit-card p,.deposit-card h3{color:white}.deposit-card h3{font-size:1.7rem;margin-bottom:8px}.form-card{background:white;border-radius:38px;padding:34px;box-shadow:var(--shadow);border:1px solid rgba(255,255,255,.85)}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:18px}.field{margin-bottom:18px}.field label{display:block;font-size:.72rem;text-transform:uppercase;letter-spacing:.11em;font-weight:800;color:var(--brown);margin:0 0 9px}.field input,.field select,.field textarea{width:100%;border:1px solid var(--line);background:#FAF9F7;border-radius:18px;padding:15px 16px;outline:0;color:var(--brown-dark);transition:border-color .2s ease,box-shadow .2s ease,background .2s ease}.field textarea{min-height:110px;resize:vertical}.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--sage);background:white;box-shadow:0 0 0 4px rgba(74,46,35,.10)}.field.error input,.field.error select,.field.error textarea{border-color:#2F1C15}.error-message{display:none;color:#2F1C15;font-size:.78rem;margin-top:6px}.field.error .error-message{display:block}.form-actions{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:8px}.form-note{font-size:.82rem;color:var(--taupe);margin-top:14px}.success-box{display:none;margin-top:18px;padding:18px;border-radius:20px;background:var(--sage-soft);color:var(--sage-dark);font-weight:700}.success-box.is-visible{display:block}.toast{position:fixed;left:50%;bottom:28px;transform:translate(-50%,120%);z-index:9999;background:var(--charcoal);color:white;padding:14px 18px;border-radius:999px;box-shadow:var(--shadow);transition:.3s}.toast.is-visible{transform:translate(-50%,0)}

/* FAQ Contact */
.faq-contact{background:linear-gradient(180deg,#fff 0%,var(--cream-2) 100%)}.faq-contact-grid{display:grid;grid-template-columns:.95fr 1.05fr;gap:54px;align-items:start}.faq-list{display:grid;gap:13px}.faq-item{border-radius:22px;background:white;border:1px solid var(--line);box-shadow:0 12px 30px rgba(74,46,35,.06);overflow:hidden}.faq-trigger{width:100%;display:flex;justify-content:space-between;align-items:center;gap:18px;text-align:left;border:0;background:transparent;color:var(--brown-dark);padding:20px 22px;cursor:pointer;font-weight:800}.faq-trigger span:last-child{color:var(--sage);font-size:1.4rem;transition:.25s}.faq-item.open .faq-trigger span:last-child{transform:rotate(45deg)}.faq-panel{max-height:0;overflow:hidden;transition:max-height .3s ease}.faq-panel p{padding:0 22px 20px;color:var(--brown)}.contact-card{background:var(--brown-dark);border-radius:36px;overflow:hidden;box-shadow:var(--shadow);color:white}.map{height:270px;background:linear-gradient(135deg,rgba(250,249,247,.25),rgba(216,196,173,.35)),url('https://lh3.googleusercontent.com/aida-public/AB6AXuCSoA_Agm2j37qGL3jnAJuji6ay3GDBf5C3OQpkyzoWO9GVFNevQfTR9xkO8u0jkab7b1hGvNRP4P-lEK3zdYr7EQRQ-5h6qZ8uriqA8UWAqMBrXJile5gYypqMgXlI3EF8zCmYJB1S5AziSfbA6mqz9AtjMIMhSTlz1XHCnlOGqYHk4iu-bKxRkQ_MaMecmDrjnzwlyBujWqf63yzHuLi5bZqPsoFvU_NH46AhdKiCMUM_-js6FZzAqvK09AuGhyx_c4h6OMtohrby');background-size:cover;background-position:center;filter:saturate(.75);position:relative}.map:after{content:"A|Y";position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:64px;height:64px;border-radius:50%;display:grid;place-items:center;background:var(--sage);color:white;font-family:'Playfair Display',Georgia,serif;font-weight:700;box-shadow:0 0 0 12px rgba(74,46,35,.20)}.contact-body{padding:30px}.contact-body h3{color:white;font-size:2.2rem;margin-bottom:18px}.contact-row{display:flex;gap:14px;align-items:flex-start;padding:14px 0;border-top:1px solid rgba(255,255,255,.12)}.contact-row:first-of-type{border-top:0}.contact-row i{width:38px;height:38px;border-radius:50%;background:rgba(255,255,255,.10);display:grid;place-items:center;flex:0 0 auto;color:var(--sage-soft);font-style:normal}.contact-row strong{display:block;color:white;font-size:.75rem;text-transform:uppercase;letter-spacing:.12em}.contact-row a,.contact-row span{display:block;color:rgba(255,255,255,.72);margin-top:3px}.socials{display:flex;gap:10px;margin-top:22px}.socials a{display:inline-flex;align-items:center;justify-content:center;border:1px solid rgba(255,255,255,.18);border-radius:999px;padding:10px 14px;color:white;font-size:.78rem;text-transform:uppercase;letter-spacing:.08em;font-weight:800;transition:.25s}.socials a:hover{background:white;color:var(--brown-dark)}

/* Footer */
.footer{background:var(--brown-dark);color:white;padding:70px 0 28px}.footer-grid{display:grid;grid-template-columns:1.2fr .8fr .8fr 1fr;gap:32px}.footer .logo{color:white}.footer p,.footer a{color:rgba(255,255,255,.70)}.footer h4{font-size:.78rem;text-transform:uppercase;letter-spacing:.13em;color:white;margin:0 0 18px}.footer ul{list-style:none;padding:0;margin:0;display:grid;gap:9px}.newsletter{display:flex;border-bottom:1px solid rgba(255,255,255,.20);padding-bottom:8px}.newsletter input{flex:1;background:transparent;border:0;color:white;outline:0}.newsletter button{border:0;background:transparent;color:white;cursor:pointer}.copyright{margin-top:46px;padding-top:24px;border-top:1px solid rgba(255,255,255,.10);display:flex;justify-content:space-between;gap:16px;color:rgba(255,255,255,.48);font-size:.82rem}.float-book{position:fixed;right:18px;bottom:18px;z-index:999;display:none}

/* Modal */
.modal{position:fixed;inset:0;z-index:5000;display:none;align-items:center;justify-content:center;padding:22px;background:rgba(33,27,18,.45);backdrop-filter:blur(8px)}.modal.is-open{display:flex}.modal-card{width:min(540px,100%);border-radius:32px;background:var(--cream);box-shadow:var(--shadow-hover);overflow:hidden}.modal-header{padding:26px 28px;background:var(--sage);color:white;display:flex;justify-content:space-between;align-items:center}.modal-header h3{color:white;font-size:1.8rem}.modal-close{border:0;background:rgba(255,255,255,.16);color:white;border-radius:50%;width:40px;height:40px;cursor:pointer}.modal-body{padding:28px}.modal-summary{display:grid;gap:10px;margin:18px 0 24px}.modal-summary div{display:flex;justify-content:space-between;gap:16px;border-bottom:1px solid var(--line);padding-bottom:10px}.modal-summary strong{color:var(--brown-dark)}.modal-summary span{color:var(--brown);text-align:right}

/* Service pages */
.page-hero{padding:80px 0 90px;background:linear-gradient(115deg,var(--cream),var(--cream-2));overflow:hidden}.page-grid{display:grid;grid-template-columns:1fr .9fr;gap:56px;align-items:center}.page-copy h1{font-size:clamp(3.4rem,7vw,7rem);letter-spacing:-.06em;color:var(--sage-dark);margin:16px 0 22px}.page-copy .lead{font-size:1.16rem;line-height:1.85}.page-media{position:relative;min-height:550px}.page-media .main-img{height:540px;border-radius:38px;overflow:hidden;box-shadow:var(--shadow);border:10px solid rgba(255,255,255,.6)}.page-media img{width:100%;height:100%;object-fit:cover}.detail-card{position:absolute;left:-18px;bottom:28px;width:280px;background:rgba(255,255,255,.88);backdrop-filter:blur(18px);padding:22px;border-radius:26px;box-shadow:var(--shadow-soft);border:1px solid rgba(255,255,255,.9)}.detail-card h3{font-size:1.4rem;margin-bottom:8px}.pill-list{display:flex;gap:10px;flex-wrap:wrap;list-style:none;padding:0;margin:26px 0}.pill-list li{background:white;border:1px solid var(--line);border-radius:999px;padding:10px 14px;color:var(--sage);font-weight:800;font-size:.78rem;text-transform:uppercase;letter-spacing:.08em}.included-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.included-card{padding:24px;border-radius:26px;background:white;border:1px solid var(--line);box-shadow:var(--shadow-soft)}.included-card h3{font-size:1.45rem;margin-bottom:8px}.backbar{background:white;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:18px 0}.backbar-inner{display:flex;justify-content:space-between;align-items:center;gap:18px}

.reveal{opacity:0;transform:translateY(26px);transition:opacity .7s ease,transform .7s ease}.reveal.is-visible{opacity:1;transform:none}@keyframes fadeUp{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}

@media (max-width: 1020px){
  .hero-grid,.about-grid,.booking-grid,.faq-contact-grid,.quiz-grid,.page-grid{grid-template-columns:1fr}.hero-visual{min-height:480px}.hero-card.large{width:70%;height:480px}.hero-card.small{width:38%;height:250px}.quick-panel{grid-template-columns:1fr 1fr}.quick-panel .btn{grid-column:span 2}.service-grid{grid-template-columns:repeat(2,1fr)}.menu-strip{grid-template-columns:repeat(2,1fr)}.process-grid,.included-grid{grid-template-columns:repeat(2,1fr)}.booking-info{position:static}.footer-grid{grid-template-columns:1fr 1fr}.page-media{min-height:440px}.page-media .main-img{height:420px}
}
@media (max-width: 780px){
  .container{width:min(100% - 34px,var(--container))}.section{padding:76px 0}.nav{height:72px}.mobile-menu-btn{display:grid;place-items:center}.nav-links{position:fixed;left:17px;right:17px;top:82px;display:grid;gap:2px;background:rgba(250,249,247,.97);border:1px solid var(--line);border-radius:28px;padding:16px;box-shadow:var(--shadow);opacity:0;visibility:hidden;transform:translateY(-12px);transition:.25s}.nav-links.is-open{opacity:1;visibility:visible;transform:none}.nav-links a{padding:13px 12px}.nav-links .btn{width:100%;margin-top:6px}.hero{min-height:auto;padding:58px 0 80px}.hero:before{background:rgba(250,249,247,.74)}.hero-grid{gap:30px}.hero h1{font-size:clamp(3.6rem,16vw,5.6rem)}.hero-stats{grid-template-columns:1fr}.hero-visual{display:none}.quick-bar{margin-top:0;background:var(--cream);padding:20px 0}.quick-panel{grid-template-columns:1fr;border-radius:24px}.quick-panel .btn{grid-column:auto}.service-grid,.menu-strip,.process-grid,.benefits-grid,.included-grid{grid-template-columns:1fr}.service-card{min-height:auto}.section-heading h2,.about-content h2,.booking-info h2{font-size:2.65rem}.quiz-options{grid-template-columns:1fr}.image-stack{min-height:430px}.stack-img.one{width:88%;height:380px}.stack-img.two{width:48%;height:210px}.testimonial-card.active{grid-template-columns:1fr;text-align:center;padding:30px}.client-img{margin:auto}.form-card{padding:22px;border-radius:28px}.form-row,.form-actions{grid-template-columns:1fr}.footer-grid{grid-template-columns:1fr}.copyright{display:grid}.faq-contact-grid{gap:30px}.float-book{display:inline-flex}.page-grid{gap:28px}.page-hero{padding:54px 0 65px}.page-copy h1{font-size:3.45rem}.detail-card{position:static;width:auto;margin-top:-28px;position:relative;z-index:2}.page-media{min-height:auto}.page-media .main-img{height:370px}.backbar-inner{align-items:flex-start;flex-direction:column}
}
@media (prefers-reduced-motion: reduce){*{scroll-behavior:auto!important;animation:none!important;transition:none!important}.reveal{opacity:1;transform:none}}

/* Professional polish layer */
:root{
  --cream:#FAF9F7;
  --cream-2:#F3F0EC;
  --cream-3:#ecd8c5;
  --cream-4:#fff0e3;
  --sage:#4A2E23;
  --sage-dark:#25221F;
  --sage-light:#DED8D2;
  --sage-soft:#FFFFFF;
  --brown:#4A2E23;
  --brown-dark:#25221F;
  --line:#DED8D2;
  --shadow:0 30px 90px rgba(74,46,35,.16);
  --shadow-soft:0 18px 48px rgba(74,46,35,.10);
  --shadow-hover:0 38px 110px rgba(74,46,35,.22);
  --container:1240px;
}

body{
  background:
    linear-gradient(90deg,rgba(255,255,255,.42) 1px,transparent 1px) 0 0/78px 78px,
    linear-gradient(180deg,var(--cream) 0%,#fff7ef 46%,var(--cream) 100%);
}

.section{padding:126px 0}
.section-heading{margin-bottom:62px}
.section-heading h2{letter-spacing:-.035em}
.section-heading p{color:#756557}

.site-header{background:rgba(255,250,245,.82)}
.nav{height:88px}
.nav-links{gap:34px}
.nav-links a:not(.btn){transition:color .25s ease}
.nav-links a:not(.btn):hover{color:var(--sage-dark)}
.logo{
  color:#4A2E23;
  font-family:'Cormorant Garamond','Times New Roman',Georgia,serif;
  font-size:1.82rem;
  font-weight:400;
}

.btn{
  position:relative;
  isolation:isolate;
  overflow:hidden;
  min-height:52px;
  padding:15px 25px;
  box-shadow:0 14px 36px rgba(74,46,35,.24);
}
.btn:before{
  content:"";
  position:absolute;
  inset:0;
  z-index:-1;
  background:linear-gradient(120deg,transparent 0%,rgba(255,255,255,.25) 45%,transparent 75%);
  transform:translateX(-110%);
  transition:transform .65s ease;
}
.btn:hover:before{transform:translateX(110%)}
.btn.secondary,.btn.ghost{background:rgba(255,255,255,.66)}
.btn .arrow{font-size:0}
.btn .arrow:before{content:"->";font-size:.86rem}

.hero{
  min-height:calc(100vh - 88px);
  padding:78px 0 78px;
  background:
    linear-gradient(120deg,rgba(255,250,245,.97) 0%,rgba(255,244,232,.88) 48%,rgba(236,216,197,.46) 100%),
    radial-gradient(circle at 18% 20%,rgba(247,234,220,.92),transparent 34%);
}
.hero:before{
  background:linear-gradient(90deg,rgba(255,250,245,.98) 0%,rgba(255,250,245,.78) 48%,rgba(255,250,245,.18) 80%);
}
.hero:after{
  right:-36px;
  bottom:-96px;
  color:rgba(108,91,75,.07);
}
.hero-grid{grid-template-columns:.94fr 1.06fr;gap:72px}
.hero-copy{max-width:690px}
.availability-pill{
  color:#756557;
  border-color:rgba(205,185,166,.56);
  box-shadow:0 12px 40px rgba(74,46,35,.08);
}
.availability-pill span{
  background:#DED8D2;
  animation:pulseDot 2.2s ease-in-out infinite;
}
@keyframes pulseDot{0%,100%{box-shadow:0 0 0 5px rgba(185,169,150,.18)}50%{box-shadow:0 0 0 9px rgba(185,169,150,.08)}}
.hero h1{
  max-width:780px;
  color:#3f342b;
  font-family:'Cormorant Garamond','Times New Roman',Georgia,serif;
  font-size:8.4rem;
  font-weight:300;
  line-height:.92;
  letter-spacing:0;
}
.hero .lead{
  max-width:610px;
  margin:30px 0 30px;
  color:#4A2E23;
  font-family:'Cormorant Garamond','Times New Roman',Georgia,serif;
  font-size:1.68rem;
  font-weight:400;
  line-height:1.35;
}
.hero-actions{gap:16px;margin-top:6px}
.hero .btn.secondary{
  --btn-color:#4A2E23;
  border-color:rgba(205,185,166,.72);
}
.hero-visual{min-height:660px}
.hero-card{border-radius:28px;border-width:8px}
.hero-card.large{height:650px;width:min(86%,560px)}
.hero-card.small{left:2px;bottom:42px;width:43%;height:286px}
.scroll-cue{color:#8b7a69}
.scroll-cue i{background:#8b7a69}

.service-grid{grid-template-columns:1.15fr 1fr 1fr;gap:24px}
.service-card{
  min-height:548px;
  border-radius:26px;
  border:1px solid rgba(255,255,255,.72);
  background:linear-gradient(180deg,#fff7ef,var(--cream-2));
}
.service-card:first-child{min-height:588px}
.service-card:after{
  content:"";
  position:absolute;
  inset:auto 24px 0;
  height:1px;
  background:linear-gradient(90deg,transparent,var(--sage-light),transparent);
  opacity:0;
  transition:opacity .3s ease;
}
.service-card:hover:after{opacity:.75}
.service-image{height:310px}
.service-card:first-child .service-image{height:350px}
.service-content{padding:28px}
.service-top h3{font-size:1.95rem}
.price{background:rgba(255,255,255,.78);border:1px solid rgba(221,203,187,.72)}
.service-content p{min-height:66px}
.mini-btn{border-radius:14px;background:rgba(255,255,255,.76)}
.menu-strip{grid-template-columns:repeat(5,minmax(0,1fr));gap:14px}
.menu-pill{border-radius:16px;background:#fff7ef}

.quiz-section{background:linear-gradient(135deg,var(--sage-dark),#6F6862)}
.quiz-card{border-radius:26px}
.quiz-option{border-radius:18px}

.about{background:linear-gradient(180deg,var(--cream-2),#fff8f2)}
.stack-img{border-radius:26px}
.signature-card,.benefit,.process-card{border-radius:20px}
.process-card{transition:transform .28s ease,box-shadow .28s ease}
.process-card:hover{transform:translateY(-5px);box-shadow:var(--shadow-soft)}

.testimonials{
  background:
    linear-gradient(180deg,var(--cream-4),var(--cream)),
    radial-gradient(circle at 50% 0,rgba(248,243,239,.65),transparent 34%);
}
.testimonial-shell{max-width:1060px}
.testimonial-card{
  border-radius:26px;
  padding:54px;
  border-color:rgba(221,203,187,.62);
}
.testimonial-card.active{grid-template-columns:104px 1fr}
.client-img{width:104px;height:104px;border-width:6px}
.quote{font-size:clamp(1.9rem,3vw,3.25rem)}
.circle-btn{
  font-size:0;
  display:grid;
  place-items:center;
}
.circle-btn:before{font-size:1.02rem}
.circle-btn[data-prev]:before{content:"<"}
.circle-btn[data-next]:before{content:">"}
.dot{transition:width .25s ease,background .25s ease}

.booking{
  background:linear-gradient(180deg,var(--cream),#fff 48%,var(--cream-2));
}
.booking-grid{grid-template-columns:.78fr 1.22fr;gap:66px}
.booking-list{gap:16px}
.booking-item{border-radius:16px;transition:transform .25s ease,box-shadow .25s ease}
.booking-item:hover{transform:translateX(5px);box-shadow:var(--shadow-soft)}
.deposit-card{
  border-radius:22px;
  background:linear-gradient(135deg,var(--sage-dark),#4d573e);
}
.form-card{
  border-radius:28px;
  padding:40px;
  background:linear-gradient(180deg,#fff,#FFFFFF);
}
.field input,.field select,.field textarea{border-radius:14px;background:#fffdfb}
.field input:hover,.field select:hover,.field textarea:hover{border-color:#cdb9a6}
.date-picker-field{
  position:relative;
  padding:15px;
  border:1px solid rgba(221,203,187,.78);
  border-radius:18px;
  background:linear-gradient(180deg,#fff,#FFFFFF);
  box-shadow:0 12px 30px rgba(74,46,35,.06);
}
.date-picker-field label{color:#4A2E23}
.field-hint{
  display:block;
  margin-top:8px;
  color:#6F6862;
  font-size:.78rem;
}
.calendar-input{
  min-height:56px;
  padding-right:46px!important;
  color:#3f342b;
  font-weight:800;
}
.calendar-input::-webkit-calendar-picker-indicator{
  cursor:pointer;
  opacity:.78;
  filter:sepia(.25) saturate(.85) hue-rotate(350deg);
}
.form-actions{gap:14px}

.faq-contact{background:linear-gradient(180deg,#fff,var(--cream-2))}
.faq-contact-grid{grid-template-columns:1fr .96fr;gap:62px}
.faq-item{border-radius:18px;transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease}
.faq-item:hover{transform:translateY(-2px);border-color:#cdb9a6;box-shadow:var(--shadow-soft)}
.faq-item.open{border-color:rgba(74,46,35,.32)}
.faq-trigger{padding:22px 24px}
.contact-card{border-radius:26px}
.map{height:310px}
.socials a{border-radius:14px}

.footer{padding-top:76px}
.newsletter button{font-size:0}
.newsletter button:before{content:"->";font-size:1rem}

.page-hero{
  position:relative;
  padding:96px 0 106px;
  background:
    linear-gradient(115deg,rgba(255,250,245,.98),rgba(247,234,220,.88)),
    radial-gradient(circle at 82% 14%,rgba(248,243,239,.75),transparent 32%);
}
.page-hero:after{
  content:"A|Y";
  position:absolute;
  right:-28px;
  bottom:-78px;
  font-family:'Playfair Display',Georgia,serif;
  font-size:clamp(9rem,18vw,18rem);
  color:rgba(74,46,35,.06);
  font-style:italic;
  pointer-events:none;
}
.page-grid{position:relative;z-index:1;grid-template-columns:.88fr 1.12fr;gap:76px}
.page-copy h1{font-size:clamp(4.2rem,7vw,7.7rem);line-height:.96}
.page-copy .lead{max-width:620px}
.page-media{min-height:620px}
.page-media .main-img{height:590px;border-radius:28px;border-width:8px}
.detail-card{
  left:-34px;
  bottom:44px;
  border-radius:20px;
}
.pill-list li{border-radius:14px;background:rgba(255,255,255,.78)}
.included-grid{gap:22px}
.included-card{
  border-radius:20px;
  transition:transform .28s ease,box-shadow .28s ease;
}
.included-card:hover{transform:translateY(-5px);box-shadow:var(--shadow)}
.backbar{position:sticky;top:88px;z-index:20;background:rgba(255,255,255,.88);backdrop-filter:blur(16px)}

.reveal{transform:translateY(34px)}
.reveal.is-visible{animation:softRise .72s ease both}
@keyframes softRise{from{opacity:0;transform:translateY(34px)}to{opacity:1;transform:none}}

.mobile-menu-btn{
  position:relative;
  color:transparent;
  transition:background .25s ease,transform .25s ease;
}
.mobile-menu-btn:before{
  content:"\2630";
  position:absolute;
  inset:0;
  display:grid;
  place-items:center;
  color:var(--sage);
  font-size:1.15rem;
}
body.menu-open .mobile-menu-btn:before{content:"\00d7";font-size:1.35rem}
.mobile-menu-btn:hover{background:var(--sage-soft);transform:translateY(-2px)}

@media (min-width: 1021px){
  .service-grid .service-card:nth-child(4),
  .service-grid .service-card:nth-child(5){min-height:500px}
  .service-grid .service-card:nth-child(4) .service-image,
  .service-grid .service-card:nth-child(5) .service-image{height:280px}
}

@media (max-width: 1020px){
  .hero-grid,.page-grid{gap:42px}
  .hero h1{font-size:6.4rem}
  .hero .lead{font-size:1.5rem}
  .service-grid{grid-template-columns:repeat(2,1fr)}
  .booking-grid,.faq-contact-grid{gap:42px}
  .backbar{top:72px}
}

@media (max-width: 780px){
  .section{padding:80px 0}
  .nav{height:72px}
  .nav-links{
    position:fixed;
    inset:84px 14px auto;
    border-radius:22px;
    padding:18px;
    background:rgba(255,250,245,.98);
    box-shadow:0 24px 70px rgba(74,46,35,.20);
  }
  .nav-links a:not(.btn){
    border-bottom:1px solid rgba(221,203,187,.65);
    padding:15px 12px;
  }
  .hero{padding:64px 0 72px}
  .hero h1{font-size:4.35rem}
  .hero .lead{font-size:1.34rem}
  .form-card,.testimonial-card{border-radius:22px}
  .service-grid{grid-template-columns:1fr}
  .service-card,.service-card:first-child{min-height:auto}
  .service-image,.service-card:first-child .service-image{height:280px}
  .booking-grid,.faq-contact-grid,.page-grid{grid-template-columns:1fr}
  .form-card{padding:24px}
  .testimonial-card.active{grid-template-columns:1fr;padding:32px}
  .page-hero{padding:62px 0 72px}
  .page-copy h1{font-size:clamp(3.3rem,14vw,4.9rem)}
  .page-media .main-img{height:380px}
  .detail-card{left:auto;bottom:auto}
}

@media (max-width: 460px){
  .hero h1{font-size:3.65rem}
  .hero .lead{font-size:1.2rem}
  .hero-actions{display:grid}
}

/* Simplified luxury cleanup */
:root{
  --cream:#FAF9F7;
  --cream-2:#F3F0EC;
  --cream-3:#F8F3EF;
  --cream-4:#FFFFFF;
  --sage:#4A2E23;
  --sage-dark:#25221F;
  --sage-light:#DED8D2;
  --sage-soft:#FFFFFF;
  --brown:#4A2E23;
  --brown-dark:#25221F;
  --taupe:#6F6862;
  --line:#DED8D2;
}

h1,
h2,
h3,
.logo,
.display,
.section-heading h2,
.booking-info h2,
.page-copy h1,
.account-copy h1,
.account-toolbar h1,
.admin-hero-panel h1,
.contact-body h3{
  font-family:'Cormorant Garamond','Times New Roman',Georgia,serif;
  font-weight:400;
  letter-spacing:0;
}

.btn{
  --btn-bg:#4A2E23;
  box-shadow:0 14px 36px rgba(74,46,35,.22);
}
.btn:hover{box-shadow:0 18px 44px rgba(74,46,35,.28)}
.btn.secondary,
.btn.ghost{
  --btn-color:#4A2E23;
  border-color:rgba(74,46,35,.26);
}
.btn.secondary:hover,
.btn.ghost:hover{
  border-color:#4A2E23;
  color:#25221F;
}

.eyebrow,
.nav-links a:not(.btn):hover,
.mini-btn,
.booking-icon,
.mobile-menu-btn:before,
.account-message a,
.booking-auth-message a{
  color:#4A2E23;
}
.nav-links a:not(.btn):after{background:#4A2E23}

.hero{
  min-height:calc(100vh - 88px);
  padding:78px 0 74px;
  background:
    linear-gradient(120deg,rgba(255,250,245,.98) 0%,rgba(255,246,237,.86) 51%,rgba(236,217,199,.45) 100%),
    radial-gradient(circle at 18% 20%,rgba(246,234,223,.92),transparent 34%);
}
.hero:after,
.page-hero:after{color:rgba(111,94,80,.07)}
.hero h1{
  color:#3f342b;
  font-family:'Cormorant Garamond','Times New Roman',Georgia,serif;
  font-size:clamp(4.75rem,8vw,8.4rem);
  font-weight:300;
  letter-spacing:0;
  line-height:.92;
}
.hero .lead{
  color:#4A2E23;
  font-family:'Cormorant Garamond','Times New Roman',Georgia,serif;
  font-size:clamp(1.34rem,2vw,1.7rem);
  line-height:1.35;
  max-width:650px;
}
.availability-pill{
  color:#756557;
  border-color:rgba(205,185,166,.56);
}
.availability-pill span{background:#DED8D2}
.hero-visual{min-height:610px}
.hero-card.large{height:600px}
.hero-card.small{height:282px}

.services{
  padding-top:112px;
  padding-bottom:108px;
  background:linear-gradient(180deg,#FAF9F7 0%,#fff 52%,#FAF9F7 100%);
}
.section-heading{margin-bottom:46px}
.section-heading h2{
  color:#25221F;
  font-size:clamp(3rem,5.8vw,5.7rem);
}
.service-grid{
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:24px;
}
.service-card,
.service-card:first-child{
  min-height:520px;
  border-radius:20px;
  background:linear-gradient(180deg,#fff,#FAF9F7);
}
.service-image,
.service-card:first-child .service-image{
  height:290px;
  background:linear-gradient(135deg,#F8F3EF,#F3F0EC);
}
.service-top h3{
  color:#25221F;
  font-size:2rem;
  letter-spacing:0;
}
.service-content p{min-height:64px}
.mini-btn{
  border-color:rgba(74,46,35,.22);
  border-radius:12px;
}
.mini-btn:hover{
  background:#4A2E23;
  border-color:#4A2E23;
  color:white;
}

.booking{
  background:linear-gradient(180deg,#FAF9F7 0%,#fff 48%,#F3F0EC 100%);
}
.booking-info h2{
  color:#25221F;
  font-weight:400;
  letter-spacing:0;
}
.deposit-card{
  background:linear-gradient(135deg,#25221F,#4A2E23);
}
.field input:focus,
.field select:focus,
.field textarea:focus{
  border-color:#4A2E23;
  box-shadow:0 0 0 4px rgba(74,46,35,.12);
}
.calendar-input::-webkit-calendar-picker-indicator{
  filter:sepia(.45) saturate(.85) hue-rotate(345deg);
}

.contact-section{
  background:linear-gradient(180deg,#F3F0EC 0%,#FAF9F7 100%);
  padding-top:96px;
  padding-bottom:112px;
}
.contact-only-grid{
  max-width:720px;
  margin-inline:auto;
}
.contact-section .contact-card{
  border-radius:24px;
  background:#25221F;
}
.map:after{
  background:#4A2E23;
  font-family:'Cormorant Garamond','Times New Roman',Georgia,serif;
  font-weight:400;
  box-shadow:0 0 0 12px rgba(74,46,35,.18);
}

.page-hero{
  background:
    linear-gradient(115deg,rgba(255,250,245,.98),rgba(246,234,223,.9)),
    radial-gradient(circle at 82% 14%,rgba(236,217,199,.65),transparent 32%);
}
.page-copy h1{
  color:#25221F;
  font-weight:300;
  letter-spacing:0;
}
.page-copy .lead{color:#4A2E23}
.service-detail-actions{
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:14px;
  margin-top:30px;
}
.service-price-card{
  min-height:56px;
  display:grid;
  align-content:center;
  gap:2px;
  padding:12px 18px;
  border:1px solid rgba(74,46,35,.22);
  border-radius:16px;
  background:rgba(255,255,255,.72);
  box-shadow:0 14px 34px rgba(74,46,35,.08);
}
.service-price-card span{
  color:#6F6862;
  font-size:.68rem;
  font-weight:800;
  letter-spacing:.12em;
  text-transform:uppercase;
}
.service-price-card strong{
  color:#25221F;
  font-size:1rem;
}
.service-detail-page .page-media .main-img{
  border-radius:24px;
}
.service-detail-page .footer{margin-top:0}

.account-hero,
.admin-dashboard-section{
  background:
    linear-gradient(180deg,rgba(255,250,245,.96),rgba(246,234,223,.78) 54%,rgba(255,250,245,.98)),
    linear-gradient(90deg,rgba(236,217,199,.32),transparent 62%);
}
.account-copy h1,
.account-toolbar h1,
.admin-hero-panel h1{
  color:#25221F;
  font-weight:300;
  letter-spacing:0;
}
.admin-stats article:before,
.admin-tab.is-active{
  background:#4A2E23;
}
.admin-stats strong{color:#4A2E23}
.admin-tab.is-active{box-shadow:0 14px 34px rgba(74,46,35,.22)}
.admin-tab span{color:#25221F}
.admin-notes-grid div{
  background:rgba(246,234,223,.72);
  border-color:rgba(74,46,35,.14);
}

@media (max-width: 1020px){
  .service-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .hero h1{font-size:clamp(4.4rem,10vw,6.4rem)}
  .hero .lead{font-size:1.44rem}
}

@media (max-width: 780px){
  .hero{padding:62px 0 72px}
  .hero h1{font-size:clamp(3.7rem,16vw,5.1rem)}
  .hero .lead{font-size:1.24rem}
  .service-grid{grid-template-columns:1fr}
  .service-image,
  .service-card:first-child .service-image{height:280px}
  .service-detail-actions{display:grid}
  .service-price-card{width:100%}
  .contact-section{padding-top:76px;padding-bottom:88px}
}

/* Supabase client account pages */
.account-hero{
  min-height:calc(100vh - 88px);
  padding:104px 0 118px;
  background:
    linear-gradient(115deg,rgba(255,250,245,.98),rgba(247,234,220,.86)),
    radial-gradient(circle at 82% 12%,rgba(248,243,239,.78),transparent 34%);
}
.account-shell{
  display:grid;
  grid-template-columns:.92fr .78fr;
  gap:64px;
  align-items:center;
}
.account-shell.compact{grid-template-columns:.9fr .65fr}
.account-copy h1,
.account-toolbar h1{
  font-size:clamp(3.4rem,7vw,7.4rem);
  letter-spacing:-.06em;
  color:var(--sage-dark);
  margin:16px 0 18px;
}
.account-copy .lead,
.account-toolbar .lead{font-size:1.12rem;line-height:1.85;max-width:590px}
.account-card{
  background:linear-gradient(180deg,#fff,#FFFFFF);
  border:1px solid rgba(255,255,255,.88);
  border-radius:28px;
  box-shadow:var(--shadow);
  padding:34px;
}
.account-card-heading{margin-bottom:24px}
.account-card-heading h2{font-size:2.15rem;margin-bottom:8px}
.account-card-heading p{color:var(--taupe)}
.auth-form{max-width:520px;margin-left:auto}
.profile-form{max-width:980px;margin:34px auto 0}
.account-toolbar{
  display:flex;
  justify-content:space-between;
  gap:24px;
  align-items:flex-start;
}
.account-message,
.booking-auth-message{
  border:1px solid var(--line);
  border-radius:16px;
  padding:14px 16px;
  margin:0 0 18px;
  background:var(--cream);
  color:var(--brown);
  font-size:.92rem;
}
.account-message a,
.booking-auth-message a{
  color:var(--sage-dark);
  font-weight:800;
  text-decoration:underline;
  text-underline-offset:3px;
}
.account-message.success,
.booking-auth-message.success{
  background:var(--sage-soft);
  border-color:rgba(74,46,35,.22);
  color:var(--sage-dark);
}
.account-message.warning,
.booking-auth-message.warning{
  background:#fff3df;
  border-color:#e3c9a5;
}
.account-message.error,
.booking-auth-message.error{
  background:#fff0ee;
  border-color:#d5a19a;
  color:#2F1C15;
}
.form-actions.single{grid-template-columns:auto auto;justify-content:start}
.appointments-list{
  display:grid;
  gap:18px;
  margin-top:34px;
}
.appointment-card{
  display:grid;
  grid-template-columns:1fr auto;
  gap:28px;
  align-items:center;
  background:rgba(255,255,255,.86);
  border:1px solid rgba(221,203,187,.76);
  border-radius:24px;
  box-shadow:var(--shadow-soft);
  padding:26px;
}
.appointment-card h3{font-size:2rem;margin:10px 0 8px}
.appointment-card dl{
  display:grid;
  grid-template-columns:repeat(3,minmax(110px,1fr));
  gap:12px;
  margin:0;
}
.appointment-card dt{
  color:var(--taupe);
  font-size:.68rem;
  text-transform:uppercase;
  letter-spacing:.12em;
  font-weight:800;
}
.appointment-card dd{
  margin:4px 0 0;
  color:var(--brown-dark);
  font-weight:800;
}
.empty-state{
  text-align:center;
  background:rgba(255,255,255,.78);
  border:1px solid var(--line);
  border-radius:24px;
  padding:44px 24px;
  box-shadow:var(--shadow-soft);
}
.empty-state h3{font-size:2rem;margin-bottom:10px}
.empty-state .btn{margin-top:20px}
.account-footer{padding-top:34px}
.nav-button{font-family:'Plus Jakarta Sans',system-ui,sans-serif}

/* Admin dashboard */
.admin-dashboard-section{
  padding-top:96px;
  background:
    linear-gradient(180deg,rgba(255,250,245,.96),rgba(247,234,220,.78) 54%,rgba(255,250,245,.98)),
    linear-gradient(90deg,rgba(248,243,239,.36),transparent 62%);
}
.admin-hero-panel{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:28px;
  align-items:end;
  padding:20px 0 16px;
  border-bottom:1px solid rgba(221,203,187,.72);
}
.admin-hero-panel h1{
  max-width:900px;
  margin-top:14px;
  color:var(--sage-dark);
  font-size:clamp(3.25rem,6.5vw,6.7rem);
  letter-spacing:-.06em;
}
.admin-hero-panel .lead{
  max-width:640px;
  margin-top:18px;
  font-size:1.12rem;
  line-height:1.8;
}
.admin-hero-actions{
  display:flex;
  flex-wrap:wrap;
  justify-content:flex-end;
  gap:12px;
}
.admin-stats{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:16px;
  margin:30px 0 18px;
}
.admin-stats article{
  position:relative;
  min-height:146px;
  display:flex;
  flex-direction:column;
  justify-content:space-between;
  overflow:hidden;
  background:linear-gradient(180deg,rgba(255,255,255,.9),rgba(255,250,245,.78));
  border:1px solid rgba(221,203,187,.82);
  border-radius:18px;
  box-shadow:var(--shadow-soft);
  padding:22px;
  transition:transform .28s ease,box-shadow .28s ease,border-color .28s ease;
}
.admin-stats article:before{
  content:"";
  position:absolute;
  inset:0 0 auto;
  height:4px;
  background:linear-gradient(90deg,var(--sage),var(--sage-light));
}
.admin-stats article:hover{
  transform:translateY(-4px);
  border-color:rgba(74,46,35,.26);
  box-shadow:0 24px 60px rgba(74,46,35,.13);
}
.admin-stats strong{
  display:block;
  font-family:'Playfair Display',Georgia,serif;
  color:var(--sage);
  font-size:2.8rem;
  line-height:1;
}
.admin-stats span{
  display:block;
  color:var(--taupe);
  font-size:.72rem;
  font-weight:800;
  letter-spacing:.11em;
  text-transform:uppercase;
}
.admin-stats p{
  color:var(--brown-dark);
  font-weight:800;
  font-size:.94rem;
}
.admin-tabs{
  position:sticky;
  top:98px;
  z-index:20;
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  align-items:center;
  margin:20px 0 0;
  padding:10px;
  border:1px solid rgba(221,203,187,.76);
  border-radius:22px;
  background:rgba(255,250,245,.84);
  box-shadow:0 16px 44px rgba(74,46,35,.09);
  backdrop-filter:blur(18px);
}
.admin-tab{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  min-height:44px;
  border:1px solid transparent;
  border-radius:16px;
  padding:11px 15px;
  background:transparent;
  color:var(--brown);
  cursor:pointer;
  font-size:.72rem;
  font-weight:800;
  letter-spacing:.09em;
  text-transform:uppercase;
  transition:background .25s ease,color .25s ease,transform .25s ease,box-shadow .25s ease;
}
.admin-tab:hover{
  background:white;
  transform:translateY(-2px);
}
.admin-tab.is-active{
  background:var(--sage);
  color:white;
  box-shadow:0 14px 34px rgba(74,46,35,.22);
}
.admin-tab span{
  min-width:28px;
  height:24px;
  display:inline-grid;
  place-items:center;
  border-radius:999px;
  background:rgba(255,255,255,.72);
  color:var(--sage-dark);
  padding:0 8px;
}
.admin-tab.is-active span{
  background:rgba(255,255,255,.2);
  color:white;
}
.admin-panel{
  margin-top:24px;
  padding:30px;
  border-radius:24px;
  background:rgba(255,255,255,.66);
  border:1px solid rgba(255,255,255,.86);
  box-shadow:var(--shadow-soft);
}
.admin-panel[hidden]{display:none!important}
.admin-panel-heading{
  display:flex;
  justify-content:space-between;
  gap:24px;
  align-items:flex-end;
  margin-bottom:24px;
}
.admin-panel-heading h2{
  font-size:clamp(2.05rem,3.2vw,3.35rem);
  letter-spacing:-.035em;
  margin-top:10px;
}
.admin-panel-heading p{max-width:430px;color:var(--taupe)}
.admin-list{display:grid;gap:16px}
.admin-client-card,
.admin-appointment-card{
  background:linear-gradient(180deg,#fff,#FFFFFF);
  border:1px solid rgba(221,203,187,.78);
  border-radius:22px;
  padding:24px;
  box-shadow:0 14px 36px rgba(74,46,35,.075);
  transition:transform .28s ease,box-shadow .28s ease,border-color .28s ease;
  animation:fadeUp .35s ease;
}
.admin-client-card:hover,
.admin-appointment-card:hover{
  transform:translateY(-3px);
  border-color:rgba(74,46,35,.22);
  box-shadow:0 22px 58px rgba(74,46,35,.12);
}
.admin-card-top{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(200px,280px);
  gap:20px;
  align-items:flex-start;
  margin-bottom:20px;
}
.admin-client-card .admin-card-top{grid-template-columns:minmax(0,1fr) auto}
.admin-card-top h3{
  font-size:clamp(1.8rem,2.5vw,2.35rem);
  letter-spacing:-.025em;
  margin:10px 0 8px;
}
.admin-contact-line{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  color:var(--taupe);
  font-size:.92rem;
  font-weight:700;
}
.admin-contact-line span:before{
  content:"/";
  margin-right:8px;
  color:#DED8D2;
}
.admin-status-pill{
  display:inline-flex;
  align-items:center;
  min-height:28px;
  border-radius:999px;
  padding:7px 11px;
  font-size:.66rem;
  font-weight:900;
  letter-spacing:.10em;
  text-transform:uppercase;
}
.admin-status-pill.status-requested{background:#FFFFFF;color:#6F6862}
.admin-status-pill.status-confirmed{background:var(--sage-soft);color:var(--sage-dark)}
.admin-status-pill.status-completed{background:var(--sage);color:white}
.admin-status-pill.status-cancelled{background:#F3F0EC;color:#2F1C15}
.admin-appointment-card.status-requested{border-left:5px solid #4A2E23}
.admin-appointment-card.status-confirmed{border-left:5px solid var(--sage-light)}
.admin-appointment-card.status-completed{border-left:5px solid var(--sage)}
.admin-appointment-card.status-cancelled{border-left:5px solid #6F6862}
.admin-status-field{
  width:100%;
  margin:0;
}
.admin-status-field select{
  background:white;
  cursor:pointer;
  text-transform:capitalize;
}
.admin-detail-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:12px;
  margin:0 0 20px;
}
.admin-detail-grid div{
  border:1px solid var(--line);
  border-radius:14px;
  background:rgba(255,250,245,.78);
  padding:14px;
  min-width:0;
}
.admin-detail-grid dt{
  color:var(--taupe);
  font-size:.66rem;
  font-weight:800;
  letter-spacing:.11em;
  text-transform:uppercase;
}
.admin-detail-grid dd{
  margin:5px 0 0;
  color:var(--brown-dark);
  font-weight:800;
  overflow-wrap:anywhere;
}
.admin-notes-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px;
}
.admin-notes-grid div{
  background:rgba(248,243,239,.34);
  border:1px solid rgba(74,46,35,.12);
  border-radius:14px;
  padding:16px;
}
.admin-notes-grid strong{
  display:block;
  color:var(--sage-dark);
  font-size:.72rem;
  text-transform:uppercase;
  letter-spacing:.11em;
  margin-bottom:7px;
}
.admin-notes-grid p{font-size:.92rem;overflow-wrap:anywhere}
.admin-list .empty-state{
  border-style:dashed;
  background:rgba(255,250,245,.78);
  box-shadow:none;
  padding:38px 24px;
}

@media (max-width: 980px){
  .admin-hero-panel{grid-template-columns:1fr;align-items:start}
  .admin-hero-actions{justify-content:flex-start}
  .admin-tabs{position:static}
  .admin-card-top,
  .admin-client-card .admin-card-top{grid-template-columns:1fr}
}

@media (max-width: 700px){
  .admin-hero-panel h1{font-size:clamp(3rem,13vw,4.6rem)}
  .admin-tabs{overflow-x:auto;flex-wrap:nowrap;justify-content:flex-start}
  .admin-tab{flex:0 0 auto}
  .admin-panel{padding:20px;border-radius:20px}
  .admin-contact-line{display:grid;gap:3px}
  .admin-contact-line span:before{display:none}
}

@media (min-width: 1121px){
  .nav{gap:18px}
  .nav-links{gap:15px}
  .nav-links a:not(.btn){font-size:.66rem;letter-spacing:.08em}
  .nav-links .btn{min-height:44px;padding:12px 16px;font-size:.68rem}
}

@media (max-width: 1120px){
  .mobile-menu-btn{display:grid;place-items:center}
  .nav{height:72px}
  .nav-links{
    position:fixed;
    left:17px;
    right:17px;
    top:82px;
    display:grid;
    gap:2px;
    background:rgba(255,250,245,.98);
    border:1px solid var(--line);
    border-radius:24px;
    padding:16px;
    box-shadow:var(--shadow);
    opacity:0;
    visibility:hidden;
    transform:translateY(-12px);
    transition:.25s;
  }
  .nav-links.is-open{opacity:1;visibility:visible;transform:none}
  .nav-links a:not(.btn){
    padding:13px 12px;
    border-bottom:1px solid rgba(221,203,187,.62);
  }
  .nav-links .btn{width:100%;margin-top:6px}
}

@media (max-width: 900px){
  .account-shell,
  .account-shell.compact{grid-template-columns:1fr;gap:34px}
  .auth-form{max-width:none;margin-left:0}
  .account-toolbar{display:grid}
  .appointment-card{grid-template-columns:1fr}
  .appointment-card dl{grid-template-columns:1fr}
  .admin-stats{grid-template-columns:repeat(2,minmax(0,1fr))}
  .admin-panel{padding:22px}
  .admin-panel-heading,
  .admin-client-top,
  .admin-appointment-main{display:grid}
  .admin-detail-grid,
  .admin-notes-grid{grid-template-columns:1fr}
}

@media (max-width: 780px){
  .account-hero{padding:72px 0 84px}
  .account-card{padding:24px;border-radius:22px}
  .account-copy h1,
  .account-toolbar h1{font-size:clamp(3.1rem,13vw,4.8rem)}
  .form-actions.single{grid-template-columns:1fr}
  .admin-stats{grid-template-columns:1fr}
}

/* Final warm-neutral overrides */
.account-hero,
.admin-dashboard-section{
  background:
    linear-gradient(180deg,rgba(255,250,245,.96),rgba(246,234,223,.78) 54%,rgba(255,250,245,.98)),
    linear-gradient(90deg,rgba(236,217,199,.32),transparent 62%);
}
.account-copy h1,
.account-toolbar h1,
.admin-hero-panel h1{
  color:#25221F;
  font-family:'Cormorant Garamond','Times New Roman',Georgia,serif;
  font-weight:300;
  letter-spacing:0;
}
.account-card-heading h2,
.appointment-card h3,
.empty-state h3,
.admin-panel-heading h2,
.admin-card-top h3{
  font-family:'Cormorant Garamond','Times New Roman',Georgia,serif;
  font-weight:400;
  letter-spacing:0;
}
.admin-stats article:before,
.admin-tab.is-active{
  background:#4A2E23;
}
.admin-stats strong{color:#4A2E23}
.admin-tab.is-active{box-shadow:0 14px 34px rgba(74,46,35,.22)}
.admin-tab span{color:#25221F}
.admin-notes-grid div{
  background:rgba(246,234,223,.72);
  border-color:rgba(74,46,35,.14);
}
.admin-status-pill.status-confirmed{
  background:#FFFFFF;
  color:#25221F;
}
.admin-appointment-card.status-confirmed{border-left-color:#DED8D2}
.admin-appointment-card.status-completed{border-left-color:#4A2E23}

/* Availability booking system */
.availability-field{
  padding:16px;
  border:1px solid rgba(222,204,188,.86);
  border-radius:20px;
  background:linear-gradient(180deg,#fffdfb,#FAF9F7);
}
.slot-summary{
  min-height:50px;
  display:flex;
  align-items:center;
  padding:13px 15px;
  border:1px solid rgba(222,204,188,.86);
  border-radius:14px;
  background:rgba(255,255,255,.72);
  color:#4A2E23;
  font-size:.92rem;
  font-weight:700;
}
.slot-summary strong{color:#25221F}
.slot-summary a{
  color:#25221F;
  font-weight:900;
  text-decoration:underline;
  text-underline-offset:3px;
}
.slot-summary.warning{background:#fff3df;border-color:#e3c9a5}
.slot-summary.error{background:#fff0ee;border-color:#d5a19a;color:#2F1C15}
.slot-summary.selected{
  background:#FFFFFF;
  border-color:rgba(74,46,35,.28);
  color:#25221F;
}
.slot-list{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:10px;
  margin-top:14px;
}
.slot-option{
  min-height:92px;
  display:grid;
  align-content:center;
  gap:4px;
  text-align:left;
  border:1px solid rgba(74,46,35,.18);
  border-radius:16px;
  background:#fff;
  color:#25221F;
  padding:15px;
  cursor:pointer;
  transition:transform .24s ease,box-shadow .24s ease,border-color .24s ease,background .24s ease;
}
.slot-option strong{
  font-family:'Cormorant Garamond','Times New Roman',Georgia,serif;
  font-size:1.35rem;
  font-weight:500;
  line-height:1;
}
.slot-option span,
.slot-option small{
  color:#6F6862;
  font-size:.72rem;
  font-weight:800;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.slot-option small{
  display:block;
  text-transform:none;
  letter-spacing:0;
  font-weight:600;
}
.slot-option:hover{
  transform:translateY(-3px);
  border-color:rgba(74,46,35,.38);
  box-shadow:0 18px 42px rgba(74,46,35,.10);
}
.slot-option.is-selected{
  background:#4A2E23;
  border-color:#4A2E23;
  color:white;
  box-shadow:0 18px 44px rgba(74,46,35,.20);
}
.slot-option.is-selected span,
.slot-option.is-selected small{color:rgba(255,255,255,.78)}
.slot-empty,
.slot-loading{
  grid-column:1/-1;
  padding:18px;
  border:1px dashed rgba(74,46,35,.25);
  border-radius:16px;
  background:rgba(255,255,255,.66);
  color:#6F6862;
  text-align:center;
  font-weight:800;
}

.availability-manager{
  display:grid;
  grid-template-columns:minmax(280px,.78fr) minmax(0,1.22fr);
  gap:22px;
  align-items:start;
}
.availability-form,
.availability-list-panel{
  border:1px solid rgba(222,204,188,.82);
  border-radius:22px;
  background:linear-gradient(180deg,#fff,#FFFFFF);
  box-shadow:0 14px 36px rgba(74,46,35,.075);
  padding:24px;
}
.availability-form{
  position:sticky;
  top:176px;
}
.quick-presets{
  margin:18px 0;
  padding:16px;
  border:1px solid rgba(222,204,188,.82);
  border-radius:18px;
  background:linear-gradient(180deg,#FFFFFF,#F3F0EC);
}
.manual-time-box{
  margin-top:18px;
  padding:16px;
  border:1px solid rgba(222,204,188,.74);
  border-radius:18px;
  background:linear-gradient(180deg,#fffdfb,#FAF9F7);
}
.quick-presets-heading{
  display:grid;
  gap:4px;
  margin-bottom:14px;
}
.quick-presets-heading h4{
  margin:0;
  color:#25221F;
  font-family:'Cormorant Garamond','Times New Roman',Georgia,serif;
  font-size:1.72rem;
  font-weight:400;
  letter-spacing:0;
}
.quick-presets-heading p{
  color:#6F6862;
  font-size:.9rem;
}
.preset-tools{
  display:flex;
  flex-wrap:wrap;
  gap:9px;
  margin-bottom:12px;
}
.preset-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:9px;
  max-height:290px;
  overflow:auto;
  padding-right:4px;
}
.preset-option{
  min-height:58px;
  display:grid;
  gap:5px;
  align-items:center;
  text-align:left;
  border:1px solid rgba(74,46,35,.18);
  border-radius:14px;
  background:rgba(255,255,255,.74);
  color:#25221F;
  padding:11px 12px;
  cursor:pointer;
  transition:transform .22s ease,box-shadow .22s ease,border-color .22s ease,background .22s ease,color .22s ease;
}
.preset-option strong{
  font-size:.8rem;
  font-weight:900;
  letter-spacing:.04em;
  text-transform:uppercase;
}
.preset-option span{
  color:#6F6862;
  font-size:.72rem;
  font-weight:800;
}
.preset-option:hover{
  transform:translateY(-2px);
  border-color:rgba(74,46,35,.36);
  box-shadow:0 12px 28px rgba(74,46,35,.09);
}
.preset-option.is-existing{
  border-color:rgba(185,169,150,.65);
  background:#FAF9F7;
}
.preset-option.is-selected{
  background:#4A2E23;
  border-color:#4A2E23;
  color:white;
  box-shadow:0 16px 36px rgba(74,46,35,.20);
}
.preset-option.is-selected span{color:rgba(255,255,255,.78)}
.preset-count{
  margin:12px 0 14px;
  color:#4A2E23;
  font-size:.86rem;
  font-weight:700;
}
.bulk-save{width:100%}
.bulk-save[disabled]{
  cursor:not-allowed;
  opacity:.58;
  transform:none;
}
.availability-form .account-card-heading h3,
.availability-filter h3{
  color:#25221F;
  font-family:'Cormorant Garamond','Times New Roman',Georgia,serif;
  font-size:2rem;
  font-weight:400;
  letter-spacing:0;
  margin:8px 0 6px;
}
.availability-filter{
  display:grid;
  grid-template-columns:minmax(0,1fr);
  gap:18px;
  align-items:end;
  margin-bottom:18px;
}
.availability-filter .field{margin:0}
.availability-date-helper{
  margin-top:4px;
  color:#6F6862;
  font-size:.9rem;
}
.availability-slot-card{
  background:linear-gradient(180deg,#fff,#FFFFFF);
  border:1px solid rgba(222,204,188,.82);
  border-left:5px solid #DED8D2;
  border-radius:22px;
  padding:24px;
  box-shadow:0 14px 36px rgba(74,46,35,.075);
  transition:transform .28s ease,box-shadow .28s ease,border-color .28s ease;
}
.availability-slot-card:hover{
  transform:translateY(-3px);
  box-shadow:0 22px 58px rgba(74,46,35,.12);
}
.availability-slot-card.is-booked{border-left-color:#6F6862}
.availability-slot-card.is-unavailable{border-left-color:#DED8D2;opacity:.86}
.availability-actions{
  display:flex;
  justify-content:flex-end;
  flex-wrap:wrap;
  gap:10px;
}
.mini-btn.danger{
  color:#2F1C15;
  border-color:#DED8D2;
}
.mini-btn.danger:hover{
  background:#2F1C15;
  border-color:#2F1C15;
  color:white;
}
.mini-btn[disabled]{
  cursor:not-allowed;
  opacity:.48;
  transform:none;
}
.mini-btn[disabled]:hover{
  background:white;
  color:#2F1C15;
  border-color:#DED8D2;
}
.slot-status-available{background:#FFFFFF;color:#25221F}
.slot-status-booked{background:#FFFFFF;color:#6F6862}
.slot-status-unavailable{background:#FFFFFF;color:#6F6862}

/* Last pass: keep visible accents warm and neutral. */
.btn,
.modal-header,
.admin-tab.is-active,
.map:after{
  background:#4A2E23;
}
.success-box,
.account-message.success,
.booking-auth-message.success{
  background:#FFFFFF;
  color:#25221F;
  border-color:rgba(74,46,35,.20);
}
.circle-btn:hover,
.mini-btn:hover{
  background:#4A2E23;
  border-color:#4A2E23;
}
.admin-status-pill.status-completed{
  background:#4A2E23;
}
.admin-stats article:before{
  background:linear-gradient(90deg,#4A2E23,#DED8D2);
}

@media (max-width: 980px){
  .availability-manager{grid-template-columns:1fr}
  .availability-form{position:static}
}

@media (max-width: 760px){
  .slot-list,
  .availability-filter,
  .preset-grid{grid-template-columns:1fr}
  .availability-actions{justify-content:flex-start}
}

/* Legacy blush theme layer; Pearl White correction overrides it below */
:root{
  --cream:#FAF9F7;
  --cream-2:#F3F0EC;
  --cream-3:#DED8D2;
  --cream-4:#FFFFFF;
  --white:#FFFFFF;
  --sage:#4A2E23;
  --sage-dark:#25221F;
  --sage-light:#DED8D2;
  --sage-soft:#FFFFFF;
  --brown:#6F6862;
  --brown-dark:#25221F;
  --taupe:#6F6862;
  --charcoal:#25221F;
  --line:#DED8D2;
  --blush:#4A2E23;
  --shadow:0 28px 88px rgba(37,34,31,.12);
  --shadow-soft:0 16px 44px rgba(37,34,31,.08);
  --shadow-hover:0 34px 96px rgba(74,46,35,.18);
}

html{background:#FAF9F7}
body{
  background:
    linear-gradient(90deg,rgba(255,255,255,.38) 1px,transparent 1px) 0 0/88px 88px,
    linear-gradient(180deg,#FAF9F7 0%,#FFFFFF 42%,#FFFFFF 100%);
  color:#25221F;
}
p,
.lead,
.field-hint,
.form-note{color:#6F6862}
h1,
h2,
h3,
.logo,
.display,
.section-heading h2,
.about-content h2,
.booking-info h2,
.account-copy h1,
.account-toolbar h1,
.admin-hero-panel h1,
.page-copy h1{
  color:#25221F;
  font-family:'Cormorant Garamond','Times New Roman',Georgia,serif;
  font-weight:300;
  letter-spacing:0;
}
.section-heading p,
.account-card-heading p,
.admin-panel-heading p,
.quick-presets-heading p,
.availability-date-helper{color:#6F6862}
.eyebrow{color:#4A2E23}
.eyebrow:before{background:#4A2E23}

.site-header,
.site-header.scrolled{
  background:rgba(250,249,247,.9);
  border-bottom-color:rgba(222,216,210,.72);
}
.logo,
.nav-links a:not(.btn),
.mobile-menu-btn{color:#25221F}
.nav-links a:not(.btn):after{background:#4A2E23}
.nav-links a:not(.btn):hover{color:#4A2E23}
.mobile-menu-btn{
  border-color:#DED8D2;
  background:#fff;
}
.mobile-menu-btn:before{color:#4A2E23}
.mobile-menu-btn:hover{background:#FFFFFF}

.btn,
.modal-header,
.admin-tab.is-active,
.map:after{
  background:#4A2E23;
  color:#fff;
  border-color:#4A2E23;
  box-shadow:0 14px 36px rgba(74,46,35,.24);
}
.btn:hover,
.circle-btn:hover,
.mini-btn:hover,
.bulk-save:hover{
  background:#6F6862;
  border-color:#6F6862;
  color:#fff;
  box-shadow:0 18px 48px rgba(201,147,141,.24);
}
.btn.secondary,
.btn.ghost{
  background:rgba(255,255,255,.86);
  color:#6F6862;
  border-color:#DED8D2;
  box-shadow:0 10px 28px rgba(37,34,31,.06);
}
.btn.secondary:hover,
.btn.ghost:hover{
  background:#fff;
  color:#6F6862;
  border-color:#4A2E23;
}
.mini-btn,
.circle-btn{
  background:#fff;
  color:#4A2E23;
  border-color:#DED8D2;
}
.mini-btn.danger{
  color:#2F1C15;
  border-color:#DED8D2;
}
.mini-btn.danger:hover{
  background:#2F1C15;
  border-color:#2F1C15;
}

.hero{
  background:
    linear-gradient(118deg,rgba(250,249,247,.98) 0%,rgba(251,241,234,.93) 46%,rgba(246,232,221,.72) 100%),
    linear-gradient(180deg,#FAF9F7,#F3F0EC);
}
.hero:before{
  background:
    linear-gradient(90deg,rgba(250,249,247,.98) 0%,rgba(250,249,247,.82) 48%,rgba(250,249,247,.20) 84%),
    linear-gradient(135deg,rgba(74,46,35,.10),transparent 58%);
}
.hero:after,
.page-hero:after{color:rgba(74,46,35,.075)}
.hero-bg{filter:saturate(.88) contrast(.98) brightness(1.03)}
.hero h1{
  color:#25221F;
  text-shadow:0 12px 46px rgba(74,46,35,.12);
}
.hero .lead{
  color:#6F6862;
  font-weight:400;
}
.availability-pill{
  color:#6F6862;
  background:rgba(255,255,255,.78);
  border-color:rgba(222,216,210,.74);
  box-shadow:0 14px 38px rgba(74,46,35,.10);
}
.availability-pill span{background:#4A2E23}
.hero-card{
  border-color:rgba(255,255,255,.72);
  box-shadow:0 30px 90px rgba(37,34,31,.14);
}
.hero-card.small{box-shadow:0 24px 60px rgba(74,46,35,.16)}

.services,
.booking,
.faq-contact,
.testimonials,
.about,
.account-hero,
.admin-dashboard-section,
.page-hero{
  background:
    linear-gradient(180deg,rgba(250,249,247,.98),rgba(255,255,255,.96) 48%,rgba(251,241,234,.88) 100%);
}
.services,
.booking{position:relative}
.service-card,
.testimonial-card,
.form-card,
.booking-item,
.account-card,
.appointment-card,
.admin-panel,
.admin-client-card,
.admin-appointment-card,
.availability-form,
.availability-list-panel,
.availability-slot-card,
.included-card,
.process-card,
.faq-item,
.detail-card,
.quick-panel,
.contact-card{
  background:linear-gradient(180deg,#FFFFFF,#FFFFFF);
  border-color:rgba(222,216,210,.86);
  box-shadow:var(--shadow-soft);
}
.service-card:hover,
.booking-item:hover,
.account-card:hover,
.appointment-card:hover,
.admin-client-card:hover,
.admin-appointment-card:hover,
.availability-slot-card:hover,
.included-card:hover,
.process-card:hover,
.faq-item:hover{
  border-color:rgba(74,46,35,.38);
  box-shadow:var(--shadow-hover);
}
.service-card:after,
.admin-stats article:before{
  background:linear-gradient(90deg,#4A2E23,#DED8D2);
}
.service-image,
.quick-presets,
.manual-time-box,
.availability-field,
.date-picker-field,
.admin-detail-grid div,
.admin-notes-grid div,
.signature-card,
.benefit,
.deposit-card{
  background:linear-gradient(180deg,#FFFFFF,#FFFFFF);
  border-color:rgba(222,216,210,.82);
}
.deposit-card{
  color:#fff;
  background:linear-gradient(135deg,#4A2E23,#6F6862);
}
.deposit-card h3,
.deposit-card p{color:#fff}
.booking-icon,
.floating-note .icon,
.success-box,
.account-message.success,
.booking-auth-message.success{
  background:#FFFFFF;
  color:#6F6862;
  border-color:rgba(222,216,210,.72);
}
.price,
.pill-list li,
.menu-pill,
.quick-field{
  color:#4A2E23;
  background:#fff;
  border-color:#DED8D2;
}
.menu-pill span,
.service-note i{color:#4A2E23;background:#DED8D2}
.signature-card p,
.benefit b,
.client-meta,
.footer .logo{color:#4A2E23}

.field label,
.admin-detail-grid dt,
.appointment-card dt,
.admin-notes-grid strong,
.quick-field span,
.preset-count{color:#6F6862}
.field input,
.field select,
.field textarea,
.admin-status-field select{
  background:#fff;
  border-color:#DED8D2;
  color:#25221F;
}
.field input:hover,
.field select:hover,
.field textarea:hover{border-color:#DED8D2}
.field input:focus,
.field select:focus,
.field textarea:focus{
  border-color:#4A2E23;
  box-shadow:0 0 0 4px rgba(74,46,35,.14);
}
.calendar-input::-webkit-calendar-picker-indicator{
  filter:sepia(.35) saturate(1.4) hue-rotate(310deg);
}

.slot-summary{
  background:#fff;
  color:#6F6862;
  border-color:#DED8D2;
}
.slot-summary strong,
.slot-summary a{color:#25221F}
.slot-summary.selected{
  background:#FFFFFF;
  border-color:#4A2E23;
  color:#25221F;
}
.slot-option,
.preset-option{
  background:#fff;
  color:#25221F;
  border-color:#DED8D2;
}
.slot-option span,
.slot-option small,
.preset-option span{color:#6F6862}
.slot-option:hover,
.preset-option:hover{
  border-color:#4A2E23;
  box-shadow:0 16px 38px rgba(74,46,35,.14);
}
.slot-option.is-selected,
.preset-option.is-selected{
  background:#4A2E23;
  border-color:#4A2E23;
  color:#fff;
  box-shadow:0 18px 44px rgba(74,46,35,.24);
}
.preset-option.is-existing{
  background:#FFFFFF;
  border-color:#DED8D2;
}
.slot-empty,
.slot-loading{
  background:#fff;
  border-color:#DED8D2;
  color:#6F6862;
}

.admin-stats article{
  background:linear-gradient(180deg,#FFFFFF,#FFFFFF);
  border-color:#DED8D2;
}
.admin-stats strong,
.admin-tab span{color:#4A2E23}
.admin-tab{
  color:#6F6862;
  border-color:transparent;
}
.admin-tab:hover{
  background:#fff;
  color:#4A2E23;
}
.admin-tab.is-active{
  background:#4A2E23;
  color:#fff;
  box-shadow:0 14px 34px rgba(74,46,35,.24);
}
.admin-tab.is-active span{
  color:#fff;
  background:rgba(255,255,255,.22);
}
.admin-status-pill.status-requested{
  background:#FFFFFF;
  color:#6F6862;
}
.admin-status-pill.status-confirmed,
.slot-status-available{
  background:#F3F0EC;
  color:#6F6862;
}
.admin-status-pill.status-completed{
  background:#4A2E23;
  color:#fff;
}
.admin-status-pill.status-cancelled{
  background:#F3F0EC;
  color:#2F1C15;
}
.admin-appointment-card.status-requested,
.availability-slot-card{border-left-color:#4A2E23}
.admin-appointment-card.status-confirmed{border-left-color:#DED8D2}
.admin-appointment-card.status-completed{border-left-color:#6F6862}
.admin-appointment-card.status-cancelled{border-left-color:#6F6862}
.availability-slot-card.is-booked,
.slot-status-booked{
  border-left-color:#6F6862;
  color:#6F6862;
}
.slot-status-booked{background:#F3F0EC}
.availability-slot-card.is-unavailable{border-left-color:#DED8D2}
.slot-status-unavailable{
  background:#FFFFFF;
  color:#6F6862;
}

.quiz-section{
  background:linear-gradient(135deg,#FFFFFF,#F3F0EC);
  color:#25221F;
}
.quiz-section h2,
.quiz-section p,
.quiz-section .eyebrow{color:#25221F}
.quiz-card,
.quiz-option{
  background:rgba(255,255,255,.72);
  border-color:#DED8D2;
  color:#25221F;
}
.quiz-option span{color:#6F6862}
.quiz-option:hover,
.quiz-option.active{
  background:#4A2E23;
  color:#fff;
}
.quiz-option:hover span,
.quiz-option.active span{color:rgba(255,255,255,.82)}

.contact-card,
.footer{
  background:#25221F;
}
.contact-body h3,
.footer h4,
.footer .logo{color:#fff}
.map{
  background:
    linear-gradient(135deg,rgba(250,249,247,.28),rgba(74,46,35,.22)),
    url('https://lh3.googleusercontent.com/aida-public/AB6AXuCSoA_Agm2j37qGL3jnAJuji6ay3GDBf5C3OQpkyzoWO9GVFNevQfTR9xkO8u0jkab7b1hGvNRP4P-lEK3zdYr7EQRQ-5h6qZ8uriqA8UWAqMBrXJile5gYypqMgXlI3EF8zCmYJB1S5AziSfbA6mqz9AtjMIMhSTlz1XHCnlOGqYHk4iu-bKxRkQ_MaMecmDrjnzwlyBujWqf63yzHuLi5bZqPsoFvU_NH46AhdKiCMUM_-js6FZzAqvK09AuGhyx_c4h6OMtohrby');
  background-size:cover;
  background-position:center;
}
.modal-card{background:#FAF9F7}
.modal-summary div{border-color:#DED8D2}
.scroll-cue,
.scroll-cue i,
.dot.active{color:#4A2E23;background:#4A2E23}

@media (max-width: 1120px){
  .nav-links{
    background:rgba(250,249,247,.98);
    border-color:#DED8D2;
  }
}

.menu-pill span{color:#4A2E23;background:transparent}
.service-note i{background:#DED8D2}
.scroll-cue{color:#4A2E23;background:transparent}
.scroll-cue i,
.dot.active{background:#4A2E23}

/* Legacy blush refresh layer; Pearl White correction overrides it below */
:root{
  --cream:#FAF9F7;
  --cream-2:#F3F0EC;
  --cream-3:#F8F3EF;
  --cream-4:#FFFFFF;
  --white:#FFFFFF;
  --sage:#4A2E23;
  --sage-dark:#25221F;
  --sage-light:#DED8D2;
  --sage-soft:#F8F3EF;
  --brown:#6F6862;
  --brown-dark:#25221F;
  --taupe:#6F6862;
  --charcoal:#25221F;
  --line:#DED8D2;
  --blush:#4A2E23;
  --shadow:0 26px 82px rgba(74,46,35,.14);
  --shadow-soft:0 16px 42px rgba(74,46,35,.10);
  --shadow-hover:0 34px 96px rgba(111,104,98,.22);
}

body{
  background:
    radial-gradient(circle at 15% 8%,rgba(248,243,239,.72),transparent 32%),
    radial-gradient(circle at 85% 30%,rgba(243,240,236,.82),transparent 35%),
    linear-gradient(180deg,#FAF9F7 0%,#FFFFFF 44%,#FFFFFF 100%);
  color:#25221F;
}

.section:nth-of-type(odd){background:#FAF9F7}
.section:nth-of-type(even){background:#F3F0EC}
.services,
.testimonials,
.account-hero,
.page-hero{
  background:
    radial-gradient(circle at 12% 0,rgba(248,243,239,.62),transparent 34%),
    linear-gradient(180deg,#FAF9F7,#FFFFFF 52%,#FFFFFF);
}
.booking,
.admin-dashboard-section{
  position:relative;
  overflow:hidden;
  background:
    radial-gradient(circle at 18% 8%,rgba(248,243,239,.78),transparent 32%),
    radial-gradient(circle at 88% 18%,rgba(216,196,173,.38),transparent 34%),
    linear-gradient(180deg,#FAF9F7 0%,#F3F0EC 48%,#FFFFFF 100%);
}
.booking:before,
.admin-dashboard-section:before{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:linear-gradient(120deg,rgba(255,255,255,.36),transparent 48%,rgba(248,243,239,.28));
}
.booking > *,
.admin-dashboard-section > *{position:relative;z-index:1}

.hero{
  background:
    radial-gradient(circle at 18% 20%,rgba(248,243,239,.86),transparent 34%),
    radial-gradient(circle at 78% 16%,rgba(216,196,173,.42),transparent 31%),
    linear-gradient(118deg,#FAF9F7 0%,#F3F0EC 54%,#FFFFFF 100%);
}
.hero:before{
  background:
    linear-gradient(90deg,rgba(250,249,247,.98) 0%,rgba(250,249,247,.86) 46%,rgba(250,249,247,.16) 84%),
    radial-gradient(circle at 28% 42%,rgba(74,46,35,.18),transparent 34%);
}
.hero h1,
.page-copy h1,
.account-copy h1,
.account-toolbar h1,
.admin-hero-panel h1{
  color:#25221F;
  font-weight:300;
}
.hero .lead,
.page-copy .lead,
.account-copy .lead,
.account-toolbar .lead,
.admin-hero-panel .lead{color:#6F6862}
.availability-pill{
  background:#FFFFFF;
  color:#6F6862;
  border-color:#DED8D2;
}
.availability-pill span{background:#4A2E23}

.btn{
  --btn-bg:#4A2E23;
  --btn-color:#FFFFFF;
  background:#4A2E23;
  border-color:#4A2E23;
  color:#FFFFFF;
  box-shadow:0 16px 38px rgba(74,46,35,.28);
}
.btn:hover{
  background:#6F6862;
  border-color:#6F6862;
  box-shadow:0 20px 54px rgba(111,104,98,.30);
}
.btn.secondary,
.btn.ghost{
  --btn-bg:#FFFFFF;
  --btn-color:#6F6862;
  background:#FFFFFF;
  color:#6F6862;
  border-color:#DED8D2;
}
.btn.secondary:hover,
.btn.ghost:hover{
  background:#FFFFFF;
  color:#6F6862;
  border-color:#4A2E23;
}

.site-header,
.site-header.scrolled{
  background:rgba(250,249,247,.92);
  border-bottom-color:#DED8D2;
  box-shadow:0 12px 34px rgba(74,46,35,.08);
}
.logo{color:#25221F}
.nav-links a:not(.btn){color:#6F6862}
.nav-links a:not(.btn):hover{color:#4A2E23}
.nav-links a:not(.btn):after{background:#4A2E23}

.service-card,
.testimonial-card,
.form-card,
.booking-item,
.account-card,
.appointment-card,
.admin-panel,
.admin-stats article,
.admin-client-card,
.admin-appointment-card,
.availability-form,
.availability-list-panel,
.availability-slot-card,
.included-card,
.process-card,
.faq-item,
.detail-card,
.quick-panel,
.quick-presets,
.manual-time-box,
.availability-field,
.date-picker-field{
  background:#FFFFFF;
  border-color:#DED8D2;
  box-shadow:0 16px 42px rgba(74,46,35,.10);
}
.service-card:hover,
.testimonial-card:hover,
.booking-item:hover,
.account-card:hover,
.appointment-card:hover,
.admin-client-card:hover,
.admin-appointment-card:hover,
.availability-slot-card:hover,
.included-card:hover,
.process-card:hover,
.faq-item:hover{
  border-color:#DED8D2;
  box-shadow:0 26px 72px rgba(111,104,98,.16);
}
.service-card:after,
.admin-stats article:before{
  background:linear-gradient(90deg,#4A2E23,#F8F3EF);
}
.service-image,
.signature-card,
.benefit,
.admin-detail-grid div,
.admin-notes-grid div{
  background:#FFFFFF;
  border-color:#DED8D2;
}

.field input,
.field select,
.field textarea,
.admin-status-field select{
  background:#FFFFFF;
  color:#25221F;
  border-color:#DED8D2;
}
.field input:focus,
.field select:focus,
.field textarea:focus{
  border-color:#4A2E23;
  box-shadow:0 0 0 4px rgba(74,46,35,.16);
}
.field label,
.quick-field span,
.admin-detail-grid dt,
.appointment-card dt,
.admin-notes-grid strong{color:#6F6862}

.slot-summary{
  background:#FFFFFF;
  border-color:#DED8D2;
  color:#6F6862;
}
.slot-summary.selected{
  background:#F8F3EF;
  border-color:#4A2E23;
  color:#25221F;
}
.slot-option,
.preset-option{
  background:#FFFFFF;
  border-color:#DED8D2;
  color:#25221F;
}
.slot-option:hover,
.preset-option:hover{
  border-color:#4A2E23;
  background:#FFFFFF;
}
.slot-option.is-selected,
.preset-option.is-selected{
  background:#4A2E23;
  border-color:#4A2E23;
  color:#FFFFFF;
}
.preset-option.is-existing{
  background:#F3F0EC;
  border-color:#DED8D2;
}

.admin-tab.is-active,
.admin-status-pill.status-completed{
  background:#4A2E23;
  color:#FFFFFF;
}
.admin-tab:hover{color:#4A2E23}
.admin-stats strong,
.admin-tab span,
.client-meta,
.price,
.pill-list li,
.menu-pill span{color:#4A2E23}
.admin-status-pill.status-requested{
  background:#FFFFFF;
  color:#6F6862;
}
.admin-status-pill.status-confirmed,
.slot-status-available{
  background:#F8F3EF;
  color:#6F6862;
}
.admin-status-pill.status-cancelled{
  background:#F3F0EC;
  color:#2F1C15;
}
.admin-appointment-card.status-requested,
.availability-slot-card{border-left-color:#4A2E23}
.admin-appointment-card.status-confirmed{border-left-color:#DED8D2}
.admin-appointment-card.status-completed,
.availability-slot-card.is-booked{border-left-color:#6F6862}
.slot-status-booked{
  background:#F3F0EC;
  color:#6F6862;
}
.slot-status-unavailable{
  background:#FFFFFF;
  color:#6F6862;
}

.deposit-card{
  background:linear-gradient(135deg,#4A2E23,#6F6862);
  color:#FFFFFF;
}
.booking-icon,
.floating-note .icon,
.success-box,
.account-message.success,
.booking-auth-message.success{
  background:#F8F3EF;
  color:#6F6862;
  border-color:#DED8D2;
}
.account-message,
.booking-auth-message{
  background:#FFFFFF;
  border-color:#DED8D2;
  color:#6F6862;
}

.contact-card{
  background:#FFFFFF;
  color:#25221F;
  border-color:#DED8D2;
}
.contact-body h3,
.contact-row strong{color:#25221F}
.contact-row a,
.contact-row span{color:#6F6862}
.contact-row{border-top-color:#DED8D2}
.contact-row i{
  background:#F8F3EF;
  color:#6F6862;
}
.socials a{
  color:#6F6862;
  border-color:#DED8D2;
  background:#FFFFFF;
}
.socials a:hover{
  background:#4A2E23;
  color:#FFFFFF;
}
.footer{
  background:linear-gradient(180deg,#F3F0EC,#FAF9F7);
  color:#25221F;
  border-top:1px solid #DED8D2;
}
.footer .logo,
.footer h4{color:#25221F}
.footer p,
.footer a,
.copyright{color:#6F6862}
.copyright{border-top-color:#DED8D2}
.newsletter{border-bottom-color:#DED8D2}
.newsletter input{color:#25221F}
.newsletter button{color:#4A2E23}
.modal-header{background:#4A2E23}
.toast{background:#6F6862}

/* Pearl White Natural Spa correction */
:root{
  --cream:#FAF9F7;
  --cream-2:#F3F0EC;
  --cream-3:#F8F3EF;
  --cream-4:#FFFFFF;
  --white:#FFFFFF;
  --sage:#4A2E23;
  --sage-dark:#25221F;
  --sage-light:#E7E0DA;
  --sage-soft:#F8F3EF;
  --brown:#6F6862;
  --brown-dark:#25221F;
  --taupe:#6F6862;
  --charcoal:#25221F;
  --line:#DED8D2;
  --blush:#D8C4AD;
  --shadow:0 24px 72px rgba(37,34,31,.10);
  --shadow-soft:0 14px 38px rgba(37,34,31,.075);
  --shadow-hover:0 30px 86px rgba(37,34,31,.13);
}

body{
  background:
    radial-gradient(circle at 12% 8%,rgba(255,255,255,.88),transparent 30%),
    radial-gradient(circle at 86% 16%,rgba(216,196,173,.08),transparent 26%),
    linear-gradient(180deg,#FAF9F7 0%,#FFFFFF 44%,#F3F0EC 100%);
  color:#25221F;
}

p,
.lead,
.form-note,
.field-hint,
.section-heading p,
.account-card-heading p,
.admin-panel-heading p,
.quick-presets-heading p,
.availability-date-helper{color:#6F6862}

h1,
h2,
h3,
.logo,
.display,
.section-heading h2,
.about-content h2,
.booking-info h2,
.account-copy h1,
.account-toolbar h1,
.admin-hero-panel h1,
.page-copy h1{
  color:#25221F;
  font-family:'Cormorant Garamond','Times New Roman',Georgia,serif;
  font-weight:300;
  letter-spacing:0;
}

.section:nth-of-type(odd),
.services,
.testimonials,
.account-hero,
.page-hero{
  background:
    radial-gradient(circle at 86% 10%,rgba(216,196,173,.055),transparent 24%),
    linear-gradient(180deg,#FAF9F7,#FFFFFF 54%,#F3F0EC);
}
.section:nth-of-type(even),
.about,
.faq-contact{
  background:linear-gradient(180deg,#FFFFFF,#F3F0EC);
}
.booking,
.admin-dashboard-section{
  background:
    radial-gradient(circle at 88% 10%,rgba(216,196,173,.08),transparent 24%),
    linear-gradient(180deg,#FAF9F7 0%,#FFFFFF 50%,#F3F0EC 100%);
}
.booking:before,
.admin-dashboard-section:before{
  background:linear-gradient(120deg,rgba(255,255,255,.44),transparent 54%,rgba(248,243,239,.28));
}

.hero{
  background:
    radial-gradient(circle at 18% 18%,rgba(248,243,239,.72),transparent 34%),
    radial-gradient(circle at 83% 14%,rgba(216,196,173,.075),transparent 24%),
    linear-gradient(118deg,#FAF9F7 0%,#FFFFFF 52%,#F3F0EC 100%);
}
.hero:before{
  background:
    linear-gradient(90deg,rgba(250,249,247,.98) 0%,rgba(250,249,247,.84) 48%,rgba(250,249,247,.14) 84%),
    radial-gradient(circle at 30% 42%,rgba(216,196,173,.06),transparent 28%);
}
.hero:after,
.page-hero:after{color:rgba(74,46,35,.055)}
.hero h1{text-shadow:0 14px 48px rgba(37,34,31,.06)}
.hero .lead{color:#6F6862}
.availability-pill{
  background:#FFFFFF;
  color:#6F6862;
  border-color:#DED8D2;
  box-shadow:0 12px 32px rgba(37,34,31,.06);
}
.availability-pill span{background:#D8C4AD}

.btn{
  --btn-bg:#4A2E23;
  --btn-color:#FFFFFF;
  background:#4A2E23;
  border-color:#4A2E23;
  color:#FFFFFF;
  box-shadow:0 14px 34px rgba(74,46,35,.22);
}
.btn:hover{
  background:#6F6862;
  border-color:#6F6862;
  color:#FFFFFF;
  box-shadow:0 18px 44px rgba(111,104,98,.26);
}
.btn.secondary,
.btn.ghost{
  --btn-bg:#FFFFFF;
  --btn-color:#6F6862;
  background:#FFFFFF;
  color:#6F6862;
  border-color:#DED8D2;
  box-shadow:0 8px 24px rgba(37,34,31,.045);
}
.btn.secondary:hover,
.btn.ghost:hover{
  background:#F3F0EC;
  border-color:#E7E0DA;
  color:#25221F;
}
.mini-btn,
.circle-btn{
  background:#FFFFFF;
  color:#6F6862;
  border-color:#DED8D2;
}
.mini-btn:hover,
.circle-btn:hover{
  background:#4A2E23;
  border-color:#4A2E23;
  color:#FFFFFF;
}

.site-header,
.site-header.scrolled{
  background:rgba(250,249,247,.94);
  border-bottom-color:#DED8D2;
  box-shadow:0 12px 32px rgba(37,34,31,.055);
}
.logo,
.nav-links a:not(.btn){color:#25221F}
.nav-links a:not(.btn):hover{color:#4A2E23}
.nav-links a:not(.btn):after{background:#D8C4AD}
.mobile-menu-btn{
  background:#FFFFFF;
  border-color:#DED8D2;
}
.mobile-menu-btn:before{color:#4A2E23}

.service-card,
.testimonial-card,
.form-card,
.booking-item,
.account-card,
.appointment-card,
.admin-panel,
.admin-stats article,
.admin-client-card,
.admin-appointment-card,
.availability-form,
.availability-list-panel,
.availability-slot-card,
.included-card,
.process-card,
.faq-item,
.detail-card,
.quick-panel,
.quick-presets,
.manual-time-box,
.availability-field,
.date-picker-field,
.contact-card{
  background:#FFFFFF;
  border-color:#DED8D2;
  box-shadow:var(--shadow-soft);
}
.service-card:hover,
.booking-item:hover,
.account-card:hover,
.appointment-card:hover,
.admin-client-card:hover,
.admin-appointment-card:hover,
.availability-slot-card:hover,
.included-card:hover,
.process-card:hover,
.faq-item:hover{
  border-color:#E7E0DA;
  box-shadow:var(--shadow-hover);
}
.service-card:after,
.admin-stats article:before{
  background:linear-gradient(90deg,transparent,#D8C4AD,transparent);
}
.service-image,
.signature-card,
.benefit,
.admin-detail-grid div,
.admin-notes-grid div,
.slot-summary,
.slot-empty,
.slot-loading{
  background:#FAF9F7;
  border-color:#DED8D2;
}

.eyebrow{color:#6F6862}
.eyebrow:before{background:#D8C4AD}
.price,
.pill-list li,
.menu-pill,
.quick-field{
  background:#FFFFFF;
  color:#6F6862;
  border-color:#DED8D2;
}
.menu-pill span,
.client-meta,
.admin-stats strong,
.admin-tab span{color:#4A2E23}
.service-note i{background:#D8C4AD}

.field input,
.field select,
.field textarea,
.admin-status-field select{
  background:#FFFFFF;
  border-color:#DED8D2;
  color:#25221F;
}
.field input:hover,
.field select:hover,
.field textarea:hover{border-color:#E7E0DA}
.field input:focus,
.field select:focus,
.field textarea:focus{
  border-color:#4A2E23;
  box-shadow:0 0 0 4px rgba(74,46,35,.14);
}
.field label,
.quick-field span,
.admin-detail-grid dt,
.appointment-card dt,
.admin-notes-grid strong,
.preset-count{color:#6F6862}

.slot-option,
.preset-option{
  background:#FFFFFF;
  border-color:#DED8D2;
  color:#25221F;
}
.slot-option span,
.slot-option small,
.preset-option span{color:#6F6862}
.slot-option:hover,
.preset-option:hover{
  background:#FAF9F7;
  border-color:#D8C4AD;
}
.slot-option.is-selected,
.preset-option.is-selected{
  background:#D8C4AD;
  border-color:#D8C4AD;
  color:#FFFFFF;
  box-shadow:0 16px 38px rgba(216,196,173,.24);
}
.slot-summary.selected{
  background:#FFFFFF;
  border-color:#D8C4AD;
  color:#25221F;
  box-shadow:inset 4px 0 0 #D8C4AD;
}
.preset-option.is-existing{
  background:#F3F0EC;
  border-color:#E7E0DA;
}

.admin-tab{
  color:#6F6862;
  background:transparent;
}
.admin-tab:hover{
  background:#FFFFFF;
  color:#6F6862;
}
.admin-tab.is-active{
  background:#FFFFFF;
  color:#25221F;
  border-color:#DED8D2;
  box-shadow:inset 0 -3px 0 #D8C4AD, 0 10px 24px rgba(37,34,31,.055);
}
.admin-tab.is-active span{
  background:#F3F0EC;
  color:#6F6862;
}
.admin-status-pill.status-requested{
  background:#FFFFFF;
  color:#6F6862;
  border:1px solid #DED8D2;
}
.admin-status-pill.status-confirmed,
.slot-status-available{
  background:#F8F3EF;
  color:#25221F;
}
.admin-status-pill.status-completed{
  background:#4A2E23;
  color:#FFFFFF;
}
.admin-status-pill.status-cancelled{
  background:#F3F0EC;
  color:#2F1C15;
}
.admin-appointment-card.status-requested,
.availability-slot-card{border-left-color:#E7E0DA}
.admin-appointment-card.status-confirmed{border-left-color:#4A2E23}
.admin-appointment-card.status-completed,
.availability-slot-card.is-booked{border-left-color:#D8C4AD}
.admin-appointment-card.status-cancelled{border-left-color:#2F1C15}
.slot-status-booked{
  background:#F3F0EC;
  color:#2F1C15;
}
.slot-status-unavailable{
  background:#FAF9F7;
  color:#6F6862;
}

.deposit-card{
  background:linear-gradient(135deg,#4A2E23,#6F6862);
  color:#FFFFFF;
}
.booking-icon,
.floating-note .icon,
.success-box,
.account-message.success,
.booking-auth-message.success{
  background:#F8F3EF;
  color:#25221F;
  border-color:#DED8D2;
}
.account-message,
.booking-auth-message{
  background:#FFFFFF;
  border-color:#DED8D2;
  color:#6F6862;
}
.account-message a,
.booking-auth-message a{color:#6F6862}

.quiz-section{
  background:linear-gradient(180deg,#FAF9F7,#F3F0EC);
  color:#25221F;
}
.quiz-section h2,
.quiz-section p,
.quiz-section .eyebrow{color:#25221F}
.quiz-card,
.quiz-option{
  background:#FFFFFF;
  border-color:#DED8D2;
  color:#25221F;
}
.quiz-option:hover,
.quiz-option.active{
  background:#4A2E23;
  color:#FFFFFF;
}

.contact-card{
  background:#FFFFFF;
  color:#25221F;
}
.contact-body h3,
.contact-row strong{color:#25221F}
.contact-row a,
.contact-row span{color:#6F6862}
.contact-row{border-top-color:#DED8D2}
.contact-row i{
  background:#F8F3EF;
  color:#6F6862;
}
.socials a{
  background:#FFFFFF;
  color:#6F6862;
  border-color:#DED8D2;
}
.socials a:hover{
  background:#4A2E23;
  color:#FFFFFF;
}

.footer{
  background:linear-gradient(180deg,#FFFFFF,#F3F0EC);
  color:#25221F;
  border-top:1px solid #DED8D2;
}
.footer .logo,
.footer h4{color:#25221F}
.footer p,
.footer a,
.copyright{color:#6F6862}
.newsletter input{color:#25221F}
.newsletter button{color:#6F6862}
.copyright,
.newsletter{border-color:#DED8D2}

.modal-header{background:#4A2E23}
.toast{background:#6F6862}
.map:after{background:#4A2E23}
.dot.active,
.scroll-cue i{background:#D8C4AD}
.scroll-cue{color:#4A2E23;background:transparent}

/* Mineral Spa + Rose Accent final redesign */
:root{
  --cream:#FAF9F7;
  --cream-2:#F3F0EC;
  --cream-3:#F8F3EF;
  --cream-4:#FFFFFF;
  --white:#FFFFFF;
  --sage:#4A2E23;
  --sage-dark:#25221F;
  --sage-light:#E7E0DA;
  --sage-soft:#F8F3EF;
  --brown:#6F6862;
  --brown-dark:#25221F;
  --taupe:#6F6862;
  --charcoal:#25221F;
  --line:#DED8D2;
  --blush:#D8C4AD;
  --shadow:0 24px 70px rgba(37,34,31,.10);
  --shadow-soft:0 14px 36px rgba(37,34,31,.075);
  --shadow-hover:0 26px 76px rgba(37,34,31,.14);
}

html,
body{
  background:#FAF9F7;
  color:#25221F;
}

body{
  background:
    radial-gradient(circle at 88% 8%,rgba(216,196,173,.18),transparent 22%),
    radial-gradient(circle at 8% 18%,rgba(248,243,239,.45),transparent 28%),
    linear-gradient(180deg,#FAF9F7 0%,#FFFFFF 42%,#FAF9F7 100%);
}

h1,
h2,
h3,
.logo,
.hero h1,
.section-title h2,
.booking-info h2,
.admin-hero-panel h1,
.account-card h1,
.page-copy h1,
.appointment-card h3{
  color:#25221F;
}

p,
.lead,
.hero .lead,
.page-copy .lead,
.section-title p,
.form-note,
.appointment-card dd,
.admin-detail-grid dd,
.admin-notes-grid div,
.slot-option small,
.preset-option span{
  color:#6F6862;
}

.section,
.booking,
.account-page,
.admin-page{
  background:#FAF9F7;
}

.section:nth-of-type(even),
.about,
.faq-contact,
.quiz-section{
  background:#F3F0EC;
}

.site-header{
  background:rgba(255,255,255,.86);
  border-bottom-color:#DED8D2;
  box-shadow:0 10px 28px rgba(37,34,31,.05);
}

.site-header.scrolled{
  background:rgba(255,255,255,.94);
  box-shadow:0 16px 38px rgba(37,34,31,.08);
}

.nav-links a:not(.btn){
  color:#25221F;
}

.nav-links a:not(.btn):hover{
  color:#25221F;
}

.nav-links a:not(.btn):after{
  background:#4A2E23;
}

.mobile-menu-btn{
  background:#FFFFFF;
  color:#25221F;
  border-color:#DED8D2;
}

.mobile-menu-btn:before{
  color:#4A2E23;
}

.hero,
.page-hero,
.admin-hero{
  background:
    radial-gradient(circle at 82% 12%,rgba(216,196,173,.20),transparent 24%),
    radial-gradient(circle at 16% 12%,rgba(248,243,239,.62),transparent 30%),
    linear-gradient(120deg,#FAF9F7 0%,#FFFFFF 54%,#F3F0EC 100%);
}

.hero:before,
.page-hero:before{
  background:
    linear-gradient(90deg,rgba(250,249,247,.98) 0%,rgba(250,249,247,.86) 48%,rgba(250,249,247,.18) 86%),
    radial-gradient(circle at 32% 40%,rgba(216,196,173,.08),transparent 28%);
}

.hero:after,
.page-hero:after{
  color:rgba(37,34,31,.045);
}

.hero h1{
  text-shadow:0 14px 44px rgba(37,34,31,.06);
}

.availability-pill,
.menu-pill,
.quick-field,
.pill-list li,
.price{
  background:#FFFFFF;
  color:#6F6862;
  border-color:#DED8D2;
  box-shadow:0 10px 28px rgba(37,34,31,.055);
}

.availability-pill span,
.eyebrow:before,
.service-card:after,
.admin-stats article:before{
  background:#D8C4AD;
}

.eyebrow,
.menu-pill span,
.admin-tab span,
.client-meta{
  color:#6F6862;
}

.btn,
button.btn,
.quiz-option.active{
  --btn-bg:#4A2E23;
  --btn-color:#FFFFFF;
  background:#4A2E23;
  border-color:#4A2E23;
  color:#FFFFFF;
  box-shadow:0 14px 34px rgba(74,46,35,.22);
}

.btn:hover,
button.btn:hover,
.quiz-option.active:hover{
  background:#2F1C15;
  border-color:#2F1C15;
  color:#FFFFFF;
  box-shadow:0 18px 44px rgba(201,147,141,.25);
}

.btn.secondary,
.btn.ghost,
.quick-panel .btn.secondary,
.circle-btn{
  --btn-bg:#FFFFFF;
  --btn-color:#25221F;
  background:#FFFFFF;
  color:#25221F;
  border-color:#DED8D2;
  box-shadow:0 10px 24px rgba(37,34,31,.045);
}

.btn.secondary:hover,
.btn.ghost:hover,
.circle-btn:hover{
  background:#FAF9F7;
  color:#25221F;
  border-color:#4A2E23;
}

.service-card,
.testimonial-card,
.form-card,
.account-card,
.appointment-card,
.admin-panel,
.admin-stats article,
.admin-client-card,
.admin-appointment-card,
.availability-form,
.availability-list-panel,
.availability-slot-card,
.included-card,
.process-card,
.faq-item,
.detail-card,
.quick-panel,
.quick-presets,
.manual-time-box,
.availability-field,
.date-picker-field,
.contact-card,
.quiz-card,
.quiz-option,
.signature-card,
.benefit,
.booking-item{
  background:#FFFFFF;
  border-color:#DED8D2;
  box-shadow:var(--shadow-soft);
}

.service-image,
.admin-detail-grid div,
.admin-notes-grid div,
.slot-summary,
.slot-empty,
.slot-loading,
.success-box,
.account-message.success,
.booking-auth-message.success{
  background:#FAF9F7;
  border-color:#DED8D2;
  color:#25221F;
}

.service-card:hover,
.booking-item:hover,
.account-card:hover,
.appointment-card:hover,
.admin-client-card:hover,
.admin-appointment-card:hover,
.availability-slot-card:hover,
.included-card:hover,
.process-card:hover,
.faq-item:hover{
  border-color:#D8C4AD;
  box-shadow:var(--shadow-hover);
}

.field input,
.field select,
.field textarea,
.admin-status-field select{
  background:#FFFFFF;
  border-color:#DED8D2;
  color:#25221F;
}

.field input:hover,
.field select:hover,
.field textarea:hover{
  border-color:#E7E0DA;
}

.field input:focus,
.field select:focus,
.field textarea:focus,
.admin-status-field select:focus{
  border-color:#4A2E23;
  box-shadow:0 0 0 4px rgba(74,46,35,.14);
}

.field label,
.quick-field span,
.admin-detail-grid dt,
.appointment-card dt,
.admin-notes-grid strong,
.preset-count{
  color:#6F6862;
}

.slot-option,
.preset-option{
  background:#FFFFFF;
  border-color:#DED8D2;
  color:#25221F;
}

.slot-option:hover,
.preset-option:hover{
  background:#FAF9F7;
  border-color:#D8C4AD;
  transform:translateY(-2px);
}

.slot-option.is-selected,
.preset-option.is-selected{
  background:#4A2E23;
  border-color:#4A2E23;
  color:#FFFFFF;
  box-shadow:0 16px 38px rgba(74,46,35,.24);
}

.slot-option.is-selected span,
.slot-option.is-selected small,
.preset-option.is-selected span,
.preset-option.is-selected small{
  color:rgba(255,255,255,.82);
}

.slot-summary.selected{
  background:#FFFFFF;
  border-color:#4A2E23;
  color:#25221F;
  box-shadow:inset 4px 0 0 #4A2E23;
}

.preset-option.is-existing{
  background:#F3F0EC;
  border-color:#E7E0DA;
}

.admin-tab{
  color:#6F6862;
  background:transparent;
}

.admin-tab:hover{
  background:#FFFFFF;
  color:#25221F;
}

.admin-tab.is-active{
  background:#FFFFFF;
  color:#25221F;
  border-color:#DED8D2;
  box-shadow:inset 0 -3px 0 #4A2E23,0 10px 24px rgba(37,34,31,.06);
}

.admin-tab.is-active span{
  background:#F3F0EC;
  color:#25221F;
}

.admin-status-pill,
.slot-status{
  border:1px solid #DED8D2;
}

.admin-status-pill.status-requested{
  background:#FFFFFF;
  color:#6F6862;
}

.admin-status-pill.status-confirmed,
.slot-status-available{
  background:#F3F0EC;
  color:#25221F;
}

.admin-status-pill.status-completed{
  background:#25221F;
  color:#FFFFFF;
}

.admin-status-pill.status-cancelled,
.slot-status-booked{
  background:#FAF9F7;
  color:#2F1C15;
  border-color:#D8C4AD;
}

.slot-status-unavailable{
  background:#F8F3EF;
  color:#6F6862;
}

.admin-appointment-card.status-requested,
.availability-slot-card{
  border-left-color:#E7E0DA;
}

.admin-appointment-card.status-confirmed{
  border-left-color:#4A2E23;
}

.admin-appointment-card.status-completed{
  border-left-color:#25221F;
}

.admin-appointment-card.status-cancelled,
.availability-slot-card.is-booked{
  border-left-color:#2F1C15;
}

.availability-slot-card.is-unavailable{
  border-left-color:#F8F3EF;
}

.deposit-card{
  background:#FFFFFF;
  color:#25221F;
  border:1px solid #DED8D2;
  border-left:4px solid #4A2E23;
  box-shadow:var(--shadow-soft);
}

.deposit-card h3,
.deposit-card p{
  color:#25221F;
}

.booking-icon,
.floating-note .icon,
.service-note i,
.contact-row i{
  background:#F8F3EF;
  color:#25221F;
}

.quiz-section{
  background:linear-gradient(180deg,#F3F0EC,#FAF9F7);
  color:#25221F;
}

.quiz-section h2,
.quiz-section p,
.quiz-section .eyebrow{
  color:#25221F;
}

.quiz-option span{
  color:#6F6862;
}

.contact-card,
.contact-body{
  background:#FFFFFF;
  color:#25221F;
}

.contact-body h3,
.contact-row strong{
  color:#25221F;
}

.contact-row a,
.contact-row span{
  color:#6F6862;
}

.contact-row{
  border-top-color:#DED8D2;
}

.socials a{
  background:#FFFFFF;
  color:#25221F;
  border-color:#DED8D2;
}

.socials a:hover{
  background:#4A2E23;
  color:#FFFFFF;
  border-color:#4A2E23;
}

.footer{
  background:linear-gradient(180deg,#FFFFFF,#F3F0EC);
  color:#25221F;
  border-top:1px solid #DED8D2;
}

.footer .logo,
.footer h4{
  color:#25221F;
}

.footer p,
.footer a,
.copyright{
  color:#6F6862;
}

.newsletter,
.copyright{
  border-color:#DED8D2;
}

.newsletter input{
  color:#25221F;
}

.newsletter button{
  color:#4A2E23;
}

.modal-header{
  background:#4A2E23;
}

.toast{
  background:#25221F;
}

.map{
  filter:saturate(.82) contrast(.98);
}

.map:after,
.dot.active,
.scroll-cue i{
  background:#4A2E23;
}

.scroll-cue,
.faq-trigger span:last-child{
  color:#4A2E23;
}

/* Final A|Y logo palette lock */
:root{
  --color-bg:#F4E8DA;
  --color-bg-soft:#F8EFE4;
  --color-surface:#FFF9F1;
  --color-surface-clean:#FFFFFF;
  --color-surface-blush:#FFF9F1;
  --color-heading:#4B2E24;
  --color-text:#3F2920;
  --color-muted:#7A6256;
  --color-primary:#4A2E23;
  --color-primary-hover:#2F1C15;
  --color-accent:#C6A15A;
  --color-sage:#9FA88E;
  --color-border:#E2CFC0;
  --cream:var(--color-bg-soft);
  --cream-2:var(--color-bg);
  --cream-3:#F1DECE;
  --cream-4:var(--color-surface);
  --sage:var(--color-primary);
  --sage-dark:var(--color-heading);
  --sage-light:var(--color-border);
  --sage-soft:var(--color-surface-blush);
  --brown:var(--color-muted);
  --brown-dark:var(--color-heading);
  --taupe:var(--color-muted);
  --charcoal:var(--color-text);
  --line:var(--color-border);
  --blush:var(--color-surface-blush);
  --shadow:0 26px 80px rgba(75,46,36,.12);
  --shadow-soft:0 16px 42px rgba(75,46,36,.085);
  --shadow-hover:0 34px 88px rgba(75,46,36,.16);
}

html,
body{
  background:var(--color-bg-soft);
  color:var(--color-text);
}

body{
  background:
    radial-gradient(circle at 12% 6%,rgba(74,46,35,.18),transparent 27%),
    radial-gradient(circle at 88% 12%,rgba(198,161,90,.12),transparent 24%),
    linear-gradient(180deg,var(--color-bg-soft),var(--color-bg));
}

h1,h2,h3,h4,.logo,.display,
.hero h1,.section-heading h2,.booking-info h2,.page-copy h1,
.account-copy h1,.admin-hero-panel h1,.admin-panel-heading h2,
.terms-intro h1,.terms-section h2{
  color:var(--color-heading);
}

p,.lead,.hero .lead,.page-copy .lead,.section-heading p,
.form-note,.admin-panel-heading p,.quick-presets-heading p,
.slot-option small,.preset-option span,.footer p,.footer a,.copyright{
  color:var(--color-muted);
}

.site-header{
  background:rgba(255,249,241,.92);
  border-bottom-color:var(--color-border);
  box-shadow:0 10px 30px rgba(75,46,36,.055);
}

.site-header.scrolled{
  background:rgba(255,249,241,.98);
  box-shadow:0 16px 42px rgba(75,46,36,.085);
}

.logo-image-link{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:126px;
  height:58px;
  padding:4px;
  flex:0 0 auto;
  overflow:hidden;
  border:1px solid rgba(226,207,192,.85);
  border-radius:18px;
  background:linear-gradient(135deg,#F4E8DA,#FFF9F1);
  box-shadow:0 10px 28px rgba(75,46,36,.10);
}

.logo-image-link img{
  width:100%;
  height:100%;
  object-fit:contain;
}

.footer-logo-link{
  width:148px;
  height:70px;
}

.hero{
  background:
    radial-gradient(circle at 19% 22%,rgba(74,46,35,.20),transparent 31%),
    radial-gradient(circle at 76% 18%,rgba(198,161,90,.12),transparent 26%),
    linear-gradient(115deg,#FFF9F1 0%,#F4E8DA 54%,#EFE0D0 100%);
}

.hero:before{
  background:linear-gradient(90deg,rgba(255,249,241,.94) 0%,rgba(255,249,241,.76) 46%,rgba(244,232,218,.20) 76%);
}

.hero-logo-title{
  display:block;
  width:min(100%,430px);
  max-width:430px;
  padding:0;
  border:1px solid rgba(226,207,192,.88);
  border-radius:32px;
  overflow:hidden;
  background:linear-gradient(135deg,#F4E8DA,#FFF9F1);
  box-shadow:0 24px 72px rgba(75,46,36,.14);
  line-height:0;
}

.hero-logo-title img{
  width:100%;
  height:auto;
  object-fit:contain;
}

.eyebrow,
.availability-pill,
.nav-links a:not(.btn):hover,
.client-meta,
.menu-pill span,
.admin-tab span,
.price,
.newsletter button{
  color:var(--color-primary-hover);
}

.eyebrow:before,
.nav-links a:not(.btn):after,
.availability-pill span,
.admin-stats article:before,
.dot.active,
.map:after,
.scroll-cue i{
  background:var(--color-accent);
}

.btn,
button.btn,
a.btn,
.slot-option.is-selected,
.preset-option.is-selected,
.bulk-save,
.modal-header,
.socials a:hover{
  background:var(--color-primary);
  border-color:var(--color-primary);
  color:#FFFFFF;
  box-shadow:0 16px 38px rgba(74,46,35,.24);
}

.btn:hover,
button.btn:hover,
a.btn:hover{
  background:var(--color-primary-hover);
  border-color:var(--color-primary-hover);
  color:#FFFFFF;
  box-shadow:0 20px 48px rgba(47,28,21,.28);
}

.btn.secondary,
.btn.ghost,
.mini-btn,
.circle-btn,
.admin-tab,
.slot-option,
.preset-option,
.socials a{
  background:rgba(255,255,255,.82);
  border-color:var(--color-border);
  color:var(--color-heading);
  box-shadow:0 10px 28px rgba(75,46,36,.055);
}

.btn.secondary:hover,
.btn.ghost:hover,
.mini-btn:hover,
.circle-btn:hover,
.admin-tab:hover,
.slot-option:hover,
.preset-option:hover{
  background:var(--color-surface-2);
  border-color:var(--color-accent);
  color:var(--color-primary-hover);
}

.service-card,.testimonial-card,.process-card,.benefit,.signature-card,
.form-card,.account-card,.admin-hero-panel,.admin-panel,.admin-stats article,
.admin-client-card,.admin-appointment-card,.availability-form,.availability-list-panel,
.availability-slot-card,.quick-presets,.manual-time-box,.booking-ritual-item,
.booking-visual-card,.contact-card,.contact-body,.modal-card,.terms-card,
.email-followup-card,.email-log-card,.appointment-card,.quick-panel,.faq-item{
  background:rgba(255,249,241,.9);
  border-color:var(--color-border);
  box-shadow:var(--shadow-soft);
}

.service-card:hover,.form-card:hover,.account-card:hover,.admin-appointment-card:hover,
.availability-slot-card:hover,.booking-ritual-item:hover,.booking-visual-card:hover{
  border-color:var(--color-primary);
  box-shadow:var(--shadow-hover);
}

.field input,.field select,.field textarea,.admin-status-field select,
.slot-summary,.checkbox-field,.newsletter input{
  background:#FFFFFF;
  border-color:var(--color-border);
  color:var(--color-text);
}

.field input:focus,.field select:focus,.field textarea:focus,
.admin-status-field select:focus{
  border-color:var(--color-accent);
  box-shadow:0 0 0 4px rgba(184,149,106,.14);
}

.success-box,.booking-auth-message.success,.slot-summary.selected,.email-pill.is-on{
  background:rgba(159,168,142,.14);
  border-color:rgba(159,168,142,.35);
  color:var(--color-heading);
}

.booking-auth-message.warning,.email-pill.is-warning,.preset-option.is-existing{
  background:rgba(198,161,90,.14);
  border-color:rgba(198,161,90,.32);
  color:var(--color-heading);
}

.booking-auth-message.error,.error-message{
  color:var(--color-primary-hover);
}

.slot-option.is-selected strong,
.slot-option.is-selected span,
.slot-option.is-selected small,
.preset-option.is-selected strong,
.preset-option.is-selected span,
.preset-option.is-selected small,
.modal-header h3{
  color:#FFFFFF;
}

.admin-tab.is-active{
  background:var(--color-primary);
  border-color:var(--color-primary);
  color:#FFFFFF;
  box-shadow:0 14px 34px rgba(74,46,35,.22);
}

.admin-tab.is-active span{
  background:rgba(255,255,255,.22);
  color:#FFFFFF;
}

.admin-status-pill.status-confirmed,
.availability-slot-card.is-booked,
.admin-appointment-card.status-confirmed{
  border-color:rgba(198,161,90,.35);
  border-left-color:var(--color-accent);
}

.availability-slot-card,
.admin-appointment-card.status-requested{
  border-left-color:var(--color-primary);
}

.availability-slot-card.is-unavailable,
.admin-appointment-card.status-completed{
  border-left-color:var(--color-sage);
}

.footer{
  background:linear-gradient(180deg,var(--color-surface-clean),var(--color-bg));
  border-top-color:var(--color-border);
}

.terms-page{
  background:
    radial-gradient(circle at 12% 7%,rgba(74,46,35,.20),transparent 28%),
    radial-gradient(circle at 88% 18%,rgba(198,161,90,.14),transparent 25%),
    linear-gradient(135deg,var(--color-bg-soft) 0%,var(--color-bg) 48%,#EFE0D0 100%);
}

.terms-opening{
  background:linear-gradient(135deg,#FFFFFF,var(--color-surface));
  border-color:var(--color-border);
  border-left-color:var(--color-primary);
  color:var(--color-text);
}

.terms-section h2{
  border-left-color:var(--color-primary);
}

.terms-section p{
  color:var(--color-text);
}

@media (max-width:720px){
  .logo-image-link{
    width:108px;
    height:50px;
    border-radius:15px;
  }

  .footer-logo-link{
    width:128px;
    height:62px;
  }

  .hero-logo-title{
    width:min(100%,320px);
    border-radius:24px;
  }
}

/* Scoped visual patch: header color, A/Y separator, and homepage background only */
:root{
  --color-bg:#F7EFE5;
  --color-surface:#FFF9F1;
  --color-surface-2:#EFE0CF;
  --color-heading:#3B241B;
  --color-text:#4F3A30;
  --color-muted:#7B675C;
  --color-primary:#4A2E23;
  --color-primary-hover:#2F1C15;
  --color-accent:#B8956A;
  --color-border:#D8C4AD;
  --color-sage:#8F967C;
  --cream:var(--color-bg);
  --cream-2:var(--color-surface);
  --cream-3:var(--color-surface-2);
  --cream-4:var(--color-surface);
  --sage:var(--color-primary);
  --sage-dark:var(--color-heading);
  --sage-light:var(--color-accent);
  --sage-soft:#F3E7DA;
  --brown:var(--color-muted);
  --brown-dark:var(--color-heading);
  --taupe:var(--color-muted);
  --charcoal:var(--color-text);
  --line:var(--color-border);
  --blush:#F3E7DA;
}

body{
  background:var(--color-bg);
  color:var(--color-text);
}

body .site-header,
body .site-header.scrolled{
  background:rgba(255,249,241,.97);
  border-bottom:1px solid var(--color-border);
  box-shadow:0 12px 28px rgba(59,36,27,.055);
}

body .site-header.scrolled{
  background:rgba(255,249,241,.99);
}

body .nav-links,
body .account-menu{
  background:rgba(255,249,241,.98);
  border-color:var(--color-border);
}

body .nav-links a:not(.btn),
body .account-toggle,
body .mobile-menu-btn{
  color:var(--color-heading);
}

body .nav-links a:not(.btn):hover,
body .account-toggle:hover,
body .eyebrow,
body .availability-pill,
body .client-meta,
body .menu-pill span,
body .price,
body .newsletter button{
  color:var(--color-primary);
}

body .nav-links a:not(.btn):after,
body .eyebrow:before,
body .availability-pill span,
body .admin-stats article:before,
body .dot.active,
body .map:after,
body .scroll-cue i{
  background:var(--color-accent);
}

body .logo-image-link{
  background:transparent;
  border:0;
  box-shadow:none;
}

body .logo-image-link img{
  object-fit:contain;
  filter:drop-shadow(0 7px 12px rgba(59,36,27,.10));
}

body .hero{
  background:
    linear-gradient(90deg,rgba(216,196,173,.20) 1px,transparent 1px) 0 0/92px 92px,
    linear-gradient(180deg,var(--color-surface) 0%,var(--color-bg) 100%);
}

body .hero-bg{
  background-image:none !important;
  background:
    linear-gradient(135deg,rgba(255,249,241,.76),rgba(239,224,207,.48)),
    linear-gradient(90deg,rgba(184,149,106,.12) 1px,transparent 1px) 0 0/120px 120px !important;
  opacity:.42;
  filter:none;
  animation:none;
}

body .hero:before{
  background:linear-gradient(90deg,rgba(255,249,241,.95) 0%,rgba(255,249,241,.78) 45%,rgba(247,239,229,.26) 100%);
}

body .hero:after{
  color:rgba(184,149,106,.13);
}

.brand-separator{
  color:var(--color-accent);
}

body .hero h1,
body .section-heading h2,
body .booking-info h2,
body .page-copy h1,
body .account-copy h1,
body .account-card h1,
body .admin-hero-panel h1,
body .admin-panel-heading h2,
body .terms-intro h1,
body .terms-section h2{
  color:var(--color-heading);
}

body .hero .lead,
body p,
body .lead,
body .section-heading p,
body .form-note,
body .admin-panel-heading p{
  color:var(--color-muted);
}

body .btn,
body button.btn,
body a.btn,
body .bulk-save,
body .modal-header,
body .slot-option.is-selected,
body .preset-option.is-selected,
body .admin-tab.is-active{
  background:var(--color-primary);
  border-color:var(--color-primary);
  color:#FFFFFF;
  box-shadow:0 15px 34px rgba(74,46,35,.20);
}

body .btn:hover,
body button.btn:hover,
body a.btn:hover{
  background:var(--color-primary-hover);
  border-color:var(--color-primary-hover);
  color:#FFFFFF;
  box-shadow:0 20px 46px rgba(47,28,21,.24);
}

body .btn.secondary,
body .btn.ghost,
body .mini-btn,
body .circle-btn,
body .admin-tab,
body .slot-option,
body .preset-option,
body .socials a{
  background:var(--color-surface);
  border-color:var(--color-border);
  color:var(--color-primary);
  box-shadow:0 9px 24px rgba(59,36,27,.055);
}

body .btn.secondary:hover,
body .btn.ghost:hover,
body .mini-btn:hover,
body .circle-btn:hover,
body .admin-tab:hover,
body .slot-option:hover,
body .preset-option:hover{
  background:var(--color-surface-2);
  border-color:var(--color-accent);
  color:var(--color-primary-hover);
}

.booking-grid.booking-form-only{
  grid-template-columns:minmax(0,920px);
  justify-content:center;
}

/* Logo-inspired professional brand correction */
:root{
  --color-bg:#F6EEE4;
  --color-bg-soft:#FBF4EA;
  --color-surface:#FFF9F1;
  --color-surface-clean:#FFFFFF;
  --color-surface-champagne:#EFE1D0;
  --color-surface-blush:#F7EFE5;
  --color-heading:#3E251C;
  --color-text:#3A2A23;
  --color-muted:#80695D;
  --color-primary:#5B382C;
  --color-primary-hover:#43261D;
  --color-accent:#B99A5F;
  --color-accent-soft:#E9D9BE;
  --color-sage:#9DA585;
  --color-border:#DECAB8;
  --cream:var(--color-bg-soft);
  --cream-2:var(--color-bg);
  --cream-3:var(--color-surface-champagne);
  --cream-4:var(--color-surface);
  --sage:var(--color-primary);
  --sage-dark:var(--color-heading);
  --sage-light:var(--color-accent-soft);
  --sage-soft:#F1E6D8;
  --brown:var(--color-muted);
  --brown-dark:var(--color-heading);
  --taupe:var(--color-muted);
  --charcoal:var(--color-text);
  --line:var(--color-border);
  --blush:var(--color-surface-blush);
  --shadow:0 28px 80px rgba(62,37,28,.13);
  --shadow-soft:0 16px 44px rgba(62,37,28,.085);
  --shadow-hover:0 34px 90px rgba(62,37,28,.17);
}

html,
body{
  background:var(--color-bg-soft);
  color:var(--color-text);
}

body{
  background:
    radial-gradient(circle at 10% 3%,rgba(244,220,220,.35),transparent 25%),
    radial-gradient(circle at 88% 9%,rgba(185,154,95,.16),transparent 24%),
    linear-gradient(180deg,var(--color-bg-soft) 0%,var(--color-bg) 45%,#F3E7DA 100%);
}

h1,h2,h3,h4,.display,
.hero h1,.section-heading h2,.booking-info h2,.page-copy h1,
.account-copy h1,.account-card h1,.admin-hero-panel h1,
.admin-panel-heading h2,.terms-intro h1,.terms-section h2{
  color:var(--color-heading);
  font-family:'Cormorant Garamond','Times New Roman',Georgia,serif;
  font-weight:500;
  letter-spacing:0;
}

p,.lead,.hero .lead,.page-copy .lead,.section-heading p,
.form-note,.admin-panel-heading p,.quick-presets-heading p,
.slot-option small,.preset-option span,.footer p,.footer a,.copyright,
.account-card-heading p,.availability-date-helper{
  color:var(--color-muted);
}

.site-header{
  background:rgba(251,244,234,.88);
  border-bottom:1px solid rgba(222,202,184,.72);
  box-shadow:0 10px 28px rgba(62,37,28,.045);
  backdrop-filter:blur(18px);
}

.site-header.scrolled{
  background:rgba(251,244,234,.97);
  box-shadow:0 16px 42px rgba(62,37,28,.075);
}

.nav{
  height:84px;
}

.logo-image-link{
  width:86px;
  height:66px;
  padding:0;
  border:0;
  border-radius:14px;
  overflow:hidden;
  background:transparent;
  box-shadow:none;
}

.logo-image-link img{
  width:100%;
  height:100%;
  object-fit:contain;
  filter:drop-shadow(0 8px 14px rgba(62,37,28,.10));
}

.footer-logo-link{
  width:108px;
  height:82px;
}

.nav-links a:not(.btn),
.account-toggle{
  color:var(--color-heading);
}

.nav-links a:not(.btn):hover,
.account-toggle:hover,
.eyebrow,
.client-meta,
.menu-pill span,
.price,
.newsletter button{
  color:var(--color-primary);
}

.nav-links a:not(.btn):after,
.eyebrow:before,
.admin-stats article:before,
.dot.active,
.map:after,
.scroll-cue i{
  background:var(--color-accent);
}

.account-menu{
  background:rgba(255,249,241,.98);
  border-color:var(--color-border);
  box-shadow:var(--shadow-soft);
}

.mobile-menu-btn{
  background:var(--color-surface-clean);
  color:var(--color-primary);
  border-color:var(--color-border);
}

.hero{
  min-height:calc(100vh - 84px);
  background:
    radial-gradient(circle at 20% 20%,rgba(244,220,220,.30),transparent 28%),
    radial-gradient(circle at 72% 18%,rgba(185,154,95,.18),transparent 30%),
    linear-gradient(115deg,#FFF9F1 0%,#F5E9DC 47%,#EEDCC8 100%);
}

.hero-bg{
  background-image:
    linear-gradient(115deg,rgba(251,244,234,.78),rgba(251,244,234,.20)),
    url('https://images.unsplash.com/photo-1570172619644-dfd03ed5d881?auto=format&fit=crop&q=80&w=1800');
  background-position:center right;
  background-size:cover;
  filter:saturate(.76) contrast(.96) brightness(1.05);
  opacity:.34;
}

.hero:before{
  background:
    radial-gradient(circle at var(--hero-x,70%) var(--hero-y,30%),rgba(255,255,255,.38),transparent 18%),
    linear-gradient(90deg,rgba(251,244,234,.96) 0%,rgba(251,244,234,.82) 43%,rgba(251,244,234,.30) 74%,rgba(251,244,234,.12) 100%);
}

.hero:after{
  content:"A|Y";
  color:rgba(62,37,28,.075);
  right:-42px;
  bottom:-84px;
}

.hero-grid{
  grid-template-columns:.92fr 1.08fr;
  gap:72px;
}

.hero h1{
  max-width:760px;
  font-size:clamp(5.4rem,9.6vw,9.7rem);
  line-height:.86;
  color:var(--color-heading);
  text-wrap:balance;
}

.hero .lead{
  max-width:600px;
  margin-top:30px;
  color:#614B40;
  font-size:clamp(1.12rem,1.45vw,1.35rem);
  line-height:1.85;
}

.availability-pill{
  background:rgba(255,249,241,.78);
  border-color:rgba(185,154,95,.30);
  color:var(--color-primary);
  box-shadow:0 12px 34px rgba(62,37,28,.07);
}

.availability-pill span{
  background:var(--color-sage);
  box-shadow:0 0 0 6px rgba(157,165,133,.18);
}

.hero-logo-title{
  width:auto;
  max-width:none;
  padding:0;
  border:0;
  border-radius:0;
  overflow:visible;
  background:transparent;
  box-shadow:none;
  line-height:.86;
}

.hero-logo-title img{
  display:none;
}

.hero-card{
  border:8px solid rgba(255,249,241,.84);
  box-shadow:0 28px 86px rgba(62,37,28,.18);
}

.hero-card.large{
  border-radius:34px 34px 120px 34px;
}

.hero-card.small{
  border-radius:28px;
}

.hero-card img,
.service-image img,
.page-media img,
.booking-visual-card img{
  filter:saturate(.86) contrast(.98) brightness(1.02);
}

.btn,
button.btn,
a.btn,
.bulk-save,
.modal-header,
.socials a:hover{
  background:linear-gradient(135deg,var(--color-primary),#6B4638);
  border-color:var(--color-primary);
  color:#FFFFFF;
  box-shadow:0 16px 38px rgba(62,37,28,.19);
}

.btn:hover,
button.btn:hover,
a.btn:hover{
  background:linear-gradient(135deg,var(--color-primary-hover),#5A352A);
  border-color:var(--color-primary-hover);
  color:#FFFFFF;
  box-shadow:0 22px 52px rgba(62,37,28,.25);
}

.btn.secondary,
.btn.ghost,
.mini-btn,
.circle-btn,
.admin-tab,
.slot-option,
.preset-option,
.socials a{
  background:rgba(255,249,241,.92);
  border-color:var(--color-border);
  color:var(--color-primary);
  box-shadow:0 10px 28px rgba(62,37,28,.06);
}

.btn.secondary:hover,
.btn.ghost:hover,
.mini-btn:hover,
.circle-btn:hover,
.admin-tab:hover,
.slot-option:hover,
.preset-option:hover{
  background:var(--color-surface-champagne);
  border-color:rgba(185,154,95,.48);
  color:var(--color-primary-hover);
  transform:translateY(-2px);
}

.slot-option.is-selected,
.preset-option.is-selected,
.admin-tab.is-active{
  background:linear-gradient(135deg,var(--color-primary),#6B4638);
  border-color:var(--color-primary);
  color:#FFFFFF;
  box-shadow:0 14px 34px rgba(62,37,28,.22);
}

.slot-option.is-selected strong,
.slot-option.is-selected span,
.slot-option.is-selected small,
.preset-option.is-selected strong,
.preset-option.is-selected span,
.preset-option.is-selected small,
.admin-tab.is-active span,
.modal-header h3{
  color:#FFFFFF;
}

.service-card,.testimonial-card,.process-card,.benefit,.signature-card,
.form-card,.account-card,.admin-hero-panel,.admin-panel,.admin-stats article,
.admin-client-card,.admin-appointment-card,.availability-form,.availability-list-panel,
.availability-slot-card,.quick-presets,.manual-time-box,.booking-ritual-item,
.booking-visual-card,.contact-card,.contact-body,.modal-card,.terms-card,
.email-followup-card,.email-log-card,.appointment-card,.quick-panel,.faq-item,
.included-card,.detail-card{
  background:rgba(255,249,241,.94);
  border:1px solid var(--color-border);
  box-shadow:var(--shadow-soft);
}

.service-card:hover,.form-card:hover,.account-card:hover,.admin-appointment-card:hover,
.availability-slot-card:hover,.booking-ritual-item:hover,.booking-visual-card:hover,
.included-card:hover{
  border-color:rgba(185,154,95,.58);
  box-shadow:var(--shadow-hover);
}

.service-image,
.process-card:after,
.booking{
  background:linear-gradient(135deg,#F6EEE4,var(--color-surface-champagne));
}

.services,
.account-hero,
.page-hero,
.admin-dashboard-section,
.terms-page{
  background:
    radial-gradient(circle at 15% 0%,rgba(244,220,220,.20),transparent 25%),
    linear-gradient(180deg,var(--color-bg-soft),var(--color-bg));
}

.testimonials,
.about,
.faq-contact,
.contact-section{
  background:linear-gradient(180deg,#FFF9F1,var(--color-bg));
}

.booking-info h2,
.section-heading h2,
.page-copy h1,
.account-copy h1,
.admin-hero-panel h1{
  font-size:clamp(3rem,5.8vw,5.7rem);
}

.service-top h3,
.included-card h3,
.account-card-heading h2,
.availability-filter h3,
.email-followup-card h3{
  color:var(--color-heading);
}

.field input,.field select,.field textarea,.admin-status-field select,
.slot-summary,.checkbox-field,.newsletter input{
  background:#FFFFFF;
  border-color:var(--color-border);
  color:var(--color-text);
}

.field input:focus,.field select:focus,.field textarea:focus,
.admin-status-field select:focus{
  border-color:var(--color-accent);
  box-shadow:0 0 0 4px rgba(185,154,95,.16);
}

.success-box,.booking-auth-message.success,.slot-summary.selected,.email-pill.is-on{
  background:rgba(157,165,133,.14);
  border-color:rgba(157,165,133,.36);
  color:var(--color-heading);
}

.booking-auth-message.warning,.email-pill.is-warning,.preset-option.is-existing{
  background:rgba(185,154,95,.14);
  border-color:rgba(185,154,95,.36);
  color:var(--color-heading);
}

.booking-auth-message.error,
.error-message{
  color:#9B5B55;
}

.admin-status-pill,
.status-badge,
.email-pill{
  border-color:var(--color-border);
}

.admin-status-pill.status-requested,
.admin-appointment-card.status-requested,
.availability-slot-card{
  border-left-color:#B8956A;
}

.admin-status-pill.status-confirmed,
.admin-appointment-card.status-confirmed,
.availability-slot-card.is-booked{
  border-left-color:var(--color-accent);
}

.admin-status-pill.status-completed,
.admin-appointment-card.status-completed,
.availability-slot-card.is-unavailable{
  border-left-color:var(--color-sage);
}

.deposit-card,
.quiz-section,
.contact-card{
  background:linear-gradient(145deg,#4A2E24,#2F1D17);
  color:#FFFFFF;
}

.deposit-card p,
.deposit-card h3,
.quiz-section h2,
.quiz-section p,
.quiz-section .eyebrow,
.contact-body h3{
  color:#FFFFFF;
}

.footer{
  background:linear-gradient(180deg,#FFF9F1 0%,#F1E2D1 100%);
  border-top:1px solid var(--color-border);
  color:var(--color-text);
}

.footer h4{
  color:var(--color-heading);
}

.footer p,
.footer a,
.copyright{
  color:var(--color-muted);
}

.newsletter{
  border-bottom-color:var(--color-border);
}

.toast{
  background:var(--color-primary-hover);
  color:#FFFFFF;
}

@media (max-width:780px){
  .nav{
    height:76px;
  }

  .logo-image-link{
    width:72px;
    height:56px;
    border-radius:12px;
  }

  .nav-links{
    top:86px;
    background:rgba(251,244,234,.98);
    border-color:var(--color-border);
  }

  .hero{
    padding:54px 0 76px;
  }

  .hero h1{
    font-size:clamp(4.1rem,19vw,6.2rem);
    line-height:.88;
  }

  .hero-bg{
    opacity:.20;
    background-position:center;
  }

  .footer-logo-link{
    width:94px;
    height:72px;
  }
}

/* Targeted cream/champagne correction requested July 30 */
:root{
  --color-bg:#F7EFE5;
  --color-bg-soft:#FFF9F1;
  --color-surface:#FFF9F1;
  --color-surface-clean:#FFFFFF;
  --color-surface-2:#EFE0CF;
  --color-surface-blush:#F7EFE5;
  --color-heading:#3B241B;
  --color-text:#4F3A30;
  --color-muted:#7B675C;
  --color-primary:#4A2E23;
  --color-primary-hover:#2F1C15;
  --color-accent:#B8956A;
  --color-border:#D8C4AD;
  --color-sage:#8F967C;
  --cream:var(--color-bg);
  --cream-2:var(--color-bg-soft);
  --cream-3:var(--color-surface-2);
  --cream-4:var(--color-surface);
  --sage:var(--color-primary);
  --sage-dark:var(--color-heading);
  --sage-light:var(--color-accent);
  --sage-soft:#F3E7DA;
  --brown:var(--color-muted);
  --brown-dark:var(--color-heading);
  --taupe:var(--color-muted);
  --charcoal:var(--color-text);
  --line:var(--color-border);
  --blush:#F3E7DA;
  --shadow:0 26px 72px rgba(59,36,27,.13);
  --shadow-soft:0 14px 38px rgba(59,36,27,.08);
  --shadow-hover:0 32px 82px rgba(59,36,27,.17);
}

body{
  background:var(--color-bg);
  color:var(--color-text);
}

body .site-header,
body .site-header.scrolled{
  background:rgba(255,249,241,.96);
  border-bottom:1px solid var(--color-border);
  box-shadow:0 10px 28px rgba(59,36,27,.055);
}

body .site-header.scrolled{
  background:rgba(255,249,241,.99);
  box-shadow:0 16px 38px rgba(59,36,27,.075);
}

body .nav-links,
body .account-menu{
  background:rgba(255,249,241,.98);
  border-color:var(--color-border);
}

body .nav-links a:not(.btn),
body .account-toggle,
body .mobile-menu-btn{
  color:var(--color-heading);
}

body .nav-links a:not(.btn):hover,
body .account-toggle:hover{
  color:var(--color-primary);
}

body .nav-links a:not(.btn):after{
  background:var(--color-accent);
}

body .logo-image-link{
  background:transparent;
  border:0;
  box-shadow:none;
}

body .logo-image-link img{
  object-fit:contain;
  filter:drop-shadow(0 7px 12px rgba(59,36,27,.10));
}

body .hero{
  background:
    linear-gradient(90deg,rgba(216,196,173,.20) 1px,transparent 1px) 0 0/92px 92px,
    linear-gradient(180deg,var(--color-surface) 0%,var(--color-bg) 100%);
}

body .hero-bg{
  background-image:none;
  background:
    linear-gradient(135deg,rgba(255,249,241,.72),rgba(239,224,207,.46)),
    linear-gradient(90deg,rgba(184,149,106,.12) 1px,transparent 1px) 0 0/120px 120px;
  opacity:.42;
  filter:none;
  animation:none;
}

body .hero:before{
  background:
    linear-gradient(90deg,rgba(255,249,241,.95) 0%,rgba(255,249,241,.78) 45%,rgba(247,239,229,.26) 100%);
}

body .hero:after{
  color:rgba(184,149,106,.13);
}

.brand-separator{
  color:var(--color-accent);
}

body .hero h1,
body .section-heading h2,
body .booking-info h2,
body .page-copy h1,
body .account-copy h1,
body .account-card h1,
body .admin-hero-panel h1,
body .admin-panel-heading h2,
body .terms-intro h1,
body .terms-section h2{
  color:var(--color-heading);
}

body .hero .lead,
body p,
body .lead,
body .section-heading p,
body .form-note,
body .admin-panel-heading p{
  color:var(--color-muted);
}

body .btn,
body button.btn,
body a.btn,
body .bulk-save,
body .modal-header{
  background:var(--color-primary);
  border-color:var(--color-primary);
  color:#FFFFFF;
  box-shadow:0 15px 34px rgba(74,46,35,.20);
}

body .btn:hover,
body button.btn:hover,
body a.btn:hover{
  background:var(--color-primary-hover);
  border-color:var(--color-primary-hover);
  color:#FFFFFF;
  box-shadow:0 20px 46px rgba(47,28,21,.24);
}

body .btn.secondary,
body .btn.ghost,
body .mini-btn,
body .circle-btn,
body .admin-tab,
body .slot-option,
body .preset-option,
body .socials a{
  background:var(--color-surface);
  border-color:var(--color-border);
  color:var(--color-primary);
  box-shadow:0 9px 24px rgba(59,36,27,.055);
}

body .btn.secondary:hover,
body .btn.ghost:hover,
body .mini-btn:hover,
body .circle-btn:hover,
body .admin-tab:hover,
body .slot-option:hover,
body .preset-option:hover{
  background:var(--color-surface-2);
  border-color:var(--color-accent);
  color:var(--color-primary-hover);
}

body .slot-option.is-selected,
body .preset-option.is-selected,
body .admin-tab.is-active{
  background:var(--color-primary);
  border-color:var(--color-primary);
  color:#FFFFFF;
}

body .eyebrow,
body .availability-pill,
body .client-meta,
body .menu-pill span,
body .price,
body .newsletter button{
  color:var(--color-primary);
}

body .eyebrow:before,
body .availability-pill span,
body .admin-stats article:before,
body .dot.active,
body .map:after,
body .scroll-cue i{
  background:var(--color-accent);
}

body .form-card,
body .account-card,
body .admin-hero-panel,
body .admin-panel,
body .admin-stats article,
body .admin-client-card,
body .admin-appointment-card,
body .availability-form,
body .availability-list-panel,
body .availability-slot-card,
body .quick-presets,
body .manual-time-box,
body .booking-ritual-item,
body .booking-visual-card,
body .service-card,
body .testimonial-card,
body .faq-item,
body .terms-card{
  background:var(--color-surface);
  border-color:var(--color-border);
}

body .field input,
body .field select,
body .field textarea,
body .admin-status-field select,
body .slot-summary,
body .checkbox-field,
body .newsletter input{
  background:#FFFFFF;
  border-color:var(--color-border);
  color:var(--color-text);
}

body .field input:focus,
body .field select:focus,
body .field textarea:focus,
body .admin-status-field select:focus{
  border-color:var(--color-accent);
  box-shadow:0 0 0 4px rgba(184,149,106,.14);
}

/* A|Y logo-inspired brand refresh */
body{
  background:
    radial-gradient(circle at 12% 6%,rgba(74,46,35,.18),transparent 27%),
    radial-gradient(circle at 88% 12%,rgba(198,161,90,.12),transparent 24%),
    linear-gradient(180deg,var(--color-bg-soft),var(--color-bg));
  color:var(--color-text);
}

h1,
h2,
h3,
h4,
.display,
.section-heading h2,
.about-content h2,
.booking-info h2,
.page-copy h1,
.account-copy h1,
.account-card-heading h2,
.admin-panel-heading h2,
.admin-hero-panel h1,
.terms-intro h1,
.terms-section h2{
  color:var(--color-heading);
}

p,
.lead,
.form-note,
.field-hint,
.admin-panel-heading p,
.account-card-heading p,
.quick-presets-heading p,
.slot-option span,
.slot-option small,
.preset-option span,
.footer p,
.footer a,
.copyright{
  color:var(--color-muted);
}

.site-header{
  background:rgba(255,249,241,.82);
  border-bottom-color:rgba(226,207,192,.72);
}

.site-header.scrolled{
  background:rgba(255,249,241,.96);
  box-shadow:0 16px 40px rgba(75,46,36,.075);
}

.logo-image-link{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:126px;
  height:58px;
  padding:4px;
  flex:0 0 auto;
  overflow:hidden;
  border:1px solid rgba(226,207,192,.82);
  border-radius:18px;
  background:linear-gradient(135deg,#F4E8DA,#FFF9F1);
  box-shadow:0 10px 28px rgba(75,46,36,.10);
}

.logo-image-link img{
  width:100%;
  height:100%;
  object-fit:contain;
}

.footer-logo-link{
  width:148px;
  height:70px;
  margin-bottom:4px;
}

.nav-links a:not(.btn),
.account-toggle{
  color:var(--color-muted);
}

.nav-links a:not(.btn):after,
.eyebrow:before,
.terms-card:before{
  background:linear-gradient(90deg,var(--color-primary),var(--color-accent));
}

.eyebrow,
.availability-pill,
.service-note i,
.scroll-cue,
.faq-trigger span:last-child{
  color:var(--color-primary-hover);
}

.mobile-menu-btn,
.account-toggle{
  background:var(--color-surface-clean);
  border-color:var(--color-border);
  color:var(--color-heading);
}

.nav-links{
  background:rgba(255,249,241,.98);
  border-color:var(--color-border);
}

.btn,
button.btn,
a.btn,
.mini-btn:hover,
.circle-btn:hover,
.slot-option.is-selected,
.preset-option.is-selected,
.admin-tab.is-active,
.bulk-save,
.modal-header,
.socials a:hover{
  background:var(--color-primary);
  border-color:var(--color-primary);
  color:#FFFFFF;
  box-shadow:0 16px 38px rgba(74,46,35,.24);
}

.btn:hover,
button.btn:hover,
a.btn:hover,
.mini-btn:hover,
.slot-option.is-selected:hover,
.preset-option.is-selected:hover{
  background:var(--color-primary-hover);
  border-color:var(--color-primary-hover);
  color:#FFFFFF;
  box-shadow:0 20px 48px rgba(47,28,21,.28);
}

.btn.secondary,
.btn.ghost,
.mini-btn,
.circle-btn,
.socials a,
.admin-tab,
.preset-option,
.slot-option{
  background:rgba(255,255,255,.78);
  border-color:var(--color-border);
  color:var(--color-heading);
  box-shadow:0 10px 28px rgba(75,46,36,.055);
}

.btn.secondary:hover,
.btn.ghost:hover,
.admin-tab:hover,
.preset-option:hover,
.slot-option:hover,
.menu-pill:hover{
  background:var(--color-surface-blush);
  border-color:var(--color-primary);
  color:var(--color-heading);
  box-shadow:0 16px 38px rgba(75,46,36,.10);
}

.hero{
  background:
    radial-gradient(circle at 19% 22%,rgba(74,46,35,.20),transparent 31%),
    radial-gradient(circle at 76% 18%,rgba(198,161,90,.12),transparent 26%),
    linear-gradient(115deg,#FFF9F1 0%,#F4E8DA 54%,#EFE0D0 100%);
}

.hero:before{
  background:linear-gradient(90deg,rgba(255,249,241,.94) 0%,rgba(255,249,241,.76) 46%,rgba(244,232,218,.20) 76%);
}

.hero:after{
  color:rgba(75,46,36,.055);
}

.hero-logo-title{
  display:block;
  width:min(100%,430px);
  max-width:430px;
  padding:0;
  border:1px solid rgba(226,207,192,.88);
  border-radius:32px;
  overflow:hidden;
  background:linear-gradient(135deg,#F4E8DA,#FFF9F1);
  box-shadow:0 24px 72px rgba(75,46,36,.14);
  line-height:0;
}

.hero-logo-title img{
  width:100%;
  height:auto;
  object-fit:contain;
}

.availability-pill,
.terms-updated{
  background:rgba(255,255,255,.76);
  border-color:rgba(226,207,192,.9);
  color:var(--color-heading);
}

.availability-pill span{
  background:var(--color-sage);
  box-shadow:0 0 0 5px rgba(159,168,142,.18);
}

.section,
.services,
.booking,
.about,
.testimonials,
.account-hero,
.page-hero,
.terms-hero{
  background-color:transparent;
}

.booking,
.quiz-section{
  background:
    radial-gradient(circle at 82% 20%,rgba(74,46,35,.13),transparent 30%),
    linear-gradient(180deg,var(--color-bg),var(--color-bg-soft));
}

.service-card,
.testimonial-card,
.process-card,
.benefit,
.signature-card,
.form-card,
.account-card,
.admin-hero-panel,
.admin-panel,
.admin-stats article,
.availability-form,
.availability-list-panel,
.availability-slot-card,
.quick-presets,
.manual-time-box,
.booking-ritual-item,
.booking-visual-card,
.contact-card,
.contact-body,
.modal-card,
.terms-card,
.email-followup-card,
.email-log-card,
.appointment-card,
.profile-summary-card{
  background:rgba(255,249,241,.88);
  border-color:var(--color-border);
  box-shadow:0 20px 58px rgba(75,46,36,.09);
}

.service-card:hover,
.testimonial-card:hover,
.process-card:hover,
.form-card:hover,
.account-card:hover,
.admin-stats article:hover,
.availability-slot-card:hover,
.booking-ritual-item:hover,
.booking-visual-card:hover{
  box-shadow:0 28px 74px rgba(75,46,36,.14);
}

.service-image,
.page-media .main-img,
.hero-card,
.client-img,
.booking-visual-card{
  background:linear-gradient(135deg,var(--color-bg),var(--color-surface-blush));
  border-color:rgba(255,249,241,.72);
}

.field label,
.quick-field span,
.booking-item strong,
.contact-row strong,
.service-top h3,
.admin-stats span,
.status-label{
  color:var(--color-heading);
}

.field input,
.field select,
.field textarea,
.newsletter input,
.quick-field,
.slot-summary,
.checkbox-field{
  background:rgba(255,255,255,.82);
  border-color:var(--color-border);
  color:var(--color-text);
}

.field input:focus,
.field select:focus,
.field textarea:focus{
  border-color:var(--color-primary);
  background:#FFFFFF;
  box-shadow:0 0 0 4px rgba(74,46,35,.14);
}

.field.error input,
.field.error select,
.field.error textarea,
.field.error .checkbox-field{
  border-color:var(--color-primary-hover);
}

.error-message{
  color:var(--color-primary-hover);
}

.success-box,
.booking-auth-message.success,
.slot-summary.selected,
.email-pill.is-on{
  background:rgba(159,168,142,.14);
  border-color:rgba(159,168,142,.35);
  color:var(--color-heading);
}

.booking-auth-message.warning,
.email-pill.is-warning,
.preset-option.is-existing{
  background:rgba(198,161,90,.14);
  border-color:rgba(198,161,90,.32);
  color:var(--color-heading);
}

.booking-auth-message.error{
  background:rgba(47,28,21,.12);
  border-color:rgba(47,28,21,.30);
  color:var(--color-primary-hover);
}

.price,
.admin-stats strong,
.admin-tab span,
.menu-pill span,
.client-meta,
.newsletter button{
  color:var(--color-primary-hover);
}

.admin-stats article:before,
.dot.active,
.map:after,
.scroll-cue i{
  background:var(--color-primary);
}

.availability-slot-card,
.admin-appointment-card{
  border-left-color:var(--color-primary);
}

.availability-slot-card.is-booked,
.admin-appointment-card.status-confirmed{
  border-left-color:var(--color-accent);
}

.availability-slot-card.is-unavailable,
.admin-appointment-card.status-completed{
  border-left-color:var(--color-sage);
}

.admin-appointment-card.status-cancelled{
  border-left-color:var(--color-primary-hover);
}

.footer{
  background:linear-gradient(180deg,var(--color-surface-clean),var(--color-bg));
  border-top-color:var(--color-border);
}

.footer .logo,
.footer h4{
  color:var(--color-heading);
}

.newsletter,
.copyright,
.contact-row,
.modal-summary div,
.terms-section{
  border-color:var(--color-border);
}

.modal-header h3,
.slot-option.is-selected strong,
.slot-option.is-selected span,
.slot-option.is-selected small,
.preset-option.is-selected strong,
.preset-option.is-selected span,
.preset-option.is-selected small,
.admin-tab.is-active,
.admin-tab.is-active span{
  color:#FFFFFF;
}

.btn.secondary,
.btn.ghost{
  color:var(--color-heading);
}

.terms-page{
  background:
    radial-gradient(circle at 12% 7%,rgba(74,46,35,.20),transparent 28%),
    radial-gradient(circle at 88% 18%,rgba(198,161,90,.14),transparent 25%),
    linear-gradient(135deg,var(--color-bg-soft) 0%,var(--color-bg) 48%,#EFE0D0 100%);
}

.terms-opening{
  background:linear-gradient(135deg,#FFFFFF,var(--color-surface));
  border-color:var(--color-border);
  border-left-color:var(--color-primary);
  color:var(--color-text);
}

.terms-section h2{
  border-left-color:var(--color-primary);
}

.terms-section p{
  color:var(--color-text);
}

@media (max-width:720px){
  .logo-image-link{
    width:108px;
    height:50px;
    border-radius:15px;
  }

  .footer-logo-link{
    width:128px;
    height:62px;
  }

  .hero-logo-title{
    width:min(100%,320px);
    border-radius:24px;
  }
}

/* Terms and conditions */
.terms-page{
  background:
    radial-gradient(circle at 12% 7%,rgba(216,196,173,.20),transparent 28%),
    radial-gradient(circle at 88% 18%,rgba(255,255,255,.92),transparent 24%),
    linear-gradient(135deg,#FAF9F7 0%,#F8F3EF 46%,#F3F0EC 100%);
  color:#25221F;
}

.terms-hero{
  padding:150px 0 112px;
  position:relative;
  overflow:hidden;
}

.terms-hero:before{
  content:"";
  position:absolute;
  inset:80px auto auto 6%;
  width:240px;
  height:240px;
  border-radius:50%;
  background:rgba(216,196,173,.22);
  filter:blur(34px);
  pointer-events:none;
}

.terms-hero:after{
  content:"";
  position:absolute;
  right:7%;
  top:150px;
  width:340px;
  height:340px;
  border:1px solid rgba(222,216,210,.48);
  border-radius:50%;
  background:radial-gradient(circle,rgba(255,255,255,.54),transparent 68%);
  pointer-events:none;
}

.terms-shell{
  position:relative;
  display:grid;
  justify-items:center;
  gap:42px;
  z-index:1;
}

.terms-intro{
  width:min(100%,860px);
  margin:0 auto;
  text-align:center;
}

.terms-intro .eyebrow{
  display:inline-flex;
  padding:9px 15px;
  border:1px solid #DED8D2;
  border-radius:999px;
  background:rgba(255,255,255,.72);
  box-shadow:0 12px 36px rgba(37,34,31,.045);
}

.terms-intro h1{
  margin:18px auto 22px;
  max-width:880px;
  font-family:var(--serif);
  font-size:clamp(4.4rem,10vw,8.4rem);
  font-weight:300;
  line-height:.86;
  letter-spacing:0;
  color:#25221F;
  text-wrap:balance;
}

.terms-intro .lead{
  max-width:670px;
  margin:0 auto;
  color:#4B4540;
  font-size:clamp(1.02rem,2vw,1.18rem);
  line-height:1.78;
}

.terms-updated{
  display:inline-flex;
  margin-top:24px;
  padding:11px 18px;
  border:1px solid #DED8D2;
  border-radius:999px;
  background:rgba(255,255,255,.82);
  color:#4B4540;
  font-size:.82rem;
  font-weight:700;
  letter-spacing:.04em;
  box-shadow:0 12px 32px rgba(37,34,31,.045);
}

.terms-card{
  width:min(100%,860px);
  margin:4px auto 0;
  padding:clamp(30px,6vw,66px);
  position:relative;
  overflow:hidden;
  border:1px solid rgba(222,216,210,.95);
  border-radius:36px;
  background:rgba(255,255,255,.94);
  box-shadow:0 28px 90px rgba(37,34,31,.10);
  backdrop-filter:blur(16px);
}

.terms-card:before{
  content:"";
  position:absolute;
  inset:0 0 auto;
  height:7px;
  background:linear-gradient(90deg,#E8E0DA,#4A2E23,#E8E0DA);
}

.terms-opening{
  margin:0 0 34px;
  padding:24px 26px;
  border:1px solid #DED8D2;
  border-left:4px solid #4A2E23;
  border-radius:22px;
  background:linear-gradient(135deg,#FFFFFF,#FAF9F7);
  color:#2F2A26;
  font-size:1.06rem;
  font-weight:600;
  line-height:1.86;
  box-shadow:0 16px 42px rgba(37,34,31,.05);
}

.terms-section{
  padding:40px 0 44px;
  border-top:1px solid #DED8D2;
}

.terms-section h2{
  margin:0 0 18px;
  padding-left:18px;
  border-left:3px solid #4A2E23;
  font-family:var(--serif);
  font-size:clamp(1.9rem,3.4vw,2.65rem);
  font-weight:500;
  line-height:1.12;
  color:#25221F;
  text-wrap:balance;
}

.terms-section p{
  max-width:72ch;
  margin:0 0 17px;
  color:#3D3732;
  font-size:1.02rem;
  line-height:1.92;
}

.terms-section p:last-child{
  margin-bottom:0;
}

.terms-field{
  margin:18px 0;
}

.terms-field .checkbox-field{
  background:#FFFFFF;
}

.terms-field a,
.terms-card a{
  color:#8A7A6D;
  font-weight:800;
  text-decoration:underline;
  text-underline-offset:3px;
}

@media (max-width:720px){
  .terms-hero{
    padding:108px 0 76px;
  }

  .terms-intro{
    text-align:left;
  }

  .terms-intro h1{
    font-size:clamp(3.55rem,16vw,5.4rem);
    line-height:.92;
  }

  .terms-card{
    padding:30px 20px;
    border-radius:26px;
  }

  .terms-opening{
    padding:18px;
    font-size:1rem;
  }

  .terms-section{
    padding:32px 0 36px;
  }

  .terms-section h2{
    font-size:1.72rem;
    padding-left:14px;
  }

  .terms-section p{
    font-size:.98rem;
    line-height:1.82;
  }
}

/* Luxury custom cursor: desktop-only soft pearl/blush light */
@media (hover: hover) and (pointer: fine){
  body.has-luxury-cursor .luxury-cursor-dot,
  body.has-luxury-cursor .luxury-cursor-glow{
    position:fixed;
    left:0;
    top:0;
    pointer-events:none;
    opacity:0;
    z-index:10000;
    will-change:transform, opacity, width, height;
  }

  body.has-luxury-cursor .luxury-cursor-dot{
    width:7px;
    height:7px;
    border-radius:999px;
    background:rgba(255,255,255,.96);
    border:1px solid rgba(74,46,35,.70);
    box-shadow:
      0 0 10px rgba(255,255,255,.78),
      0 0 18px rgba(74,46,35,.34);
    transition:opacity .18s ease, width .24s ease, height .24s ease, background-color .24s ease;
  }

  body.has-luxury-cursor .luxury-cursor-glow{
    width:58px;
    height:58px;
    border-radius:999px;
    background:
      radial-gradient(circle,rgba(255,255,255,.52) 0%,rgba(248,243,239,.28) 38%,rgba(216,196,173,.18) 62%,rgba(216,196,173,0) 76%);
    border:1px solid rgba(216,196,173,.26);
    box-shadow:
      0 0 26px rgba(255,255,255,.34),
      0 0 44px rgba(74,46,35,.18);
    filter:blur(.2px);
    transition:opacity .22s ease, width .28s ease, height .28s ease, border-color .28s ease, filter .28s ease;
  }

  body.has-luxury-cursor.cursor-ready .luxury-cursor-dot{
    opacity:.92;
  }

  body.has-luxury-cursor.cursor-ready .luxury-cursor-glow{
    opacity:.46;
  }

  body.has-luxury-cursor.cursor-hover .luxury-cursor-dot{
    width:9px;
    height:9px;
    background:rgba(255,248,246,.98);
  }

  body.has-luxury-cursor.cursor-hover .luxury-cursor-glow{
    width:92px;
    height:92px;
    opacity:.58;
    border-color:rgba(74,46,35,.38);
    filter:blur(.7px);
  }

  body.has-luxury-cursor.cursor-pressed .luxury-cursor-glow{
    width:76px;
    height:76px;
    opacity:.66;
  }
}

@media (hover: none), (pointer: coarse), (prefers-reduced-motion: reduce){
  .luxury-cursor-dot,
  .luxury-cursor-glow{
    display:none !important;
  }
}

/* Email consent and follow-up manager */
.email-consent-box,
.email-followup-card,
.email-log-card{
  display:grid;
  gap:14px;
  margin:22px 0;
  padding:20px;
  border:1px solid #DED8D2;
  border-radius:24px;
  background:#FFFFFF;
  box-shadow:0 14px 36px rgba(37,34,31,.055);
}

.account-card-heading.compact{
  margin-bottom:4px;
}

.account-card-heading.compact h3{
  font-size:1.45rem;
}

.checkbox-field{
  display:grid;
  grid-template-columns:auto 1fr;
  gap:12px;
  align-items:flex-start;
  padding:14px;
  border:1px solid #DED8D2;
  border-radius:18px;
  background:#FAF9F7;
  cursor:pointer;
}

.checkbox-field input{
  width:18px;
  height:18px;
  margin-top:4px;
  accent-color:#4A2E23;
}

.checkbox-field strong,
.email-followup-card h3,
.email-log-card h3{
  display:block;
  color:#25221F;
}

.checkbox-field small,
.email-followup-card p,
.email-log-card p,
.email-meta-line{
  display:block;
  color:#6F6862;
}

.email-followup-grid,
.email-log-grid{
  display:grid;
  gap:16px;
}

.email-pill-row{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin-top:12px;
}

.email-pill{
  display:inline-flex;
  align-items:center;
  gap:6px;
  padding:8px 10px;
  border:1px solid #DED8D2;
  border-radius:999px;
  background:#F8F3EF;
  color:#6F6862;
  font-size:.72rem;
  font-weight:800;
  letter-spacing:.06em;
  text-transform:uppercase;
}

.email-pill.is-on{
  background:#4A2E23;
  border-color:#4A2E23;
  color:#FFFFFF;
}

.email-pill.is-warning{
  background:#FFFFFF;
  border-color:#D8C4AD;
  color:#2F1C15;
}

.email-actions{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin-top:16px;
}

.admin-email-toolbar{
  display:grid;
  justify-items:end;
  gap:12px;
  max-width:520px;
}

.admin-email-toolbar .account-message{
  width:100%;
  margin:0;
  text-align:left;
}

.email-log-list{
  display:grid;
  gap:10px;
  margin-top:16px;
}

.email-log-item{
  display:grid;
  gap:4px;
  padding:12px;
  border:1px solid #DED8D2;
  border-radius:16px;
  background:#FAF9F7;
}

.email-status-queued,
.email-status-processing{
  color:#6F6862;
}

.email-status-sent{
  color:#25221F;
}

.email-status-failed,
.email-status-skipped,
.email-status-cancelled{
  color:#2F1C15;
}

/* Final darker immersive hero motion layer */
body .hero{
  --hero-x:72%;
  --hero-y:28%;
  background:
    radial-gradient(circle at 10% 12%,rgba(255,255,255,.80),transparent 28%),
    radial-gradient(circle at 82% 10%,rgba(74,46,35,.22),transparent 24%),
    radial-gradient(circle at 84% 86%,rgba(37,34,31,.30),transparent 36%),
    linear-gradient(120deg,#F3F0EC 0%,#FAF9F7 42%,#CFC6BE 100%) !important;
  overflow:hidden;
  isolation:isolate;
}

body .hero-bg{
  background:
    linear-gradient(90deg,rgba(250,249,247,.97) 0%,rgba(250,249,247,.78) 38%,rgba(37,34,31,.22) 72%,rgba(37,34,31,.46) 100%),
    linear-gradient(180deg,rgba(255,255,255,.08),rgba(37,34,31,.34)),
    url("https://images.unsplash.com/photo-1540555700478-4be289fbecef?auto=format&fit=crop&q=80&w=1800") !important;
  background-size:cover !important;
  background-position:center right !important;
  opacity:.86 !important;
  filter:saturate(.76) contrast(1.08) brightness(.78) !important;
  transform:scale(1.055) !important;
}

body .hero:before{
  background:
    radial-gradient(circle at var(--hero-x) var(--hero-y),rgba(255,255,255,.38),transparent 18%),
    radial-gradient(circle at 62% 14%,rgba(255,255,255,.30),transparent 22%),
    radial-gradient(circle at 16% 80%,rgba(74,46,35,.15),transparent 28%),
    linear-gradient(90deg,rgba(250,249,247,.99) 0%,rgba(250,249,247,.84) 44%,rgba(250,249,247,.22) 72%,rgba(37,34,31,.24) 100%) !important;
  opacity:.98;
  transition:background .16s ease-out;
  animation:ayHeroGlowPulse 7s ease-in-out infinite alternate;
}

body .hero:after{
  color:rgba(255,255,255,.24) !important;
  text-shadow:0 34px 90px rgba(37,34,31,.22);
}

body .hero-copy,
body .hero-visual{
  position:relative;
  z-index:2;
}

body .hero-card{
  box-shadow:0 30px 90px rgba(37,34,31,.20);
  transition:transform .55s cubic-bezier(.2,.8,.2,1), box-shadow .55s ease, border-color .55s ease;
}

body .hero-card.large{
  animation:ayHeroFloatMain 8.5s ease-in-out infinite alternate;
}

body .hero-card.small{
  animation:ayHeroFloatSmall 7.25s ease-in-out infinite alternate;
}

body .hero-card img{
  filter:saturate(.82) contrast(1.02) brightness(1.02);
  transition:transform .8s cubic-bezier(.2,.8,.2,1), filter .55s ease;
}

body .hero-card:hover{
  transform:translateY(-8px) scale(1.012);
  box-shadow:0 36px 104px rgba(37,34,31,.25);
}

body .hero-card:hover img,
body .booking-visual-card:hover img,
body .service-card:hover img{
  transform:scale(1.055);
}

body .btn,
body .service-card,
body .form-card,
body .booking-ritual-item,
body .booking-visual-card,
body .testimonial-card,
body .faq-item,
body .profile-panel,
body .appointment-card,
body .admin-card,
body .admin-appointment-card,
body .client-card,
body .availability-slot-card{
  transition:transform .32s ease, box-shadow .32s ease, border-color .32s ease, background-color .32s ease, color .32s ease;
}

body .btn:hover{
  transform:translateY(-3px);
  box-shadow:0 16px 38px rgba(37,34,31,.16);
}

body .service-card:hover,
body .form-card:hover,
body .booking-ritual-item:hover,
body .testimonial-card:hover,
body .faq-item:hover,
body .profile-panel:hover,
body .appointment-card:hover,
body .admin-card:hover,
body .admin-appointment-card:hover,
body .client-card:hover,
body .availability-slot-card:hover{
  transform:translateY(-5px);
  box-shadow:0 18px 46px rgba(37,34,31,.11);
}

body .booking-visual-card img,
body .service-card img{
  transition:transform .75s cubic-bezier(.2,.8,.2,1), filter .45s ease;
}

body .reveal{
  opacity:0;
  transform:translateY(28px);
  transition:opacity .78s cubic-bezier(.2,.8,.2,1), transform .78s cubic-bezier(.2,.8,.2,1);
}

body .reveal.is-visible{
  opacity:1;
  transform:translateY(0);
}

body .reveal.is-visible.service-card:hover,
body .reveal.is-visible.form-card:hover,
body .reveal.is-visible.booking-ritual-item:hover,
body .reveal.is-visible.testimonial-card:hover,
body .reveal.is-visible.faq-item:hover,
body .reveal.is-visible.profile-panel:hover,
body .reveal.is-visible.appointment-card:hover,
body .reveal.is-visible.admin-card:hover,
body .reveal.is-visible.admin-appointment-card:hover,
body .reveal.is-visible.client-card:hover,
body .reveal.is-visible.availability-slot-card:hover{
  transform:translateY(-5px);
}

@keyframes ayHeroGlowPulse{
  from{
    opacity:.91;
  }
  to{
    opacity:1;
  }
}

@keyframes ayHeroFloatMain{
  from{
    translate:0 0;
  }
  to{
    translate:0 -10px;
  }
}

@keyframes ayHeroFloatSmall{
  from{
    translate:0 0;
  }
  to{
    translate:8px -12px;
  }
}

@media (max-width: 760px){
  body .hero-bg{
    background:
      linear-gradient(180deg,rgba(250,249,247,.96),rgba(250,249,247,.78),rgba(37,34,31,.28)),
      url("https://images.unsplash.com/photo-1540555700478-4be289fbecef?auto=format&fit=crop&q=80&w=1100") !important;
    background-size:cover !important;
    background-position:center !important;
    opacity:.62 !important;
  }

  body .hero:before{
    background:
      radial-gradient(circle at var(--hero-x) var(--hero-y),rgba(255,255,255,.34),transparent 22%),
      linear-gradient(180deg,rgba(250,249,247,.98) 0%,rgba(250,249,247,.78) 58%,rgba(37,34,31,.16) 100%) !important;
  }
}

@media (prefers-reduced-motion: reduce){
  body .hero:before,
  body .hero-card.large,
  body .hero-card.small{
    animation:none;
  }

  body .reveal{
    opacity:1;
    transform:none;
  }
}

/* Final immersive homepage hero override */
.hero{
  position:relative;
  min-height:calc(100vh - 86px) !important;
  isolation:isolate;
  overflow:hidden;
  --hero-x:72%;
  --hero-y:28%;
  background:
    radial-gradient(circle at 12% 18%,rgba(255,255,255,.88),transparent 30%),
    radial-gradient(circle at 82% 10%,rgba(74,46,35,.24),transparent 24%),
    radial-gradient(circle at 76% 82%,rgba(37,34,31,.18),transparent 34%),
    linear-gradient(120deg,#F3F0EC 0%,#FAF9F7 42%,#D9D0C8 100%) !important;
}

.hero-bg{
  background:
    linear-gradient(90deg,rgba(250,249,247,.96) 0%,rgba(250,249,247,.74) 42%,rgba(37,34,31,.20) 74%,rgba(37,34,31,.38) 100%),
    linear-gradient(180deg,rgba(255,255,255,.10),rgba(37,34,31,.32)),
    url("https://images.unsplash.com/photo-1540555700478-4be289fbecef?auto=format&fit=crop&q=80&w=1600") !important;
  background-size:cover !important;
  background-position:center right !important;
  opacity:.78 !important;
  filter:saturate(.74) contrast(1.06) brightness(.84) !important;
  transform:scale(1.03) !important;
  animation:heroImageBreath 18s ease-in-out infinite alternate;
}

.hero:before{
  background:
    radial-gradient(circle at var(--hero-x) var(--hero-y),rgba(255,255,255,.34),transparent 18%),
    radial-gradient(circle at 68% 18%,rgba(255,255,255,.34),transparent 20%),
    radial-gradient(circle at 14% 78%,rgba(74,46,35,.16),transparent 26%),
    linear-gradient(90deg,rgba(250,249,247,.98) 0%,rgba(250,249,247,.78) 46%,rgba(250,249,247,.20) 72%,rgba(37,34,31,.22) 100%) !important;
  transition:background .18s ease-out;
}

.hero:after{
  color:rgba(255,255,255,.24) !important;
}

.hero-card{
  backdrop-filter:blur(10px);
  box-shadow:0 26px 80px rgba(37,34,31,.18);
  transition:transform .55s cubic-bezier(.2,.8,.2,1), box-shadow .55s ease, border-color .55s ease;
}

.hero-card img{
  filter:saturate(.76) contrast(.98) brightness(1.06);
  transition:transform .8s cubic-bezier(.2,.8,.2,1), filter .55s ease;
}

.hero-card.large{
  animation:heroCardFloat 8.5s ease-in-out infinite alternate;
}

.hero-card.small{
  animation:heroCardFloatSmall 7s ease-in-out infinite alternate;
}

.hero-card:hover{
  transform:translateY(-8px) scale(1.015);
  box-shadow:0 34px 96px rgba(37,34,31,.24);
}

.hero-card:hover img,
.booking-visual-card:hover img,
.service-card:hover img{
  transform:scale(1.055);
}

.hero-copy,
.hero-visual{
  position:relative;
  z-index:1;
}

.btn,
.service-card,
.form-card,
.booking-ritual-item,
.booking-visual-card,
.testimonial-card,
.faq-item,
.profile-panel,
.appointment-card,
.admin-card,
.admin-appointment-card,
.client-card,
.availability-slot-card{
  transition:transform .32s ease, box-shadow .32s ease, border-color .32s ease, background-color .32s ease, color .32s ease;
}

.btn:hover{
  transform:translateY(-3px);
  box-shadow:0 16px 38px rgba(37,34,31,.16);
}

.service-card:hover,
.form-card:hover,
.booking-ritual-item:hover,
.testimonial-card:hover,
.faq-item:hover,
.profile-panel:hover,
.appointment-card:hover,
.admin-card:hover,
.admin-appointment-card:hover,
.client-card:hover,
.availability-slot-card:hover{
  transform:translateY(-5px);
  box-shadow:0 18px 46px rgba(37,34,31,.11);
}

.booking-visual-card img,
.service-card img{
  transition:transform .75s cubic-bezier(.2,.8,.2,1), filter .45s ease;
}

.reveal{
  opacity:0;
  transform:translateY(28px);
  transition:opacity .78s cubic-bezier(.2,.8,.2,1), transform .78s cubic-bezier(.2,.8,.2,1);
}

.reveal.is-visible{
  opacity:1;
  transform:translateY(0);
}

@keyframes heroImageBreath{
  from{
    background-position:center right;
  }
  to{
    background-position:58% center;
  }
}

@keyframes heroCardFloat{
  from{
    translate:0 0;
  }
  to{
    translate:0 -10px;
  }
}

@keyframes heroCardFloatSmall{
  from{
    translate:0 0;
  }
  to{
    translate:8px -12px;
  }
}

@media (prefers-reduced-motion: reduce){
  .hero-bg,
  .hero-card.large,
  .hero-card.small{
    animation:none;
  }

  .reveal{
    opacity:1;
    transform:none;
  }
}

@media (max-width: 760px){
  .hero-bg{
    background:
      linear-gradient(180deg,rgba(250,249,247,.96),rgba(250,249,247,.78),rgba(37,34,31,.22)),
      url("https://images.unsplash.com/photo-1540555700478-4be289fbecef?auto=format&fit=crop&q=80&w=1000") !important;
    background-size:cover !important;
    background-position:center !important;
    opacity:.58 !important;
  }
}

/* Immersive hero and booking section refinement */
.hero{
  position:relative;
  min-height:calc(100vh - 86px) !important;
  isolation:isolate;
  background:
    radial-gradient(circle at 12% 18%,rgba(248,243,239,.95),transparent 32%),
    radial-gradient(circle at 84% 8%,rgba(216,196,173,.16),transparent 24%),
    linear-gradient(120deg,#FAF9F7 0%,#FFFFFF 48%,#F3F0EC 100%) !important;
}

.hero-bg{
  background:
    linear-gradient(90deg,rgba(250,249,247,.98) 0%,rgba(250,249,247,.86) 43%,rgba(250,249,247,.28) 69%,rgba(250,249,247,.12) 100%),
    linear-gradient(180deg,rgba(255,255,255,.18),rgba(250,249,247,.46)),
    url("https://images.unsplash.com/photo-1540555700478-4be289fbecef?auto=format&fit=crop&q=80&w=1600") !important;
  background-size:cover !important;
  background-position:center right !important;
  opacity:.52 !important;
  filter:saturate(.62) contrast(.96) brightness(1.08) !important;
  transform:scale(1.03) !important;
}

.hero:before{
  background:
    radial-gradient(circle at 68% 18%,rgba(255,255,255,.66),transparent 20%),
    radial-gradient(circle at 14% 78%,rgba(216,196,173,.12),transparent 26%),
    linear-gradient(90deg,rgba(250,249,247,.98) 0%,rgba(250,249,247,.78) 47%,rgba(250,249,247,.16) 88%) !important;
}

.hero:after{
  color:rgba(231,224,218,.34) !important;
}

.hero-card{
  backdrop-filter:blur(10px);
}

.hero-card img{
  filter:saturate(.76) contrast(.98) brightness(1.06);
}

.booking{
  position:relative;
  overflow:hidden;
  background:
    radial-gradient(circle at 14% 12%,rgba(216,196,173,.12),transparent 26%),
    radial-gradient(circle at 82% 20%,rgba(248,243,239,.72),transparent 32%),
    linear-gradient(180deg,#FAF9F7 0%,#FFFFFF 48%,#F3F0EC 100%);
}

.booking:before{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:
    linear-gradient(90deg,rgba(255,255,255,.34) 1px,transparent 1px) 0 0/104px 104px,
    linear-gradient(180deg,rgba(255,255,255,.34),transparent);
  opacity:.35;
}

.booking-grid{
  position:relative;
  z-index:1;
  grid-template-columns:minmax(340px,.86fr) minmax(0,1.14fr);
  gap:54px;
}

.booking-info{
  top:104px;
}

.booking-info .lead{
  max-width:560px;
}

.booking-experience{
  display:grid;
  gap:18px;
  margin-top:30px;
}

.booking-visual-card{
  position:relative;
  min-height:310px;
  overflow:hidden;
  border:1px solid rgba(222,216,210,.86);
  border-radius:30px;
  background:#FFFFFF;
  box-shadow:var(--shadow-soft);
}

.booking-visual-card:after{
  content:"";
  position:absolute;
  inset:0;
  background:
    linear-gradient(180deg,rgba(255,255,255,.04),rgba(37,34,31,.14)),
    radial-gradient(circle at 18% 18%,rgba(255,255,255,.42),transparent 32%);
}

.booking-visual-card img{
  width:100%;
  height:100%;
  min-height:310px;
  object-fit:cover;
  filter:saturate(.72) contrast(.98) brightness(1.06);
  transform:scale(1.02);
}

.booking-ritual-list{
  display:grid;
  gap:10px;
}

.booking-ritual-item{
  display:grid;
  grid-template-columns:46px 1fr;
  gap:14px;
  align-items:start;
  padding:16px;
  border:1px solid #DED8D2;
  border-radius:20px;
  background:rgba(255,255,255,.82);
  box-shadow:0 12px 30px rgba(37,34,31,.045);
}

.booking-ritual-item span{
  display:grid;
  place-items:center;
  width:38px;
  height:38px;
  border-radius:50%;
  background:#F8F3EF;
  color:#2F1C15;
  font-size:.74rem;
  font-weight:800;
  letter-spacing:.08em;
}

.booking-ritual-item strong{
  display:block;
  color:#25221F;
  font-size:.92rem;
  margin-bottom:4px;
}

.booking-ritual-item p{
  margin:0;
  color:#6F6862;
  font-size:.87rem;
  line-height:1.55;
}

.booking-info .deposit-card{
  margin-top:18px;
  border-left-color:#D8C4AD;
  background:rgba(255,255,255,.88);
}

@media (max-width: 980px){
  .booking-grid{
    grid-template-columns:1fr;
  }

  .booking-info{
    position:static;
  }

  .booking-experience{
    grid-template-columns:minmax(0,.9fr) minmax(260px,1fr);
    align-items:stretch;
  }

  .booking-visual-card,
  .booking-visual-card img{
    min-height:100%;
  }
}

@media (max-width: 760px){
  .hero-bg{
    background:
      linear-gradient(180deg,rgba(250,249,247,.96),rgba(250,249,247,.82)),
      url("https://images.unsplash.com/photo-1540555700478-4be289fbecef?auto=format&fit=crop&q=80&w=1000") !important;
    background-size:cover !important;
    background-position:center !important;
    opacity:.34 !important;
  }

  .booking-experience{
    grid-template-columns:1fr;
  }

  .booking-visual-card,
  .booking-visual-card img{
    min-height:250px;
  }

  .booking-ritual-item{
    grid-template-columns:40px 1fr;
    padding:14px;
  }
}

/* Homepage header, hero, and services polish */
.nav{
  height:86px;
  gap:22px;
}

.nav-links{
  flex:1;
  justify-content:flex-end;
  gap:14px;
}

.nav-main{
  display:flex;
  align-items:center;
  gap:6px;
  padding:6px;
  border:1px solid rgba(222,216,210,.72);
  border-radius:999px;
  background:rgba(255,255,255,.72);
  box-shadow:0 12px 28px rgba(37,34,31,.045);
}

.nav-main a,
.account-menu a{
  display:inline-flex;
  align-items:center;
  min-height:38px;
  padding:0 13px;
  border-radius:999px;
}

.nav-main a:hover{
  background:#F8F3EF;
}

.nav-account{
  position:relative;
  display:flex;
  align-items:center;
}

.account-toggle{
  min-height:52px;
  padding:0 18px;
  border:1px solid #DED8D2;
  border-radius:999px;
  background:#FFFFFF;
  color:#25221F;
  font-size:.72rem;
  font-weight:800;
  letter-spacing:.12em;
  text-transform:uppercase;
  cursor:pointer;
  box-shadow:0 10px 24px rgba(37,34,31,.045);
  transition:transform .25s ease,border-color .25s ease,background .25s ease,color .25s ease;
}

.account-toggle:after{
  content:"";
  display:inline-block;
  width:7px;
  height:7px;
  margin-left:10px;
  border-right:1.5px solid currentColor;
  border-bottom:1.5px solid currentColor;
  transform:translateY(-2px) rotate(45deg);
}

.account-toggle:hover,
.nav-account:focus-within .account-toggle{
  background:#F8F3EF;
  border-color:#D8C4AD;
  color:#25221F;
  transform:translateY(-2px);
}

.account-menu{
  position:absolute;
  right:0;
  top:calc(100% + 12px);
  z-index:20;
  display:grid;
  gap:4px;
  min-width:230px;
  padding:10px;
  border:1px solid #DED8D2;
  border-radius:20px;
  background:rgba(255,255,255,.96);
  box-shadow:0 24px 60px rgba(37,34,31,.11);
  opacity:0;
  visibility:hidden;
  transform:translateY(-8px);
  transition:opacity .22s ease,visibility .22s ease,transform .22s ease;
}

.nav-account:hover .account-menu,
.nav-account:focus-within .account-menu{
  opacity:1;
  visibility:visible;
  transform:translateY(0);
}

.account-menu a{
  justify-content:flex-start;
  color:#6F6862;
}

.account-menu a:hover{
  background:#F8F3EF;
  color:#25221F;
}

.nav-cta{
  min-width:132px;
}

.hero{
  min-height:calc(100vh - 86px) !important;
  padding:84px 0 96px;
  background:
    radial-gradient(circle at 10% 16%,rgba(248,243,239,.98),transparent 34%),
    radial-gradient(circle at 86% 12%,rgba(216,196,173,.16),transparent 25%),
    linear-gradient(120deg,#FAF9F7 0%,#FFFFFF 48%,#F3F0EC 100%) !important;
}

.hero-bg{
  background:
    linear-gradient(90deg,rgba(250,249,247,.98) 0%,rgba(250,249,247,.84) 44%,rgba(250,249,247,.10) 82%),
    radial-gradient(circle at 72% 22%,rgba(255,255,255,.78),transparent 26%),
    radial-gradient(circle at 22% 72%,rgba(248,243,239,.68),transparent 30%) !important;
  filter:none;
  transform:none;
}

.hero:before{
  background:
    linear-gradient(90deg,rgba(250,249,247,.98) 0%,rgba(250,249,247,.78) 46%,rgba(250,249,247,.12) 88%),
    linear-gradient(180deg,rgba(255,255,255,.22),transparent);
}

.hero-grid{
  grid-template-columns:minmax(0,.95fr) minmax(420px,1.05fr);
  gap:74px;
}

.hero-copy{
  max-width:720px;
}

.hero .lead{
  max-width:620px;
}

.hero-visual{
  min-height:620px;
}

.hero-card{
  border-radius:28px;
  border:8px solid rgba(255,255,255,.76);
  box-shadow:0 28px 78px rgba(37,34,31,.13);
}

.hero-card.large{
  top:8px;
  right:0;
  width:min(84%,560px);
  height:620px;
}

.hero-card.small{
  left:0;
  bottom:38px;
  width:43%;
  height:285px;
  transform:rotate(-1.4deg);
  box-shadow:0 22px 54px rgba(37,34,31,.12);
}

.hero-card img{
  filter:saturate(.82) contrast(.98) brightness(1.04);
}

.services{
  background:
    radial-gradient(circle at 12% 0,rgba(248,243,239,.7),transparent 28%),
    linear-gradient(180deg,#FFFFFF 0%,#FAF9F7 100%);
}

.services .section-heading{
  max-width:960px;
  margin-inline:auto;
  text-align:center;
}

.service-grid{
  display:grid;
  grid-template-columns:repeat(6,minmax(0,1fr));
  gap:24px;
  align-items:stretch;
}

.service-card,
.service-card:first-child{
  grid-column:span 2;
  min-height:0;
  display:flex;
  flex-direction:column;
  border-radius:24px;
  overflow:hidden;
  background:#FFFFFF;
  border:1px solid #DED8D2;
}

.service-grid .service-card:nth-child(4){
  grid-column:2 / span 2;
}

.service-grid .service-card:nth-child(5){
  grid-column:4 / span 2;
}

.service-image,
.service-card:first-child .service-image,
.service-grid .service-card:nth-child(4) .service-image,
.service-grid .service-card:nth-child(5) .service-image{
  height:286px;
  background:linear-gradient(135deg,#F8F3EF,#FFFFFF);
}

.service-image img{
  filter:saturate(.82) contrast(.98) brightness(1.04);
}

.service-content{
  display:flex;
  flex:1;
  flex-direction:column;
  padding:24px;
}

.service-top{
  margin-bottom:10px;
}

.service-top h3{
  font-size:clamp(1.52rem,2vw,1.95rem);
}

.service-content p{
  min-height:0;
  margin-bottom:0;
}

.service-actions{
  margin-top:auto;
  padding-top:22px;
}

.mini-btn{
  background:#FFFFFF;
  color:#25221F;
  border-color:#DED8D2;
}

.mini-btn:hover{
  background:#4A2E23;
  color:#FFFFFF;
  border-color:#4A2E23;
}

@media (max-width: 1120px){
  .nav{
    gap:14px;
  }

  .nav-main{
    gap:2px;
    padding:4px;
  }

  .nav-main a,
  .account-menu a{
    padding-inline:10px;
  }

  .hero-grid{
    grid-template-columns:1fr .95fr;
    gap:42px;
  }

  .service-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }

  .service-card,
  .service-card:first-child,
  .service-grid .service-card:nth-child(4),
  .service-grid .service-card:nth-child(5){
    grid-column:auto;
  }
}

@media (max-width: 760px){
  .nav{
    height:72px;
  }

  .nav-links{
    align-items:stretch;
    gap:10px;
  }

  .nav-main{
    display:grid;
    gap:2px;
    padding:0;
    border:0;
    background:transparent;
    box-shadow:none;
  }

  .nav-main a,
  .account-menu a{
    min-height:44px;
    padding:12px;
  }

  .nav-account{
    display:grid;
  }

  .account-toggle{
    display:none;
  }

  .account-menu{
    position:static;
    min-width:0;
    padding:0;
    border:0;
    background:transparent;
    box-shadow:none;
    opacity:1;
    visibility:visible;
    transform:none;
  }

  .nav-cta{
    width:100%;
  }

  .hero{
    padding:58px 0 76px;
  }

  .hero-bg{
    background:
      radial-gradient(circle at 50% 0,rgba(248,243,239,.86),transparent 40%),
      linear-gradient(180deg,#FAF9F7,#FFFFFF) !important;
  }

  .service-grid{
    grid-template-columns:1fr;
    gap:18px;
  }

  .service-image,
  .service-card:first-child .service-image,
  .service-grid .service-card:nth-child(4) .service-image,
  .service-grid .service-card:nth-child(5) .service-image{
    height:270px;
  }
}

/* Soft Pearl Skin Studio final redesign */
:root{
  --cream:#FAF9F7;
  --cream-2:#F3F0EC;
  --cream-3:#F8F3EF;
  --cream-4:#FFFFFF;
  --white:#FFFFFF;
  --sage:#4A2E23;
  --sage-dark:#25221F;
  --sage-light:#E7E0DA;
  --sage-soft:#F8F3EF;
  --brown:#6F6862;
  --brown-dark:#25221F;
  --taupe:#6F6862;
  --charcoal:#25221F;
  --line:#DED8D2;
  --blush:#D8C4AD;
  --shadow:0 24px 72px rgba(37,34,31,.09);
  --shadow-soft:0 14px 36px rgba(37,34,31,.06);
  --shadow-hover:0 28px 82px rgba(231,224,218,.18);
}

html,
body{
  background:#FAF9F7;
  color:#25221F;
}

body{
  background:
    radial-gradient(circle at 10% 10%,rgba(248,243,239,.42),transparent 28%),
    radial-gradient(circle at 88% 8%,rgba(216,196,173,.42),transparent 22%),
    linear-gradient(180deg,#FAF9F7 0%,#FFFFFF 44%,#FAF9F7 100%);
}

h1,
h2,
h3,
.logo,
.hero h1,
.section-title h2,
.section-heading h2,
.booking-info h2,
.admin-hero-panel h1,
.account-card h1,
.page-copy h1,
.appointment-card h3{
  color:#25221F;
}

p,
.lead,
.hero .lead,
.page-copy .lead,
.section-title p,
.section-heading p,
.form-note,
.appointment-card dd,
.admin-detail-grid dd,
.admin-notes-grid div,
.slot-option small,
.preset-option span{
  color:#6F6862;
}

.section,
.booking,
.account-page,
.admin-page{
  background:#FAF9F7;
}

.section:nth-of-type(even),
.about,
.faq-contact,
.quiz-section{
  background:#F3F0EC;
}

.site-header{
  background:rgba(255,255,255,.88);
  border-bottom-color:#DED8D2;
  box-shadow:0 10px 30px rgba(37,34,31,.045);
}

.site-header.scrolled{
  background:rgba(255,255,255,.95);
  box-shadow:0 16px 42px rgba(37,34,31,.07);
}

.nav-links a:not(.btn){
  color:#25221F;
}

.nav-links a:not(.btn):hover{
  color:#E7E0DA;
}

.nav-links a:not(.btn):after{
  background:#4A2E23;
}

.mobile-menu-btn{
  background:#FFFFFF;
  color:#25221F;
  border-color:#DED8D2;
}

.mobile-menu-btn:before{
  color:#E7E0DA;
}

.hero,
.page-hero,
.admin-hero{
  background:
    radial-gradient(circle at 15% 12%,rgba(248,243,239,.72),transparent 32%),
    radial-gradient(circle at 88% 10%,rgba(216,196,173,.36),transparent 24%),
    linear-gradient(120deg,#FAF9F7 0%,#FFFFFF 48%,#F3F0EC 100%) !important;
}

.hero:before,
.page-hero:before{
  background:
    linear-gradient(90deg,rgba(250,249,247,.98) 0%,rgba(250,249,247,.86) 48%,rgba(250,249,247,.16) 86%),
    radial-gradient(circle at 38% 42%,rgba(248,243,239,.28),transparent 34%);
}

.hero:after,
.page-hero:after{
  color:rgba(231,224,218,.16);
}

.hero-bg{
  filter:saturate(.78) contrast(.98) brightness(1.08);
}

.hero h1{
  text-shadow:0 14px 48px rgba(231,224,218,.12);
}

.availability-pill,
.menu-pill,
.quick-field,
.pill-list li,
.price{
  background:#FFFFFF;
  color:#6F6862;
  border-color:#DED8D2;
  box-shadow:0 10px 28px rgba(37,34,31,.045);
}

.availability-pill span,
.eyebrow:before,
.service-card:after,
.admin-stats article:before{
  background:#F8F3EF;
}

.eyebrow,
.menu-pill span,
.admin-tab span,
.client-meta,
.page-copy .lead{
  color:#6F6862;
}

.btn,
button.btn,
.quiz-option.active{
  --btn-bg:#4A2E23;
  --btn-color:#FFFFFF;
  background:#4A2E23;
  border-color:#4A2E23;
  color:#FFFFFF;
  box-shadow:0 14px 34px rgba(74,46,35,.26);
}

.btn:hover,
button.btn:hover,
.quiz-option.active:hover{
  background:#2F1C15;
  border-color:#2F1C15;
  color:#FFFFFF;
  box-shadow:0 18px 46px rgba(201,147,141,.28);
}

.btn.secondary,
.btn.ghost,
.quick-panel .btn.secondary,
.circle-btn{
  --btn-bg:#FFFFFF;
  --btn-color:#25221F;
  background:#FFFFFF;
  color:#25221F;
  border-color:#DED8D2;
  box-shadow:0 10px 24px rgba(37,34,31,.045);
}

.btn.secondary:hover,
.btn.ghost:hover,
.circle-btn:hover{
  background:#FAF9F7;
  color:#25221F;
  border-color:#E7E0DA;
}

.service-card,
.testimonial-card,
.form-card,
.account-card,
.appointment-card,
.admin-panel,
.admin-stats article,
.admin-client-card,
.admin-appointment-card,
.availability-form,
.availability-list-panel,
.availability-slot-card,
.included-card,
.process-card,
.faq-item,
.detail-card,
.quick-panel,
.quick-presets,
.manual-time-box,
.availability-field,
.date-picker-field,
.contact-card,
.quiz-card,
.quiz-option,
.signature-card,
.benefit,
.booking-item{
  background:#FFFFFF;
  border-color:#DED8D2;
  box-shadow:var(--shadow-soft);
}

.service-image,
.admin-detail-grid div,
.admin-notes-grid div,
.slot-summary,
.slot-empty,
.slot-loading,
.success-box,
.account-message.success,
.booking-auth-message.success,
.booking-icon,
.floating-note .icon,
.service-note i,
.contact-row i{
  background:#F8F3EF;
  border-color:#DED8D2;
  color:#25221F;
}

.service-card:hover,
.booking-item:hover,
.account-card:hover,
.appointment-card:hover,
.admin-client-card:hover,
.admin-appointment-card:hover,
.availability-slot-card:hover,
.included-card:hover,
.process-card:hover,
.faq-item:hover{
  border-color:#E7E0DA;
  box-shadow:var(--shadow-hover);
}

.field input,
.field select,
.field textarea,
.admin-status-field select{
  background:#FFFFFF;
  border-color:#DED8D2;
  color:#25221F;
}

.field input:hover,
.field select:hover,
.field textarea:hover{
  border-color:#E7E0DA;
}

.field input:focus,
.field select:focus,
.field textarea:focus,
.admin-status-field select:focus{
  border-color:#4A2E23;
  box-shadow:0 0 0 4px rgba(74,46,35,.16);
}

.field label,
.quick-field span,
.admin-detail-grid dt,
.appointment-card dt,
.admin-notes-grid strong,
.preset-count{
  color:#6F6862;
}

.slot-option,
.preset-option{
  background:#FFFFFF;
  border-color:#DED8D2;
  color:#25221F;
}

.slot-option:hover,
.preset-option:hover{
  background:#FAF9F7;
  border-color:#E7E0DA;
  transform:translateY(-2px);
}

.slot-option.is-selected,
.preset-option.is-selected{
  background:#4A2E23;
  border-color:#4A2E23;
  color:#FFFFFF;
  box-shadow:0 16px 38px rgba(74,46,35,.26);
}

.slot-option.is-selected span,
.slot-option.is-selected small,
.preset-option.is-selected span,
.preset-option.is-selected small{
  color:rgba(255,255,255,.84);
}

.slot-summary.selected{
  background:#FFFFFF;
  border-color:#4A2E23;
  color:#25221F;
  box-shadow:inset 4px 0 0 #4A2E23;
}

.preset-option.is-existing{
  background:#F3F0EC;
  border-color:#E7E0DA;
}

.admin-tab{
  color:#6F6862;
  background:transparent;
}

.admin-tab:hover{
  background:#FFFFFF;
  color:#E7E0DA;
}

.admin-tab.is-active{
  background:#FFFFFF;
  color:#25221F;
  border-color:#DED8D2;
  box-shadow:inset 0 -3px 0 #4A2E23,0 10px 24px rgba(37,34,31,.055);
}

.admin-tab.is-active span{
  background:#D8C4AD;
  color:#25221F;
}

.admin-status-pill,
.slot-status{
  border:1px solid #DED8D2;
}

.admin-status-pill.status-requested{
  background:#FFFFFF;
  color:#6F6862;
}

.admin-status-pill.status-confirmed,
.slot-status-available{
  background:#F8F3EF;
  color:#25221F;
}

.admin-status-pill.status-completed{
  background:#E7E0DA;
  color:#FFFFFF;
}

.admin-status-pill.status-cancelled,
.slot-status-booked{
  background:#D8C4AD;
  color:#2F1C15;
  border-color:#D8C4AD;
}

.slot-status-unavailable{
  background:#F3F0EC;
  color:#6F6862;
}

.admin-appointment-card.status-requested,
.availability-slot-card{
  border-left-color:#F8F3EF;
}

.admin-appointment-card.status-confirmed{
  border-left-color:#E7E0DA;
}

.admin-appointment-card.status-completed{
  border-left-color:#25221F;
}

.admin-appointment-card.status-cancelled,
.availability-slot-card.is-booked{
  border-left-color:#2F1C15;
}

.availability-slot-card.is-unavailable{
  border-left-color:#F3F0EC;
}

.deposit-card{
  background:#FFFFFF;
  color:#25221F;
  border:1px solid #DED8D2;
  border-left:4px solid #E7E0DA;
  box-shadow:var(--shadow-soft);
}

.deposit-card h3,
.deposit-card p{
  color:#25221F;
}

.quiz-section{
  background:
    radial-gradient(circle at 16% 18%,rgba(248,243,239,.55),transparent 28%),
    linear-gradient(180deg,#F3F0EC,#FAF9F7);
  color:#25221F;
}

.quiz-section h2,
.quiz-section p,
.quiz-section .eyebrow{
  color:#25221F;
}

.quiz-option span{
  color:#6F6862;
}

.contact-card,
.contact-body{
  background:#FFFFFF;
  color:#25221F;
}

.contact-body h3,
.contact-row strong{
  color:#25221F;
}

.contact-row a,
.contact-row span{
  color:#6F6862;
}

.contact-row{
  border-top-color:#DED8D2;
}

.socials a{
  background:#FFFFFF;
  color:#25221F;
  border-color:#DED8D2;
}

.socials a:hover{
  background:#4A2E23;
  color:#FFFFFF;
  border-color:#4A2E23;
}

.footer{
  background:linear-gradient(180deg,#FFFFFF,#F3F0EC);
  color:#25221F;
  border-top:1px solid #DED8D2;
}

.footer .logo,
.footer h4{
  color:#25221F;
}

.footer p,
.footer a,
.copyright{
  color:#6F6862;
}

.newsletter,
.copyright{
  border-color:#DED8D2;
}

.newsletter input{
  color:#25221F;
}

.newsletter button{
  color:#E7E0DA;
}

.modal-header{
  background:#4A2E23;
}

.toast{
  background:#25221F;
}

.map{
  filter:saturate(.75) contrast(.98) brightness(1.06);
}

.map:after,
.dot.active{
  background:#4A2E23;
}

.scroll-cue i{
  background:#E7E0DA;
}

.scroll-cue,
.faq-trigger span:last-child{
  color:#E7E0DA;
}

/* Soft Pearl Skin Studio final refinement */
:root{
  --cream:#FAF9F7;
  --cream-2:#F3F0EC;
  --cream-3:#F8F3EF;
  --cream-4:#FFFFFF;
  --white:#FFFFFF;
  --sage:#4A2E23;
  --sage-dark:#25221F;
  --sage-light:#E7E0DA;
  --sage-soft:#F8F3EF;
  --brown:#6F6862;
  --brown-dark:#25221F;
  --taupe:#6F6862;
  --charcoal:#25221F;
  --line:#DED8D2;
  --blush:#D8C4AD;
  --shadow:0 24px 70px rgba(37,34,31,.08);
  --shadow-soft:0 14px 36px rgba(37,34,31,.055);
  --shadow-hover:0 28px 78px rgba(37,34,31,.11);
}

html,
body{
  background:#FAF9F7;
  color:#25221F;
}

body{
  background:
    radial-gradient(circle at 12% 10%,rgba(248,243,239,.72),transparent 30%),
    radial-gradient(circle at 88% 8%,rgba(216,196,173,.16),transparent 22%),
    linear-gradient(180deg,#FAF9F7 0%,#FFFFFF 45%,#FAF9F7 100%);
}

h1,
h2,
h3,
.logo,
.hero h1,
.section-title h2,
.section-heading h2,
.booking-info h2,
.admin-hero-panel h1,
.account-card h1,
.page-copy h1,
.appointment-card h3{
  color:#25221F;
}

p,
.lead,
.hero .lead,
.page-copy .lead,
.section-title p,
.section-heading p,
.form-note,
.appointment-card dd,
.admin-detail-grid dd,
.admin-notes-grid div,
.slot-option small,
.preset-option span{
  color:#6F6862;
}

.section,
.booking,
.account-page,
.admin-page{
  background:#FAF9F7;
}

.section:nth-of-type(even),
.about,
.faq-contact,
.quiz-section{
  background:#F3F0EC;
}

.site-header{
  background:rgba(255,255,255,.9);
  border-bottom-color:#DED8D2;
  box-shadow:0 10px 30px rgba(37,34,31,.04);
}

.site-header.scrolled{
  background:rgba(255,255,255,.96);
  box-shadow:0 16px 42px rgba(37,34,31,.065);
}

.nav-links a:not(.btn){
  color:#25221F;
}

.nav-links a:not(.btn):hover{
  color:#2F1C15;
}

.nav-links a:not(.btn):after{
  background:#D8C4AD;
}

.mobile-menu-btn{
  background:#FFFFFF;
  color:#25221F;
  border-color:#DED8D2;
}

.mobile-menu-btn:before{
  color:#4A2E23;
}

.hero,
.page-hero,
.admin-hero{
  background:
    radial-gradient(circle at 14% 10%,rgba(248,243,239,.92),transparent 34%),
    radial-gradient(circle at 88% 10%,rgba(216,196,173,.12),transparent 22%),
    linear-gradient(120deg,#FAF9F7 0%,#FFFFFF 52%,#F3F0EC 100%);
}

.hero:before,
.page-hero:before{
  background:
    linear-gradient(90deg,rgba(250,249,247,.98) 0%,rgba(250,249,247,.86) 48%,rgba(250,249,247,.16) 86%),
    radial-gradient(circle at 38% 42%,rgba(248,243,239,.55),transparent 34%);
}

.hero:after,
.page-hero:after{
  color:rgba(231,224,218,.32);
}

.hero-bg{
  filter:saturate(.72) contrast(.98) brightness(1.08);
}

.hero h1{
  text-shadow:0 14px 48px rgba(37,34,31,.055);
}

.availability-pill,
.menu-pill,
.quick-field,
.pill-list li,
.price{
  background:#FFFFFF;
  color:#6F6862;
  border-color:#DED8D2;
  box-shadow:0 10px 28px rgba(37,34,31,.04);
}

.availability-pill span,
.eyebrow:before,
.service-card:after,
.admin-stats article:before{
  background:#D8C4AD;
}

.eyebrow,
.menu-pill span,
.admin-tab span,
.client-meta,
.page-copy .lead{
  color:#6F6862;
}

.btn,
button.btn,
.quiz-option.active{
  --btn-bg:#4A2E23;
  --btn-color:#FFFFFF;
  background:#4A2E23;
  border-color:#4A2E23;
  color:#FFFFFF;
  box-shadow:0 14px 34px rgba(74,46,35,.22);
}

.btn:hover,
button.btn:hover,
.quiz-option.active:hover{
  background:#2F1C15;
  border-color:#2F1C15;
  color:#FFFFFF;
  box-shadow:0 18px 46px rgba(201,147,141,.24);
}

.btn.secondary,
.btn.ghost,
.quick-panel .btn.secondary,
.circle-btn{
  --btn-bg:#FFFFFF;
  --btn-color:#25221F;
  background:#FFFFFF;
  color:#25221F;
  border-color:#DED8D2;
  box-shadow:0 10px 24px rgba(37,34,31,.04);
}

.btn.secondary:hover,
.btn.ghost:hover,
.circle-btn:hover{
  background:#F8F3EF;
  color:#25221F;
  border-color:#D8C4AD;
}

.service-card,
.testimonial-card,
.form-card,
.account-card,
.appointment-card,
.admin-panel,
.admin-stats article,
.admin-client-card,
.admin-appointment-card,
.availability-form,
.availability-list-panel,
.availability-slot-card,
.included-card,
.process-card,
.faq-item,
.detail-card,
.quick-panel,
.quick-presets,
.manual-time-box,
.availability-field,
.date-picker-field,
.contact-card,
.quiz-card,
.quiz-option,
.signature-card,
.benefit,
.booking-item{
  background:#FFFFFF;
  border-color:#DED8D2;
  box-shadow:var(--shadow-soft);
}

.service-image,
.admin-detail-grid div,
.admin-notes-grid div,
.slot-summary,
.slot-empty,
.slot-loading,
.success-box,
.account-message.success,
.booking-auth-message.success,
.booking-icon,
.floating-note .icon,
.service-note i,
.contact-row i{
  background:#F8F3EF;
  border-color:#DED8D2;
  color:#25221F;
}

.service-card:hover,
.booking-item:hover,
.account-card:hover,
.appointment-card:hover,
.admin-client-card:hover,
.admin-appointment-card:hover,
.availability-slot-card:hover,
.included-card:hover,
.process-card:hover,
.faq-item:hover{
  border-color:#D8C4AD;
  box-shadow:var(--shadow-hover);
}

.field input,
.field select,
.field textarea,
.admin-status-field select{
  background:#FFFFFF;
  border-color:#DED8D2;
  color:#25221F;
}

.field input:hover,
.field select:hover,
.field textarea:hover{
  border-color:#E7E0DA;
}

.field input:focus,
.field select:focus,
.field textarea:focus,
.admin-status-field select:focus{
  border-color:#4A2E23;
  box-shadow:0 0 0 4px rgba(74,46,35,.14);
}

.field label,
.quick-field span,
.admin-detail-grid dt,
.appointment-card dt,
.admin-notes-grid strong,
.preset-count{
  color:#6F6862;
}

.slot-option,
.preset-option{
  background:#FFFFFF;
  border-color:#DED8D2;
  color:#25221F;
}

.slot-option:hover,
.preset-option:hover{
  background:#F8F3EF;
  border-color:#D8C4AD;
  transform:translateY(-2px);
}

.slot-option.is-selected,
.preset-option.is-selected{
  background:#4A2E23;
  border-color:#4A2E23;
  color:#FFFFFF;
  box-shadow:0 16px 38px rgba(74,46,35,.24);
}

.slot-option.is-selected span,
.slot-option.is-selected small,
.preset-option.is-selected span,
.preset-option.is-selected small{
  color:rgba(255,255,255,.84);
}

.slot-summary.selected{
  background:#FFFFFF;
  border-color:#4A2E23;
  color:#25221F;
  box-shadow:inset 4px 0 0 #4A2E23;
}

.preset-option.is-existing{
  background:#F3F0EC;
  border-color:#DED8D2;
}

.admin-tab{
  color:#6F6862;
  background:transparent;
}

.admin-tab:hover{
  background:#FFFFFF;
  color:#2F1C15;
}

.admin-tab.is-active{
  background:#FFFFFF;
  color:#25221F;
  border-color:#DED8D2;
  box-shadow:inset 0 -3px 0 #4A2E23,0 10px 24px rgba(37,34,31,.05);
}

.admin-tab.is-active span{
  background:#F8F3EF;
  color:#25221F;
}

.admin-status-pill,
.slot-status{
  border:1px solid #DED8D2;
}

.admin-status-pill.status-requested{
  background:#FFFFFF;
  color:#6F6862;
}

.admin-status-pill.status-confirmed,
.slot-status-available{
  background:#F8F3EF;
  color:#25221F;
}

.admin-status-pill.status-completed{
  background:#6F6862;
  color:#FFFFFF;
}

.admin-status-pill.status-cancelled,
.slot-status-booked{
  background:#F8F3EF;
  color:#2F1C15;
  border-color:#D8C4AD;
}

.slot-status-unavailable{
  background:#F3F0EC;
  color:#6F6862;
}

.admin-appointment-card.status-requested,
.availability-slot-card{
  border-left-color:#E7E0DA;
}

.admin-appointment-card.status-confirmed{
  border-left-color:#4A2E23;
}

.admin-appointment-card.status-completed{
  border-left-color:#6F6862;
}

.admin-appointment-card.status-cancelled,
.availability-slot-card.is-booked{
  border-left-color:#2F1C15;
}

.availability-slot-card.is-unavailable{
  border-left-color:#F3F0EC;
}

.deposit-card{
  background:#FFFFFF;
  color:#25221F;
  border:1px solid #DED8D2;
  border-left:4px solid #4A2E23;
  box-shadow:var(--shadow-soft);
}

.deposit-card h3,
.deposit-card p{
  color:#25221F;
}

.quiz-section{
  background:
    radial-gradient(circle at 16% 18%,rgba(248,243,239,.72),transparent 30%),
    linear-gradient(180deg,#F3F0EC,#FAF9F7);
  color:#25221F;
}

.quiz-section h2,
.quiz-section p,
.quiz-section .eyebrow{
  color:#25221F;
}

.quiz-option span{
  color:#6F6862;
}

.contact-card,
.contact-body{
  background:#FFFFFF;
  color:#25221F;
}

.contact-body h3,
.contact-row strong{
  color:#25221F;
}

.contact-row a,
.contact-row span{
  color:#6F6862;
}

.contact-row{
  border-top-color:#DED8D2;
}

.socials a{
  background:#FFFFFF;
  color:#25221F;
  border-color:#DED8D2;
}

.socials a:hover{
  background:#4A2E23;
  color:#FFFFFF;
  border-color:#4A2E23;
}

.footer{
  background:linear-gradient(180deg,#FFFFFF,#F3F0EC);
  color:#25221F;
  border-top:1px solid #DED8D2;
}

.footer .logo,
.footer h4{
  color:#25221F;
}

.footer p,
.footer a,
.copyright{
  color:#6F6862;
}

.newsletter,
.copyright{
  border-color:#DED8D2;
}

.newsletter input{
  color:#25221F;
}

.newsletter button{
  color:#4A2E23;
}

.modal-header{
  background:#4A2E23;
}

.toast{
  background:#25221F;
}

.map{
  filter:saturate(.68) contrast(.98) brightness(1.07);
}

.map:after,
.dot.active{
  background:#4A2E23;
}

.scroll-cue i{
  background:#D8C4AD;
}

.scroll-cue,
.faq-trigger span:last-child{
  color:#4A2E23;
}

/* Final A|Y logo palette lock - cascade end */
:root{
  --color-bg:#F7EFE5;
  --color-bg-soft:#FFF9F1;
  --color-surface:#FFF9F1;
  --color-surface-clean:#FFFFFF;
  --color-surface-2:#EFE0CF;
  --color-surface-blush:#F3E7DA;
  --color-heading:#3B241B;
  --color-text:#4F3A30;
  --color-muted:#7B675C;
  --color-primary:#4A2E23;
  --color-primary-hover:#2F1C15;
  --color-accent:#B8956A;
  --color-sage:#8F967C;
  --color-border:#D8C4AD;
  --cream:var(--color-bg-soft);
  --cream-2:var(--color-bg);
  --cream-3:var(--color-surface-2);
  --cream-4:var(--color-surface);
  --sage:var(--color-primary);
  --sage-dark:var(--color-heading);
  --sage-light:var(--color-border);
  --sage-soft:var(--color-surface-blush);
  --brown:var(--color-muted);
  --brown-dark:var(--color-heading);
  --taupe:var(--color-muted);
  --charcoal:var(--color-text);
  --line:var(--color-border);
  --blush:var(--color-surface-blush);
  --shadow:0 26px 80px rgba(75,46,36,.12);
  --shadow-soft:0 16px 42px rgba(75,46,36,.085);
  --shadow-hover:0 34px 88px rgba(75,46,36,.16);
}

html,
body{
  background:var(--color-bg-soft);
  color:var(--color-text);
}

body{
  background:var(--color-bg);
}

h1,h2,h3,h4,.logo,.display,
.hero h1,.section-heading h2,.booking-info h2,.page-copy h1,
.account-copy h1,.admin-hero-panel h1,.admin-panel-heading h2,
.terms-intro h1,.terms-section h2{
  color:var(--color-heading);
}

p,.lead,.hero .lead,.page-copy .lead,.section-heading p,
.form-note,.admin-panel-heading p,.quick-presets-heading p,
.slot-option small,.preset-option span,.footer p,.footer a,.copyright{
  color:var(--color-muted);
}

.site-header{
  background:rgba(255,249,241,.97);
  border-bottom-color:var(--color-border);
  box-shadow:0 12px 28px rgba(59,36,27,.055);
}

.site-header.scrolled{
  background:rgba(255,249,241,.98);
  box-shadow:0 16px 42px rgba(75,46,36,.085);
}

.logo-image-link{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:126px;
  height:58px;
  padding:0;
  flex:0 0 auto;
  overflow:hidden;
  border:0;
  border-radius:18px;
  background:transparent;
  box-shadow:none;
}

.logo-image-link img{
  width:100%;
  height:100%;
  object-fit:contain;
  filter:drop-shadow(0 7px 12px rgba(59,36,27,.10));
}

.footer-logo-link{
  width:148px;
  height:70px;
}

.booking-grid.booking-form-only{
  grid-template-columns:minmax(0,920px);
  justify-content:center;
}

.booking-form-heading{
  text-align:center;
  margin:0 0 30px;
  grid-column:1 / -1;
}

.booking-form-heading h2{
  color:var(--color-heading);
  font-family:'Cormorant Garamond','Times New Roman',Georgia,serif;
  font-size:clamp(3.1rem,5.4vw,5.4rem);
  font-weight:500;
  line-height:.95;
  margin:0;
}

.booking-policies{
  background:linear-gradient(180deg,var(--color-bg) 0%,var(--color-surface) 100%);
}

.policy-card-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:18px;
}

.policy-card{
  position:relative;
  min-height:235px;
  padding:26px;
  border:1.5px solid #C9A982;
  border-radius:26px;
  background:linear-gradient(145deg,#FFF9F1 0%,#F1DFC9 100%);
  box-shadow:0 18px 46px rgba(59,36,27,.105);
  overflow:hidden;
  transition:transform .28s ease,box-shadow .28s ease,border-color .28s ease;
}

.policy-card:before{
  content:"";
  position:absolute;
  left:26px;
  top:0;
  width:54px;
  height:3px;
  background:#B8956A;
  border-radius:999px;
}

.policy-card:hover{
  transform:translateY(-5px);
  border-color:#B8956A;
  box-shadow:0 30px 76px rgba(59,36,27,.16);
}

.policy-card span{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:42px;
  height:42px;
  border-radius:50%;
  background:linear-gradient(145deg,#E6CDAA,#B8956A);
  color:#3B241B;
  border:1px solid rgba(74,46,35,.18);
  font-size:.74rem;
  font-weight:800;
  letter-spacing:.08em;
  margin-bottom:18px;
}

.policy-card h3{
  font-size:1.55rem;
  margin-bottom:10px;
  color:#2F1C15;
}

.policy-card p{
  color:var(--color-muted);
  font-size:.94rem;
  line-height:1.75;
}

.before-appointment-panel{
  display:grid;
  grid-template-columns:.42fr .58fr;
  gap:32px;
  align-items:start;
  margin-top:22px;
  padding:32px;
  border:1px solid var(--color-border);
  border-radius:28px;
  background:var(--color-surface);
  box-shadow:var(--shadow-soft);
}

.before-appointment-panel h3{
  margin-top:12px;
  font-size:clamp(2rem,3.6vw,3.45rem);
  color:var(--color-heading);
}

.before-appointment-panel ul{
  list-style:none;
  margin:0;
  padding:0;
  display:grid;
  gap:12px;
}

.before-appointment-panel li{
  position:relative;
  padding-left:28px;
  color:var(--color-text);
  line-height:1.65;
}

.before-appointment-panel li:before{
  content:"";
  position:absolute;
  left:0;
  top:.7em;
  width:8px;
  height:8px;
  border-radius:50%;
  background:var(--color-accent);
  box-shadow:0 0 0 5px rgba(184,149,106,.14);
}

.form-actions.single{
  grid-template-columns:minmax(0,1fr);
}

body .hero{
  background:
    linear-gradient(90deg,rgba(216,196,173,.20) 1px,transparent 1px) 0 0/92px 92px,
    linear-gradient(180deg,var(--color-surface) 0%,var(--color-bg) 100%);
}

body .hero:before{
  background:linear-gradient(90deg,rgba(255,249,241,.95) 0%,rgba(255,249,241,.78) 45%,rgba(247,239,229,.26) 100%);
}

body .hero-bg,
.hero-bg{
  background-image:none!important;
  background:
    linear-gradient(135deg,rgba(255,249,241,.76),rgba(239,224,207,.48)),
    linear-gradient(90deg,rgba(184,149,106,.12) 1px,transparent 1px) 0 0/120px 120px!important;
  opacity:.42;
  filter:none!important;
  animation:none!important;
}

body .hero:after{
  color:rgba(184,149,106,.13);
}

.brand-separator{
  color:var(--color-accent);
}

.hero-logo-title{
  display:block;
  width:min(100%,430px);
  max-width:430px;
  padding:0;
  border:1px solid rgba(226,207,192,.88);
  border-radius:32px;
  overflow:hidden;
  background:linear-gradient(135deg,#F4E8DA,#FFF9F1);
  box-shadow:0 24px 72px rgba(75,46,36,.14);
  line-height:0;
}

.hero-logo-title img{
  width:100%;
  height:auto;
  object-fit:contain;
}

.eyebrow,
.availability-pill,
.nav-links a:not(.btn):hover,
.client-meta,
.menu-pill span,
.admin-tab span,
.price,
.newsletter button{
  color:var(--color-primary-hover);
}

.eyebrow:before,
.nav-links a:not(.btn):after,
.availability-pill span,
.admin-stats article:before,
.dot.active,
.map:after,
.scroll-cue i{
  background:var(--color-primary);
}

.btn,
button.btn,
a.btn,
.slot-option.is-selected,
.preset-option.is-selected,
.bulk-save,
.modal-header,
.socials a:hover{
  background:var(--color-primary);
  border-color:var(--color-primary);
  color:#FFFFFF;
  box-shadow:0 16px 38px rgba(74,46,35,.24);
}

.btn:hover,
button.btn:hover,
a.btn:hover{
  background:var(--color-primary-hover);
  border-color:var(--color-primary-hover);
  color:#FFFFFF;
  box-shadow:0 20px 48px rgba(47,28,21,.28);
}

.btn.secondary,
.btn.ghost,
.mini-btn,
.circle-btn,
.admin-tab,
.slot-option,
.preset-option,
.socials a{
  background:rgba(255,255,255,.82);
  border-color:var(--color-border);
  color:var(--color-heading);
  box-shadow:0 10px 28px rgba(75,46,36,.055);
}

.btn.secondary:hover,
.btn.ghost:hover,
.mini-btn:hover,
.circle-btn:hover,
.admin-tab:hover,
.slot-option:hover,
.preset-option:hover{
  background:var(--color-surface-blush);
  border-color:var(--color-primary);
  color:var(--color-heading);
}

.service-card,.testimonial-card,.process-card,.benefit,.signature-card,
.form-card,.account-card,.admin-hero-panel,.admin-panel,.admin-stats article,
.admin-client-card,.admin-appointment-card,.availability-form,.availability-list-panel,
.availability-slot-card,.quick-presets,.manual-time-box,.booking-ritual-item,
.booking-visual-card,.contact-card,.contact-body,.modal-card,.terms-card,
.email-followup-card,.email-log-card,.appointment-card,.quick-panel,.faq-item{
  background:rgba(255,249,241,.9);
  border-color:var(--color-border);
  box-shadow:var(--shadow-soft);
}

.service-card:hover,.form-card:hover,.account-card:hover,.admin-appointment-card:hover,
.availability-slot-card:hover,.booking-ritual-item:hover,.booking-visual-card:hover{
  border-color:var(--color-primary);
  box-shadow:var(--shadow-hover);
}

.field input,.field select,.field textarea,.admin-status-field select,
.slot-summary,.checkbox-field,.newsletter input{
  background:#FFFFFF;
  border-color:var(--color-border);
  color:var(--color-text);
}

.field input:focus,.field select:focus,.field textarea:focus,
.admin-status-field select:focus{
  border-color:var(--color-primary);
  box-shadow:0 0 0 4px rgba(74,46,35,.14);
}

.success-box,.booking-auth-message.success,.slot-summary.selected,.email-pill.is-on{
  background:rgba(159,168,142,.14);
  border-color:rgba(159,168,142,.35);
  color:var(--color-heading);
}

.booking-auth-message.warning,.email-pill.is-warning,.preset-option.is-existing{
  background:rgba(198,161,90,.14);
  border-color:rgba(198,161,90,.32);
  color:var(--color-heading);
}

.booking-auth-message.error,.error-message{
  color:var(--color-primary-hover);
}

.slot-option.is-selected strong,
.slot-option.is-selected span,
.slot-option.is-selected small,
.preset-option.is-selected strong,
.preset-option.is-selected span,
.preset-option.is-selected small,
.modal-header h3{
  color:#FFFFFF;
}

.admin-tab.is-active{
  background:var(--color-primary);
  border-color:var(--color-primary);
  color:#FFFFFF;
  box-shadow:0 14px 34px rgba(74,46,35,.22);
}

.admin-tab.is-active span{
  background:rgba(255,255,255,.22);
  color:#FFFFFF;
}

.admin-status-pill.status-confirmed,
.availability-slot-card.is-booked,
.admin-appointment-card.status-confirmed{
  border-color:rgba(198,161,90,.35);
  border-left-color:var(--color-accent);
}

.availability-slot-card,
.admin-appointment-card.status-requested{
  border-left-color:var(--color-primary);
}

.availability-slot-card.is-unavailable,
.admin-appointment-card.status-completed{
  border-left-color:var(--color-sage);
}

.footer{
  background:linear-gradient(180deg,var(--color-surface-clean),var(--color-bg));
  border-top-color:var(--color-border);
}

.terms-page{
  background:
    radial-gradient(circle at 12% 7%,rgba(74,46,35,.20),transparent 28%),
    radial-gradient(circle at 88% 18%,rgba(198,161,90,.14),transparent 25%),
    linear-gradient(135deg,var(--color-bg-soft) 0%,var(--color-bg) 48%,#EFE0D0 100%);
}

.terms-opening{
  background:linear-gradient(135deg,#FFFFFF,var(--color-surface));
  border-color:var(--color-border);
  border-left-color:var(--color-primary);
  color:var(--color-text);
}

.terms-section h2{
  border-left-color:var(--color-primary);
}

.terms-section p{
  color:var(--color-text);
}

@media (max-width:720px){
  .logo-image-link{
    width:108px;
    height:50px;
    border-radius:15px;
  }

  .footer-logo-link{
    width:128px;
    height:62px;
  }

  .hero-logo-title{
    width:min(100%,320px);
    border-radius:24px;
  }

  .policy-card-grid,
  .before-appointment-panel{
    grid-template-columns:1fr;
  }
}

/* Scoped header logo and email preferences refinements */
body .site-header .logo-image-link{
  width:auto;
  height:auto;
  max-width:172px;
  padding:0;
  border:0;
  border-radius:0;
  background:transparent;
  box-shadow:none;
  overflow:visible;
}

body .site-header .logo-image-link img{
  width:auto;
  height:auto;
  max-width:172px;
  max-height:74px;
  object-fit:contain;
  filter:drop-shadow(0 7px 12px rgba(59,36,27,.10));
}

.email-consent-box{
  display:block;
  padding:22px;
  border:1px solid var(--color-border);
  border-radius:24px;
  background:linear-gradient(145deg,var(--color-surface),#F3E7DA);
  box-shadow:var(--shadow-soft);
}

.email-consent-box .account-card-heading.compact{
  margin-bottom:16px;
}

.email-consent-box .checkbox-field{
  display:grid;
  grid-template-columns:auto 1fr;
  align-items:start;
  gap:14px;
  margin:0;
  padding:16px 0;
  border:0;
  border-top:1px solid rgba(216,196,173,.72);
  border-radius:0;
  background:transparent;
  box-shadow:none;
}

.email-consent-box .checkbox-field:first-of-type{
  border-top:0;
  padding-top:4px;
}

.email-consent-box .checkbox-field:last-of-type{
  padding-bottom:0;
}

.email-consent-box .checkbox-field input{
  width:18px;
  height:18px;
  margin-top:3px;
  accent-color:var(--color-primary);
}

.email-consent-box .checkbox-field strong{
  color:var(--color-heading);
}

.email-consent-box .checkbox-field small{
  display:block;
  margin-top:4px;
  color:var(--color-muted);
  line-height:1.5;
}

@media (max-width:720px){
  body .site-header .logo-image-link img{
    max-width:132px;
    max-height:60px;
  }

  .email-consent-box{
    padding:18px;
  }
}

/* Scoped navbar logo removal and auth indicator */
body .site-header .text-logo{
  display:inline-flex;
  align-items:center;
  flex:0 0 auto;
  color:var(--color-heading);
  font-family:'Cormorant Garamond','Times New Roman',Georgia,serif;
  font-size:clamp(1.55rem,2.2vw,2rem);
  font-weight:500;
  letter-spacing:.01em;
  line-height:1;
  white-space:nowrap;
}

.nav-auth-state{
  position:relative;
  display:flex;
  align-items:center;
  gap:10px;
  flex:0 0 auto;
}

.nav-login-link,
.nav-signup-link{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:40px;
}

.nav-signup-link{
  padding:9px 14px;
  border:1px solid var(--color-border);
  border-radius:999px;
  background:rgba(255,249,241,.78);
}

.nav-avatar-trigger{
  display:inline-flex;
  align-items:center;
  gap:9px;
  border:0;
  background:transparent;
  color:var(--color-heading);
  cursor:pointer;
  padding:0;
}

.nav-avatar-button{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:44px;
  height:44px;
  min-width:44px;
  border-radius:50%;
  border:1px solid rgba(184,149,106,.5);
  background:var(--color-primary);
  color:#FFFFFF;
  font-weight:800;
  font-size:1rem;
  line-height:1;
  cursor:pointer;
  box-shadow:0 12px 28px rgba(74,46,35,.18);
  transition:transform .22s ease,box-shadow .22s ease,background .22s ease;
}

.nav-user-name{
  max-width:110px;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  color:var(--color-heading);
  font-size:.76rem;
  font-weight:800;
  letter-spacing:.08em;
  text-transform:uppercase;
}

.nav-avatar-trigger:hover .nav-avatar-button,
.nav-user-menu.is-open .nav-avatar-button{
  background:var(--color-primary-hover);
  transform:translateY(-2px);
  box-shadow:0 16px 34px rgba(47,28,21,.22);
}

.nav-avatar-trigger:hover .nav-user-name,
.nav-user-menu.is-open .nav-user-name{
  color:var(--color-primary-hover);
}

.nav-user-dropdown{
  position:absolute;
  right:0;
  top:calc(100% + 12px);
  z-index:1100;
  min-width:218px;
  display:grid;
  gap:4px;
  padding:10px;
  border:1px solid var(--color-border);
  border-radius:18px;
  background:rgba(255,249,241,.98);
  box-shadow:var(--shadow-soft);
  opacity:0;
  visibility:hidden;
  transform:translateY(-8px);
  transition:opacity .2s ease,transform .2s ease,visibility .2s ease;
}

.nav-user-menu.is-open .nav-user-dropdown{
  opacity:1;
  visibility:visible;
  transform:none;
}

.nav-user-dropdown a,
.nav-user-dropdown button{
  width:100%;
  display:flex;
  align-items:center;
  justify-content:flex-start;
  padding:11px 12px;
  border:0;
  border-radius:12px;
  background:transparent;
  color:var(--color-heading);
  font:inherit;
  font-size:.78rem;
  font-weight:800;
  letter-spacing:.08em;
  text-transform:uppercase;
  text-align:left;
  cursor:pointer;
  transition:background .2s ease,color .2s ease;
}

.nav-user-dropdown a:after{
  display:none;
}

.nav-user-dropdown a:hover,
.nav-user-dropdown button:hover{
  background:var(--color-surface-2);
  color:var(--color-primary-hover);
}

.client-account-tabs{
  display:inline-flex;
  flex-wrap:wrap;
  gap:10px;
  padding:8px;
  margin:26px 0 24px;
  border:1px solid var(--color-border);
  border-radius:999px;
  background:rgba(255,249,241,.78);
  box-shadow:0 12px 28px rgba(74,46,35,.08);
}

.account-tab{
  min-height:42px;
  padding:10px 18px;
  border:1px solid transparent;
  border-radius:999px;
  background:transparent;
  color:var(--color-muted);
  cursor:pointer;
  font-size:.76rem;
  font-weight:800;
  letter-spacing:.09em;
  text-transform:uppercase;
  transition:background .22s ease,color .22s ease,border-color .22s ease,box-shadow .22s ease,transform .22s ease;
}

.account-tab:hover{
  color:var(--color-heading);
  border-color:rgba(184,149,106,.34);
  transform:translateY(-1px);
}

.account-tab.is-active{
  background:var(--color-primary);
  color:#FFFFFF;
  border-color:var(--color-primary);
  box-shadow:0 12px 26px rgba(74,46,35,.18);
}

.account-panel{
  scroll-margin-top:120px;
}

.account-panel[hidden]{
  display:none!important;
}

.appointments-account-card{
  display:grid;
  gap:24px;
}

@media (max-width:780px){
  body .site-header .text-logo{
    font-size:1.42rem;
  }

  .nav-auth-state{
    width:100%;
    align-items:stretch;
  }

  .nav-auth-state.is-logged-out{
    display:grid;
    grid-template-columns:1fr 1fr;
  }

  .nav-user-menu{
    justify-content:flex-start;
  }

  .nav-avatar-trigger{
    width:100%;
    justify-content:flex-start;
    padding:9px 12px;
  }

  .nav-user-name{
    max-width:none;
  }

  .nav-user-dropdown{
    position:static;
    width:100%;
    margin-top:10px;
    opacity:1;
    visibility:visible;
    transform:none;
    display:none;
  }

  .nav-user-menu.is-open .nav-user-dropdown{
    display:grid;
  }

  .client-account-tabs{
    width:100%;
    border-radius:24px;
  }

  .account-tab{
    flex:1 1 160px;
  }
}

/* Organized admin dashboard layout */
body .admin-dashboard-section{
  padding:42px 0 92px;
  background:
    linear-gradient(90deg,rgba(216,196,173,.14) 1px,transparent 1px) 0 0/96px 96px,
    linear-gradient(180deg,var(--color-bg) 0%,var(--color-surface) 100%);
}

.admin-dashboard-container{
  width:min(1440px,calc(100% - 48px));
}

.admin-layout{
  display:grid;
  grid-template-columns:270px minmax(0,1fr);
  gap:24px;
  align-items:start;
}

.admin-sidebar{
  position:sticky;
  top:108px;
  align-self:start;
  display:grid;
  gap:16px;
}

.admin-sidebar-brand{
  padding:22px;
  border:1px solid var(--color-border);
  border-radius:24px;
  background:rgba(255,249,241,.92);
  box-shadow:var(--shadow-soft);
}

.admin-sidebar-brand strong{
  display:block;
  margin-top:10px;
  color:var(--color-heading);
  font-family:'Cormorant Garamond','Times New Roman',Georgia,serif;
  font-size:2rem;
  font-weight:600;
  line-height:1;
}

.admin-sidebar-brand p{
  margin-top:8px;
  font-size:.86rem;
}

body .admin-sidebar-menu.admin-tabs,
body .admin-filter-tabs.admin-tabs{
  position:static;
  top:auto;
  z-index:auto;
  display:grid;
  gap:8px;
  margin:0;
  padding:10px;
  border:1px solid var(--color-border);
  border-radius:24px;
  background:rgba(255,249,241,.88);
  box-shadow:var(--shadow-soft);
  backdrop-filter:none;
}

body .admin-filter-tabs.admin-tabs{
  display:flex;
  flex-wrap:wrap;
  margin:0 0 22px;
  border-radius:20px;
}

body .admin-menu-item.admin-tab,
body .admin-filter-tab.admin-tab{
  width:100%;
  min-height:46px;
  justify-content:space-between;
  gap:12px;
  padding:12px 14px;
  border-radius:16px;
  background:transparent;
  color:var(--color-text);
  box-shadow:none;
  text-align:left;
}

body .admin-filter-tab.admin-tab{
  width:auto;
  justify-content:center;
}

body .admin-menu-item.admin-tab:hover,
body .admin-filter-tab.admin-tab:hover{
  background:#FFFFFF;
  border-color:var(--color-border);
  color:var(--color-heading);
  transform:translateY(-1px);
}

body .admin-menu-item.admin-tab.is-active,
body .admin-filter-tab.admin-tab.is-active{
  background:var(--color-primary);
  border-color:var(--color-primary);
  color:#FFFFFF;
  box-shadow:0 14px 34px rgba(74,46,35,.20);
}

body .admin-menu-item.admin-tab span,
body .admin-filter-tab.admin-tab span{
  min-width:30px;
  height:24px;
  display:inline-grid;
  place-items:center;
  border-radius:999px;
  background:#FFFFFF;
  color:var(--color-heading);
  padding:0 8px;
}

body .admin-menu-item.admin-tab.is-active span,
body .admin-filter-tab.admin-tab.is-active span{
  background:rgba(255,255,255,.24);
  color:#FFFFFF;
}

.admin-main{
  min-width:0;
  display:grid;
  gap:20px;
}

.admin-topbar{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:24px;
  padding:28px;
  border:1px solid var(--color-border);
  border-radius:28px;
  background:rgba(255,249,241,.92);
  box-shadow:var(--shadow-soft);
}

.admin-topbar h1{
  margin:10px 0 8px;
  color:var(--color-heading);
  font-size:clamp(2.5rem,4vw,4rem);
  letter-spacing:-.035em;
}

.admin-topbar p{
  max-width:620px;
}

.admin-topbar-actions{
  display:flex;
  flex-wrap:wrap;
  justify-content:flex-end;
  gap:10px;
}

body .admin-main .admin-panel{
  margin-top:0;
  padding:28px;
  border-radius:28px;
  background:rgba(255,249,241,.84);
  border:1px solid var(--color-border);
  box-shadow:var(--shadow-soft);
}

body .admin-main .admin-panel[hidden]{
  display:none!important;
}

body .admin-main .admin-panel-heading{
  align-items:flex-start;
  margin-bottom:24px;
  padding-bottom:18px;
  border-bottom:1px solid rgba(216,196,173,.62);
}

body .admin-main .admin-panel-heading h2{
  font-size:clamp(2.1rem,3.2vw,3.35rem);
}

body .admin-main .admin-panel-heading p{
  max-width:520px;
}

body .admin-stats{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:14px;
  margin:0 0 24px;
}

body .admin-stats article{
  min-height:142px;
  padding:20px;
  border:1px solid var(--color-border);
  border-radius:20px;
  background:linear-gradient(180deg,#FFFFFF 0%,#FFF9F1 100%);
  box-shadow:0 12px 30px rgba(74,46,35,.075);
}

body .admin-stats article:before{
  background:var(--color-accent);
}

body .admin-stats strong{
  color:var(--color-heading);
}

body .admin-stats p{
  color:var(--color-heading);
}

.admin-overview-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:16px;
}

.admin-overview-card,
.admin-settings-card{
  padding:22px;
  border:1px solid var(--color-border);
  border-radius:22px;
  background:#FFFFFF;
  box-shadow:0 12px 30px rgba(74,46,35,.065);
}

.admin-overview-card h3,
.admin-settings-card h3{
  margin:8px 0 6px;
  color:var(--color-heading);
  font-size:1.65rem;
}

.admin-quick-actions-card{
  grid-column:1 / -1;
  display:grid;
  grid-template-columns:minmax(0,.7fr) minmax(280px,1fr);
  gap:20px;
  align-items:center;
}

.admin-overview-list{
  display:grid;
  gap:10px;
  margin-top:16px;
}

.admin-overview-item{
  display:flex;
  justify-content:space-between;
  gap:14px;
  align-items:flex-start;
  padding:14px;
  border:1px solid var(--color-border);
  border-radius:16px;
  background:var(--color-surface);
}

.admin-overview-item strong{
  display:block;
  color:var(--color-heading);
  font-weight:800;
}

.admin-overview-item p{
  margin-top:3px;
  font-size:.88rem;
}

.admin-card-top.compact{
  grid-template-columns:minmax(0,1fr) auto;
  margin-bottom:0;
}

.admin-quick-action-grid,
.admin-settings-actions{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
}

.admin-settings-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:16px;
}

.admin-settings-card{
  display:grid;
  align-content:start;
  gap:12px;
}

.empty-state.compact{
  padding:22px;
  border-radius:16px;
}

.empty-state.compact h3{
  font-size:1.25rem;
}

@media (max-width:1180px){
  body .admin-stats{
    grid-template-columns:repeat(3,minmax(0,1fr));
  }

  .admin-settings-grid{
    grid-template-columns:1fr;
  }
}

@media (max-width:980px){
  .admin-dashboard-container{
    width:min(100% - 34px,1440px);
  }

  .admin-layout{
    grid-template-columns:1fr;
  }

  .admin-sidebar{
    position:static;
  }

  .admin-sidebar-brand{
    display:none;
  }

  body .admin-sidebar-menu.admin-tabs{
    display:flex;
    overflow-x:auto;
    border-radius:22px;
    scrollbar-width:thin;
  }

  body .admin-menu-item.admin-tab{
    width:auto;
    flex:0 0 auto;
    white-space:nowrap;
  }

  .admin-topbar{
    align-items:flex-start;
    flex-direction:column;
  }

  .admin-topbar-actions{
    justify-content:flex-start;
  }

  .admin-overview-grid,
  .admin-quick-actions-card{
    grid-template-columns:1fr;
  }
}

@media (max-width:720px){
  body .admin-dashboard-section{
    padding:26px 0 76px;
  }

  .admin-topbar,
  body .admin-main .admin-panel{
    padding:20px;
    border-radius:22px;
  }

  body .admin-stats{
    grid-template-columns:1fr;
  }

  body .admin-filter-tabs.admin-tabs{
    overflow-x:auto;
    flex-wrap:nowrap;
  }

  body .admin-filter-tab.admin-tab{
    flex:0 0 auto;
    white-space:nowrap;
  }

  .admin-overview-item{
    display:grid;
  }
}

/* Admin client management */
.admin-client-search{
  margin:0 0 18px;
}

.admin-client-search label,
.client-note-form label{
  display:block;
  margin:0 0 9px;
  color:var(--color-muted);
  font-size:.72rem;
  font-weight:800;
  letter-spacing:.11em;
  text-transform:uppercase;
}

.admin-client-search input,
.client-note-form textarea{
  width:100%;
  border:1px solid var(--color-border);
  border-radius:18px;
  background:#FFFFFF;
  color:var(--color-text);
  outline:0;
  transition:border-color .2s ease,box-shadow .2s ease;
}

.admin-client-search input{
  min-height:52px;
  padding:15px 18px;
}

.client-note-form textarea{
  min-height:130px;
  padding:15px 16px;
  resize:vertical;
}

.admin-client-search input:focus,
.client-note-form textarea:focus{
  border-color:var(--color-primary);
  box-shadow:0 0 0 4px rgba(74,46,35,.12);
}

.admin-client-manager{
  display:grid;
  grid-template-columns:minmax(300px,.72fr) minmax(0,1.28fr);
  gap:18px;
  align-items:start;
}

.admin-client-list-panel,
.admin-client-detail-panel{
  min-width:0;
}

.client-list{
  max-height:calc(100vh - 260px);
  overflow:auto;
  padding-right:4px;
}

.admin-client-row{
  width:100%;
  display:grid;
  gap:14px;
  padding:18px;
  border:1px solid var(--color-border);
  border-radius:18px;
  background:#FFFFFF;
  color:var(--color-text);
  text-align:left;
  cursor:pointer;
  box-shadow:0 10px 26px rgba(74,46,35,.055);
  transition:transform .2s ease,border-color .2s ease,box-shadow .2s ease,background .2s ease;
}

.admin-client-row:hover,
.admin-client-row.is-selected{
  transform:translateY(-2px);
  border-color:var(--color-primary);
  box-shadow:0 18px 42px rgba(74,46,35,.11);
}

.admin-client-row.is-selected{
  background:linear-gradient(180deg,#FFFFFF,var(--color-surface));
}

.admin-client-row strong{
  display:block;
  color:var(--color-heading);
  font-size:1rem;
  font-weight:900;
}

.admin-client-row span{
  display:block;
  margin-top:3px;
  color:var(--color-muted);
  font-size:.88rem;
  overflow-wrap:anywhere;
}

.admin-client-row dl{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:8px;
  margin:0;
}

.admin-client-row dl div{
  min-width:0;
  padding:10px;
  border:1px solid rgba(216,196,173,.62);
  border-radius:12px;
  background:rgba(255,249,241,.72);
}

.admin-client-row dt{
  color:var(--color-muted);
  font-size:.62rem;
  font-weight:900;
  letter-spacing:.09em;
  text-transform:uppercase;
}

.admin-client-row dd{
  margin:3px 0 0;
  color:var(--color-heading);
  font-size:.82rem;
  font-weight:800;
  overflow-wrap:anywhere;
}

.admin-client-detail-card{
  display:grid;
  gap:20px;
  padding:24px;
  border:1px solid var(--color-border);
  border-radius:22px;
  background:#FFFFFF;
  box-shadow:0 14px 34px rgba(74,46,35,.075);
}

.client-detail-header h3{
  margin:10px 0 8px;
  font-size:clamp(2rem,3vw,2.8rem);
}

.client-detail-grid{
  margin-bottom:0;
}

.client-preference-grid{
  grid-template-columns:repeat(2,minmax(0,1fr));
}

.client-email-preferences{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
}

.client-history-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:14px;
}

.client-history-grid section,
.client-admin-notes-panel{
  padding:18px;
  border:1px solid var(--color-border);
  border-radius:18px;
  background:var(--color-surface);
}

.client-history-grid h4{
  margin:0 0 12px;
  color:var(--color-heading);
  font-family:'Cormorant Garamond','Times New Roman',Georgia,serif;
  font-size:1.45rem;
}

.client-appointment-list,
.client-admin-notes-list{
  display:grid;
  gap:10px;
}

.client-appointment-item,
.client-admin-note{
  display:flex;
  justify-content:space-between;
  gap:14px;
  align-items:flex-start;
  padding:13px;
  border:1px solid rgba(216,196,173,.72);
  border-radius:14px;
  background:#FFFFFF;
}

.client-appointment-item strong,
.client-admin-note strong{
  display:block;
  color:var(--color-heading);
  font-weight:900;
}

.client-appointment-item p,
.client-admin-note p{
  margin-top:4px;
  color:var(--color-muted);
  font-size:.88rem;
  overflow-wrap:anywhere;
}

.client-note-actions{
  display:flex;
  flex-wrap:wrap;
  justify-content:flex-end;
  gap:8px;
}

.client-note-form{
  display:grid;
  gap:12px;
  margin-top:16px;
}

.client-note-form .form-actions{
  margin-top:0;
}

@media (max-width:1180px){
  .admin-client-manager{
    grid-template-columns:1fr;
  }

  .client-list{
    max-height:none;
  }
}

@media (max-width:720px){
  .admin-client-row dl,
  .client-history-grid,
  .client-preference-grid{
    grid-template-columns:1fr;
  }

  .client-appointment-item,
  .client-admin-note{
    display:grid;
  }

  .client-note-actions{
    justify-content:flex-start;
  }
}

/* Calendar availability and booking tools */
.availability-calendar-shell,
.booking-calendar{
  margin:18px 0;
  padding:18px;
  border:1px solid var(--color-border,#D8C4AD);
  border-radius:22px;
  background:linear-gradient(180deg,#FFF9F1 0%,#FFFFFF 100%);
  box-shadow:0 14px 34px rgba(74,46,35,.07);
}

.booking-calendar{
  margin-top:16px;
}

.booking-calendar-field .field-hint{
  display:block;
  margin-top:6px;
}

.selected-date-display{
  min-height:48px;
  display:flex;
  align-items:center;
  padding:13px 15px;
  border:1px solid rgba(216,196,173,.82);
  border-radius:14px;
  background:#FFFFFF;
  color:var(--color-heading,#3B241B);
  font-weight:800;
}

.calendar-toolbar{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:12px;
  margin-bottom:16px;
}

.calendar-toolbar strong{
  color:var(--color-heading,#3B241B);
  font-family:'Cormorant Garamond','Times New Roman',Georgia,serif;
  font-size:clamp(1.7rem,2.5vw,2.3rem);
  font-weight:500;
  text-align:center;
}

.calendar-weekdays,
.calendar-grid{
  display:grid;
  grid-template-columns:repeat(7,minmax(0,1fr));
  gap:8px;
}

.calendar-weekdays{
  margin-bottom:8px;
}

.calendar-weekdays span{
  color:var(--color-muted,#7B675C);
  font-size:.7rem;
  font-weight:900;
  letter-spacing:.11em;
  text-align:center;
  text-transform:uppercase;
}

.calendar-day{
  position:relative;
  min-height:74px;
  display:grid;
  place-items:center;
  gap:2px;
  border:1px solid rgba(216,196,173,.82);
  border-radius:16px;
  background:#FFFFFF;
  color:var(--color-heading,#3B241B);
  font:inherit;
  font-weight:900;
  cursor:pointer;
  transition:transform .22s ease,box-shadow .22s ease,border-color .22s ease,background .22s ease,color .22s ease,opacity .22s ease;
}

.calendar-day span{
  font-size:1rem;
}

.calendar-day small{
  position:absolute;
  top:7px;
  right:7px;
  min-width:22px;
  height:22px;
  display:grid;
  place-items:center;
  padding:0 6px;
  border-radius:999px;
  background:rgba(184,149,106,.18);
  color:var(--color-primary,#4A2E23);
  font-size:.68rem;
  font-weight:900;
}

.calendar-day i{
  position:absolute;
  left:50%;
  bottom:8px;
  width:6px;
  height:6px;
  border-radius:50%;
  background:var(--color-accent,#B8956A);
  transform:translateX(-50%);
}

.calendar-day.is-empty{
  border-color:transparent;
  background:transparent;
  box-shadow:none;
  pointer-events:none;
}

button.calendar-day:hover:not(:disabled){
  transform:translateY(-2px);
  border-color:rgba(74,46,35,.34);
  box-shadow:0 14px 30px rgba(74,46,35,.10);
}

.calendar-day.has-open-slots:not(.is-selected){
  background:linear-gradient(180deg,#DDECCF 0%,#CFE6B8 100%);
  border-color:#5F8A4C;
  color:#2F5A2A;
}

.calendar-day.has-open-slots:not(.is-selected) small{
  background:rgba(95,138,76,.20);
  color:#2F5A2A;
}

.calendar-day.has-open-slots:not(.is-selected) i{
  background:#5F8A4C;
}

.calendar-day.is-closed-date:not(.is-selected),
.calendar-day.is-full-date:not(.is-selected){
  background:linear-gradient(180deg,#F3C7BE 0%,#EFB3A8 100%);
  border-color:#B14A3C;
  color:#7A241B;
}

.calendar-day.is-closed-date:not(.is-selected) small,
.calendar-day.is-full-date:not(.is-selected) small{
  background:rgba(177,74,60,.20);
  color:#7A241B;
}

.calendar-day.is-closed-date:not(.is-selected) i,
.calendar-day.is-full-date:not(.is-selected) i{
  background:#B14A3C;
}

.calendar-day.is-today:not(.is-selected){
  box-shadow:inset 0 0 0 2px rgba(184,149,106,.42);
}

.calendar-day.is-selected{
  background:var(--color-primary,#4A2E23);
  border-color:var(--color-primary,#4A2E23);
  color:#FFFFFF;
  box-shadow:0 18px 40px rgba(74,46,35,.18);
}

.calendar-day.is-selected small{
  background:rgba(255,255,255,.18);
  color:#FFFFFF;
}

.calendar-day.is-selected i{
  background:#FFFFFF;
}

.calendar-day.is-selected.has-open-slots{
  box-shadow:0 18px 40px rgba(74,46,35,.18),0 0 0 3px rgba(95,138,76,.42);
}

.calendar-day.is-selected.is-closed-date,
.calendar-day.is-selected.is-full-date{
  background:#7A241B;
  border-color:#B14A3C;
  box-shadow:0 18px 40px rgba(122,36,27,.20),0 0 0 3px rgba(177,74,60,.34);
}

.calendar-day:disabled{
  cursor:not-allowed;
  opacity:.82;
  box-shadow:none;
}

.calendar-day.is-past{
  opacity:.38;
}

.booking-calendar.is-loading{
  opacity:.68;
  pointer-events:none;
}

.availability-date-row{
  align-items:end;
}

.selected-date-field{
  margin-bottom:0;
}

@media (max-width:720px){
  .availability-calendar-shell,
  .booking-calendar{
    padding:14px;
    border-radius:18px;
  }

  .calendar-toolbar{
    display:grid;
    grid-template-columns:1fr 1fr;
  }

  .calendar-toolbar strong{
    grid-column:1 / -1;
    grid-row:1;
  }

  .calendar-day{
    min-height:54px;
    border-radius:12px;
  }

  .calendar-day small{
    min-width:18px;
    height:18px;
    font-size:.6rem;
  }

  .calendar-weekdays,
  .calendar-grid{
    gap:5px;
  }
}

/* Admin Availability layout: stacked calendar, tools, and saved slots */
#availability .availability-manager{
  display:grid;
  grid-template-columns:1fr;
  gap:26px;
}

#availability .availability-calendar-main{
  width:100%;
  min-height:0;
  margin:0;
  padding:30px;
}

#availability .availability-form,
#availability .availability-list-panel{
  position:static;
  width:100%;
  padding:28px;
}

#availability .availability-calendar-main .quick-presets-heading{
  grid-template-columns:minmax(0,1fr);
  margin-bottom:22px;
}

#availability .availability-calendar-main .quick-presets-heading h4{
  font-size:clamp(2.1rem,3.2vw,3.15rem);
}

#availability .availability-calendar-main .calendar-toolbar{
  margin-bottom:22px;
}

#availability .availability-calendar-main .calendar-toolbar strong{
  font-size:clamp(2.25rem,3.5vw,3.35rem);
}

#availability .availability-calendar-main .calendar-weekdays,
#availability .availability-calendar-main .calendar-grid{
  gap:12px;
}

#availability .availability-calendar-main .calendar-weekdays span{
  font-size:.78rem;
}

#availability .availability-calendar-main .calendar-day{
  min-height:118px;
  border-radius:20px;
}

#availability .availability-calendar-main .calendar-day span{
  font-size:1.18rem;
}

#availability .availability-calendar-main .calendar-day small{
  top:10px;
  right:10px;
  min-width:28px;
  height:26px;
  font-size:.74rem;
}

#availability .availability-calendar-main .calendar-day i{
  bottom:12px;
  width:8px;
  height:8px;
}

#availability .availability-form .account-card-heading{
  margin-bottom:18px;
}

#availability .availability-form .account-card-heading h3{
  font-size:clamp(2.05rem,3vw,2.75rem);
}

#availability .availability-date-row{
  grid-template-columns:minmax(260px,1.1fr) minmax(220px,.55fr);
  gap:18px;
}

#availability .availability-form > .field{
  max-width:none;
}

#availability .quick-presets,
#availability .manual-time-box{
  margin-top:18px;
  padding:20px;
}

#availability .preset-grid{
  grid-template-columns:repeat(4,minmax(0,1fr));
  max-height:none;
  overflow:visible;
  padding-right:0;
}

#availability .availability-list{
  max-height:none;
  overflow:visible;
  padding-right:0;
}

#availability .availability-slot-card{
  padding:24px;
  border-radius:22px;
}

@media (max-width:1280px){
  #availability .availability-calendar-main .calendar-day{
    min-height:102px;
  }

  #availability .preset-grid{
    grid-template-columns:repeat(3,minmax(0,1fr));
  }
}

@media (max-width:1080px){
  #availability .preset-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }

  #availability .availability-date-row{
    grid-template-columns:1fr;
  }
}

@media (max-width:720px){
  #availability .availability-calendar-main{
    padding:16px;
  }

  #availability .availability-calendar-main .calendar-weekdays,
  #availability .availability-calendar-main .calendar-grid{
    gap:6px;
  }

  #availability .availability-calendar-main .calendar-day{
    min-height:58px;
    border-radius:12px;
  }

  #availability .availability-date-row,
  #availability .preset-grid{
    grid-template-columns:1fr;
  }
}

/* Homepage Services: 3 category structure */
.service-category-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:24px;
  align-items:start;
  margin-top:34px;
}

.service-category-card{
  overflow:hidden;
  border:1px solid rgba(216,196,173,.82);
  border-radius:28px;
  background:linear-gradient(180deg,#FFFFFF 0%,#FFF9F1 100%);
  box-shadow:0 18px 48px rgba(74,46,35,.09);
  transition:transform .28s ease,box-shadow .28s ease,border-color .28s ease;
}

.service-category-card:hover{
  transform:translateY(-5px);
  border-color:rgba(184,149,106,.78);
  box-shadow:0 26px 68px rgba(74,46,35,.13);
}

.service-category-image{
  height:238px;
  overflow:hidden;
  background:#EFE0CF;
}

.service-category-image img{
  width:100%;
  height:100%;
  object-fit:cover;
  filter:saturate(.88) contrast(.98) brightness(1.03);
  transition:transform .75s ease;
}

.service-category-card:hover .service-category-image img{
  transform:scale(1.055);
}

.service-category-content{
  display:grid;
  gap:18px;
  padding:24px;
}

.service-category-top h3{
  margin:8px 0 10px;
  color:#3B241B;
  font-family:'Cormorant Garamond','Times New Roman',Georgia,serif;
  font-size:clamp(2.25rem,3.8vw,3.2rem);
  font-weight:400;
  letter-spacing:0;
}

.service-category-top p,
.service-detail-item p,
.simple-service-list p,
.package-list li,
.waxing-service-columns li{
  color:#7B675C;
}

.service-detail-list,
.simple-service-list{
  display:grid;
  gap:10px;
}

.service-detail-item{
  border:1px solid rgba(216,196,173,.76);
  border-radius:16px;
  background:rgba(255,255,255,.78);
  box-shadow:0 8px 22px rgba(74,46,35,.055);
}

.service-detail-item summary{
  position:relative;
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:12px;
  align-items:center;
  padding:15px 42px 15px 16px;
  cursor:pointer;
  list-style:none;
}

.service-detail-item summary::-webkit-details-marker{
  display:none;
}

.service-detail-item summary:after{
  content:"+";
  position:absolute;
  right:16px;
  top:50%;
  width:24px;
  height:24px;
  display:grid;
  place-items:center;
  border:1px solid rgba(184,149,106,.72);
  border-radius:50%;
  color:#4A2E23;
  font-weight:900;
  transform:translateY(-50%);
}

.service-detail-item[open] summary:after{
  content:"-";
  background:#4A2E23;
  border-color:#4A2E23;
  color:#FFFFFF;
}

.service-detail-item strong,
.simple-service-list h4,
.package-list h4,
.waxing-service-columns h4{
  display:block;
  color:#3B241B;
  font-size:1rem;
  font-weight:900;
}

.service-detail-item em{
  display:block;
  margin-top:4px;
  color:#7B675C;
  font-size:.88rem;
  font-style:normal;
  line-height:1.55;
}

.service-detail-item p{
  padding:0 16px 13px;
  font-size:.92rem;
  line-height:1.72;
}

.service-detail-item .mini-btn{
  margin:0 16px 16px;
}

.simple-service-list article,
.package-list,
.waxing-service-columns > div{
  padding:16px;
  border:1px solid rgba(216,196,173,.76);
  border-radius:16px;
  background:rgba(255,255,255,.76);
}

.simple-service-list article{
  display:grid;
  gap:9px;
}

.simple-service-list p{
  font-size:.92rem;
  line-height:1.65;
}

.package-list ul,
.waxing-service-columns ul{
  display:grid;
  gap:9px;
  padding:0;
  margin:12px 0 0;
  list-style:none;
}

.package-list li,
.waxing-service-columns li{
  display:flex;
  justify-content:space-between;
  gap:10px;
  align-items:center;
  padding:10px 0;
  border-top:1px solid rgba(216,196,173,.58);
  font-size:.92rem;
  font-weight:700;
}

.package-list li:first-child,
.waxing-service-columns li:first-child{
  border-top:0;
}

.package-list span{
  display:inline-flex;
  align-items:center;
  min-height:24px;
  padding:4px 9px;
  border-radius:999px;
  background:rgba(184,149,106,.18);
  color:#4A2E23;
  font-size:.68rem;
  font-weight:900;
  letter-spacing:.08em;
  text-transform:uppercase;
  white-space:nowrap;
}

.waxing-service-columns{
  display:grid;
  gap:12px;
}

.service-category-card .service-actions{
  margin-top:4px;
}

.service-category-card .service-actions .mini-btn:last-child{
  background:#4A2E23;
  border-color:#4A2E23;
  color:#FFFFFF;
}

.service-category-card .service-actions .mini-btn:last-child:hover{
  background:#2F1C15;
  border-color:#2F1C15;
}

@media (max-width:1180px){
  .service-category-grid{
    grid-template-columns:1fr;
  }

  .service-category-card{
    display:grid;
    grid-template-columns:minmax(260px,.42fr) minmax(0,.58fr);
  }

  .service-category-image{
    height:100%;
    min-height:320px;
  }
}

@media (max-width:760px){
  .service-category-card{
    display:block;
  }

  .service-category-image{
    height:240px;
    min-height:0;
  }

  .service-category-content{
    padding:20px;
  }

  .service-detail-item summary{
    padding-right:40px;
  }
}

/* Service category pages */
.service-menu-section{
  background:
    radial-gradient(circle at 12% 0%,rgba(184,149,106,.10),transparent 26%),
    linear-gradient(180deg,#FFF9F1 0%,#FFFFFF 48%,#F7EFE5 100%);
}

.section-anchor{
  display:block;
  position:relative;
  top:-92px;
  height:0;
  visibility:hidden;
}

.service-menu-section .section-heading{
  max-width:760px;
}

.service-menu-section .section-heading.compact{
  margin:0 auto 24px;
}

.service-menu-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:22px;
  margin-top:34px;
}

.service-menu-grid.compact{
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:16px;
  margin-top:0;
}

.service-menu-card{
  position:relative;
  display:grid;
  align-content:start;
  gap:13px;
  padding:26px;
  border:1px solid rgba(216,196,173,.88);
  border-radius:24px;
  background:linear-gradient(180deg,#FFFFFF 0%,#FFF9F1 100%);
  box-shadow:0 18px 44px rgba(74,46,35,.08);
  transition:transform .28s ease,border-color .28s ease,box-shadow .28s ease;
}

.service-menu-card:hover{
  transform:translateY(-5px);
  border-color:rgba(184,149,106,.78);
  box-shadow:0 26px 60px rgba(74,46,35,.12);
}

.service-menu-card.compact{
  min-height:210px;
  padding:20px;
}

.service-menu-card h3{
  color:#3B241B;
  font-family:'Cormorant Garamond','Times New Roman',Georgia,serif;
  font-size:clamp(1.65rem,2.8vw,2.25rem);
  font-weight:500;
  line-height:1;
}

.service-menu-card.compact h3{
  font-size:1.58rem;
  line-height:1.06;
}

.service-menu-card p{
  color:#7B675C;
  font-size:.96rem;
  line-height:1.78;
}

.service-menu-card .service-short{
  color:#4A2E23;
  font-weight:800;
}

.service-menu-card .mini-btn{
  justify-self:start;
  align-self:end;
  margin-top:8px;
}

.service-menu-number{
  display:inline-grid;
  place-items:center;
  width:42px;
  height:42px;
  border-radius:999px;
  background:rgba(184,149,106,.18);
  border:1px solid rgba(184,149,106,.34);
  color:#4A2E23;
  font-size:.76rem;
  font-weight:900;
  letter-spacing:.08em;
}

.service-menu-subsection,
.service-menu-group{
  margin-top:44px;
}

.service-menu-group{
  padding:26px;
  border:1px solid rgba(216,196,173,.72);
  border-radius:28px;
  background:rgba(255,255,255,.64);
  box-shadow:0 16px 42px rgba(74,46,35,.06);
}

.service-menu-group + .service-menu-group{
  margin-top:24px;
}

.service-menu-group-heading{
  display:flex;
  align-items:end;
  justify-content:space-between;
  gap:18px;
  margin-bottom:20px;
  border-bottom:1px solid rgba(216,196,173,.68);
  padding-bottom:16px;
}

.service-menu-group-heading h3{
  color:#3B241B;
  font-family:'Cormorant Garamond','Times New Roman',Georgia,serif;
  font-size:clamp(2.1rem,4vw,3rem);
  font-weight:500;
}

.service-badge{
  justify-self:start;
  display:inline-flex;
  align-items:center;
  min-height:28px;
  padding:6px 10px;
  border-radius:999px;
  background:rgba(184,149,106,.18);
  border:1px solid rgba(184,149,106,.32);
  color:#4A2E23;
  font-size:.68rem;
  font-weight:900;
  letter-spacing:.08em;
  text-transform:uppercase;
}

@media (max-width:1180px){
  .service-menu-grid.compact{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}

@media (max-width:820px){
  .service-menu-grid,
  .service-menu-grid.compact{
    grid-template-columns:1fr;
  }

  .service-menu-card.compact{
    min-height:0;
  }

  .service-menu-group{
    padding:18px;
    border-radius:22px;
  }

  .service-menu-group-heading{
    display:block;
  }
}

/* Services interface polish */
.service-interface-page .page-copy h1{
  color:#3B241B;
  font-size:clamp(4.25rem,8vw,7.6rem);
  font-weight:500;
  letter-spacing:-.045em;
}

.service-interface-page .page-copy .lead{
  max-width:680px;
  color:#4F3A30;
  font-size:clamp(1.16rem,1.55vw,1.34rem);
  line-height:1.75;
}

.service-menu-section .section-heading h2{
  color:#3B241B;
  font-size:clamp(3rem,5.5vw,4.65rem);
  font-weight:500;
  letter-spacing:-.035em;
}

.service-menu-section .section-heading p{
  color:#4F3A30;
  font-size:1.08rem;
  line-height:1.75;
}

.service-menu-grid{
  gap:26px;
}

.service-menu-grid.compact{
  gap:18px;
}

.service-menu-card{
  gap:16px;
  padding:30px;
  border-color:rgba(216,196,173,.96);
  background:
    linear-gradient(180deg,rgba(255,255,255,.98) 0%,rgba(255,249,241,.98) 100%);
}

.service-menu-card.compact{
  min-height:220px;
  padding:24px;
}

.service-menu-card h3{
  color:#3B241B;
  font-size:clamp(2rem,3.1vw,2.7rem);
  font-weight:600;
  line-height:1.02;
}

.service-menu-card.compact h3{
  font-size:clamp(1.8rem,2.5vw,2.15rem);
}

.service-menu-card p,
.service-menu-card .service-short{
  font-size:1.06rem;
  line-height:1.65;
}

.service-menu-card .service-short{
  color:#4A2E23;
  font-weight:700;
}

.service-menu-card .mini-btn{
  min-height:44px;
  padding:12px 16px;
  font-size:.78rem;
}

.service-menu-number{
  width:48px;
  height:48px;
  background:rgba(184,149,106,.26);
  border-color:rgba(184,149,106,.52);
  color:#3B241B;
  font-size:.82rem;
}

.service-badge{
  min-height:32px;
  padding:7px 12px;
  background:rgba(184,149,106,.24);
  border-color:rgba(184,149,106,.48);
  color:#3B241B;
  font-size:.76rem;
}

.service-card-details{
  margin-top:2px;
  padding-top:12px;
  border-top:1px solid rgba(216,196,173,.72);
}

.service-card-details summary{
  display:inline-flex;
  align-items:center;
  gap:8px;
  color:#4A2E23;
  cursor:pointer;
  font-size:.82rem;
  font-weight:900;
  letter-spacing:.09em;
  list-style:none;
  text-transform:uppercase;
}

.service-card-details summary::-webkit-details-marker{
  display:none;
}

.service-card-details summary:after{
  content:"+";
  display:inline-grid;
  place-items:center;
  width:22px;
  height:22px;
  border:1px solid rgba(184,149,106,.48);
  border-radius:999px;
  background:#FFFFFF;
  color:#4A2E23;
  font-size:.9rem;
  line-height:1;
}

.service-card-details[open] summary:after{
  content:"-";
  background:#4A2E23;
  border-color:#4A2E23;
  color:#FFFFFF;
}

.service-card-details-content{
  display:grid;
  gap:10px;
  margin-top:12px;
}

.service-card-details-content p{
  color:#7B675C;
  font-size:.98rem;
  line-height:1.76;
}

.service-menu-group-heading h3{
  font-weight:600;
}

@media (max-width:820px){
  .service-interface-page .page-copy h1{
    font-size:clamp(3.4rem,15vw,5rem);
  }

  .service-menu-card,
  .service-menu-card.compact{
    padding:22px;
  }

  .service-menu-card h3,
  .service-menu-card.compact h3{
    font-size:2rem;
  }
}

/* Full-card click target for homepage service categories */
.service-category-card{
  position:relative;
  cursor:pointer;
}

.service-category-overlay{
  position:absolute;
  inset:0;
  z-index:2;
  border-radius:inherit;
  color:inherit;
  text-decoration:none;
}

.service-category-overlay:focus-visible{
  outline:3px solid rgba(184,149,106,.72);
  outline-offset:-9px;
}

.service-category-card .service-actions{
  position:relative;
  z-index:3;
}

.service-category-card .service-actions .mini-btn{
  position:relative;
}

/* Stripe deposit verification */
.payment-success-section{
  min-height:calc(100vh - 120px);
}

.payment-success-card{
  text-align:center;
}

.payment-success-icon{
  width:78px;
  height:78px;
  display:inline-grid;
  place-items:center;
  margin:0 auto 18px;
  border:1px solid rgba(184,149,106,.46);
  border-radius:999px;
  background:linear-gradient(180deg,#FFF9F1,#EFE0CF);
  color:#4A2E23;
  box-shadow:0 18px 44px rgba(74,46,35,.14);
}

.payment-success-icon svg{
  width:38px;
  height:38px;
}

.payment-status-details{
  margin:22px 0;
  padding:18px;
  border:1px solid rgba(216,196,173,.86);
  border-radius:18px;
  background:#FFF9F1;
  text-align:left;
}

.payment-status-details.is-paid{
  border-color:rgba(95,138,76,.62);
  background:#F4FAEF;
}

.payment-status-details.is-review,
.payment-status-details.is-pending{
  border-color:rgba(184,149,106,.62);
  background:#FFF9F1;
}

.payment-status-details.is-expired,
.payment-status-details.is-error{
  border-color:rgba(177,74,60,.46);
  background:#FFF4F1;
}

.payment-status-list{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px;
  margin:0;
}

.payment-status-list div{
  padding:13px;
  border:1px solid rgba(216,196,173,.72);
  border-radius:14px;
  background:#FFFFFF;
}

.payment-status-list dt{
  color:#7B675C;
  font-size:.72rem;
  font-weight:900;
  letter-spacing:.1em;
  text-transform:uppercase;
}

.payment-status-list dd{
  margin:4px 0 0;
  color:#3B241B;
  font-weight:800;
}

.admin-status-pill.status-pending_payment,
.slot-status-held{
  background:#FFF4D8;
  color:#4A2E23;
}

.admin-status-pill.status-payment_review{
  background:#F3C7BE;
  color:#7A241B;
}

.admin-status-pill.status-payment_expired{
  background:#F3F0EC;
  color:#7B675C;
}

.admin-appointment-card.status-pending_payment,
.availability-slot-card.is-held{
  border-left-color:#B8956A;
}

.admin-appointment-card.status-payment_review{
  border-left-color:#B14A3C;
}

.admin-appointment-card.status-payment_expired{
  border-left-color:#7B675C;
}

@media (max-width:700px){
  .payment-status-list{
    grid-template-columns:1fr;
  }
}
