/* UFTBC: edit theme colors here. Responsive, dependency-free stylesheet. */
:root { --navy:#102b78; --blue:#4169E1; --cyan:#11b8ec; --ink:#182640; --muted:#4d5870; --paper:#fff; --soft:#eff5fc; --border:#d7e2f0; --shadow:0 14px 36px rgba(21,48,109,.12); }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; color:var(--ink); background:#fff; font:16px/1.7 system-ui,-apple-system,"Segoe UI",Arial,sans-serif; }
a { color:#4169E1; text-underline-offset:3px; }
a:hover { color:#0079be; }
button,input,textarea { font:inherit; }
button,a { -webkit-tap-highlight-color:transparent; }
:focus-visible { outline:3px solid #05a9df; outline-offset:3px; }
.container { width:min(1160px,calc(100% - 40px)); margin-inline:auto; }
.skip { position:absolute; left:12px; top:-100px; z-index:100; background:#fff; padding:8px; }
.skip:focus { top:8px; }
.masthead { padding:0; text-align:center; }
.brand img { display:block; width:100%; height:auto; margin-inline:auto; }
.nav-wrap {  background: #4169E1; position:relative; z-index:20; }
.navigation { display:flex; align-items:center; justify-content:center; }
.menu { display:flex; align-items:center; justify-content:center; list-style:none; padding:0; margin:0; gap:1px; }
.menu li { position:relative; }
.menu a { color:white; display:block; text-decoration:none; padding:15px 13px; font-weight:600; }
.menu a:hover,.menu a[aria-current="page"],.submenu-toggle:hover { background:#D4AF37; }
.nav-parent { display:flex; align-items:center; }
.submenu-toggle { border:0; cursor:pointer; background:transparent; color:#fff; padding:14px 10px 14px 2px; }
.submenu { list-style:none; padding:6px; margin:0; background:var(--navy); border-radius:0 0 8px 8px; position:absolute; top:100%; left:0; min-width:190px; box-shadow:var(--shadow); display:none; }
.submenu a { padding:9px 13px; }
.has-submenu:hover > .submenu,.has-submenu:focus-within > .submenu,.has-submenu.open > .submenu { display:block; }
.menu-toggle { display:none; background:transparent; color:#fff; border:1px solid #83a4e2; border-radius:7px; padding:8px 14px; cursor:pointer; margin:10px 0; }
.page-hero { background:linear-gradient(115deg,#eefaff 0%,#e7efff 52%,#f8fbff 100%); padding:12px 0 7px; border-bottom:1px solid #dde9f7; }
.page-hero .container { max-width:1160px; }
.eyebrow,.card-tag { color:#075ac6; font-size:.81rem; font-weight:800; letter-spacing:.12em; text-transform:uppercase; }
h1,h2,h3 { font-family:Georgia,"Times New Roman",serif; line-height:1.2; color:var(--navy); }
h1 { font-size:clamp(2.2rem,5vw,3.5rem); max-width:100%; margin:.3em 0; }
h2 { font-size:clamp(1.5rem,3vw,2.2rem); margin:0 0 22px; }
h3 { font-size:1.25rem; margin:0 0 12px; }
p { margin:0 0 1.2em; }
.lead { max-width:690px; font-size:1.17rem; color:#354867; }
.content-section { padding-block:54px 75px; }
.content-section > h2:not(:first-child) { margin-top:44px; }
.card-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:20px; margin:25px 0 45px; }
.card,.panel,.bio { background:#fff; border:1px solid var(--border); border-radius:12px; padding:26px; box-shadow:var(--shadow); }
.card {  border-top: 4px solid #D4AF37; }
.card-tag { margin:0 0 12px; }
.card h3 { margin:0 0 14px; }
.card p:last-child { margin-bottom:0; }
.panel { background:#f5f9ff; margin:30px 0; }
.panel h2 { font-size:1.55rem; }
.actions { display:flex; gap:13px; flex-wrap:wrap; margin:24px 0 35px; }
.button { display:inline-block; text-decoration:none; color:#fff; background:var(--blue); padding:12px 21px; border:2px solid var(--blue); border-radius:7px; font-weight:700; cursor:pointer; text-align:center; }
.button:hover { color:#fff; background:#0c318f; border-color:#0c318f; }
.button-outline { background:transparent; color:var(--navy); }
.button-outline:hover { color:white; }
.three-cols { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:25px; }
.name-list { padding-left:22px; }
.name-list li { margin-bottom:11px; }
.bio { margin-bottom:25px; }
.bio h2 { margin-bottom:6px; }
.notice { padding:16px 20px; background:#f3f7ff; border-left:4px solid #1460d3; border-radius:4px; }
.policy h3 { margin-top:26px; }
.small { font-size:.9rem; color:var(--muted); }
.contact-layout { display:grid; grid-template-columns:minmax(0,1.6fr) minmax(270px,1fr); gap:32px; align-items:start; }
.contact-layout .panel { margin:0; }
.site-form { width:100%; }
.form-section { border:1px solid var(--border); border-radius:12px; margin:0 0 30px; padding:28px; box-shadow:0 8px 25px rgba(21,48,109,.08); min-width:0; }
.form-section legend { font:bold 1.48rem Georgia,serif; padding:0 10px; color:var(--navy); }
.fields { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:20px; }
.field { display:flex; flex-direction:column; gap:6px; min-width:0; }
.field > span { font-weight:650; }
.field input:not([type="radio"]):not([type="checkbox"]),.field textarea { width:100%; padding:11px 12px; border:1px solid #aebcd0; border-radius:6px; background:#fff; color:var(--ink); }
.field input[type="file"] { font-size:.88rem; }
.full { grid-column:1 / -1; }
.choices { display:flex; flex-wrap:wrap; gap:10px 22px; }
.choices label,.checkbox-row { cursor:pointer; }
.checkbox-row { flex-direction:row; align-items:baseline; }
.honeypot { position:absolute; width:1px; height:1px; opacity:0; overflow:hidden; left:-10000px; }
.footer { background:#091e54; color:#dce8ff; padding:43px 0 18px; }
.footer-grid { display:grid; grid-template-columns:1.5fr 1fr 1fr; gap:30px; }
.footer h2 { color:#fff; font:700 1.2rem system-ui,sans-serif; margin:0 0 11px; }
.footer a { color:#fff; }
.footer-last { border-top:1px solid #455d88; padding-top:18px; margin-top:22px; font-size:.85rem; }
@media(max-width:800px) {
 .navigation { align-items:stretch; flex-direction:column; }
 .menu-toggle { display:block; align-self:flex-start; }
 .menu { display:none; flex-direction:column; align-items:stretch; width:100%; padding:0 0 12px; }
 .menu.is-open { display:flex; }
 .menu a { padding:10px 14px; }
 .nav-parent > a { flex:1; }
 .submenu-toggle { padding:8px 18px; font-size:1.1rem; }
 .submenu { position:static; display:none; box-shadow:none; min-width:0; margin:0 0 0 18px; padding:0; border-left:2px solid #789be5; }
 .has-submenu:hover > .submenu,.has-submenu:focus-within > .submenu { display:none; }
 .has-submenu.open > .submenu { display:block; }
 .three-cols,.contact-layout { grid-template-columns:1fr; }
 .footer-grid { grid-template-columns:1fr 1fr; }
}
@media(max-width:550px) {
 .container { width:calc(100% - 30px); }
 .masthead { padding:14px 0; }
 .page-hero { padding:38px 0 44px; }
 .content-section { padding:36px 0 52px; }
 .card-grid,.fields,.footer-grid { grid-template-columns:1fr; }
 .card,.panel,.bio { padding:20px; }
 .form-section { padding:18px 14px; }
 .form-section legend { font-size:1.25rem; }
 .full { grid-column:auto; }
}
@media(prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } }

/* Added October 2026: printable applications, payment links and certificate. */
.document-figure { margin:2rem 0; }
.document-figure img { display:block; max-width:100%; width:auto; height:auto; border-radius:8px; box-shadow:var(--shadow); }
.document-figure figcaption { margin-top:.8rem; font-size:.9rem; color:var(--muted); }
.apply-options { padding-bottom:1rem; }
.apply-options h2:not(:first-child) { margin-top:2.5rem; }
.image-link { display:inline-block; max-width:100%; border-radius:8px; margin:.5rem 0 1.7rem; }
.image-link img { display:block; max-width:100%; height:auto; box-shadow:var(--shadow); border:1px solid var(--border); border-radius:8px; }
.image-link:hover img { box-shadow:0 16px 38px rgba(21,48,109,.24); }
.qr-link img { width:min(250px,100%); }
.cashapp-image { display:block; width:min(300px,100%); height:auto; }
.alternate-form { padding-top:0; }
.alternate-form details { border:1px solid var(--border); padding:18px; border-radius:10px; }
.alternate-form summary { cursor:pointer; font-weight:700; color:var(--navy); }
.alternate-form details[open] summary { margin-bottom:20px; }
