:root { --navy:#052a4e; --gold:#c7a148; --red:#b03e40; --white:#fff; --off-white:#f5f4f4; --blue-gray:#5e748b; --light-blue-gray:#76899c; --ink:#1c2936; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; background:var(--white); color:var(--ink); font-family:Arial,Helvetica,sans-serif; }
a { color:inherit; text-decoration:none; }
button,input { font:inherit; }
.section { padding:105px max(5vw,24px); }
.eyebrow { margin:0 0 24px; display:flex; align-items:center; gap:12px; color:var(--blue-gray); font-size:10px; font-weight:700; letter-spacing:.13em; text-transform:uppercase; }
.eyebrow span { width:36px; height:2px; background:var(--gold); }
.eyebrow.light { color:rgba(255,255,255,.65); }
h1,h2,h3,p { text-wrap:pretty; }
h2 { margin:0; color:var(--navy); font:700 clamp(38px,4vw,58px)/1.05 Georgia,'Times New Roman',serif; letter-spacing:-.035em; }
.button { min-height:53px; padding:0 25px; display:inline-flex; align-items:center; justify-content:center; font-size:11px; font-weight:700; letter-spacing:.06em; text-transform:uppercase; transition:transform .2s,background .2s,color .2s; }
.button:hover { transform:translateY(-2px); }
.button-primary { background:var(--red); color:white; }
.button-primary:hover { background:#962f31; }
.button-secondary { border:1px solid #cbd4db; color:var(--navy); }
.button-secondary span,.text-link span { margin-left:20px; color:var(--gold); font-size:18px; }

.utility-bar { min-height:35px; padding:0 5vw; display:flex; align-items:center; justify-content:space-between; background:var(--navy); color:rgba(255,255,255,.7); font-size:10px; letter-spacing:.08em; text-transform:uppercase; }
.utility-bar p { margin:0; }
.utility-bar div { display:flex; align-items:center; gap:13px; }
.utility-bar a:hover { color:var(--white); }
.site-header { height:95px; padding:0 5vw; display:flex; align-items:center; gap:40px; border-bottom:1px solid #dfe5ea; background:rgba(255,255,255,.97); position:sticky; top:0; z-index:20; }
.brand { min-width:310px; display:flex; align-items:center; gap:13px; }
.brand img { width:70px; height:70px; border-radius:50%; box-shadow:0 2px 12px rgba(5,42,78,.15); }
.brand span { display:flex; flex-direction:column; gap:3px; }
.brand strong { color:var(--navy); font:700 30px/1 Georgia,serif; letter-spacing:.05em; }
.brand small { color:var(--blue-gray); font-size:9px; letter-spacing:.06em; text-transform:uppercase; }
.desktop-nav { margin-left:auto; display:flex; align-items:center; gap:clamp(18px,2vw,34px); }
.desktop-nav a { color:var(--navy); font-size:12px; font-weight:700; }
.desktop-nav a:hover { color:var(--red); }
.header-cta { min-width:116px; padding:14px 19px; text-align:center; background:var(--red); color:white; font-size:11px; font-weight:700; letter-spacing:.06em; text-transform:uppercase; }
.mobile-menu { display:none; }

.hero { min-height:665px; padding:76px 5vw 64px; display:grid; grid-template-columns:1.03fr .97fr; overflow:hidden; position:relative; background:linear-gradient(110deg,#fff 0 56%,var(--off-white) 56% 100%); }
.hero::after { content:""; position:absolute; inset:auto 0 0; height:5px; background:linear-gradient(90deg,var(--navy) 0 66%,var(--gold) 66% 84%,var(--red) 84%); }
.hero-copy { max-width:690px; position:relative; z-index:2; }
.hero-copy .eyebrow { margin-top:14px; }
h1 { max-width:670px; margin:0; color:var(--navy); font:700 clamp(52px,5.3vw,82px)/.98 Georgia,'Times New Roman',serif; letter-spacing:-.035em; }
h1 em { color:var(--red); font-style:normal; }
.hero-lead { max-width:620px; margin:28px 0 32px; color:var(--blue-gray); font-size:17px; line-height:1.75; }
.hero-actions { display:flex; gap:14px; }
.trust-row { margin-top:48px; display:flex; align-items:center; gap:14px; color:var(--light-blue-gray); font-size:10px; letter-spacing:.04em; text-transform:uppercase; }
.trust-row strong { color:var(--navy); }
.trust-row p { margin:0; }
.trust-row i { width:4px; height:4px; border-radius:50%; background:var(--gold); }
.hero-mark { min-height:500px; display:grid; place-items:center; position:relative; }
.hero-mark img { width:min(39vw,520px); height:auto; border-radius:50%; position:relative; z-index:2; filter:drop-shadow(0 24px 27px rgba(5,42,78,.19)); }
.seal-halo { width:540px; height:540px; border:1px solid rgba(199,161,72,.35); border-radius:50%; position:absolute; }
.seal-halo::after { content:""; position:absolute; inset:24px; border:1px solid rgba(5,42,78,.12); border-radius:50%; }
.recognition-card { padding:16px 22px; display:flex; flex-direction:column; gap:3px; background:var(--navy); color:white; border-left:4px solid var(--gold); position:absolute; right:2%; bottom:9%; z-index:3; box-shadow:0 14px 30px rgba(5,42,78,.22); }
.recognition-card b { font:700 18px Georgia,serif; letter-spacing:.08em; }
.recognition-card span { color:rgba(255,255,255,.65); font-size:8px; letter-spacing:.1em; text-transform:uppercase; }

.credibility-strip { min-height:114px; padding:0 5vw; display:grid; grid-template-columns:repeat(4,1fr); background:var(--navy); color:white; }
.credibility-strip p { margin:0; padding:29px 36px; display:flex; align-items:center; gap:20px; border-right:1px solid rgba(255,255,255,.12); }
.credibility-strip p:last-child { border:0; }
.credibility-strip b { color:var(--gold); font:400 13px Georgia,serif; }
.credibility-strip span { font:700 12px/1.5 Arial,sans-serif; letter-spacing:.05em; text-transform:uppercase; }

.about { display:grid; grid-template-columns:.55fr 1.15fr 1fr; gap:5vw; align-items:start; }
.section-label { padding-top:11px; color:var(--red); font-size:10px; font-weight:700; letter-spacing:.15em; text-transform:uppercase; writing-mode:vertical-rl; transform:rotate(180deg); }
.about-detail { padding-top:37px; }
.about-detail p { margin:0 0 18px; color:var(--blue-gray); font-size:15px; line-height:1.75; }
.text-link { margin-top:13px; display:inline-flex; align-items:center; color:var(--navy); font-size:11px; font-weight:700; letter-spacing:.06em; text-transform:uppercase; }

.programs { background:var(--navy); color:white; }
.section-heading { margin-bottom:56px; display:flex; align-items:end; justify-content:space-between; gap:60px; }
.section-heading h2 { color:white; }
.section-heading>p { max-width:440px; margin:0 0 5px; color:rgba(255,255,255,.58); font-size:15px; line-height:1.7; }
.program-grid { display:grid; grid-template-columns:repeat(3,1fr); border:1px solid rgba(255,255,255,.15); }
.program-card { min-height:390px; padding:38px; border-right:1px solid rgba(255,255,255,.15); transition:background .25s,transform .25s; }
.program-card:last-child { border:0; }
.program-card:hover,.program-card.featured { background:#0a365f; }
.program-card:hover { transform:translateY(-4px); }
.card-top { display:flex; justify-content:space-between; align-items:center; }
.card-top>span { color:var(--gold); font:400 12px Georgia,serif; }
.card-top i { width:54px; height:54px; display:grid; place-items:center; border:1px solid rgba(199,161,72,.55); border-radius:50%; color:var(--gold); font:400 24px Georgia,serif; }
.program-card h3 { max-width:300px; margin:62px 0 18px; color:white; font:700 26px/1.15 Georgia,serif; }
.program-card p { min-height:78px; color:rgba(255,255,255,.58); font-size:14px; line-height:1.65; }
.program-card a { margin-top:27px; display:inline-flex; gap:18px; color:white; font-size:10px; font-weight:700; letter-spacing:.09em; text-transform:uppercase; }
.program-card a span { color:var(--gold); }

.process { display:grid; grid-template-columns:.85fr 1.15fr; gap:9vw; align-items:start; background:var(--off-white); }
.process-intro { position:sticky; top:130px; }
.process-intro>p:not(.eyebrow) { max-width:490px; margin:25px 0 30px; color:var(--blue-gray); font-size:15px; line-height:1.7; }
.process-list { margin:0; padding:0; list-style:none; }
.process-list li { padding:30px 0; display:grid; grid-template-columns:60px 1fr; gap:15px; border-bottom:1px solid #d6dce1; }
.process-list li:first-child { padding-top:0; }
.process-list>li>span { color:var(--gold); font:400 14px Georgia,serif; }
.process-list h3 { margin:0 0 8px; color:var(--navy); font:700 24px Georgia,serif; }
.process-list p { margin:0; color:var(--blue-gray); font-size:14px; line-height:1.65; }

.standards { padding-top:0; padding-bottom:0; display:grid; grid-template-columns:1.35fr .65fr; background:var(--navy); }
.standards-panel { padding:100px 7vw 100px 0; }
.standards h2 { color:white; }
.standards-panel>p:not(.eyebrow) { max-width:580px; margin:23px 0 42px; color:rgba(255,255,255,.6); font-size:15px; line-height:1.7; }
.standards-grid { display:grid; grid-template-columns:repeat(2,1fr); border-top:1px solid rgba(255,255,255,.15); }
.standards-grid div { padding:19px 8px; display:flex; gap:18px; border-bottom:1px solid rgba(255,255,255,.15); color:white; font-size:12px; font-weight:700; letter-spacing:.05em; text-transform:uppercase; }
.standards-grid b { color:var(--gold); font:400 11px Georgia,serif; }
.standards-quote { margin-right:-5vw; padding:100px 5vw; display:flex; flex-direction:column; justify-content:center; background:var(--gold); color:var(--navy); }
.quote-mark { height:75px; color:rgba(5,42,78,.25); font:700 105px/1 Georgia,serif; }
.standards-quote blockquote { margin:22px 0 30px; font:700 28px/1.35 Georgia,serif; }
.standards-quote p { font-size:10px; font-weight:700; letter-spacing:.1em; text-transform:uppercase; }

.verify { display:grid; grid-template-columns:1fr 1fr; gap:9vw; align-items:center; }
.verify>div>p:not(.eyebrow) { max-width:580px; margin:23px 0 0; color:var(--blue-gray); font-size:15px; line-height:1.7; }
.verify-form { padding:38px; background:var(--off-white); border-top:4px solid var(--gold); }
.verify-form label { display:block; margin-bottom:11px; color:var(--navy); font-size:10px; font-weight:700; letter-spacing:.08em; text-transform:uppercase; }
.verify-form>div { display:flex; }
.verify-form input { width:100%; min-height:56px; padding:0 18px; border:1px solid #cbd3da; outline:none; color:var(--ink); background:white; }
.verify-form input:focus { border-color:var(--navy); box-shadow:0 0 0 2px rgba(5,42,78,.08); }
.verify-form button { min-width:135px; border:0; background:var(--red); color:white; font-size:10px; font-weight:700; letter-spacing:.06em; text-transform:uppercase; cursor:pointer; }
.verify-form small { margin-top:12px; display:block; color:var(--light-blue-gray); font-size:10px; line-height:1.5; }

.resources { background:var(--off-white); }
.section-heading.dark-text h2 { color:var(--navy); }
.section-heading.dark-text>p { color:var(--blue-gray); }
.resource-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:20px; }
.resource-grid>a { min-height:290px; padding:35px; display:flex; flex-direction:column; background:white; border-bottom:3px solid transparent; transition:transform .2s,border-color .2s,box-shadow .2s; }
.resource-grid>a:hover { transform:translateY(-5px); border-color:var(--gold); box-shadow:0 14px 30px rgba(5,42,78,.08); }
.resource-grid>a>span { width:42px; height:42px; display:grid; place-items:center; border:1px solid #ccd4db; color:var(--red); font-size:9px; font-weight:700; }
.resource-grid h3 { margin:42px 0 12px; color:var(--navy); font:700 22px Georgia,serif; }
.resource-grid p { margin:0; color:var(--blue-gray); font-size:13px; line-height:1.6; }
.resource-grid b { margin-top:auto; color:var(--navy); font-size:9px; letter-spacing:.08em; text-transform:uppercase; }

.contact-band { padding:70px 7vw; display:flex; align-items:center; justify-content:space-between; gap:40px; background:var(--red); color:white; }
.contact-band p { margin:0 0 10px; color:rgba(255,255,255,.68); font-size:10px; font-weight:700; letter-spacing:.13em; text-transform:uppercase; }
.contact-band h2 { color:white; font-size:46px; }
.button-gold { gap:22px; background:var(--gold); color:var(--navy); }
.button-gold:hover { background:white; }
footer { padding:0 5vw; background:#031f39; color:white; }
.footer-main { padding:72px 0 60px; display:grid; grid-template-columns:1.5fr repeat(3,1fr); gap:50px; }
.footer-brand img { width:86px; height:86px; border-radius:50%; }
.footer-brand h2 { margin:20px 0 8px; color:white; font-size:30px; letter-spacing:.06em; }
.footer-brand p,.footer-main>div>p { color:rgba(255,255,255,.48); font-size:11px; line-height:1.7; }
.footer-main>div { display:flex; flex-direction:column; gap:12px; }
.footer-main h3 { margin:3px 0 15px; color:var(--gold); font-size:10px; letter-spacing:.12em; text-transform:uppercase; }
.footer-main a { color:rgba(255,255,255,.66); font-size:11px; line-height:1.5; }
.footer-main a:hover { color:white; }
.footer-bottom { min-height:70px; display:flex; align-items:center; justify-content:space-between; border-top:1px solid rgba(255,255,255,.1); color:rgba(255,255,255,.4); font-size:9px; letter-spacing:.05em; text-transform:uppercase; }
.footer-bottom div { display:flex; gap:22px; }

@media (max-width:1080px) {
  .desktop-nav { display:none; } .header-cta { margin-left:auto; } .brand { min-width:0; }
  .hero { grid-template-columns:1.1fr .9fr; } .credibility-strip p { padding:25px 20px; }
  .about { grid-template-columns:40px 1fr 1fr; gap:3vw; } .program-card { padding:30px; }
  .footer-main { grid-template-columns:1.3fr repeat(3,1fr); gap:30px; }
}
@media (max-width:820px) {
  .site-header { height:78px; padding:0 22px; }
  .brand img { width:56px; height:56px; } .brand strong { font-size:24px; } .brand small { display:none; } .header-cta { display:none; }
  .mobile-menu { display:block; margin-left:auto; position:relative; }
  .mobile-menu summary { width:42px; height:42px; display:flex; flex-direction:column; justify-content:center; gap:5px; align-items:center; list-style:none; border:1px solid #d5dce2; cursor:pointer; }
  .mobile-menu summary::-webkit-details-marker { display:none; } .mobile-menu summary span { width:18px; height:2px; background:var(--navy); }
  .mobile-menu nav { width:250px; padding:14px; display:flex; flex-direction:column; position:absolute; top:51px; right:0; background:white; border:1px solid #d5dce2; box-shadow:0 18px 35px rgba(5,42,78,.16); }
  .mobile-menu nav a { padding:13px; color:var(--navy); font-size:12px; font-weight:700; }
  .hero { padding-top:55px; grid-template-columns:1fr; background:linear-gradient(180deg,#fff 0 56%,var(--off-white) 56%); } .hero-mark { min-height:470px; } .hero-mark img { width:min(77vw,450px); }
  .credibility-strip { grid-template-columns:repeat(2,1fr); } .credibility-strip p { border-bottom:1px solid rgba(255,255,255,.12); }
  .about { grid-template-columns:1fr; } .section-label { writing-mode:initial; transform:none; } .about-detail { padding-top:0; }
  .section-heading { align-items:start; flex-direction:column; gap:24px; }
  .program-grid { grid-template-columns:1fr; } .program-card { min-height:auto; border-right:0; border-bottom:1px solid rgba(255,255,255,.15); } .program-card h3 { margin-top:40px; }
  .process { grid-template-columns:1fr; } .process-intro { position:static; }
  .standards { grid-template-columns:1fr; } .standards-panel { padding-right:0; } .standards-quote { margin:0 -5vw; }
  .verify { grid-template-columns:1fr; } .resource-grid { grid-template-columns:1fr; }
  .contact-band { align-items:flex-start; flex-direction:column; }
  .footer-main { grid-template-columns:repeat(2,1fr); }
}
@media (max-width:520px) {
  .section { padding:76px 22px; } .utility-bar p { display:none; } .utility-bar { justify-content:flex-end; padding:0 22px; }
  h1 { font-size:47px; } h2 { font-size:37px; } .hero { padding:50px 22px 64px; } .hero-lead { font-size:15px; } .hero-actions { flex-direction:column; align-items:stretch; }
  .trust-row { flex-wrap:wrap; margin-top:35px; } .hero-mark { min-height:365px; } .seal-halo { width:330px; height:330px; } .recognition-card { right:0; bottom:6%; }
  .credibility-strip { grid-template-columns:1fr; padding:0 22px; } .credibility-strip p { border-right:0; }
  .programs { padding-left:22px; padding-right:22px; } .program-card { padding:27px; }
  .standards-panel { padding-top:76px; padding-bottom:76px; } .standards-grid { grid-template-columns:1fr; } .standards-quote { margin:0 -22px; padding:70px 22px; }
  .verify-form { padding:25px; } .verify-form>div { flex-direction:column; } .verify-form button { min-height:50px; }
  .contact-band { padding:60px 22px; } .contact-band h2 { font-size:38px; }
  footer { padding:0 22px; } .footer-main { grid-template-columns:1fr; } .footer-bottom { padding:22px 0; align-items:flex-start; flex-direction:column; gap:15px; }
}
@media (prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } * { transition:none!important; } }
