
:root{--maroon:#7b1113;--maroon-2:#560b0d;--gold:#c99a3a;--cream:#f7f2e9;--ink:#232323;--muted:#6c6c6c;--line:#e7e0d6;--white:#fff;--max:1180px;--shadow:0 12px 35px rgba(58,29,14,.09)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:#fff;color:var(--ink);font-family:Arial,Helvetica,sans-serif;font-size:16px;line-height:1.65}img{max-width:100%;height:auto}a{color:inherit}.container{width:min(1180px,calc(100% - 32px));margin:0 auto}
.top-strip{background:var(--maroon-2);color:#fff;font-size:13px}.top-strip .container{min-height:34px;display:flex;align-items:center;justify-content:space-between;gap:18px}.top-strip a{text-decoration:none}.site-head{background:#fff;border-bottom:1px solid var(--line)}.brand{display:flex;justify-content:center;padding:10px 0}.brand img{width:720px;height:186px;max-width:100%;object-fit:contain}
.nav{background:var(--maroon);color:#fff;box-shadow:0 3px 12px rgba(0,0,0,.12)}.nav-inner{display:flex;align-items:center;min-height:48px}.nav-list{display:flex;flex-wrap:wrap;list-style:none;margin:0;padding:0}.nav-list a{display:block;text-decoration:none;font-weight:700;font-size:14px;padding:12px 18px;transition:.2s}.nav-list a:hover,.nav-list a.active{background:var(--maroon-2);box-shadow:inset 0 -3px 0 var(--gold)}.menu-btn{display:none;margin-left:auto;border:1px solid rgba(255,255,255,.4);background:transparent;color:#fff;border-radius:7px;padding:7px 10px;font-size:20px;line-height:1}
.hero{background:linear-gradient(135deg,#fff,#f8f1e7);border-bottom:1px solid var(--line);padding:28px 0}.hero-grid{display:grid;grid-template-columns:minmax(0,1fr) 420px;gap:32px;align-items:center}.kicker{font-size:12px;letter-spacing:.14em;text-transform:uppercase;font-weight:800;color:var(--maroon)}.hero h1{font-family:Georgia,'Times New Roman',serif;font-size:clamp(32px,5vw,54px);line-height:1.12;margin:7px 0 16px;color:var(--maroon-2)}.hero p{color:var(--muted);max-width:680px}.hero-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:20px}.btn{display:inline-flex;align-items:center;justify-content:center;border-radius:7px;padding:10px 17px;text-decoration:none;font-weight:700;border:1px solid var(--maroon);font-size:14px}.btn-primary{background:var(--maroon);color:#fff}.btn-primary:hover{background:var(--maroon-2)}.btn-light{background:#fff;color:var(--maroon)}.hero-image{display:flex;justify-content:center}.hero-image img{width:400px;height:250px;object-fit:contain;background:#fff;border:1px solid var(--line);box-shadow:var(--shadow)}
.section{padding:56px 0}.section.alt{background:var(--cream)}.section-head{display:flex;align-items:end;justify-content:space-between;gap:20px;margin-bottom:25px}.section-head h2,.page-title h1{font-family:Georgia,'Times New Roman',serif;color:var(--maroon-2);margin:3px 0 0}.section-head h2{font-size:32px}.section-head p{margin:0;color:var(--muted);max-width:600px}.eyebrow{font-size:12px;letter-spacing:.13em;text-transform:uppercase;font-weight:800;color:var(--maroon)}
.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.card{background:#fff;border:1px solid var(--line);border-radius:12px;box-shadow:var(--shadow)}.card-body{padding:22px}.card h3{margin:0 0 7px;color:var(--maroon-2)}.card p{color:var(--muted);margin:0}.stat-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.stat{text-align:center;padding:20px}.stat strong{display:block;font:700 30px Georgia,serif;color:var(--maroon)}.stat span{font-size:13px;color:var(--muted)}
.notice-layout{display:grid;grid-template-columns:1.25fr .75fr;gap:24px}.notice-list{display:grid;gap:10px}.notice{display:grid;grid-template-columns:72px 1fr;gap:14px;align-items:center;padding:14px;border:1px solid var(--line);border-radius:10px;background:#fff}.notice-date{background:var(--maroon);color:#fff;border-radius:8px;text-align:center;padding:8px 5px;font-weight:800}.notice-date small{display:block;font-size:10px;letter-spacing:.08em}.notice h3{margin:0;font-size:16px}.notice a{color:var(--maroon);font-weight:700;font-size:13px}.link-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.link-grid a{padding:14px;border:1px solid var(--line);border-radius:9px;background:#fff;text-decoration:none;font-weight:700}.link-grid a:hover{border-color:var(--gold);color:var(--maroon)}
.slider-card{padding:16px}.slider-stage{display:flex;align-items:center;justify-content:center;gap:15px}.slider-stage img{width:400px;height:250px;object-fit:contain;background:#fff}.slider-arrow{width:40px;height:40px;border-radius:50%;border:1px solid var(--line);background:#fff;color:var(--maroon);font-size:20px;cursor:pointer}.slider-meta{text-align:center;color:var(--muted);font-size:13px;margin-top:9px}
.page-title{background:linear-gradient(135deg,#fff,#f7f0e6);border-bottom:1px solid var(--line);padding:40px 0}.page-title h1{font-size:clamp(34px,5vw,50px)}.page-title p{color:var(--muted);margin:8px 0 0}.page{padding:44px 0 65px}.content-grid{display:grid;grid-template-columns:1.25fr .75fr;gap:24px}.prose,.panel{background:#fff;border:1px solid var(--line);border-radius:12px;box-shadow:var(--shadow);padding:25px}.prose h2,.panel h2{font-family:Georgia,serif;color:var(--maroon-2);margin-top:0}.prose p,.prose li{color:#555}.check-list{list-style:none;padding:0;margin:0;display:grid;gap:10px}.check-list li{position:relative;padding-left:27px}.check-list li:before{content:'✓';position:absolute;left:0;top:0;color:var(--maroon);font-weight:800}.feature{display:grid;grid-template-columns:360px 1fr;gap:30px;align-items:center;margin-bottom:28px}.feature.reverse{grid-template-columns:1fr 360px}.feature.reverse .feature-media{order:2}.feature-media img{width:360px;height:auto;object-fit:contain;margin:auto}.feature h2{font-family:Georgia,serif;color:var(--maroon-2);margin-top:0}.feature p{color:#555}
.table-wrap{overflow:auto;border:1px solid var(--line);border-radius:10px}table{border-collapse:collapse;width:100%;background:#fff;min-width:650px}th,td{padding:11px 13px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top}th{background:#f3ede3;color:#333}tr:last-child td{border-bottom:0}.data-table td:first-child,.data-table th:first-child{font-weight:700}
.faculty-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.faculty{padding:20px;text-align:center}.faculty img{width:120px;height:140px;object-fit:contain;margin:0 auto 14px;border:1px solid var(--line);padding:3px;background:#fff}.faculty h3{margin:0;color:var(--maroon-2);font-size:17px}.faculty .role{font-weight:800;color:var(--maroon);font-size:13px;margin-top:3px}.faculty .qual{color:var(--muted);font-size:12px;margin-top:7px}
.footer{background:#241617;color:#ddd;padding:44px 0 18px}.footer-grid{display:grid;grid-template-columns:1.3fr 1fr 1fr;gap:30px}.footer h3{color:#fff;font-family:Georgia,serif}.footer p,.footer li{color:#c9c0bd;font-size:13px}.footer ul{list-style:none;margin:0;padding:0;display:grid;gap:6px}.footer a{text-decoration:none}.footer a:hover{color:#fff}.footer-bottom{border-top:1px solid rgba(255,255,255,.14);margin-top:28px;padding-top:13px;display:flex;justify-content:space-between;gap:20px;font-size:12px;color:#aaa}
@media(max-width:950px){.hero-grid,.content-grid,.notice-layout{grid-template-columns:1fr}.hero-image{justify-content:flex-start}.cards{grid-template-columns:1fr 1fr}.stat-grid{grid-template-columns:repeat(2,1fr)}.faculty-grid{grid-template-columns:repeat(2,1fr)}.footer-grid{grid-template-columns:1fr 1fr}.nav-inner{display:block;padding:8px 0}.menu-btn{display:block}.nav-list{display:none;flex-direction:column}.nav-list.open{display:flex}.nav-list a{padding:10px 12px}}
@media(max-width:650px){.container{width:min(100% - 22px,1180px)}.top-strip .container{padding:6px 0;display:block}.brand{padding:6px 0}.hero{padding:22px 0}.hero-image img{width:400px;height:250px;max-width:100%}.section{padding:40px 0}.section-head{display:block}.cards,.faculty-grid,.footer-grid{grid-template-columns:1fr}.stat-grid{grid-template-columns:1fr 1fr}.feature,.feature.reverse{grid-template-columns:1fr;gap:15px}.feature.reverse .feature-media{order:0}.feature-media img{width:360px;max-width:100%}.slider-stage{gap:7px}.slider-arrow{width:34px;height:34px}.slider-stage img{width:400px;height:250px;max-width:calc(100vw - 90px)}.footer-bottom{display:block}.footer-bottom span{display:block;margin-top:4px}}
@media(max-width:400px){.stat-grid{grid-template-columns:1fr}.notice{grid-template-columns:60px 1fr}.link-grid{grid-template-columns:1fr}}


/* ===== SDCMS Header Refresh ===== */
.utility-inner{min-height:36px;display:flex;align-items:center;justify-content:space-between;gap:18px}
.utility-inner b{color:var(--gold);padding:0 4px}
.header-brand{min-height:206px;display:grid;grid-template-columns:390px 720px;align-items:center;justify-content:center;gap:28px;padding:10px 0}
.college-identity{padding:10px 0 10px 8px;border-left:4px solid var(--gold)}
.identity-line{width:58px;height:4px;background:var(--gold);margin-bottom:14px}
.identity-title{font-family:Georgia,'Times New Roman',serif;font-size:31px;line-height:1.08;font-weight:700;letter-spacing:.02em;color:var(--maroon-2)}
.identity-title span{font-size:24px;letter-spacing:.055em}
.identity-city{margin-top:12px;color:var(--maroon);font-size:12px;font-weight:800;letter-spacing:.13em}
.identity-badge{display:inline-block;margin-top:14px;padding:5px 11px;border:1px solid var(--gold);border-radius:999px;color:var(--maroon-2);font-size:12px;font-weight:800;background:#fffaf0}
.header-photo{width:720px;height:186px;display:flex;align-items:center;justify-content:center;overflow:hidden;background:#fff}
.header-photo img{display:block;width:720px;height:186px;max-width:none;object-fit:contain}
.site-head{background:linear-gradient(90deg,#fff 0%,#fff 45%,#fbf7ef 100%);border-bottom:1px solid var(--line)}
.nav-list{display:flex;flex-wrap:wrap;align-items:stretch;list-style:none;margin:0;padding:0}
.nav-list li{margin:0;padding:0}
.nav-list a{position:relative}
@media(max-width:1180px) and (min-width:951px){.header-brand{grid-template-columns:320px minmax(0,720px);gap:18px}.identity-title{font-size:27px}.identity-title span{font-size:21px}.header-photo{width:720px;max-width:100%}.header-photo img{width:720px;height:186px}}
@media(max-width:950px){.header-brand{display:block;min-height:0;padding:14px 0}.college-identity{margin-bottom:14px}.header-photo{width:100%;height:186px;overflow-x:auto;overflow-y:hidden;justify-content:flex-start}.header-photo img{flex:0 0 720px;width:720px;height:186px;max-width:none}.identity-title{font-size:29px}.identity-title span{font-size:22px}.nav-list{width:100%}}
@media(max-width:650px){.identity-title{font-size:25px}.identity-title span{font-size:19px}.identity-city{font-size:10px}.utility-inner{display:block;padding:6px 0;line-height:1.5}.utility-inner span{display:block}.header-photo{height:186px}.header-photo img{width:720px;height:186px}}

/* ===== FINAL INSTITUTIONAL HEADER ===== */
.institutional-header{background:#fff;border-bottom:1px solid var(--line)}
.brand-grid{min-height:270px;display:grid;grid-template-columns:170px minmax(300px,1fr) 440px;align-items:center;gap:28px;padding:20px 0}
.brand-logo{display:flex;align-items:center;justify-content:center}
.brand-logo img{display:block;width:165px!important;height:165px!important;max-width:none!important;object-fit:contain}
.brand-copy{padding-left:4px}
.brand-rule{width:64px;height:4px;background:var(--gold);margin-bottom:16px}
.brand-title{font-family:Georgia,'Times New Roman',serif;font-size:38px;line-height:1.08;font-weight:700;letter-spacing:.015em;color:var(--maroon-2)}
.brand-title span{font-size:28px;letter-spacing:.035em}
.brand-location{margin-top:14px;color:var(--maroon);font-size:12px;font-weight:800;letter-spacing:.12em}
.brand-badge{display:inline-block;margin-top:13px;padding:5px 12px;border:1px solid var(--gold);border-radius:999px;color:var(--maroon-2);font-size:12px;font-weight:800;background:#fffaf0}
.brand-building{width:440px;height:305px;display:flex;align-items:center;justify-content:center;overflow:hidden;background:#fff;border:1px solid #eee;box-shadow:0 8px 24px rgba(58,29,14,.08);border-radius:3px}
.brand-building img{display:block;width:440px!important;height:305px!important;max-width:none!important;object-fit:cover}
@media(max-width:1050px){
 .brand-grid{grid-template-columns:145px minmax(260px,1fr) 360px;gap:20px}
 .brand-logo img{width:140px!important;height:140px!important}
 .brand-building{width:360px;height:250px}.brand-building img{width:360px!important;height:250px!important}
 .brand-title{font-size:32px}.brand-title span{font-size:23px}
}
@media(max-width:850px){
 .brand-grid{grid-template-columns:130px 1fr;gap:18px;padding:16px 0}
 .brand-logo{grid-row:1 / span 2}
 .brand-logo img{width:125px!important;height:125px!important}
 .brand-building{grid-column:2;width:100%;height:210px}
 .brand-building img{width:100%!important;height:210px!important;object-fit:cover}
 .brand-title{font-size:28px}.brand-title span{font-size:20px}
}
@media(max-width:650px){
 .brand-grid{display:flex;flex-direction:column;align-items:center;text-align:center;padding:16px 0 18px;gap:12px}
 .brand-logo img{width:120px!important;height:120px!important}
 .brand-copy{padding:0}
 .brand-rule{margin:0 auto 12px}
 .brand-title{font-size:27px}.brand-title span{font-size:19px}
 .brand-location{font-size:10px;letter-spacing:.08em}
 .brand-building{width:100%;height:auto;aspect-ratio:1200/832}
 .brand-building img{width:100%!important;height:auto!important;aspect-ratio:1200/832;object-fit:cover}
}



/* ===== FINAL RESPONSIVE NAVIGATION ===== */
.nav-list{display:flex;flex-wrap:wrap;align-items:stretch;list-style:none;margin:0;padding:0}
@media (max-width:950px){
  .nav-inner{display:block;padding:8px 0}
  .menu-btn{display:block}
  .nav-list{display:none;flex-direction:column;width:100%}
  .nav-list.open{display:flex}
  .nav-list a{padding:10px 12px}
}
@media (min-width:951px){
  .menu-btn{display:none}
  .nav-list{display:flex}
}


/* ===== MOBILE MENU FINAL: one controller (main.js) ===== */
@media (max-width:950px){
  .nav-list{display:none !important;flex-direction:column;width:100%;}
  .nav-list.open{display:flex !important;}
  .menu-btn{display:block !important;}
}
@media (min-width:951px){
  .nav-list{display:flex !important;}
  .menu-btn{display:none !important;}
}

/* FINAL MENU STATE: controlled directly by header.asp */
@media(max-width:950px){.menu-btn{display:block!important}.nav-list{flex-direction:column;width:100%}.nav-list.open{display:flex!important}}
@media(min-width:951px){.menu-btn{display:none!important}.nav-list{display:flex!important}}

/* ===== SDCMS ISOLATED MOBILE NAV - no conflict with main.js ===== */
.sd-cms-menu-btn{display:none;margin-left:auto;border:1px solid rgba(255,255,255,.45);background:transparent;color:#fff;border-radius:8px;padding:8px 12px;font-size:22px;line-height:1;cursor:pointer}
.sd-cms-primary-menu{display:flex;flex-wrap:wrap;align-items:stretch;list-style:none;margin:0;padding:0}
.sd-cms-primary-menu li{margin:0;padding:0}
.sd-cms-primary-menu a{display:block;position:relative;text-decoration:none;font-weight:700;font-size:14px;padding:12px 18px;color:#fff}
.sd-cms-primary-menu a:hover,.sd-cms-primary-menu a.active{background:var(--maroon-2);box-shadow:inset 0 -3px 0 var(--gold)}
@media(max-width:950px){
  .sd-cms-menu-btn{display:block}
  .sd-cms-primary-menu{display:none;flex-direction:column;width:100%}
  .sd-cms-primary-menu a{padding:10px 12px}
}
@media(min-width:951px){
  .sd-cms-menu-btn{display:none}
  .sd-cms-primary-menu{display:flex}
}
