.ap-card {
    background: #fff;
    border: 1px solid #eee;
    border-top: 4px solid var(--primary);
    border-radius: 12px;
    box-shadow: 0 2px 8px rgba(0, 0, 0, .06);
    padding: 1.5rem;
    height: 100%;
    transition: transform .3s, box-shadow .3s;
}
.ap-card:hover { transform: translateY(-4px); box-shadow: 0 10px 24px rgba(0, 0, 0, .12); }
.ap-card.alt { border-top-color: #b68d40; }
.ap-card h2, .ap-card h3 { color: var(--primary); font-weight: 700; }
.ap-icon {
    width: 40px; height: 40px; border-radius: 50%; flex-shrink: 0;
    display: flex; align-items: center; justify-content: center;
    background: rgba(46, 88, 56, .1); color: var(--primary);
}
.ap-card.alt .ap-icon { background: rgba(182, 141, 64, .12); color: #b68d40; }
.ap-label { color: #b68d40; font-weight: 700; }
.ap-intro { max-width: 760px; margin: 0 auto; color: #555; line-height: 1.7; }
.ap-bullets { list-style: none; padding: 0; margin: 0; }
.ap-bullets li { position: relative; padding-left: 1.4rem; margin-bottom: .5rem; line-height: 1.6; color: #444; }
.ap-bullets li::before { content: "•"; color: #b68d40; font-weight: 700; font-size: 1.2rem; position: absolute; left: 0; top: -.2rem; }
.ap-oath { background: #fefce8; border-left: 8px solid #b68d40; border-radius: 0 12px 12px 0; box-shadow: 0 2px 8px rgba(0, 0, 0, .08); padding: 2rem; }
.ap-oath h2 { color: #b68d40; text-transform: uppercase; letter-spacing: .05em; font-weight: 700; }
.ap-oath p { font-style: italic; color: #444; line-height: 1.7; font-size: 1.05rem; }
.ap-discipline { background: #f3f4f6; border: 1px solid #e5e7eb; border-radius: 12px; padding: 2rem; }
.ap-discipline .ap-card { border-top-color: #dc2626; }
.ap-discipline h3 { color: #dc2626; }
.ap-core-img { max-width: 672px; border-radius: 16px; filter: drop-shadow(0 12px 24px rgba(0, 0, 0, .2)); }
.ap-bp-icon { width: 128px; height: 128px; border-radius: 50%; background: #fff; border: 4px solid var(--primary); color: var(--primary); box-shadow: 0 6px 16px rgba(0, 0, 0, .12); display: flex; align-items: center; justify-content: center; }
.ap-bp-icon.alt { border-color: #b68d40; color: #b68d40; }
.ap-bp-objective { background: #fff; border-left: 4px solid #b68d40; border-radius: 8px; box-shadow: 0 1px 4px rgba(0, 0, 0, .08); padding: 1.25rem; }
.ap-bp-objective.alt { border-left-color: var(--primary); }
.ap-bp-impact { background: var(--primary); color: #fff; border-radius: 8px; padding: 1.25rem; }
.ap-bp-impact h3 { color: #d9b66a; }
.ap-bp-impact.alt { background: #b68d40; }
.ap-bp-impact.alt h3 { color: var(--primary); }
.ap-sw { padding: 0; }
.ap-sw-top { height: 140px; background: #f3f4f6; border-bottom: 1px solid #e5e7eb; color: #c4c8cf; display: flex; align-items: center; justify-content: center; }
.ap-sw-tag { position: absolute; top: 12px; right: 12px; background: #ef4444; color: #fff; font-size: 10px; font-weight: 700; text-transform: uppercase; padding: 4px 8px; border-radius: 4px; }
.ap-support { background: #fefce8; border: 1px solid #fde68a; border-radius: 12px; padding: 1.5rem; }
