/* Raku Spa — shared styles */
:root{
  --blush:#FBEAEF;
  --blush-deep:#F6D9E3;
  --rose:#B23A5C;
  --rose-deep:#8C2A47;
  --petal:#F2A5C0;
  --gold:#C79A4B;
  --ink:#3A2530;
  --ink-soft:#6E5560;
  --card:#FFFFFF;
  --line:rgba(140,42,71,0.15);
  --shadow:0 18px 40px rgba(140,42,71,0.14);
  --radius:22px;
  --font-display:'Fraunces', Georgia, 'Times New Roman', serif;
  --font-body:'Manrope', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
}
*{margin:0;padding:0;box-sizing:border-box;}
html{-webkit-text-size-adjust:100%;text-size-adjust:100%;}
body{
  background:var(--blush);
  color:var(--ink);
  font-family:var(--font-body);
  line-height:1.6;
  overflow-x:hidden;
  width:100%;
}
img,svg{max-width:100%;display:block;height:auto;}
a{color:inherit;text-decoration:none;}
button{font-family:inherit;cursor:pointer;}
:focus-visible{outline:2px solid var(--rose-deep);outline-offset:3px;border-radius:4px;}
.wrap{max-width:1080px;margin:0 auto;padding:0 20px;width:100%;}

@media (prefers-reduced-motion: reduce){
  *{animation-duration:0.001ms !important;transition-duration:0.001ms !important;}
}

/* Header */
header{position:sticky;top:0;z-index:50;background:rgba(251,234,239,0.92);backdrop-filter:blur(10px);border-bottom:1px solid var(--line);}
.nav{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;max-width:1080px;margin:0 auto;gap:12px;}
.brand{display:flex;align-items:center;gap:10px;font-family:var(--font-display);font-size:1.3rem;font-weight:600;color:var(--rose-deep);flex:none;}
.brand svg{width:28px;height:28px;flex:none;}
.navlinks{display:flex;gap:24px;list-style:none;flex-wrap:wrap;}
.navlinks a{font-size:0.95rem;color:var(--ink-soft);font-weight:600;padding:6px 2px;border-bottom:2px solid transparent;}
.navlinks a.active,.navlinks a:hover{color:var(--rose-deep);border-bottom-color:var(--rose);}
.nav-cta{display:flex;align-items:center;gap:10px;flex:none;}
.btn{display:inline-flex;align-items:center;gap:8px;padding:11px 20px;border-radius:999px;font-weight:700;font-size:0.9rem;border:1px solid transparent;white-space:nowrap;}
.btn-primary{background:var(--rose);color:#fff;box-shadow:0 10px 22px rgba(140,42,71,0.28);}
.btn-ghost{border-color:var(--rose);color:var(--rose-deep);}
.menu-toggle{display:none;background:none;border:none;color:var(--rose-deep);padding:6px;}

#mobile-drawer{display:none;flex-direction:column;padding:6px 20px 18px;border-top:1px solid var(--line);}
#mobile-drawer.open{display:flex;}
#mobile-drawer a{padding:12px 4px;font-size:1rem;font-weight:600;color:var(--ink-soft);border-bottom:1px solid var(--line);}
#mobile-drawer a.active{color:var(--rose-deep);}

@media(max-width:800px){
  .navlinks{display:none;}
  .nav-cta .btn-ghost{display:none;}
  .menu-toggle{display:block;}
}

/* Hero / page header banner */
.page-hero{padding:48px 0 56px;position:relative;overflow:hidden;}
.eyebrow-loc{display:inline-flex;align-items:center;gap:8px;font-size:0.82rem;color:var(--rose-deep);font-weight:700;background:var(--blush-deep);padding:8px 14px;border-radius:999px;margin-bottom:18px;}
h1{font-family:var(--font-display);font-weight:500;font-size:clamp(2.1rem,6vw,3.4rem);line-height:1.1;color:var(--ink);}
h1 em{font-style:italic;color:var(--rose-deep);}
.lead{margin-top:18px;font-size:1.08rem;color:var(--ink-soft);max-width:56ch;}
.hero-ctas{margin-top:28px;display:flex;gap:12px;flex-wrap:wrap;}
.hero-grid{display:grid;grid-template-columns:1.05fr 0.95fr;gap:40px;align-items:center;}
@media(max-width:820px){.hero-grid{grid-template-columns:1fr;}}
.hero-img{border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow);aspect-ratio:4/3;}
.hero-img img{width:100%;height:100%;object-fit:cover;}
.hero-stats{margin-top:38px;display:flex;gap:28px;flex-wrap:wrap;}
.hero-stats div{min-width:80px;}
.hero-stats strong{display:block;font-family:var(--font-display);font-size:1.5rem;color:var(--rose-deep);}
.hero-stats span{font-size:0.82rem;color:var(--ink-soft);}

/* Sections generic */
section{padding:56px 0;}
.section-head{max-width:60ch;margin-bottom:36px;}
.kicker{color:var(--rose-deep);font-weight:700;font-size:0.88rem;margin-bottom:8px;}
h2{font-family:var(--font-display);font-weight:500;font-size:clamp(1.7rem,4vw,2.4rem);}
h3{font-family:var(--font-display);font-weight:500;}
.section-head p{margin-top:12px;color:var(--ink-soft);font-size:1rem;}

