.contest-sexy {
    --contest-bg: #f6f7fb;
    --contest-card: #ffffff;
    --contest-text: #1f2937;
    --contest-muted: #6b7280;
    --contest-muted-dark: #4b5563;
    --contest-border: rgba(31, 41, 55, .12);
    --contest-rose: #e11d48;
    --contest-plum: #7c3aed;
    --contest-ink: #111827;
    --contest-radius: 18px;

    padding: 26px 14px 80px;
    color: var(--contest-text);
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", "Noto Sans JP", Roboto, sans-serif;
}

.contest-sexy .contest-wrap {
    max-width: 980px;
    margin: 0 auto;
}

.contest-sexy .card {
    background: var(--contest-card);
    border: 1px solid var(--contest-border);
    border-radius: var(--contest-radius);
    box-shadow: 0 2px 14px rgba(0, 0, 0, .06);
    padding: 18px;
    margin-top: 16px;
}

.contest-sexy .hero {
    padding: 18px;
    text-align: center;
    background:
        linear-gradient(135deg, rgba(17, 24, 39, .96), rgba(124, 58, 237, .78)),
        linear-gradient(45deg, rgba(225, 29, 72, .7), rgba(245, 158, 11, .18));
    color: #fff;
    position: relative;
    overflow: hidden;
}

.contest-sexy .hero::before {
    content: '';
    position: absolute;
    inset: 0;
    background:
        radial-gradient(circle at 18% 28%, rgba(245, 158, 11, .22), transparent 32%),
        radial-gradient(circle at 88% 12%, rgba(255, 255, 255, .14), transparent 30%);
}

.contest-sexy .hero > * {
    position: relative;
    z-index: 1;
}

.contest-sexy .hero h1 {
    margin: 0 0 10px;
    font-size: 30px;
    font-weight: 900;
    line-height: 1.35;
    color: #fff7ed;
    text-shadow: 0 8px 22px rgba(0, 0, 0, .35);
}

.contest-sexy .hero .lead {
    margin: 0 auto;
    max-width: 760px;
    padding: 10px 14px;
    border-radius: 12px;
    background: rgba(17, 24, 39, .42);
    border: 1px solid rgba(255, 255, 255, .34);
    font-size: 15px;
    font-weight: 800;
    line-height: 1.75;
    color: #ffffff;
    text-align: center;
    text-shadow: 0 2px 8px rgba(0, 0, 0, .35);
}

.contest-sexy .callout {
    margin-top: 12px;
    padding: 13px;
    border-radius: 14px;
    background: rgba(255, 255, 255, .16);
    border: 1px solid rgba(255, 255, 255, .26);
    font-weight: 800;
    line-height: 1.6;
}

.contest-sexy .muted {
    color: var(--contest-muted);
}

.contest-sexy .hero .muted {
    color: rgba(255, 255, 255, .9);
    font-weight: 700;
}

.contest-sexy .muted-dark {
    color: var(--contest-muted-dark);
    font-weight: 700;
}

.contest-sexy .hr {
    height: 1px;
    background: rgba(31, 41, 55, .12);
    margin: 14px 0;
}

.contest-sexy .section-title {
    margin: 0 0 12px;
    font-size: 19px;
    font-weight: 900;
    line-height: 1.4;
    color: var(--contest-ink);
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 6px 10px;
    border-radius: 10px;
    background: linear-gradient(135deg, rgba(225, 29, 72, .12), rgba(245, 158, 11, .12));
    border: 1px solid rgba(225, 29, 72, .18);
}

.contest-sexy .content-list {
    margin: 0;
    padding-left: 18px;
    line-height: 1.85;
}

.contest-sexy .cta-row {
    margin-top: 16px;
    display: flex;
    gap: 12px;
    justify-content: center;
    flex-wrap: wrap;
}

.contest-sexy .cta-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 240px;
    height: 64px;
    border-radius: 14px;
    font-weight: 900;
    font-size: 16px;
    text-decoration: none;
    border: 1px solid rgba(255, 255, 255, .35);
    box-shadow: 0 18px 40px rgba(0, 0, 0, .22);
    transition: transform .15s ease, box-shadow .15s ease, filter .15s ease;
}

.contest-sexy .cta-btn:hover {
    transform: translateY(-2px);
    filter: brightness(1.03);
    box-shadow: 0 22px 44px rgba(0, 0, 0, .26);
    text-decoration: none;
}

.contest-sexy .cta-btn.primary {
    background: linear-gradient(135deg, var(--contest-rose), #be123c);
    color: #fff;
}

.contest-sexy .cta-btn.secondary {
    background: #fff;
    border: 2px solid var(--contest-plum);
    color: var(--contest-plum);
}

.contest-sexy .cta-btn.secondary:hover {
    color: #6d28d9;
    border-color: #6d28d9;
    background: #fff;
}

.contest-sexy .cta-btn.disabled,
.contest-sexy .cta-btn[aria-disabled="true"] {
    opacity: .55;
    filter: grayscale(.15);
    pointer-events: none;
    box-shadow: none;
}

.contest-sexy .example-box {
    border-radius: 14px;
    background: #f9fafb;
    border: 1px solid rgba(31, 41, 55, .10);
    padding: 14px;
    font-weight: 800;
    line-height: 1.85;
}

@media (max-width: 768px) {
    .contest-sexy .cta-btn {
        width: 100%;
        max-width: 380px;
        height: 62px;
    }

    .contest-sexy .hero h1 {
        font-size: 23px;
    }
}
