/* /assets/css/site.css */
:root{
  --ink:#0b2239;
  --soft:#f5f8fb;
  --primary:#0d6efd;
  --glass: rgba(255,255,255,.12);
  --glass-border: rgba(255,255,255,.22);
}

body{ color: var(--ink); }

.topbar{
  background: linear-gradient(90deg, #0b2239 0%, #103a5a 100%);
  color: #fff;
}
.topbar .topbar-link{
  color:#fff;
  text-decoration:none;
  opacity:.9;
}
.topbar .topbar-link:hover{
  opacity:1;
  text-decoration:underline;
}

.letterspace{ letter-spacing: .08em; }

.hero{
  position:relative;
  padding: 4.5rem 0;
  color:#fff;
  overflow:hidden;
  background: #0b2239;
}

.hero-bg{
  position:absolute;
  inset:0;
  z-index:0;
  background:
    linear-gradient(120deg, rgba(11,34,57,.85), rgba(16,58,90,.55)),
    url("../img/san-diego-ship.png");
  background-size: cover;
  background-position: center;
  filter: saturate(1.05);
  transform: scale(1.02);
}

.hero-content{ position:relative; z-index:1; }
.hero-left{ position:relative; z-index:3; }
.hero-right{ position:relative; z-index:2; }

.glass{
  background: var(--glass);
  border: 1px solid var(--glass-border);
  border-radius: 18px;
  backdrop-filter: blur(10px);
  box-shadow: 0 12px 35px rgba(0,0,0,.25);
}

.hero-logo{
  width:120px !important;
  height:120px !important;
  object-fit:contain;
  flex: 0 0 auto;
}

.hero-titles{ min-width: 0; }

.kicker{
  font-size:.75rem;
  opacity:.9;
}

.mini{
  border: 1px solid rgba(255,255,255,.25);
  border-radius: 14px;
  padding: .75rem .9rem;
  background: rgba(255,255,255,.06);
}
.mini-label{
  font-size:.75rem;
  opacity:.85;
  text-transform: uppercase;
  letter-spacing:.08em;
}
.mini-value{ font-weight: 600; }

.shadow-soft{ box-shadow: 0 10px 24px rgba(13, 38, 76, .12); }
.divider{ height:1px; background: rgba(11,34,57,.12); }
.bg-soft{ background: var(--soft); }

.icon-badge{
  width: 44px;
  height: 44px;
  display:grid;
  place-items:center;
  border-radius: 14px;
  background: rgba(13,110,253,.12);
  color: var(--primary);
  font-size: 1.2rem;
}

.checklist{ list-style:none; padding-left:0; }
.checklist li{
  position:relative;
  padding-left: 2rem;
  margin-bottom: .75rem;
}
.checklist li:last-child{ margin-bottom:0; }
.checklist li::before{
  content:"✓";
  position:absolute;
  left:0;
  top:0;
  width:1.4rem;
  height:1.4rem;
  display:grid;
  place-items:center;
  border-radius: 999px;
  background: rgba(13,110,253,.12);
  color: var(--primary);
  font-weight: 800;
}

.card {
    width: 100%;
    max-width: unset;
    margin: 0;
}

.card img {
    padding: 0.5em;
    -o-object-fit: contain;
    object-fit: contain;
    max-height: unset !important;
    max-width: unset !important;
    display: block;
    margin: 0 auto;
}

    .card .text-muted {
        color: #212529bf !important
    }

.hero-card-img{
  height: 240px;
  object-fit: cover !important;
}
.tile-img{
  height: 170px;
  object-fit: cover !important;
}

.gallery-tile{
  display:block;
  border-radius: 16px;
  overflow:hidden;
  position:relative;
  text-decoration:none;
  box-shadow: 0 10px 24px rgba(13, 38, 76, .12);
}
.gallery-tile img{
  width:100%;
  height: 200px;
  object-fit: cover;
  display:block;
  transform: scale(1);
  transition: transform .25s ease;
}
.gallery-tile span{
  position:absolute;
  left:12px;
  bottom:12px;
  padding: .35rem .6rem;
  border-radius: 999px;
  font-weight: 600;
  font-size: .85rem;
  color:#fff;
  background: rgba(11,34,57,.72);
  border: 1px solid rgba(255,255,255,.18);
  backdrop-filter: blur(8px);
}
.gallery-tile:hover img{ transform: scale(1.05); }

.sponsor-lockup{
  max-width: 220px;
  height:auto;
  object-fit:contain;
  background:#fff;
  border-radius: 16px;
  padding: 10px 12px;
  box-shadow: 0 10px 24px rgba(13, 38, 76, .12);
}

/* Sponsor grid */
.sponsors{
  list-style:none;
  display:grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
  margin: 0;
  padding: 0;
}
@media (min-width: 576px){
  .sponsors{ grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (min-width: 768px){
  .sponsors{ grid-template-columns: repeat(4, minmax(0, 1fr)); }
}
@media (min-width: 992px){
  .sponsors{ grid-template-columns: repeat(6, minmax(0, 1fr)); }
}

.sponsors li{
  background:#fff;
  border-radius: 14px;
  padding: 14px;
  display:flex;
  align-items:center;
  justify-content:center;
  min-height: 86px;
  box-shadow: 0 10px 24px rgba(13, 38, 76, .10);
  border: 1px solid rgba(11,34,57,.08);
}

.sponsors img{
  width: 100%;
  max-width: 170px;
  height: 46px;
  object-fit: contain;
  display:block;
}

.footer{
  background: #0b2239;
  color:#fff;
}
