/* Bigedu Foundation — shared, dependency-free responsive styles. */
:root{--ink:#173242;--body:#344754;--muted:#64727a;--red:#a32a34;--red-dark:#7e1f28;--line:#dce2e4;--paper:#fff;--wash:#f3f5f5;--soft-red:#faf2f2;--width:1160px}
*{box-sizing:border-box}
html{scroll-behavior:auto;scroll-padding-top:24px}
body{margin:0;color:var(--body);background:var(--paper);font-family:Arial,Helvetica,sans-serif;font-size:16px;line-height:1.65;-webkit-text-size-adjust:100%}
a{color:var(--red);text-decoration-thickness:1px;text-underline-offset:4px}
a:hover{color:var(--red-dark)}
a:focus-visible,summary:focus-visible{outline:3px solid var(--red);outline-offset:5px}
img{display:block;max-width:100%;height:auto}
h1,h2,h3,p,ul,ol,figure{margin-top:0}
h1,h2,h3{color:var(--ink)}
h1,h2{font-family:Georgia,'Times New Roman',serif;font-weight:400;line-height:1.18;letter-spacing:-.025em}
h1{font-size:clamp(2.2rem,4.4vw,3.5rem);margin-bottom:20px}
h2{font-size:1.95rem;margin-bottom:18px}
h3{font-size:1.06rem;line-height:1.4;margin-bottom:9px}
p{margin-bottom:18px}
ul,ol{padding-left:22px;margin-bottom:20px}
li+li{margin-top:5px}
address{font-style:normal}
.container{width:min(var(--width),calc(100% - 64px));margin-inline:auto}
.skip-link{position:fixed;top:-80px;left:16px;padding:10px 18px;background:var(--ink);color:white;z-index:20}
.skip-link:focus{top:12px;color:white}
.site-header{position:relative;border-top:4px solid var(--red);background:white;z-index:5}
.header-inner{min-height:102px;display:flex;align-items:center;justify-content:space-between;gap:32px}
.brand{display:inline-block;flex-shrink:0}
.brand img{width:252px;height:auto}
.header-note{text-align:right;color:var(--muted);font-size:.8rem;line-height:1.7}
.header-note span{display:block;font-size:.68rem;text-transform:uppercase;letter-spacing:.18em;color:var(--ink);margin-bottom:4px}
.header-note a{color:var(--body);text-decoration:none}
.desktop-nav{border-block:1px solid var(--line)}
.nav-links{display:flex;justify-content:space-between;align-items:center;gap:4px}
.nav-links a{position:relative;display:block;padding:14px 10px;color:var(--body);text-decoration:none;font-size:.86rem;font-weight:600;white-space:nowrap}
.nav-links a:first-child{padding-left:0}
.nav-links a:last-child{padding-right:0}
.nav-links a:hover,.nav-links a[aria-current=page]{color:var(--red)}
.nav-links a[aria-current=page]:after{position:absolute;bottom:-1px;left:10px;right:10px;height:3px;background:var(--red);content:''}
.nav-links a:first-child[aria-current=page]:after{left:0}
.nav-links a:last-child[aria-current=page]:after{right:0}
.mobile-nav{display:none}
.eyebrow{display:block;margin-bottom:14px;color:var(--red);font-size:.7rem;font-weight:700;line-height:1.5;letter-spacing:.17em;text-transform:uppercase}
.hero{display:grid;grid-template-columns:1.05fr 1fr;align-items:center;gap:64px;padding-block:52px 44px}
.hero h1{max-width:570px}
.hero .intro{max-width:490px;font-size:1.06rem}
.hero-media{margin:0}
.hero-media img{width:100%;aspect-ratio:8/3;object-fit:cover}
.hero-media figcaption{display:flex;align-items:center;gap:12px;margin-top:17px;color:var(--muted);font-size:.73rem;letter-spacing:.04em}
.hero-media figcaption:before{content:'';height:1px;width:28px;background:var(--red)}
.button{display:inline-flex;align-items:center;justify-content:center;gap:28px;min-height:44px;padding:10px 20px;background:var(--red);color:white;text-decoration:none;font-size:.84rem;font-weight:600;border:1px solid var(--red)}
.button:hover{color:white;background:var(--red-dark);border-color:var(--red-dark)}
.button.secondary{color:var(--ink);background:white;border-color:var(--line)}
.button.secondary:hover{color:var(--red);border-color:var(--red)}
.actions{display:flex;flex-wrap:wrap;align-items:center;gap:12px;margin-top:25px}
.text-link{font-size:.88rem;font-weight:600;text-decoration:none}
.arrow{display:inline-block;margin-left:10px}
.section{padding-block:38px;border-top:1px solid var(--line)}
.section-heading{display:flex;align-items:baseline;justify-content:space-between;gap:24px;margin-bottom:24px}
.section-heading h2{margin-bottom:0}
.section-heading p{margin:0;color:var(--muted);font-size:.88rem}
.programs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:36px}
.program{position:relative;padding-top:19px;border-top:2px solid var(--ink)}
.program .number{display:block;font-size:.68rem;color:var(--red);font-weight:700;letter-spacing:.12em;margin-bottom:12px}
.program h3{font-family:Georgia,'Times New Roman',serif;font-weight:400;font-size:1.5rem;margin-bottom:12px}
.program p{font-size:.91rem;margin-bottom:13px}
.band{background:var(--wash);border-top:1px solid var(--line)}
.band-inner{display:grid;grid-template-columns:1fr 1fr;gap:60px;padding-block:32px}
.band-inner h2{font-size:1.55rem;margin-bottom:12px}
.band-inner p{font-size:.91rem;margin-bottom:12px}
.page-heading{padding-block:37px 29px;border-bottom:1px solid var(--line);margin-bottom:32px}
.breadcrumb{font-size:.74rem;margin-bottom:20px;color:var(--muted)}
.breadcrumb a{color:var(--muted);text-decoration:none}
.breadcrumb span{margin-inline:8px;color:#a6b0b5}
.page-heading h1{font-size:clamp(2rem,3.8vw,2.8rem);margin-bottom:12px}
.page-heading .lead{max-width:760px;margin:0;font-size:1.02rem}
.page-content{padding-bottom:48px}
.page-layout{display:grid;grid-template-columns:minmax(0,1fr) 260px;gap:64px;align-items:start}
.prose{max-width:780px}
.prose>h2:not(:first-child){margin-top:32px}
.prose>h3{margin-top:26px}
.aside{padding:22px;background:var(--wash);border-top:2px solid var(--ink);font-size:.87rem}
.aside h2{font-family:Arial,Helvetica,sans-serif;font-size:.9rem;font-weight:700;letter-spacing:0;line-height:1.5;margin-bottom:14px}
.aside p:last-child{margin-bottom:0}
.aside ul{list-style:none;padding:0;margin:0}
.aside li+li{margin-top:10px}
.aside a{display:block;text-decoration:none;color:var(--body)}
.aside a:hover{color:var(--red)}
.aside .aside-note{border-top:1px solid var(--line);margin-top:20px;padding-top:16px;color:var(--muted);font-size:.79rem}
.note{padding:18px 22px;background:var(--wash);border-left:3px solid var(--red);margin-block:24px;font-size:.92rem}
.note p:last-child{margin:0}
.tag{display:inline-block;margin-bottom:12px;color:var(--red);background:var(--soft-red);padding:3px 8px;font-size:.67rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;vertical-align:middle}
.tag.neutral{background:var(--wash);color:var(--muted)}
.journal-row{display:grid;grid-template-columns:140px minmax(0,1fr);gap:30px;padding-block:0 30px;margin-bottom:30px;border-bottom:1px solid var(--line)}
.journal-row:last-child{margin-bottom:0}
.journal-cover{width:140px;border:1px solid var(--line)}
.journal-row h2{font-size:1.7rem;margin-bottom:9px}
.journal-row p{font-size:.94rem;margin-bottom:14px;max-width:730px}
.metadata{font-size:.75rem!important;color:var(--muted);margin-bottom:12px!important}
.inline-links{display:flex;flex-wrap:wrap;gap:10px 24px;margin-top:17px}
.inline-links a{font-size:.85rem;font-weight:600}
.document-list{border-top:2px solid var(--ink)}
.document-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:18px;align-items:center;padding:20px 0;border-bottom:1px solid var(--line)}
.document-row h2{font-family:Arial,Helvetica,sans-serif;font-size:1rem;font-weight:600;letter-spacing:0;line-height:1.4;margin-bottom:4px}
.document-row p{font-size:.8rem;color:var(--muted);margin:0}
.file-links{display:flex;gap:10px;flex-wrap:wrap;justify-content:flex-end;max-width:290px}
.file-links a{display:block;min-height:44px;min-width:76px;border:1px solid var(--line);padding:8px 12px;font-size:.78rem;text-align:center;text-decoration:none;font-weight:600}
.file-links a:hover{border-color:var(--red);background:var(--soft-red)}
.file-links small{display:block;font-weight:400;font-size:.65rem;color:var(--muted);line-height:1.3;margin-top:3px}
.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:48px}
.contact-block{border-top:2px solid var(--ink);padding-top:21px}
.contact-block h2{font-size:1.6rem;margin-bottom:16px}
.contact-block dl{margin:0}
.contact-block dt{font-size:.74rem;font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:.08em;margin-top:17px}
.contact-block dd{margin:4px 0 0}
.contact-block a{overflow-wrap:anywhere}
.service-list{list-style:none;padding:0;counter-reset:services}
.service-list li{position:relative;padding:16px 0 16px 43px;border-top:1px solid var(--line);counter-increment:services}
.service-list li:before{content:'0' counter(services);position:absolute;left:0;top:18px;font-size:.73rem;font-weight:700;color:var(--red)}
.service-list h3{margin-bottom:5px}
.service-list p{font-size:.91rem;margin:0}
.policy-layout{grid-template-columns:230px minmax(0,1fr);gap:54px}
.policy-toc{position:sticky;top:24px}
.policy-section{padding-bottom:26px;margin-bottom:26px;border-bottom:1px solid var(--line);scroll-margin-top:25px}
.policy-section h2{font-size:1.75rem;margin-bottom:20px}
.policy-section h3{font-size:.96rem;margin-top:22px;margin-bottom:7px}
.policy-section p,.policy-section li{font-size:.92rem}
.policy-section p:last-child{margin-bottom:0}
.policy-section .eyebrow{margin-top:0}
.policy-intro{font-size:.94rem;margin-bottom:28px}
.policy-section#ai{padding:24px;background:var(--wash);border-top:3px solid var(--red)}
.reference-list{font-size:.82rem}
.site-footer{background:var(--ink);color:#e0e6e9}
.footer-inner{display:grid;grid-template-columns:1fr auto;gap:28px;align-items:start;padding-block:29px}
.footer-title{font-family:Georgia,'Times New Roman',serif;font-size:1.25rem;color:white;margin-bottom:5px}
.footer-inner p{margin:0;font-size:.76rem;color:#c1ccd1}
.footer-links{display:flex;gap:11px 24px;flex-wrap:wrap;justify-content:flex-end;max-width:480px;padding-top:5px}
.footer-links a{color:#eef2f4;font-size:.76rem;text-decoration:none}
.footer-links a:hover{text-decoration:underline}
.footer-bottom{border-top:1px solid #38505d;padding-block:13px;font-size:.69rem;color:#b6c4cb;display:flex;justify-content:space-between;gap:16px}
@media(min-width:1100px){.hero h1{font-size:3.25rem}}
@media(max-width:1050px){.nav-links a{font-size:.77rem;padding-inline:7px}.hero{gap:36px}.page-layout{gap:36px;grid-template-columns:minmax(0,1fr) 230px}.policy-layout{grid-template-columns:210px minmax(0,1fr)}}
@media(max-width:900px){.container{width:calc(100% - 40px)}.header-inner{min-height:88px;gap:20px}.brand img{width:226px}.header-note,.desktop-nav{display:none}.mobile-nav{display:block}.mobile-nav summary{display:flex;align-items:center;gap:16px;min-height:44px;padding:8px 0 8px 14px;color:var(--ink);font-size:.8rem;font-weight:700;cursor:pointer;list-style:none}.mobile-nav summary::-webkit-details-marker{display:none}.mobile-nav summary:after{content:'+';font-size:1.6rem;font-weight:400;line-height:1}.mobile-nav[open] summary:after{content:'−'}.mobile-nav nav{position:absolute;top:100%;left:0;right:0;background:white;border-block:1px solid var(--line);box-shadow:0 10px 16px #17324212;padding:12px 20px 18px;display:grid;grid-template-columns:1fr 1fr;gap:0 24px}.mobile-nav nav a{padding:10px 0;display:block;color:var(--body);font-size:.86rem;text-decoration:none;border-bottom:1px solid var(--line)}.mobile-nav nav a[aria-current=page]{color:var(--red);font-weight:700}.hero{padding-block:36px;gap:30px;grid-template-columns:1.1fr .9fr}.hero h1{font-size:2.45rem}.hero .intro{font-size:.94rem}.hero-media figcaption{font-size:.66rem}.page-layout{grid-template-columns:minmax(0,1fr)}.page-layout>.aside{max-width:none}.policy-layout{grid-template-columns:1fr}.policy-toc{position:static}.policy-toc ul{display:flex;flex-wrap:wrap;gap:8px 20px}.policy-toc li+li{margin-top:0}.policy-toc .aside-note{margin-top:15px;padding-top:12px}.programs{gap:24px}.program h3{font-size:1.35rem}.band-inner{gap:36px}.footer-links{max-width:350px}}
@media(max-width:620px){body{font-size:15px}.container{width:calc(100% - 36px)}.header-inner{min-height:80px}.brand img{width:min(207px,54vw)}.mobile-nav summary{gap:9px}.hero{grid-template-columns:1fr;gap:25px;padding-block:31px}.hero h1{font-size:clamp(1.65rem,7.8vw,2.2rem);max-width:480px;margin-bottom:17px}.hero .intro{font-size:1rem;max-width:480px}.hero-media img{aspect-ratio:8/3}.hero-media figcaption{margin-top:10px}.eyebrow{font-size:.64rem;margin-bottom:12px}.actions{margin-top:21px}.section{padding-block:29px}.section-heading{align-items:flex-start;margin-bottom:21px;gap:16px}.section-heading h2{font-size:1.65rem}.section-heading p{display:none}.programs{grid-template-columns:1fr;gap:24px}.program{padding-top:15px}.program .number{display:block;margin-top:0;margin-bottom:8px}.program h3{font-size:1.5rem;margin-bottom:9px}.program p{font-size:.92rem;margin-bottom:9px}.band-inner{grid-template-columns:1fr;gap:26px;padding-block:28px}.band-inner>div+div{border-top:1px solid var(--line);padding-top:24px}.page-heading{padding-block:23px 24px;margin-bottom:26px}.breadcrumb{margin-bottom:15px;font-size:.7rem}.page-heading h1{font-size:2.25rem}.page-heading .lead{font-size:.96rem}.page-content{padding-bottom:32px}.page-layout{gap:26px}.journal-row{grid-template-columns:86px minmax(0,1fr);gap:19px;padding-bottom:25px;margin-bottom:25px}.journal-cover{width:86px}.journal-row h2{font-size:1.4rem}.journal-row p{font-size:.88rem}.journal-row .tag{font-size:.57rem}.metadata{font-size:.68rem!important}.inline-links{gap:9px 19px}.inline-links a{font-size:.79rem}.document-row{grid-template-columns:1fr;gap:12px;padding-block:17px}.file-links{justify-content:flex-start;max-width:none}.file-links a{min-width:93px}.contact-grid{grid-template-columns:1fr;gap:29px}.footer-inner{grid-template-columns:1fr;gap:19px;padding-block:25px}.footer-links{justify-content:flex-start;gap:10px 21px;max-width:none}.footer-bottom{display:block;font-size:.66rem}.footer-bottom span{display:block;margin-top:4px}.policy-section h2{font-size:1.55rem}.policy-section#ai{padding:20px}.note{padding:16px 18px}.button{gap:24px}.prose>h2{font-size:1.65rem}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
@media print{.site-header,.site-footer,.skip-link,.policy-toc,.actions{display:none}.container{width:100%;max-width:none}.page-heading{padding-top:0}.page-layout,.policy-layout{display:block}.hero{padding-top:0}.hero-media{display:none}a{color:inherit}.policy-section{break-inside:avoid}body{font-size:11pt}.page-content{padding:0}}
