html{ scroll-behavior:smooth; }

*{ margin:0; padding:0; box-sizing:border-box; font-family:Arial, Helvetica, sans-serif; }
body{ color:#222; background:#fff; }
a{ color:inherit; text-decoration:none; }

section{ scroll-margin-top:90px; }

.container{ width:90%; max-width:1200px; margin:auto; }

/* TOP BAR */
.topbar{ background:#c4161c; color:#fff; }
.topbar-inner{ display:flex; justify-content:space-between; align-items:center; padding:10px 0; }
.topbar a{ color:#fff; margin-left:15px; font-weight:600; }

/* HEADER */
.header{ background:#fff; border-bottom:1px solid #eee; position:sticky; top:0; z-index:50; }
.header-inner{ display:flex; align-items:center; justify-content:space-between; padding:16px 0; }
.logo{ max-width:170px; height:auto; display:block; }

/* NAV */
.nav{ display:flex; gap:18px; align-items:center; }
.nav a{ font-weight:600; color:#333; }
.nav a:hover{ color:#c4161c; }

/* BUTTONS */
.btn{ padding:12px 22px; border-radius:25px; font-weight:700; display:inline-block; }
.btn-solid{ background:#c4161c; color:#fff; }
.btn-outline{ border:1px solid #ddd; background:#fff; color:#333; }

/* MOBILE */
.burger{ display:none; background:none; border:none; cursor:pointer; }
.burger span{ display:block; width:26px; height:2px; background:#333; margin:6px 0; }
.mobile-nav{ display:none; border-top:1px solid #eee; background:#fff; }
.mobile-nav.open{ display:block; }
.mobile-nav a{ display:block; padding:12px 5%; font-weight:600; }

/* HERO */
.hero{ position:relative; min-height:70vh; display:flex; align-items:center; color:#fff; }
.hero-bg{
  position:absolute;
  top:0; right:0; bottom:0; left:0;
  background:
    linear-gradient(90deg, rgba(0,0,0,.6), rgba(0,0,0,.15)),
    url("hero.jpg");
  background-size:cover;
  background-position:center;
  background-color:#8c0f14;
}
.hero-content{ position:relative; padding:90px 0; }
.hero-content h1{ font-size:44px; }
.hero-content p{ margin:15px 0 22px; max-width:600px; }
.hero-actions{ display:flex; gap:12px; flex-wrap:wrap; }

/* SECTIONS */
.section{ padding:60px 0; }
.center{ text-align:center; }
.muted{ color:#666; }

/* SPLIT */
.split{ display:grid; grid-template-columns:1fr 1fr; gap:40px; align-items:center; }
.media{ border-radius:18px; overflow:hidden; box-shadow:0 14px 35px rgba(0,0,0,.08); }
.workshop-img{ width:100%; height:320px; object-fit:cover; display:block; }
.workshop-fallback{
  height:320px; display:flex; align-items:center; justify-content:center;
  background:#f3f3f3; border:2px dashed #ddd; color:#888; font-weight:700;
}
.list{ list-style:none; margin:16px 0 22px; }
.list li{ margin:8px 0; }

/* FOOTER */
.footer{ background:#111; color:#fff; padding:30px 0; text-align:center; }

/* MODAL */
.modal{
  position:fixed;
  top:0; right:0; bottom:0; left:0;   /* Safari-friendly */
  background:rgba(0,0,0,.6);
  display:none;
  align-items:center;
  justify-content:center;
  z-index:1000;
}
.modal.show{ display:flex; }

.modal-content{
  background:#fff;
  padding:26px;
  border-radius:12px;
  width:92%;
  max-width:420px;
  position:relative;
}
.close{
  position:absolute;
  right:12px;
  top:10px;
  font-size:24px;
  background:none;
  border:none;
  cursor:pointer;
}
.modal-content h3{ margin-bottom:12px; }
.modal-content input,
.modal-content textarea{
  width:100%;
  padding:10px;
  margin-bottom:12px;
  border:1px solid #ccc;
  border-radius:8px;
}
.form-note{ margin-top:10px; font-size:12px; color:#666; }

/* RESPONSIVE */
@media(max-width:900px){
  section{ scroll-margin-top:75px; }
  .nav{ display:none; }
  .burger{ display:block; }
  .split{ grid-template-columns:1fr; }
  .hero-content h1{ font-size:34px; }
  .logo{ max-width:140px; }
}
