/* store-beauty: Blush · Rose gold · Cormorant Garamond thin serif */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;-webkit-font-smoothing:antialiased}
:root{
  --bg:#FDFAF7;--surface:#F7F1EC;--card:#FFF;
  --rose:#C49A8A;--rose-lt:#DDB8A8;--rose-dk:#9A7060;
  --ink:#2A1E1A;--ink-2:#6A5048;--ink-3:#A89080;
  --border:rgba(42,30,26,0.10);
  --serif:'Cormorant Garamond',Georgia,serif;
  --sans:'Noto Sans TC',system-ui,sans-serif;
  --ease:cubic-bezier(0.16,1,0.3,1);
}
body{font-family:var(--sans);background:var(--bg);color:var(--ink);overflow-x:hidden;line-height:1.7;font-size:16px}
img{display:block;max-width:100%}
a{color:inherit;text-decoration:none}

/* FLOAT BTN */
.float-btn{position:fixed;bottom:28px;right:28px;z-index:200;padding:13px 22px;background:var(--rose);color:#fff;border-radius:50px;font-size:.85rem;font-weight:700;letter-spacing:.04em;box-shadow:0 4px 20px rgba(196,154,138,.4);transition:transform .15s,box-shadow .15s}
.float-btn:hover{transform:translateY(-3px);box-shadow:0 8px 28px rgba(196,154,138,.55)}

/* NAV */
#nav{position:fixed;top:0;left:0;right:0;z-index:100;padding:20px 5vw;transition:background .3s,padding .3s;border-bottom:1px solid transparent}
#nav.scrolled{background:rgba(253,250,247,.95);backdrop-filter:blur(20px);padding:12px 5vw;border-bottom-color:var(--border)}
.nav-logo{font-family:var(--serif);font-size:1.35rem;font-weight:400;color:var(--ink);letter-spacing:.15em}
.nav-links{display:flex;gap:4px;list-style:none}
.nav-links li a{font-size:.82rem;color:var(--ink-2);padding:6px 16px;border-radius:4px;font-weight:400;letter-spacing:.04em;transition:color .15s}
.nav-links li a:hover{color:var(--rose)}
.nav-toggle{display:none;flex-direction:column;gap:5px;width:40px;height:40px;align-items:center;justify-content:center;background:none;border:1px solid var(--border);border-radius:4px;cursor:pointer}
.nav-toggle span{width:18px;height:1px;background:var(--ink);display:block;transition:.3s}
#nav{display:flex;align-items:center;justify-content:space-between}

/* HERO — 60/40 split */
#hero{display:grid;grid-template-columns:60fr 40fr;min-height:100svh}
.hero-img-side{overflow:hidden}
.hero-img{width:100%;height:100%;object-fit:cover;object-position:center}
.hero-text-side{display:flex;flex-direction:column;justify-content:center;padding:100px 5vw 60px;background:var(--surface)}
.hero-eyebrow{font-size:.7rem;letter-spacing:.22em;text-transform:uppercase;color:var(--rose);font-weight:500;margin-bottom:24px}
.hero-title{font-family:var(--serif);font-size:clamp(52px,6vw,88px);font-weight:300;line-height:1.05;color:var(--ink);margin-bottom:24px;letter-spacing:-.01em}
.hero-title em{font-style:italic;color:var(--rose)}
.hero-desc{font-size:clamp(14px,1.5vw,16px);color:var(--ink-2);line-height:1.85;margin-bottom:32px;max-width:360px;font-weight:300}
.btn-rose{display:inline-flex;align-items:center;padding:13px 28px;background:var(--rose);color:#fff;font-size:.88rem;font-weight:500;letter-spacing:.06em;border-radius:2px;transition:background .2s}
.btn-rose:hover{background:var(--rose-dk)}
.hero-badge{display:flex;align-items:center;gap:12px;margin-top:28px;padding-top:28px;border-top:1px solid var(--border)}
.badge-num{font-family:var(--serif);font-size:2rem;font-weight:400;color:var(--rose)}
.badge-txt{font-size:.8rem;color:var(--ink-3);letter-spacing:.06em}

/* MARQUEE */
.marquee-wrap{overflow:hidden;border-top:1px solid var(--border);border-bottom:1px solid var(--border);padding:13px 0;background:var(--bg)}
.marquee-track{display:flex;gap:28px;white-space:nowrap;animation:marquee 24s linear infinite;font-size:.7rem;letter-spacing:.18em;text-transform:uppercase;color:var(--ink-3)}
@keyframes marquee{from{transform:translateX(0)}to{transform:translateX(-50%)}}

/* SEC */
.sec-eyebrow{font-size:.7rem;letter-spacing:.22em;text-transform:uppercase;color:var(--rose);font-weight:500;margin-bottom:12px}
.sec-title{font-family:var(--serif);font-size:clamp(28px,3.5vw,44px);font-weight:400;color:var(--ink);margin-bottom:16px;line-height:1.2}
.sec-sub{font-size:clamp(14px,1.4vw,15px);color:var(--ink-2);line-height:1.8}
.sec-wrap{max-width:1200px;margin:0 auto;padding:100px 5vw}
.sec-head{margin-bottom:48px}

/* SERVICES */
.svc-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:0;border:1px solid var(--border)}
.svc-card{padding:36px 28px;border-right:1px solid var(--border);transition:background .2s;cursor:default}
.svc-card:last-child{border-right:none}
.svc-card:hover{background:var(--surface)}
.svc-icon{font-size:1.1rem;color:var(--rose);margin-bottom:16px}
.svc-card h3{font-family:var(--serif);font-size:1.2rem;font-weight:400;color:var(--ink);margin-bottom:10px}
.svc-card p{font-size:.86rem;color:var(--ink-2);line-height:1.78;margin-bottom:16px;font-weight:300}
.svc-price{font-size:.85rem;font-weight:500;color:var(--rose)}

/* MASONRY */
.masonry-grid{columns:3;gap:12px}
.masonry-item{break-inside:avoid;margin-bottom:12px;overflow:hidden;border-radius:3px}
.masonry-item img{width:100%;height:auto;object-fit:cover;transition:transform .6s var(--ease)}
.masonry-tall img{min-height:340px;object-fit:cover}
.masonry-item:hover img{transform:scale(1.04)}

/* BOOKING */
#booking{background:var(--ink);padding:100px 5vw}
.book-wrap{max-width:1200px;margin:0 auto;display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center}
.book-title{font-family:var(--serif);font-size:clamp(32px,4vw,52px);font-weight:300;color:#FDFAF7;margin-bottom:16px;margin-top:12px;line-height:1.15}
.book-sub{font-size:16px;color:rgba(253,250,247,.65);line-height:1.85;margin-bottom:32px;font-weight:300}
.book-contacts{display:flex;flex-direction:column;gap:14px}
.book-contact{font-size:.9rem;color:rgba(253,250,247,.8);padding-bottom:14px;border-bottom:1px solid rgba(255,255,255,.1);transition:color .2s;font-weight:300}
.book-contact:hover{color:var(--rose-lt)}
.book-img img{width:100%;aspect-ratio:3/4;object-fit:cover;border-radius:3px;opacity:.8;filter:sepia(15%)}

/* FOOTER */
.beauty-footer{background:#1A1210;padding:24px 5vw;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:8px;border-top:1px solid rgba(255,255,255,.08)}
.foot-logo{font-family:var(--serif);font-size:1rem;color:rgba(253,250,247,.7);letter-spacing:.15em}
.foot-copy{font-size:.72rem;color:rgba(253,250,247,.3)}

/* REVEAL */
.reveal{opacity:0;transform:translateY(28px);transition:opacity .75s var(--ease),transform .75s var(--ease)}
.reveal.visible{opacity:1;transform:none}

/* RESPONSIVE */
@media(max-width:960px){#hero{grid-template-columns:1fr;min-height:auto}.hero-img-side{height:50svh}.hero-text-side{padding:60px 5vw}.svc-grid{grid-template-columns:repeat(2,1fr)}.svc-card:nth-child(2){border-right:none}.svc-card:nth-child(1),.svc-card:nth-child(2){border-bottom:1px solid var(--border)}.masonry-grid{columns:2}.book-wrap{grid-template-columns:1fr;gap:48px}}
@media(max-width:640px){.nav-links{display:none}.nav-toggle{display:flex}.masonry-grid{columns:1}.svc-grid{grid-template-columns:1fr}}
