/* --- GLOBAL LAYOUT & UTILITIES --- */
.pt-20 { padding-top: 20px !important; }
.pg-sec { padding: 60px 0; }
.pg-layout { display: grid; grid-template-columns: 2fr 1fr; gap: 40px; }
.divider { border: 0; height: 1px; background: var(--cv); margin: 30px 0; }

/* --- HERO & HEADINGS --- */
.h1-sec { margin-bottom: 30px; }
.h1-sec .section-label { color: var(--c2); display: inline-block; font-size: 0.85rem; font-weight: 700; text-transform: uppercase; letter-spacing: 1px; margin-bottom: 8px; }
.h1-img { width: 100%; margin: 25px 0 35px 0; box-sizing: border-box; }
.pg-figure { margin: 0; width: 100%; overflow: hidden; border-radius: 12px; border: 1px solid var(--cv); background: var(--c5); display: flex; }
.pg-figure img { width: 100%; height: auto; object-fit: cover; max-height: 450px; aspect-ratio: 16 / 9; }

/* --- CONTENT BLOCKS & TYPOGRAPHY --- */
.main-content-area .content-block { padding: 24px; margin-bottom: 30px; background: rgba(255, 255, 255, 0.03); border: 1px solid var(--cv); border-radius: 12px; box-sizing: border-box; }
.main-content-area h2.section-title { font-size: clamp(1.4rem, 4vw, 1.8rem); border-bottom: 1px solid var(--cv); padding-bottom: 10px; margin-bottom: 20px; color: var(--c1); }
.main-content-area h3 { color: var(--c1); font-size: 1.15rem; margin: 18px 0 8px; font-weight: 700; }

.pg-text { font-size: 16px; font-family: 'Mailpress-Regular', Arial, sans-serif; line-height: 1.6; color: var(--c2); margin-bottom: 0; }
.pg-text a { color: var(--wp--preset--color--vivid-cyan-blue); text-decoration: none; }
.pg-text a:hover { text-decoration: underline; }

/* --- POLICY SPECIFIC STYLES --- */
.policy-list { margin: 15px 0 20px 20px; padding: 0; color: var(--c2); font-size: 0.95rem; line-height: 1.65; }
.policy-list li { margin-bottom: 10px; list-style-type: disc; }
.policy-highlight { border-left: 4px solid var(--c1); background: rgba(255, 255, 255, 0.05); }
.policy-cta { text-align: left; background: var(--c5); border: 1px solid var(--cv); border-radius: 12px; padding: 25px; }

/* --- RESPONSIVE MEDIA QUERIES --- */
@media (max-width: 992px) { .pg-layout { grid-template-columns: 1fr; gap: 30px; } }
@media (max-width: 768px) { .main-content-area .content-block { padding: 18px; margin-bottom: 20px; } }