/* ==========================================================
   SLM Luxury Skin — Hotel 5★ Minimal (Bootstrap-friendly)
   Headings NEVER grey
   ========================================================== */

:root{
  --slm-ink:#070A0E;                    /* headings & strong text */
  --slm-body:rgba(7,10,14,.78);         /* paragraph/body */
  --slm-soft:rgba(7,10,14,.60);
  --slm-soft-light:rgba(255,255,255,.60);         /* secondary text */
  --slm-line:rgba(7,10,14,.10);
  --slm-white:#ffffff;

  /* Brand accent */
  --slm-accent:#39B6D1;
  --slm-accent-glow: rgba(57,182,209,.22);

  /* Surfaces / shadows */
  --slm-radius:22px;
  --slm-radius-sm:16px;
  --slm-shadow-soft: 0 16px 44px rgba(0,0,0,.10);
  --slm-shadow: 0 26px 70px rgba(0,0,0,.14);
}

/* Apply to your page by wrapping blocks in <div class="slm-root"> ... */
.slm-root{
  color: var(--slm-body);
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

/* Headings: always ink (never grey) */
.slm-root h1,
.slm-root h2,
.slm-root h3,
.slm-root h4,
.slm-root h5,
.slm-root h6{
  color: var(--slm-ink) !important;
  letter-spacing: -0.02em;
  font-weight: 650;
}

/* Body text */
.slm-root p,
.slm-root li{
  color: var(--slm-body);
}
.slm-root .small,
.slm-root .text-muted{
  color: var(--slm-soft) !important;
}
.slm-hero .small {
  color: var(--slm-soft-light) !important;
}
/* Links */
.slm-root a{
  color: var(--slm-ink);
  text-underline-offset: 3px;
}
.slm-root a:hover{
  color: var(--slm-ink);
  opacity: .88;
}

/* Section rhythm */
.slm-root section{
  position: relative;
}
.slm-root section .container{
  position: relative;
  z-index: 2;
}

/* Optional divider */
.slm-root .slm-divider{
  height: 1px;
  background: linear-gradient(90deg, transparent, var(--slm-line), transparent);
}

/* Cards: premium */
.slm-root .card{
  border-radius: var(--slm-radius);
  border: 1px solid var(--slm-line) !important;
  box-shadow: var(--slm-shadow-soft);
  overflow: hidden;
  transition: transform .25s ease, box-shadow .25s ease;
}
.slm-root .card:hover{
  transform: translateY(-2px);
  box-shadow: var(--slm-shadow);
}

/* Images: cinematic but subtle */
.slm-root img{
  backface-visibility: hidden;
}
.slm-root .card img,
.slm-root img.w-100{
  filter: contrast(1.04) saturate(1.06);
}
.slm-root .slm-ourfleet__media{
  aspect-ratio: 4 / 5;
  overflow: hidden;
  background: #f1f3f5;
}
.slm-root .slm-ourfleet__img{
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

/* Buttons: luxury minimal */
.slm-root .btn{
  border-radius: 999px;
  padding: .82rem 1.18rem;
  font-weight: 650;
  transition: transform .25s ease, box-shadow .25s ease, background-color .25s ease, border-color .25s ease;
}

.slm-root .btn-info{
  background: var(--slm-accent);
  border-color: var(--slm-accent);
  color: #031217;
  box-shadow: 0 16px 36px var(--slm-accent-glow);
}
.slm-root .btn-info:hover{
  transform: translateY(-1px);
  box-shadow: 0 22px 46px rgba(57,182,209,.28);
}

.slm-root .btn-outline-dark{
  border-color: rgba(7,10,14,.26);
}
.slm-root .btn-outline-dark:hover{
  transform: translateY(-1px);
  background: rgba(7,10,14,.04);
}

.slm-root .btn-outline-light{
  border-color: rgba(255,255,255,.62);
}
.slm-root .btn-outline-light:hover{
  transform: translateY(-1px);
  background: rgba(255,255,255,.12);
  border-color: rgba(255,255,255,.82);
}

.slm-root .btn:focus{
  box-shadow: 0 0 0 .25rem rgba(57,182,209,.22) !important;
}

/* HERO: keep text white, but headings still premium */
.slm-root .slm-hero{
  border-radius: 0;
  overflow: hidden;
}
.slm-root .slm-hero h1,
.slm-root .slm-hero h2,
.slm-root .slm-hero h3{
  color: #fff !important;              /* hero headings white */
}
.slm-root .slm-hero p,
.slm-root .slm-hero li{
  color: rgba(255,255,255,.90);
}
.slm-root .slm-hero .slm-eyebrow{
  letter-spacing: .14em;
  text-transform: uppercase;
  font-size: .78rem;
  opacity: .86;
  color: rgba(255,255,255,.88);
}
.slm-root .slm-hero::before{
  content:"";
  position:absolute;
  inset:0;
  background:
    radial-gradient(1200px 520px at 18% 28%, rgba(57,182,209,.20), transparent 62%),
    radial-gradient(900px 460px at 74% 72%, rgba(255,255,255,.08), transparent 60%);
  pointer-events:none;
  z-index: 1;
}

/* Trust bar */
.slm-root .slm-trustbar{
  background: linear-gradient(180deg, rgba(255,255,255,.92), rgba(255,255,255,1));
}
.slm-root .slm-trustbar .fw-semibold{
  color: var(--slm-ink) !important;
}

/* FAQ */
.slm-root .accordion-item{
  border: 1px solid var(--slm-line);
  border-radius: var(--slm-radius-sm);
  overflow: hidden;
}
.slm-root .accordion-button{
  font-weight: 650;
  letter-spacing: -0.01em;
  color: var(--slm-ink);
}
.slm-root .accordion-button:not(.collapsed){
  background: rgba(57,182,209,.10);
  color: var(--slm-ink);
}

/* Soft background sections helper */
.slm-root .slm-bg-soft{
  background: linear-gradient(180deg, rgba(57,182,209,.06), rgba(255,255,255,1));
}

/* Reduce motion */
@media (prefers-reduced-motion: reduce){
  .slm-root .card,
  .slm-root .btn{
    transition: none;
  }
  .slm-root .card:hover,
  .slm-root .btn:hover{
    transform: none;
  }
}
.slm-root .slm-accent-top{
  border-top: 1px solid rgba(57,182,209,.22);
}
 .slm-cover-media {
 	position: relative;
 	width: 100%;
 	overflow: hidden;
 }

.slm-cover-media img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.slm-cover-571x370 {
	max-height: 370px;
}

.slm-tally-scroll {
	max-height: 70vh;
	overflow: auto;
}

.slm-tally-scroll iframe {
	display: block;
	width: 100%;
	height: 100%;
	min-height: 600px;
	border: 0;
}
