:root{--rs-ink:#1f2430;--rs-bg:#fff;--rs-soft:#f4f5f7;--rs-accent:#1d4ed8;--rs-accent-ink:#fff;--rs-muted:#5b6270;--rs-line:#e4e6eb;--rs-radius:16px}
.rs-theme-salon{--rs-ink:#2b1f2e;--rs-bg:#fbf7f2;--rs-soft:#f1e8dd;--rs-accent:#b4506a;--rs-accent-ink:#fff;--rs-muted:#6e6070;--rs-line:#e6d9cb;--rs-deep:#3a2340;--rs-font-h:"Fraunces",Georgia,serif}
.rs-theme-taller{--rs-ink:#14181f;--rs-bg:#ffffff;--rs-soft:#eef0f3;--rs-accent:#e8590c;--rs-accent-ink:#fff;--rs-muted:#586070;--rs-line:#dfe3e8;--rs-deep:#14181f;--rs-font-h:"Barlow Condensed","Arial Narrow",Arial,sans-serif}
body.rs-demo-page{overflow-x:hidden;margin:0}
body.rs-demo-page header.wp-block-template-part,body.rs-demo-page footer.wp-block-template-part,body.rs-demo-page .wp-block-post-title,body.rs-demo-page .entry-header,body.rs-demo-page .site-header,body.rs-demo-page .site-footer{display:none!important}
body.rs-demo-page .wp-site-blocks,body.rs-demo-page main,body.rs-demo-page .wp-block-post-content,body.rs-demo-page .entry-content{padding:0!important;margin:0!important;max-width:none!important}
body.rs-demo-page .wp-block-post-content>*{max-width:none!important;margin-left:0!important;margin-right:0!important}
.rs-landing{font-family:Inter,system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;color:var(--rs-ink);background:var(--rs-bg);line-height:1.6;font-size:17px;width:100vw;margin-left:calc(50% - 50vw)!important;box-sizing:border-box}
.rs-landing *{box-sizing:border-box}
.rs-landing h1,.rs-landing h2,.rs-landing h3{font-family:var(--rs-font-h,inherit);line-height:1.1;margin:0;color:inherit;letter-spacing:-.01em}
.rs-theme-taller h1,.rs-theme-taller h2{text-transform:uppercase;letter-spacing:.01em}
.rs-wrap{max-width:1080px;margin:0 auto;padding:0 22px}
.rs-nav{position:sticky;top:0;z-index:50;background:color-mix(in srgb,var(--rs-bg) 92%,transparent);backdrop-filter:blur(8px);border-bottom:1px solid var(--rs-line)}
.rs-nav .rs-wrap{display:flex;align-items:center;justify-content:space-between;height:66px;gap:14px}
.rs-brand{font-family:var(--rs-font-h);font-size:1.5rem;font-weight:700;color:var(--rs-ink);text-decoration:none}
.rs-brand span{color:var(--rs-accent)}
.rs-nav a.rs-link{color:var(--rs-ink);text-decoration:none;margin-right:22px;font-size:.95rem}
.rs-btn{display:inline-flex;align-items:center;gap:8px;padding:.85em 1.5em;border-radius:999px;background:var(--rs-accent);color:var(--rs-accent-ink)!important;text-decoration:none!important;font-weight:600;border:0;cursor:pointer;font-size:1rem;transition:transform .15s,box-shadow .15s}
.rs-btn:hover{transform:translateY(-1px);box-shadow:0 8px 20px -8px var(--rs-accent)}
.rs-btn.ghost{background:transparent;color:var(--rs-ink)!important;border:1.5px solid var(--rs-ink)}
.rs-theme-taller .rs-btn{border-radius:8px;text-transform:uppercase;letter-spacing:.04em}
.rs-hero{background:linear-gradient(135deg,var(--rs-deep),color-mix(in srgb,var(--rs-deep) 70%,var(--rs-accent)));color:#fff;padding:96px 0 88px;position:relative;overflow:hidden}
.rs-hero:after{content:"";position:absolute;right:-120px;top:-120px;width:420px;height:420px;border-radius:50%;background:var(--rs-accent);opacity:.22;filter:blur(2px)}
.rs-theme-taller .rs-hero:after{border-radius:0;transform:rotate(18deg);width:340px;height:640px;right:-60px;top:-140px;opacity:.9;background:linear-gradient(var(--rs-accent),var(--rs-accent))}
.rs-hero .rs-wrap{position:relative;z-index:2}
.rs-eyebrow{display:inline-block;font-size:.8rem;letter-spacing:.14em;text-transform:uppercase;opacity:.85;margin-bottom:16px}
.rs-hero h1{font-size:clamp(2.4rem,6vw,4.4rem);max-width:15ch}
.rs-hero p.lead{font-size:1.2rem;max-width:44ch;opacity:.92;margin:20px 0 32px}
.rs-hero .rs-btn.ghost{color:#fff!important;border-color:rgba(255,255,255,.6)}
.rs-hero .cta{display:flex;gap:12px;flex-wrap:wrap}
.rs-badges{background:var(--rs-soft);border-bottom:1px solid var(--rs-line)}
.rs-badges .rs-wrap{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:10px 24px;padding-top:18px;padding-bottom:18px}
.rs-badge{display:flex;gap:10px;align-items:center;font-size:.93rem;font-weight:500}
.rs-ico{width:22px;height:22px;flex:none;stroke:var(--rs-accent);fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.rs-sec{padding:80px 0}
.rs-sec.alt{background:var(--rs-soft)}
.rs-sec h2{font-size:clamp(1.9rem,4vw,2.8rem);margin-bottom:10px}
.rs-sec .sub{color:var(--rs-muted);max-width:56ch;margin:0 0 40px}
.rs-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:18px}
.rs-card{background:var(--rs-bg);border:1px solid var(--rs-line);border-radius:var(--rs-radius);padding:24px;display:flex;flex-direction:column;gap:8px;transition:transform .2s,box-shadow .2s}
.rs-sec.alt .rs-card{background:#fff}
.rs-card:hover{transform:translateY(-3px);box-shadow:0 14px 30px -18px rgba(0,0,0,.35)}
.rs-card .ic{width:46px;height:46px;border-radius:12px;background:color-mix(in srgb,var(--rs-accent) 14%,transparent);display:grid;place-items:center;margin-bottom:6px}
.rs-card h3{font-size:1.35rem}
.rs-card p{margin:0;color:var(--rs-muted);font-size:.95rem}
.rs-card .meta{margin-top:auto;padding-top:12px;display:flex;justify-content:space-between;align-items:baseline;font-size:.9rem;color:var(--rs-muted)}
.rs-card .price{font-family:var(--rs-font-h);font-size:1.5rem;font-weight:700;color:var(--rs-accent)}
.rs-steps{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:26px;counter-reset:s}
.rs-step{position:relative;padding-top:54px}
.rs-step:before{counter-increment:s;content:counter(s);position:absolute;top:0;left:0;width:40px;height:40px;border-radius:50%;background:var(--rs-accent);color:#fff;display:grid;place-items:center;font-weight:700}
.rs-step h3{font-size:1.25rem;margin-bottom:6px}.rs-step p{margin:0;color:var(--rs-muted)}
.rs-two{display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:start}
@media(max-width:760px){.rs-two{grid-template-columns:1fr}.rs-sec{padding:56px 0}.rs-hero{padding:64px 0}.rs-nav a.rs-link{display:none}}
.rs-hours{width:100%;border-collapse:collapse}
.rs-hours td{padding:11px 0;border-bottom:1px solid var(--rs-line)}
.rs-hours td:last-child{text-align:right;font-weight:600}
.rs-hours tr.closed td:last-child{color:var(--rs-muted);font-weight:400}
.rs-info p{display:flex;gap:12px;align-items:flex-start;margin:0 0 14px}
.rs-faq details{border-bottom:1px solid var(--rs-line);padding:16px 0}
.rs-faq summary{cursor:pointer;font-weight:600;list-style:none;display:flex;justify-content:space-between}
.rs-faq summary:after{content:"+";color:var(--rs-accent);font-size:1.4rem;line-height:1}
.rs-faq details[open] summary:after{content:"–"}
.rs-faq p{color:var(--rs-muted);margin:10px 0 0}
.rs-cta{background:var(--rs-deep);color:#fff;text-align:center;padding:72px 0}
.rs-cta h2{font-size:clamp(1.8rem,4vw,2.6rem);margin-bottom:22px}
.rs-foot{background:#0d0f14;color:#aab;text-align:center;padding:26px 0 70px;font-size:.88rem}
.rs-book{padding:48px 0 80px}
.rs-book .rs-wrap{max-width:640px}
.rs-book h1{font-size:clamp(2rem,5vw,3rem);margin-bottom:8px}
.rs-box{max-width:560px;margin:1.5em auto;padding:1.6em;border:1px solid var(--rs-line,#ddd);border-radius:var(--rs-radius);background:#fff;color:var(--rs-ink);box-shadow:0 20px 40px -30px rgba(0,0,0,.4)}
.rs-book .rs-box{max-width:none;margin:24px 0 0}
.rs-box h3{margin:0 0 .4em;font-size:1.3rem}
.rs-box label{display:block;margin:1em 0 .3em;font-weight:600;font-size:.92rem}
.rs-box input,.rs-box select{width:100%;padding:.75em .9em;border:1.5px solid var(--rs-line,#bbb);border-radius:10px;font-size:1rem;background:#fff;color:var(--rs-ink);box-sizing:border-box;font-family:inherit}
.rs-box input:focus,.rs-box select:focus{outline:0;border-color:var(--rs-accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--rs-accent) 22%,transparent)}
.rs-box button{margin-top:1.4em;width:100%;padding:.95em;border:0;border-radius:999px;background:var(--rs-accent);color:var(--rs-accent-ink);font-size:1.05rem;font-weight:600;cursor:pointer}
.rs-theme-taller .rs-box button{border-radius:8px;text-transform:uppercase;letter-spacing:.04em}
.rs-ok{background:#e7f6ea;border:1px solid #9ad3a6;padding:1em;border-radius:10px;color:#14532d}
.rs-err{background:#fdeaea;border:1px solid #e3a0a0;padding:1em;border-radius:10px;color:#7f1d1d}
.rs-mine table{width:100%;border-collapse:collapse;font-size:.92rem}.rs-mine td,.rs-mine th{padding:.45em;border-bottom:1px solid var(--rs-line,#eee);text-align:left}
