/* =========================================================
   CLM Rotating Hero — visual dopamine, no static block.
   ========================================================= */
.clm-hero-rotator{
  position:relative; overflow:hidden;
  min-height:min(760px, 92vh);
  color:#fff; isolation:isolate;
  background:#0a1420;
}
.clm-hero-rotator *{ box-sizing:border-box; }

/* --- background media well --- */
.clm-hr-media{
  position:absolute; inset:0; z-index:0;
}
.clm-hr-slide-bg{
  position:absolute; inset:0;
  background-size:cover; background-position:center;
  opacity:0;
  transform:scale(1.05);
  transition:opacity 1200ms ease, transform 8000ms ease-out;
  will-change:opacity, transform;
}
.clm-hr-slide-bg.is-active{
  opacity:1;
  transform:scale(1.14);          /* Ken Burns slow zoom */
}
.clm-hr-video{
  position:absolute; inset:0; width:100%; height:100%;
  object-fit:cover; z-index:0;
}
.clm-hr-scrim{
  position:absolute; inset:0; z-index:1;
  background:
    linear-gradient(180deg, rgba(8,14,26,.55) 0%, rgba(8,14,26,.35) 40%, rgba(8,14,26,.85) 100%),
    linear-gradient(90deg, rgba(8,14,26,.85) 0%, rgba(8,14,26,.30) 55%, rgba(8,14,26,0) 100%);
  pointer-events:none;
}

