:root{font-family:system-ui,'Segoe UI',sans-serif;color:#f4f4f4;background:#111;line-height:1.55}*{box-sizing:border-box}body{margin:0}a{color:inherit;text-decoration:none}a:hover{color:#e6c563}header{background:#080808;border-bottom:2px solid #d7ab43;position:sticky;top:0;z-index:10}.bar{max-width:1200px;margin:auto;min-height:72px;display:flex;align-items:center;gap:28px;padding:12px 20px;flex-wrap:wrap}.brand{font-weight:900;font-size:1.25rem;white-space:nowrap}.brand span{color:#d7ab43}nav{display:flex;gap:17px;flex-wrap:wrap;flex:1}nav a{font-weight:650}select,input,textarea,button{font:inherit}select,input,textarea{padding:12px;border:1px solid #aaa;border-radius:8px;background:#fff;color:#151515;width:100%}header select{width:auto;padding:8px}button,.button{background:#d7ab43;color:#161616;border:0;padding:11px 18px;border-radius:8px;font-weight:750;cursor:pointer;display:inline-block}button:hover,.button:hover{background:#efd287;color:#161616}.danger{background:#b64646;color:#fff}.hero{position:relative;min-height:390px;background:linear-gradient(120deg,#24201a,#080808);display:flex;align-items:center;overflow:hidden}.hero-inner{position:relative;z-index:2;max-width:1200px;width:100%;margin:auto;padding:75px 22px}.hero img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.38}.hero h1{font-size:clamp(2.6rem,7vw,5.5rem);margin:0;line-height:1.05}.eyebrow{color:#e7bf67;letter-spacing:.3em}.section{max-width:1200px;padding:46px 20px;margin:auto;min-height:48vh}.section h1{font-size:clamp(2rem,5vw,3.4rem);color:#e8bf68}.section h2{color:#e8bf68}.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:23px}.card,.entry{border:1px solid #404040;border-radius:14px;background:#1b1b1b;overflow:hidden}.card img,.card video{display:block;width:100%;height:220px;object-fit:cover}.card>div{padding:18px}.card h2,.card h3{margin:0 0 8px;color:#f3d68b}.card p{color:#c9c9c9;margin:0}.stack{display:grid;gap:16px}.entry{padding:18px;display:flex;align-items:start;gap:23px}.entry img{width:220px;max-width:35%;border-radius:9px;object-fit:cover}.entry p,.detail p{white-space:pre-line}.page-head img,.detail img{max-width:100%;max-height:450px;object-fit:cover;border-radius:15px}.narrow{max-width:720px}.form{display:grid;gap:20px}.form label{display:grid;gap:6px;font-weight:650}.form textarea{min-height:140px}.flash{padding:12px 20px;background:#276241;text-align:center}.admin-heading{display:flex;justify-content:space-between;align-items:center;gap:12px}.admin-grid .card{padding:22px}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse;background:#1d1d1d}th,td{border-bottom:1px solid #4a4a4a;padding:12px;text-align:start;vertical-align:top}th{color:#efcf87}.actions{min-width:210px}.actions a,.actions form{display:inline-block;margin:3px}.actions input{max-width:160px}.actions button{padding:7px 10px}footer{border-top:1px solid #474747;text-align:center;padding:30px;color:#aaa}@media(max-width:700px){.bar{gap:12px}nav{order:3;flex-basis:100%;overflow:auto;flex-wrap:nowrap;font-size:.9rem}.entry{display:block}.entry img{max-width:100%;width:100%}}
nav .subnav{color:#e9c875;font-size:.92em}
/* Compact navigation: child pages stay in menus instead of wrapping the header. */
.site-header .bar{max-width:1480px;min-height:76px;flex-wrap:nowrap;gap:22px}
.site-header nav{display:flex;align-items:center;gap:22px;flex:1;min-width:0;flex-wrap:nowrap;white-space:nowrap}
.site-header nav a{font-size:1rem}
.site-header .brand{font-size:1.25rem}
.site-header .language-form{flex:none}
.nav-group{display:flex;align-items:center;gap:3px;position:relative}
.site-header nav details{position:relative}
.site-header nav summary{cursor:pointer;list-style:none;color:#e9c875;font-weight:700}
.site-header nav summary::-webkit-details-marker{display:none}
.nav-group summary{padding:6px}
.site-header .dropdown{position:absolute;top:calc(100% + 12px);inset-inline-start:0;z-index:30;min-width:240px;max-width:340px;max-height:min(70vh,560px);overflow:auto;background:#171717;border:1px solid #a88338;border-radius:10px;box-shadow:0 16px 36px #0009;padding:8px;white-space:normal}
.site-header .dropdown a{display:block;padding:9px 12px;border-radius:6px;line-height:1.3}
.site-header .dropdown a:hover{background:#383021}
.site-header .dropdown .more-parent{color:#f4f4f4;font-weight:750;border-top:1px solid #333}
.site-header .dropdown .more-child{color:#e9c875;padding-inline-start:26px;font-size:.93rem}
.menu-toggle{display:none}
@media(max-width:1050px){
 .site-header .bar{flex-wrap:wrap;justify-content:space-between}
 .site-header .menu-toggle{display:block;margin-inline-start:auto;background:none;color:#e9c875;font-size:1.6rem;padding:3px 12px}
 .site-header nav{display:none;order:4;flex-basis:100%;white-space:normal;flex-direction:column;align-items:stretch;gap:0;padding:8px 0;max-height:75vh;overflow-y:auto}
 .site-header nav.open{display:flex}
 .site-header nav>a,.site-header .nav-group,.site-header .more-menu>summary{padding:10px 4px;border-top:1px solid #333}
 .site-header .nav-group{justify-content:space-between}
 .site-header .dropdown{position:static;max-width:none;max-height:none;box-shadow:none;margin-top:8px}
 .site-header .more-menu{width:100%}
 .site-header .language-form{order:3}
}
.courses-page h1{margin-bottom:24px}.course-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(270px,1fr));gap:18px}.course-card{background:#1d1d1d;border:1px solid #6a5734;border-radius:13px;padding:22px}.course-card h2,.course-card h3{color:#f0cf7c;margin:9px 0}.course-card p{margin:5px 0;color:#d7d7d7}.course-date{color:#f0cf7c;font-weight:750}.course-card.previous{border-color:#484848}.course-section-title{margin-top:45px}.course-empty{padding:20px;background:#24211b;border-radius:10px;color:#e8d6a9}
/* Database-driven homepage slides. */
.home-slider{height:85vh;min-height:390px;background:#000;display:block}
.home-slide{position:absolute;inset:0;opacity:0;visibility:hidden;transition:opacity .65s ease,visibility .65s;pointer-events:none}
.home-slide.active{opacity:1;visibility:visible;pointer-events:auto}
.home-slide picture,.home-slide picture img{display:block;width:100%;height:100%}
.home-slide picture img{object-fit:cover;opacity:1;position:static}
.home-slide::after{content:"";position:absolute;inset:0;background:linear-gradient(to bottom,#0003,#0008);pointer-events:none}
.home-slide-caption{position:absolute;z-index:2;bottom:17%;left:12%;right:12%;text-align:center;text-shadow:0 4px 18px #000}
.home-slide-caption h1{font-size:clamp(2.5rem,8vw,5rem);line-height:1.1;text-transform:uppercase}
.slider-control{position:absolute;z-index:3;top:50%;transform:translateY(-50%);border-radius:50%;width:48px;height:48px;padding:0;background:#1119;color:#fff;font-size:2.1rem;line-height:1}
.slider-prev{left:20px}.slider-next{right:20px}
@media(max-width:767px){.home-slider{height:65vh;min-height:330px}.home-slide-caption{bottom:12%;left:8%;right:8%}}
@media(prefers-reduced-motion:reduce){.home-slide{transition:none}}
