:root {
    --neeo-red: #f40000;
    --neeo-black: #050505;
    --neeo-gray: #f3f4f6;
    --neeo-border: #e1e5eb;
}

body {
    background: linear-gradient(180deg, #f5f6f8 0%, #e9ecf2 100%);
    font-family: Arial, Helvetica, sans-serif;
    color: #111;
}

.top-neeo {
    background: #000;
    color: #fff;
    border-bottom: 5px solid var(--neeo-red);
}

.logo-neeo {
    font-size: 64px;
    font-weight: 900;
    letter-spacing: -6px;
    color: var(--neeo-red);
    line-height: .9;
}

.subtitle {
    color: rgba(255,255,255,.65);
}

.info-pill {
    border: 1px solid rgba(244,0,0,.75);
    border-radius: 16px;
    padding: 14px;
}

.card-neeo {
    background: #fff;
    border: 1px solid var(--neeo-border);
    border-radius: 22px;
    padding: 22px;
    box-shadow: 0 18px 45px rgba(0,0,0,.08);
}

.section-tag {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background: var(--neeo-red);
    color: #fff;
    border-radius: 11px;
    padding: 9px 15px;
    font-weight: 900;
    margin-bottom: 18px;
}

.form-label {
    font-size: 12px;
    text-transform: uppercase;
    font-weight: 900;
    color: #222;
}

.form-control,
.form-select {
    min-height: 48px;
    border-radius: 12px;
}

.choice {
    border: 1px solid var(--neeo-border);
    border-radius: 16px;
    padding: 14px;
    height: 100%;
    background: #fff;
    cursor: pointer;
    transition: .2s ease;
    position: relative;
}

.choice:hover {
    border-color: var(--neeo-red);
    box-shadow: 0 12px 28px rgba(244,0,0,.12);
}

.choice input {
    position: absolute;
    right: 12px;
    top: 12px;
}

.choice strong {
    display: block;
    font-size: 14px;
}

.choice span {
    display: block;
    font-size: 12px;
    color: #667085;
}

.signature-box {
    border: 2px dashed #c7cdd8;
    border-radius: 18px;
    padding: 10px;
    background: #fff;
}

#signature-pad {
    width: 100%;
    height: 220px;
    background: #fff;
    border-radius: 14px;
    display: block;
    touch-action: none;
}

.terms-box {
    background: #fff8f8;
    border: 1px solid rgba(244,0,0,.28);
    border-radius: 18px;
    padding: 18px;
}

.btn-neeo {
    background: var(--neeo-red);
    color: #fff;
    border: 0;
    border-radius: 14px;
    font-weight: 900;
    padding: 14px 20px;
}

.btn-neeo:hover {
    background: #c90000;
    color: #fff;
}

.btn-outline-neeo {
    border: 1px solid var(--neeo-red);
    color: var(--neeo-red);
    border-radius: 14px;
    font-weight: 900;
    padding: 12px 18px;
}

.footer-neeo {
    background: #000;
    color: #fff;
    border-top: 5px solid var(--neeo-red);
}

.footer-logo {
    color: var(--neeo-red);
    font-size: 44px;
    font-weight: 900;
    letter-spacing: -4px;
}

@media (max-width: 768px) {
    .logo-neeo { font-size: 50px; }
    .card-neeo { padding: 16px; border-radius: 18px; }
}

.small-card{
    min-height: 95px;
    padding: 12px;
}

.service-card{
    position: relative;

    display: flex;
    align-items: center;
    gap: 10px;

    width: 100%;

    background: #fff;
    border: 1px solid #dee2e6;
    border-radius: 18px;

    padding: 18px;

    cursor: pointer;
    transition: .25s;

    overflow: hidden;
}

.service-card:hover{
    border-color:#f40000;
}

.service-card input{
    display:none;
}

.service-radio{
    width:20px;
    height:20px;
    border:2px solid #adb5bd;
    border-radius:50%;
    flex-shrink:0;
}

.service-icon{
    font-size:28px;
    color:#f40000;
}

.service-content{
    flex: 1;
    min-width: 0;
}

.service-content h6{
    margin: 0;

    font-size: 15px;
    font-weight: 700;
    line-height: 1.2;

    white-space: normal;
    word-break: break-word;
}

.service-content small{
    display: block;
    font-size: 12px;
    color: #6c757d;
}

.service-card input:checked ~ .service-radio{
    background:#f40000;
    border-color:#f40000;
    box-shadow: inset 0 0 0 4px #fff;
}

.service-card:has(input:checked){
    border-color:#f40000;
    box-shadow:0 8px 20px rgba(244,0,0,.12);
}

/* mobile */

@media(max-width:768px){

    .service-card{
        min-height: 88px;
        padding: 12px;
        gap: 8px;
    }

    .service-icon{
        font-size: 22px;
        min-width: 28px;
    }

    .service-content h6{
        font-size: 13px;
    }

    .service-content small{
        font-size: 11px;
    }

}