/* Roma Hair Salon
   The page is a balayage: it opens dark at the root (espresso) and melts through
   caramel and honey into light champagne ends. One family, Urbanist, set very light
   and very large for display, medium for reading. */
@font-face{font-family:"Urbanist";src:url(fonts/urbanist.woff2) format("woff2");font-weight:100 900;font-style:normal;font-display:swap}

:root{
  --root:#1E1611; --root-2:#2A1F18; --mocha:#3B2A20; --caramel:#A0683A; --honey:#DDAE63; --champ:#F3E7D6; --paper:#FAF4EC;
  --ink:#2A1D15; --ink-2:#5B4738; --muted:#7D6858; --line:rgba(42,29,21,.12);
  --cream:#F7EDE0; --cream-2:rgba(247,237,224,.72); --cream-line:rgba(247,237,224,.14);
  --gold:linear-gradient(180deg,#FFE7A8 0%,#E2A94B 30%,#B07224 55%,#F3C56A 72%,#C07A22 100%);
  --font:"Urbanist",ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;
  --ease:cubic-bezier(.2,.7,.2,1);
  --wrap:1200px; --gut:20px;
}
@media (min-width:760px){:root{--gut:32px}}

.r-site{margin:0;background:var(--paper);color:var(--ink);font:450 17px/1.6 var(--font);-webkit-font-smoothing:antialiased;font-feature-settings:"lnum","kern"}
.r-site *,.r-site *::before,.r-site *::after{box-sizing:border-box}
.r-site img{max-width:100%;height:auto;display:block}
.r-site a{color:inherit}
.r-site h1,.r-site h2,.r-site h3{font-family:var(--font);margin:0 0 .5em;color:inherit}
.r-site h2{font-weight:300;font-size:clamp(2rem,1.25rem + 2.6vw,3.4rem);line-height:1.04;letter-spacing:-.028em}
.r-site h3{font-weight:600;font-size:1.2rem;line-height:1.25;letter-spacing:-.005em}
.r-site p{margin:0 0 1em}
.r-site :focus-visible{outline:2px solid var(--honey);outline-offset:3px;border-radius:6px}
.screen-reader-text{position:absolute!important;clip:rect(1px,1px,1px,1px);width:1px;height:1px;overflow:hidden;white-space:nowrap}
.r-skip{position:absolute;left:-999px;top:8px;z-index:200;background:var(--honey);color:var(--root);padding:10px 16px;border-radius:999px;font-weight:700}
.r-skip:focus{left:12px}
.r-wrap{width:min(var(--wrap),100% - 2*var(--gut));margin-inline:auto}
.r-narrow{max-width:760px}
.r-small{font-size:.88rem;color:var(--muted)}
.r-main{display:block}

/* ---------- buttons ---------- */
.r-btn{display:inline-flex;align-items:center;justify-content:center;gap:.45em;min-height:50px;padding:.75em 1.5em;border-radius:999px;border:1px solid transparent;font:650 1rem/1 var(--font);letter-spacing:.005em;text-decoration:none;cursor:pointer;transition:background-color .2s,color .2s,border-color .2s,transform .2s var(--ease)}
.r-btn:active{transform:scale(.98)}
.r-btn:disabled{opacity:.45;cursor:not-allowed}
.r-btn--honey{background:var(--honey);color:var(--root)!important}
.r-btn--honey:hover{background:#E9BF79}
.r-btn--ghost{border-color:var(--cream-line);color:var(--cream)!important;background:rgba(247,237,224,.04)}
.r-btn--ghost:hover{border-color:rgba(247,237,224,.4)}
.r-btn--ink{background:var(--ink);color:var(--champ)!important}
.r-btn--ink:hover{background:#3E2C21}
.r-btn--sm{min-height:42px;padding:.55em 1.15em;font-size:.94rem}
.r-btn--block{width:100%}
.r-link{font-weight:650;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:5px;text-decoration-color:rgba(42,29,21,.35)}
.r-link:hover{text-decoration-color:currentColor}
.r-link--light{color:var(--cream);text-decoration-color:rgba(247,237,224,.4)}

/* ---------- header: one floating glass bar that changes tone with what's behind it ---------- */
.r-header{position:fixed;top:10px;left:0;right:0;z-index:60;pointer-events:none}
.admin-bar .r-header{top:42px}
@media (max-width:782px){.admin-bar .r-header{top:56px}}
.r-header__bar{pointer-events:auto;width:min(var(--wrap) + 24px,100% - 20px);margin:0 auto;height:64px;display:flex;align-items:center;gap:20px;padding:0 10px 0 22px;border-radius:999px;transition:background-color .35s,color .35s,border-color .35s,box-shadow .35s}
.r-header[data-tone=dark] .r-header__bar{background:rgba(30,22,17,.5);color:var(--cream);border:1px solid var(--cream-line);backdrop-filter:blur(18px) saturate(1.3);-webkit-backdrop-filter:blur(18px) saturate(1.3)}
.r-header[data-tone=light] .r-header__bar{background:rgba(250,244,236,.86);color:var(--ink);border:1px solid var(--line);box-shadow:0 10px 30px -18px rgba(42,29,21,.45);backdrop-filter:blur(18px) saturate(1.3);-webkit-backdrop-filter:blur(18px) saturate(1.3)}
.r-header__logo{display:block;width:118px;flex:none;line-height:0}
.r-header__logo svg{width:100%;height:auto}
.r-header[data-tone=dark] .r-logo-on-light,.r-header[data-tone=light] .r-logo-on-dark{display:none}
.r-nav{display:flex;align-items:center;gap:4px;margin-left:auto}
.r-nav a{font-weight:550;font-size:.97rem;text-decoration:none;padding:9px 13px;border-radius:999px;transition:background-color .2s}
.r-nav a:hover{background:rgba(127,104,88,.14)}
.r-nav a[aria-current=page]{background:rgba(221,174,99,.2)}
.r-nav__wa{display:none}
.r-header__end{display:flex;align-items:center;gap:10px}
.r-burger{display:none;width:46px;height:46px;border:0;border-radius:50%;background:transparent;color:inherit;cursor:pointer;padding:0}
.r-burger i{display:block;width:20px;height:1.5px;background:currentColor;margin:6px auto;transition:transform .3s var(--ease)}

/* language switch: both codes always on show, the active one filled */
.r-lang{display:inline-flex;padding:3px;border-radius:999px;border:1px solid currentColor;border-color:color-mix(in srgb,currentColor 30%,transparent);font-weight:750;font-size:.86rem;letter-spacing:.04em}
.r-lang a,.r-lang span{display:inline-grid;place-items:center;min-width:44px;height:36px;padding:0 10px;border-radius:999px;text-decoration:none}
.r-lang .is-on{background:var(--gold);color:var(--root)}
.r-lang a{opacity:.82}
.r-lang a:hover{opacity:1;background:rgba(127,104,88,.16)}

.r-cur{display:inline-flex;padding:3px;border-radius:999px;border:1px solid color-mix(in srgb,currentColor 30%,transparent);font-weight:750;font-size:.8rem;letter-spacing:.03em}
.r-cur button{min-width:46px;height:36px;padding:0 10px;border:0;border-radius:999px;background:transparent;color:inherit;font:inherit;letter-spacing:inherit;cursor:pointer;opacity:.78}
.r-cur button[aria-pressed=true]{opacity:1;background:currentColor}
.r-header[data-tone=dark] .r-cur button[aria-pressed=true]{background:var(--cream);color:var(--root)}
.r-header[data-tone=light] .r-cur button[aria-pressed=true],.r-cur--sheet button[aria-pressed=true]{background:var(--ink);color:var(--champ)}
.r-cur[hidden]{display:none}
.r-amt{white-space:nowrap}
@media (max-width:980px){
  .r-header{top:calc(8px + env(safe-area-inset-top))}
  .r-header__bar{height:56px;gap:8px;padding:0 6px 0 16px;width:calc(100% - 16px)}
  .r-header__logo{width:98px}
  .r-header__end{margin-left:auto}
  .r-header__book,.r-burger{display:none}
  .r-header .r-lang a,.r-header .r-lang span{min-width:40px;height:34px}
  .r-header .r-cur button{min-width:44px;height:34px;padding:0 8px}
  .r-header__end{gap:6px}
  /* the menu is a bottom sheet, like an app */
  .r-nav{position:fixed;left:0;right:0;bottom:0;top:auto;z-index:80;pointer-events:auto;max-height:86vh;overflow:auto;flex-direction:column;align-items:stretch;gap:0;margin:0;padding:10px 20px calc(24px + env(safe-area-inset-bottom));background:var(--paper);color:var(--ink);border-radius:28px 28px 0 0;box-shadow:0 -24px 60px -20px rgba(20,14,10,.55);transform:translateY(105%);visibility:hidden;transition:transform .42s var(--ease),visibility 0s .42s;overscroll-behavior:contain}
  .r-nav.is-open{transform:none;visibility:visible;transition:transform .42s var(--ease)}
  .r-nav__grab{display:block;width:40px;height:5px;border-radius:5px;background:rgba(42,29,21,.18);margin:0 auto 14px}
  .r-nav a{display:flex;align-items:center;justify-content:space-between;font-size:1.22rem;font-weight:550;letter-spacing:-.01em;padding:16px 4px;border-radius:0;border-bottom:1px solid var(--line)}
  .r-nav a::after{content:"";width:8px;height:8px;border-right:1.6px solid var(--muted);border-top:1.6px solid var(--muted);transform:rotate(45deg);margin-right:6px}
  .r-nav a:hover,.r-nav a[aria-current=page]{background:none;color:var(--caramel)}
  .r-nav__wa{display:flex}
  .r-nav__mine{margin:0 0 6px;padding:16px 18px!important;border:0!important;border-radius:18px!important;background:var(--root);color:var(--champ)!important;font-weight:650!important}
  .r-nav__mine::after{border-color:var(--honey)!important}
  .r-nav__foot{display:flex;align-items:center;justify-content:space-between;padding:18px 4px 4px;font-weight:650;color:var(--ink-2)}
  .r-nav__foot .r-lang a{border-bottom:0;padding:0 10px;font-size:.86rem;justify-content:center}
  .r-nav__foot .r-lang a::after{display:none}
  .r-header.sheet-open .r-header__bar{backdrop-filter:none;-webkit-backdrop-filter:none}
  .r-scrim{position:fixed;inset:0;z-index:70;pointer-events:auto;background:rgba(20,14,10,.45);backdrop-filter:blur(2px);-webkit-backdrop-filter:blur(2px);opacity:0;transition:opacity .35s}
  .r-scrim.is-on{opacity:1}
}
.r-nav__grab,.r-nav__foot,.r-scrim{display:none}
@media (max-width:379px){.r-cur--head{display:none}}
@media (max-width:980px){.r-nav__grab,.r-nav__foot{display:flex}.r-nav__grab{display:block}.r-scrim:not([hidden]){display:block}}

/* ---------- hero (the root) ---------- */
.r-hero{position:relative;background:var(--root);color:var(--cream);overflow:hidden}
.r-hero::before{content:"";position:absolute;inset:0;pointer-events:none;background:radial-gradient(70% 55% at 88% 0%,rgba(221,174,99,.20),transparent 62%)}
.r-hero__grid{position:relative;display:grid;gap:44px;padding:128px 0 72px}
.r-place{font-weight:600;color:var(--honey);margin-bottom:22px;font-size:1rem}
.r-display{font-weight:300;font-size:clamp(2.5rem,1.2rem + 4.8vw,4.9rem);line-height:.98;letter-spacing:-.038em;margin:0 0 28px}
.r-display span{display:block}
.r-display--page{font-size:clamp(2.4rem,1.3rem + 3.8vw,4.6rem);line-height:1.02}
.r-lead{font-size:clamp(1.05rem,.98rem + .3vw,1.2rem);line-height:1.6;color:var(--cream-2);max-width:56ch}
.r-cta{display:flex;flex-wrap:wrap;gap:12px;margin:30px 0 18px}
.r-hero__note{font-size:.92rem;color:var(--cream-2);margin:0}
.r-hero__media{position:relative;justify-self:center;width:min(100%,460px);padding:0 0 40px 34px}
.r-arch{margin:0;overflow:hidden;border-radius:999px 999px 28px 28px;background:var(--root-2)}
.r-arch img{width:100%;height:100%;object-fit:cover}
.r-arch--main{aspect-ratio:4/5.2;box-shadow:0 40px 80px -40px rgba(0,0,0,.7)}
.r-arch--main img{object-position:50% 22%}
.r-arch--side{position:absolute;left:0;top:44%;width:38%;aspect-ratio:3/4;border:6px solid var(--root)}
.r-chip{position:absolute;right:-6px;bottom:0;display:grid;gap:2px;padding:14px 18px;border-radius:20px;text-decoration:none;color:var(--cream);background:rgba(30,22,17,.62);border:1px solid var(--cream-line);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px)}
.r-chip__name{font-size:.88rem;color:var(--cream-2)}
.r-chip__total{font-size:1.45rem;font-weight:650;letter-spacing:-.01em}
.r-chip__split{font-size:.85rem;color:var(--honey);font-weight:600}
@media (min-width:900px){
  .r-hero__grid{grid-template-columns:1.25fr .75fr;align-items:center;padding:150px 0 80px}
  .r-hero__media{justify-self:end}
}
/* the one orchestrated moment: the headline settles in and the photo is unveiled */
@media (prefers-reduced-motion:no-preference){
  .r-hero--home .r-display span{animation:rRise .9s var(--ease) both}
  .r-hero--home .r-display span:nth-child(2){animation-delay:.08s}
  .r-hero--home .r-display span:nth-child(3){animation-delay:.16s}
  .r-hero--home .r-arch--main{animation:rUnveil 1.2s var(--ease) .1s both}
  @keyframes rRise{from{opacity:0;transform:translateY(.45em)}to{opacity:1;transform:none}}
  @keyframes rUnveil{from{clip-path:inset(100% 0 0 0 round 999px 999px 28px 28px)}to{clip-path:inset(0 0 0 0 round 999px 999px 28px 28px)}}
}

/* inner page hero + the melt band beneath it */
.r-hero--page .r-hero__grid{padding:128px 0 40px}
.r-hero--page .r-hero__grid.is-single{grid-template-columns:1fr}
.r-hero--tiny .r-wrap{padding:120px 0 20px}
.r-hero__aside{position:relative;justify-self:center;width:min(100%,420px)}
.r-arch--page{aspect-ratio:4/4.6}
@media (min-width:900px){.r-hero--page .r-hero__grid{padding:150px 0 50px}.r-hero__aside{justify-self:end}}
.r-melt{height:130px;background:linear-gradient(180deg,var(--root) 0%,var(--mocha) 22%,var(--caramel) 50%,var(--honey) 74%,var(--paper) 100%)}

.r-glass{background:rgba(247,237,224,.06);border:1px solid var(--cream-line);border-radius:26px;padding:24px;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}
.r-pricecard__h{font-size:.95rem;font-weight:700;color:var(--honey);margin-bottom:10px}
.r-pricecard ul{list-style:none;margin:0 0 20px;padding:0}
.r-pricecard li{display:flex;justify-content:space-between;gap:16px;padding:11px 0;border-bottom:1px solid var(--cream-line);font-size:.98rem}
.r-pricecard li span{color:var(--cream-2)}
.r-pricecard li b{font-weight:650;white-space:nowrap;font-variant-numeric:tabular-nums}

/* ---------- bands: the melt continues section to section ---------- */
.r-band{padding:clamp(64px,8vw,104px) 0}
.r-band--flush{padding-top:24px}
.r-band--last{padding-bottom:clamp(80px,10vw,128px)}
.r-band--rail{background:linear-gradient(180deg,var(--root) 0%,var(--mocha) 100%);color:var(--cream);padding-top:24px;padding-bottom:32px}
.r-band--bento{background:linear-gradient(180deg,var(--mocha) 0%,#6A4429 72%,var(--caramel) 100%);color:var(--cream);padding-top:48px}
.r-band--how{background:linear-gradient(180deg,var(--caramel) 0%,var(--honey) 20%,var(--champ) 52%,var(--paper) 100%);color:var(--ink)}
.r-band--light{background:var(--paper);color:var(--ink)}
.r-head{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:12px 24px;margin-bottom:32px}
.r-lead--dark{color:var(--ink-2,#5a4a3f);margin:-16px 0 28px}
.r-head h2{margin:0}

/* ---------- rail ---------- */
.r-rail{position:relative}
.r-rail__track{display:grid;grid-auto-flow:column;grid-auto-columns:clamp(256px,76vw,318px);gap:18px;overflow-x:auto;scroll-snap-type:x mandatory;padding:4px 2px 18px;scrollbar-width:thin;scrollbar-color:rgba(247,237,224,.25) transparent;overscroll-behavior-x:contain}
.r-card{position:relative;scroll-snap-align:start;border-radius:26px;overflow:hidden;background:var(--root-2);border:1px solid var(--cream-line);display:flex;flex-direction:column}
.r-card__link{display:flex;flex-direction:column;flex:1;text-decoration:none}
.r-card__media{aspect-ratio:4/4.4;overflow:hidden;background:var(--mocha)}
.r-card__media img{width:100%;height:100%;object-fit:cover;object-position:50% 25%;transition:transform .7s var(--ease)}
.r-card__media.is-sheet img{object-position:50% 0}
.r-card:hover .r-card__media img{transform:scale(1.03)}
.r-card__body{padding:18px 20px 74px}
.r-card__body h3{margin:0;font-size:1.22rem}
.r-card__alt{margin:2px 0 0;color:var(--cream-2);font-size:.92rem}
.r-card__total{margin:14px 0 6px;font-size:1.5rem;font-weight:650;letter-spacing:-.01em;font-variant-numeric:tabular-nums}
.r-card__total .r-usd{display:inline;margin-left:8px;font-size:.88rem;font-weight:500;color:var(--cream-2)}
.r-card__split{margin:0;font-size:.88rem;line-height:1.55;color:var(--cream-2)}
.r-card__split b{color:var(--cream);font-weight:600;font-variant-numeric:tabular-nums}
.r-card__book{position:absolute;left:20px;bottom:18px;display:inline-flex;align-items:center;min-height:42px;padding:0 18px;border-radius:999px;background:var(--honey);color:var(--root)!important;font-weight:700;text-decoration:none}
.r-rail__nav{display:none;gap:10px;justify-content:flex-end;margin-top:6px}
.r-round{width:48px;height:48px;border-radius:50%;border:1px solid var(--cream-line);background:transparent;color:var(--cream);cursor:pointer;display:grid;place-items:center}
.r-round:hover{border-color:rgba(247,237,224,.5)}
.r-round svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
@media (min-width:900px){.r-rail__nav{display:flex}}

/* strands: where no photo fits a service, a fan of colour strands like a salon swatch ring */
.r-strands{--g:linear-gradient(180deg,#22160F 0%,#4A2F1F 30%,#8A5A33 58%,#D3A15C 82%,#EFD7A6 100%);position:relative;display:block;width:100%;height:100%;background:radial-gradient(60% 50% at 50% 100%,rgba(221,174,99,.16),transparent 70%),var(--root-2);overflow:hidden}
.r-strands i{position:absolute;left:50%;bottom:-6%;width:15%;height:92%;margin-left:-7.5%;border-radius:999px 999px 10px 10px;background:repeating-linear-gradient(90deg,rgba(255,244,225,0) 0 3px,rgba(255,244,225,.10) 3px 4px),var(--g);transform-origin:50% 100%;box-shadow:0 10px 30px -10px rgba(0,0,0,.6)}
.r-strands i:nth-child(1){transform:rotate(-30deg);filter:brightness(.72)}
.r-strands i:nth-child(2){transform:rotate(-15deg);filter:brightness(.86)}
.r-strands i:nth-child(3){transform:rotate(0deg)}
.r-strands i:nth-child(4){transform:rotate(15deg);filter:brightness(1.08)}
.r-strands i:nth-child(5){transform:rotate(30deg);filter:brightness(1.18) saturate(.9)}
.r-strands[data-cat=treatments]{--g:linear-gradient(180deg,#2B1D15,#5C3F2C 40%,#B88A5A 78%,#F1DDBA)}
.r-strands[data-cat=straightening]{--g:linear-gradient(180deg,#140E0A,#3A281C 55%,#7A5233)}
.r-strands[data-cat=haircuts]{--g:linear-gradient(180deg,#2A1D15,#6E4A30 60%,#C9A57A)}
.r-strands[data-cat=styling]{--g:linear-gradient(180deg,#2A1D15,#7A5232 55%,#E2BC86)}
.r-strands[data-cat=makeup]{--g:linear-gradient(180deg,#2E1B19,#7E4A40 55%,#E3B9A3)}
.r-strands[data-cat=shampoo]{--g:linear-gradient(180deg,#2A1D15,#5E4636 60%,#D8C2A4)}

/* ---------- bento ---------- */
.r-bento{display:grid;gap:12px;grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:168px}
.r-tile{position:relative;display:flex;align-items:flex-end;padding:20px;border-radius:26px;overflow:hidden;text-decoration:none;color:var(--cream);isolation:isolate}
.r-tile--treat img,.r-tile--straight img{object-position:50% 8%}
.r-tile img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2;transition:transform .8s var(--ease)}
.r-tile.has-img::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,transparent 35%,rgba(20,14,10,.78))}
.r-tile:hover img{transform:scale(1.03)}
.r-tile__text{display:grid;gap:3px}
.r-tile strong{font-size:clamp(1.25rem,1rem + .9vw,1.75rem);font-weight:500;letter-spacing:-.015em;line-height:1.1}
.r-tile__text>span{font-size:.92rem;color:var(--cream-2)}
.r-tile__text em{font-style:normal;font-size:.95rem;color:var(--cream);opacity:.88;max-width:28ch}
.r-tile .r-strands{position:absolute;right:-8%;top:-10%;bottom:-30%;width:62%;height:auto;background:none;z-index:-1;opacity:.95}
.r-tile .r-strands i{width:18%;margin-left:-9%}
.r-tile:not(.has-img){align-items:flex-end}
.r-tile:not(.has-img) .r-tile__text{position:relative;max-width:66%}
.r-tile--treat .r-tile__text,.r-tile--straight .r-tile__text{max-width:100%}
.r-tile--treat .r-strands,.r-tile--straight .r-strands{right:-24%;width:70%;opacity:.7}
.r-tile--treat{background:#4A3426}.r-tile--straight{background:#5A3D2A}.r-tile--cuts{background:#6E4A30}.r-tile--style{background:#7E5534}
.r-tile--color{grid-column:span 2;grid-row:span 2}
.r-tile--makeup{grid-column:span 2;grid-row:span 2}
.r-tile--cuts,.r-tile--style{grid-column:span 2}
@media (max-width:859px){.r-tile{padding:18px}.r-tile--treat strong,.r-tile--straight strong{font-size:1.15rem}.r-tile--treat .r-tile__text>span,.r-tile--straight .r-tile__text>span{font-size:.84rem}}
.r-tile--color img{object-position:50% 20%}
.r-tile--makeup img{object-position:50% 25%}
@media (min-width:860px){
  .r-bento{grid-template-columns:repeat(4,1fr);grid-auto-rows:210px}
  .r-tile--color{grid-column:1/3;grid-row:1/3}
  .r-tile--treat{grid-column:3;grid-row:1}.r-tile--straight{grid-column:4;grid-row:1}
  .r-tile--makeup{grid-column:3/5;grid-row:2}
  .r-tile--cuts{grid-column:1/3;grid-row:3}.r-tile--style{grid-column:3/5;grid-row:3}
  .r-tile{padding:26px}
}

/* ---------- how reserving works ---------- */
.r-how{display:grid;gap:48px}
@media (min-width:900px){.r-how{grid-template-columns:1.1fr .9fr;align-items:start;gap:72px}}
.r-steps{list-style:none;margin:28px 0 0;padding:0;counter-reset:s;display:grid;gap:0}
.r-steps li{counter-increment:s;position:relative;display:grid;gap:2px;padding:0 0 26px 56px}
.r-steps li::before{content:counter(s);position:absolute;left:0;top:-4px;width:36px;height:36px;border-radius:50%;display:grid;place-items:center;font-weight:700;font-size:.95rem;background:var(--ink);color:var(--champ)}
.r-steps li::after{content:"";position:absolute;left:17.5px;top:36px;bottom:2px;width:1px;background:rgba(42,29,21,.22)}
.r-steps li:last-child::after{display:none}
.r-steps strong{font-weight:700;font-size:1.08rem}
.r-steps span{color:var(--ink-2)}

.r-split{margin:0;background:var(--paper);border-radius:28px;padding:28px;box-shadow:0 30px 60px -36px rgba(42,29,21,.5),0 0 0 1px rgba(42,29,21,.06)}
.r-split__name{font-weight:650;color:var(--ink-2)}
.r-split__total{font-size:clamp(2.2rem,1.6rem + 2vw,3rem);font-weight:300;letter-spacing:-.03em;margin:4px 0 18px;font-variant-numeric:tabular-nums}
.r-split__total .r-usd{display:inline;margin-left:10px;font-size:1rem;font-weight:500;color:var(--muted);letter-spacing:0}
.r-split__bar{display:flex;height:18px;border-radius:999px;overflow:hidden;gap:3px}
.r-split__salon{background:var(--ink)}
.r-split__fee{background:var(--honey)}
.r-split__legend{display:grid;gap:10px;margin:18px 0 14px}
.r-split__legend div{display:flex;justify-content:space-between;gap:16px;align-items:baseline}
.r-split__legend dt{display:flex;align-items:center;gap:10px;color:var(--ink-2)}
.r-split__legend dt::before{content:"";width:12px;height:12px;border-radius:4px;flex:none}
.r-split__legend .is-salon dt::before{background:var(--ink)}
.r-split__legend .is-fee dt::before{background:var(--honey)}
.r-split__legend dd{margin:0;font-weight:650;font-variant-numeric:tabular-nums}
.r-split__note{font-size:.92rem;color:var(--muted);margin:0}
.r-fx{font-size:.84rem;color:var(--muted);margin:14px 0 0;max-width:62ch}

/* ---------- gallery ---------- */
.r-gallery{columns:2;column-gap:12px}
.r-gallery figure{margin:0 0 12px;break-inside:avoid;border-radius:22px;overflow:hidden;background:var(--champ)}
.r-gallery figure:first-child{border-radius:999px 999px 22px 22px}
.r-gallery img{width:100%;height:auto}
@media (min-width:760px){.r-gallery{columns:3;column-gap:16px}.r-gallery figure{margin-bottom:16px}}

/* ---------- two-up, FAQ, contact ---------- */
.r-two{display:grid;gap:56px}
@media (min-width:900px){.r-two{grid-template-columns:1fr 1fr;gap:72px}}
.r-faq details{border-bottom:1px solid var(--line)}
.r-faq summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;gap:20px;align-items:center;padding:20px 0;font-weight:650;font-size:1.06rem}
.r-faq summary::-webkit-details-marker{display:none}
.r-faq summary::after{content:"";flex:none;width:28px;height:28px;border-radius:50%;background:var(--champ) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 6v12M6 12h12' stroke='%232A1D15' stroke-width='1.8' stroke-linecap='round'/%3E%3C/svg%3E") center/16px no-repeat;transition:transform .3s var(--ease)}
.r-faq details[open] summary::after{transform:rotate(45deg)}
.r-faq details>div{padding:0 0 20px;color:var(--ink-2);max-width:64ch}
.r-contact dl{display:grid;gap:18px;margin:0 0 24px}
.r-contact dt{font-size:.9rem;font-weight:700;color:var(--muted)}
.r-contact dd{margin:2px 0 0;font-size:1.08rem}
.r-map{display:flex;flex-direction:column;align-items:flex-start;gap:14px}
.r-map__load{width:100%;min-height:120px;border-radius:24px;border:1px dashed rgba(160,104,58,.5);background:var(--champ);font:650 1rem var(--font);color:var(--ink);cursor:pointer}
.r-map iframe{width:100%;aspect-ratio:4/3;border:0;border-radius:24px}

/* ---------- menu (services + category pages) ---------- */
.r-filter{position:sticky;top:84px;z-index:5;display:grid;gap:12px;padding:12px 0 18px;margin-bottom:8px;background:linear-gradient(var(--paper) 82%,rgba(250,244,236,0))}
.r-filter input{width:100%;min-height:54px;border-radius:999px;border:1px solid var(--line);background:#fff;padding:0 22px;font:inherit;color:var(--ink)}
.r-chips{display:flex;gap:8px;overflow-x:auto;scrollbar-width:none;padding-bottom:2px}
.r-chips::-webkit-scrollbar{display:none}
.r-chips button{flex:none;min-height:42px;padding:0 16px;border-radius:999px;border:1px solid var(--line);background:#fff;font:600 .94rem var(--font);color:var(--ink-2);cursor:pointer}
.r-chips button.is-on{background:var(--ink);border-color:var(--ink);color:var(--champ)}
.r-menu__group+.r-menu__group{margin-top:40px}
.r-menu__cat{font-size:clamp(1.6rem,1.2rem + 1.2vw,2.2rem)!important;margin:0 0 6px!important}
.r-row{display:grid;gap:14px;padding:22px 0;border-bottom:1px solid var(--line)}
.r-row__name h3{margin:0;font-size:1.25rem}
.r-row__name h3 a{text-decoration:none}
.r-row__name h3 a:hover{text-decoration:underline;text-underline-offset:4px}
.r-row__alt{margin:2px 0 6px;color:var(--muted)}
.r-row__desc{margin:0;color:var(--ink-2);max-width:56ch}
.r-row__dur{margin:6px 0 0;font-size:.9rem;color:var(--muted)}
.r-row .r-btn{justify-self:start}
@media (min-width:860px){
  .r-row{grid-template-columns:1fr minmax(300px,auto) auto;align-items:center;gap:32px;padding:26px 0}
}
.r-price{margin:0;display:grid;gap:6px;font-variant-numeric:tabular-nums}
.r-price>div{display:flex;justify-content:space-between;align-items:baseline;gap:20px}
.r-price dt{color:var(--ink-2);font-size:.94rem}
.r-price dd{margin:0;font-weight:650;white-space:nowrap;text-align:right}
.r-price__total dt{font-weight:650;color:var(--ink)}
.r-price__total dd{font-size:1.3rem;font-weight:650;letter-spacing:-.01em}
.r-price__fee dd{color:var(--caramel)}
.r-usd{display:block;font-size:.8rem;font-weight:500;color:var(--muted)}
.r-price--row{min-width:0}
.r-disclose{margin:28px 0 0;padding:18px 20px;border-radius:20px;background:var(--champ);color:var(--ink-2);font-size:.95rem;max-width:80ch}
.r-empty{padding:40px 0;text-align:center;color:var(--muted)}
.r-pricebox{background:#fff;border-radius:26px;padding:24px;box-shadow:0 0 0 1px var(--line)}
.r-pricebox__name{font-weight:700;font-size:1.2rem}

/* ---------- prose / notices ---------- */
.r-law{margin-top:2em;padding-top:1em;border-top:1px solid var(--line);font-size:.9rem;color:var(--muted)}
.r-prose h2{font-size:1.6rem;font-weight:500;letter-spacing:-.015em;margin-top:1.6em}
.r-prose p{max-width:68ch;color:var(--ink-2)}
.r-notice{background:var(--champ);border-radius:16px;padding:14px 18px;font-size:.95rem;color:var(--ink-2)}
.r-notice.is-test{background:#FFF0C8;color:var(--ink);font-weight:650}
.r-notice.is-draft{background:#FBE3DE;color:#7A2618}
.r-tbc{display:inline-block;background:var(--champ);border:1px dashed var(--caramel);padding:4px 12px;border-radius:10px;font-size:.92rem}

/* ---------- newsletter ---------- */
.r-nl__title{font-weight:650;font-size:1.1rem;margin-bottom:10px}
.r-nl__row{display:flex;flex-wrap:wrap;gap:8px}
.r-nl__row input{flex:999 1 200px;min-width:0;min-height:50px;border-radius:999px;border:1px solid var(--cream-line);background:rgba(247,237,224,.06);color:var(--cream);padding:0 20px;font:inherit}
.r-nl__row input::placeholder{color:rgba(247,237,224,.5)}
.r-nl__row .r-btn{flex:1 0 auto}
.r-check{display:flex;gap:10px;align-items:flex-start;margin-top:12px;font-size:.84rem;line-height:1.5}
.r-check input{margin-top:2px;width:18px;height:18px;flex:none;accent-color:var(--honey)}
.r-hp{position:absolute!important;left:-9999px!important}
.r-nl__msg{font-size:.9rem;margin:8px 0 0}

/* ---------- footer (the root again, closing the page) ---------- */
.r-footer{background:var(--root);color:var(--cream-2);padding:72px 0 120px}
.r-footer a{color:var(--cream);text-decoration:none}
.r-footer a:hover{color:var(--honey)}
.r-footer__top{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:20px;padding-bottom:36px;border-bottom:1px solid var(--cream-line);margin-bottom:40px}
.r-footer__logo{display:block;width:200px}
.r-lang--footer{color:var(--cream)}
.r-footer__grid{display:grid;gap:36px;grid-template-columns:minmax(0,1fr)}
@media (min-width:760px){.r-footer__grid{grid-template-columns:1fr 1fr}}
@media (min-width:1080px){.r-footer__grid{grid-template-columns:1fr .9fr 1fr 1.3fr}.r-footer{padding-bottom:56px}}
.r-footer__h{font-weight:700;color:var(--honey);margin-bottom:12px}
.r-footer__grid>div>a{display:block;padding:5px 0}
.r-footer .r-check a{color:var(--honey)}
.r-footer__credit{font-size:.82rem;color:rgba(247,237,224,.5);margin:10px 0 0}
.r-footer__credit a{color:var(--honey)}
.r-footer__fine{font-size:.82rem;color:rgba(247,237,224,.5);margin:48px 0 0;padding-top:22px;border-top:1px solid var(--cream-line)}

/* ---------- service videos ---------- */
.r-vids{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,340px));gap:18px}
.r-vid{position:relative;margin:0;border-radius:28px;overflow:hidden;background:var(--root);aspect-ratio:9/16;max-height:640px;box-shadow:0 30px 60px -40px rgba(42,29,21,.6)}
.r-vid video{width:100%;height:100%;object-fit:cover;display:block}
.r-vid figcaption{position:absolute;left:10px;right:10px;bottom:10px;display:flex;align-items:center;justify-content:space-between;gap:10px;padding:12px 12px 12px 16px;border-radius:20px;background:rgba(30,22,17,.72);color:var(--cream);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);font-variant-numeric:tabular-nums}
.r-vid figcaption b{display:block;font-weight:650;font-size:1rem}
.r-vid figcaption .r-usd{display:block;margin:0;color:var(--cream-2)}
@media (max-width:640px){.r-vids{grid-auto-flow:column;grid-template-columns:none;grid-auto-columns:78%;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;margin:0 calc(-1 * var(--gut));padding:0 var(--gut)}.r-vids::-webkit-scrollbar{display:none}.r-vid{scroll-snap-align:center}}

/* ---------- info sheets ---------- */
.r-sheets{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:18px}
.r-sheet{margin:0;background:#fff;border-radius:24px;overflow:hidden;box-shadow:0 1px 0 var(--line),0 24px 50px -36px rgba(42,29,21,.5);display:flex;flex-direction:column}
.r-sheet>a{display:block;line-height:0;cursor:zoom-in}
.r-sheet img{width:100%;aspect-ratio:2/3;object-fit:cover}
.r-sheet figcaption{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:14px 14px 14px 18px;font-variant-numeric:tabular-nums;color:var(--ink-2);font-size:.92rem}
.r-sheet figcaption b{display:block;color:var(--ink);font-weight:650;font-size:1rem}
@media (max-width:640px){.r-sheets{grid-auto-flow:column;grid-template-columns:none;grid-auto-columns:78%;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;margin:0 calc(-1 * var(--gut));padding:0 var(--gut) 6px}.r-sheets::-webkit-scrollbar{display:none}.r-sheet{scroll-snap-align:center}}
.r-lightbox{position:fixed;inset:0;margin:0;width:100vw;height:100dvh;max-width:none;max-height:none;padding:0;border:0;background:transparent;overflow:hidden}
.r-lightbox[open]{display:grid;place-items:center}
.r-lightbox::backdrop{background:rgba(20,14,10,.86);backdrop-filter:blur(4px)}
.r-lightbox img{display:block;max-width:min(94vw,760px);max-height:88dvh;width:auto;height:auto;border-radius:14px}
.r-lightbox__x{position:fixed;top:calc(14px + env(safe-area-inset-top));right:14px;width:46px;height:46px;border-radius:50%;border:0;background:rgba(247,237,224,.92);color:var(--root);font-size:1.6rem;line-height:1;cursor:pointer}

/* ---------- exit-intent sign-up ---------- */
.r-exit{padding:0;border:0;border-radius:28px;width:min(480px,calc(100vw - 24px));max-height:calc(100dvh - 24px);overflow:auto;background:var(--paper);color:var(--ink);box-shadow:0 40px 90px -30px rgba(0,0,0,.6)}
.r-exit::backdrop{background:rgba(20,14,10,.62);backdrop-filter:blur(3px)}
.r-exit__top{background:var(--root);color:var(--cream);padding:30px 28px 24px;background-image:radial-gradient(80% 90% at 100% 0%,rgba(221,174,99,.28),transparent 60%)}
.r-exit__k{margin:0 0 10px!important;color:var(--honey);font-weight:650;font-size:.88rem}
.r-exit__top h2{font-size:clamp(1.7rem,1.3rem + 1.4vw,2.2rem)!important;margin:0 0 10px!important;line-height:1.08}
.r-exit__top p{margin:0;color:var(--cream-2);font-size:.97rem}
.r-exit__form{padding:20px 24px 6px}
.r-exit__form fieldset{border:0;margin:0 0 14px;padding:0}
.r-exit__form legend{font-weight:650;margin-bottom:10px;font-size:.95rem}
.r-chip-row{display:flex;flex-wrap:wrap;gap:8px}
.r-chip-in{position:relative;cursor:pointer}
.r-chip-in input{position:absolute;opacity:0;pointer-events:none}
.r-chip-in span{display:inline-flex;align-items:center;min-height:40px;padding:0 15px;border-radius:999px;border:1px solid var(--line);background:#fff;font-weight:600;font-size:.92rem;color:var(--ink-2);transition:background-color .2s,color .2s}
.r-chip-in input:checked+span{background:var(--ink);border-color:var(--ink);color:var(--champ)}
.r-chip-in input:focus-visible+span{outline:2px solid var(--honey);outline-offset:2px}
.r-exit .r-nl__row{display:flex;gap:8px;flex-wrap:wrap}
.r-exit .r-nl__row input{flex:1 1 200px;min-height:52px;border-radius:999px;border:1px solid var(--line);background:#fff;padding:0 20px;font:inherit;font-size:16px;color:var(--ink)}
.r-exit .r-nl__row .r-btn{flex:1 1 auto}
.r-exit .r-check{margin-top:12px;font-size:.84rem;color:var(--ink-2)}
.r-exit__alt{display:block;text-align:center;padding:4px 24px 22px;color:var(--caramel)!important;font-weight:650}
.r-exit__x{position:absolute;top:12px;right:12px;width:40px;height:40px;border:0;border-radius:50%;background:rgba(247,237,224,.14);color:var(--cream);font-size:1.4rem;line-height:1;cursor:pointer;z-index:1}
@media (max-width:640px){.r-exit{margin:auto auto 0;width:100%;max-width:100%;border-radius:28px 28px 0 0;padding-bottom:env(safe-area-inset-bottom)}}
@media (prefers-reduced-motion:no-preference){.r-exit[open]{animation:rRise .45s var(--ease) both}}

.r-wa{position:fixed;right:18px;bottom:calc(18px + env(safe-area-inset-bottom));z-index:57;font-family:var(--font)}
.r-wa__btn{width:62px;height:62px;border-radius:50%;border:0;background:#25D366;color:#fff;display:grid;place-items:center;cursor:pointer;box-shadow:0 14px 30px -10px rgba(0,0,0,.55);transition:transform .2s var(--ease)}
.r-wa__btn:hover{transform:scale(1.06)}
.r-wa__btn[aria-expanded=true]{background:var(--root)}
.r-wa__panel{position:absolute;right:0;bottom:76px;width:min(360px,calc(100vw - 24px));border-radius:24px;overflow:hidden;background:var(--paper);color:var(--ink);box-shadow:0 30px 70px -20px rgba(0,0,0,.55),0 0 0 1px var(--line)}
.r-wa__panel:not([hidden]){animation:rRise .35s var(--ease) both}
.r-wa__head{display:flex;align-items:center;gap:12px;padding:14px 14px 14px 16px;background:var(--root);color:var(--cream)}
.r-wa__avatar{width:44px;height:44px;border-radius:50%;background:#140f0b;display:grid;place-items:center;flex:none;padding:6px}
.r-wa__avatar svg{width:100%;height:auto}
.r-wa__head b{display:block;font-weight:650}
.r-wa__head small{display:flex;align-items:center;gap:6px;color:var(--cream-2);font-size:.8rem}
.r-wa__head small::before{content:"";width:7px;height:7px;border-radius:50%;background:#25D366}
.r-wa__x{margin-left:auto;width:36px;height:36px;border:0;border-radius:50%;background:rgba(247,237,224,.1);color:var(--cream);font-size:1.3rem;line-height:1;cursor:pointer}
.r-wa__body{padding:16px;background:#efe7dc;background-image:radial-gradient(rgba(42,29,21,.05) 1px,transparent 1px);background-size:14px 14px}
.r-wa__msg{margin:0 0 12px!important;padding:10px 14px;border-radius:4px 16px 16px 16px;background:#fff;font-size:.94rem;line-height:1.45;box-shadow:0 1px 1px rgba(0,0,0,.06);max-width:88%}
.r-wa__chips{display:flex;flex-direction:column;align-items:flex-end;gap:6px}
.r-wa__chips a{padding:8px 14px;border-radius:16px 16px 4px 16px;background:#d9fdd3;color:#14301c!important;text-decoration:none;font-size:.9rem;font-weight:550}
.r-wa__chips a:hover{background:#c8f5c0}
.r-wa__form{display:flex;gap:8px;padding:10px;background:var(--paper);border-top:1px solid var(--line)}
.r-wa__form input{flex:1;min-width:0;min-height:44px;border:1px solid var(--line);border-radius:999px;padding:0 16px;font:inherit;font-size:16px;background:#fff;color:var(--ink)}
.r-wa__form button{width:44px;height:44px;border-radius:50%;border:0;background:#25D366;color:#fff;display:grid;place-items:center;cursor:pointer;flex:none}
@media (max-width:980px){.r-wa{bottom:calc(84px + env(safe-area-inset-bottom));right:12px}.r-wa__btn{width:54px;height:54px}.r-wa__btn svg{width:24px;height:24px}body:not(.r-on-book) .r-wa__btn{display:none}.r-on-book .r-wa{bottom:calc(96px + env(safe-area-inset-bottom))}.r-wa__panel{bottom:8px;position:fixed;right:10px;left:10px;width:auto;bottom:calc(84px + env(safe-area-inset-bottom))}}
@media (min-width:981px){.rp-pop{left:20px}}

/* ---------- app tab bar (phones and tablets) ---------- */
.r-tabbar{position:fixed;left:0;right:0;bottom:0;z-index:50;display:grid;grid-template-columns:repeat(5,1fr);align-items:end;padding:6px 6px calc(6px + env(safe-area-inset-bottom));background:rgba(26,19,14,.97);border-top:1px solid var(--cream-line);backdrop-filter:blur(20px) saturate(1.4);-webkit-backdrop-filter:blur(20px) saturate(1.4)}
.r-tabbar .r-tab{display:flex;flex-direction:column;align-items:center;gap:3px;min-height:52px;justify-content:center;padding:4px 0;border:0;background:none;color:rgba(247,237,224,.62);font:650 .7rem/1 var(--font);letter-spacing:.01em;text-decoration:none;cursor:pointer;-webkit-user-select:none;user-select:none}
.r-tab svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.r-tab--menu svg{fill:currentColor;stroke:none}
.r-tabbar .r-tab[aria-current=page],.r-tabbar .r-tab[aria-expanded=true]{color:var(--honey)}
.r-tabbar .r-tab--book{color:var(--champ)}
.r-tab--book b{display:grid;place-items:center;width:54px;height:54px;margin-top:-26px;border-radius:50%;background:var(--gold);color:var(--root);box-shadow:0 10px 24px -8px rgba(221,174,99,.7),0 0 0 5px rgba(26,19,14,.9)}
.r-tab--book svg{stroke-width:1.9}
@media (min-width:981px){.r-tabbar{display:none}}
@media (max-width:980px){.r-footer{padding-bottom:calc(110px + env(safe-area-inset-bottom))}}

/* ---------- app feel: tap response, transitions, no grey flashes ---------- */
.r-site{-webkit-tap-highlight-color:transparent}
.r-site a,.r-site button{touch-action:manipulation}
@media (hover:none){
  .r-btn,.r-tab,.r-card,.r-chips button,.rb-svc,.rb-day,.rb-time,.r-round{transition:transform .15s var(--ease),background-color .2s,border-color .2s,color .2s}
  .r-btn:active,.r-chips button:active,.rb-day:active,.rb-time:active,.r-round:active{transform:scale(.95)}
  .r-card:active,.rb-svc:active{transform:scale(.98)}
  .r-tab:active svg{transform:scale(.88)}
}
@view-transition{navigation:auto}
::view-transition-old(root){animation:rVtOut .18s ease both}
::view-transition-new(root){animation:rVtIn .3s var(--ease) both}
@keyframes rVtOut{to{opacity:0}}
@keyframes rVtIn{from{opacity:0;transform:translateY(10px)}}
.r-tabbar{view-transition-name:r-tabbar}
.r-header{view-transition-name:r-header}
@media (prefers-reduced-motion:reduce){::view-transition-old(root),::view-transition-new(root){animation:none}}

/* services list on phones: app cards and a filter that stays in reach */
@media (max-width:859px){
  .r-filter{position:sticky;top:calc(70px + env(safe-area-inset-top));z-index:5;margin:0 calc(-1 * var(--gut)) 8px;padding:10px var(--gut) 10px;background:rgba(250,244,236,.92);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px)}
  .admin-bar .r-filter{top:118px}
  .r-filter input{min-height:46px}
  .r-chips{margin:8px calc(-1 * var(--gut)) 0;padding:0 var(--gut) 2px;scroll-padding:0 var(--gut)}
  .r-row{background:#fff;border:0;border-radius:24px;padding:20px;margin-bottom:12px;box-shadow:0 1px 0 var(--line),0 12px 30px -24px rgba(42,29,21,.45)}
  .r-row .r-btn{justify-self:stretch;text-align:center;justify-content:center}
  .r-menu__cat{margin:22px 0 12px!important}
}

/* ---------- "this page in Spanish/English" suggestion ---------- */
.r-suggest{position:fixed;z-index:55;left:10px;right:10px;bottom:calc(92px + env(safe-area-inset-bottom));max-width:430px;display:flex;align-items:center;gap:12px;padding:12px 12px 12px 18px;border-radius:22px;background:var(--champ);color:var(--ink);box-shadow:0 20px 50px -20px rgba(30,22,17,.6),0 0 0 1px var(--line)}
.r-suggest p{margin:0;flex:1;font-size:.95rem;font-weight:550}
.r-suggest .r-btn{flex:none}
.r-suggest__x{flex:none;width:40px;height:40px;border:0;border-radius:50%;background:transparent;cursor:pointer;color:var(--ink-2);font-size:1.3rem;line-height:1}
@media (min-width:981px){.r-suggest{bottom:20px;left:20px}}
@media (prefers-reduced-motion:no-preference){.r-suggest{animation:rRise .5s var(--ease) both}}

/* ---------- consent bar ---------- */
.r-consent{position:fixed;left:10px;right:10px;bottom:calc(92px + env(safe-area-inset-bottom));z-index:56;max-width:440px;background:var(--paper);border-radius:22px;box-shadow:0 20px 50px -20px rgba(30,22,17,.6),0 0 0 1px var(--line);padding:16px 18px;font-size:.92rem}
.r-consent div{display:flex;gap:8px;margin-top:12px}
@media (min-width:981px){.r-consent{bottom:20px;left:20px}}

/* ======================= booking app ======================= */
.r-book{position:relative}
.rb-progress{display:grid;grid-template-columns:repeat(4,1fr);gap:6px;margin:4px 0 8px}
.rb-progress i{height:4px;border-radius:4px;background:var(--line);transition:background-color .4s}
.rb-progress i.on{background:var(--caramel)}
.rb-stepname{font-size:.9rem;font-weight:650;color:var(--muted);margin:0 0 22px}
.rb-step{animation:rbIn .35s var(--ease)}
@keyframes rbIn{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
.rb-h{font-weight:300;font-size:clamp(1.8rem,1.4rem + 1.4vw,2.4rem);letter-spacing:-.025em;line-height:1.1;margin:0 0 6px;outline:none}
.rb-sub{color:var(--ink-2);margin:0 0 20px}
.rb-list{display:grid;gap:10px}
.rb-svc{display:flex;justify-content:space-between;align-items:center;gap:14px;width:100%;min-height:68px;text-align:left;background:#fff;border:1px solid var(--line);border-radius:20px;padding:16px 18px;cursor:pointer;font:inherit;color:inherit;transition:border-color .2s,box-shadow .2s}
.rb-svc:hover{border-color:rgba(160,104,58,.5)}
.rb-svc[aria-pressed=true]{border-color:var(--ink);box-shadow:0 0 0 1px var(--ink) inset}
.rb-svc b{display:block;font-weight:650}
.rb-svc em{display:block;font-style:normal;font-size:.9rem;color:var(--muted)}
.rb-amt{text-align:right;font-size:.84rem;color:var(--muted);white-space:nowrap;font-variant-numeric:tabular-nums}
.rb-amt strong{display:block;font-size:1.08rem;color:var(--ink);font-weight:650}
.rb-days{display:flex;gap:8px;overflow-x:auto;padding:4px 2px 12px;scrollbar-width:none;scroll-snap-type:x proximity}
.rb-days::-webkit-scrollbar{display:none}
.rb-day{flex:none;width:68px;padding:12px 0;border-radius:20px;border:1px solid var(--line);background:#fff;text-align:center;cursor:pointer;font:inherit;color:inherit;scroll-snap-align:start}
.rb-day small{display:block;font-size:.78rem;color:var(--muted)}
.rb-day b{display:block;font-size:1.5rem;font-weight:400;line-height:1.25}
.rb-day[aria-pressed=true]{background:var(--ink);color:var(--champ);border-color:var(--ink)}
.rb-day[aria-pressed=true] small{color:var(--honey)}
.rb-times{display:grid;grid-template-columns:repeat(auto-fill,minmax(86px,1fr));gap:8px;margin-top:8px}
.rb-time{min-height:48px;border-radius:14px;border:1px solid var(--line);background:#fff;font:600 .98rem var(--font);color:inherit;cursor:pointer;font-variant-numeric:tabular-nums}
.rb-time[aria-pressed=true]{background:var(--ink);color:var(--champ);border-color:var(--ink)}
.rb-note{font-size:.92rem;color:var(--ink-2);background:var(--champ);border-radius:14px;padding:12px 16px;margin:16px 0 0}
.rb-field{display:block;margin-bottom:16px}
.rb-field>span{display:block;font-weight:650;font-size:.95rem;margin-bottom:6px}
.rb-field input,.rb-field textarea{width:100%;min-height:54px;border:1px solid var(--line);border-radius:16px;background:#fff;padding:12px 16px;font:inherit;font-size:16px;color:var(--ink)}
.rb-field input:focus,.rb-field textarea:focus{outline:0;border-color:var(--ink);box-shadow:0 0 0 3px rgba(221,174,99,.35)}
.rb-field textarea{min-height:110px;resize:vertical}
.rb-err{display:block;color:#A12A1F;font-size:.88rem;margin-top:6px}
.rb-field.has-err input{border-color:#C4473A}
.r-book .r-check{color:var(--ink-2)}
.r-book .r-check input{accent-color:var(--ink)}
.rb-summary{background:#fff;border-radius:26px;padding:24px;box-shadow:0 0 0 1px var(--line);margin:6px 0 18px}
.rb-summary h3{font-size:1.3rem!important;margin-bottom:4px!important}
.rb-when{color:var(--ink-2);margin-bottom:16px}
.rb-nav{display:flex;justify-content:space-between;margin-top:18px}
.rb-back{background:none;border:0;font:650 .98rem var(--font);color:var(--muted);cursor:pointer;min-height:48px;padding:0 4px}
.rb-bar{position:sticky;bottom:0;z-index:6;margin:24px calc(-1 * var(--gut)) 0;padding:12px var(--gut) calc(12px + env(safe-area-inset-bottom));background:rgba(250,244,236,.94);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-top:1px solid var(--line);display:flex;align-items:center;gap:14px}
.rb-bar__info{flex:1;min-width:0;font-size:.86rem;color:var(--muted);line-height:1.35}
.rb-bar__info strong{display:block;font-size:1.02rem;color:var(--ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.rb-bar .r-btn{flex:none}
.rb-nonref{margin:0 0 6px;padding:18px 18px 8px;border-radius:20px;background:#fff7e8;border:1.5px solid #e4c48a}
.rb-nonref__h{display:flex;align-items:center;gap:8px;font-weight:700;color:#7a4b12;margin:0 0 6px!important}
.rb-nonref p{font-size:.94rem;color:var(--ink-2);margin:0 0 10px}
.rb-nonref .r-check{font-weight:600;color:var(--ink)}
.rb-alert{background:#FBE3DE;color:#7A2618;border-radius:14px;padding:12px 16px;margin-bottom:14px}

/* ---------- status page ---------- */
.r-status{background:#fff;border-radius:28px;padding:clamp(24px,5vw,40px);box-shadow:0 30px 60px -40px rgba(42,29,21,.5),0 0 0 1px var(--line)}
.r-status__ref{font-weight:650;color:var(--muted);margin-bottom:6px}
.r-status h2{font-size:clamp(1.7rem,1.3rem + 1.6vw,2.3rem)}
.r-status::before{content:"";display:block;width:52px;height:52px;border-radius:50%;margin-bottom:18px;background:var(--champ) center/24px no-repeat}
.r-status.is-ok::before{background-color:#E3F0E2;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M5 12.5l4.5 4.5L19 7.5' fill='none' stroke='%232F6B3A' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E")}
.r-status.is-pending::before{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Ccircle cx='12' cy='12' r='8.5' fill='none' stroke='%23A0683A' stroke-width='1.8'/%3E%3Cpath d='M12 7.5V12l3 2' fill='none' stroke='%23A0683A' stroke-width='1.8' stroke-linecap='round'/%3E%3C/svg%3E")}
.r-status.is-failed::before{background-color:#FBE3DE;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M7 7l10 10M17 7L7 17' stroke='%23A12A1F' stroke-width='2' stroke-linecap='round'/%3E%3C/svg%3E")}
.r-status__lead{color:var(--ink-2)}
.r-summary{display:grid;gap:10px;margin:22px 0}
.r-summary div{display:flex;justify-content:space-between;gap:16px;border-bottom:1px solid var(--line);padding-bottom:10px}
.r-summary dt{color:var(--muted)}
.r-summary dd{margin:0;font-weight:600;text-align:right}
.r-status .r-btn{margin:22px 0 8px}

@media (prefers-reduced-motion:reduce){.r-site *{animation:none!important;transition:none!important}}

/* ---------- Service landing pages + link lists ---------- */
.r-narrow-text{max-width:760px}
.r-narrow-text p{line-height:1.7}
.r-svc__main{max-width:760px}
.r-svc__main>p{margin:0 0 18px;line-height:1.65}
.r-svc__main .r-cta{margin:18px 0}
.r-catlinks{list-style:none;margin:16px 0 0;padding:0;display:grid;gap:2px}
.r-catlinks a{display:flex;justify-content:space-between;align-items:center;padding:12px 2px;border-bottom:1px solid var(--line,rgba(42,29,21,.12));color:inherit;text-decoration:none;font-weight:600}
.r-catlinks a::after{content:"";width:8px;height:8px;border-top:2px solid currentColor;border-right:2px solid currentColor;transform:rotate(45deg);opacity:.5}
.r-catlinks a:hover{color:var(--caramel,#A0683A)}
#prices>.r-wrap>h2.r-menu__cat{margin-top:0}

/* ---------- WooCommerce "pay for order" inside the Roma design ---------- */
.r-checkout{max-width:640px}
.r-checkout .woocommerce-info,.r-checkout .woocommerce-error,.r-checkout .woocommerce-message{list-style:none;margin:0 0 18px;padding:12px 16px;border-radius:14px;background:#fff;border:1px solid var(--line,rgba(42,29,21,.12));font-size:.9rem;color:var(--ink-2,#5B4738)}
.r-checkout .woocommerce-info::before,.r-checkout .woocommerce-error::before,.r-checkout .woocommerce-message::before{display:none}
.r-checkout table.shop_table{width:100%;border-collapse:collapse;background:#fff;border:1px solid var(--line,rgba(42,29,21,.12));border-radius:20px;overflow:hidden;margin:0 0 20px}
.r-checkout table.shop_table th,.r-checkout table.shop_table td{padding:14px 18px;border-bottom:1px solid var(--line,rgba(42,29,21,.12));text-align:left;font-size:.95rem}
.r-checkout table.shop_table thead{display:none}
.r-checkout table.shop_table tfoot tr:last-child th,.r-checkout table.shop_table tfoot tr:last-child td{font-weight:700;font-size:1.1rem;border-bottom:0}
.r-checkout #payment{background:#fff;border:1px solid var(--line,rgba(42,29,21,.12));border-radius:20px;padding:18px}
.r-checkout #payment ul.payment_methods{list-style:none;margin:0 0 12px;padding:0}
.r-checkout #payment ul.payment_methods>li{padding:12px 0;border-bottom:1px solid var(--line,rgba(42,29,21,.12))}
.r-checkout #payment ul.payment_methods>li:last-child{border-bottom:0}
.r-checkout #payment .payment_box{padding:12px 0 4px}
.r-checkout .woocommerce-privacy-policy-text{font-size:.8rem;color:var(--muted,#7D6858)}
.r-checkout #place_order,.r-checkout button[type=submit]{display:block;width:100%;margin-top:14px;padding:16px 22px;border:0;border-radius:999px;background:var(--ink,#2A1D15);color:#fff;font:650 1rem var(--font,inherit);cursor:pointer}
.r-checkout #place_order:hover{background:#000}
.r-checkout #payment,.woocommerce-checkout .r-checkout #payment{background:#fff!important}
.r-checkout #payment div.payment_box{background:var(--cream-1,#F7EFE5)!important;border-radius:14px;margin:10px 0 0!important}
.r-checkout #payment div.payment_box::before{display:none!important}
