/*
Theme Name: Hello Elementor Child
Template: hello-elementor
Version: 3.1.0
*/

/* ===== FONTS ===== */
@font-face{font-family:'Fraunces';font-weight:400;font-style:normal;font-display:swap;src:url('fonts/Fraunces-w400-latin.woff2') format('woff2');}
@font-face{font-family:'Fraunces';font-weight:500;font-style:normal;font-display:swap;src:url('fonts/Fraunces-w500-latin.woff2') format('woff2');}
@font-face{font-family:'Fraunces';font-weight:600;font-style:normal;font-display:swap;src:url('fonts/Fraunces-w600-latin.woff2') format('woff2');}
@font-face{font-family:'Hanken Grotesk';font-weight:400;font-style:normal;font-display:swap;src:url('fonts/Hanken_Grotesk-w400-latin.woff2') format('woff2');}
@font-face{font-family:'Hanken Grotesk';font-weight:500;font-style:normal;font-display:swap;src:url('fonts/Hanken_Grotesk-w500-latin.woff2') format('woff2');}
@font-face{font-family:'Hanken Grotesk';font-weight:600;font-style:normal;font-display:swap;src:url('fonts/Hanken_Grotesk-w600-latin.woff2') format('woff2');}
@font-face{font-family:'Hanken Grotesk';font-weight:700;font-style:normal;font-display:swap;src:url('fonts/Hanken_Grotesk-w700-latin.woff2') format('woff2');}
@font-face{font-family:'Space Mono';font-weight:400;font-style:normal;font-display:swap;src:url('fonts/Space_Mono-w400-latin.woff2') format('woff2');}
@font-face{font-family:'Space Mono';font-weight:700;font-style:normal;font-display:swap;src:url('fonts/Space_Mono-w700-latin.woff2') format('woff2');}

