:root{--navy:#07183f;--blue:#2f4d83;--gold:#e5a028;--green:#2b7c58;--ink:#18233b;--muted:#617089;--line:#dfe4ec;--paper:#f5f7fb;--white:#fff}*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:var(--white);color:var(--ink);font-family:Inter,Avenir,"Segoe UI",Arial,sans-serif;margin:0}button,input,select,textarea{font:inherit}a{color:inherit;text-decoration:none}.site-header{align-items:center;background:var(--navy);color:#fff;display:flex;justify-content:space-between;min-height:78px;padding:14px max(5vw,28px);position:sticky;top:0;z-index:20}.brand{align-items:center;display:flex;font-size:.85rem;font-weight:800;gap:12px;letter-spacing:.08em;text-transform:uppercase}.brand-mark{align-items:center;background:#fff;border-radius:50%;color:var(--navy);display:flex;height:44px;justify-content:center;letter-spacing:0;width:44px}.site-header nav{display:flex;gap:26px}.site-header nav a{color:#cbd4e4;font-size:.76rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase}.hero{background:linear-gradient(130deg,var(--navy),#12295c 62%,#385689);color:#fff;display:grid;grid-template-columns:1.25fr .75fr;min-height:600px;overflow:hidden;padding:90px max(7vw,36px)}.hero-copy{align-self:center;max-width:730px}.eyebrow{color:#ecb14c;font-size:.76rem;font-weight:850;letter-spacing:.18em;margin:0 0 17px;text-transform:uppercase}.eyebrow.navy{color:var(--blue)}.hero h1{font-size:clamp(3rem,6vw,5.6rem);letter-spacing:-.045em;line-height:1;margin:0 0 27px}.hero-copy>p:not(.eyebrow){color:#d5dceb;font-size:1.12rem;line-height:1.7;margin:0 0 32px;max-width:620px}.hero-emblem{align-items:center;align-self:center;aspect-ratio:1;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.18);border-radius:50%;display:flex;font-size:clamp(3rem,7vw,6rem);font-weight:900;justify-content:center;justify-self:end;max-width:390px;width:100%}.button{border:0;border-radius:999px;cursor:pointer;display:inline-flex;font-size:.75rem;font-weight:850;justify-content:center;letter-spacing:.09em;padding:16px 24px;text-transform:uppercase}.button-gold{background:var(--gold);color:var(--navy)}.button-navy{background:var(--navy);color:#fff}.button.full{width:100%}.content{padding:90px max(5vw,28px) 105px}.content.narrow{margin:auto;max-width:1320px}.section-heading{margin:0 auto 40px;max-width:760px;text-align:center}.section-heading h2{color:var(--navy);font-size:clamp(2.1rem,4vw,3.7rem);letter-spacing:-.035em;margin:0 0 14px}.section-heading>p:last-child,.lead{color:var(--muted);line-height:1.65}.filters{display:flex;flex-wrap:wrap;gap:10px;justify-content:center;margin:0 auto 45px}.filter{border:1px solid var(--line);border-radius:999px;color:var(--muted);font-size:.72rem;font-weight:800;padding:12px 16px}.filter.active{background:var(--navy);border-color:var(--navy);color:#fff}.course-grid{display:grid;gap:24px;grid-template-columns:repeat(4,minmax(0,1fr));margin:auto;max-width:1450px}.course-card{border:1px solid var(--line);border-radius:23px;box-shadow:0 14px 40px rgba(15,35,73,.08);display:flex;flex-direction:column;overflow:hidden}.course-card img{aspect-ratio:.72;background:var(--paper);object-fit:cover;object-position:top;width:100%}.course-body{display:flex;flex:1;flex-direction:column;padding:23px}.course-program{color:var(--green);font-size:.67rem;font-weight:850;letter-spacing:.07em;margin:0 0 10px;min-height:33px;text-transform:uppercase}.course-body h3{color:var(--navy);font-size:1.18rem;line-height:1.3;margin:0 0 17px}.course-body dl{display:grid;gap:9px;margin:0 0 24px}.course-body dl div{display:grid;gap:2px}dt{color:var(--muted);font-size:.67rem;font-weight:800;letter-spacing:.07em;text-transform:uppercase}dd{font-size:.86rem;line-height:1.45;margin:0}.course-body .button{margin-top:auto}.empty-state,.success-box{background:var(--paper);border-radius:20px;padding:40px;text-align:center}.back-link{color:var(--blue);display:inline-block;font-size:.85rem;font-weight:800;margin-bottom:28px}.detail-grid{display:grid;gap:clamp(38px,7vw,90px);grid-template-columns:minmax(280px,.78fr) minmax(380px,1.22fr)}.detail-poster{border-radius:22px;box-shadow:0 18px 50px rgba(15,35,73,.12);max-height:790px;object-fit:contain;width:100%}.detail-grid h1{color:var(--navy);font-size:clamp(2.3rem,4vw,4rem);letter-spacing:-.04em;line-height:1.05;margin:0 0 18px}.detail-list{background:var(--paper);border-radius:16px;display:grid;gap:15px;margin:28px 0;padding:22px}.detail-list div{display:grid;gap:3px}.registration-form{border:1px solid var(--line);border-radius:22px;box-shadow:0 14px 40px rgba(15,35,73,.08);display:grid;gap:18px;margin-top:28px;padding:clamp(23px,4vw,38px)}.registration-form h2{color:var(--navy);margin:0}.registration-form label,.login-card label,.admin-form label{color:var(--navy);display:grid;font-size:.86rem;font-weight:750;gap:8px}.registration-form input,.login-card input,.admin-form input,.admin-form select,.admin-form textarea{background:#fbfcfe;border:1px solid #cfd7e3;border-radius:11px;color:var(--ink);min-height:52px;padding:11px 14px;width:100%}.admin-form textarea{resize:vertical}.form-note{background:#fff8e9;border-left:3px solid var(--gold);color:#77571d;font-size:.84rem;line-height:1.5;margin:0;padding:12px 14px}.form-error{background:#fff0f0;border-radius:9px;color:#9f2323;font-size:.85rem;margin:0;padding:12px}.or-divider{align-items:center;color:#8792a4;display:flex;font-size:.75rem;gap:12px;justify-content:center}.or-divider:before,.or-divider:after{background:var(--line);content:"";height:1px;width:42%}.hidden-field{height:0;left:-10000px;overflow:hidden;position:absolute;width:0}.success-box{background:#e9f6ef;color:#245d45;margin-top:30px;text-align:left}.success-box h2{color:#19533b}footer{background:var(--navy);color:#fff;display:flex;justify-content:space-between;padding:40px max(5vw,28px)}footer div{display:grid;gap:6px}footer span{color:#bdc8da;font-size:.84rem}.login-wrap{align-items:center;background:linear-gradient(145deg,var(--navy),#274674);display:flex;justify-content:center;min-height:100vh;padding:24px}.login-card{background:#fff;border-radius:24px;box-shadow:0 25px 70px rgba(0,0,0,.24);display:grid;gap:19px;max-width:460px;padding:42px;width:100%}.login-card h1{color:var(--navy);font-size:2.2rem;margin:0}.login-card>p:not(.eyebrow):not(.form-error){color:var(--muted);line-height:1.55;margin:0}.admin-shell{background:var(--paper);display:grid;grid-template-columns:250px 1fr;min-height:100vh}.admin-sidebar{background:var(--navy);color:#fff;display:flex;flex-direction:column;padding:30px 22px}.admin-sidebar>strong{font-size:1rem;letter-spacing:.04em;margin-bottom:34px}.admin-sidebar nav{display:grid;gap:8px}.admin-sidebar nav a{border-radius:9px;color:#d0d8e7;font-size:.88rem;font-weight:700;padding:12px}.admin-sidebar nav a:hover{background:rgba(255,255,255,.08);color:#fff}.admin-sidebar form{margin-top:auto}.admin-sidebar form button{background:transparent;border:1px solid rgba(255,255,255,.25);border-radius:9px;color:#fff;cursor:pointer;padding:10px;width:100%}.admin-content{min-width:0;padding:36px max(3vw,28px) 70px}.session-note{color:var(--muted);font-size:.75rem;margin-bottom:35px;text-align:right}.admin-content h1{color:var(--navy);font-size:2.5rem;margin:0 0 8px}.admin-lead{color:var(--muted);margin:0 0 32px}.stats{display:grid;gap:18px;grid-template-columns:repeat(3,1fr)}.stats article{background:#fff;border:1px solid var(--line);border-radius:17px;padding:24px}.stats span{color:var(--muted);display:block;font-size:.74rem;font-weight:800;letter-spacing:.07em;text-transform:uppercase}.stats strong{color:var(--navy);display:block;font-size:2.5rem;margin-top:9px}.admin-actions{display:flex;gap:12px;margin-top:25px}.admin-title-row{align-items:start;display:flex;justify-content:space-between}.table-wrap{background:#fff;border:1px solid var(--line);border-radius:18px;overflow:auto}table{border-collapse:collapse;min-width:760px;width:100%}th,td{border-bottom:1px solid var(--line);padding:17px 19px;text-align:left}th{color:var(--muted);font-size:.7rem;letter-spacing:.07em;text-transform:uppercase}td{font-size:.86rem}td small{color:var(--muted);display:block;margin-top:5px}.badge{background:#e7f5ee;border-radius:999px;color:#226448;font-size:.7rem;font-weight:800;padding:7px 10px}.admin-form{background:#fff;border:1px solid var(--line);border-radius:19px;max-width:980px;padding:28px}.form-grid{display:grid;gap:20px;grid-template-columns:repeat(2,minmax(0,1fr));margin-bottom:25px}.form-grid .wide{grid-column:1/-1}.checkbox{align-items:center!important;display:flex!important;grid-template-columns:auto 1fr!important}.checkbox input{min-height:auto!important;width:auto!important}.error-page{align-items:center;display:flex;flex-direction:column;justify-content:center;min-height:70vh;padding:35px;text-align:center}.error-page>span{color:var(--gold);font-size:5rem;font-weight:900}.error-page h1{color:var(--navy);max-width:700px}@media(max-width:1120px){.course-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.hero{grid-template-columns:1fr .4fr}}@media(max-width:760px){.site-header{padding:13px 18px}.brand span:last-child{display:none}.site-header nav{gap:14px}.hero{display:block;min-height:560px;padding:80px 23px}.hero-emblem{display:none}.content{padding:70px 18px 80px}.course-grid{grid-template-columns:1fr}.filters{justify-content:flex-start;overflow:auto}.filter{flex:0 0 auto}.detail-grid{grid-template-columns:1fr}.detail-poster{max-height:680px}.login-card{padding:28px 20px}.admin-shell{display:block}.admin-sidebar{padding:18px}.admin-sidebar nav{display:flex;overflow:auto}.admin-sidebar form{margin-top:18px}.admin-content{padding:27px 18px 60px}.session-note{text-align:left}.stats,.form-grid{grid-template-columns:1fr}.form-grid .wide{grid-column:auto}.admin-title-row{display:block}.admin-title-row .button{margin-bottom:20px}.admin-actions,footer{flex-direction:column}.admin-actions .button{width:100%}}

.site-header nav{align-items:center;flex-wrap:wrap;justify-content:flex-end}.site-header nav a{white-space:nowrap}.document-unavailable{align-items:center;display:flex;flex-direction:column;justify-content:center;min-height:calc(100vh - 190px);text-align:center}.document-unavailable h1{color:var(--navy);font-size:clamp(2.4rem,5vw,4.6rem);letter-spacing:-.04em;margin:0 0 18px}.document-unavailable>p:not(.eyebrow){color:var(--muted);font-size:1.05rem;line-height:1.7;margin:0 0 28px;max-width:670px}@media(max-width:1100px){.site-header nav{gap:14px;max-width:68vw}.site-header nav a{font-size:.68rem}}@media(max-width:760px){.site-header nav{flex-wrap:nowrap;justify-content:flex-start;max-width:calc(100vw - 92px);overflow-x:auto;padding:7px 0}.site-header nav a{flex:0 0 auto}.document-unavailable{min-height:65vh}}
