/* ─── HERO SECTION ─── */
.hero {
    min-height: 52vh;
    background: linear-gradient(135deg, #1A1215 0%, #3B1A22 40%, #6B2D3E 100%);
    position: relative;
    overflow: hidden;
    display: flex;
    align-items: center;
    padding-top: 130px;
    border-radius: 0 0 24px 24px;
}

.hero-pattern {
    position: absolute;
    inset: 0;
    pointer-events: none;
    background-image:
        radial-gradient(circle at 20% 50%, rgba(201,83,106,0.15) 0%, transparent 50%),
        radial-gradient(circle at 80% 20%, rgba(200,169,110,0.12) 0%, transparent 40%);
}

.hero-content {
    position: relative;
    z-index: 2;
    max-width: 800px;
}

.hero-title {
    font-size: 32px;
    font-weight: 900;
    color: var(--white);
    line-height: 1.2;
    margin-bottom: 10px;
}

/* ─── POLICY CONTENT SECTION ─── */
.policy-section {
    padding: 80px 0;
    background: var(--bg);
}

.policy-container {
    max-width: 850px;
    margin: 0 auto;
    background: var(--white);
    padding: 50px 40px;
    border-radius: 24px;
    box-shadow: 0 10px 40px rgba(201,83,106,0.04);
    border: 1px solid rgba(201,83,106,0.05);
}

.policy-header {
    text-align: center;
    margin-bottom: 40px;
    border-bottom: 2px dashed var(--primary-pale);
    padding-bottom: 30px;
}

.policy-header h2 {
    font-size: 28px;
    color: var(--primary-dark);
    font-weight: 900;
    margin-bottom: 10px;
}

.update-date {
    font-size: 14px;
    color: var(--muted);
}

.policy-content h3 {
    font-size: 20px;
    color: var(--primary);
    font-weight: 700;
    margin-top: 35px;
    margin-bottom: 15px;
    display: flex;
    align-items: center;
    gap: 10px;
}

.policy-content p {
    color: var(--text);
    font-size: 16px;
    text-align: justify;
    margin-bottom: 20px;
}

.info-box {
    background: var(--surface);
    border-right: 4px solid var(--primary-dark);
    padding: 22px;
    border-radius: 12px;
    margin: 25px 0;
}

.info-box h4 {
    color: var(--primary-dark);
    margin-bottom: 12px;
    font-weight: 700;
}

.info-box ul, .warning-box ul {
    list-style-position: inside;
    padding-right: 10px;
}

.info-box li, .warning-box li {
    margin-bottom: 8px;
    color: var(--text);
    font-size: 15px;
}

.warning-box {
    background: #FFF5F5;
    border: 1px solid #F2A7B5;
    border-right: 4px solid #C9536A;
    padding: 22px;
    border-radius: 12px;
    margin: 25px 0;
}

.warning-box h4 {
    color: #9B2C42;
    margin-bottom: 12px;
    font-weight: 700;
}

.policy-quote {
    position: relative; 
    text-align: center;
    background: var(--surface);
    padding: 55px 30px 35px;
    border-radius: 16px; 
    margin: 60px 0 40px;
    border: 1px solid rgba(200, 169, 110, 0.2); 
}

.policy-quote h4 {
    color: var(--primary); 
    font-size: 20px;
    font-weight: 700;
    margin-bottom: 10px;
}

.policy-quote .quote-author {
    color: var(--primary-dark);
    font-size: 14px;
    font-weight: 500;
    margin-bottom: 0;
    text-align: center;
}

.quote-logo-img {
    position: absolute;
    top: 0;
    left: 50%;
    transform: translate(-50%, -50%); 
    width: 65px; 
    height: 65px;
    border-radius: 50%; 
    object-fit: cover;
    background: var(--surface, #FBF4F5);
    border: 2px solid var(--primary-dark); 
    padding: 3px;
}
.scientific-link {
    color: var(--primary);
    font-weight: 600;
    border-bottom: 1px dashed var(--primary);
}

.scientific-link:hover {
    color: var(--primary-dark);
}