/* --- foreground content --- */
.clm-hr-inner{
  position:relative; z-index:2;
  max-width:1280px; margin:0 auto;
  padding:clamp(60px, 10vh, 130px) 32px 90px;
  min-height:inherit;
  display:flex; flex-direction:column; justify-content:center;
}
.clm-hr-slides{
  position:relative;
  min-height:340px;
}
.clm-hr-slide{
  position:absolute; inset:0;
  opacity:0; transform:translateY(24px);
  pointer-events:none;
  transition:opacity 800ms ease, transform 800ms ease;
}
.clm-hr-slide.is-active{
  opacity:1; transform:none;
  pointer-events:auto;
  position:relative;              /* keep flow height */
}
.clm-hr-eyebrow{
  display:inline-block;
  font-size:.78rem; letter-spacing:.14em; font-weight:600;
  text-transform:uppercase;
  color:var(--slide-accent, #e0a920);
  padding:6px 12px;
  border:1px solid color-mix(in srgb, var(--slide-accent, #e0a920) 55%, transparent);
  border-radius:100px;
  margin-bottom:22px;
  backdrop-filter:blur(6px);
  background:rgba(255,255,255,.04);
}
.clm-hr-title{
  font-family: Georgia, 'Playfair Display', 'Times New Roman', serif;
  font-size: clamp(2.2rem, 5.4vw, 4.4rem);
  line-height:1.05; margin:0 0 20px;
  font-weight:600; letter-spacing:-.02em;
  max-width: 900px;
  text-shadow:0 2px 24px rgba(0,0,0,.35);
}
.clm-hr-title em{
  font-style:italic; color:var(--slide-accent, #e0a920);
  font-weight:600;
}
.clm-hr-sub{
  font-size: clamp(1rem, 1.5vw, 1.15rem);
  line-height:1.55; max-width:640px;
  color:rgba(255,255,255,.86);
  margin:0 0 32px;
}

/* CTA row */
.clm-hr-cta-row{
  display:flex; gap:14px; flex-wrap:wrap; align-items:center;
}
.clm-hr-cta{
  display:inline-flex; align-items:center; gap:10px;
  padding:16px 28px; border-radius:100px;
  background:var(--slide-accent, #e0a920);
  color:#0a1420 !important; font-weight:700; text-decoration:none;
  font-size:1.02rem; letter-spacing:.01em;
  transition:transform .18s ease, box-shadow .18s ease;
  box-shadow:0 8px 24px rgba(0,0,0,.28);
}
.clm-hr-cta:hover{ transform:translateY(-2px); box-shadow:0 14px 32px rgba(0,0,0,.4); }
.clm-hr-cta span{ font-size:1.15em; transition:transform .2s ease; }
.clm-hr-cta:hover span{ transform:translateX(4px); }

.clm-hr-search{
  display:flex; align-items:center; gap:0;
  background:rgba(255,255,255,.96);
  border-radius:100px; padding:6px 6px 6px 22px;
  min-width:min(430px, 80vw);
  box-shadow:0 8px 24px rgba(0,0,0,.24);
}
.clm-hr-search input{
  flex:1; border:none; background:transparent; outline:none;
  color:#28251d; font-size:.98rem; padding:12px 8px;
  font-family:inherit;
}
.clm-hr-search input::placeholder{ color:#7a7974; }
.clm-hr-search button{
  border:none; background:#0a1420; color:#fff;
  width:44px; height:44px; border-radius:50%;
  display:flex; align-items:center; justify-content:center;
  cursor:pointer; transition:background .2s ease;
}
.clm-hr-search button:hover{ background:#01696f; }

/* --- persistent stats bar --- */
.clm-hr-stats{
  display:grid; grid-template-columns:repeat(4,1fr);
  gap:18px 42px;
  margin-top:64px;
  padding-top:28px;
  border-top:1px solid rgba(255,255,255,.14);
  max-width:900px;
}
.clm-hr-stat .val{
  font-family: Georgia, 'Playfair Display', serif;
  font-size:clamp(1.6rem, 2.6vw, 2.4rem);
  font-weight:700; color:#e0a920; line-height:1;
  letter-spacing:-.01em;
}
.clm-hr-stat .lbl{
  font-size:.72rem; letter-spacing:.14em; text-transform:uppercase;
  color:rgba(255,255,255,.72); margin-top:8px; font-weight:500;
}

/* --- controls --- */
.clm-hr-controls{
  position:absolute; z-index:3;
  bottom:24px; left:50%; transform:translateX(-50%);
  display:flex; align-items:center; gap:14px;
  padding:8px; border-radius:100px;
  background:rgba(10,20,32,.55); backdrop-filter:blur(10px);
  border:1px solid rgba(255,255,255,.10);
}
.clm-hr-arrow{
  width:38px; height:38px; border-radius:50%;
  border:none; background:transparent; color:#fff;
  cursor:pointer; display:flex; align-items:center; justify-content:center;
  transition:background .18s ease;
}
.clm-hr-arrow:hover{ background:rgba(255,255,255,.14); }
.clm-hr-dots{ display:flex; gap:6px; padding:0 6px; }
.clm-hr-dot{
  width:32px; height:6px; padding:0; border:none; cursor:pointer;
  background:transparent; position:relative;
}
.clm-hr-dot span{
  display:block; width:100%; height:6px; border-radius:3px;
  background:rgba(255,255,255,.28); transition:background .2s ease;
}
.clm-hr-dot:hover span{ background:rgba(255,255,255,.55); }
.clm-hr-dot.is-active span{ background:#e0a920; }

/* --- progress bar at bottom edge --- */
.clm-hr-progress{
  position:absolute; z-index:3;
  bottom:0; left:0; right:0; height:3px;
  background:rgba(255,255,255,.10);
}
.clm-hr-progress-fill{
  height:100%; width:0;
  background:linear-gradient(90deg, #e0a920, #ffd166);
  transition:width 120ms linear;
  box-shadow:0 0 12px rgba(224,169,32,.6);
}

/* --- reduced motion --- */
@media (prefers-reduced-motion: reduce){
  .clm-hr-slide-bg, .clm-hr-slide,
  .clm-hr-progress-fill { transition:none !important; }
  .clm-hr-slide-bg.is-active{ transform:none; }
}

/* --- responsive --- */
@media (max-width: 780px){
  .clm-hero-rotator{ min-height:auto; }
  .clm-hr-inner{ padding:80px 20px 130px; }
  .clm-hr-slides{ min-height:auto; }
  .clm-hr-cta-row{ flex-direction:column; align-items:stretch; }
  .clm-hr-search{ min-width:0; width:100%; }
  .clm-hr-stats{ grid-template-columns:repeat(2,1fr); gap:16px; margin-top:36px; }
  .clm-hr-controls{ bottom:52px; }
}

/* --- when this rotator replaces the old .clm-hero, kill any lingering static styles that leak in --- */
body .clm-hero-rotator .clm-hero-inner{ padding-top:clamp(60px, 10vh, 130px); }
