/* =========================
   (A) OPTIONAL SLIDER STYLES
   ========================= */
.slider-text { position: absolute; right: 0; bottom: 0; }
#slider { overflow: hidden; }
#slider .card-content { max-width: 50%; }
@media screen and (max-width: 1023px){ #slider .card-content { display:none; } }

.prev, .next {
  cursor:pointer; position:absolute; top:50%; padding:16px; margin-top:-50px;
  color:#F1FFFA; font-weight:700; font-size:20px; transition:.3s ease;
  border-radius:0 3px 3px 0; user-select:none; -webkit-user-select:none;
}
.next { right:0; border-radius:3px 0 0 3px; }
.numbertext { color:#F1FFFA; font-size:12px; padding:8px 12px; position:absolute; right:0; top:0; }
.item-slide img { max-width:1200px; }
.caption-container { color:#F1FFFA; }

/* ================================
   (B) MMT THEME — 9-COLOR PALETTE
   ================================ */

/* ---------- LIGHT THEME ---------- */
:root{
/* how tall the logo should be as screens change */
  --hero-logo-h: clamp(120px, 17vw, 220px);
  --hero-logo-gap: clamp(16px, 2.5vw, 36px);
  
  --c-light-blue:   #0D7BA4; /*Teal/Blue */
  --c-mint:         #F1FFFA;
  --c-timberwolf:   #D5C7BC;
  --c-rich-black:   #0C1618;
  --c-brunswick:    #004643;
  --c-tomato:       #FE4A49;
  --c-mustard:      #FED766;
  --c-night:        #0A090C;
  --c-midnight:     #07393C;

  --bulma-primary:               var(--c-brunswick);
  --bulma-link:                  var(--c-brunswick);
  --bulma-info:                  var(--c-light-blue);
  --bulma-warning:               var(--c-mustard);
  --bulma-danger:                var(--c-tomato);
  --bulma-text:                  var(--c-rich-black);
  --bulma-scheme-main:           var(--c-mint);
  --bulma-body-background-color: var(--c-mint);
  --bulma-border:                var(--c-timberwolf);

  --bg:         var(--c-mint);
  --surface:    var(--c-mint);
  --surface-alt:var(--c-light-blue);
  --text:       var(--c-rich-black);
  --muted:      var(--c-light-blue);
  --primary:    var(--c-brunswick);
  --primary-contrast: var(--c-mint);
  --ring:       rgba(0,70,67,.28);
}

/* ---------- DARK THEME ---------- */
[data-theme="dark"]{
  --bulma-primary:               var(--c-light-blue);
  --bulma-link:                  var(--c-light-blue);
  --bulma-info:                  var(--c-light-blue);
  --bulma-warning:               var(--c-mustard);
  --bulma-danger:                var(--c-tomato);
  --bulma-text:                  var(--c-mint);
  --bulma-scheme-main:           var(--c-night);
  --bulma-body-background-color: var(--c-night);
  --bulma-border:                var(--c-midnight);

  --bg:         var(--c-night);
  --surface:    var(--c-midnight);
  --surface-alt:var(--c-brunswick);
  --text:       var(--c-mint);
  --muted:      var(--c-light-blue);
  --primary:    var(--c-light-blue);
  --primary-contrast: var(--c-rich-black);
  --ring:       rgba(147,183,190,.35);
}

/* =========================
   (C) GLOBAL SURFACES
   ========================= */
html, body{ background: var(--bg); color: var(--text); }

.navbar, .footer{
  background: var(--surface);
  border-bottom: 1px solid var(--bulma-border);
}
.footer{ border-top: 1px solid var(--bulma-border); border-bottom: none; }

.card{
  background: var(--surface);
  border: 1px solid var(--bulma-border);
  border-radius: 14px;
}

.card.is-alt{
  background: color-mix(in srgb, var(--c-light-blue) 22%, var(--c-mint));
  border-color: var(--c-light-blue);
}

.hero{
  background-image: linear-gradient(
    180deg,
    color-mix(in srgb, var(--c-light-blue) 8%, transparent),
    transparent
  ) !important;
}

/* =========================
   (D) TYPO / LINKS / NAV
   ========================= */
a{ color: var(--primary); }
.muted{ color: var(--muted); }

.navbar .navbar-item { border-bottom: 2px solid transparent; }
.navbar .navbar-item.is-active{
  background: transparent;
  color: var(--c-light-blue);
  border-bottom-color: var(--c-light-blue);
  font-weight: 600;
}
.navbar .navbar-item:hover{
  background: transparent;
  color: var(--c-tomato);
  border-bottom-color: var(--c-tomato);
}

/* =========================
   (E) BUTTONS
   ========================= */
.button.is-primary{
  background: var(--primary);
  color: var(--primary-contrast);
  border-color: transparent;
}
.button.is-primary:hover{
  background: var(--c-mustard);
  color: var(--c-rich-black);
}
.button.is-primary:active{
  background: var(--c-midnight);
  color: var(--c-mint);
}
.button.is-primary:focus,
.button.is-primary:focus-visible{ outline:3px solid var(--ring); outline-offset:2px; }

.button.is-primary.is-light{
  background: color-mix(in srgb, var(--primary) 12%, transparent);
  color: var(--text);
  border-color: var(--primary);
}
.button.is-primary.is-light:hover{
  background: var(--c-mustard);
  color: var(--c-rich-black);
  border-color: var(--c-mustard);
}

.button.is-outlined{
  border-color: var(--c-light-blue);
  color: var(--c-light-blue);
}
.button.is-outlined:hover{
  background: var(--c-light-blue);
  color: var(--c-rich-black);
}

/* =========================
   (F) ACCESSIBILITY / UTILS
   ========================= */
:focus-visible{
  outline: 3px solid var(--ring);
  outline-offset: 2px;
}
.navbar-item:focus-visible,
a.button:focus-visible{
  outline: 3px solid var(--ring);
  outline-offset: 3px;
}
.ring{ outline:3px solid var(--ring); outline-offset:2px; border-radius:12px; }
.list-tight li{ margin-bottom:.35rem; }
.badge{
  display:inline-flex; align-items:center; gap:.4rem; padding:.28rem .55rem; border-radius:999px;
  background: color-mix(in srgb, var(--c-light-blue) 22%, var(--c-mint));
  font-size:.8rem; color: var(--text);
}


/* === Hero logo sizing + automatic spacing === */


.hero { position: relative; }

.hero-logo-overlay{
  position: absolute;
  top: 0; left: 0; right: 0;
  display: flex; justify-content: center;
  z-index: 9; pointer-events: none;
  padding-top: .25rem;
  pointer-events: none;   /* allow clicks to pass through */
}

.hero-logo-overlay img{
  height: var(--hero-logo-h);
  width: auto;
  max-width: min(86vw, 760px); /* keeps side gutters on phones */
  filter: drop-shadow(0 8px 18px rgba(0,0,0,.12));
}

/* push the hero content down by the logo height + gap */
#home .hero-body{
  padding-top: calc(var(--hero-logo-h) + var(--hero-logo-gap));
}


/* Extra gutter on very small phones */
@media (max-width: 360px){
  .hero-logo-overlay img{ width: min(86vw, 720px); }
}

/* Slightly larger cap on big desktops (optional) */
@media (min-width: 1280px){
  .hero-logo-overlay img{ width: min(60vw, 820px); }
}
