body{font-family:'DM Sans',sans-serif;background:#fff}
.hero-gradient{background:linear-gradient(135deg,#0A1A2D 0%,#1a2f4d 50%,#0A1A2D 100%)}
.sp{padding-left:1rem;padding-right:1rem}@media(min-width:768px){.sp{padding-left:1.5rem;padding-right:1.5rem}}@media(min-width:1024px){.sp{padding-left:3rem;padding-right:3rem}}
.btn-primary{background:#8C1F28;color:#fff;font-weight:600;border-radius:10px;padding:14px 28px;transition:all .2s;display:inline-flex;align-items:center;justify-content:center;gap:8px;text-decoration:none;border:none;cursor:pointer}
.btn-primary:hover{background:#6b1620}.btn-primary:disabled{opacity:.6;cursor:not-allowed}
.btn-outline{background:transparent;border:2px solid #fff;color:#fff;font-weight:600;border-radius:10px;padding:12px 24px;transition:all .2s;display:inline-flex;align-items:center;justify-content:center;gap:8px;text-decoration:none}
.btn-outline:hover{background:#fff;color:#8C1F28}
.btn-gold{background:#D9A441;color:#fff;font-weight:700;border-radius:10px;padding:12px 24px;display:inline-flex;align-items:center;justify-content:center;text-decoration:none}
.card{background:#fff;border-radius:16px;padding:1.5rem;border:1px solid #e2e8f0;position:relative;overflow:hidden;transition:all .3s}
.card:hover{transform:translateY(-3px);box-shadow:0 16px 32px rgba(0,0,0,.1)}
.card .bar{position:absolute;top:0;left:0;right:0;height:4px}
.badge{position:absolute;top:12px;right:12px;background:#D9A441;color:#fff;font-size:.7rem;font-weight:700;padding:4px 10px;border-radius:999px}
.fi{width:100%;padding:.8rem 1rem;border:1.5px solid #e2e8f0;border-radius:10px;font-size:.95rem;background:#fff;color:#1e293b}
.fi:focus{outline:none;border-color:#8C1F28;box-shadow:0 0 0 3px rgba(140,31,40,.1)}
.hp{position:absolute!important;left:-9999px!important;width:1px;height:1px;opacity:0;overflow:hidden}
.mobile-call{position:fixed;bottom:0;left:0;right:0;z-index:40;padding:10px 16px;background:linear-gradient(to top,#8C1F28 80%,transparent);display:none}
@media(max-width:640px){.mobile-call{display:block}}
.warn{background:#fef3c7;border:1px solid #D9A441;border-left:4px solid #D9A441;border-radius:10px;padding:12px 16px}
.faq details{border:1px solid #e2e8f0;border-radius:12px;background:#fff;margin-bottom:.6rem}.faq summary{cursor:pointer;padding:1rem 1.25rem;font-weight:600;color:#0f172a;list-style:none;display:flex;justify-content:space-between;gap:1rem}.faq summary::after{content:"+";color:#8C1F28;font-size:1.25rem;line-height:1}.faq details[open] summary::after{content:"–"}.faq details p{padding:0 1.25rem 1rem;color:#475569}