/* Home page redesign, applied in stages. Everything is scoped to .home-page and loaded after home-styles.css.
   Stage 1: top strip, header, hero, search card, popular chips, stats. */
.home-page{
  --rd-navy:#123B5D;--rd-navy-2:#0D2F4A;--rd-navy-3:#0A223A;
  --rd-rose:#9F1239;--rd-rose-2:#B52B50;
  --rd-bg:#F7F9FC;--rd-line:#DCE5ED;--rd-ink:#173C5A;--rd-text:#33566E;--rd-muted:#5C7184;
}
.home-page :focus-visible{outline:3px solid var(--rd-rose);outline-offset:2px;border-radius:4px}

/* ---- top strip */
.home-page .rd-topstrip{background:var(--rd-navy-3);color:#B9CFE2;font-size:12.5px}
.home-page .rd-topstrip .wrap{display:flex;justify-content:space-between;align-items:center;gap:16px;padding-top:0;padding-bottom:0}
.home-page .rd-topstrip a{color:#E7F0F8;text-decoration:none;font-weight:600;display:inline-flex;gap:7px;align-items:center;min-height:36px}
.home-page .rd-topstrip a:hover{text-decoration:underline}
.home-page .rd-topstrip .rd-ts-items{display:flex;gap:22px;align-items:center}
.home-page .rd-topstrip svg{width:13px;height:13px;flex:none;opacity:.85}
@media(max-width:640px){
  .home-page .rd-topstrip{font-size:12px}
  .home-page .rd-topstrip .rd-ts-hide{display:none}
  .home-page .rd-topstrip .wrap>span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}
}

/* ---- header: sticky, softly blurred, same logo and menu */
.home-page .site-header.home-header{position:sticky;top:0;z-index:60;background:rgba(255,255,255,.9);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-bottom:1px solid var(--rd-line);transition:box-shadow .25s ease}
.home-page .site-header.home-header.rd-scrolled{box-shadow:0 10px 30px rgba(10,34,58,.12)}
.home-page .site-header .nav{height:74px}
.home-page .site-header nav a,.home-page .site-header .nav-sub>a{font-size:14.5px;font-weight:600;color:var(--rd-text);padding:9px 13px;border-radius:9px;transition:background .15s,color .15s}
.home-page .site-header nav a:hover,.home-page .site-header nav a:focus-visible{background:#EEF3F8;color:var(--rd-navy);text-decoration:none}
.home-page .site-header nav .nav-cta{margin-left:8px;padding:11px 18px;border-radius:10px;background:var(--rd-rose)!important;color:#fff!important;font-weight:700;box-shadow:0 8px 18px rgba(159,18,57,.28);transition:background .15s,transform .15s}
.home-page .site-header nav .nav-cta:hover{background:var(--rd-rose-2)!important;transform:translateY(-1px)}
.home-page .nav-sub-menu a{padding:11px 14px}
.home-page .site-header nav{gap:4px}
.home-page .site-header nav a,.home-page .site-header .nav-sub>a{white-space:nowrap}
.home-page .site-header .brand-logo img{height:56px;width:auto}
@media(max-width:1060px){
  .home-page .site-header.home-header .nav{height:auto;min-height:70px}
}

/* ---- hero */
.home-page .rd-hero{position:relative;isolation:isolate;overflow:hidden;color:#fff;background:var(--rd-navy-3);min-height:0;display:block}
.home-page .rd-hero::before,.home-page .rd-hero::after{display:none!important}
.home-page .rd-hero-bg{position:absolute;inset:0;z-index:-2}
.home-page .rd-hero-bg img{width:100%;height:100%;object-fit:cover;object-position:center 62%}
.home-page .rd-hero-shade{position:absolute;inset:0;z-index:-1;background:linear-gradient(97deg,rgba(8,29,50,.95) 0%,rgba(15,50,80,.86) 44%,rgba(10,34,58,.38) 78%,rgba(10,34,58,.18) 100%)}
.home-page .rd-hero-inner{padding-top:76px;padding-bottom:0}
.home-page .rd-kicker{display:inline-flex;align-items:center;gap:10px;font-size:12px;font-weight:700;letter-spacing:2.4px;color:#F3C3CF;text-transform:uppercase}
.home-page .rd-kicker::before{content:"";width:34px;height:2px;background:var(--rd-rose-2);border-radius:2px}
.home-page .rd-hero h1{font-family:'Playfair Display',Georgia,serif;color:#fff;font-size:clamp(40px,5.4vw,66px);font-weight:600;line-height:1.08;margin:20px 0 16px;max-width:720px;letter-spacing:-.5px}
.home-page .rd-hero h1 em{font-style:italic;color:#FFD9E1}
.home-page .rd-sub{font-size:17.5px;line-height:1.65;color:#D9E6F1;max-width:560px;margin:0 0 34px}

.home-page .rd-search{display:grid;grid-template-columns:1.6fr 1fr 1fr auto;gap:8px;max-width:980px;background:#fff;border-radius:18px;padding:10px;box-shadow:0 24px 60px rgba(10,34,58,.22);overflow:visible}
.home-page .rd-search .search-field{position:relative;display:flex;flex-direction:row;align-items:center;gap:12px;padding:8px 16px;border:1.5px solid transparent;border-radius:12px;background:var(--rd-bg);min-width:0;transition:border-color .15s,background .15s}
.home-page .rd-search .search-field:focus-within{border-color:var(--rd-rose);background:#fff}
.home-page .rd-search .search-field>svg{width:20px;height:20px;flex:none;color:var(--rd-rose)}
.home-page .rd-search .rd-sf-text{flex:1;min-width:0}
.home-page .rd-search .search-label{display:block;font-size:11px;font-weight:700;letter-spacing:1.1px;text-transform:uppercase;color:var(--rd-muted);line-height:1.2}
.home-page .rd-search input,.home-page .rd-search select{display:block;width:100%;border:0;background:transparent;color:var(--rd-ink);font-size:16px;font-weight:600;padding:2px 0 0;outline:none;min-width:0;min-height:26px}
.home-page .rd-search select{appearance:none;-webkit-appearance:none;cursor:pointer}
.home-page .rd-search .rd-search-btn{border:0;border-radius:12px;background:var(--rd-rose);color:#fff;font-size:15.5px;font-weight:700;padding:0 30px;min-height:60px;display:inline-flex;align-items:center;gap:10px;justify-content:center;box-shadow:0 10px 22px rgba(159,18,57,.35);cursor:pointer;transition:background .15s,transform .15s}
.home-page .rd-search .rd-search-btn:hover{background:var(--rd-rose-2);transform:translateY(-1px)}
.home-page .rd-search .rd-search-btn svg{width:18px;height:18px}
.home-page .rd-search .destination-suggestions{top:calc(100% + 8px);left:0;right:0}
@media(max-width:900px){
  .home-page .rd-search{grid-template-columns:1fr 1fr}
  .home-page .rd-search .search-destination{grid-column:1/-1}
  .home-page .rd-search .rd-search-btn{grid-column:1/-1}
}
@media(max-width:520px){
  .home-page .rd-search{grid-template-columns:1fr 1fr;gap:6px;padding:8px}
  .home-page .rd-search .search-field{padding:7px 12px;gap:9px}
  .home-page .rd-search .search-field>svg{width:17px;height:17px}
  .home-page .rd-search .rd-search-btn{min-height:52px}
  .home-page .rd-hero-inner{padding-top:34px}
  .home-page .rd-hero h1{font-size:36px;margin:14px 0 12px}
  .home-page .rd-sub{font-size:16px;margin-bottom:22px}
  .home-page .rd-popular{margin-top:16px}
  .home-page .rd-stats{margin-top:26px;padding-bottom:28px;gap:10px 14px}
  .home-page .rd-stat b{font-size:22px}
  .home-page .rd-stat span{font-size:12px}
}

.home-page .rd-popular{display:flex;flex-wrap:wrap;align-items:center;gap:9px;margin:22px 0 0;font-size:13.5px;color:#C4D6E7;text-shadow:none}
.home-page .rd-popular>span{font-weight:600;margin-right:2px}
.home-page .rd-popular a{display:inline-flex;align-items:center;min-height:40px;border:1px solid rgba(255,255,255,.35);background:rgba(255,255,255,.08);color:#fff;border-radius:999px;padding:7px 15px;font-size:13.5px;font-weight:600;text-decoration:none;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);transition:background .15s,border-color .15s}
.home-page .rd-popular a:hover,.home-page .rd-popular a.selected{background:rgba(255,255,255,.22);border-color:rgba(255,255,255,.6);color:#fff}

.home-page .rd-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;max-width:980px;margin-top:40px;padding-bottom:44px}
.home-page .rd-stat{border-top:1px solid rgba(255,255,255,.28);padding-top:14px}
.home-page .rd-stat b{display:block;font-family:'Playfair Display',Georgia,serif;font-size:27px;font-weight:600;color:#fff;line-height:1.1}
.home-page .rd-stat span{font-size:13px;color:#C4D6E7}
@media(max-width:640px){.home-page .rd-stats{grid-template-columns:1fr 1fr}.home-page .rd-hero-inner{padding-top:52px}}
@media(prefers-reduced-motion:no-preference){
  @keyframes rdHeroUp{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}
  .home-page .rd-kicker,.home-page .rd-hero h1,.home-page .rd-sub,.home-page .rd-search,.home-page .rd-popular,.home-page .rd-stats{animation:rdHeroUp .8s cubic-bezier(.2,.7,.2,1) both}
  .home-page .rd-hero h1{animation-delay:.08s}.home-page .rd-sub{animation-delay:.16s}.home-page .rd-search{animation-delay:.24s}.home-page .rd-popular{animation-delay:.34s}.home-page .rd-stats{animation-delay:.42s}
}
/* narrower desktops: keep the full menu on one line before the hamburger takes over at 1060px */
@media(min-width:1061px) and (max-width:1240px){
  .home-page .site-header nav{gap:0}
  .home-page .site-header nav a,.home-page .site-header .nav-sub>a{padding:9px 8px;font-size:14px}
  .home-page .site-header nav .nav-cta{margin-left:6px;padding:10px 14px}
  .home-page .site-header .brand-logo img{height:48px}
}

/* ===== Stage 2: section headings, destinations, premium band, stay types ===== */
.home-page .home-main .section-head,.home-page .home-main .premium-section-head{display:flex;justify-content:space-between;align-items:flex-end;gap:22px;margin-bottom:30px}
.home-page .section-eyebrow,.home-page .premium-eyebrow{display:inline-flex;align-items:center;gap:9px;font-size:11.5px;font-weight:800;letter-spacing:2.2px;text-transform:uppercase;color:var(--rd-rose)}
.home-page .section-eyebrow::before,.home-page .premium-eyebrow::before{content:"";width:26px;height:2px;background:currentColor;border-radius:2px}
.home-page .home-main .section-head h2,.home-page .premium-section-head h2{font-family:'Playfair Display',Georgia,serif;font-weight:600;font-size:clamp(29px,3.4vw,40px);line-height:1.15;margin:12px 0 0;letter-spacing:-.3px;color:var(--rd-ink)}
.home-page .home-main .section-head h2 b,.home-page .premium-section-head h2 b{font-weight:600;color:var(--rd-rose)}
.home-page .home-main .section-head>a,.home-page .premium-section-head>a{display:inline-flex;align-items:center;gap:8px;flex:none;font-size:14.5px;font-weight:700;color:var(--rd-navy);text-decoration:none;padding:11px 18px;min-height:44px;border:1.5px solid var(--rd-line);border-radius:999px;background:#fff;transition:border-color .15s,color .15s,transform .15s}
.home-page .home-main .section-head>a:hover,.home-page .premium-section-head>a:hover{border-color:var(--rd-rose);color:var(--rd-rose);transform:translateY(-1px)}
@media(max-width:640px){.home-page .home-main .section-head,.home-page .premium-section-head{flex-direction:column;align-items:flex-start}}

/* image tiles shared by destinations and stay types */
.home-page .destination-card,.home-page .stay-card{position:relative;isolation:isolate;overflow:hidden;display:flex;align-items:flex-end;border-radius:16px;color:#fff;text-decoration:none;background:#0A223A!important;box-shadow:0 2px 10px rgba(18,59,93,.06);height:auto;aspect-ratio:auto!important}
.home-page .destination-card::before,.home-page .stay-card::before{content:none!important;display:none!important}
.home-page .destination-card .rd-tile-img,.home-page .stay-card .rd-tile-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2;transition:transform .6s cubic-bezier(.2,.7,.2,1)}
.home-page .destination-card::after,.home-page .stay-card::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(10,34,58,0) 34%,rgba(10,34,58,.55) 68%,rgba(8,26,44,.88) 100%)}
.home-page .destination-card:hover .rd-tile-img,.home-page .stay-card:hover .rd-tile-img{transform:scale(1.06)}
.home-page .destination-card>span,.home-page .stay-card>span{display:block!important;position:relative!important;padding:20px 66px 20px 20px!important;width:100%!important;background:none!important;color:#fff!important;font-size:inherit!important;inset:auto!important;transform:none!important;height:auto!important}
.home-page .destination-card b,.home-page .stay-card b{display:block!important;font-family:'Playfair Display',Georgia,serif!important;font-size:23px!important;font-weight:600!important;line-height:1.15!important;color:#fff!important;text-shadow:none!important}
.home-page .stay-card b{font-size:20px!important}
.home-page .destination-card small,.home-page .stay-card small{display:block!important;font-size:13px!important;color:#E3EDF6!important;font-weight:500!important;margin-top:2px!important}
.home-page .destination-card>span::after,.home-page .stay-card>span::after{content:"\2197";position:absolute;right:18px;bottom:18px;width:38px;height:38px;border-radius:50%;display:grid;place-items:center;font-size:17px;line-height:1;color:#fff;background:rgba(255,255,255,.16);border:1px solid rgba(255,255,255,.4);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);transition:background .2s,transform .2s}
.home-page .destination-card:hover>span::after,.home-page .stay-card:hover>span::after{background:var(--rd-rose);border-color:var(--rd-rose);transform:rotate(-38deg)}

.home-page .destinations-section .destination-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
.home-page .destination-card{min-height:238px}
.home-page .destination-card.rd-wide{grid-column:span 2}
@media(max-width:960px){.home-page .destinations-section .destination-grid{grid-template-columns:1fr 1fr}.home-page .destination-card.rd-wide{grid-column:span 2}}
@media(max-width:520px){.home-page .destinations-section .destination-grid{grid-template-columns:1fr}.home-page .destination-card.rd-wide{grid-column:span 1}.home-page .destination-card{min-height:200px}}

.home-page .stay-type-section .stay-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.home-page .stay-card{min-height:158px}
@media(max-width:820px){.home-page .stay-type-section .stay-grid{grid-template-columns:1fr 1fr}}
@media(max-width:520px){.home-page .stay-type-section .stay-grid{grid-template-columns:1fr}}

/* premium band */
.home-page .premium-band{margin-top:78px;border-radius:0;color:#DCE9F4;padding:70px 0 76px;background:radial-gradient(900px 420px at 85% -10%,rgba(181,43,80,.28),transparent 60%),radial-gradient(700px 380px at 0% 110%,rgba(70,120,165,.35),transparent 55%),linear-gradient(160deg,#143A5C,#0A223A)!important;border:0;box-shadow:none}
.home-page .premium-band .premium-eyebrow{color:#F0A9BC}
.home-page .premium-band h2{color:#fff!important}
.home-page .premium-band h2 b{color:#F3B7C6!important}
.home-page .premium-band .premium-heading p{margin:10px 0 0;color:#AFC9DE;font-size:15.5px;max-width:520px}
.home-page .premium-band .premium-section-head>a{background:transparent;border-color:rgba(255,255,255,.35);color:#fff}
.home-page .premium-band .premium-section-head>a:hover{border-color:#F0A9BC;color:#F3C3CF}
.home-page .premium-heading{display:flex;gap:18px;align-items:flex-start}
.home-page .premium-crown{width:52px;height:52px;flex:none;border-radius:14px;display:grid;place-items:center;font-size:26px;line-height:1;color:#FFD9E1;background:linear-gradient(145deg,var(--rd-rose),#8F173A);box-shadow:0 12px 26px rgba(159,18,57,.45)}
.home-page .premium-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
@media(max-width:1080px){.home-page .premium-grid{grid-template-columns:1fr 1fr}}
@media(max-width:560px){.home-page .premium-grid{grid-template-columns:1fr}.home-page .premium-heading{gap:14px}}
.home-page .premium-hotel-card{display:flex;flex-direction:column;min-width:0;overflow:hidden;background:#fff;border:1px solid var(--rd-line);border-radius:16px;box-shadow:none;transition:transform .25s ease,box-shadow .25s ease}
.home-page .premium-hotel-card:hover{transform:translateY(-5px);box-shadow:0 14px 34px rgba(18,59,93,.12)}
.home-page .premium-photo{position:relative;display:block;aspect-ratio:16/10;overflow:hidden;background:#EDF2F7;height:auto}
.home-page .premium-photo img{width:100%;height:100%;object-fit:cover;transition:transform .6s cubic-bezier(.2,.7,.2,1)}
.home-page .premium-hotel-card:hover .premium-photo img{transform:scale(1.05)}
.home-page .premium-badge{position:absolute;right:12px;top:12px;left:auto;background:var(--rd-rose);color:#fff;font-size:11px;font-weight:800;letter-spacing:1px;text-transform:uppercase;padding:5px 10px;border-radius:7px}
.home-page .premium-heart{display:none}
.home-page .premium-body{display:flex;flex-direction:column;flex:1;padding:18px 18px 16px}
.home-page .premium-body h3{font-family:'Playfair Display',Georgia,serif;font-size:20px;font-weight:600;line-height:1.28;margin:0 0 7px;color:var(--rd-ink);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.home-page .premium-body h3 a{color:inherit;text-decoration:none}
.home-page .premium-body h3 a:hover{color:var(--rd-rose)}
.home-page .premium-location{font-size:12.5px;font-weight:600;color:var(--rd-muted);margin-bottom:10px}
.home-page .premium-rating{font-size:13px;color:var(--rd-muted);margin-bottom:14px}
.home-page .premium-rating b{color:var(--rd-ink)}
.home-page .premium-cta{margin-top:auto;display:flex;align-items:center;justify-content:space-between;gap:8px;min-height:44px;border-top:1px solid #E8EDF2;padding-top:13px;font-size:14px;font-weight:700;color:var(--rd-navy);text-decoration:none}
.home-page .premium-cta:hover{color:var(--rd-rose)}
.home-page .premium-band .premium-section-head>a{color:#fff!important;background:transparent!important;border-color:rgba(255,255,255,.4)!important}
.home-page .premium-band .premium-section-head>a:hover{color:#F3C3CF!important;border-color:#F0A9BC!important}
.home-page .premium-badge{width:auto!important;left:auto!important;right:12px!important;top:12px!important;display:inline-flex!important;align-items:center;gap:5px;white-space:nowrap}
.home-page .premium-cta{background:none!important;color:var(--rd-navy)!important;box-shadow:none!important;border-radius:0!important;padding:13px 0 0!important;width:auto!important}
.home-page .premium-cta:hover{color:var(--rd-rose)!important}
.home-page .stay-type-section .stay-card{min-height:158px!important;height:auto!important}
.home-page .destinations-section .destination-card{min-height:238px!important;height:auto!important}
@media(max-width:520px){.home-page .destinations-section .destination-card{min-height:200px!important}.home-page .stay-type-section .stay-card{min-height:140px!important}}

/* ===== Stage 3: directory, hotel cards, tour banner, explore cards, owner band ===== */
.home-page .home-directory{padding-top:78px;background:none}
.home-page .directory-intro{display:flex;justify-content:space-between;align-items:flex-end;gap:22px;margin-bottom:30px}
.home-page .directory-intro h2{font-family:'Playfair Display',Georgia,serif;font-weight:600;font-size:clamp(29px,3.4vw,40px);line-height:1.15;margin:12px 0 0;letter-spacing:-.3px;color:var(--rd-ink)}
.home-page .directory-intro h2 b{font-weight:600;color:var(--rd-rose)}
.home-page .directory-intro>div>p{margin:10px 0 0;color:var(--rd-muted);font-size:15.5px;max-width:520px}
.home-page #catalogCount{display:inline-flex;flex:none;margin:0;padding:11px 18px;border:1.5px solid var(--rd-line);border-radius:999px;background:#fff;color:var(--rd-navy);font-size:14.5px;font-weight:700}
@media(max-width:640px){.home-page .directory-intro{flex-direction:column;align-items:flex-start}}

.home-page .directory-layout{display:grid!important;grid-template-columns:264px minmax(0,1fr);gap:26px;align-items:start}
@media(max-width:980px){.home-page .directory-layout{grid-template-columns:1fr!important}}

/* filters */
.home-page .filters{position:sticky;top:92px;background:#fff;border:1px solid var(--rd-line);border-radius:16px;padding:20px 18px 18px;box-shadow:0 2px 10px rgba(18,59,93,.06);margin:0}
@media(max-width:980px){.home-page .filters{position:static;z-index:auto;box-shadow:none}}
.home-page .filter-title{display:flex;justify-content:space-between;align-items:center;margin-bottom:14px}
.home-page .filter-title h3{margin:0;font-size:16px;font-weight:800;color:var(--rd-ink)}
.home-page .filter-title .text-button{border:0;background:none;color:var(--rd-rose);font-weight:700;font-size:13.5px;cursor:pointer;padding:8px 4px;min-height:36px;text-decoration:underline;text-underline-offset:2px}
.home-page .filters .control{display:block;margin:0 0 14px;font-size:11px;font-weight:800;letter-spacing:1px;text-transform:uppercase;color:var(--rd-muted)}
.home-page .filters .control select{display:block;width:100%;margin-top:6px;min-height:44px;padding:9px 12px;border:1.5px solid var(--rd-line);border-radius:11px;background:var(--rd-bg);color:var(--rd-ink);font-size:15px;font-weight:600;letter-spacing:0;text-transform:none}
.home-page .filters .control select:focus{border-color:var(--rd-rose);background:#fff;outline:none}
.home-page .filters fieldset{border:0;padding:0;margin:0}
.home-page .filters legend{padding:0;margin-bottom:8px;font-size:11px;font-weight:800;letter-spacing:1px;text-transform:uppercase;color:var(--rd-muted)}
.home-page .filters .check{position:relative;display:inline-flex;align-items:center;margin:0 6px 8px 0;min-height:40px;padding:8px 14px;border:1.5px solid var(--rd-line);border-radius:999px;background:var(--rd-bg);color:var(--rd-text);font-size:13.5px;font-weight:600;cursor:pointer;transition:background .15s,border-color .15s,color .15s}
.home-page .filters .check input{position:absolute;opacity:0;inset:0;width:100%;height:100%;margin:0;cursor:pointer}
.home-page .filters .check:hover{border-color:#B9C9D8}
.home-page .filters .check:has(input:checked){background:#F9ECEF;border-color:var(--rd-rose);color:var(--rd-rose)}
.home-page .filters .check:has(input:focus-visible){outline:3px solid var(--rd-rose);outline-offset:2px}

/* results bar */
.home-page .results-toolbar{display:flex;justify-content:space-between;align-items:center;gap:14px;margin:0 0 14px;font-size:14px;color:var(--rd-muted)}
.home-page .results-toolbar p{margin:0}
.home-page .sort-label{display:inline-flex;align-items:center;gap:8px;font-weight:600}
.home-page .sort-label select{min-height:44px;padding:8px 12px;border:1.5px solid var(--rd-line);border-radius:11px;background:#fff;color:var(--rd-ink);font-weight:700;font-size:14.5px}
.home-page .active-filters:empty{display:none}
.home-page .active-filters{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 16px}

/* hotel cards */
.home-page #results.cards,.home-page .listing-area .cards{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:18px!important}
@media(max-width:1180px){.home-page #results.cards,.home-page .listing-area .cards{grid-template-columns:repeat(2,minmax(0,1fr))!important}}
@media(max-width:620px){.home-page #results.cards,.home-page .listing-area .cards{grid-template-columns:1fr!important}}
.home-page .cards .card{display:flex;flex-direction:column;min-width:0;overflow:hidden;background:#fff;border:1px solid var(--rd-line);border-radius:16px;box-shadow:none;transition:transform .25s ease,box-shadow .25s ease}
.home-page .cards .card:hover{transform:translateY(-5px);box-shadow:0 14px 34px rgba(18,59,93,.12)}
.home-page .cards .card-photo{position:relative;display:block;aspect-ratio:16/10;height:auto;overflow:hidden;background:#EDF2F7}
.home-page .cards .card-photo img{width:100%;height:100%;object-fit:cover;transition:transform .6s cubic-bezier(.2,.7,.2,1)}
.home-page .cards .card:hover .card-photo img{transform:scale(1.05)}
.home-page .cards .stay-type{position:absolute;left:12px;top:12px;background:rgba(255,255,255,.94);color:#2E4D68;font-size:11.5px;font-weight:700;padding:5px 10px;border-radius:7px;letter-spacing:.2px}
.home-page .cards .card-body{display:flex;flex-direction:column;flex:1;padding:18px 18px 16px}
.home-page .cards .card-location{font-size:12.5px;font-weight:600;color:var(--rd-muted);letter-spacing:.2px}
.home-page .cards .card-body h3{font-family:'Playfair Display',Georgia,serif;font-size:20.5px;font-weight:600;line-height:1.28;margin:7px 0 8px;color:var(--rd-ink);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.home-page .cards .card-body h3 a{color:inherit;text-decoration:none}
.home-page .cards .card-body h3 a:hover{color:var(--rd-rose)}
.home-page .cards .card-description{font-size:14px;line-height:1.6;color:var(--rd-muted);margin:0 0 12px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.home-page .cards .card-facilities{display:flex;flex-wrap:wrap;gap:6px;margin:0 0 12px}
.home-page .cards .mini-tag{background:#EEF3F8;color:var(--rd-text);border-radius:6px;padding:4px 9px;font-size:12px;font-weight:600}
.home-page .cards .card-price{margin:0 0 14px;font-size:13px;font-weight:700;color:var(--rd-navy)}
.home-page .cards .card-price-none{font-weight:600;color:var(--rd-muted)}
.home-page .cards .card-bottom{margin-top:auto;border-top:1px solid #E8EDF2;padding-top:13px;display:flex;justify-content:space-between;align-items:center;gap:8px}
.home-page .cards .rating{font-size:13px;font-weight:700;color:var(--rd-muted)}
.home-page .cards .view-link{display:inline-flex;align-items:center;min-height:44px;font-size:14px;font-weight:700;color:var(--rd-navy);text-decoration:none;white-space:nowrap}
.home-page .cards .view-link:hover{color:var(--rd-rose)}

/* pagination */
.home-page .pagination{display:flex;flex-wrap:wrap;justify-content:center;gap:8px;margin:28px 0 0}
.home-page .pagination button,.home-page .pagination a{min-width:44px;min-height:44px;padding:0 14px;border:1.5px solid var(--rd-line);border-radius:11px;background:#fff;color:var(--rd-navy);font-weight:700;font-size:14.5px;cursor:pointer;text-decoration:none;display:inline-flex;align-items:center;justify-content:center}
.home-page .pagination button:hover,.home-page .pagination a:hover{border-color:var(--rd-rose);color:var(--rd-rose)}
.home-page .pagination [aria-current],.home-page .pagination .active,.home-page .pagination .current{background:var(--rd-rose);border-color:var(--rd-rose);color:#fff}

/* tour banner */
.home-page .mobile-tour-cta{display:none}
.home-page .rd-tour{display:grid;grid-template-columns:1fr 1fr;margin-top:78px;overflow:hidden;border-radius:20px;background:linear-gradient(160deg,#143A5C,#0A223A);color:#DCE9F4;box-shadow:0 24px 60px rgba(10,34,58,.22)}
.home-page .rd-tour-photo{position:relative;min-height:320px}
.home-page .rd-tour-photo img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.home-page .rd-tour-copy{padding:44px 44px 46px}
.home-page .rd-tour-copy .section-eyebrow{color:#F0A9BC}
.home-page .rd-tour-copy h2{font-family:'Playfair Display',Georgia,serif;font-weight:600;font-size:clamp(28px,3vw,38px);line-height:1.15;margin:12px 0 14px;color:#fff}
.home-page .rd-tour-copy h2 b{font-weight:600;color:#F3B7C6}
.home-page .rd-tour-copy p{margin:0 0 22px;color:#C4D6E7;font-size:16px;line-height:1.65;max-width:520px}
.home-page .rd-tour-points{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:26px}
.home-page .rd-tour-points span{display:inline-flex;align-items:center;gap:8px;padding:8px 14px;border:1px solid rgba(255,255,255,.3);border-radius:999px;font-size:13.5px;font-weight:600;color:#fff}
.home-page .rd-tour-points svg{color:#F0A9BC;flex:none}
.home-page .rd-btn{display:inline-flex;align-items:center;gap:10px;min-height:48px;padding:0 24px;border-radius:12px;background:var(--rd-rose);color:#fff;font-weight:700;font-size:15px;text-decoration:none;box-shadow:0 10px 22px rgba(159,18,57,.35);transition:background .15s,transform .15s}
.home-page .rd-btn:hover{background:var(--rd-rose-2);transform:translateY(-1px)}
@media(max-width:860px){.home-page .rd-tour{grid-template-columns:1fr}.home-page .rd-tour-photo{min-height:230px}.home-page .rd-tour-copy{padding:30px 24px 32px}}

/* explore cards */
.home-page .explore-section{padding-top:74px}
.home-page .rd-explore-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
@media(max-width:640px){.home-page .rd-explore-grid{grid-template-columns:1fr}}
.home-page .rd-explore-card{display:flex;flex-direction:column;overflow:hidden;border:1px solid var(--rd-line);border-radius:16px;background:#fff;text-decoration:none;color:inherit;transition:transform .25s ease,box-shadow .25s ease}
.home-page .rd-explore-card:hover{transform:translateY(-5px);box-shadow:0 14px 34px rgba(18,59,93,.12)}
.home-page .rd-ex-photo{display:block;aspect-ratio:16/9;overflow:hidden;background:#EDF2F7}
.home-page .rd-ex-photo img{width:100%;height:100%;object-fit:cover;transition:transform .6s cubic-bezier(.2,.7,.2,1)}
.home-page .rd-explore-card:hover .rd-ex-photo img{transform:scale(1.05)}
.home-page .rd-ex-body{display:flex;flex-direction:column;gap:6px;padding:18px 20px 20px}
.home-page .rd-ex-body strong{font-family:'Playfair Display',Georgia,serif;font-size:20px;font-weight:600;color:var(--rd-ink)}
.home-page .rd-ex-body>span{font-size:14.5px;line-height:1.55;color:var(--rd-muted)}
.home-page .rd-ex-body .rd-ex-link{margin-top:6px;font-weight:700;color:var(--rd-rose);display:inline-flex;gap:6px;align-items:center;min-height:32px}

/* owner band */
.home-page .owner-band{margin-top:78px;margin-bottom:40px;border-radius:20px;background:linear-gradient(135deg,#FFF 0%,#F9ECEF 100%);border:1px solid #F0D2DA;box-shadow:none;padding:0}
.home-page .owner-band .owner-inner{display:flex;align-items:center;gap:22px;padding:30px 34px;flex-wrap:wrap}
.home-page .owner-banner-icon{width:64px;height:64px;flex:none;border-radius:16px;display:grid;place-items:center;background:linear-gradient(145deg,var(--rd-rose),#8F173A);color:#FFD9E1}
.home-page .owner-banner-icon svg{width:34px;height:34px}
.home-page .owner-banner-copy{flex:1;min-width:220px}
.home-page .owner-banner-copy h2{margin:0;font-family:'Playfair Display',Georgia,serif;font-size:26px;font-weight:600;color:var(--rd-ink)}
.home-page .owner-banner-copy p{margin:6px 0 0;color:var(--rd-muted);font-size:15.5px}
.home-page .owner-inner>a{display:inline-flex;align-items:center;gap:10px;min-height:48px;padding:0 24px;border-radius:12px;background:var(--rd-rose)!important;color:#fff!important;font-weight:700;font-size:15px;text-decoration:none;box-shadow:0 10px 22px rgba(159,18,57,.3)}
.home-page .owner-inner>a:hover{background:var(--rd-rose-2)!important}
.home-page .listing-area{min-width:0}
.home-page .results-toolbar>*{min-width:0}
.home-page .sort-label select{max-width:100%}
