:root{
  --cc-brand:#2563eb;
  --cc-brand-2:#0ea5e9;
  --cc-ink:#0f172a;
  --cc-muted:#64748b;
  --cc-border:rgba(15,23,42,.12);
  --cc-soft:#f6f8ff;
  --cc-soft-2:#f1f5ff;
  --cc-card: #f9fafa;


}

body{
  color:var(--cc-ink);
  background:
    radial-gradient(900px 600px at 15% -10%, rgba(37,99,235,.12), transparent 60%),
    radial-gradient(900px 600px at 85% 0%, rgba(14,165,233,.10), transparent 55%),
    linear-gradient(180deg, #ffffff 0%, #fbfcff 60%, #ffffff 100%);
}

a{ text-underline-offset:3px; }

main.container{ max-width: 1040px; }

.cc-mark{
  display:inline-flex;
  width:34px;height:34px;
  border-radius:12px;
  align-items:center;justify-content:center;
  background:linear-gradient(135deg,var(--cc-brand),var(--cc-brand-2));
  color:#fff;font-weight:800;
  font-size:.95rem;
  box-shadow:0 6px 18px rgba(37,99,235,.18);
}

.cc-header{
  backdrop-filter:saturate(160%) blur(10px);
}

.cc-btn{
  border-radius:14px;
  padding:.6rem 1rem;
  font-weight:700;
}

.aw-block{
  background: var(--cc-card);
  border: 1px solid rgba(15,23,42,.14);
  border-radius: 18px;
  padding: 18px;

  /* clearer separation on light backgrounds */
  box-shadow:
    0 12px 34px rgba(15, 23, 42, .08),
    0 1px 0 rgba(255,255,255,.85) inset;
}


.aw-block{
  transition: box-shadow .18s ease, transform .18s ease, border-color .18s ease;
}

.aw-block:hover{
  border-color: rgba(15,23,42,.18);
}


.aw-block--cta{
  border:1px solid rgba(37,99,235,.4);
  background:
    radial-gradient(700px 280px at 20% 0%, rgba(37,99,235,.14), transparent 60%),
    linear-gradient(180deg, rgba(37,99,235,.06), rgba(14,165,233,.03));
}

.aw-faq details{
  border:1px solid var(--cc-border);
  border-radius:16px;
  padding:12px 14px;
  background:linear-gradient(180deg, var(--cc-soft), #fff);
}

.aw-faq summary{ cursor:pointer; }

.cc-hero{
  border:1px solid var(--cc-border);
  background:
    radial-gradient(900px 320px at 10% 0%, rgba(37,99,235,.18), transparent 60%),
    radial-gradient(700px 280px at 85% 15%, rgba(14,165,233,.12), transparent 55%),
    linear-gradient(180deg, #ffffff, var(--cc-soft));
  border-radius:22px;
  padding:22px;
}

.cc-kicker{
  display:inline-flex;
  align-items:center;
  gap:.5rem;
  padding:.35rem .7rem;
  border-radius:999px;
  font-weight:700;
  color:rgba(15,23,42,.85);
  background:rgba(37,99,235,.08);
  border:1px solid rgba(37,99,235,.14);
}

.cc-icon{
  width:18px;height:18px;
  vertical-align:-3px;
}

.cc-footer{
  background:
    radial-gradient(900px 450px at 15% 0%, rgba(37,99,235,.10), transparent 60%),
    radial-gradient(900px 450px at 85% 10%, rgba(14,165,233,.08), transparent 55%),
    #0b1220;
  color:#e5e7eb;
}

.cc-footer a{ color:#e5e7eb; text-decoration:none; }
.cc-footer a:hover{ text-decoration:underline; }

.cc-footer .cc-foot-card{
  background:rgba(255,255,255,.06);
  border:1px solid rgba(255,255,255,.10);
  border-radius:18px;
  padding:16px;
}

.cc-footer .text-muted{ color:rgba(229,231,235,.72)!important; }

.form-check .form-check-input {
border: 1px solid #8aabcb !important;
}

.pack-stat.valid { border-left: 4px solid #198754; }
.pack-stat.expiring { border-left: 4px solid #ffc107; }
.pack-stat.expired { border-left: 4px solid #dc3545; }
.pack-stat.unknown { border-left: 4px solid #6c757d; }

.aw-block .form-control {
  border: 1px solid #97b9db;
}
