*{box-sizing:border-box}
body{margin:0;background:#f5f4f0;color:#222;font-family:"Times New Roman",Georgia,serif;font-size:18px;line-height:1.5}
.banner{background:#e8e4d8;border-bottom:1px solid #b9b39f;text-align:center;font-size:14px;padding:6px 10px;color:#333;letter-spacing:.03em}
header{background:#fff;border-bottom:1px solid #cfcabb;padding:0 40px}
.mast{display:block;width:100%;max-width:1200px;height:120px;object-fit:cover;object-position:center;margin:0 auto;border-bottom:1px solid #cfcabb}
.top{max-width:1200px;margin:0 auto;display:flex;justify-content:space-between;align-items:baseline;flex-wrap:wrap;gap:6px;padding:12px 0 12px;font-size:15px;color:#444}
.top b{color:#000}
nav{max-width:1200px;margin:0 auto;display:flex;gap:4px;flex-wrap:wrap}
nav button{font:inherit;font-size:16px;background:#ecebe5;color:#222;border:1px solid #cfcabb;border-bottom:none;padding:10px 14px;cursor:pointer;max-width:240px;text-align:left;line-height:1.25}
nav button:hover{background:#e0ded4}
nav button[aria-selected="true"]{background:#f5f4f0;font-weight:bold;border-top:3px solid #000;padding-top:8px;color:#000;position:relative;top:1px}
main{max-width:1200px;margin:0 auto;padding:34px 40px 50px;min-height:560px}
h1,h2,h3,h4{color:#000;font-weight:bold}
h2{font-size:30px;margin:0 0 6px}
h3{font-size:21px;margin:0 0 6px}
.intro{margin:0 0 26px;color:#444;max-width:860px}
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(270px,1fr));gap:20px}
.card{background:#fff;border:1px solid #d6d1c2;padding:18px;display:flex;flex-direction:column;gap:6px}
.card h3{font-size:20px;margin:2px 0}
.card p{margin:0;font-size:16px;color:#444;flex:1}
.kind{font-size:12px;text-transform:uppercase;letter-spacing:.1em;color:#666}
.ph{align-self:flex-start;font-size:12px;border:1px dashed #8a8472;background:#f3efe0;padding:1px 7px;color:#333}
.fake{font-size:14px;color:#666;text-decoration:underline;margin-top:8px}
.slot{border:2px dashed #8a8472;background:#faf7ea;padding:16px;margin-top:8px;font-size:16px;color:#333}
.slot b{display:block;color:#000}
.hero{position:relative;margin:-34px -40px 28px;background:#222}
.hero img{display:block;width:100%;height:340px;object-fit:cover;object-position:center 35%}
.hero .cta{position:absolute;right:40px;bottom:22px;display:flex;gap:10px;flex-wrap:wrap}
.btn{font:inherit;font-size:16px;background:#fff;color:#000;border:1px solid #000;padding:9px 18px;cursor:pointer}
.btn:hover{background:#000;color:#fff}
.btn.dark{background:#000;color:#fff}.btn.dark:hover{background:#333}
.vision{background:#fff;border:1px solid #d6d1c2;border-left:6px solid #1f4d1f;padding:20px 26px;margin:0 0 28px}
.vision p{margin:6px 0 0}
.cols{display:grid;grid-template-columns:1fr 1fr;gap:28px}
.strip{display:block;width:100%;height:auto;border:1px solid #d6d1c2;margin:8px 0 4px}
.cap{font-size:13px;color:#666;font-style:italic}
.verse{font-size:22px;font-style:italic;text-align:center;margin:30px 0 4px;color:#000}
.tiles{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin:0 0 30px}
.tile{background:#fff;border:1px solid #d6d1c2;border-top:3px solid #000;padding:14px;cursor:pointer;text-align:left;font:inherit}
.tile:hover{background:#f3efe0}
.tile b{display:block;font-size:18px;color:#000;margin-bottom:4px}
.tile span{font-size:15px;color:#444}
.filters{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 18px}
.filters button{font:inherit;font-size:15px;background:#ecebe5;border:1px solid #cfcabb;padding:6px 14px;cursor:pointer}
.filters button[aria-pressed="true"]{background:#000;color:#fff;border-color:#000}
.hrs{font-size:28px;font-weight:bold;color:#000}
details{background:#fff;border:1px solid #d6d1c2;margin:0 0 10px}
summary{cursor:pointer;padding:12px 16px;font-weight:bold;color:#000}
details .body{padding:0 16px 14px}
table{border-collapse:collapse;background:#fff}
td,th{border:1px solid #d6d1c2;padding:6px 14px;text-align:left;font-size:16px}
th{background:#ecebe5;color:#000}
form label{display:block;font-size:15px;margin:10px 0 3px;color:#000}
form input,form textarea{font:inherit;font-size:16px;width:100%;padding:7px;border:1px solid #b9b39f;background:#fff}
.row{display:grid;grid-template-columns:2fr 1fr 1fr;gap:12px}
.note{font-size:14px;color:#555}
.amts{display:flex;gap:8px;flex-wrap:wrap;margin:8px 0}
.amts button{font:inherit;font-size:15px;background:#fff;border:1px dashed #8a8472;padding:8px 16px;cursor:pointer}
.amts button[aria-pressed="true"]{background:#000;color:#fff;border-style:solid}
footer{border-top:1px solid #cfcabb;background:#fff;padding:18px 40px;font-size:14px;color:#555;text-align:center}
@media(max-width:800px){.cols,.tiles,.row{grid-template-columns:1fr}.hero .cta{position:static;padding:10px}main,header{padding-left:16px;padding-right:16px}.hero{margin-left:-16px;margin-right:-16px}}
.catnote{background:#faf7ea;border:1px dashed #8a8472;padding:12px 16px;margin:0 0 16px;font-size:16px}.catnote p{margin:0}
.dl{display:inline-block;text-decoration:none;margin:0 0 8px}
.tw{overflow-x:auto;margin:8px 0 16px}.glance table,.prog table{width:100%}
.prog>.body{padding:0 18px 16px}.prog h4{font-size:19px;margin:18px 0 6px}.prog h5{font-size:17px;margin:16px 0 4px}
.prog summary{font-size:20px}.prog td,.prog th{vertical-align:top;font-size:15px}.glance td,.glance th{font-size:15px}
.glance a,.catnote a{color:#000;text-decoration:underline}
.prog td:first-child{white-space:nowrap}
.small{font-size:14px!important;color:#555!important;flex:0!important}
#classCat h4{font-size:19px;margin:22px 0 8px}
ol.papers{list-style:none;margin:0 0 12px;padding:0;background:#fff;border:1px solid #d6d1c2}
ol.papers li{display:grid;grid-template-columns:44px 1fr auto;gap:12px;padding:10px 16px;border-bottom:1px solid #e4dfd0;font-size:17px;align-items:baseline}
ol.papers li:last-child{border-bottom:none}.pn{font-weight:bold;color:#000}.pt{color:#000}.pa{font-size:14px;color:#555;font-style:italic}
@media(max-width:800px){ol.papers li{grid-template-columns:36px 1fr}.pa{grid-column:2}}
.pt a{color:#000;text-decoration:underline;text-underline-offset:3px}.pt a:hover,.pt a:focus{text-decoration-thickness:2px}

/* Under-construction banner (always visible) */
.uc-banner{display:block;width:100%;margin:0;background:#000;color:#faf7ea;text-align:center;font-family:"Times New Roman",Georgia,serif;font-size:17px;font-weight:bold;letter-spacing:.03em;line-height:1.4;padding:10px 16px;border-bottom:3px solid #8a8472}
@media (max-width:600px){.uc-banner{font-size:15px;padding:9px 12px}}
