/* Home editorial sections follow the Lunar palette and keep live menu data readable. */
.about-story{position:relative;display:block!important;width:100%!important;max-width:none!important;margin:0!important;padding:clamp(90px,9vw,150px) clamp(20px,5vw,80px)!important;overflow:clip!important;background:#f8f1ed!important;color:#4a1f2c}
.about-story::before{content:"";position:absolute;inset:0;pointer-events:none;background-image:radial-gradient(rgba(97,58,62,.16) .5px,transparent .5px);background-size:8px 8px;opacity:.25}
.about-number{position:absolute;top:44px;right:max(22px,calc((100vw - 1280px)/2));font-family:"Cormorant Garamond",Georgia,serif;font-size:clamp(90px,13vw,180px);line-height:.7;color:transparent;-webkit-text-stroke:1px rgba(91,50,60,.2);pointer-events:none}
.about-story .about-layout{position:relative;z-index:1;display:grid!important;width:min(100%,1280px)!important;max-width:1280px!important;margin:auto!important;grid-template-columns:minmax(0,1.1fr) minmax(0,.58fr) minmax(0,.62fr)!important;grid-template-areas:"head head intro" "photo photo details" "photo photo note";gap:clamp(20px,2.6vw,40px)!important;align-items:start!important}
.about-story .about-layout::before{display:none!important}
.about-heading{grid-area:head;min-width:0;padding-bottom:clamp(14px,2vw,30px)}
.about-story .about-kicker{display:block!important;margin:0 0 22px!important;color:#b54468!important;font:700 .75rem/1.4 "Outfit",sans-serif!important;letter-spacing:.2em!important;text-transform:uppercase}
.about-story .about-kicker::before{display:none!important}
.about-heading h2{max-width:860px!important;margin:0!important;color:#4a1f2c!important;font-family:"Cormorant Garamond",Georgia,serif!important;font-size:clamp(4rem,7.6vw,8.2rem)!important;font-weight:500!important;line-height:.82!important;letter-spacing:-.047em!important;text-align:left!important;text-wrap:balance}
.about-heading h2 em{display:block!important;margin-left:clamp(0px,8vw,120px);color:#b54468!important;font-weight:400!important;white-space:nowrap}
.about-intro{grid-area:intro;align-self:end;max-width:34ch;padding-top:36px}
.about-intro p{margin:0 0 22px;color:#725660;font:400 clamp(1rem,1.12vw,1.14rem)/1.75 "Outfit",sans-serif}
.about-story .about-directions{display:flex!important;justify-content:space-between;gap:16px;width:100%;margin:0!important;padding:11px 0!important;border:0!important;border-bottom:1px solid #9a7180!important;color:#4a1f2c!important;font:700 .75rem/1.4 "Outfit",sans-serif!important;letter-spacing:.1em;text-decoration:none!important;text-transform:uppercase}
.about-story .about-directions:hover{color:#b54468!important}
.about-story .about-directions span{font-size:1.18rem;line-height:1}
.about-story .about-photo{grid-area:photo;min-width:0;width:100%!important;max-width:none!important;margin:0!important}
.about-photo-frame{height:clamp(520px,58vw,790px);overflow:hidden;border-radius:0 0 120px 0;background:#d6c2ca}
.about-story .about-photo img{display:block;width:100%!important;max-width:none!important;height:100%!important;max-height:none!important;aspect-ratio:auto!important;object-fit:cover!important;object-position:center 45%;border:0!important;border-radius:0!important;box-shadow:none!important;filter:saturate(.95) brightness(1.03);transition:transform 1.2s ease}
.about-story .about-photo:hover img{transform:scale(1.025)}
.about-story .about-photo figcaption{display:flex!important;justify-content:space-between;gap:15px;margin:0!important;padding-top:14px;color:#876b73!important;font:600 .67rem/1.4 "Outfit",sans-serif!important;letter-spacing:.14em;text-transform:uppercase}
.about-details{grid-area:details;display:grid;grid-template-columns:1fr 1fr;gap:12px;min-width:0}
.about-details figure{min-width:0;margin:0}
.about-details img{display:block;width:100%;height:auto;aspect-ratio:3/4;object-fit:cover;filter:saturate(.86)}
.about-details figcaption{padding-top:9px;color:#8e6173;font:italic 1.25rem/1.1 "Cormorant Garamond",Georgia,serif}
.about-note{grid-area:note;align-self:end;min-width:0;margin-top:clamp(12px,3vw,48px);padding:24px 0 0 25px;border-left:1px solid #bf9fa9}
.about-note>span{color:#b54468;font:700 .7rem/1.4 "Outfit",sans-serif;letter-spacing:.19em}
.about-note>p{max-width:36ch;margin:13px 0 0;color:#725660;font:400 1rem/1.72 "Outfit",sans-serif}
.about-stats{display:flex;flex-wrap:wrap;gap:10px 18px;margin-top:22px;padding-top:16px;border-top:1px solid #d6bfc7}
.about-stats span{color:#725660;font:400 .75rem/1.3 "Outfit",sans-serif}
.about-stats strong{margin-right:4px;color:#4a1f2c;font:500 1.55rem/1 "Cormorant Garamond",Georgia,serif}

.make-time{display:block!important;width:100%!important;max-width:none!important;margin:0!important;padding:clamp(84px,8vw,130px) clamp(20px,5vw,80px)!important;background:#fdf4f6!important;color:#4a1f2c}
.make-time-inner{width:min(100%,1280px);margin:auto}
.make-time-heading{max-width:780px;margin:0 0 clamp(30px,4vw,55px)}
.make-time-heading .section-label{margin-bottom:20px!important;color:#b54468!important}
.make-time-heading h2{margin:0 0 14px;color:#4a1f2c;font:500 clamp(3.8rem,7vw,7.6rem)/.89 "Cormorant Garamond",Georgia,serif;letter-spacing:-.045em;text-wrap:balance}
.make-time-heading h2 em{color:#b54468;font-weight:400}
.make-time-heading>p:last-child{max-width:49ch;margin:0;color:#765965;font:400 clamp(1rem,1.2vw,1.12rem)/1.7 "Outfit",sans-serif}
.make-time-grid{display:grid;grid-template-columns:1fr 1fr;grid-template-rows:repeat(2,minmax(260px,auto));gap:18px}
.make-time-card{display:grid;grid-template-columns:minmax(0,.88fr) minmax(0,1fr);min-width:0;overflow:hidden;border:1px solid #e7cbd5;background:#fffaf9}
.make-time-feature{grid-row:1/3;display:flex;flex-direction:column}
.make-time-card figure{min-width:0;min-height:260px;margin:0;overflow:hidden;background:#f2dbe3}
.make-time-feature figure{height:55%;min-height:330px}
.make-time-card img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .8s ease}
.make-time-card:hover img{transform:scale(1.035)}
.make-time-card-copy{display:flex;flex-direction:column;align-items:start;justify-content:center;min-width:0;padding:clamp(20px,2.7vw,40px)}
.make-time-feature .make-time-card-copy{flex:1;background:#f8e5eb}
.make-time-category{color:#b54468;font:700 .7rem/1.4 "Outfit",sans-serif;letter-spacing:.15em;text-transform:uppercase}
.make-time-card h3{margin:9px 0 10px;color:#4a1f2c;font:500 clamp(1.85rem,2.8vw,3.15rem)/1.04 "Cormorant Garamond",Georgia,serif;letter-spacing:-.02em;overflow-wrap:anywhere}
.make-time-card p{display:-webkit-box;max-width:55ch;margin:0;color:#765965;font:400 .95rem/1.6 "Outfit",sans-serif;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:3}
.make-time-meta{display:flex;flex-wrap:wrap;gap:8px;margin:18px 0 0}
.make-time-meta span{padding:6px 11px;background:#fff9f9;color:#5c3848;font:600 .78rem/1.2 "Outfit",sans-serif}
.make-time-link{display:inline-flex;gap:16px;align-items:center;margin-top:22px;padding-bottom:6px;border-bottom:1px solid #b54468;color:#a8375b!important;font:700 .78rem/1.3 "Outfit",sans-serif;text-decoration:none;text-transform:uppercase;letter-spacing:.06em}
.make-time-link:hover{color:#792841!important}
.make-time-status{margin:0;padding:45px;background:#fff9f9;color:#725660;font:400 1rem/1.6 "Outfit",sans-serif}
.make-time-footer{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-top:18px;padding:22px 30px;background:#f2cbd5}
.make-time-footer p{margin:0;color:#4a1f2c;font:500 1.45rem/1.1 "Cormorant Garamond",Georgia,serif}
.make-time-footer a{color:#4a1f2c!important;font:700 .77rem/1.4 "Outfit",sans-serif;text-decoration:none;text-transform:uppercase;letter-spacing:.08em;white-space:nowrap}
.make-time-footer a:hover{text-decoration:underline}
@media(max-width:1000px){.about-story .about-layout{grid-template-columns:repeat(2,minmax(0,1fr))!important;grid-template-areas:"head head" "intro intro" "photo photo" "details note"}.about-intro{max-width:48ch;padding-top:0}.about-heading h2 em{margin-left:8vw}.about-photo-frame{height:600px}.make-time-grid{grid-template-columns:1fr;grid-template-rows:auto}.make-time-feature{grid-row:auto;display:grid;grid-template-columns:1fr 1fr}.make-time-feature figure{height:auto;min-height:320px}.make-time-card{min-height:320px}}
@media(max-width:650px){.about-story{padding:78px 22px 90px!important}.about-number{top:26px}.about-story .about-layout{grid-template-columns:1fr!important;grid-template-areas:"head" "intro" "photo" "details" "note";gap:24px!important}.about-heading h2{font-size:clamp(3.6rem,14vw,5.2rem)!important;line-height:.9!important}.about-heading h2 em{margin-left:0;white-space:normal}.about-intro{max-width:100%}.about-photo-frame{height:auto;aspect-ratio:4/5;border-radius:0 0 70px 0}.about-story .about-photo figcaption{font-size:.6rem!important}.about-details{gap:10px}.about-note{margin-top:6px}.make-time{padding:80px 22px 90px!important}.make-time-heading h2{font-size:clamp(3.5rem,13.5vw,5.4rem)}.make-time-grid{gap:14px}.make-time-card,.make-time-feature{display:flex;flex-direction:column;min-height:0}.make-time-card figure,.make-time-feature figure{height:230px;min-height:0}.make-time-card-copy{padding:25px}.make-time-card h3{font-size:2.3rem}.make-time-footer{align-items:flex-start;flex-direction:column;padding:22px}.make-time-footer a{white-space:normal}}
@media(prefers-reduced-motion:reduce){.about-story .about-photo img,.make-time-card img{transition:none}.about-story .about-photo:hover img,.make-time-card:hover img{transform:none}}

/* A compact image-led booking band inspired by the reference site's final CTA. */
.happy-visit{position:relative;isolation:isolate;display:block!important;min-height:clamp(340px,31vw,455px);margin:0!important;padding:clamp(62px,7vw,96px) clamp(22px,5vw,80px)!important;overflow:hidden;border-radius:0!important;background:#3a1822!important;color:#fff8fa!important}
.happy-visit-image,.happy-visit::after{position:absolute;inset:0;z-index:-1}
.happy-visit-image img{display:block;width:100%;height:100%;object-fit:cover;object-position:center 43%;filter:saturate(.85);transition:transform 1.2s ease}
.happy-visit:hover .happy-visit-image img{transform:scale(1.025)}
.happy-visit::after{content:"";background:linear-gradient(100deg,rgba(45,16,30,.94) 0%,rgba(64,24,40,.87) 49%,rgba(50,18,32,.67) 100%)}
.happy-visit-inner{display:flex;align-items:center;justify-content:space-between;gap:clamp(28px,5vw,80px);width:min(100%,1280px);min-height:220px;margin:auto}
.happy-visit-copy{max-width:760px!important;margin:0!important}
.happy-visit .section-label{margin:0 0 18px!important;color:#f2bfce!important;font:700 .74rem/1.3 "Outfit",sans-serif!important;letter-spacing:.2em!important}
.happy-visit h2{max-width:16ch;margin:0 0 17px!important;color:#fff8fa!important;font:500 clamp(3.3rem,5.6vw,6.2rem)/.94 "Cormorant Garamond",Georgia,serif!important;letter-spacing:-.035em;text-wrap:balance}
.happy-visit h2 em{color:#f3c4cf!important;font-weight:400}
.happy-visit-copy>p:last-child{max-width:49ch!important;margin:0!important;color:#f7dfe6!important;font:400 clamp(.99rem,1.2vw,1.12rem)/1.68 "Outfit",sans-serif!important}
.happy-visit-actions{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:12px;flex:none}
.happy-visit-actions a{display:inline-flex;align-items:center;justify-content:center;gap:16px;min-height:52px;padding:13px 22px;border-radius:100px;font:700 .75rem/1.3 "Outfit",sans-serif!important;letter-spacing:.08em;text-decoration:none;text-transform:uppercase;white-space:nowrap;transition:background .25s ease,color .25s ease,transform .25s ease}
.happy-visit-actions a span{font-size:1rem;line-height:1}
.happy-visit-actions a:hover{transform:translateY(-2px)}
.happy-visit-actions .booking-link{margin:0!important;border:1px solid #f9e8ed!important;background:#f9e8ed!important;color:#4a1f2c!important}
.happy-visit-actions .booking-link:hover{background:#fff!important;border-color:#fff!important}
.happy-visit-actions .happy-visit-call{border:1px solid rgba(255,248,250,.7);background:rgba(255,248,250,.07);color:#fff8fa!important}
.happy-visit-actions .happy-visit-call:hover{background:rgba(255,248,250,.17)}
.happy-visit-actions [hidden]{display:none!important}
@media(min-width:901px){.happy-visit{width:calc(100% + 24px)!important;max-width:none!important;margin-left:-12px!important}}
@media(max-width:900px){.happy-visit-inner{align-items:flex-start;flex-direction:column;min-height:0}.happy-visit-actions{justify-content:flex-start}.happy-visit h2{font-size:clamp(3.4rem,9vw,5.6rem)}}
@media(max-width:600px){.happy-visit{min-height:450px;padding:70px 22px 112px!important}.happy-visit::after{background:linear-gradient(110deg,rgba(45,16,30,.91),rgba(50,18,32,.72))}.happy-visit-image img{object-position:58% center}.happy-visit-inner{gap:27px}.happy-visit h2{font-size:clamp(3.55rem,14vw,5rem)}.happy-visit-actions{width:100%;gap:10px}.happy-visit-actions a{min-height:48px;padding:10px 19px;font-size:.69rem!important}}
@media(prefers-reduced-motion:reduce){.happy-visit-image img,.happy-visit-actions a{transition:none}.happy-visit:hover .happy-visit-image img,.happy-visit-actions a:hover{transform:none}}

/* Appointment invitation: portrait gallery image and a simple booking path. */
.appointment-invite{display:block!important;width:100%!important;max-width:none!important;margin:0!important;padding:clamp(86px,9vw,150px) clamp(22px,5vw,80px)!important;overflow:hidden;background:#f8f0f1!important;color:#4a1f2c}
.appointment-layout{display:grid;grid-template-columns:minmax(0,.82fr) minmax(0,1.18fr);align-items:center;gap:clamp(48px,8vw,120px);width:min(100%,1240px);margin:auto}
.appointment-photo{position:relative;min-width:0;margin:0}
.appointment-photo img{display:block;width:100%;aspect-ratio:4/5;object-fit:cover;object-position:center;filter:saturate(.9) brightness(1.04)}
.appointment-photo figcaption{position:absolute;right:-18px;bottom:32px;max-width:calc(100% - 24px);padding:13px 18px;background:#4a1f2c;color:#fff8fa;font:700 .7rem/1.4 "Outfit",sans-serif;letter-spacing:.14em;text-transform:uppercase}
.appointment-content{min-width:0;max-width:650px}
.appointment-content .section-label{margin:0 0 18px!important;color:#b54468!important;font:700 .72rem/1.3 "Outfit",sans-serif!important;letter-spacing:.19em!important}
.appointment-content h2{max-width:13ch;margin:0!important;color:#4a1f2c!important;font:500 clamp(3.7rem,5.8vw,6.5rem)/.89 "Cormorant Garamond",Georgia,serif!important;letter-spacing:-.045em;text-wrap:balance}
.appointment-content h2 em{color:#b54468!important;font-weight:400}
.appointment-lead{max-width:55ch;margin:28px 0 30px;color:#765965;font:400 clamp(1rem,1.23vw,1.14rem)/1.75 "Outfit",sans-serif}
.appointment-steps{margin:0 0 32px;padding:0;border-top:1px solid #d8bec7;list-style:none}
.appointment-steps li{display:flex;align-items:center;gap:22px;min-height:62px;padding:12px 0;border-bottom:1px solid #d8bec7;color:#4a1f2c;font:500 clamp(.96rem,1.18vw,1.1rem)/1.4 "Outfit",sans-serif}
.appointment-steps li span{color:#b54468;font:700 .7rem/1.2 "Outfit",sans-serif;letter-spacing:.14em}
.appointment-actions{display:flex;align-items:center;flex-wrap:wrap;gap:14px 24px}
.appointment-actions .button{display:inline-flex;align-items:center;justify-content:center;gap:14px;min-height:50px;margin:0!important;padding:12px 22px!important;color:#fff!important;font:700 .75rem/1.3 "Outfit",sans-serif!important;letter-spacing:.07em;text-transform:uppercase;text-decoration:none}
.appointment-actions a span{font-size:1rem}
.appointment-explore{display:inline-flex;align-items:center;gap:13px;min-height:48px;padding:9px 0;border-bottom:1px solid #b54468;color:#8b3553!important;font:700 .75rem/1.3 "Outfit",sans-serif;text-decoration:none;text-transform:uppercase;letter-spacing:.07em}
.appointment-explore:hover{color:#5c2238!important}
.appointment-address{margin:22px 0 0;color:#876e77;font:400 .85rem/1.5 "Outfit",sans-serif}
@media(max-width:900px){.appointment-layout{grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:36px}.appointment-content h2{font-size:clamp(3.25rem,7vw,5rem)}}
@media(max-width:700px){.appointment-invite{padding:82px 22px 95px!important}.appointment-layout{grid-template-columns:1fr;gap:39px}.appointment-photo{width:min(100%,480px)}.appointment-photo figcaption{right:12px;bottom:12px;padding:10px 13px}.appointment-content h2{font-size:clamp(3.6rem,13vw,5.5rem)}.appointment-lead{margin:22px 0 24px}.appointment-actions{gap:12px 20px}}

/* Lovely-style three-column footer, with Lunar's own data and booking flow. */
.site-footer.site-footer--lovely{display:block!important;width:100%!important;max-width:none!important;margin:0!important;padding:clamp(62px,6vw,90px) clamp(22px,5vw,80px) 45px!important;border:0!important;border-radius:0!important;background-color:#30121f!important;background-image:linear-gradient(95deg,rgba(38,12,26,.88),rgba(43,15,28,.73)),url("../photos/brand/footer-manicure-retouched.jpg")!important;background-position:center,67% center;background-size:cover;color:#fde8ec!important;box-shadow:none!important}
.site-footer-inner{width:min(100%,1280px);margin:auto}
.site-footer-grid{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr) minmax(0,1fr);gap:clamp(40px,5vw,90px);padding-bottom:clamp(45px,5vw,75px)}
.site-footer .footer-about{max-width:420px}
.site-footer .footer-brand{display:inline-flex;align-items:center;margin:0 0 19px!important;padding:0!important;border:0!important;text-decoration:none}
.site-footer .footer-brand img{display:block;width:220px!important;max-width:100%;height:auto!important;max-height:none!important;border:0!important;border-radius:0!important;background:transparent!important;box-shadow:none!important;object-fit:contain!important}
.site-footer .footer-about p{max-width:34ch;margin:0 0 19px;color:#efd2db!important;font:400 .98rem/1.7 "Outfit",sans-serif!important}
.site-footer .footer-contact{display:block;max-width:35ch;margin:8px 0;color:#f8dce5!important;font:400 .92rem/1.55 "Outfit",sans-serif!important;overflow-wrap:anywhere;text-decoration:none}
.site-footer .footer-contact:hover{color:#fff!important}
.site-footer .footer-contact[hidden]{display:none!important}
.site-footer .footer-column h2{margin:7px 0 22px;color:#fff8fa!important;font:700 .75rem/1.3 "Outfit",sans-serif!important;letter-spacing:.18em;text-transform:uppercase}
.site-footer .footer-column-links{display:flex;flex-direction:column;align-items:flex-start;gap:13px}
.site-footer .footer-column-links a{color:#efd2db!important;font:400 .94rem/1.4 "Outfit",sans-serif!important;text-decoration:none;transition:color .25s ease,transform .25s ease}
.site-footer .footer-column-links a:hover{color:#fff!important;transform:translateX(3px)}
.site-footer .site-footer-bottom{display:flex;justify-content:space-between;flex-wrap:wrap;gap:10px 30px;padding-top:25px;border-top:1px solid rgba(255,232,240,.22)}
.site-footer .site-footer-bottom p{margin:0;color:#d8b9c4!important;font:400 .83rem/1.55 "Outfit",sans-serif!important}
.site-footer .site-footer-bottom a{color:#f3c4cf!important;text-decoration:none;border-bottom:1px solid currentColor}
.site-footer .site-footer-bottom a:hover{color:#fff!important}
@media(max-width:800px){.site-footer-grid{grid-template-columns:minmax(0,1.25fr) repeat(2,minmax(0,1fr));gap:28px}.site-footer .footer-brand img{width:190px!important}}
@media(max-width:650px){.site-footer.site-footer--lovely{padding:68px 24px 115px!important}.site-footer-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:40px 24px;padding-bottom:50px}.site-footer .footer-about{grid-column:1/-1}.site-footer .footer-about p{max-width:35ch}.site-footer .footer-column h2{margin-top:0}.site-footer .footer-column-links{gap:15px}.site-footer .site-footer-bottom{flex-direction:column;gap:9px;padding-top:22px}}
@media(max-width:360px){.site-footer-grid{grid-template-columns:1fr}.site-footer .footer-about{grid-column:1}}
@media(prefers-reduced-motion:reduce){.site-footer .footer-column-links a{transition:none}.site-footer .footer-column-links a:hover{transform:none}}
