.classes-page { margin-top: 24px; padding-bottom: 72px; }
.classes-hero { padding: 0 12px 14px; }
.classes-subtitle { max-width: 760px; margin: 20px auto 0; color: #59554c; font: 15px/1.85 Arial, sans-serif; text-align: center; }
.classes-download { display: inline-block; margin-top: 20px; padding: 10px 18px; border: 1px solid var(--pp-gold); border-radius: 5px; color: var(--pp-accent); background: var(--pp-paper); font: 16px/1.5 Georgia, serif; }
.classes-download[hidden] { display: none; }
.classes-panel { margin-top: 28px; padding: 30px 26px; border: 1px solid var(--pp-gold); border-radius: 15px; background: var(--pp-paper); box-shadow: 0 9px 17px var(--pp-shadow); }
.body-content .classes-page .classes-section-title { margin: 0 0 26px; color: var(--pp-burgundy); font: 400 36px/1.2 'Bodoni MT', Didot, 'Times New Roman', serif !important; letter-spacing: -.025em; text-align: center; text-transform: none; text-shadow: none; }
.classes-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; }
.classes-card { padding: 24px 20px; min-width: 0; border: 1px solid rgba(191,149,63,.4); border-radius: 10px; background: #fffdf8; }
.body-content .classes-page .classes-card h3 { margin: 0 0 18px; padding-bottom: 14px; color: var(--pp-accent); border-bottom: 1px solid rgba(191,149,63,.3); font: 400 29px/1.2 'Bodoni MT', Didot, 'Times New Roman', serif !important; text-align: center; text-wrap: balance; letter-spacing: -.02em; text-shadow: none; }
.classes-card ul { margin: 0; padding-left: 18px; color: #59554c; font: 14px/1.75 Arial, sans-serif; }
.classes-card li + li { margin-top: 9px; }
.classes-card li::marker { color: var(--pp-gold); }
.classes-levels { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.classes-levels .classes-card:last-child:nth-child(odd) { grid-column: 1 / -1; }
.classes-levels .classes-card p { max-width: 85ch; margin: 0 auto; color: #59554c; font: 15px/1.85 Arial, sans-serif; text-align: left; }
.classes-levels .classes-card strong { color: var(--pp-burgundy); }
.classes-levels-intro { max-width: 85ch; margin: 0 auto 26px; text-align: left; }
.classes-note { margin: 22px 0 0; color: var(--pp-accent); font: italic 14px/1.6 Georgia, serif; text-align: center; }
.classes-download:focus-visible { outline: 2px solid var(--pp-accent); outline-offset: 4px; }
@media (max-width: 900px) { .classes-grid { grid-template-columns: 1fr; } .classes-levels { grid-template-columns: repeat(2, minmax(0, 1fr)); } .classes-panel { padding: 28px 22px; } }
@media (max-width: 575px) { .classes-page { padding-left: 22px; padding-right: 22px; } .classes-hero { padding-left: 0; padding-right: 0; } .classes-subtitle { font-size: 14px; } .classes-panel { padding: 26px 16px; } .classes-card { padding: 22px 16px; } .classes-levels { grid-template-columns: 1fr; } .body-content .classes-page .classes-section-title { font-size: 32px !important; } .classes-levels .classes-card p { font-size: 14px; } }
