/* Grace page styles: programs (loaded after base.css) */
:root{--navy:#0d1b2e;--navy-2:#162236;--teal:#2EC4B6;--teal-l:#5DD6CA;--teal-10:rgba(46,196,182,0.1);--teal-20:rgba(46,196,182,0.22);--coral:#E85D4A;--coral-l:#F07060;--white:#ffffff;--cream:#F5FAFA;--gray:#F0F6F6;--border:#DDE9E9;--text:#0d1b2e;--muted:#64748b;--light:#a0aec0}
h1,h2,h3,h4{font-family:'DM Sans',-apple-system,BlinkMacSystemFont,Arial,sans-serif}
.page-hero{background:var(--navy);padding:80px 0 64px}
.page-hero .eyebrow{color:var(--teal)}
.page-hero h1{font-size:46px;font-weight:800;color:var(--white);letter-spacing:-.03em;line-height:1.1;margin-top:10px;margin-bottom:18px;max-width:800px}
.page-hero .page-sub{font-size:18px;color:rgba(255,255,255,.6);line-height:1.65;max-width:640px;font-weight:300}
.section{padding:80px 0}
.section.cream{background:var(--cream)}
.section h2{font-size:34px;font-weight:800;color:var(--navy);letter-spacing:-.03em;line-height:1.2;margin-bottom:20px}
.lead{font-size:16px;color:var(--muted);line-height:1.75;font-weight:300;margin-bottom:24px}
.body-text{font-size:15px;color:var(--muted);line-height:1.75;margin-bottom:16px}
.prog-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-top:48px}
.prog-card{background:var(--white);border:1.5px solid var(--border);border-radius:16px;padding:36px;text-decoration:none;display:block;transition:border-color .2s,box-shadow .2s}
.prog-card:hover{border-color:var(--teal);box-shadow:0 6px 32px rgba(46,196,182,.14)}
.section.cream .prog-card{background:var(--white)}
.prog-card .tag{font-size:11px;font-weight:700;letter-spacing:.09em;text-transform:uppercase;color:var(--teal);margin-bottom:12px;display:block}
.prog-card h3{font-size:22px;font-weight:800;color:var(--navy);line-height:1.25;margin-bottom:10px}
.prog-card p{font-size:14px;color:var(--muted);line-height:1.7;margin-bottom:18px}
.prog-card .card-link{font-size:13px;font-weight:700;color:var(--coral)}
.prog-card.full{grid-column:span 2}
.sub-list{list-style:none;display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}
.sub-list li a{font-size:12px;font-weight:600;color:var(--muted);background:var(--gray);border:1px solid var(--border);padding:5px 12px;border-radius:20px;text-decoration:none;transition:color .15s,background .15s}
.sub-list li a:hover{color:var(--navy);background:var(--cream)}
.hr-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:20px}
.hr-card{background:var(--gray);border:1px solid var(--border);border-radius:12px;padding:24px;text-decoration:none;display:block;transition:background .15s}
.hr-card:hover{background:var(--cream)}
.hr-card h4{font-size:15px;font-weight:700;color:var(--navy);margin-bottom:6px}
.hr-card p{font-size:13px;color:var(--muted);line-height:1.6}
.contact-section{padding:96px 0;background:var(--cream)}
.contact-inner{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:start}
.contact-left h2{font-size:34px;font-weight:800;color:var(--navy);letter-spacing:-.03em;line-height:1.2;margin-bottom:16px}
.contact-left p{font-size:16px;color:var(--muted);line-height:1.7;font-weight:300}
.contact-form{background:var(--white);border:1.5px solid var(--border);border-radius:16px;padding:40px;box-shadow:0 4px 32px rgba(13,27,46,.06)}
.form-row.two{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.form-row input{width:100%;padding:11px 14px;border:1.5px solid var(--border);border-radius:7px;font-size:14px;color:var(--text);background:var(--white);outline:none;font-family:inherit;transition:border-color .2s}
.form-row input:focus{border-color:var(--teal)}
.form-check{display:flex;align-items:center;gap:10px;margin:14px 0}
.form-check input{width:auto}
.form-check label{font-size:14px;color:var(--muted);text-transform:none;letter-spacing:0;font-weight:400;margin-bottom:0}
@media(max-width:768px){
.section{padding:52px 0}
.page-hero{padding:52px 0 44px}
.contact-section{padding:60px 0}
.page-hero h1{font-size:32px}
.section h2{font-size:26px}
.page-hero .page-sub{font-size:15px}
.step-list{gap:20px}
.contact-inner{grid-template-columns:1fr;gap:32px}
.form-row.two{grid-template-columns:1fr;gap:12px}
.format-bar{flex-direction:column;gap:8px}
}
@media(max-width:480px){
.page-hero h1{font-size:28px}
.section h2{font-size:22px}
.contact-form{padding:28px 20px}
}
