/* approach.css */
.ap-subhead { font-size:18px; color:var(--muted); max-width:680px; margin:14px auto 0; line-height:1.65; }
.ap-framework-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:24px; margin-top:52px; }
.ap-framework-card { background:#fff; border:1px solid var(--line); border-radius:var(--radius); padding:28px; transition:box-shadow 0.22s,transform 0.22s; }
.ap-framework-card:hover { box-shadow:var(--shadow); transform:translateY(-3px); }
.ap-fw-tag { font-size:11px; font-weight:700; color:var(--teal); text-transform:uppercase; letter-spacing:0.07em; background:var(--teal-soft); padding:3px 10px; border-radius:999px; display:inline-block; margin-bottom:12px; }
.ap-framework-card h3 { font-size:17px; font-weight:700; color:var(--navy-deep); margin:0 0 10px; }
.ap-framework-card p { font-size:13px; color:var(--muted); line-height:1.7; margin:0; }
.ap-qa-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:24px; margin-top:52px; }
.ap-qa-item { background:#fff; border:1px solid var(--line); border-radius:var(--radius); padding:28px; border-top:4px solid var(--navy-deep); transition:box-shadow 0.22s; }
.ap-qa-item:hover { box-shadow:var(--shadow); }
.ap-qa-icon { font-size:28px; margin-bottom:14px; }
.ap-qa-item h3 { font-size:16px; font-weight:700; color:var(--navy-deep); margin:0 0 10px; }
.ap-qa-item p { font-size:13px; color:var(--muted); line-height:1.7; margin:0; }
.h-cta-strip { background:linear-gradient(135deg,var(--navy-deep) 0%,var(--navy) 100%); padding:80px 0; }
.h-cta-inner { display:flex; align-items:center; justify-content:space-between; gap:48px; flex-wrap:wrap; }
.h-cta-copy h2 { font-size:clamp(20px,2.8vw,32px); font-weight:800; color:#fff; margin:0 0 14px; line-height:1.25; max-width:580px; }
.h-cta-copy p { font-size:16px; color:rgba(255,255,255,0.72); margin:0; max-width:540px; line-height:1.7; }
.h-cta-actions { display:flex; gap:20px; flex-wrap:wrap; flex-shrink:0; align-items:center; }
.h-cta-outline { font-size:15px; font-weight:700; color:rgba(255,255,255,0.85); border-bottom:2px solid rgba(255,255,255,0.35); padding-bottom:2px; transition:color 0.18s,border-color 0.18s; }
.h-cta-outline:hover { color:#fff; border-color:var(--teal); }
@media (max-width:1120px) { .ap-framework-grid,.ap-qa-grid { grid-template-columns:repeat(2,1fr); } }
@media (max-width:760px) { .ap-framework-grid,.ap-qa-grid { grid-template-columns:1fr; } .h-cta-inner { flex-direction:column; text-align:center; } .h-cta-actions { justify-content:center; } }
