:root{
  --bg:#0e0a08;
  --bg-soft:#171210;
  --fg:#f4ece1;
  --muted:#b9ae9f;
  --gold:#c8a25c;
  --gold-2:#e6c885;
  --red:#a61c1c;
  --red-2:#c93838;
  --rule:rgba(200,162,92,.25);
  --container:1100px;
}
*{box-sizing:border-box}
html,body{margin:0;padding:0}
html{scroll-behavior:smooth}
body{
  font-family:Georgia, "Times New Roman", serif;
  background:var(--bg);
  color:var(--fg);
  line-height:1.55;
  font-size:18px;
  -webkit-font-smoothing:antialiased;
}
img{max-width:100%;height:auto;display:block}
a{color:var(--gold-2)}
a:hover{color:var(--fg)}
.container{max-width:var(--container);margin:0 auto;padding:0 24px}

/* ===== Hero ===== */
.hero{position:relative;min-height:88vh;display:flex;align-items:flex-end;overflow:hidden;background:#000}
.hero-img{position:absolute;inset:0;z-index:0}
.hero-img img{width:100%;height:100%;object-fit:cover;opacity:.55}
.hero-img::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(14,10,8,.3) 0%,rgba(14,10,8,.85) 75%,rgba(14,10,8,1) 100%)}
.hero-overlay{position:relative;z-index:1;max-width:var(--container);width:100%;margin:0 auto;padding:48px 24px 64px}
.eyebrow{
  letter-spacing:.18em;text-transform:uppercase;color:var(--gold-2);
  font-size:13px;font-weight:600;margin:0 0 16px;font-family:system-ui,sans-serif;
}
.hero h1{
  font-size:clamp(36px,6vw,68px);line-height:1.05;margin:0 0 16px;
  font-weight:400;letter-spacing:-.01em;
}
.hero .lede{font-size:clamp(17px,2vw,21px);max-width:640px;color:var(--fg);margin:0 0 28px}
.address-line{margin:20px 0 0;color:var(--muted);font-size:15px;font-family:system-ui,sans-serif}

.cta-row{display:flex;flex-wrap:wrap;gap:12px}
.btn{
  display:inline-block;padding:14px 24px;border-radius:2px;
  font-family:system-ui,sans-serif;font-size:15px;font-weight:600;letter-spacing:.04em;
  text-decoration:none;transition:transform .15s, background .2s, color .2s;
}
.btn:hover{transform:translateY(-1px)}
.btn-primary{background:var(--red);color:#fff}
.btn-primary:hover{background:var(--red-2);color:#fff}
.btn-secondary{background:transparent;color:var(--fg);border:1px solid var(--gold)}
.btn-secondary:hover{background:var(--gold);color:#000}

/* ===== Sections ===== */
section{padding:80px 0;border-top:1px solid var(--rule)}
section h2{
  font-size:clamp(28px,4vw,42px);line-height:1.15;margin:0 0 24px;
  font-weight:400;letter-spacing:-.005em;
}
section p{max-width:640px;margin:0 0 16px}

/* Record */
.record{background:var(--bg-soft);text-align:center}
.record .container{max-width:760px}
.record-badge{
  display:inline-block;font-family:system-ui,sans-serif;
  font-size:12px;letter-spacing:.22em;color:var(--gold-2);
  border:1px solid var(--gold);padding:6px 14px;border-radius:999px;margin-bottom:24px;
}
.record h2{font-size:clamp(40px,7vw,80px);color:var(--gold-2);margin-bottom:12px}
.record-claim{font-size:20px;color:var(--fg);max-width:none}
.record p{margin-left:auto;margin-right:auto}
.link-arrow{font-family:system-ui,sans-serif;text-decoration:none;font-weight:600;font-size:15px}

/* Two col */
.two-col{display:grid;gap:48px;grid-template-columns:1fr 1fr;align-items:center}
.two-col figure{margin:0}
.course-list{padding-left:0;list-style:none;margin:0 0 24px}
.course-list li{padding:14px 0;border-bottom:1px solid var(--rule)}
.course-list li:last-child{border-bottom:none}
.course-list strong{color:var(--gold-2);display:inline-block;min-width:96px}

/* Gallery */
.gallery-grid{
  display:grid;gap:16px;
  grid-template-columns:repeat(auto-fit,minmax(240px,1fr));
}
.gallery-grid figure{margin:0;overflow:hidden;border-radius:2px;background:#000}
.gallery-grid img{width:100%;height:100%;aspect-ratio:4/3;object-fit:cover;transition:transform .4s}
.gallery-grid figure:hover img{transform:scale(1.04)}

/* Practical */
.info-list{list-style:none;padding:0;margin:0 0 24px;font-family:system-ui,sans-serif;font-size:16px}
.info-list li{padding:10px 0;border-bottom:1px solid var(--rule)}
.info-list li:last-child{border-bottom:none}
.info-list strong{color:var(--gold-2);display:inline-block;min-width:120px}
.map-wrap{aspect-ratio:4/3;background:#000;border-radius:2px;overflow:hidden}
.map-wrap iframe{width:100%;height:100%;border:0;filter:grayscale(.3) contrast(1.1)}

/* FAQ */
.faq details{
  border-top:1px solid var(--rule);padding:18px 0;
}
.faq details:last-of-type{border-bottom:1px solid var(--rule)}
.faq summary{
  cursor:pointer;font-weight:600;font-size:18px;font-family:system-ui,sans-serif;
  list-style:none;padding-right:24px;position:relative;
}
.faq summary::after{
  content:"+";position:absolute;right:0;top:0;color:var(--gold-2);font-size:20px;
}
.faq details[open] summary::after{content:"−"}
.faq details p{padding:12px 0 0;font-family:system-ui,sans-serif;font-size:16px}

/* Footer */
footer{
  background:#000;padding:48px 0;border-top:1px solid var(--rule);
  font-family:system-ui,sans-serif;font-size:14px;color:var(--muted);
}
.disclosure{max-width:none;margin:0 0 16px}
.footer-nav{margin:0 0 12px}
.footer-nav a{color:var(--gold-2);text-decoration:none;margin:0 4px}
.footer-nav a:hover{color:var(--fg)}
.copyright{margin:0;color:#6e655a;font-size:13px}

/* Small screens */
@media (max-width:760px){
  .hero{min-height:78vh}
  .hero-overlay{padding:32px 20px 40px}
  .two-col{grid-template-columns:1fr}
  section{padding:56px 0}
  .container{padding:0 20px}
}
