/* Custom overrides on top of Tailwind CDN */
html { scroll-behavior: smooth; }
.container-tight { max-width: 1200px; margin: 0 auto; padding-left: 1rem; padding-right: 1rem; }
@media (min-width: 768px){ .container-tight{ padding-left:2rem; padding-right:2rem; } }

/* Hero slider */
.hero-slider { position: relative; overflow: hidden; }
.hero-slide { position: absolute; inset: 0; opacity: 0; transition: opacity 1.2s ease; }
.hero-slide.active { opacity: 1; }

/* Marquee */
.marquee { overflow: hidden; position: relative; }
.marquee-track { display: flex; gap: 3rem; animation: scroll 40s linear infinite; width: max-content; }
@keyframes scroll { from { transform: translateX(0);} to { transform: translateX(-50%);} }
.marquee:hover .marquee-track { animation-play-state: paused; }
.logo-tile { flex: 0 0 auto; width: 160px; height: 90px; display:flex; align-items:center; justify-content:center; background:#fff; border-radius:12px; border:1px solid #e5e7eb; padding:12px; transition: all .3s; }
.logo-tile:hover { transform: translateY(-4px); box-shadow: 0 12px 30px rgba(10,31,61,.15); }
.logo-tile img { max-height:60px; max-width:130px; object-fit:contain; }
@media (max-width: 767px){
  .logo-tile { width: calc(50vw - 2rem); }
}

/* Counter */
.counter-num { font-variant-numeric: tabular-nums; }

/* Accordion */
details.faq { border-bottom: 1px solid #e5e7eb; }
details.faq summary { cursor:pointer; padding: 1rem 0; font-weight: 700; color:#0A1F3D; list-style:none; display:flex; justify-content:space-between; align-items:center; }
details.faq summary::-webkit-details-marker { display:none; }
details.faq summary::after { content:'+'; color:#E8490F; font-size:1.5rem; font-weight:300; }
details.faq[open] summary::after { content:'−'; }
details.faq .a { padding: 0 0 1rem; color: #374151; line-height: 1.6; }
