/* Revive Point - shared site styles (de-Framer rebuild 2026-06-04).
   Design tokens from Obsidian Clients/RevivePoint/design-system.md:
   Philosopher only; #3a322a / #4a2e28 / #ddbfb1 / #f1eae4; pills 49px; cards 24px; 1110px column. */

@font-face { font-family: "Philosopher"; src: url("https://fonts.gstatic.com/s/philosopher/v21/vEFV2_5QCwIS4_Dhez5jcVBsRUwU08qe.woff2"); font-display: swap; font-style: normal; font-weight: 400 }
@font-face { font-family: "Philosopher"; src: url("https://fonts.gstatic.com/s/philosopher/v21/vEFI2_5QCwIS4_Dhez5jcWjVamgZ-NaXXq7H.woff2"); font-display: swap; font-style: normal; font-weight: 700 }
@font-face { font-family: "Philosopher"; src: url("https://fonts.gstatic.com/s/philosopher/v21/vEFX2_5QCwIS4_Dhez5jcWBrT0021tqeR7c.woff2"); font-display: swap; font-style: italic; font-weight: 400 }
@font-face { font-family: "Philosopher"; src: url("https://fonts.gstatic.com/s/philosopher/v21/vEFK2_5QCwIS4_Dhez5jcWBrd_QZ8te1W77HtMo.woff2"); font-display: swap; font-style: italic; font-weight: 700 }

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:#fff;color:#3a322a;font-family:"Philosopher","Philosopher Placeholder",serif;font-weight:400;font-size:18px;line-height:1.5;-webkit-font-smoothing:antialiased}
img{display:block;max-width:100%}
a{-webkit-tap-highlight-color:transparent}
a,button,input,select,textarea{touch-action:manipulation}
button{-webkit-tap-highlight-color:transparent}
h1,h2,h3,h4,p{margin:0}

.rp-wrap{width:100%;max-width:1110px;margin:0 auto;padding:0 45px}

