/* Shared tactile panels. Reviews retain their approved material settings. */
:root{--leather-tint:#e8dce3e8}
:root .riverstone-portrait .site-header,:root .riverstone-inner:not(.rn-legal) .site-header{border-bottom:0;box-shadow:none}
.riverstone-portrait .oc-card:before,.rn-service-card:before,.rg-style-card:before{
  background-size:100% 100%,620px 620px;
  filter:contrast(1.7) brightness(.83);
  opacity:.9;
  border-radius:inherit;
}
.rg-style-card:before{background-size:620px 620px}

/* These are panel surfaces, never the photographs, controls or map canvas. */
:root :is(.riverstone-inner,.riverstone-portrait) :is(.rg-feature-copy,.rg-method-flow article,.rg-experience,.rn-image-break-caption,
 .info-panel,.rn-experience-options article,.enquiry-band,.rn-guide-card:first-child,
 .oc-together){
  background-image:linear-gradient(115deg,#ffffff16,#00000014),url('/assets/riverstone-pebbled-leather.webp');
  background-size:100% 100%,620px 620px;
  background-blend-mode:soft-light,soft-light;
  box-shadow:inset 1px 1px 0 #ffffff30,inset -1px -2px 3px #00000020;
}
.riverstone-portrait .oc-couple,.riverstone-portrait .oc-steam{background:none;box-shadow:none}

/* Pale leather: a tinted finish keeps the grain readable without muddy text. */
:root :is(.riverstone-inner,.riverstone-portrait) :is(.rg-decision,.rg-check-items li,.rg-pressure-panels article,.rg-guest>div,
 .rg-steam,.rg-message-examples article,.builder-panel,.rn-related a,
 .rn-chapter-content>ul>li,.chooser-option,.included-grid article,.inline-feature,
 .oc-guide-list>a,.rn-guide-card:not(:first-child) .rn-guide-copy,.faq details){
  background-color:#e9dce3;
  background-image:linear-gradient(var(--leather-tint),var(--leather-tint)),url('/assets/riverstone-pebbled-leather.webp');
  background-size:100% 100%,620px 620px;
  background-blend-mode:normal;
  box-shadow:inset 1px 1px 0 #ffffff9c,inset -1px -1px 0 #60405218;
}
:is(.rg-decision,.rg-message-examples article,.rn-related a):nth-child(even),
.rg-pressure-panels article:nth-child(2),.rg-guest:nth-child(2)>div,
.builder-panel,.chooser-option,.included-grid article,.rg-check-items li{
  --leather-tint:#dce9e6e8;
  background-color:#dce9e6;
}
:root .riverstone-inner .info-panel:not(.dark),:root .riverstone-inner .rn-experience-options article:nth-child(3){
  background-image:linear-gradient(#dce9e6e8,#dce9e6e8),url('/assets/riverstone-pebbled-leather.webp');
  background-blend-mode:normal;
}
.oc-guide-list>a{padding:25px 50px 25px 24px;border:1px solid #81637525;border-radius:5px 32px 5px 5px;margin-bottom:16px}
.oc-guide-list>a:nth-child(2){--leather-tint:#dce9e6e8}
.oc-guide-list .icon{right:18px}
.rn-guide-card:not(:first-child) .rn-guide-copy{padding:28px;border-radius:4px 4px 28px 4px;margin-top:12px}
.rn-guide-card:nth-child(3) .rn-guide-copy{--leather-tint:#dce9e6e8}
.riverstone-inner .faq details,.faq details{padding:22px 25px;margin-bottom:12px;border:1px solid #87677725;border-radius:5px 26px 5px 5px}
.faq details:nth-of-type(even){--leather-tint:#dce9e6e8}
.faq details[open]{border-color:#8f627780}

/* Quiet colour fields and ripple lines give the white intervals a rhythm. */
.riverstone-portrait .oc-massages{
  background-color:#fff;
  background-image:none;
  background-size:100% 100%;
}
.riverstone-portrait .oc-guides{background:linear-gradient(135deg,#eef3f1,#f4edf1);border-top:0;box-shadow:0 0 0 100vmax #eef2f0;clip-path:inset(0 -100vmax)}
.rs-reviews{position:relative;background-image:radial-gradient(ellipse at 85% 15%,#66344955,transparent 60%)}
.rs-reviews:after{content:'';position:absolute;right:-120px;top:-180px;width:500px;height:500px;border:1px solid #d9b4c022;border-radius:50%;box-shadow:0 0 0 35px #d9b4c00b,0 0 0 70px #d9b4c006;pointer-events:none}
.rs-reviews>.oc-wrap,.rs-reviews>.shell{position:relative;z-index:1}
.rs-review-stars{color:#ddc09d}
.rs-review-initials{background:#e7d7df;color:#57192e}
.rs-review:nth-child(3n+2) .rs-review-initials{background:#c5ded7;color:#203c3c}
.rs-review:nth-child(3n) .rs-review-initials{background:#dfcfe1;color:#4b354d}
.rs-review-note{justify-content:flex-end}
.rs-review blockquote{font-family:'Instrument Serif',Georgia,serif;font-style:normal;font-weight:400;font-size:34px;line-height:1.15;letter-spacing:0;text-shadow:0 1px 2px #00000030}
.rs-review cite,.rs-review small{font-family:'DM Sans',Arial,sans-serif}
@media(max-width:700px){.rs-review blockquote{font-size:31px;line-height:1.2}}
.rs-hero-glint{color:#fff}
@supports(background-clip:text){
 .rs-hero-glint{background:linear-gradient(110deg,#c4b6c0 35%,#e8e0e5 41%,#fff 46%,#fff 50%,#c4b6c0 59%) 110% 50%/250% 100%;background-clip:text;-webkit-background-clip:text;color:transparent;animation:rs-letter-shine 4s ease-in-out infinite;animation-play-state:paused}
 .rs-hero-glint.glint-visible{animation-play-state:running}
 @keyframes rs-letter-shine{0%,8%{background-position:110% 50%}43%,100%{background-position:-10% 50%}}
}
@media(prefers-reduced-motion:reduce){.rs-hero-glint{animation:none;background:none;color:#fff}}
/* Raised contact tiles, with the glow behind the face rather than over the label. */
:root body :is(.contact-pair,.mobile-dock) .button,:root body .request-whatsapp{
 --tile-edge:#391324;
 background-image:linear-gradient(180deg,#ffffff24,transparent 60%,#00000010);
 border-top-color:#ffffff65;
 border-radius:7px 7px 10px 10px;
 box-shadow:inset 0 1px 0 #ffffff30,0 4px 0 var(--tile-edge),0 8px 14px #00000030;
 transition:transform .18s ease,box-shadow .18s ease,filter .18s ease;
}
:root body :is(.contact-pair,.mobile-dock) .whatsapp,:root body .request-whatsapp{--tile-edge:#0b3e2b}
:root body .mobile-dock .call,:root body .rg-feature-copy .call,:root body .enquiry-band .call{--tile-edge:#bdb6bd;--cta-glow:#ffffff90}
:root body :is(.contact-pair,.mobile-dock) .button:before,:root body .request-whatsapp:before{inset:0;box-shadow:0 0 20px 5px var(--cta-glow);opacity:.65}
@media(hover:hover){:root body :is(.contact-pair,.mobile-dock) .button:hover,:root body .request-whatsapp:hover{transform:translateY(-2px);box-shadow:inset 0 1px 0 #ffffff40,0 6px 0 var(--tile-edge),0 10px 20px #00000030}}
:root body :is(.contact-pair,.mobile-dock) .button:active,:root body .request-whatsapp:active{transform:translateY(3px);box-shadow:inset 0 1px 0 #ffffff25,0 1px 0 var(--tile-edge),0 3px 7px #00000025}
:root body :is(.contact-pair,.mobile-dock) .button.call{--cta-glow:#f4bdd48c}
:root body :is(.contact-pair,.mobile-dock) .button.whatsapp,:root body .request-whatsapp{--cta-glow:#80e7bd9c}
:root body :is(.contact-pair,.mobile-dock) .button:before,:root body .request-whatsapp:before{inset:-1px;border:1px solid var(--cta-glow);box-shadow:0 0 5px 1px var(--cta-glow)}
@keyframes rs-cta-glow{0%,100%{opacity:.3;transform:scale(1)}50%{opacity:.75;transform:scale(1)}}
.rn-hero-hands-on .rn-hero-top{display:none}
.rn-hero-service h1 em{display:inline-block;margin-top:.13em;letter-spacing:.01em;word-spacing:.08em;line-height:1.16}
.rn-hero-face-focus .rn-hero-top{display:none}
.rn-hero-face-focus .rn-hero-scene img{object-position:50% 0%}
.rn-hero-face-focus .rn-hero-scene{mask-image:linear-gradient(#000 85%,transparent 100%)}
.rn-hero-hands-on .rn-hero-scene{top:0}
.rn-hero-hands-on .rn-hero-scene{mask-image:linear-gradient(#000 85%,transparent 100%)}
.rn-hero-hands-on .rn-hero-shade{background:linear-gradient(180deg,#20151c66,transparent 27%,transparent 54%,#23151ce0 83%,#24151f 100%)}
@media(max-width:700px){
 .rn-hero-face-focus .rn-hero-scene img{object-position:18% 0%}
 .rn-hero-face-focus .rn-hero-scene{bottom:12%}
 .riverstone-portrait .oc-hero-message{max-width:none}
 .riverstone-portrait .oc-hero-message>p{font-size:clamp(21px,6.1vw,27px);white-space:nowrap}
 .rn-hero-hands-on .rn-hero-scene{top:0;bottom:var(--mobile-scene-bottom)}
 .rn-hero-hands-on .rn-hero-shade{background:linear-gradient(180deg,#20151c66,transparent 27%,transparent 48%,#23151ce0 76%,#24151f 92%)}
 .riverstone-portrait .oc-massages{padding-top:27px}
 .riverstone-portrait .oc-massages .oc-section-heading{margin-bottom:18px}
 .riverstone-portrait .oc-massages .oc-section-heading .oc-label{font-size:8px;margin-bottom:12px}
 .riverstone-portrait .oc-massages .oc-section-heading h2{font-size:32px;line-height:1.12;letter-spacing:-1px}
 .riverstone-portrait .oc-massages .oc-section-heading h2 br{display:none}
 .riverstone-portrait .oc-massages .oc-section-heading p{font-size:12px;line-height:1.55;margin-top:13px;padding:0;max-width:320px}
 .riverstone-portrait .oc-service-controls{padding-top:12px;margin-bottom:10px;font-size:9px}
 .riverstone-portrait .oc-service-controls .square-arrow{height:31px;width:31px}
 .oc-guide-list>a{padding:23px 45px 23px 21px}
 .rn-guide-card:not(:first-child) .rn-guide-copy{padding:24px}
 .riverstone-inner .faq details,.faq details{padding:20px}
 .rs-reviews:after{width:300px;height:300px;right:-180px;top:-130px}
 .riverstone-home .footer-grid{display:grid;grid-template-columns:1fr;gap:28px}
 .riverstone-home .footer-grid>div:first-child{display:block;grid-column:auto}
 .riverstone-home .footer-grid>div:first-child p{display:none}
 .riverstone-home .footer-grid .brand{width:148px;height:90px}
 .riverstone-home .footer-grid .eyebrow{font-size:9px;letter-spacing:1.4px;margin-bottom:13px}
 .riverstone-home .footer-grid .eyebrow:before{display:none}
 .riverstone-home .footer-grid nav{display:grid;grid-template-columns:1fr 1fr;gap:0 24px;font-size:12px}
 .riverstone-home .footer-grid nav a{padding:8px 0;line-height:1.4}
 .riverstone-home .footer-grid>div:last-child{border-top:1px solid #ffffff25;padding-top:24px}
 .riverstone-home .footer-phone{font-size:27px;line-height:1.3;display:inline-block;margin-bottom:10px}
 .riverstone-home .footer-grid>div:last-child p{font-size:12px;line-height:1.7;margin-top:0}
 .riverstone-home .footer-bottom{display:block;padding-block:20px;font-size:9px;line-height:1.7}
 .riverstone-home .footer-bottom>span+span{display:none}
}
