/* --- 1. BASE & LAYOUT --- */
.sponsor-page {
    background-color: #0c0c0c;
    color: #fff;
    font-family: 'Segoe UI', system-ui, -apple-system, sans-serif;
    overflow-x: hidden;
}

.main-content { padding: 0 20px; max-width: 1200px; margin: 0 auto; }

/* --- 2. HERO SECTION --- */
.hero-sponsor {
    height: 400px;
    background: linear-gradient(rgba(0,0,0,0.4), #0c0c0c), url('../images/hero_sponsor.jpg') no-repeat center bottom / cover;
    display: flex; flex-direction: column; align-items: center; justify-content: center;
    text-align: center; border-bottom: 3px solid #0d9644; margin-top: 70px;
}

.hero-sponsor h1 { font-size: 3.5rem; font-weight: 900; text-transform: uppercase; margin: 0; line-height: 1.1; }
.hero-sponsor h1 span, .vision-text h2 span, .section-title span, .tax-highlight, .quote-author { color: #0d9644; }
.hero-line { width: 60px; height: 4px; background: #0d9644; margin: 15px auto; }
.hero-subtitle { letter-spacing: 2px; text-transform: uppercase; color: #aaa; font-weight: 600; font-size: 1.1rem; }

/* --- 3. VISION & QUOTE --- */
.vision-grid { display: grid; grid-template-columns: 1.2fr 0.8fr; gap: 50px; padding: 80px 0; align-items: center; }
.tag { color: #0d9644; font-weight: 800; text-transform: uppercase; font-size: 0.75rem; letter-spacing: 2px; }
.vision-text h2 { font-size: 2.5rem; margin: 10px 0 20px; text-transform: uppercase; line-height: 1.2; }
.vision-text p { color: #ccc; line-height: 1.7; font-size: 1.05rem; margin-bottom: 15px; }

.quote-box { 
    background: #151515; padding: 35px; border-radius: 15px; border-right: 4px solid #0d9644; 
    box-shadow: 10px 10px 30px rgba(0,0,0,0.2); 
}
.quote-box i { font-size: 1.8rem; color: #333; margin-bottom: 15px; }
.quote-box p { font-style: italic; font-size: 1.15rem; line-height: 1.4; color: #eee; }

/* --- 4. BENEFITS & TAX --- */
.benefits-showcase, .tax-benefit { padding: 80px 0; }
.section-title { font-size: 2.2rem; text-align: center; text-transform: uppercase; margin-bottom: 40px; }
.benefits-dynamic-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 20px; margin-bottom: 25px; }

.benefit-card-new { 
    background: #1a1a1a; padding: 25px; border-radius: 12px; border: 1px solid #333; transition: 0.3s; 
}
.card-icon { color: #0d9644; font-size: 1.8rem; margin-bottom: 12px; }
.card-content h3 { font-size: 1.1rem; color: #fff; margin-bottom: 8px; letter-spacing: 0.5px; }
.card-content p { color: #bbb; font-size: 0.9rem; line-height: 1.4; margin: 0; }

.tax-card {
    background: linear-gradient(135deg, #1a1a1a 0%, #111 100%);
    border-left: 5px solid #0d9644; padding: 40px; border-radius: 15px; display: flex; gap: 30px; align-items: center;
}
.tax-icon i { font-size: 3.5rem; color: #0d9644; opacity: 0.6; }
.tax-content h2 { font-size: 1.6rem; margin-bottom: 10px; }
.tax-highlight { background: rgba(112, 185, 103, 0.1); padding: 10px 18px; border-radius: 8px; font-weight: 700; display: inline-block; margin-top: 15px; }

/* --- 5. TRUZZI BANNER --- */
.truzzi-horizontal-card {
    background: #111; border: 1px solid #009FC7; border-radius: 12px; padding: 25px 35px;
    display: flex; align-items: center; justify-content: space-between; gap: 30px; margin-top: 10px;
}
.truzzi-content { display: flex; align-items: center; gap: 20px; }
.truzzi-icon { font-size: 2rem; color: #009FC7; }
.truzzi-text h3 { color: #009FC7; font-size: 1.1rem; margin-bottom: 4px; }
.truzzi-text p { font-size: 1rem; color: #eee; margin: 0; line-height: 1.4; }

.btn-truzzi-solid {
    background: #009FC7; color: #000; padding: 12px 25px; border-radius: 6px; text-decoration: none;
    font-weight: 800; text-transform: uppercase; font-size: 0.85rem; transition: 0.3s; white-space: nowrap;
}

.back-home { text-align: center; padding: 40px 0; }
.btn-secondary { color: #666; text-decoration: none; font-size: 0.8rem; text-transform: uppercase; font-weight: 700; }

/* --- 6. RESPONSIVE --- */
@media (max-width: 768px) {
    .hero-sponsor { height: 280px; }
    .hero-sponsor h1 { font-size: 1.8rem; padding: 0 10px; }
    .hero-subtitle { font-size: 0.8rem; letter-spacing: 1px; }

    /* Vision Optimization */
    .vision-grid { display: flex !important; flex-direction: column !important; padding: 30px 0 !important; gap: 25px !important; }
    .vision-text { text-align: center; }
    .vision-text h2 { font-size: 1.6rem; }
    .vision-text p { font-size: 1rem; line-height: 1.5; }
    .vision-quote { width: 100%; }
    .quote-box { padding: 20px !important; border-right: none !important; border-bottom: 4px solid #0d9644; text-align: center; }

    /* Benefits & Tax Optimization */
    .benefits-dynamic-grid { display: flex; flex-direction: column; gap: 15px; }
    .benefit-card-new { height: auto !important; min-height: 0 !important; padding: 20px; }
    .section-title { font-size: 1.6rem !important; margin-bottom: 25px; padding: 0 10px; white-space: normal; word-wrap: break-word; }

    .truzzi-horizontal-card, .tax-card { flex-direction: column; text-align: center; padding: 25px; gap: 20px; }
    .truzzi-content { flex-direction: column; gap: 10px; }
    .btn-truzzi-solid, .tax-highlight { width: 100%; box-sizing: border-box; }
    
    .tax-card { border-left: none; border-top: 5px solid #0d9644; }
    .tax-icon i { font-size: 2.5rem; }
}

@media (max-width: 400px) {
    .section-title { font-size: 1.4rem !important; }
    .hero-sponsor h1 { font-size: 1.6rem !important; }
}