
:root { --navy:#071b2f; --navy-2:#0c2945; --gold:#d7a53f; --gold-light:#f3d994; --cream:#f5f0e7; --paper:#fbfaf7; --ink:#17212b; --muted:#68717b; --white:#fff; --serif:Georgia,"Times New Roman",serif; --sans:Arial,Helvetica,sans-serif; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; background:var(--paper); color:var(--ink); font-family:var(--sans); }
a { color:inherit; text-decoration:none; }
img { display:block; max-width:100%; }
button { font:inherit; }
.shell { width:min(1220px,calc(100% - 48px)); margin-inline:auto; }

.utility-bar { background:#041424; color:#c3ced8; font-size:11px; letter-spacing:.09em; text-transform:uppercase; }
.utility-inner { min-height:38px; display:flex; align-items:center; justify-content:space-between; }
.utility-inner p { margin:0; }
.utility-inner strong { color:var(--gold-light); margin-left:5px; }
.utility-links { display:flex; align-items:center; gap:26px; }
.student-link { color:var(--white); padding-left:24px; border-left:1px solid #385066; }
.student-link span { color:var(--gold); margin-left:5px; }
.download-link { color:var(--gold-light); font-weight:800; }
.download-link span { margin-left:4px; font-size:13px; }

.site-header { display:block; background:rgba(255,255,255,.97); position:sticky; top:0; z-index:40; box-shadow:0 3px 24px rgba(6,21,35,.09); }
.header-inner { min-height:92px; display:flex; align-items:center; }
.brand { display:flex; align-items:center; gap:13px; }
.brand-mark { width:62px; height:62px; display:grid; place-items:center; overflow:hidden; }
.brand-mark img { width:100%; height:100%; object-fit:contain; }
.brand-copy { display:flex; flex-direction:column; }
.brand-copy strong { font-family:var(--serif); font-size:22px; color:var(--navy); line-height:1.06; letter-spacing:-.02em; }
.brand-copy strong em { color:var(--gold); font-weight:400; }
.brand-copy small { margin-top:6px; font-size:9px; letter-spacing:.16em; text-transform:uppercase; color:#76818b; }
.header-brand-copy strong { font-size:20px; }
.header-brand-copy small { margin-top:4px; font-size:7.4px; letter-spacing:.075em; white-space:nowrap; }
.header-brand-copy small + small { margin-top:2px; color:#9a6d18; }
.main-nav { position:relative; width:100%; margin:0; padding:0 max(24px,calc((100vw - 1220px)/2)); display:flex; align-items:center; justify-content:center; gap:24px; background:linear-gradient(110deg,#041626 0%,#0b3557 46%,#164d75 72%,#8f671d 140%); color:#fff; font-size:15px; font-weight:700; box-shadow:inset 0 1px rgba(255,255,255,.12),0 6px 18px rgba(4,22,38,.16); }
.main-nav > a:not(.nav-cta) { position:relative; padding:20px 0; white-space:nowrap; }
.main-nav > a:not(.nav-cta)::after { content:""; position:absolute; left:0; bottom:11px; width:0; height:2px; background:var(--gold-light); transition:width .25s ease; }
.main-nav > a:hover::after { width:100%; }
.nav-cta,.button { display:inline-flex; align-items:center; justify-content:center; gap:24px; border:0; font-weight:700; font-size:12px; letter-spacing:.035em; transition:.25s ease; }
.nav-cta { background:var(--navy); color:white; padding:14px 18px; }
.nav-cta span { color:var(--gold); }
.nav-cta:hover { background:var(--gold); color:var(--navy); }
.menu-toggle { display:none; width:42px; height:42px; border:1px solid #dde2e6; background:#fff; padding:10px; }
.menu-toggle span { display:block; height:2px; margin:4px 0; background:var(--navy); }
.nav-dropdown { position:relative; }
.nav-dropdown summary { display:flex; align-items:center; gap:5px; padding:20px 0; cursor:pointer; list-style:none; white-space:nowrap; }
.nav-dropdown summary::-webkit-details-marker { display:none; }
.nav-dropdown summary > span { color:#a87922; font-size:12px; transition:transform .2s ease; }
.nav-dropdown[open] summary > span { transform:rotate(180deg); }
.dropdown-menu { position:absolute; top:calc(100% - 8px); left:-18px; z-index:60; width:225px; padding:9px; background:var(--navy); border-top:3px solid var(--gold); box-shadow:0 18px 35px rgba(1,14,27,.25); opacity:0; visibility:hidden; transform:translateY(8px); transition:.2s ease; }
.nav-dropdown:hover .dropdown-menu,.nav-dropdown:focus-within .dropdown-menu,.nav-dropdown[open] .dropdown-menu { opacity:1; visibility:visible; transform:translateY(0); }
.dropdown-menu a { display:flex; align-items:center; justify-content:space-between; min-height:41px; padding:8px 11px; border-bottom:1px solid rgba(255,255,255,.1); color:#dce5eb; font-family:var(--sans); font-size:12px; letter-spacing:.02em; }
.dropdown-menu a:last-child { border-bottom:0; }
.dropdown-menu a span { color:var(--gold-light); }
.dropdown-menu a:hover { padding-left:16px; background:rgba(255,255,255,.07); color:white; }

.hero { position:relative; height:min(680px,calc(100vh - 130px)); min-height:560px; overflow:hidden; background:var(--navy); }
.hero-slide { position:absolute; inset:0; opacity:0; visibility:hidden; transition:opacity .8s ease,visibility .8s; }
.hero-slide.active { opacity:1; visibility:visible; }
.hero-image { position:absolute; inset:0; background-size:cover; background-position:center; transform:scale(1.035); transition:transform 7s linear; }
.hero-slide.active .hero-image { transform:scale(1); }
.hero-shade { position:absolute; inset:0; background:linear-gradient(90deg,rgba(3,19,35,.94) 0%,rgba(5,25,44,.76) 42%,rgba(6,25,41,.24) 74%,rgba(3,16,29,.34) 100%),linear-gradient(0deg,rgba(5,21,35,.45),transparent 45%); }
.hero-content { height:100%; position:relative; z-index:2; display:flex; align-items:center; }
.hero-copy { max-width:710px; padding-bottom:25px; }
.eyebrow { display:inline-flex; align-items:center; gap:10px; color:#9a6d18; font-size:11px; font-weight:800; letter-spacing:.19em; text-transform:uppercase; }
.eyebrow::before { content:""; width:30px; height:1px; background:currentColor; }
.eyebrow.light { color:var(--gold-light); }
.hero h1,.section h2,.campus-card h2,.admission-section h2 { font-family:var(--serif); font-weight:400; letter-spacing:-.045em; }
.hero h1 { margin:21px 0 22px; max-width:680px; color:white; font-size:clamp(58px,6.2vw,91px); line-height:.94; }
.hero-copy > p { max-width:615px; color:#d5dde4; font-family:var(--serif); font-size:18px; line-height:1.7; }
.hero-actions { margin-top:34px; display:flex; align-items:center; gap:31px; }
.button { min-height:49px; padding:0 23px; }
.button-gold { background:var(--gold); color:var(--navy); }
.button-gold:hover { background:#edc060; transform:translateY(-2px); }
.text-link { display:inline-flex; gap:13px; align-items:center; color:white; font-size:12px; font-weight:700; padding-bottom:6px; border-bottom:1px solid rgba(255,255,255,.48); }
.text-link span { color:var(--gold-light); }
.slider-ui { position:absolute; z-index:3; left:50%; transform:translateX(-50%); bottom:37px; display:flex; justify-content:space-between; align-items:center; pointer-events:none; }
.slider-count { display:flex; align-items:center; gap:12px; color:white; }
.slider-count strong { font-family:var(--serif); font-size:19px; }
.slider-count span { width:65px; height:1px; background:rgba(255,255,255,.45); position:relative; }
.slider-count span::after { content:""; position:absolute; left:0; width:34%; height:1px; background:var(--gold); }
.slider-count small { color:#aab4bd; }
.slider-buttons { display:flex; pointer-events:auto; }
.slider-buttons button { width:48px; height:48px; border:1px solid rgba(255,255,255,.35); background:rgba(4,23,40,.32); color:white; cursor:pointer; }
.slider-buttons button + button { border-left:0; }
.slider-buttons button:hover { background:var(--gold); color:var(--navy); }

.credential-strip { background:white; border-bottom:1px solid #e1e3e2; }
.credential-grid { min-height:111px; display:grid; grid-template-columns:repeat(3,1fr); }
.credential-grid > div { display:flex; align-items:center; justify-content:center; gap:16px; border-right:1px solid #e0e3e4; }
.credential-grid > div:first-child { border-left:1px solid #e0e3e4; }
.credential-icon { width:47px; height:47px; border:1px solid #dec48c; border-radius:50%; display:grid; place-items:center; color:#8d6418; font-family:var(--serif); font-size:14px; font-weight:700; }
.credential-grid p { margin:0; display:flex; flex-direction:column; }
.credential-grid small { text-transform:uppercase; letter-spacing:.1em; color:#8b9298; font-size:8px; }
.credential-grid strong { margin-top:5px; font-family:var(--serif); color:var(--navy); font-size:16px; }

.section { padding:112px 0; }
.about-section { background:var(--paper); }
.about-grid { display:grid; grid-template-columns:1.02fr .98fr; gap:92px; align-items:center; }
.image-frame { position:relative; padding:20px 0 0 20px; }
.image-frame::before { content:""; position:absolute; inset:0 55px 55px 0; border:1px solid var(--gold); }
.image-frame img { height:525px; width:100%; object-fit:cover; position:relative; filter:saturate(.86); }
.since-card { position:absolute; right:-25px; bottom:36px; width:190px; height:126px; padding:24px; background:var(--navy); color:white; box-shadow:0 20px 35px rgba(4,25,43,.22); }
.since-card strong { display:block; font-family:var(--serif); color:var(--gold-light); font-size:31px; }
.since-card span { display:block; margin-top:8px; font-size:10px; letter-spacing:.09em; line-height:1.55; text-transform:uppercase; }
.section h2 { margin:17px 0 26px; color:var(--navy); font-size:clamp(42px,4.1vw,62px); line-height:1.04; }
.section h2 em,.campus-card h2 em,.admission-section h2 em { color:#ae7b1d; font-weight:400; }
.section-copy .lead { font-family:var(--serif); color:#344658; font-size:17px; line-height:1.8; }
.section-copy > p:not(.lead) { color:var(--muted); font-size:13px; line-height:1.8; }
.about-points { display:grid; grid-template-columns:1fr 1fr; gap:25px; margin:29px 0; padding-top:26px; border-top:1px solid #d9d8d3; }
.about-points div { padding-left:15px; border-left:2px solid var(--gold); }
.about-points strong,.about-points span { display:block; }
.about-points strong { font-family:var(--serif); color:var(--navy); font-size:15px; }
.about-points span { margin-top:7px; color:#7e858a; font-size:11px; line-height:1.55; }
.button-outline { border:1px solid #a8aaab; color:var(--navy); }
.button-outline:hover { background:var(--navy); color:white; border-color:var(--navy); }

.programmes-section { background:var(--navy); position:relative; overflow:hidden; }
.programmes-section::after { content:"§"; position:absolute; right:-35px; top:-165px; color:rgba(255,255,255,.022); font-family:var(--serif); font-size:500px; }
.split-heading { display:grid; grid-template-columns:1fr .75fr; gap:80px; align-items:end; position:relative; z-index:1; }
.split-heading h2 { color:white; margin-bottom:0; }
.split-heading h2 em { color:var(--gold-light); }
.split-heading > p { margin:0 0 8px; padding-left:26px; border-left:1px solid #5f7081; color:#b7c1ca; font-family:var(--serif); font-size:16px; line-height:1.8; }
.course-grid { display:grid; grid-template-columns:repeat(3,1fr); margin-top:53px; position:relative; z-index:1; }
.course-card { min-height:352px; padding:32px 33px; border:1px solid #2a4054; background:rgba(255,255,255,.025); color:white; transition:.3s ease; }
.course-card + .course-card { border-left:0; }
.course-card:hover { background:white; color:var(--navy); transform:translateY(-7px); box-shadow:0 25px 40px rgba(0,0,0,.22); }
.course-top { display:flex; justify-content:space-between; align-items:center; color:#7f91a1; font-family:var(--serif); }
.round-arrow { width:40px; height:40px; display:grid; place-items:center; border:1px solid #506174; border-radius:50%; color:var(--gold-light); }
.course-meta { margin:45px 0 10px!important; color:var(--gold-light)!important; font-size:9px!important; font-weight:800; letter-spacing:.12em; text-transform:uppercase; }
.course-card h3 { margin:0 0 19px; font-family:var(--serif); font-size:35px; font-weight:400; }
.course-card > p { color:#aeb9c2; font-size:12px; line-height:1.75; }
.course-card:hover > p { color:#68717a; }
.course-card > a { display:inline-flex; gap:15px; margin-top:20px; padding-bottom:5px; border-bottom:1px solid #596b7c; font-size:10px; font-weight:800; text-transform:uppercase; letter-spacing:.06em; }

.notices-section { background:#f2eee6; }
.notice-layout { display:grid; grid-template-columns:.72fr 1.28fr; gap:90px; }
.notice-intro { position:sticky; top:140px; align-self:start; }
.notice-intro > p { color:#68717a; font-family:var(--serif); font-size:15px; line-height:1.75; max-width:300px; }
.button-dark { margin-top:22px; background:var(--navy); color:white; }
.button-dark span { color:var(--gold-light); }
.button-dark:hover { background:#123b5f; transform:translateY(-2px); }
.notice-list { border-top:1px solid #c9c7c1; }
.notice-item { display:grid; grid-template-columns:75px 1fr auto 36px; gap:22px; align-items:center; min-height:104px; padding:16px 3px; border-bottom:1px solid #cfcdc7; transition:.2s ease; }
.notice-item:hover { padding-left:10px; background:rgba(255,255,255,.45); }
.notice-item time { font-family:var(--serif); color:#67717a; font-size:14px; }
.notice-item div > span { color:#9b711f; font-size:8px; font-weight:800; text-transform:uppercase; letter-spacing:.15em; }
.notice-item h3 { margin:7px 0 0; color:var(--navy); font-family:var(--serif); font-size:16px; font-weight:400; }
.notice-item b { padding:5px 8px; border:1px solid #d1b87f; color:#8d651c; font-size:8px; letter-spacing:.08em; text-transform:uppercase; }
.notice-arrow { width:34px; height:34px; display:grid; place-items:center; border:1px solid #bbbdbd; border-radius:50%; color:var(--navy); }

.campus-section { height:650px; position:relative; background:var(--navy); overflow:hidden; }
.campus-photo { position:absolute; inset:0; background:linear-gradient(90deg,rgba(6,25,42,.24),rgba(6,25,42,.35)),url('../images/campus.jpg') center/cover; filter:saturate(.8); }
.campus-content { height:100%; position:relative; display:flex; align-items:center; justify-content:flex-end; }
.campus-card { width:490px; padding:50px; background:rgba(6,27,46,.95); color:white; box-shadow:0 30px 60px rgba(0,0,0,.25); }
.campus-card h2 { margin:17px 0; font-size:47px; line-height:1.04; }
.campus-card h2 em { color:var(--gold-light); }
.campus-card > p { color:#bac5cd; font-family:var(--serif); font-size:15px; line-height:1.75; }
.campus-links { margin-top:28px; border-top:1px solid #536477; }
.campus-links a { display:grid; grid-template-columns:35px 1fr auto; align-items:center; min-height:52px; border-bottom:1px solid #536477; font-size:12px; font-weight:700; }
.campus-links a span { color:var(--gold-light); font-family:var(--serif); font-size:11px; }

.admission-section { padding:82px 0; background:var(--gold); color:var(--navy); }
.admission-inner { display:grid; grid-template-columns:1fr .85fr; gap:90px; align-items:center; }
.admission-section .eyebrow { color:#62460f; }
.admission-section h2 { margin:15px 0 0; font-size:55px; line-height:1; }
.admission-section h2 em { color:#614510; }
.admission-copy { padding-left:32px; border-left:1px solid rgba(7,27,47,.35); }
.admission-copy p { margin:0; font-family:var(--serif); font-size:16px; line-height:1.7; }

.site-footer { padding:80px 0 20px; background:#041626; color:#b7c2ca; }
.footer-grid { display:grid; grid-template-columns:1.6fr .65fr .65fr 1fr; gap:55px; }
.brand.inverse .brand-copy strong { color:white; }
.brand.inverse .brand-copy small { color:#8da0af; }
.footer-brand > p { max-width:310px; margin-top:24px; color:#8495a2; font-family:var(--serif); font-size:14px; line-height:1.8; }
.footer-grid h3 { margin:4px 0 24px; color:var(--gold-light); font-size:10px; letter-spacing:.14em; text-transform:uppercase; }
.footer-grid > div:not(.footer-brand) { display:flex; flex-direction:column; align-items:flex-start; gap:13px; }
.footer-grid a,.footer-grid p { font-size:11px; line-height:1.7; }
.footer-grid a:hover { color:var(--gold-light); }
.footer-bottom { margin-top:60px; padding-top:19px; border-top:1px solid #26394a; display:flex; justify-content:space-between; color:#607687; font-size:9px; letter-spacing:.05em; text-transform:uppercase; }
.floating-help { position:fixed; right:22px; bottom:22px; z-index:35; height:48px; display:flex; align-items:center; gap:9px; padding:0 18px 0 9px; border-radius:28px; background:var(--gold); color:var(--navy); box-shadow:0 10px 25px rgba(0,0,0,.18); font-size:11px; }
.floating-help span { width:31px; height:31px; display:grid; place-items:center; border-radius:50%; background:var(--navy); color:white; }

@media (max-width:1050px) { .main-nav{flex-wrap:wrap;gap:0 16px;font-size:13px}.about-grid{gap:55px}.notice-layout{gap:50px} }
@media (max-width:1120px) {
  .shell{width:min(100% - 34px,760px)}
  .hero{height:650px;min-height:0}.hero h1{font-size:62px}.credential-grid{grid-template-columns:1fr;padding:10px 0}.credential-grid>div,.credential-grid>div:first-child{justify-content:flex-start;min-height:76px;padding:0 20px;border:0;border-bottom:1px solid #e3e5e5}.credential-grid>div:last-child{border:0}
  .about-grid,.split-heading,.notice-layout,.admission-inner,.footer-grid{grid-template-columns:1fr}.image-frame img{height:440px}.section-copy{padding-top:20px}.course-grid{grid-template-columns:1fr}.course-card+.course-card{border-left:1px solid #2a4054;border-top:0}.notice-intro{position:static}.campus-card{width:min(490px,90%)}.admission-inner{gap:35px}.footer-grid{grid-template-columns:1fr 1fr}.footer-brand{grid-column:1/-1}
}
@media (max-width:760px) {
  .site-header{height:82px}.header-inner{min-height:82px}.brand-mark{width:50px;height:50px}.brand-copy strong{font-size:18px}.header-brand-copy strong{font-size:16px}.header-brand-copy small{font-size:6.6px}.menu-toggle{display:block;position:absolute;right:17px;top:20px;z-index:2}
  .main-nav{position:absolute;left:0;right:0;top:82px;width:auto;max-height:calc(100vh - 82px);overflow-y:auto;margin:0;display:none;flex-direction:column;flex-wrap:nowrap;align-items:stretch;gap:0;padding:15px 25px 24px;background:linear-gradient(145deg,#041626 0%,#0c3b61 65%,#76551a 145%);color:white;font-size:14px;box-shadow:0 18px 25px rgba(0,0,0,.2)}.main-nav.open{display:flex}.main-nav>a:not(.nav-cta){padding:14px 5px;border-bottom:1px solid rgba(255,255,255,.14)}.main-nav>a:not(.nav-cta)::after{display:none}.nav-cta{margin-top:12px}
  .nav-dropdown{border-bottom:1px solid rgba(255,255,255,.14)}.nav-dropdown summary{justify-content:space-between;padding:14px 5px}.nav-dropdown .dropdown-menu{display:none;position:static;width:100%;padding:5px 9px 8px;border-top:0;box-shadow:none;opacity:1;visibility:visible;transform:none;background:rgba(0,0,0,.22)}.nav-dropdown[open] .dropdown-menu{display:block}.dropdown-menu a{min-height:38px;padding:7px 13px;border-bottom:1px solid rgba(255,255,255,.12);color:#e5edf3}.dropdown-menu a span{color:var(--gold-light)}.dropdown-menu a:hover{background:rgba(255,255,255,.08);color:white}
}
@media (max-width:560px) {
  .shell{width:min(100% - 28px,520px)}.utility-inner{min-height:33px}.utility-links a:not(.student-link){display:none}.utility-links{gap:0}.student-link{border:0;padding:0}.brand-mark{width:43px;height:43px}.brand-copy strong{font-size:15px}.brand-copy small{font-size:7px}.header-brand-copy strong{font-size:13px}.header-brand-copy small{font-size:5.6px;letter-spacing:.035em}
  .hero{height:610px}.hero-image{background-position:62% center}.hero-shade{background:linear-gradient(90deg,rgba(3,19,35,.94),rgba(3,19,35,.55)),linear-gradient(0deg,rgba(3,19,35,.7),transparent)}.hero-copy{padding-bottom:70px}.hero h1{font-size:47px}.hero-copy>p{font-size:16px;line-height:1.55}.hero-actions{align-items:flex-start;flex-direction:column;gap:20px}.slider-buttons{display:none}
  .section{padding:78px 0}.about-grid{gap:45px}.image-frame{padding:12px 0 0 12px}.image-frame img{height:330px}.since-card{right:-4px;width:158px;height:108px;padding:18px}.about-points{grid-template-columns:1fr}.split-heading{gap:28px}.course-card{min-height:310px;padding:28px}.notice-item{grid-template-columns:55px 1fr auto;gap:12px}.notice-item b{display:none}.notice-arrow{width:30px;height:30px}
  .campus-section{height:650px}.campus-content{align-items:flex-end}.campus-card{width:100%;padding:34px 28px}.campus-card h2{font-size:40px}.admission-section h2{font-size:45px}.admission-copy{padding:25px 0 0;border:0;border-top:1px solid rgba(7,27,47,.3)}.footer-grid{grid-template-columns:1fr 1fr;gap:40px 25px}.footer-grid>div:last-child{grid-column:1/-1}.footer-bottom{align-items:flex-start;flex-direction:column;gap:10px;line-height:1.5}.floating-help b{display:none}.floating-help{width:48px;padding:0;justify-content:center}
}
@media (prefers-reduced-motion:reduce) { *{scroll-behavior:auto!important;transition:none!important;animation:none!important} }
