html { scroll-behavior: smooth; }
body { font-family: 'Inter', system-ui, sans-serif; font-size: 18px; color: #0E2A3B; -webkit-font-smoothing: antialiased; }
h1, h2, h3 { font-family: 'Poppins', system-ui, sans-serif; letter-spacing: -0.01em; }
h1 { letter-spacing: -0.025em; }

.uline {
  background-image: linear-gradient(transparent 62%, rgba(156,201,60,.65) 62%, rgba(156,201,60,.65) 92%, transparent 92%);
  background-repeat: no-repeat;
}

.btn { transition: transform .15s ease, box-shadow .2s ease, background-color .2s ease, color .2s ease; }
.btn:hover { transform: translateY(-1px); }
.btn:active { transform: translateY(0); }

details > summary { list-style: none; cursor: pointer; }
details > summary::-webkit-details-marker { display: none; }
details[open] .faq-chev { transform: rotate(45deg); }
.faq-chev { transition: transform .2s ease; }

.slot-radio input { position: absolute; opacity: 0; pointer-events: none; }
.slot-radio label {
  display: flex; align-items: center; justify-content: center;
  padding: 0.75rem 0.5rem;
  border: 2px solid #D8E7EF;
  border-radius: 0.75rem;
  font-weight: 600;
  font-size: 15px;
  color: #274458;
  cursor: pointer;
  transition: all .15s ease;
  text-align: center;
  line-height: 1.2;
}
.slot-radio input:checked + label {
  border-color: #6BB034;
  background: rgba(107,176,52,.08);
  color: #58902B;
  box-shadow: inset 0 0 0 1px #6BB034;
}
.slot-radio label:hover { border-color: #9DB9C7; }

.bar-track { background: linear-gradient(180deg, #ECF4F8, #D8E7EF); border-radius: 999px; }

@supports(padding: max(0px)) {
  .sticky-mobile { padding-bottom: max(10px, env(safe-area-inset-bottom)); }
}

@keyframes pulse-ring {
  0%   { box-shadow: 0 0 0 0 rgba(107,176,52,.45); }
  80%  { box-shadow: 0 0 0 14px rgba(107,176,52,0); }
  100% { box-shadow: 0 0 0 0 rgba(107,176,52,0); }
}
.phone-fab { animation: pulse-ring 2.2s infinite; }

.modal-open { overflow: hidden; }
