:root{--wine:#6f1634;--rose:#c65d78;--cream:#fffaf6;--ink:#342128;--muted:#78656b}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--cream);color:var(--ink);font-family:Arial,Helvetica,sans-serif}
a{color:inherit;text-decoration:none}
main{overflow:hidden}
header{height:88px;display:flex;align-items:center;justify-content:space-between;padding:0 5vw;background:#fffaf6ed;backdrop-filter:blur(16px);position:fixed;z-index:50;inset:0 0 auto;border-bottom:1px solid #6f163414}
.brand img{width:155px;height:68px;object-fit:contain}
header nav{display:flex;align-items:center;gap:34px;font-size:12px;text-transform:uppercase;letter-spacing:.13em;font-weight:600}
header nav a:not(.nav-cta):hover{color:var(--rose)}
.nav-cta,.btn{display:inline-flex;align-items:center;gap:22px;background:var(--wine);color:#fff;padding:16px 22px;border-radius:2px;transition:.3s}
.nav-cta:hover,.btn:hover{background:#8b2445;transform:translateY(-2px)}
.menu{display:none;border:0;background:none;font-size:27px;color:var(--wine)}
.hero{min-height:760px;height:100vh;position:relative;display:flex;align-items:center;padding:120px 8vw 50px}
.hero>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.shade{position:absolute;inset:0;background:linear-gradient(90deg,#fff8f3fa 0%,#fff8f3db 37%,#fff8f31f 70%)}
.hero-copy{position:relative;z-index:2;max-width:660px}
.eyebrow{text-transform:uppercase;letter-spacing:.24em;font-size:11px;font-weight:700;color:var(--rose);margin:0 0 22px}
.eyebrow:before{content:"";display:inline-block;width:32px;height:1px;background:var(--rose);vertical-align:middle;margin-right:13px}
h1,h2,h3{font-family:Georgia,"Times New Roman",serif;font-weight:500}
h1{font-size:clamp(63px,7.2vw,105px);line-height:.85;letter-spacing:-.045em;margin:0;color:var(--wine)}
em{font-weight:400;color:var(--rose)}
.hero-copy>p:not(.eyebrow){max-width:570px;line-height:1.8;color:var(--muted);font-size:16px;margin:32px 0}
.actions{display:flex;align-items:center;gap:30px}
.btn{font-size:12px;text-transform:uppercase;letter-spacing:.14em;font-weight:700}
.text-link{font-size:12px;text-transform:uppercase;letter-spacing:.12em;border-bottom:1px solid;padding-bottom:4px}
.section,.intro{padding:120px 7vw}
.intro{text-align:center;max-width:1300px;margin:auto}
.intro h2,.section-head h2,.booking h2,.extension-photo h2{font-size:clamp(48px,5vw,76px);line-height:.98;margin:0}
.lede{max-width:740px;margin:30px auto 70px;color:var(--muted);line-height:1.9}
.pillars{display:grid;grid-template-columns:repeat(3,1fr);gap:25px;text-align:left}
.pillars>div{padding:34px;border-top:1px solid #ddc6c6}
.pillars b{font-family:Georgia,"Times New Roman",serif;color:var(--rose);font-size:24px}
.pillars h3{font-size:31px;margin:30px 0 10px}
.pillars p{color:var(--muted);line-height:1.7;font-size:14px}
.services{background:#f5e3e2}
.section-head{display:flex;justify-content:space-between;align-items:end;max-width:1280px;margin:0 auto 65px}
.section-head>p{max-width:400px;color:var(--muted);line-height:1.8}
.service-grid{max-width:1280px;margin:auto;display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.service-card{background:#fffaf6b8;padding:35px;min-height:410px;border:1px solid #6f163414;transition:.35s}
.service-card:hover{transform:translateY(-6px);background:#fffaf6;box-shadow:0 18px 45px #60223214}
.service-icon{font-size:29px;color:var(--rose)}
.service-card h3,.extension-lists h3{font-size:32px;color:var(--wine);margin:20px 0 26px}
.price-row{display:flex;align-items:center;gap:10px;padding:10px 0;font-size:12px}
.price-row span{white-space:nowrap}
.price-row i{border-bottom:1px dotted #cbb4b7;flex:1}
.price-row b{font-size:11px;color:var(--wine);white-space:nowrap}
.packages{background:var(--wine);color:#fff}
.packages .eyebrow{color:#f0a8b5}
.packages .eyebrow:before{background:#f0a8b5}
.packages .section-head>p{color:#e4cbd1}
.packages h2 em{color:#f0a8b5}
.package-grid{max-width:1280px;margin:auto;display:grid;grid-template-columns:repeat(5,1fr);gap:13px}
.package-card{background:#fffaf6;color:var(--ink);padding:28px 25px;min-height:310px;display:flex;flex-direction:column;position:relative;transition:.35s}
.package-card:hover{transform:translateY(-7px)}
.package-card.featured{background:linear-gradient(145deg,#fff8f2 0%,#f8d7dc 100%);border:2px solid #e6a0ae;box-shadow:0 22px 55px #12040a5c,0 0 0 5px #f1b6c22b;transform:translateY(-10px);z-index:2}
.package-card.featured:hover{transform:translateY(-16px)}
.package-card.featured:after{content:"";position:absolute;inset:8px;border:1px solid #6f163424;pointer-events:none}
.popular{position:absolute;right:14px;top:-15px;z-index:2;background:var(--wine);color:#fff2f6;padding:10px 14px 9px;border-radius:999px;box-shadow:0 8px 20px #280b1690;font-size:9px;text-transform:uppercase;letter-spacing:.16em;font-weight:800}
.popular:before{content:"\2605";color:#ffd7a1;margin-right:7px}
.package-card>p{font-size:8px;color:var(--rose);letter-spacing:.17em;font-weight:700}
.package-card h3{font-size:29px;color:var(--wine);margin:15px 0 10px}
.package-card>span{font-size:11px;line-height:1.8;color:var(--muted)}
.package-card>div{margin-top:auto;display:flex;align-items:start;gap:5px;color:var(--wine)}
.package-card strong{font-family:Georgia,"Times New Roman",serif;font-size:45px}
.package-card small{font-size:9px;margin-top:10px}
.package-card a{border-top:1px solid #ddc8c8;padding-top:12px;display:flex;justify-content:space-between;font-size:10px;text-transform:uppercase;letter-spacing:.12em;font-weight:700}
.extensions{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:stretch}
.extension-photo{min-height:570px;background:linear-gradient(#3a111f0a,#3a111fc4),url('assets/nail-extensions-natural.png') center 58%/cover;border-radius:250px 250px 0 0;display:flex;align-items:end;padding:55px;color:#fff}
.extension-photo h2 em{color:#ffc1ca}
.extension-photo>div>p:last-child{max-width:500px;line-height:1.7}
.extension-lists{display:flex;flex-direction:column;justify-content:center}
.extension-lists article{padding:20px 0 35px;border-bottom:1px solid #e4d3d1}
.booking{margin:0 5vw 80px;padding:75px;display:flex;align-items:center;justify-content:space-between;gap:50px;background:#f4d5d5}
.booking p:last-child{color:var(--muted)}
footer{background:#2f1720;color:#eddfe2;padding:55px 6vw 35px;display:grid;grid-template-columns:1fr 1fr 1fr;align-items:center;gap:25px}
footer .brand img{filter:brightness(0) invert(1);opacity:.9}
footer>p{font-family:Georgia,"Times New Roman",serif;font-size:30px;text-align:center}
footer>div{display:flex;justify-content:end;gap:25px;font-size:11px;text-transform:uppercase;letter-spacing:.12em}
footer small{grid-column:1/-1;border-top:1px solid #ffffff1f;padding-top:25px;text-align:center;color:#bcaeb2;font-size:10px}
.reveal{opacity:0;transform:translateY(25px);transition:opacity .75s,transform .75s}
.reveal.is-visible{opacity:1;transform:none}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}
.reveal{opacity:1;transform:none;transition:none}
}
@media(max-width:1050px){.package-grid,.service-grid{grid-template-columns:repeat(2,1fr)}
.extensions{gap:35px}
}
@media(max-width:760px){header{height:72px;padding:0 20px}
.brand img{width:125px}
.menu{display:block}
header nav{display:none;position:absolute;top:72px;left:0;right:0;background:var(--cream);padding:25px;flex-direction:column;align-items:stretch}
header nav.open{display:flex}
.hero{height:auto;min-height:760px;padding:120px 24px 55px;align-items:end}
.hero>img{object-position:62%}
.shade{background:linear-gradient(0deg,#fff8f3fa 8%,#fff8f3c4 58%,#fff8f31a)}
h1{font-size:58px}
.hero-copy>p:not(.eyebrow){font-size:14px}
.intro,.section{padding:80px 22px}
.pillars,.service-grid,.extensions{grid-template-columns:1fr}
.section-head{display:block}
.section-head>p{margin-top:24px}
.service-card{min-height:auto}
.package-grid{grid-template-columns:1fr}
.package-card.featured{transform:none;margin:14px 0}
.package-card.featured:hover{transform:translateY(-7px)}
.extension-photo{min-height:470px;padding:35px}
.booking{margin:0;padding:70px 25px;display:block}
.booking .btn{margin-top:25px}
footer{grid-template-columns:1fr;text-align:center}
footer>div{justify-content:center}
footer small{grid-column:1}
.actions{align-items:flex-start;flex-direction:column;gap:20px}
}

/* Image-led editorial refresh */
.hero{align-items:center}
.hero>img{object-position:center}
.shade{background:linear-gradient(90deg,#260b16e8 0%,#3a1020b5 38%,transparent 72%)}
.hero-copy{max-width:720px;color:#fff}
.hero-copy h1{color:#fff}
.hero-copy h1 em{color:#f4a9b9}
.hero-copy>p:not(.eyebrow){color:#f5dfe5}
.hero .eyebrow{color:#f2a1b4}
.hero .eyebrow:before{background:#f2a1b4}
.hero .text-link{color:#fff}
.hero-index{position:absolute;right:4vw;bottom:35px;z-index:2;color:#fff;font-size:9px;letter-spacing:.25em;writing-mode:vertical-rl}
.services{background:#fffaf6}
.service-grid{gap:28px}
.service-card{padding:0;background:#fff;min-height:0;border:0;box-shadow:0 18px 50px #54132912;overflow:hidden}
.service-card:hover{background:#fff;box-shadow:0 25px 60px #54132922}
.service-photo{height:265px;position:relative;overflow:hidden}
.service-photo:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 55%,#2b0d1866)}
.service-photo img{width:100%;height:100%;object-fit:cover;transition:transform .65s ease}
.service-card:hover .service-photo img{transform:scale(1.045)}
.service-photo span{position:absolute;z-index:2;left:20px;bottom:16px;color:#fff;font-family:Georgia,"Times New Roman",serif;font-size:26px}
.service-content{padding:26px 30px 32px}
.service-card h3{margin:0 0 18px;font-size:34px}
.service-card .price-row{padding:8px 0}
.intro{position:relative}
.intro:before{content:"M";position:absolute;inset:20px 0 auto;font-family:Georgia,"Times New Roman",serif;font-size:280px;color:#d2778c0b;line-height:1;z-index:-1}
.packages{background:#32111e}
.booking{background:linear-gradient(135deg,#f4d5d5,#fbeceb)}

@media(max-width:760px){.hero{align-items:end}
.hero>img{object-position:62% center}
.shade{background:linear-gradient(0deg,#260b16f2 5%,#3a1020ad 58%,transparent)}
.hero-copy>p:not(.eyebrow){color:#f8e6ea}
.hero-index{display:none}
.service-photo{height:240px}
}