/* ---------- pills / buttons ---------- */
.rp-btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;padding:16px 24px;border-radius:49px;font-family:inherit;font-size:12px;font-weight:400;letter-spacing:.5px;text-transform:uppercase;text-decoration:none;cursor:pointer;border:none;box-shadow:rgba(0,0,0,.1) 0 2px 4px,rgba(0,0,0,.05) 0 1px 0;transition:opacity .2s ease;white-space:nowrap}
.rp-btn:hover{opacity:.85}
.rp-btn-dark{background:#4a2e28;color:#f1eae4}
.rp-btn-light{background:#f1eae4;color:#3a322a}
.rp-btn-outline{background:transparent;color:#3a322a;border:1px solid #3a322a;box-shadow:none}
.rp-btn-outline-light{background:transparent;color:#f1eae4;border:1px solid rgba(241,234,228,.55);box-shadow:none}
.rp-btn .rp-arrow{width:16px;height:16px;flex:none}

/* ---------- header ---------- */
.rp-header{position:sticky;top:0;z-index:40;background:rgba(43,30,24,.88);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}
.rp-header .rp-wrap{display:flex;align-items:center;justify-content:space-between;gap:24px;padding-top:12px;padding-bottom:12px}
.rp-logo{display:block;flex:none}
.rp-logo img{width:64px;height:49px;object-fit:contain}
.rp-nav{display:flex;align-items:center;gap:32px}
.rp-nav a{font-size:18px;color:#ddbfb1;text-decoration:none;transition:color .2s ease}
.rp-nav a:hover,.rp-nav a[aria-current]{color:#f1eae4}
.rp-header-actions{display:flex;align-items:center;gap:12px}
.rp-phone-pill{display:inline-flex;align-items:center;gap:9px;padding:13px 22px;border-radius:49px;border:1px solid rgba(221,191,177,.6);color:#f1eae4;font-size:16px;text-decoration:none;transition:border-color .2s ease}
.rp-phone-pill:hover{border-color:#f1eae4}
.rp-phone-pill svg{width:18px;height:18px}
.rp-burger{display:none;flex:none;flex-flow:column;justify-content:center;align-items:center;gap:7px;width:44px;height:44px;border:none;background:transparent;cursor:pointer;padding:0;transition:transform 140ms ease;-webkit-tap-highlight-color:transparent}
.rp-burger:active{transform:scale(.96)}
.rp-burger span{display:block;width:26px;height:2px;background:#f1eae4;border-radius:2px}

/* mobile menu overlay - animated sheet (open: fade+10px rise 320ms, staggered content; close: 220ms fade).
   JS (site-v3.js) drives .rp-menu-entering / .rp-menu-open / .rp-menu-exiting; [hidden] only when fully closed. */
.rp-menu{position:fixed;inset:0;z-index:50;display:flex;flex-flow:column;background:#4a2e28;padding:20px 16px calc(24px + env(safe-area-inset-bottom));overflow-y:auto;overscroll-behavior:contain;opacity:0;transform:translate3d(0,10px,0);visibility:hidden;pointer-events:none;backface-visibility:hidden}
.rp-menu[hidden]{display:none}
.rp-menu.rp-menu-entering,.rp-menu.rp-menu-open,.rp-menu.rp-menu-exiting{visibility:visible}
.rp-menu.rp-menu-entering,.rp-menu.rp-menu-open{pointer-events:auto}
.rp-menu.rp-menu-entering{animation:rp-menu-sheet-in 320ms cubic-bezier(.22,.61,.36,1) both}
.rp-menu.rp-menu-open{opacity:1;transform:translate3d(0,0,0)}
.rp-menu.rp-menu-exiting{pointer-events:none;animation:rp-menu-sheet-out 220ms ease both}
.rp-menu-top,.rp-menu-links a,.rp-menu-actions>*{opacity:0;transform:translate3d(0,12px,0)}
.rp-menu.rp-menu-open .rp-menu-top,.rp-menu.rp-menu-open .rp-menu-links a,.rp-menu.rp-menu-open .rp-menu-actions>*{opacity:1;transform:none}
.rp-menu.rp-menu-entering .rp-menu-top{animation:rp-menu-item-in 220ms cubic-bezier(.22,.61,.36,1) 70ms both}
.rp-menu.rp-menu-entering .rp-menu-links a{animation:rp-menu-item-in 260ms cubic-bezier(.22,.61,.36,1) both}
.rp-menu.rp-menu-entering .rp-menu-links a:nth-child(1){animation-delay:120ms}
.rp-menu.rp-menu-entering .rp-menu-links a:nth-child(2){animation-delay:145ms}
.rp-menu.rp-menu-entering .rp-menu-links a:nth-child(3){animation-delay:170ms}
.rp-menu.rp-menu-entering .rp-menu-links a:nth-child(4){animation-delay:195ms}
.rp-menu.rp-menu-entering .rp-menu-links a:nth-child(5){animation-delay:220ms}
.rp-menu.rp-menu-entering .rp-menu-actions>*{animation:rp-menu-item-in 260ms cubic-bezier(.22,.61,.36,1) both}
.rp-menu.rp-menu-entering .rp-menu-actions>*:nth-child(1){animation-delay:255ms}
.rp-menu.rp-menu-entering .rp-menu-actions>*:nth-child(2){animation-delay:280ms}
.rp-menu.rp-menu-exiting .rp-menu-top,.rp-menu.rp-menu-exiting .rp-menu-links a,.rp-menu.rp-menu-exiting .rp-menu-actions>*{animation:rp-menu-item-out 130ms ease both}
@keyframes rp-menu-sheet-in{from{opacity:0;transform:translate3d(0,10px,0)}to{opacity:1;transform:translate3d(0,0,0)}}
@keyframes rp-menu-sheet-out{from{opacity:1;transform:translate3d(0,0,0)}to{opacity:0;transform:translate3d(0,6px,0)}}
@keyframes rp-menu-item-in{from{opacity:0;transform:translate3d(0,12px,0)}to{opacity:1;transform:translate3d(0,0,0)}}
@keyframes rp-menu-item-out{from{opacity:1;transform:translate3d(0,0,0)}to{opacity:0;transform:translate3d(0,-6px,0)}}
.rp-menu-top{display:flex;align-items:center;justify-content:space-between;flex:none}
.rp-menu-top img{width:63px;height:48px;object-fit:contain}
.rp-menu-close{display:flex;align-items:center;justify-content:center;width:44px;height:44px;border:none;border-radius:49px;background:transparent;color:#f1eae4;font-size:22px;line-height:1;cursor:pointer;font-family:inherit;transition:background-color 160ms ease,transform 140ms ease;-webkit-tap-highlight-color:transparent}
.rp-menu-close:hover{background:rgba(241,234,228,.08)}
.rp-menu-close:active{transform:scale(.97)}
.rp-menu-links{display:flex;flex-flow:column;align-items:center;gap:30px;margin:auto 0;padding:40px 0}
.rp-menu-links a{font-size:26px;color:#ddbfb1;text-decoration:none}
.rp-menu-links a[aria-current]{color:#f1eae4}
.rp-menu-actions{display:flex;flex-flow:column;gap:12px;flex:none}
.rp-menu-phone{display:flex;align-items:center;justify-content:center;gap:9px;padding:16px 24px;border-radius:49px;border:1px solid #ddbfb1;color:#f1eae4;font-size:17px;text-decoration:none;transition:border-color 160ms ease,transform 140ms ease;-webkit-tap-highlight-color:transparent}
.rp-menu-phone:hover{border-color:#f1eae4}
.rp-menu-phone:active{transform:scale(.97)}
.rp-menu-phone svg{width:18px;height:18px}
.rp-menu-book{display:flex;align-items:center;justify-content:center;padding:16px 24px;border-radius:49px;background:#f1eae4;color:#3a322a;font-size:12px;letter-spacing:.5px;text-transform:uppercase;text-decoration:none;border:none;font-family:inherit;cursor:pointer;transition:opacity .2s ease,transform 140ms ease;-webkit-tap-highlight-color:transparent}
.rp-menu-book:hover{opacity:.85}
.rp-menu-book:active{transform:scale(.97)}

/* ---------- sections / typography ---------- */
.rp-h1{font-weight:400;font-size:72px;line-height:1.04;letter-spacing:-1.2px}
.rp-h2{font-weight:400;font-size:40px;line-height:1.14}
.rp-h3{font-weight:700;font-size:30px;line-height:1.2}
.rp-h4{font-weight:700;font-size:20px;line-height:1.4}
.rp-center{text-align:center}
.rp-section{padding:88px 0}
.rp-section-tight{padding:56px 0}

/* texture cards (cream paper background) */
.rp-texture-card{background:#f1eae4 url("/_fc/images/fHe6JdHWUAja3YBhEF4a5SXBg@c265e084.png") center/cover;border-radius:24px;overflow:hidden}
.rp-dark-card{background:url("/_fc/images/CFGYYweS56Kz0PtawR0lQZYdU@3d3643db.jpg") center/cover,linear-gradient(160deg,#73503c 0%,#5c3d2c 45%,#9b7560 100%);background-blend-mode:multiply;border-radius:24px;color:#f1eae4;overflow:hidden}

/* ---------- home hero ---------- */
.rp-hero-home{position:relative;background:linear-gradient(102deg,#523527 0%,#6c4f41 38%,#896857 66%,#927766 100%);color:#f1eae4;overflow:hidden;margin-top:-73px;padding-top:73px}
.rp-hero-home::before{content:"";position:absolute;inset:0;background:url("/_fc/images/P0ik4JKdjNtJjC2vF24hZSCkDAE@da7f4942.png") top right/cover no-repeat;mix-blend-mode:multiply;opacity:.85;z-index:1;pointer-events:none}
.rp-hero-home .rp-wrap{position:relative;z-index:2;display:flex;flex-flow:column;align-items:flex-start;gap:22px;padding-top:96px;padding-bottom:120px;max-width:1110px}
.rp-hero-home .rp-h1{color:#fff;max-width:620px}
.rp-hero-home .rp-sub{font-weight:700;font-size:24px;line-height:1.35;max-width:540px;color:#f1eae4}
.rp-hero-home .rp-lead{font-size:18px;line-height:1.55;max-width:540px;color:#ddbfb1}
.rp-hero-img{position:absolute;right:0;top:0;bottom:0;width:52%;z-index:1;pointer-events:none}
.rp-hero-img img{width:100%;height:100%;object-fit:cover;object-position:top right}
.rp-hero-home::after{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;background:linear-gradient(90deg,rgba(82,53,39,.55) 0%,rgba(82,53,39,0) 60%)}
.rp-hero-ctas{display:flex;gap:14px;flex-wrap:wrap;margin-top:10px}

/* ---------- why cards ---------- */
.rp-why{padding:88px 0 72px}
.rp-why .rp-h2{text-align:center;margin-bottom:56px}
.rp-why-grid{display:flex;flex-wrap:wrap;justify-content:center;gap:48px 24px}
.rp-why-card{flex:0 1 330px;display:flex;flex-flow:column;align-items:center;gap:14px;text-align:center}
.rp-why-card img,.rp-why-card svg{width:98px;height:97px}
.rp-why-card .rp-h4{font-size:22px}
.rp-why-card p{font-size:17px;line-height:1.45;max-width:320px}

/* ---------- inside-the-studio film (home) ---------- */
.rp-film{padding:0 0 88px}
.rp-film-inner{padding:64px;display:grid;grid-template-columns:380px 1fr;gap:56px;align-items:center}
.rp-film-copy{display:flex;flex-flow:column;gap:20px;align-items:flex-start}
.rp-film-copy p{font-size:17px;line-height:1.55;max-width:560px}
.rp-film-copy .rp-btn{margin-top:6px}
.rp-film-frame{position:relative;aspect-ratio:9/16;width:100%;max-width:380px;border-radius:24px;overflow:hidden;background:#ddbfb1;box-shadow:rgba(0,0,0,.1) 0 2px 4px,rgba(0,0,0,.05) 0 1px 0}
.rp-film-frame video{width:100%;height:100%;object-fit:cover;display:block}
.rp-film-toggle{position:absolute;right:14px;bottom:14px;width:40px;height:40px;border-radius:49px;border:0;background:rgba(241,234,228,.92);color:#3a322a;display:flex;align-items:center;justify-content:center;cursor:pointer;box-shadow:rgba(0,0,0,.1) 0 2px 4px}
.rp-film-toggle:focus-visible{outline:2px solid #4a2e28;outline-offset:2px}
.rp-film-toggle svg{width:14px;height:14px}
.rp-film-toggle .rp-ico-play{display:none}
.rp-film-toggle.rp-paused .rp-ico-play{display:block}
.rp-film-toggle.rp-paused .rp-ico-pause{display:none}

/* ---------- resonate / about-style split ---------- */
.rp-resonate{padding:0 0 88px}
.rp-resonate-card{padding:72px 64px;display:grid;grid-template-columns:1fr 460px;gap:56px}
.rp-resonate-card .rp-h2{margin-bottom:8px}
.rp-resonate-copy{display:flex;flex-flow:column;gap:22px}
.rp-resonate-copy .rp-h3{font-size:26px}
.rp-resonate-copy p{font-size:17px;line-height:1.5}
.rp-resonate-copy .rp-em{font-style:italic;font-size:20px}
.rp-resonate-media{display:flex;flex-flow:column;gap:24px}
.rp-resonate-media img{width:100%;border-radius:16px;object-fit:cover}

/* ---------- treatments list (home) ---------- */
.rp-treatments{padding:0 0 88px}
.rp-treatments>.rp-wrap>.rp-h2{text-align:center;margin-bottom:64px}
.rp-titem{padding:8px 0 40px;border-bottom:1px solid rgba(58,50,42,.12);margin-bottom:40px}
.rp-titem:last-of-type{border-bottom:none;margin-bottom:0}
.rp-titem .rp-h3{font-size:28px;margin-bottom:14px}
.rp-titem p{font-size:17px;line-height:1.55;max-width:880px;margin-bottom:12px}
.rp-titem .rp-meta{font-size:17px}
.rp-titem .rp-meta b{font-weight:700}
.rp-explore{display:flex;justify-content:center;margin-top:48px}

/* ---------- ozone promo card (home) ---------- */
.rp-ozcard{margin:0 0 88px}
.rp-ozcard-inner{padding:64px;display:flex;flex-flow:column;gap:20px}
.rp-tag-pill{display:inline-flex;align-self:flex-start;padding:8px 16px;border-radius:49px;background:#a36f5d;color:#f1eae4;font-size:12px;letter-spacing:1px;text-transform:uppercase}
.rp-ozcard-grid{display:grid;grid-template-columns:540px 1fr;gap:48px;align-items:start;margin-top:8px}
.rp-ozcard-grid img{width:100%;border-radius:16px}
.rp-bullets{list-style:none;margin:0;padding:0;display:flex;flex-flow:column;gap:18px}
.rp-bullets li{display:flex;align-items:flex-start;gap:14px;font-weight:700;font-size:18px;line-height:1.4}
.rp-bullets li svg,.rp-bullets li img{width:26px;height:26px;flex:none;margin-top:-1px}

/* ---------- how it works ---------- */
.rp-how{margin:0 0 88px}
.rp-how-inner{padding:72px 64px;display:flex;flex-flow:column;gap:36px}
.rp-how-inner .rp-h2{font-size:48px;color:#f1eae4}
.rp-step{display:flex;flex-flow:column;gap:10px}
.rp-step-head{display:flex;align-items:center;gap:18px}
.rp-step-head img{width:36px;height:41px}
.rp-step-head .rp-h3{color:#f1eae4;font-size:26px}
.rp-step p{font-size:17px;color:#ddbfb1;max-width:760px}

/* ---------- reviews ---------- */
.rp-reviews{padding:0 0 88px}
.rp-reviews .rp-h2{text-align:center;margin-bottom:18px}
.rp-rating{display:flex;flex-flow:column;align-items:center;gap:10px;margin-bottom:48px}
.rp-stars{color:#a36f5d;font-size:22px;letter-spacing:4px}
.rp-rating-num{font-size:26px}
.rp-rating-src{display:flex;align-items:center;gap:8px;font-size:15px;color:#968380}
.rp-rating-src svg{width:18px;height:18px}
.rp-reviews-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.rp-review{background:#f1eae4;border-radius:24px;padding:28px;display:flex;flex-flow:column;gap:14px;box-shadow:rgba(0,0,0,.06) 0 2px 4px}
.rp-review .rp-stars{font-size:15px;letter-spacing:2px}
.rp-review p{font-size:15.5px;line-height:1.5}
.rp-review footer{margin-top:auto;padding-top:4px}
.rp-review footer b{display:block;font-size:16px}
.rp-review footer span{font-size:13px;color:#968380}
.rp-reviews-ctas{display:flex;justify-content:center;gap:14px;margin-top:40px;flex-wrap:wrap}

/* ---------- promo / gift ---------- */
.rp-promo{margin:0 0 88px}
.rp-promo-inner{padding:64px;display:flex;flex-flow:column;align-items:center;gap:18px;text-align:center}
.rp-promo-inner p{font-size:17px;max-width:640px}
.rp-gift{margin:0 0 88px}
.rp-gift-inner{background:#f6e9e4;border-radius:24px;padding:64px;display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:center}
.rp-gift-inner .rp-h2{margin-bottom:18px}
.rp-gift-copy{display:flex;flex-flow:column;gap:14px}
.rp-gift-copy p{font-size:17px;line-height:1.5}
.rp-gift-media img{width:100%;max-width:460px;margin:0 auto}
.rp-gift .rp-btn{align-self:flex-start;margin-top:8px}

/* ---------- quotes (about/services testimonials) ---------- */
.rp-quotes{padding:0 0 88px}
.rp-quotes .rp-h2{text-align:center;margin-bottom:48px}
.rp-quotes-grid{display:grid;grid-template-columns:1fr 1fr;gap:64px}
.rp-quote p{font-style:italic;font-size:17px;line-height:1.6;margin-bottom:18px}
.rp-quote b{font-style:normal;font-weight:700;font-size:16px}

/* ---------- services page ---------- */
.rp-services-hero{padding:72px 0 40px;text-align:center}
.rp-services-hero .rp-h1{font-size:52px;letter-spacing:normal;margin-bottom:20px}
.rp-services-hero p{font-size:18px;line-height:1.55;max-width:760px;margin:0 auto}
.rp-filters{display:flex;gap:10px;justify-content:center;flex-wrap:wrap;margin:40px 0 8px;padding:2px}
.rp-chip{flex:none;display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:12px 20px;border-radius:49px;border:none;font-family:inherit;font-size:12px;letter-spacing:.5px;text-transform:uppercase;background:#f1eae4;color:#3a322a;cursor:pointer;box-shadow:rgba(0,0,0,.1) 0 2px 4px,rgba(0,0,0,.05) 0 1px 0;transition:background .2s ease,color .2s ease}
.rp-chip:hover{background:#ddbfb1}
.rp-chip[aria-pressed="true"]{background:#4a2e28;color:#f1eae4}
.rp-services-list{padding:32px 0 72px}
.rp-svc-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}
.rp-svc{display:flex;flex-flow:column;gap:10px;background:#f1eae4;border-radius:24px;padding:28px 30px;box-shadow:rgba(0,0,0,.06) 0 2px 4px}
.rp-svc[hidden]{display:none}
.rp-svc .rp-svc-tag{font-size:11px;letter-spacing:1px;text-transform:uppercase;color:#968380}
.rp-svc .rp-h3{font-size:22px;line-height:1.25;font-weight:700}
.rp-svc p{font-size:15.5px;line-height:1.5}
.rp-svc .rp-svc-meta{display:flex;gap:18px;flex-wrap:wrap;margin-top:auto;padding-top:10px;font-size:16px}
.rp-svc .rp-svc-meta b{font-weight:700}
.rp-svc-cta{display:flex;justify-content:center;margin:8px 0 0}

/* ---------- ozone page ---------- */
.rp-hero-oz{position:relative;background:#caa9a2;color:#fff;overflow:hidden;margin-top:-73px;padding-top:73px}
.rp-hero-oz picture img,.rp-hero-oz>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 25%}
.rp-hero-oz::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(80,50,40,.55) 0%,rgba(80,50,40,.12) 55%)}
.rp-hero-oz .rp-wrap{position:relative;z-index:2;display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:end;padding-top:120px;padding-bottom:88px}
.rp-hero-oz .rp-h1{font-size:54px;letter-spacing:normal;color:#fff;text-shadow:rgba(0,0,0,.18) 0 1px 14px}
.rp-hero-oz .rp-h1 em{font-style:italic}
.rp-hero-oz-side{display:flex;flex-flow:column;gap:22px;align-items:flex-start;font-size:17px;line-height:1.55;text-shadow:rgba(0,0,0,.18) 0 1px 10px}
.rp-oz-feats{padding:64px 0 24px}
.rp-oz-feats-grid{display:flex;justify-content:center;gap:48px;flex-wrap:wrap}
.rp-oz-feat{flex:0 1 200px;display:flex;flex-flow:column;align-items:center;gap:14px;text-align:center}
.rp-oz-feat img{width:96px;height:96px}
.rp-oz-feat b{font-weight:700;font-size:18px;line-height:1.3}
.rp-shift{margin:48px 0 88px}
.rp-shift-inner{padding:64px;display:flex;flex-flow:column;gap:12px;text-align:center}
.rp-shift-inner>p{font-size:17px;color:#6b5a50}
.rp-shift-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:40px;margin-top:36px;text-align:center}
.rp-shift-grid .rp-h4{margin-bottom:10px}
.rp-shift-grid p{font-size:16px;line-height:1.5}
.rp-reset{padding:0 0 88px}
.rp-reset .rp-h2{text-align:center;margin-bottom:10px}
.rp-reset .rp-reset-sub{text-align:center;font-size:17px;color:#6b5a50;max-width:680px;margin:0 auto 56px}
.rp-reset-grid{display:grid;grid-template-columns:480px 1fr;gap:64px;align-items:center}
.rp-reset-grid>img{width:100%;border-radius:24px}
.rp-reset-side{display:flex;flex-flow:column;gap:24px;align-items:flex-start}
.rp-reset-side .rp-h3{font-size:26px}
.rp-needs{padding:0 0 88px}
.rp-needs .rp-h2{text-align:center;margin-bottom:10px}
.rp-needs-sub{text-align:center;font-size:17px;color:#6b5a50;margin-bottom:48px}
.rp-needs-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.rp-need{background:#f6e9e4;border-radius:16px;padding:24px 26px;display:flex;flex-flow:column;gap:8px}
.rp-need-head{display:flex;align-items:center;gap:12px;font-weight:700;font-size:18px}
.rp-need-head img{width:24px;height:24px;flex:none}
.rp-need p{font-size:15.5px;color:#6b5a50}
.rp-tech{margin:0 0 88px}
.rp-tech-inner{padding:72px 64px;display:flex;flex-flow:column;gap:16px}
.rp-tech-inner .rp-h2{color:#f1eae4;text-align:center}
.rp-tech-inner>p{color:#ddbfb1;text-align:center;font-size:17px;max-width:760px;margin:0 auto 28px}
.rp-tech-grid{display:grid;grid-template-columns:1fr 1fr;gap:28px 56px}
.rp-tech-item{display:flex;align-items:flex-start;gap:16px}
.rp-tech-num{flex:none;display:flex;align-items:center;justify-content:center;width:38px;height:38px;border:1px solid rgba(221,191,177,.6);border-radius:49px;color:#ddbfb1;font-size:17px}
.rp-tech-item b{display:block;font-size:19px;color:#f1eae4;margin-bottom:4px}
.rp-tech-item p{font-size:15.5px;color:#ddbfb1;line-height:1.45}
.rp-expect{padding:0 0 88px}
.rp-expect .rp-h2{text-align:center;margin-bottom:10px}
.rp-expect-sub{text-align:center;font-size:17px;color:#6b5a50;margin-bottom:56px}
.rp-expect-grid{display:grid;grid-template-columns:1fr 480px;gap:64px;align-items:center}
.rp-expect-rows{display:flex;flex-flow:column;gap:26px}
.rp-expect-row{display:flex;align-items:flex-start;gap:16px}
.rp-expect-row img{width:28px;height:28px;flex:none;margin-top:2px}
.rp-expect-row b{display:block;font-size:19px}
.rp-expect-row p{font-size:16px;color:#6b5a50}
.rp-pricing{border-top:1px solid rgba(58,50,42,.14);margin-top:6px;padding-top:24px;display:flex;flex-flow:column;gap:10px;font-size:18px}
.rp-pricing .rp-price-row{display:flex;justify-content:space-between;gap:24px;max-width:380px}
.rp-pricing .rp-strike{text-decoration:line-through;color:#968380}
.rp-pricing .rp-price-big{font-size:30px;font-weight:700}
.rp-expect-grid>img{width:100%;border-radius:24px}
.rp-oz-quotes{padding:0 0 64px}
.rp-oz-quotes .rp-h2{text-align:center;margin-bottom:10px}
.rp-oz-quotes-sub{text-align:center;font-size:17px;color:#6b5a50;margin-bottom:48px}
.rp-oz-quotes-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.rp-ozq{background:#f6e9e4;border-radius:16px;padding:26px;display:flex;flex-flow:column;gap:12px}
.rp-ozq-head{display:flex;justify-content:space-between;align-items:center;color:#a36f5d;font-size:13px}
.rp-ozq-head .rp-stars{font-size:13px;letter-spacing:2px}
.rp-ozq p{font-size:15px;line-height:1.55;font-style:italic}
.rp-ozq b{font-style:normal;font-size:15px}
.rp-oz-cta{padding:0 0 88px;text-align:center;display:flex;flex-flow:column;align-items:center;gap:24px}
.rp-oz-cta .rp-h2{font-size:34px}
.rp-fine{font-size:13.5px;color:#968380;line-height:1.5;max-width:880px;margin:0 auto;text-align:center;padding:0 0 56px}

/* ---------- about page ---------- */
.rp-about{padding:72px 0 88px}
.rp-about .rp-h2{text-align:center;margin-bottom:56px;font-size:44px}
.rp-about-grid{display:grid;grid-template-columns:400px 1fr;gap:64px;align-items:start}
.rp-about-grid>img{width:100%;border-radius:24px}
.rp-about-copy{display:flex;flex-flow:column;gap:22px;font-size:17.5px;line-height:1.6}
.rp-about-copy .rp-btn{align-self:flex-start;margin-top:10px}

/* ---------- inside-the-studio gallery (about) ---------- */
.rp-studio{padding:0 0 88px}
.rp-studio .rp-h2{text-align:center;margin-bottom:40px}
.rp-studio-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:24px}
.rp-studio-grid img{width:100%;height:auto;aspect-ratio:3/4;object-fit:cover;border-radius:24px;box-shadow:rgba(0,0,0,.1) 0 2px 4px,rgba(0,0,0,.05) 0 1px 0;display:block}

/* ---------- contacts page ---------- */
.rp-contact{padding:72px 0 88px}
.rp-contact .rp-h2{text-align:center;margin-bottom:64px;font-size:44px}
.rp-contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:72px;align-items:start}
.rp-form{display:flex;flex-flow:column;gap:18px}
.rp-form label{display:flex;flex-flow:column;gap:8px;font-size:16px}
.rp-form input,.rp-form textarea{font-family:inherit;font-size:16px;color:#3a322a;padding:12px 14px;border:1px solid #d8cfc7;border-radius:10px;background:#fff}
.rp-form input:focus,.rp-form textarea:focus{outline:2px solid #4a2e28;outline-offset:1px}
.rp-form textarea{min-height:120px;resize:vertical}
.rp-form button{margin-top:6px}
.rp-form .rp-form-note{font-size:13.5px;color:#968380}
.rp-contact-info{display:flex;flex-flow:column;gap:14px;font-size:17.5px}
.rp-contact-info b{font-weight:700}
.rp-contact-info a{color:#3a322a}
.rp-map{margin-top:20px;border:none;border-radius:16px;width:100%;height:330px}

/* ---------- footer ---------- */
.rp-footer{background:url("/_fc/images/CFGYYweS56Kz0PtawR0lQZYdU@3d3643db.jpg") center/cover,linear-gradient(160deg,#6e4b37 0%,#583a2a 50%,#8a6650 100%);background-blend-mode:multiply;color:#f1eae4;border-radius:24px 24px 0 0}
.rp-footer .rp-wrap{padding-top:56px;padding-bottom:36px;display:flex;flex-flow:column;gap:36px}
.rp-footer .rp-disclaimer{font-size:14px;line-height:1.55;color:#ddbfb1;opacity:.85}
.rp-footer-main{display:flex;align-items:center;gap:36px;flex-wrap:wrap}
.rp-footer-main .rp-flogo img{width:68px;height:53px}
.rp-footer-main address{font-style:normal;font-size:16px;line-height:1.5;color:#ddbfb1}
.rp-footer-nav{display:flex;align-items:center;gap:26px;flex-wrap:wrap;margin-left:auto}
.rp-footer-nav a{color:#ddbfb1;text-decoration:none;font-size:17px}
.rp-footer-nav a:hover{color:#f1eae4}
.rp-footer-book{display:inline-flex;align-items:center;justify-content:center;padding:11px 22px;border-radius:49px;background:rgba(241,234,228,.16);color:#f1eae4;font-size:15px;text-decoration:none;border:none;font-family:inherit;cursor:pointer}
.rp-footer-insta{display:inline-flex}
.rp-footer-insta svg,.rp-footer-insta img{width:26px;height:26px;opacity:.85}
.rp-footer-bottom{display:flex;justify-content:space-between;gap:16px;border-top:1px solid rgba(221,191,177,.25);padding-top:22px;font-size:14.5px;color:#ddbfb1}

/* ---------- booking modal ---------- */
.rp-bm-overlay{position:fixed;inset:0;z-index:60;display:none;align-items:center;justify-content:center;padding:24px;background:rgba(20,12,8,.62)}
.rp-bm-overlay.rp-open{display:flex;animation:rp-fade-in 180ms ease both}
.rp-bm{position:relative;width:100%;max-width:480px;background:#fffbf2;border-radius:24px;padding:40px 40px 36px;box-shadow:rgba(0,0,0,.25) 0 14px 44px;display:flex;flex-flow:column;gap:16px}
.rp-bm-overlay.rp-open .rp-bm{animation:rp-rise-in 260ms cubic-bezier(.22,.61,.36,1) both}
.rp-bm .rp-h3{font-size:24px;font-weight:700}
.rp-bm p{font-size:16px;line-height:1.55}
.rp-bm-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:6px}
.rp-bm-close{position:absolute;top:14px;right:14px;z-index:1;display:flex;align-items:center;justify-content:center;width:44px;height:44px;border:none;border-radius:49px;background:transparent;color:#968380;font-size:20px;line-height:1;cursor:pointer;font-family:inherit}
.rp-bm-close:hover{color:#3a322a}
@keyframes rp-fade-in{from{opacity:0}}
@keyframes rp-rise-in{from{opacity:0;transform:translateY(22px)}}

/* ---------- floating text CTA (mobile) ---------- */
#rp-text-cta{display:none}
@media(max-width:809.98px){
#rp-text-cta{display:flex;align-items:center;justify-content:center;box-sizing:border-box;position:fixed;left:50%;bottom:calc(16px + env(safe-area-inset-bottom));transform:translateX(-50%) translateY(90px);opacity:0;pointer-events:none;transition:opacity .25s ease,transform .25s ease;z-index:45;background:#4a2e28;color:#f1eae4;font-family:inherit;font-size:12px;text-transform:uppercase;text-decoration:none;border-radius:49px;padding:16px 24px;border:1px solid rgba(241,234,228,.35);box-shadow:rgba(0,0,0,.1) 0 2px 4px,rgba(0,0,0,.05) 0 1px 0;white-space:nowrap;-webkit-tap-highlight-color:transparent}
#rp-text-cta.rp-show{transform:translateX(-50%) translateY(0);opacity:1;pointer-events:auto}
#rp-text-cta.rp-show:active{transform:translateX(-50%) scale(.96)}
}

/* ---------- scroll-to-top (design restored 2026-06-04: pre-rebuild 48px solid circle + chevron, same as /shop) ---------- */
#rp-top{position:fixed;right:24px;bottom:24px;z-index:44;display:flex;align-items:center;justify-content:center;width:48px;height:48px;border:none;border-radius:49px;background:#f1eae4;color:#3a322a;cursor:pointer;box-shadow:rgba(0,0,0,.1) 0 2px 4px,rgba(0,0,0,.05) 0 1px 0;opacity:0;transform:translateY(12px);pointer-events:none;transition:opacity .25s ease,transform .25s ease;-webkit-tap-highlight-color:transparent}
#rp-top.rp-show{opacity:1;transform:none;pointer-events:auto}
#rp-top:hover{background:#ddbfb1}
#rp-top:focus-visible{outline:2px solid #4a2e28;outline-offset:2px}
@media(max-width:809.98px){#rp-top{right:16px;bottom:calc(76px + env(safe-area-inset-bottom))}}

/* ---------- shop promo popup ---------- */
#rp-shop-promo{position:fixed;right:24px;bottom:24px;z-index:46;width:min(340px,calc(100vw - 32px));background:#f1eae4;border-radius:24px;box-shadow:rgba(0,0,0,.12) 0 6px 16px,rgba(0,0,0,.05) 0 1px 0;padding:24px 24px 20px;display:none;flex-flow:column;gap:8px}
#rp-shop-promo.rp-show{display:flex;animation:rp-rise-in 300ms cubic-bezier(.22,.61,.36,1) both}
#rp-shop-promo .rp-h4{font-size:20px;font-weight:400}
#rp-shop-promo p{font-size:14.5px;line-height:1.45}
#rp-shop-promo .rp-btn{align-self:flex-start;margin-top:8px;padding:12px 18px}
#rp-shop-promo .rp-promo-close{position:absolute;top:10px;right:10px;display:flex;align-items:center;justify-content:center;width:36px;height:36px;border:none;border-radius:49px;background:transparent;color:#968380;font-size:16px;cursor:pointer;font-family:inherit}
@media(max-width:809.98px){#rp-shop-promo{right:16px;bottom:calc(16px + env(safe-area-inset-bottom))}}

/* ---------- reveal on scroll ---------- */
.rp-reveal{opacity:0;transform:translateY(16px)}
.rp-reveal.rp-in{animation:rp-reveal-in 480ms cubic-bezier(.22,.61,.36,1) both}
@keyframes rp-reveal-in{to{opacity:1;transform:none}}

.rp-sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

/* ---------- responsive ---------- */
@media(min-width:810px) and (max-width:1199.98px){
.rp-nav{display:none}
.rp-burger{display:flex}
}
@media(max-width:809.98px){
.rp-wrap{padding:0 18px}
.rp-nav,.rp-phone-pill{display:none}
.rp-burger{display:flex}
.rp-logo img{width:56px;height:43px}
.rp-h1{font-size:42px;letter-spacing:-.5px}
.rp-h2{font-size:32px}
.rp-section{padding:56px 0}
.rp-hero-home .rp-wrap{padding-top:56px;padding-bottom:72px}
.rp-hero-home .rp-h1{font-size:44px}
.rp-hero-home .rp-sub{font-size:21px}
.rp-hero-img{position:absolute;width:100%}
.rp-hero-img img{object-position:top center}
.rp-hero-home::after{background:rgba(42,28,20,.38)}
.rp-hero-ctas{flex-flow:column;align-items:stretch;width:100%}
.rp-hero-ctas .rp-btn{width:100%}
.rp-why{padding:56px 0 40px}
.rp-why .rp-h2{margin-bottom:36px}
.rp-why-grid{gap:36px 16px}
.rp-film{padding:0 0 56px}
.rp-film-inner{grid-template-columns:1fr;padding:36px 24px;gap:28px}
.rp-film-frame{justify-self:center;max-width:340px}
.rp-resonate{padding:0 0 56px}
.rp-resonate-card{grid-template-columns:1fr;padding:40px 24px;gap:32px}
.rp-resonate-media{order:-1}
.rp-treatments{padding:0 0 56px}
.rp-treatments>.rp-wrap>.rp-h2{margin-bottom:40px}
.rp-titem .rp-h3{font-size:23px}
.rp-ozcard{margin-bottom:56px}
.rp-ozcard-inner{padding:36px 24px}
.rp-ozcard-grid{grid-template-columns:1fr;gap:28px}
.rp-how{margin-bottom:56px}
.rp-how-inner{padding:44px 26px}
.rp-how-inner .rp-h2{font-size:36px}
.rp-reviews{padding:0 0 56px}
.rp-reviews-grid{grid-template-columns:1fr;gap:16px}
.rp-promo{margin-bottom:56px}
.rp-promo-inner{padding:40px 24px}
.rp-gift{margin-bottom:56px}
.rp-gift-inner{grid-template-columns:1fr;padding:40px 24px;gap:32px}
.rp-quotes{padding:0 0 56px}
.rp-quotes-grid{grid-template-columns:1fr;gap:36px}
.rp-services-hero{padding:48px 0 24px}
.rp-services-hero .rp-h1{font-size:36px}
.rp-svc-grid{grid-template-columns:1fr;gap:16px}
.rp-svc{padding:22px 22px}
.rp-hero-oz .rp-wrap{grid-template-columns:1fr;gap:28px;padding-top:72px;padding-bottom:56px}
.rp-hero-oz .rp-h1{font-size:38px}
.rp-oz-feats{padding:44px 0 8px}
.rp-oz-feats-grid{gap:28px}
.rp-oz-feat{flex:0 1 150px}
.rp-oz-feat img{width:78px;height:78px}
.rp-shift{margin:36px 0 56px}
.rp-shift-inner{padding:40px 24px}
.rp-shift-grid{grid-template-columns:1fr;gap:28px}
.rp-reset{padding:0 0 56px}
.rp-reset-grid{grid-template-columns:1fr;gap:32px}
.rp-needs{padding:0 0 56px}
.rp-needs-grid{grid-template-columns:1fr;gap:14px}
.rp-tech{margin-bottom:56px}
.rp-tech-inner{padding:44px 24px}
.rp-tech-grid{grid-template-columns:1fr;gap:22px}
.rp-expect{padding:0 0 56px}
.rp-expect-grid{grid-template-columns:1fr;gap:32px}
.rp-oz-quotes-grid{grid-template-columns:1fr;gap:14px}
.rp-about{padding:48px 0 56px}
.rp-about-grid{grid-template-columns:1fr;gap:32px}
.rp-about .rp-h2{margin-bottom:36px;font-size:36px}
.rp-studio{padding:0 0 56px}
.rp-studio .rp-h2{margin-bottom:28px}
.rp-studio-grid{grid-template-columns:repeat(2,1fr);gap:14px}
.rp-contact{padding:48px 0 56px}
.rp-contact .rp-h2{margin-bottom:40px;font-size:34px}
.rp-contact-grid{grid-template-columns:1fr;gap:48px}
.rp-footer-main{flex-flow:column;align-items:flex-start;gap:20px}
.rp-footer-nav{margin-left:0}
.rp-footer-bottom{flex-flow:column;gap:6px}
}
@media(prefers-reduced-motion:reduce){
html{scroll-behavior:auto}
.rp-btn,.rp-nav a,.rp-phone-pill{transition:none}
.rp-reveal{opacity:1;transform:none}
.rp-reveal.rp-in{animation:none}
.rp-bm-overlay.rp-open,.rp-bm-overlay.rp-open .rp-bm,#rp-shop-promo.rp-show{animation:none}
#rp-text-cta,#rp-top{transition:none}
.rp-menu,.rp-menu-top,.rp-menu-links a,.rp-menu-actions>*,.rp-burger,.rp-menu-close,.rp-menu-phone,.rp-menu-book{transition:none;animation:none;transform:none}
.rp-menu.rp-menu-entering,.rp-menu.rp-menu-open{opacity:1;visibility:visible}
.rp-menu.rp-menu-exiting{opacity:0}
.rp-menu.rp-menu-entering .rp-menu-top,.rp-menu.rp-menu-entering .rp-menu-links a,.rp-menu.rp-menu-entering .rp-menu-actions>*,.rp-menu.rp-menu-open .rp-menu-top,.rp-menu.rp-menu-open .rp-menu-links a,.rp-menu.rp-menu-open .rp-menu-actions>*{opacity:1;transform:none}
}
/* desktop: larger CTA pills (Kuzma 2026-06-07). Brand spec is 12px/16-24; bumped on >=810px only,
   mobile stays at the documented size. Appended last so it overrides the base .rp-btn. */
@media(min-width:810px){
.rp-btn{padding:18px 32px;font-size:14px}
.rp-phone-pill{padding:15px 26px;font-size:17px}
}
