/* Ranna Villa · home signature 1.0.0. Scoped to the homepage in every language. */
body.rv-home-signature {
  --rvhs-paper:#f6f2eb; --rvhs-ink:#342b24; --rvhs-muted:#706459;
  --rvhs-copper:#9c512f; --rvhs-line:#d9cbbb; --rvhs-display:Georgia,"Times New Roman",serif;
  background:var(--rvhs-paper)!important; color:var(--rvhs-ink);
}
body.rv-home-signature .site-header {
  padding:12px 32px!important; background:var(--rvhs-paper)!important;
  border-bottom:1px solid #e5dbcf; box-shadow:none!important;
}
body.rv-home-signature .site-header .nav-shell {
  max-width:1280px!important; padding:0!important; min-height:60px;
  background:transparent!important; border:0!important; border-radius:0!important;
  box-shadow:none!important; backdrop-filter:none!important;
}
body.rv-home-signature .site-header .brand-rv-box {
  width:48px!important; height:48px!important; border:0!important;
  background:transparent!important; box-shadow:none!important; border-radius:0!important;
}
body.rv-home-signature .site-header .brand-copy b {font-size:12px!important;letter-spacing:.17em!important;color:var(--rvhs-ink)!important}
body.rv-home-signature .site-header .nav-links {gap:24px!important}
body.rv-home-signature .site-header .nav-links a {font-size:12px!important;font-weight:500!important;color:#51473e!important;letter-spacing:.015em!important}
body.rv-home-signature .site-header #rv-primary-nav a[aria-current=page],
body.rv-home-signature .site-header #rv-primary-nav a:hover {color:var(--rvhs-copper)!important}
body.rv-home-signature .site-header .nav-cta,
body.rv-home-signature main .btn-primary,
body.rv-home-signature #hero-booking .booking-action,
body.rv-home-signature .mobile-book {
  background:var(--rvhs-copper)!important;color:#fffaf4!important;border:1px solid var(--rvhs-copper)!important;
  border-radius:8px!important;box-shadow:none!important;text-shadow:none!important;
  transition:background .18s ease,transform .18s ease!important;
}
body.rv-home-signature .site-header .nav-cta {padding:12px 20px!important;font-size:12px!important;min-height:44px}
body.rv-home-signature .site-header .nav-cta:hover,
body.rv-home-signature main .btn-primary:hover,
body.rv-home-signature #hero-booking .booking-action:hover {background:#7d3d23!important;border-color:#7d3d23!important;box-shadow:none!important}
body.rv-home-signature :is(a,button,input,select):focus-visible {outline:3px solid #aa6a43!important;outline-offset:4px!important}
body.rv-home-signature main .hero.rv-video-hero {
  --rv-hero-gutter:max(40px,calc((100% - 1200px)/2));
  display:grid!important;grid-template-columns:minmax(0,1fr)!important;
  grid-template-rows:minmax(570px,auto) auto!important;gap:0!important;
  padding:0 var(--rv-hero-gutter) 0!important;overflow:visible!important;
  background:var(--rvhs-paper)!important;border:0!important;min-height:0!important;
}
body.rv-home-signature main .hero.rv-video-hero .rv-hero-motion-media {
  top:0!important;left:0;right:0;bottom:auto!important;height:650px!important;
  border-radius:0!important;background:#4a4634;
}
body.rv-home-signature main .hero.rv-video-hero .rv-hero-motion-media::after {
  background:linear-gradient(90deg,rgba(30,30,22,.79) 0%,rgba(30,30,22,.60) 30%,rgba(30,30,22,.12) 70%,rgba(30,30,22,.04) 100%),linear-gradient(0deg,rgba(30,30,22,.28),transparent 55%)!important;
}
body.rv-home-signature main .rv-hero-motion-picture img {object-position:center 52%!important}
body.rv-home-signature main .hero.rv-video-hero .hero-copy {
  grid-area:1/1!important;align-self:center!important;width:min(660px,100%)!important;
  padding:50px 0 58px!important;margin:0!important;z-index:2!important;background:none!important;
  border:0!important;box-shadow:none!important;min-height:0!important;
}
body.rv-home-signature main .hero.rv-video-hero .hero-copy .eyebrow {
  display:flex!important;align-items:center;gap:14px;margin:0!important;
  color:#f4ddbb!important;font-size:10px!important;font-weight:600!important;
  letter-spacing:.24em!important;text-shadow:none!important;
}
body.rv-home-signature main .hero-copy .eyebrow span {width:36px;height:1px;background:#d7b687!important;box-shadow:none!important;border-radius:0!important;animation:none!important}
body.rv-home-signature main .hero.rv-video-hero .hero-copy h1 {
  font-family:var(--rvhs-display)!important;font-size:clamp(50px,5.8vw,82px)!important;
  font-weight:400!important;line-height:1.04!important;letter-spacing:-.045em!important;
  max-width:650px!important;margin:22px 0 22px!important;color:#fffaf2!important;
  text-shadow:none!important;text-wrap:balance;
}
body.rv-home-signature main .hero.rv-video-hero .hero-copy p {
  max-width:450px!important;font-size:15px!important;line-height:1.85!important;
  color:#f2e9dc!important;text-shadow:none!important;font-weight:400!important;
}
body.rv-home-signature main .hero.rv-video-hero .cta-row {margin-top:28px!important;display:flex!important;gap:14px!important}
body.rv-home-signature main .hero.rv-video-hero .cta-row .btn {min-height:48px!important;padding:13px 22px!important;font-size:12px!important;font-weight:600!important;letter-spacing:.035em}
body.rv-home-signature main .hero.rv-video-hero .btn-glass {
  background:rgba(255,250,242,.05)!important;border:1px solid #f7e9d782!important;
  color:#fffaf2!important;border-radius:8px!important;box-shadow:none!important;backdrop-filter:none!important;
}
body.rv-home-signature main .hero.rv-video-hero .btn-glass:hover {background:#ffffff20!important}
body.rv-home-signature main .hero.rv-video-hero .hero-proof {
  display:flex!important;gap:0!important;margin-top:34px!important;width:fit-content;max-width:100%;
  padding-top:20px!important;border-top:1px solid #ffffff38!important;
}
body.rv-home-signature main .hero.rv-video-hero .hero-proof div {
  display:flex!important;flex-direction:column!important;align-items:flex-start!important;
  padding:0 25px!important;background:none!important;border:0!important;border-right:1px solid #ffffff30!important;
  border-radius:0!important;box-shadow:none!important;min-width:0!important;
}
body.rv-home-signature main .hero.rv-video-hero .hero-proof div:first-child {padding-left:0!important}
body.rv-home-signature main .hero.rv-video-hero .hero-proof div:last-child {border-right:0!important;padding-right:0!important}
body.rv-home-signature main .hero.rv-video-hero .hero-proof strong {font-family:var(--rvhs-display);font-size:25px!important;font-weight:400!important;color:#fff9f1!important;text-shadow:none!important}
body.rv-home-signature main .hero.rv-video-hero .hero-proof span {font-size:10px!important;letter-spacing:.015em!important;line-height:1.6!important;color:#eee1d0!important;text-shadow:none!important;text-transform:none!important;margin-top:2px}
body.rv-home-signature main .rv-booking-on-photo {
  grid-area:2/1!important;position:relative!important;z-index:3!important;
  width:100%!important;max-width:none!important;padding:0!important;margin:0!important;
  background:none!important;border:0!important;border-radius:0!important;box-shadow:none!important;
}
body.rv-home-signature main .rv-booking-entry #hero-booking {
  width:100%!important;padding:26px 30px!important;border:1px solid #d7c7b4!important;
  border-radius:16px!important;background:#fffaf3!important;color:var(--rvhs-ink)!important;
  box-shadow:0 16px 38px #4c342514!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important;
  scroll-margin-top:110px!important;
}
body.rv-home-signature main .rv-booking-entry #hero-booking:is(:hover,:focus-within,.rv-booking-lit) {
  border-color:#bd9e80!important;box-shadow:0 16px 38px #4c342514!important;
}
body.rv-home-signature #hero-booking .rv-booking-journey {gap:24px!important;margin-bottom:20px!important}
body.rv-home-signature #hero-booking .rv-booking-journey span {font-size:11px!important;color:#76695b!important}
body.rv-home-signature #hero-booking .rv-booking-journey b {background:#eee6db!important;color:#796957!important;box-shadow:none!important}
body.rv-home-signature #hero-booking .rv-booking-journey .is-active b,
body.rv-home-signature #hero-booking.is-open .rv-booking-journey span:nth-child(2) b {background:var(--rvhs-copper)!important;color:white!important}
body.rv-home-signature #hero-booking .hero-booking-primary {grid-template-columns:1fr 1fr .75fr 1.5fr 1.12fr!important;gap:12px!important}
body.rv-home-signature #hero-booking .hero-booking-primary .booking-field {
  min-height:74px!important;background:#fffdf9!important;border:1px solid #d9cbbb!important;
  border-radius:8px!important;padding:12px 14px!important;box-shadow:none!important;
}
body.rv-home-signature #hero-booking .booking-field small {color:#81705c!important;letter-spacing:.07em!important;font-size:10px!important}
body.rv-home-signature #hero-booking .booking-field :is(input,select) {color:#342b24!important;font-size:15px!important;font-weight:500!important}
body.rv-home-signature #hero-booking .booking-action {font-size:13px!important;font-weight:600!important;min-height:52px!important}
body.rv-home-signature #hero-booking .rv-booking-guidance {border-top:1px solid #e8ddcf!important;padding-top:16px!important;margin-top:16px!important;gap:16px!important}
body.rv-home-signature #hero-booking .rv-booking-guidance .rv-family-capacity {
  border:0!important;border-left:2px solid #ba9571!important;border-radius:0!important;
  padding:6px 14px!important;background:none!important;color:#6b5b4a!important;font-size:12px!important;
}
body.rv-home-signature #hero-booking .rv-booking-guidance .rv-room-children-row {padding:0!important;background:none!important;gap:10px!important}
body.rv-home-signature #hero-booking .rv-booking-guidance .rv-room-children-row small {font-size:11px!important;line-height:1.6!important;color:#786956!important}
body.rv-home-signature #hero-booking .rv-adult-age-badge {background:#efe7db!important;border:0!important;color:#705e49!important;font-size:11px!important}
body.rv-home-signature #hero-booking .rv-room-children-row select {border-color:#d9cbbb!important;box-shadow:none!important}
body.rv-home-signature #hero-booking .rv-booking-guidance .rv-room-children-row label {font-size:12px!important}
body.rv-home-signature #hero-booking .hero-contact-grid label,
body.rv-home-signature #hero-booking .hero-booking-note {border-color:#d9cbbb!important;border-radius:8px!important;box-shadow:none!important}
body.rv-home-signature #hero-booking .rv-stay-glance {border-radius:8px!important;background:#f2ebdf!important}
body.rv-home-signature main#main-content section.rv-home-comfort {
  background:var(--rvhs-paper)!important;padding:100px 40px 84px!important;
}
body.rv-home-signature main#main-content .rv-home-comfort>.container {
  max-width:1200px!important;padding:0!important;background:none!important;border:0!important;border-radius:0!important;box-shadow:none!important;
}
body.rv-home-signature .rv-home-comfort .section-kicker {color:#935433!important;font-size:10px!important;letter-spacing:.2em!important;font-weight:600!important;margin-bottom:16px!important}
body.rv-home-signature .rv-home-comfort .section-title {
  color:var(--rvhs-ink)!important;font-family:var(--rvhs-display)!important;
  font-size:clamp(36px,4.2vw,58px)!important;line-height:1.12!important;font-weight:400!important;
  letter-spacing:-.035em!important;margin:0 0 18px!important;text-shadow:none!important;
}
body.rv-home-signature .rv-home-comfort .lead {color:#736658!important;font-size:15px!important;line-height:1.85!important;max-width:710px!important;margin:0!important}
body.rv-home-signature .rv-home-comfort #amenities {gap:20px!important;margin:38px 0 0!important}
body.rv-home-signature main .rv-home-comfort .amenity-card {
  display:flex!important;flex-direction:column!important;align-items:flex-start!important;gap:0!important;
  background:#faf7f1!important;border:1px solid #d9cbbb!important;border-radius:12px!important;
  padding:30px!important;min-height:245px!important;box-shadow:none!important;
  transform:none!important;transition:background .2s ease,border-color .2s ease!important;
}
body.rv-home-signature main .rv-home-comfort .amenity-card::after {display:none!important}
body.rv-home-signature main .rv-home-comfort .amenity-card:hover {background:#fffdf8!important;border-color:#b18b66!important;box-shadow:none!important}
body.rv-home-signature .rv-home-comfort .amenity-art {height:55px!important;width:55px!important;margin:0 0 26px!important;min-height:0!important;padding:0!important;background:none!important;box-shadow:none!important;border:0!important;transform:none!important;filter:none!important}
body.rv-home-signature .rv-home-comfort .amenity-art :is(img,svg) {width:48px!important;height:48px!important;object-fit:contain!important;filter:none!important;transform:none!important;animation:none!important}
body.rv-home-signature .rv-home-comfort .amenity-copy {padding:0 12px 0 0!important}
body.rv-home-signature .rv-home-comfort .amenity-copy strong {display:block!important;color:var(--rvhs-ink)!important;font-family:var(--rvhs-display)!important;font-weight:400!important;font-size:25px!important;letter-spacing:-.02em!important;margin-bottom:8px!important}
body.rv-home-signature .rv-home-comfort .amenity-copy span {color:#76685b!important;font-size:13px!important;line-height:1.75!important}
body.rv-home-signature .rv-home-comfort .amenity-arrow {background:none!important;border:0!important;box-shadow:none!important;color:#9c512f!important;bottom:22px!important;right:18px!important}
body.rv-home-signature .rv-home-comfort .cta-row {margin-top:28px!important;gap:16px!important}
body.rv-home-signature .rv-home-comfort .btn-outline {color:#775339!important;border:1px solid #c4ac91!important;background:transparent!important;border-radius:8px!important;box-shadow:none!important}
body.rv-home-signature main#main-content section.rv-home-beauty {background:var(--rvhs-paper)!important;padding:0 40px 94px!important}
body.rv-home-signature .rv-home-beauty-card {display:grid!important;grid-template-columns:1fr 1fr!important;max-width:1200px!important;border:1px solid #d8c5af!important;border-radius:16px!important;box-shadow:none!important;background:#eee4d5!important;overflow:hidden!important}
body.rv-home-signature .rv-home-beauty-card::before {display:none!important}
body.rv-home-signature .rv-home-beauty-image {position:relative!important;inset:auto!important;z-index:auto!important;width:100%!important;height:100%!important;min-height:460px;object-fit:cover!important;order:1}
body.rv-home-signature .rv-home-beauty-copy {width:100%!important;min-height:460px!important;padding:54px 48px!important;order:2;border:0!important}
body.rv-home-signature .rv-home-beauty-copy .rv-home-beauty-kicker {color:#88502f!important;font-size:9px!important;letter-spacing:.14em!important;font-weight:600!important;margin-bottom:24px!important}
body.rv-home-signature .rv-home-beauty-kicker span {background:#ae825a!important;box-shadow:none!important}
body.rv-home-signature .rv-home-beauty-copy h2 {font-size:clamp(34px,3.5vw,50px)!important;color:#3c3027!important;text-shadow:none!important;letter-spacing:-.04em!important;line-height:1.13!important;margin-bottom:22px!important}
body.rv-home-signature .rv-home-beauty-copy :is(.rv-home-beauty-intro,.rv-home-beauty-detail) {color:#6e5c4b!important;font-size:14px!important;line-height:1.8!important;text-shadow:none!important}
body.rv-home-signature .rv-home-beauty-link {background:transparent!important;color:#6f3b24!important;border:0!important;border-bottom:1px solid #ae886a!important;border-radius:0!important;padding:8px 0!important;min-height:44px!important;box-shadow:none!important;font-size:12px!important;gap:35px!important}
body.rv-home-signature .rv-home-beauty-link span {color:inherit!important}
body.rv-home-signature footer.rv-footer-signature {background:#302a24!important;border-top:1px solid #9c795b!important;box-shadow:none!important}
body.rv-home-signature footer.rv-footer-signature .rv-footer-block {background:#ffffff04!important;border:1px solid #75604b!important;border-radius:12px!important;box-shadow:none!important}
body.rv-home-signature footer.rv-footer-signature .rv-footer-block:is(:hover,:focus-within) {border-color:#ad8c6c!important;box-shadow:none!important}
body.rv-home-signature footer.rv-footer-signature .rv-footer-eyebrow {color:#d4af87!important}
body.rv-home-signature footer.rv-footer-signature .rv-footer-book {background:#ac7955!important;border:1px solid #caa27f!important;border-radius:8px!important;box-shadow:none!important}
body.rv-home-signature footer.rv-footer-signature .rv-footer-book :is(span,b) {color:#fffaf3!important}
body.rv-home-signature footer.rv-footer-signature .rv-footer-divider {border-color:#ffffff28!important}
body.rv-home-signature .rv-contact-float a {box-shadow:0 4px 16px #342b2420!important;border-color:#b08a65!important;background:#faf5eb!important}
body.rv-home-signature .rv-contact-float .rv-icon {color:#935433!important}
body.rv-home-signature .rv-booking-lit {outline-color:#ae886a!important;box-shadow:none!important}
@media (max-width:1100px) {
  body.rv-home-signature .site-header .nav-links {gap:14px!important}
  body.rv-home-signature main .hero.rv-video-hero {--rv-hero-gutter:32px;grid-template-rows:minmax(550px,auto) auto!important}
  body.rv-home-signature main .hero.rv-video-hero .rv-hero-motion-media {height:630px!important}
  body.rv-home-signature main .hero.rv-video-hero .hero-copy h1 {font-size:66px!important;max-width:530px!important}
  body.rv-home-signature #hero-booking .hero-booking-primary {grid-template-columns:repeat(2,minmax(0,1fr))!important}
  body.rv-home-signature #hero-booking .hero-booking-next {grid-column:1/-1!important}
  body.rv-home-signature .rv-home-beauty-copy {padding:36px!important}
}
@media (max-width:900px) {
  body.rv-home-signature .site-header .nav-links {background:#f8f3eb!important;border:1px solid #d9cbbb!important;box-shadow:0 14px 28px #342b2420!important}
  body.rv-home-signature .site-header .rv-menu-toggle {border-color:#d9cbbb!important;background:#f8f3eb!important}
  body.rv-home-signature .rv-home-comfort #amenities {gap:14px!important}
  body.rv-home-signature main .rv-home-comfort .amenity-card {padding:24px!important}
}
@media (max-width:767px) {
  body.rv-home-signature .site-header {padding:8px 18px!important}
  body.rv-home-signature .site-header .nav-shell {min-height:52px;gap:10px!important}
  body.rv-home-signature .site-header .brand-rv-box {width:42px!important;height:42px!important}
  body.rv-home-signature .site-header .brand-copy b {font-size:10px!important;letter-spacing:.12em!important}
  body.rv-home-signature main .hero.rv-video-hero {--rv-hero-gutter:20px;grid-template-rows:minmax(520px,auto) auto!important}
  body.rv-home-signature main .hero.rv-video-hero .rv-hero-motion-media {height:610px!important}
  body.rv-home-signature main .hero.rv-video-hero .rv-hero-motion-media::after {background:linear-gradient(90deg,#25261ac7,#25261a45),linear-gradient(0deg,#25261a66,transparent)!important}
  body.rv-home-signature main .rv-hero-motion-picture img {object-position:60% center!important}
  body.rv-home-signature main .hero.rv-video-hero .hero-copy {padding:42px 0!important}
  body.rv-home-signature main .hero.rv-video-hero .hero-copy h1 {font-size:clamp(44px,10.5vw,62px)!important;max-width:500px!important;margin:20px 0!important}
  body.rv-home-signature main .hero.rv-video-hero .hero-copy p {font-size:14px!important;line-height:1.8!important;max-width:380px!important}
  body.rv-home-signature main .hero.rv-video-hero .hero-copy .eyebrow {font-size:9px!important;letter-spacing:.2em!important}
  body.rv-home-signature main .hero.rv-video-hero .cta-row {display:flex!important;flex-wrap:wrap!important;gap:10px!important;margin-top:24px!important}
  body.rv-home-signature main .hero.rv-video-hero .cta-row .btn {width:auto!important;min-height:46px!important;padding:12px 18px!important;font-size:12px!important}
  body.rv-home-signature main .hero.rv-video-hero .hero-proof {margin-top:28px!important;padding-top:16px!important}
  body.rv-home-signature main .hero.rv-video-hero .hero-proof div {padding:0 18px!important}
  body.rv-home-signature main .hero.rv-video-hero .hero-proof strong {font-size:23px!important}
  body.rv-home-signature main .hero.rv-video-hero .hero-proof span {font-size:9px!important}
  body.rv-home-signature main .rv-booking-entry #hero-booking {padding:20px 16px!important;border-radius:12px!important;scroll-margin-top:90px!important}
  body.rv-home-signature #hero-booking .rv-booking-journey {gap:12px!important;justify-content:space-between!important;margin-bottom:16px!important}
  body.rv-home-signature #hero-booking .rv-booking-journey span {font-size:10px!important;gap:5px!important}
  body.rv-home-signature #hero-booking .rv-booking-journey b {width:20px!important;height:20px!important;flex-basis:20px!important}
  body.rv-home-signature #hero-booking .hero-booking-primary {gap:10px!important}
  body.rv-home-signature #hero-booking .hero-booking-primary .booking-field {padding:10px!important;min-height:70px!important}
  body.rv-home-signature #hero-booking .booking-field :is(input,select) {font-size:16px!important}
  body.rv-home-signature #hero-booking .rv-booking-guidance {grid-template-columns:1fr!important;gap:14px!important}
  body.rv-home-signature #hero-booking .rv-booking-guidance .rv-room-children-row small {font-size:11px!important}
  body.rv-home-signature main#main-content section.rv-home-comfort {padding:62px 20px 50px!important}
  body.rv-home-signature .rv-home-comfort .section-title {font-size:39px!important}
  body.rv-home-signature .rv-home-comfort .lead {font-size:14px!important}
  body.rv-home-signature .rv-home-comfort #amenities {grid-template-columns:1fr!important;gap:12px!important;margin-top:28px!important}
  body.rv-home-signature main .rv-home-comfort .amenity-card {display:grid!important;grid-template-columns:50px minmax(0,1fr)!important;column-gap:20px!important;min-height:0!important;padding:23px 20px!important;align-items:center!important}
  body.rv-home-signature .rv-home-comfort .amenity-art {width:46px!important;height:46px!important;margin:0!important}
  body.rv-home-signature .rv-home-comfort .amenity-art :is(img,svg) {width:42px!important;height:42px!important}
  body.rv-home-signature .rv-home-comfort .amenity-copy strong {font-size:22px!important;margin-bottom:5px!important}
  body.rv-home-signature .rv-home-comfort .amenity-copy span {font-size:12px!important}
  body.rv-home-signature .rv-home-comfort .amenity-arrow {display:none!important}
  body.rv-home-signature main#main-content section.rv-home-beauty {padding:0 20px 56px!important}
  body.rv-home-signature .rv-home-beauty-card {grid-template-columns:1fr!important;border-radius:12px!important}
  body.rv-home-signature .rv-home-beauty-image {height:260px!important;min-height:0!important;aspect-ratio:auto!important}
  body.rv-home-signature .rv-home-beauty-copy {padding:30px 25px 34px!important;min-height:0!important}
  body.rv-home-signature .rv-home-beauty-copy h2 {font-size:36px!important}
  body.rv-home-signature .rv-home-beauty-copy .rv-home-beauty-kicker {font-size:8px!important;gap:8px!important}
  body.rv-home-signature .mobile-book {border-radius:8px!important;box-shadow:0 4px 18px #342b2420!important}
}
@media (prefers-reduced-motion:reduce) {
  body.rv-home-signature *,body.rv-home-signature *::before,body.rv-home-signature *::after {animation:none!important;transition:none!important;scroll-behavior:auto!important}
}
@media (prefers-contrast:more) {
  body.rv-home-signature main .hero.rv-video-hero .hero-copy {padding:24px!important;background:#302a24!important;border-radius:12px!important}
  body.rv-home-signature #hero-booking .booking-field small {color:#554431!important}
}
