/* Reference geometry: discover-vsn retrieved 2026-10-12.
   Original 1300px canvas, 24/8 columns, 767px breakpoint, row tracks,
   block coordinates, padding and font scales. CCS brand fonts/colors only. */
.campaign-page{--campaign-navy:var(--brand-navy);--campaign-red:var(--brand-red);--campaign-light:var(--ivory-2);background:var(--paper);color:var(--brand-navy)}
.campaign-page main{padding:0;overflow:clip}
.campaign-page main *{box-sizing:border-box}
.campaign-page main h1,.campaign-page main h2,.campaign-page .campaign-discover{font-family:var(--font-display);font-weight:600;letter-spacing:0;text-transform:none;text-wrap:initial;margin:0 0 2rem}
.campaign-page main h1{font-size:min(calc(3.6vw + 1rem),4rem);line-height:1.144}
.campaign-page main h2{font-size:min(calc(2.16vw + 1rem),2.8rem);line-height:1.2064}
.campaign-page main p{font-family:var(--font-display);font-weight:500;font-size:min(calc(.36vw + 1rem),1.3rem);line-height:1.6;margin:0}
.campaign-page main h1 span,.campaign-page main h2 span{ text-decoration:underline;text-decoration-color:var(--brand-red);text-decoration-thickness:.1em;text-underline-offset:.1em;text-decoration-skip-ink:none}
.campaign-grid{--gap:12px;--rowgap:10px;--columns:24;--gutter:3vw;--canvas:min(1300px,calc(100vw - 6vw));--row:calc(var(--canvas) * .0215);--cell:calc((1300px - (var(--gap) * (var(--columns) - 1))) / var(--columns));display:grid;position:relative;width:100%;grid-template-columns:minmax(calc(var(--gutter) - var(--gap)),1fr) repeat(var(--columns),minmax(0,var(--cell))) minmax(calc(var(--gutter) - var(--gap)),1fr);column-gap:var(--gap);row-gap:var(--rowgap);isolation:isolate}
.campaign-grid>*{min-width:0;position:relative;margin:0}
.campaign-page figure{margin:0;overflow:hidden}
.campaign-page figure img{display:block;width:100%;height:100%;object-fit:cover;border-radius:0;position:absolute;inset:0}
.campaign-page .campaign-button{display:flex;width:100%;height:100%;align-items:center;justify-content:center;min-height:48px;padding:1rem 1.3rem;background:var(--brand-red);border:0;border-radius:0;color:#fff;text-decoration:none;text-align:center;font:700 min(calc(1rem - .12vw),max(calc(1rem - 1.56px),.9rem))/1.2 var(--font-ui);letter-spacing:.02em;text-transform:uppercase;transition:background .18s}
.campaign-page .campaign-button:hover{background:var(--brand-red-deep)}
.campaign-page a:focus-visible{outline:3px solid var(--focus);outline-offset:5px}
.campaign-page .campaign-enroll a:focus-visible{outline-color:#fff}
.campaign-intro{position:relative;background:#f2f2f2;padding:3.3vmax 0;color:#fff;isolation:isolate}
.campaign-intro::before{content:"";position:absolute;inset:0;background:linear-gradient(#ffffffeb,#ffffffeb),var(--campaign-background) center/cover;z-index:-1;filter:grayscale(1)}
.campaign-hero{grid-template-rows:repeat(22,minmax(var(--row),auto))}
.campaign-page .campaign-discover{grid-area:1/3/5/25;z-index:2;text-align:center;font-size:calc(clamp(0px,calc(3.6vmax + 1rem),4rem) * 1.63);line-height:1.144;color:var(--brand-red);margin:0}
.campaign-hero-color{grid-area:3/2/21/16;background:var(--campaign-light);z-index:0;box-shadow:1.147px 1.638px 3px #112c5626}
.campaign-page .campaign-headline{grid-area:6/3/13/14;z-index:2;color:var(--brand-navy);margin:0}
.campaign-page .campaign-location{grid-area:13/3/15/14;z-index:2;align-self:start;margin:0;color:var(--brand-navy);font-family:var(--font-display);font-size:min(calc(.72vw + 1rem),1.6rem)}
.campaign-badges{grid-area:14/3/16/13;z-index:2;min-height:0;padding:0}
.campaign-badges svg{position:absolute;inset:0;display:block;width:100%;height:100%;overflow:visible}
.campaign-badge-label{fill:var(--brand-navy);font:700 50px var(--font-ui);letter-spacing:5.5px}
.campaign-hero-media{grid-area:5/14/22/26;z-index:3}
.campaign-watch{grid-area:11/18/15/22;z-index:4;display:block;width:100%;height:100%;min-height:0;text-decoration:none;color:#fff!important;filter:drop-shadow(0 2px 5px #112c5699)}
.campaign-watch-art{position:absolute;inset:0;display:block;width:100%;height:100%}
.campaign-watch-art text{fill:#fff;font:700 92px var(--font-ui);letter-spacing:0;paint-order:stroke;stroke:var(--brand-navy);stroke-width:3px}
.campaign-play{fill:#112c56cc;stroke:#fff;stroke-width:22px}
.campaign-watch:hover .campaign-play{fill:var(--brand-navy)}
.campaign-watch-label-background{fill:#112c56e6}
.campaign-hero-cta{grid-area:17/3/19/8;z-index:2}
.campaign-mission{padding:4.4vmax 0;min-height:44vh;background:#fff}
.campaign-mission-grid{--gap:11px;--rowgap:11px;grid-template-rows:repeat(14,minmax(var(--row),auto))}
.campaign-mission-color{grid-area:2/2/11/8;background:var(--campaign-light);box-shadow:1.147px 1.638px 3px #112c5626}
.campaign-mission-photo{grid-area:3/3/15/12}
.campaign-mission-copy{grid-area:3/13/11/25}
.campaign-mission-cta{grid-area:11/13/13/18}
.campaign-proof{background:var(--campaign-light);color:var(--brand-navy);padding:1.2vmax 0;min-height:12vh}
.campaign-proof-grid{--gap:14px;--rowgap:14px;grid-template-rows:repeat(36,minmax(var(--row),auto))}
.campaign-page .campaign-proof-copy{padding:12%;color:var(--brand-navy);background:#fff;height:100%;align-self:stretch}
.campaign-page .campaign-proof-copy h2{font-size:min(calc(1.32vw + 1rem),2.1rem);line-height:1.2428;margin:0 0 2rem;color:inherit}
.campaign-page .campaign-proof-copy p{margin:0}
.campaign-ornament{font:400 min(calc(.36vw + 1rem),1.3rem)/1.6 var(--font-ui);letter-spacing:.15em;color:var(--gold-mid);margin:0}
.campaign-page main .campaign-source{display:inline;color:inherit;font:inherit;margin:0;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:.12em}
.campaign-proof-academic{grid-area:3/4/13/13}
.campaign-proof-photo-one{grid-area:3/13/13/24}
.campaign-proof-photo-two{grid-area:13/4/23/15}
.campaign-proof-community{grid-area:23/4/33/13}
.campaign-proof-photo-three{grid-area:23/13/33/24}
.campaign-proof-opportunities{grid-area:13/15/23/24}
.campaign-discover-school{grid-area:34/11/36/17}
.campaign-enroll{position:relative;padding:5vmax 0;min-height:50vh;color:#fff;background:var(--brand-navy);isolation:isolate}
.campaign-enroll::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(#112c56d1,#112c56d1),var(--campaign-enroll-background) center/cover}
.campaign-enroll-grid{--gap:11px;--rowgap:11px;grid-template-rows:repeat(12,minmax(var(--row),auto))}
.campaign-enroll-copy{grid-area:2/2/9/13}
.campaign-page .campaign-enroll h2{color:#fff}
.campaign-enroll-cta{grid-area:9/2/11/8}
.campaign-map-frame{grid-area:1/15/11/26;background:#e3e9f3;overflow:hidden;min-height:200px}
.campaign-map-frame iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.campaign-page .campaign-map-caption{grid-area:11/15/13/26;margin:0;font-size:1rem;line-height:1.6;color:#fff}
.campaign-map-caption a{color:#fff}
@media screen and (max-width:767px){
 .campaign-grid{--columns:8;--gutter:6vw;--row:max(24px,1.5rem)}
 .campaign-page main h1{font-size:calc(clamp(0px,calc(3.6vmax + 1rem),4rem) * .71)}
 .campaign-hero{grid-template-rows:repeat(23,minmax(max(24px,1.5rem),auto))}
 .campaign-page .campaign-discover{grid-area:1/2/3/10;font-size:calc(clamp(0px,calc(3.6vmax + 1rem),4rem) * .79)}
 .campaign-hero-color{grid-area:3/1/24/11}
 .campaign-page .campaign-headline{grid-area:4/3/9/9}
 .campaign-badges{grid-area:8/2/10/10}
 .campaign-page .campaign-location{grid-area:10/3/12/10}
 .campaign-hero-media{grid-area:12/2/19/10}
 .campaign-watch{grid-area:14/3/17/9}
 .campaign-hero-cta{grid-area:20/3/22/9}
 .campaign-mission-grid{grid-template-rows:repeat(19,minmax(max(24px,1.5rem),auto))}
 .campaign-mission-color{grid-area:1/2/7/10}
 .campaign-mission-photo{grid-area:2/2/8/10}
 .campaign-mission-copy{grid-area:8/2/18/10;align-self:center}
 .campaign-mission-cta{grid-area:18/2/20/8}
 .campaign-proof-grid{grid-template-rows:repeat(51,minmax(max(24px,1.5rem),auto))}
 .campaign-proof-academic{grid-area:2/2/12/10}
 .campaign-proof-photo-one{grid-area:12/2/17/10}
 .campaign-proof-photo-two{grid-area:17/2/22/10}
 .campaign-proof-community{grid-area:22/2/32/10}
 .campaign-proof-photo-three{grid-area:32/2/38/10}
 .campaign-proof-opportunities{grid-area:38/2/48/10}
 .campaign-discover-school{grid-area:49/3/51/9}
 .campaign-enroll-grid{grid-template-rows:repeat(28,minmax(max(24px,1.5rem),auto))}
 .campaign-enroll-copy{grid-area:1/2/11/10}
 .campaign-page .campaign-enroll h2{font-size:calc(clamp(0px,calc(2.16vmax + 1rem),2.8rem) * 1.27)}
 .campaign-enroll-cta{grid-area:11/3/13/9}
 .campaign-map-frame{grid-area:14/2/26/10}
 .campaign-page .campaign-map-caption{grid-area:26/2/29/10;font-size:1rem}
 .funnel-page .funnel-shell{width:calc(100% - 36px);grid-template-columns:1fr;gap:25px;margin:35px auto 50px}
 .funnel-page .funnel-panel{padding:25px}
 .funnel-page .funnel-campus-card img{max-height:220px}
 .funnel-page .funnel-shell h1{font-size:2.35rem}
}
@media screen and (max-width:767px) and (orientation:portrait){
 .campaign-page main h2{font-size:calc(1.8 * (.012 * min(100vh,900px)) + 1rem)}
 .campaign-page main p{font-size:calc(.3 * (.012 * min(100vh,900px)) + 1rem)}
 .campaign-page .campaign-proof-copy h2{font-size:calc(1.1 * (.012 * min(100vh,900px)) + 1rem)}
 .campaign-page .campaign-location{font-size:calc(.6 * (.012 * min(100vh,900px)) + 1rem)}
 .campaign-page .campaign-enroll h2{font-size:calc(clamp(0px,calc(2.16vmax + 1rem),2.8rem) * 1.27)}
 .campaign-page .campaign-button{font-size:calc(1rem - .0012 * min(100vh,900px))}
}
@media(prefers-reduced-motion:reduce){.campaign-page *{scroll-behavior:auto!important;transition:none!important}}
@media(forced-colors:active){.campaign-page .campaign-button{border:2px solid ButtonText}.campaign-page .campaign-play{stroke:LinkText}.campaign-watch-art path,.campaign-watch-art text{fill:LinkText;stroke:none}.campaign-watch-label-background{fill:Canvas}.campaign-page a:focus-visible{outline-color:Highlight}}
.funnel-page .funnel-shell{width:min(calc(100% - 48px),1100px);margin:55px auto 75px;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:50px;align-items:start}.funnel-page .funnel-shell h1{font-family:var(--font-display);font-weight:400;font-size:clamp(2rem,4vw,3.5rem);line-height:1.23;color:#112c56}.funnel-page .funnel-panel{background:#f4f5f7;padding:32px;border-top:4px solid var(--brand-red)}.funnel-page .funnel-panel label{display:block;font-weight:650;margin:18px 0 8px}.funnel-page .funnel-panel input:not([type=checkbox]),.funnel-page .funnel-panel select,.funnel-page .funnel-panel textarea{width:100%;padding:13px;border:1px solid #8490a2;border-radius:0;font-size:16px;min-height:48px;background:#fff}.funnel-page .funnel-panel textarea{min-height:112px}.funnel-page .funnel-panel .check-label{display:flex;align-items:flex-start;gap:10px;font-size:.875rem;font-weight:400;line-height:1.6}.funnel-page .funnel-panel input[type=checkbox]{margin-top:5px;min-width:18px;min-height:18px}.funnel-page .funnel-panel button{margin-top:20px}.funnel-page .funnel-status{margin-top:16px;line-height:1.6}.funnel-page .funnel-status:empty{display:none}.funnel-page .funnel-error{color:#ae2024}.funnel-page .funnel-small{font-size:.86rem;line-height:1.65}.funnel-page .funnel-campus-card{margin-top:28px;border-top:1px solid #d1d8e3;padding-top:24px}.funnel-page .funnel-campus-card img{width:100%;aspect-ratio:1.8;object-fit:cover;margin-bottom:16px}.funnel-page .funnel-confirmation{max-width:760px;margin:60px auto;padding:32px 24px}.funnel-page .funnel-confirmation h1{font-size:clamp(2rem,4vw,3.4rem);line-height:1.2}.funnel-page .funnel-confirmation .notice{margin:24px 0}.funnel-page .funnel-diagnostics{background:#f4f5f7;padding:18px;margin-top:28px}.funnel-page .funnel-choice{display:block;background:#f4f5f7;border-left:4px solid #112c56;padding:24px;margin:20px 0}.funnel-page .funnel-choice h2{font-size:1.35rem;margin-top:0}.funnel-page .funnel-choice .btn{margin-top:10px}.application-choice.is-campaign-selected{border:2px solid var(--brand-red);background:#fff}.campaign-application-context{margin:0 0 28px;padding:22px;background:#f3f5f8;border-left:4px solid var(--brand-red)}.campaign-application-context h2{margin:0 0 8px;font-size:1.6rem}.campaign-application-context p{margin:6px 0}.campaign-application-context a{font-weight:600}
.application-choice[hidden]{display:none!important}
.campaign-consent{position:fixed;left:20px;bottom:20px;max-height:calc(100dvh - 40px);overflow-y:auto;max-width:min(420px,calc(100% - 40px));z-index:80;background:#fff;padding:20px;border:1px solid #aeb9ca;box-shadow:0 12px 45px #112c562b;color:#112c56;font:400 .87rem/1.65 "Public Sans",sans-serif}.campaign-consent p{margin:0 0 12px}.campaign-consent button{border:1px solid #112c56;background:white;color:#112c56;min-height:44px;padding:8px 12px;margin:0 8px 10px 0;cursor:pointer}.campaign-consent button:first-of-type{background:#112c56;color:white}.campaign-consent a{display:block;text-underline-offset:4px}.campaign-consent button:focus-visible{outline:3px solid var(--brand-red);outline-offset:3px}
@media(max-width:767px){.funnel-page .funnel-shell{width:calc(100% - 36px);grid-template-columns:1fr;gap:25px;margin:35px auto 50px}.funnel-page .funnel-panel{padding:25px}}

.no-js #campaign-inquiry{display:none}

.campaign-page.has-sticky,.funnel-page.has-sticky{padding-bottom:0}

/* Reference underline draws from left to right over 0.5 seconds. */
.campaign-page main h2 span{text-decoration:none;background-image:linear-gradient(var(--brand-red),var(--brand-red));background-repeat:no-repeat;background-position:left bottom;background-size:100% .1em;box-decoration-break:clone;-webkit-box-decoration-break:clone;transition:background-size .5s ease}
.campaign-page main h2 span.campaign-underline-pending{background-size:0 .1em}

/* Campaign accessibility: intrinsic flow remains available with enlarged text. */
.funnel-page .funnel-shell>*,.funnel-page .funnel-panel,.funnel-page .funnel-choice{min-width:0;overflow-wrap:anywhere}
.funnel-page .funnel-panel :is(input,select,textarea)[aria-invalid="true"]{border:2px solid #92232b}
.funnel-page .funnel-panel :is(input,select,textarea,button):focus-visible,.funnel-page .funnel-choice :is(button,select,textarea):focus-visible{outline:3px solid var(--focus);outline-offset:4px;box-shadow:0 0 0 2px #fff}
.funnel-page .funnel-choice :is(select,textarea){display:block;width:100%;max-width:100%;min-height:48px;padding:12px;margin-block:8px 16px;border:1px solid #738097;font:inherit;background:#fff;color:var(--brand-navy)}
.funnel-page .funnel-choice button{min-height:44px;padding:10px 15px;white-space:normal}
.funnel-page .funnel-feedback{padding:16px;margin-block:16px;background:#f0f4f7;border-left:4px solid var(--brand-navy)}
.funnel-page .funnel-feedback:empty{display:none}
.campaign-page main :is(h1,h2,p){overflow-wrap:anywhere}
.campaign-consent :is(a,button){scroll-margin-block:16px}
@media(max-width:767px){.campaign-consent{position:static;max-width:100%;max-height:none;margin:20px;border:1px solid #738097}}

@media(max-width:360px){.campaign-page .campaign-headline{grid-area:4/2/9/10}}