/* Grid helpers */
.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:36px;align-items:center;}
@media(max-width:760px){.grid-2{grid-template-columns:1fr;}}
.grid-3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;}
@media(max-width:900px){.grid-3{grid-template-columns:repeat(2,minmax(0,1fr));}}
@media(max-width:560px){.grid-3{grid-template-columns:1fr;}}

.about-list{list-style:none;margin-top:18px;display:grid;gap:10px;}
.about-list li{display:flex;gap:10px;align-items:flex-start;color:var(--ink);font-weight:600;}
.about-list svg{flex:none;width:20px;height:20px;color:var(--rose);margin-top:2px;}
.img-round{border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow);width:100%;aspect-ratio:4/3;}
.img-round img{width:100%;height:100%;object-fit:cover;}

/* Cards */
.card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:26px;box-shadow:var(--shadow);}
.service-card .icon{width:44px;height:44px;border-radius:14px;background:var(--blush-deep);display:flex;align-items:center;justify-content:center;color:var(--rose-deep);margin-bottom:16px;}
.service-card .icon svg{width:22px;height:22px;}
.service-card h3{font-size:1.15rem;margin-bottom:6px;}
.service-card p{color:var(--ink-soft);font-size:0.94rem;}
.service-card .price{margin-top:14px;font-weight:700;color:var(--rose-deep);font-size:0.92rem;}

/* Gallery */
.gallery-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;}
@media(max-width:760px){.gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr));}}
@media(max-width:460px){.gallery-grid{grid-template-columns:1fr;}}
.gallery-tile{border-radius:16px;overflow:hidden;position:relative;aspect-ratio:4/5;}
.gallery-tile img{width:100%;height:100%;object-fit:cover;}
.gallery-tile .tag{position:absolute;left:0;right:0;bottom:0;padding:14px;color:#fff;font-family:var(--font-display);font-weight:600;background:linear-gradient(180deg,rgba(0,0,0,0) 40%,rgba(58,37,48,0.68) 100%);}

/* Testimonials */
.testi-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;}
@media(max-width:840px){.testi-grid{grid-template-columns:1fr;}}
.testi-card p{color:var(--ink-soft);font-style:italic;}
.testi-card .who{margin-top:14px;font-weight:700;color:var(--rose-deep);font-style:normal;font-size:0.9rem;}
.stars{color:var(--gold);letter-spacing:2px;margin-bottom:8px;}

/* FAQ */
.faq-item{border-bottom:1px solid var(--line);}
.faq-q{width:100%;text-align:left;background:none;border:none;padding:18px 0;display:flex;justify-content:space-between;align-items:center;gap:16px;font-weight:700;font-size:1rem;color:var(--ink);}
.faq-q svg{flex:none;width:18px;height:18px;color:var(--rose);transition:transform .2s;}
.faq-item[data-open="true"] .faq-q svg{transform:rotate(45deg);}
.faq-a{max-height:0;overflow:hidden;color:var(--ink-soft);transition:max-height .25s ease;}
.faq-item[data-open="true"] .faq-a{max-height:260px;padding-bottom:18px;}

/* Contact */
.contact-row{display:flex;gap:12px;align-items:flex-start;margin-bottom:20px;}
.contact-row svg{width:20px;height:20px;color:var(--rose-deep);flex:none;margin-top:2px;}
.contact-row h4{font-size:0.92rem;margin-bottom:3px;}
.contact-row p{color:var(--ink-soft);font-size:0.92rem;}
.hours-table{width:100%;border-collapse:collapse;font-size:0.94rem;}
.hours-table td{padding:8px 0;border-bottom:1px solid var(--line);color:var(--ink-soft);}
.hours-table td:last-child{text-align:right;color:var(--ink);font-weight:600;}
.map-embed{border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow);border:0;width:100%;height:320px;}

/* Open badge */
.open-badge{display:inline-flex;align-items:center;gap:6px;background:#1E7A46;color:#fff;font-size:0.78rem;font-weight:700;padding:5px 12px;border-radius:999px;}
.open-badge::before{content:"";width:7px;height:7px;border-radius:50%;background:#7CF0A6;}

footer{border-top:1px solid var(--line);padding:40px 0 30px;background:var(--blush-deep);}
.foot-grid{display:flex;justify-content:space-between;flex-wrap:wrap;gap:18px;margin-bottom:22px;}
.foot-brand{font-family:var(--font-display);font-size:1.15rem;color:var(--rose-deep);}
.foot-links{display:flex;gap:18px;flex-wrap:wrap;font-size:0.88rem;color:var(--ink-soft);}
.foot-kw{font-size:0.8rem;color:var(--ink-soft);max-width:70ch;line-height:1.8;}
.foot-bottom{font-size:0.8rem;color:var(--ink-soft);display:flex;justify-content:space-between;flex-wrap:wrap;gap:10px;margin-top:18px;}

.float-wa{position:fixed;right:18px;bottom:18px;z-index:60;background:#25D366;color:#fff;width:54px;height:54px;border-radius:50%;display:flex;align-items:center;justify-content:center;box-shadow:0 10px 24px rgba(0,0,0,0.28);}
.float-wa svg{width:26px;height:26px;}

@media(max-width:480px){
  .wrap{padding:0 16px;}
  section{padding:40px 0;}
  .card{padding:20px;}
}