/* ===== BASE ===== */
body{
  font-family:'Hanken Grotesk',system-ui,sans-serif; color:#2C2620;
  background:
    radial-gradient(40% 50% at 84% 8%, rgba(194,160,107,.16), transparent 70%),
    radial-gradient(46% 56% at 4% 92%, rgba(154,164,135,.14), transparent 74%),
    linear-gradient(180deg,#FBF8F1 0%,#F6EEDE 60%,#F1E8D7 100%);
}
@keyframes rs-float{0%,100%{transform:translateY(-8px);}50%{transform:translateY(12px);}}
.elementor-widget-heading .elementor-heading-title{ font-family:'Fraunces',Georgia,serif; font-weight:500; letter-spacing:-.012em; color:#23805F; }

/* ===== EYEBROW / SECTION HEAD ===== */
.rs-eyebrow,.rs-eyebrow p{ font-family:'Space Mono',monospace!important; font-size:11px!important; font-weight:700!important; letter-spacing:.3em!important; text-transform:uppercase!important; color:#A8854E!important; margin:0 0 14px!important; }
.rs-section-head{ text-align:center; max-width:640px; margin:0 auto 48px; }
.rs-section-head .elementor-heading-title{ font-size:clamp(30px,4.4vw,52px); line-height:1.06; }
.rs-section-head .elementor-widget-text-editor{ font-size:clamp(17px,1.6vw,20px); color:#473e30; line-height:1.55; margin-top:16px; }

/* ===== HEADER / NAV ===== */
.rs-nav{ position:relative; z-index:60; margin-top:14px; }
.rs-nav-inner{ max-width:1160px; margin:0 auto; padding:10px 18px 10px 22px; display:flex; align-items:center; gap:18px;
  border:1px solid rgba(255,255,255,.55); border-radius:99px; -webkit-backdrop-filter:blur(16px) saturate(1.7); backdrop-filter:blur(16px) saturate(1.7);
  background:rgba(255,255,255,.34); box-shadow:0 10px 30px rgba(58,44,24,.12),inset 1.4px 1.4px 1.4px rgba(255,255,255,.95),inset -1.6px -1.6px 2px rgba(255,255,255,.3),inset 0 0 30px rgba(255,255,255,.1); }
.rs-logo{ display:flex; align-items:center; gap:10px; font-family:'Fraunces',Georgia,serif; font-size:21px; font-weight:600; color:#2C2620; text-decoration:none; }
.rs-logo-dot{ width:13px; height:13px; border-radius:50%; background:radial-gradient(circle at 34% 30%,#fff,#C2A06B 78%); box-shadow:0 0 12px rgba(194,160,107,.6); }
.rs-nav-links{ display:flex; gap:26px; margin-left:auto; }
.rs-nav-links a{ font-size:14px; color:#5a5142; font-weight:500; text-decoration:none; font-family:'Hanken Grotesk',sans-serif; transition:color .2s; }
.rs-nav-links a:hover{ color:#2C2620; }
.rs-nav-cta,a.rs-nav-cta{ margin-left:6px; font-weight:600; font-size:14px; padding:12px 22px; border-radius:99px; color:#fff!important; text-decoration:none;
  background:linear-gradient(135deg,#15756F,#23805F); font-family:'Hanken Grotesk',sans-serif; display:inline-block; transition:transform .2s;
  box-shadow:0 16px 46px rgba(58,44,24,.16),inset 0 1px 0 rgba(255,255,255,.4),0 0 24px rgba(35,128,95,.3); }
.rs-nav-cta:hover{ transform:translateY(-2px); }

/* ===== HERO ===== */
.rs-hero{ position:relative; overflow:hidden; min-height:92vh; }
.rs-hero-bg{ position:absolute; inset:0; z-index:1; pointer-events:none; }
.rs-hero-grid{ position:absolute; top:0; left:0; width:100%; height:55%; opacity:.5;
  background-image:repeating-linear-gradient(90deg,rgba(168,133,78,.10) 0 1px,transparent 1px 13px);
  -webkit-mask-image:linear-gradient(180deg,transparent,#000 40%,transparent); mask-image:linear-gradient(180deg,transparent,#000 40%,transparent); }
.rs-scene{ position:absolute; bottom:0; left:0; width:100%; height:min(46vh,380px); }
.rs-moon{ position:absolute; z-index:3; left:62%; top:24%; width:clamp(160px,20vw,250px); aspect-ratio:1; animation:rs-float 9s ease-in-out infinite; pointer-events:none; }
.rs-moon-body{ width:100%; height:100%; border-radius:50%;
  background:radial-gradient(circle at 34% 28%,rgba(255,255,255,.98),rgba(255,255,255,.32) 24%,rgba(255,252,246,.05) 52%,transparent 70%),radial-gradient(circle at 72% 78%,rgba(194,160,107,.34),transparent 54%),radial-gradient(circle at 50% 50%,rgba(130,166,182,.12),rgba(255,255,255,.02));
  box-shadow:inset 0 0 40px rgba(255,255,255,.55),inset 0 -8px 28px rgba(194,160,107,.24),0 30px 70px rgba(58,44,24,.22),0 0 90px rgba(255,247,232,.5); border:1px solid rgba(255,255,255,.55); }
.rs-moon-glow{ position:absolute; left:8%; top:104%; width:84%; height:46%; border-radius:50%; background:radial-gradient(circle at 50% 0%,rgba(255,247,232,.5),rgba(194,160,107,.12) 40%,transparent 66%); filter:blur(7px); opacity:.6; }
.rs-hero-copy{ position:relative; z-index:4; }
.rs-hero-badge-icon,.rs-hero-badge-icon p{ display:inline-grid!important; place-items:center; width:30px; height:30px; border-radius:7px; background:linear-gradient(135deg,#C25E36,#9C3F1F); color:#FBEFE4!important; font-family:'Fraunces',serif!important; font-size:13px!important; font-weight:600!important; margin:0!important; line-height:30px!important; }
.rs-hero-badge-text,.rs-hero-badge-text p{ font-family:'Space Mono',monospace!important; font-size:11px!important; font-weight:700!important; letter-spacing:.3em!important; text-transform:uppercase!important; color:#A8854E!important; margin:0!important; }
.rs-hero-copy .elementor-heading-title{ font-family:'Fraunces',Georgia,serif!important; font-weight:400!important; color:#2C2620!important; font-size:clamp(40px,6vw,82px)!important; line-height:1.02!important; max-width:15ch; }
.rs-hero-copy .elementor-heading-title em{ font-style:italic; color:#A8854E; }
.rs-hero-sub,.rs-hero-sub p{ font-size:clamp(17px,1.6vw,20px)!important; color:#473e30!important; line-height:1.55!important; max-width:44ch; margin:22px 0 30px!important; }

/* ===== BUTTONS ===== */
.rs-btn .elementor-button{ background:linear-gradient(135deg,#15756F,#23805F)!important; color:#fff!important; border:none!important; border-radius:99px!important; padding:14px 28px!important; font-weight:600!important; font-family:'Hanken Grotesk',sans-serif!important; box-shadow:0 16px 46px rgba(58,44,24,.16),inset 0 1px 0 rgba(255,255,255,.4),0 0 24px rgba(35,128,95,.3)!important; transition:transform .2s; }
.rs-btn-outline .elementor-button{ background:rgba(255,255,255,.45)!important; color:#23805F!important; border:1px solid rgba(35,128,95,.35)!important; border-radius:99px!important; padding:14px 28px!important; font-weight:600!important; font-family:'Hanken Grotesk',sans-serif!important; -webkit-backdrop-filter:blur(12px) saturate(1.7); backdrop-filter:blur(12px) saturate(1.7); box-shadow:0 16px 46px rgba(58,44,24,.16),inset 1.4px 1.4px 1.4px rgba(255,255,255,.9)!important; transition:transform .2s; }
.rs-btn .elementor-button:hover,.rs-btn-outline .elementor-button:hover{ transform:translateY(-2px); }

/* ===== WHY-NOW (target via :has) ===== */
.e-con:has(> .e-con-inner > .rs-deadline-card){ }  /* placeholder */
.rs-why-statement,.rs-why-statement p{ font-family:'Fraunces',serif!important; font-weight:400!important; font-size:clamp(24px,3vw,38px)!important; line-height:1.18!important; color:#2C2620!important; margin:0!important; }
.rs-why-statement b{ color:#23805F; font-weight:500; }
.rs-deadline-card{ border:1px solid rgba(255,255,255,.6); border-radius:26px; padding:42px!important; text-align:center; -webkit-backdrop-filter:blur(13px) saturate(1.7) brightness(1.04); backdrop-filter:blur(13px) saturate(1.7) brightness(1.04); background:rgba(255,255,255,.36); box-shadow:0 16px 46px rgba(58,44,24,.16),inset 1.4px 1.4px 1.4px rgba(255,255,255,.95),inset -1.6px -1.6px 2px rgba(255,255,255,.3),inset 0 0 30px rgba(255,255,255,.1); }
.rs-deadline-year,.rs-deadline-year p{ font-family:'Fraunces',serif!important; font-size:clamp(66px,10vw,120px)!important; line-height:1!important; color:#A8854E!important; margin:0!important; }
.rs-deadline-label,.rs-deadline-label p{ font-family:'Space Mono',monospace!important; font-size:12px!important; letter-spacing:.14em!important; text-transform:uppercase!important; color:#7A7164!important; margin:12px 0 0!important; }

/* ===== GLASS CARDS (Product) — :has hook rs-step-label ===== */
.rs-glass-card,
.e-con:has(> .e-con-inner > .rs-step-label){
  border:1px solid rgba(255,255,255,.6)!important; border-radius:26px!important; -webkit-backdrop-filter:blur(13px) saturate(1.7) brightness(1.04); backdrop-filter:blur(13px) saturate(1.7) brightness(1.04); background:rgba(255,255,255,.16)!important;
  box-shadow:0 16px 46px rgba(58,44,24,.16),inset 1.4px 1.4px 1.4px rgba(255,255,255,.95),inset -1.6px -1.6px 2px rgba(255,255,255,.3),inset 0 0 30px rgba(255,255,255,.1)!important;
}
.rs-glass-card > .e-con-inner,
.e-con:has(> .e-con-inner > .rs-step-label) > .e-con-inner{ padding:32px 28px!important; }
.rs-icon-dot{ width:44px; height:44px; border-radius:50%; margin-bottom:18px; background:radial-gradient(circle at 34% 30%,#fff,#C2A06B 82%); box-shadow:0 0 20px rgba(194,160,107,.5),inset 0 1px 1px rgba(255,255,255,.85); }
.rs-step-label,.rs-step-label p{ font-family:'Space Mono',monospace!important; font-size:11px!important; color:#A8854E!important; letter-spacing:.2em!important; margin:0 0 12px!important; }
.rs-glass-card .elementor-heading-title{ font-size:22px!important; margin-bottom:10px; }

/* ===== PHOTO CARDS (Hotels) ===== */
.rs-photo-card,
.e-con:has(> .e-con-inner > .elementor-widget-html .rs-photo-bg){
  border:1px solid rgba(255,255,255,.5)!important; border-radius:26px!important; overflow:hidden!important; position:relative!important; min-height:440px!important;
  box-shadow:0 16px 46px rgba(58,44,24,.16),inset 1.4px 1.4px 1.4px rgba(255,255,255,.95),inset -1.6px -1.6px 2px rgba(255,255,255,.3)!important;
}
.rs-photo-card > .e-con-inner,
.e-con:has(> .e-con-inner > .elementor-widget-html .rs-photo-bg) > .e-con-inner{ position:relative; z-index:2; display:flex; flex-direction:column; justify-content:flex-end; min-height:440px; padding:32px!important; }
.rs-photo-card .elementor-widget-html,
.e-con:has(> .e-con-inner > .elementor-widget-html .rs-photo-bg) .elementor-widget-html{ position:absolute; inset:0; z-index:0; }
.rs-photo-bg{ position:absolute; inset:0; z-index:0; }
.rs-photo-line{ position:absolute; left:0; right:0; top:40%; height:1px; z-index:1; background:linear-gradient(90deg,transparent,rgba(194,160,107,.5),transparent); }
.rs-photo-fade{ position:absolute; inset:0; z-index:1; -webkit-backdrop-filter:blur(2px) saturate(1.4); backdrop-filter:blur(2px) saturate(1.4); background:linear-gradient(180deg,rgba(250,246,239,.05) 0%,rgba(250,246,239,.18) 52%,rgba(250,246,239,.62) 100%); }
.rs-photo-tag,.rs-photo-tag p{ font-family:'Space Mono',monospace!important; font-size:11px!important; letter-spacing:.2em!important; text-transform:uppercase!important; color:#A8854E!important; margin:0 0 10px!important; }
.rs-photo-card .elementor-heading-title{ font-size:23px!important; color:#2C2620!important; margin-bottom:10px; }

/* ===== MARKET (dark) — section :has rs-stat-num ===== */
.rs-market-section,
.e-con.e-parent:has(.rs-stat-num){
  background:
    radial-gradient(50% 70% at 80% 10%, rgba(194,160,107,.40), transparent 72%),
    radial-gradient(46% 60% at 12% 90%, rgba(21,117,111,.42), transparent 74%),
    radial-gradient(34% 42% at 92% 92%, rgba(130,166,182,.28), transparent 74%),
    linear-gradient(150deg,#0E2723,#103530 55%,#0B201C)!important;
}
.e-con.e-parent:has(.rs-stat-num) .rs-eyebrow{ color:#E2C896!important; }
.e-con.e-parent:has(.rs-stat-num) .elementor-heading-title{ color:#F6EFE2!important; }
.e-con.e-parent:has(.rs-stat-num) .rs-section-head .elementor-widget-text-editor{ color:rgba(246,239,226,.78)!important; }
.rs-stat-card,
.e-con:has(> .e-con-inner > .rs-stat-num){
  border-radius:26px!important; background:rgba(255,255,255,.1)!important; border:1px solid rgba(255,255,255,.28)!important; -webkit-backdrop-filter:blur(13px) saturate(1.7); backdrop-filter:blur(13px) saturate(1.7); box-shadow:0 16px 46px rgba(0,0,0,.22)!important;
}
.rs-stat-card > .e-con-inner,
.e-con:has(> .e-con-inner > .rs-stat-num) > .e-con-inner{ padding:36px 30px!important; }
.rs-stat-num,.rs-stat-num p{ font-family:'Fraunces',serif!important; font-size:clamp(38px,5vw,56px)!important; line-height:1!important; color:#E2C896!important; margin:0!important; }
.rs-stat-label,.rs-stat-label p{ font-size:14px!important; color:rgba(246,239,226,.82)!important; margin:12px 0 0!important; }
.rs-stat-detail,.rs-stat-detail p{ font-family:'Space Mono',monospace!important; font-size:11px!important; letter-spacing:.14em!important; text-transform:uppercase!important; color:rgba(226,200,150,.7)!important; margin:8px 0 0!important; }

/* ===== CTA — :has hook rs-cta-sub ===== */
.rs-cta-card,
.e-con:has(> .e-con-inner > .rs-cta-sub){
  border:1px solid rgba(255,255,255,.6)!important; border-radius:34px!important; overflow:hidden; position:relative; text-align:center;
  -webkit-backdrop-filter:blur(14px) saturate(1.7); backdrop-filter:blur(14px) saturate(1.7);
  background:radial-gradient(60% 80% at 78% 0%,rgba(194,160,107,.22),transparent 70%),radial-gradient(50% 70% at 6% 100%,rgba(154,164,135,.20),transparent 72%),rgba(255,255,255,.4)!important;
  box-shadow:0 16px 46px rgba(58,44,24,.16),inset 1.4px 1.4px 1.4px rgba(255,255,255,.95),inset -1.6px -1.6px 2px rgba(255,255,255,.3)!important;
}
.rs-cta-card > .e-con-inner,
.e-con:has(> .e-con-inner > .rs-cta-sub) > .e-con-inner{ padding:clamp(44px,6vw,72px)!important; }
.rs-cta-orb{ width:84px; height:84px; margin:0 auto 24px; border-radius:50%; animation:rs-float 9s ease-in-out infinite; background:radial-gradient(circle at 34% 28%,rgba(255,255,255,.98),rgba(255,255,255,.32) 24%,rgba(255,252,246,.05) 52%,transparent 70%),radial-gradient(circle at 72% 78%,rgba(194,160,107,.34),transparent 54%),radial-gradient(circle at 50% 50%,rgba(130,166,182,.12),rgba(255,255,255,.02)); box-shadow:inset 0 0 40px rgba(255,255,255,.55),inset 0 -8px 28px rgba(194,160,107,.24),0 30px 70px rgba(58,44,24,.22),0 0 90px rgba(255,247,232,.5); border:1px solid rgba(255,255,255,.55); }
.rs-cta-sub,.rs-cta-sub p{ font-size:17px!important; color:#473e30!important; max-width:44ch; margin:16px auto 28px!important; }
.rs-cta-footnote,.rs-cta-footnote p{ font-family:'Space Mono',monospace!important; font-size:11px!important; letter-spacing:.08em!important; color:#7A7164!important; margin-top:20px!important; }
.rs-pilot-form{ display:flex; gap:12px; max-width:480px; margin:0 auto; flex-wrap:wrap; justify-content:center; }
.rs-pilot-form input{ flex:1; min-width:220px; padding:14px 18px; border-radius:99px; border:1px solid rgba(44,38,32,.18); background:rgba(255,255,255,.6); font-family:'Hanken Grotesk',sans-serif; font-size:15px; color:#2C2620; outline:none; }
.rs-btn-native{ background:linear-gradient(135deg,#15756F,#23805F); color:#fff; border:none; border-radius:99px; padding:14px 26px; font-weight:600; font-family:'Hanken Grotesk',sans-serif; cursor:pointer; box-shadow:0 0 24px rgba(35,128,95,.3); }
.rs-pilot-thanks{ font-family:'Fraunces',serif; font-style:italic; font-size:22px; color:#23805F; }

/* ===== FOOTER ===== */
.rs-footer-inner{ font-family:'Space Mono',monospace; font-size:12px; letter-spacing:.06em; color:#7A7164; border-top:1px solid rgba(168,133,78,.28); padding-top:40px; }
.rs-footer-brand{ display:inline-flex; align-items:center; gap:12px; color:#2C2620; font-weight:700; }
.rs-footer-mark{ display:inline-grid; place-items:center; width:24px; height:24px; border-radius:7px; background:linear-gradient(135deg,#C25E36,#9C3F1F); color:#FBEFE4; font-family:'Fraunces',serif; font-size:11px; font-weight:600; }
.rs-footer-inner a{ color:#7A7164; } .rs-footer-inner a:hover{ color:#2C2620; }

/* ===== RESPONSIVE ===== */
@media (max-width:880px){
  .rs-moon{ left:auto; right:6%; top:18%; }
}


/* ============================================================
   HERO RESPONSIVE + SEAM FIXES
   ============================================================ */

/* --- Remove seam/line between header and hero --- */
/* Kill any bottom border/margin on the header area and top border on hero */
.rs-hero{ margin-top:-1px; border-top:none!important; }
/* Hello Elementor sometimes adds a header wrapper border */
header.site-header, .elementor-location-header{ border:none!important; box-shadow:none!important; }
/* ensure page background continues seamlessly under the sticky header */
.elementor-location-header{ background:transparent!important; }

/* --- Give hero copy breathing room so text never overlaps the waves --- */
.rs-hero-copy{
  padding-bottom:180px!important;   /* keeps text clear of the wave horizon */
}
/* the waves sit at the very bottom; make sure they stay behind text */
.rs-scene{ z-index:1!important; }
.rs-hero-copy{ z-index:4!important; }

/* --- Responsive: tablet --- */
@media (max-width:1024px){
  .rs-hero{ min-height:auto!important; padding-bottom:40px; }
  .rs-hero-copy{ padding-bottom:220px!important; }
  .rs-moon{ left:auto!important; right:4%!important; top:14%!important; width:clamp(120px,22vw,190px)!important; }
  .rs-hero-copy .elementor-heading-title{ font-size:clamp(34px,7vw,60px)!important; max-width:100%!important; }
}

/* --- Responsive: mobile --- */
@media (max-width:768px){
  .rs-hero-copy{ padding-bottom:200px!important; }
  .rs-hero-copy .elementor-heading-title{ font-size:clamp(30px,9vw,44px)!important; }
  .rs-hero-sub, .rs-hero-sub p{ max-width:100%!important; font-size:16px!important; }
  /* move the bubble smaller and higher so it doesn't sit on the text */
  .rs-moon{ right:2%!important; top:8%!important; width:clamp(96px,26vw,150px)!important; opacity:.9; }
  /* waves shorter on mobile */
  .rs-scene{ height:min(34vh,260px)!important; }
  .rs-hero-grid{ height:45%!important; }
  /* stack CTA buttons full width */
  .rs-hero-ctas{ flex-direction:column!important; align-items:flex-start!important; }
  .rs-hero-ctas .rs-btn, .rs-hero-ctas .rs-btn-outline{ width:100%; }
  .rs-hero-ctas .elementor-button{ width:100%; justify-content:center; }
}

/* --- Very small phones --- */
@media (max-width:420px){
  .rs-moon{ top:6%!important; right:0!important; width:110px!important; }
  .rs-hero-copy{ padding-bottom:170px!important; }
}


/* ============================================================
   HERO SLIDER (Elementor container-based, crossfade + Ken Burns)
   ============================================================ */
.rs-hslider{ position:relative; overflow:hidden; }

/* all slides stack in the same spot; only .active shows */
.rs-hslider > .rs-slide{
  position:absolute!important; inset:0; width:100%;
  opacity:0; visibility:hidden; transition:opacity 1.2s ease; z-index:1;
}
/* first slide establishes height (not absolute) */
.rs-hslider > .rs-slide:first-of-type{ position:relative!important; }
.rs-hslider > .rs-slide.active{ opacity:1; visibility:visible; z-index:2; }

/* Ken Burns zoom on active photo bg */
.rs-slide-photo-bg{
  position:absolute!important; inset:0!important; z-index:0;
  background-size:cover!important; background-position:center!important;
  transform:scale(1.0);
}
.rs-slide.active .rs-slide-photo-bg{ animation:rs-kb 9s ease-in-out forwards; }
@keyframes rs-kb{ from{transform:scale(1.0);} to{transform:scale(1.08);} }

/* dark overlay for readability on photo slides */
.rs-slide-overlay{
  position:absolute; inset:0; z-index:1;
  background:linear-gradient(180deg,rgba(14,39,35,.05) 0%,rgba(14,39,35,.30) 50%,rgba(11,32,28,.82) 100%);
}

/* caption text on photo slides */
.rs-slide-caption{ position:relative; z-index:3; }
.rs-slide-tag,.rs-slide-tag p{ font-family:'Space Mono',monospace!important; font-size:11px!important; font-weight:700!important; letter-spacing:.3em!important; text-transform:uppercase!important; color:#E2C896!important; margin:0 0 14px!important; }
.rs-slide-title-h .elementor-heading-title{ font-family:'Fraunces',serif!important; font-weight:500!important; color:#fff!important; font-size:clamp(28px,4vw,44px)!important; line-height:1.12!important; }
.rs-slide-text-p,.rs-slide-text-p p{ color:rgba(255,255,255,.86)!important; font-size:16px!important; line-height:1.55!important; max-width:36ch; margin:14px 0 0!important; }

/* caption entrance animation */
.rs-slide .rs-slide-tag,.rs-slide .rs-slide-title-h,.rs-slide .rs-slide-text-p{ opacity:0; transform:translateY(14px); }
.rs-slide.active .rs-slide-tag{ opacity:1; transform:none; transition:opacity .7s ease .3s, transform .7s ease .3s; }
.rs-slide.active .rs-slide-title-h{ opacity:1; transform:none; transition:opacity .7s ease .42s, transform .7s ease .42s; }
.rs-slide.active .rs-slide-text-p{ opacity:1; transform:none; transition:opacity .7s ease .54s, transform .7s ease .54s; }

/* nav bar (dots + arrows) */
.rs-hslider-nav{
  position:absolute; right:clamp(20px,4vw,48px); bottom:clamp(20px,4vw,40px); z-index:20;
  display:flex; align-items:center; gap:16px; padding:8px 14px; border-radius:99px;
  background:rgba(255,255,255,.16); -webkit-backdrop-filter:blur(14px) saturate(1.6); backdrop-filter:blur(14px) saturate(1.6);
  border:1px solid rgba(255,255,255,.35);
}
.rs-hs-arrow{ width:30px; height:30px; border-radius:50%; border:none; background:rgba(255,255,255,.18); color:#fff; font-size:18px; line-height:1; cursor:pointer; display:grid; place-items:center; transition:background .2s; }
.rs-hs-arrow:hover{ background:rgba(255,255,255,.34); }
.rs-hs-dots{ display:flex; gap:8px; }
.rs-hs-dot{ width:7px; height:7px; border-radius:50%; border:none; background:rgba(255,255,255,.45); cursor:pointer; padding:0; transition:width .25s,background .25s; }
.rs-hs-dot.active{ background:#C2A06B; width:20px; border-radius:4px; }

/* nav bar on the hero (slide 1) needs darker dots since bg is light */
.rs-slide-hero ~ .rs-hslider-nav{ }  /* nav is shared; keep light — sits over photos mostly */


/* ============================================================
   GLASS ENHANCEMENT — richer, more premium cards
   ============================================================ */

/* Stronger, more luminous glass base for ALL card types */
.rs-glass-card,
.rs-deadline-card,
.rs-stat-card,
.rs-photo-card,
.e-con:has(> .e-con-inner > .rs-step-label),
.e-con:has(> .e-con-inner > .rs-deadline-year),
.e-con:has(> .e-con-inner > .rs-stat-num),
.e-con:has(> .e-con-inner > .elementor-widget-html .rs-photo-bg){
  position:relative!important;
  border:1px solid rgba(255,255,255,.7)!important;
  border-radius:26px!important;
  -webkit-backdrop-filter:blur(18px) saturate(1.9) brightness(1.06)!important;
  backdrop-filter:blur(18px) saturate(1.9) brightness(1.06)!important;
  background:linear-gradient(135deg, rgba(255,255,255,.5), rgba(255,255,255,.18))!important;
  box-shadow:
    0 20px 50px rgba(58,44,24,.20),
    inset 1.6px 1.6px 1.6px rgba(255,255,255,1),
    inset -1.8px -1.8px 3px rgba(255,255,255,.35),
    inset 0 0 40px rgba(255,255,255,.15)!important;
}

/* Add a soft top-edge sheen (the highlight that reads as "glass") */
.rs-glass-card::before,
.rs-deadline-card::before,
.rs-stat-card::before,
.e-con:has(> .e-con-inner > .rs-step-label)::before,
.e-con:has(> .e-con-inner > .rs-deadline-year)::before,
.e-con:has(> .e-con-inner > .rs-stat-num)::before{
  content:""; position:absolute; top:0; left:8%; right:8%; height:1px; border-radius:26px;
  background:linear-gradient(90deg,transparent,rgba(255,255,255,.9),transparent); pointer-events:none; z-index:1;
}

/* DEADLINE CARD — restore the glass box + center it properly */
.rs-deadline-card,
.e-con:has(> .e-con-inner > .rs-deadline-year){
  background:linear-gradient(135deg, rgba(255,255,255,.62), rgba(255,255,255,.30))!important;
  align-self:center!important;
}
.rs-deadline-card > .e-con-inner,
.e-con:has(> .e-con-inner > .rs-deadline-year) > .e-con-inner{
  padding:48px 42px!important; text-align:center!important; display:flex; flex-direction:column; align-items:center;
}

/* STAT CARDS on dark bg — keep them translucent-dark, not white */
.rs-stat-card,
.e-con:has(> .e-con-inner > .rs-stat-num){
  border:1px solid rgba(255,255,255,.32)!important;
  background:linear-gradient(135deg, rgba(255,255,255,.14), rgba(255,255,255,.05))!important;
  box-shadow:0 20px 50px rgba(0,0,0,.28), inset 1.4px 1.4px 1.4px rgba(255,255,255,.4)!important;
}

/* PHOTO CARDS — richer gradient tint + stronger glass frame */
.rs-photo-card,
.e-con:has(> .e-con-inner > .elementor-widget-html .rs-photo-bg){
  background:transparent!important;   /* photo/gradient bg lives in the inner html widget */
  border:1px solid rgba(255,255,255,.6)!important;
}
/* deepen the gradient fills so cards aren't washed out */
.rs-photo-bg{ opacity:1; }
.rs-photo-fade{
  background:linear-gradient(180deg, rgba(250,246,239,.02) 0%, rgba(250,246,239,.12) 45%, rgba(250,246,239,.55) 100%)!important;
}

/* ---- WHY-NOW: make sure the two columns are balanced & card sized right ---- */
.rs-why-grid > *:first-child{ flex:1 1 52%; }
.rs-why-grid > *:last-child{ flex:0 1 40%; }
