:root{font:16px/1.5 system-ui,sans-serif;color:#18283b;background:#f1f4f8}*{box-sizing:border-box}body{margin:0}header{background:#142f4f;color:white;padding:24px max(20px,calc((100% - 760px)/2));display:flex;flex-direction:column}header a{color:white;text-decoration:none;font-size:25px;font-weight:700}header span{color:#c2d3e6;font-size:14px}main{max-width:650px;margin:36px auto;background:white;border:1px solid #dfe5ed;border-radius:12px;padding:32px}h1{font-size:26px;margin-top:0}h2{font-size:20px;margin-top:28px}label{display:block;font-weight:600;margin:18px 0 6px}input{display:block;width:100%;font:inherit;padding:11px;border:1px solid #9aa9ba;border-radius:6px}input:focus{outline:3px solid #afcef3}button,.button{display:block;background:#185fa8;color:white;border:0;border-radius:6px;padding:14px 20px;font:600 17px system-ui;margin-top:24px;width:100%;cursor:pointer;text-align:center}button:disabled{opacity:.6;cursor:wait}.check{display:flex;align-items:flex-start;gap:10px;font-weight:400}.check input{width:20px;height:20px;flex-shrink:0;margin:2px 0}.grid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:12px}dl{background:#f3f6fa;padding:18px;border-radius:6px}dt{font-size:13px;color:#596c83;margin-top:10px}dt:first-child{margin-top:0}dd{margin:0;font-weight:600;overflow-wrap:anywhere}.hint,footer{font-size:14px;color:#5b6a7d}footer{text-align:center;padding:20px}.notice{background:#fff1d1;border-left:4px solid #b66a00;padding:12px}a{color:#185fa8}@media(max-width:680px){main{margin:16px;padding:22px}.grid{gap:8px}}

/* Foundation banner and two-column donation layout. */
:root{background:#eee;color:#242b35}
.site-header{display:block;text-align:center;background:#163568;padding:22px 24px}
.site-header a{font-size:clamp(20px,2.5vw,32px);font-weight:500;text-transform:uppercase;letter-spacing:.025em}
.brand-banner{background:#102b50;display:flex;align-items:center;justify-content:center;gap:48px;padding:24px;min-height:290px;color:#fff}
.brand-banner img{display:block;width:240px;height:240px;object-fit:contain;flex-shrink:0}
.banner-name{font-size:clamp(25px,3.1vw,42px);font-weight:650;line-height:1.2;margin:0 0 20px}
.banner-caption{font-size:18px;letter-spacing:.08em;color:#cbd8eb;margin:0}
.page-layout{max-width:1120px;margin:28px auto;display:grid;grid-template-columns:minmax(0,790px) minmax(230px,1fr);gap:30px;padding:0 20px;align-items:start}
main{width:100%;max-width:none;margin:0;border:0;border-radius:0;padding:28px;background:#fff;box-shadow:0 3px 18px #152b4610;min-width:0}
h1{background:#dbe5f6;padding:15px 18px;text-align:center;color:#172d4c;font-size:28px;line-height:1.25}
.welcome{text-align:center;font-weight:600;margin:0 0 22px;line-height:1.55}
.contact{padding:0 0 20px;overflow-wrap:anywhere}.contact h2{margin:0 0 24px;font-size:24px}.contact address{font-style:normal;line-height:1.6}.contact strong{display:inline-block;font-weight:500;margin-bottom:8px}.contact p{margin-top:20px}.contact a{text-underline-offset:3px}
footer{padding:12px 20px 28px}
@media(max-width:760px){.page-layout{grid-template-columns:1fr;gap:28px;margin:20px auto;padding:0 16px}.brand-banner{gap:20px;padding:24px 20px;min-height:210px}.brand-banner img{width:145px;height:145px}.banner-name{font-size:25px}.banner-caption{font-size:14px;letter-spacing:.03em}main{margin:0;padding:22px}.contact{padding:24px 8px 0;border-top:1px solid #ccd3dc}.contact h2{margin-bottom:16px}}
@media(max-width:420px){.brand-banner{flex-direction:column;gap:16px;text-align:center}.brand-banner img{width:150px;height:150px}.banner-name{font-size:24px;margin-bottom:12px}.site-header a{font-size:19px}h1{font-size:24px}.grid{grid-template-columns:1fr}main{padding:18px}}

/* USLEF homepage hero with original images hosted locally. */
.brand-banner{min-height:0;flex-direction:row;text-align:left;justify-content:flex-start;gap:22px;padding:16px max(20px,calc((100% - 1120px)/2));background:#25313e}
.brand-banner img{width:76px;height:76px}
.banner-name{font-size:clamp(19px,2.2vw,28px);margin:0 0 6px}
.banner-name br{display:none}
.banner-caption{font-size:14px;margin:0}
.foundation-hero{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));width:100%;background:#324663}
.hero-panel{position:relative;margin:0;min-width:0;height:660px;overflow:hidden}
.hero-panel img{display:block;width:100%;height:100%;object-fit:cover;object-position:center}
.hero-educate img{object-position:70% 0%}
.hero-panel figcaption{position:absolute;bottom:0;left:0;width:100%;padding:24px 8px;background:rgba(50,70,99,.85);color:white;text-align:center;font-size:clamp(25px,3.7vw,50px);font-weight:800;line-height:1.2;letter-spacing:-.02em}
@media(max-width:979px){.hero-panel{height:400px}.hero-panel figcaption{padding:20px 6px;font-size:clamp(23px,3.7vw,36px)}}
@media(max-width:600px){.brand-banner{gap:14px;padding:14px 18px}.brand-banner img{width:60px;height:60px}.banner-name{font-size:19px}.foundation-hero{grid-template-columns:1fr}.hero-panel{height:400px}.hero-panel figcaption{font-size:34px;padding:20px 8px}}
