:root{
  --bg1:#5b0b0f;
  --bg2:#8b0f16;
  --panel:rgba(0,0,0,.25);
  --card:#f2f2f2;
  --accent:#8b0f16;
  --accent-dark:#5c0a0e;
  --text:#111;
  --white:#fff;
  --radius:18px;
  --shadow:0 12px 30px rgba(0,0,0,.22);
  --max:1180px;
}

*{box-sizing:border-box}
html,body{margin:0;padding:0}
body{
  font-family: system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
  color:var(--text);
  background:#2a0406;
}

/* Background: red gradient + subtle polka dots */
.page-bg{
  background:
    radial-gradient(circle at 25px 25px, rgba(255,255,255,.35) 0 6px, transparent 7px) 0 0/110px 110px,
    radial-gradient(circle at 80px 70px, rgba(255,255,255,.20) 0 5px, transparent 6px) 0 0/160px 160px,
    linear-gradient(135deg, var(--bg1), var(--bg2));
  min-height:100vh;
}

.container{
  width:min(var(--max), calc(100% - 32px));
  margin:0 auto;
}

.header{
  padding:20px 0 10px;
}

.topbar{
  display:flex;
  align-items:center;
  gap:22px;
  padding:16px 18px;
  border-radius:22px;
  background:rgba(0,0,0,.18);
  backdrop-filter: blur(6px);
  border:1px solid rgba(255,255,255,.08);
}

.brand{
  display:flex;
  align-items:center;
  gap:12px;
  text-decoration:none;
  color:var(--white);
}
.brand img{height:42px;width:auto;display:block}

.nav{
  margin-left:18px;
  display:flex;
  gap:28px;
  flex-wrap:wrap;
}
.nav a{
  color:rgba(255,255,255,.95);
  text-decoration:none;
  font-size:22px;
  letter-spacing:.2px;
}
.nav a:hover{ text-decoration:underline; text-underline-offset:6px; }

.hero{
  padding:26px 0 30px;
}

.hero-grid{
  display:grid;
  grid-template-columns: 1.05fr .95fr;
  gap:22px;
  align-items:center;
}

.hero-copy{
  color:var(--white);
  padding:12px 0;
}

.hero-title{
  font-family: ui-serif, Georgia, "Times New Roman", serif;
  font-size:46px;
  line-height:1.08;
  font-weight:500;
  margin:0 0 18px;
  text-shadow: 0 6px 14px rgba(0,0,0,.35);
}

.hero-sub{
  font-family: ui-serif, Georgia, "Times New Roman", serif;
  font-size:40px;
  margin:0 0 22px;
  text-shadow: 0 6px 14px rgba(0,0,0,.35);
}

.cta{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:18px 22px;
  border-radius:16px;
  background:linear-gradient(180deg, #a01019, #7f0c13);
  border:1px solid rgba(0,0,0,.35);
  color:var(--white);
  text-decoration:none;
  font-size:34px;
  font-family: ui-serif, Georgia, "Times New Roman", serif;
  box-shadow: 0 14px 28px rgba(0,0,0,.22);
}

.cta:focus-visible{outline:3px solid rgba(255,255,255,.6); outline-offset:4px}

.social{
  margin-top:18px;
  display:flex;
  gap:14px;
}

.social a{
  width:46px;height:46px;
  display:grid;
  place-items:center;
  border-radius:12px;
  text-decoration:none;
  background:rgba(255,255,255,.12);
  border:1px solid rgba(255,255,255,.10);
}
.social a:hover{background:rgba(255,255,255,.18)}
.social svg{width:26px;height:26px; fill:#fff}

.hero-photo{
  width:100%;
  border-radius:22px;
  overflow:hidden;
  box-shadow: var(--shadow);
  border:1px solid rgba(255,255,255,.10);
}
.hero-photo img{
  display:block;
  width:100%;
  height:auto;
}

.section-title-bar{
  margin:18px 0 0;
  background:linear-gradient(180deg, #a01019, #7f0c13);
  border-radius:18px;
  padding:18px 16px;
  text-align:center;
  color:#000;
  font-family: ui-serif, Georgia, "Times New Roman", serif;
  font-size:56px;
  letter-spacing:1px;
  box-shadow: 0 12px 26px rgba(0,0,0,.2);
}

.card{
  margin:16px 0 26px;
  background:rgba(245,245,245,.95);
  border-radius:18px;
  box-shadow: var(--shadow);
  padding:22px 22px;
}

.faq{
  font-family: ui-serif, Georgia, "Times New Roman", serif;
  font-size:20px;
  line-height:1.5;
}

.faq ol{
  margin:0;
  padding-left:22px;
}
.faq li{ margin:10px 0 16px; }
.faq .answer{ margin-top:6px; color:#222; }

.about{
  font-family: ui-serif, Georgia, "Times New Roman", serif;
  font-size:20px;
  line-height:1.55;
}

.footer{
  padding:22px 0 28px;
  color:rgba(255,255,255,.75);
  text-align:center;
  font-size:14px;
}

/* Responsive */
@media (max-width: 980px){
  .hero-grid{grid-template-columns:1fr; }
  .nav{margin-left:auto}
  .hero-title{font-size:38px}
  .hero-sub{font-size:34px}
  .cta{font-size:28px}
}
@media (max-width: 560px){
  .nav a{font-size:18px}
  .hero-title{font-size:32px}
  .hero-sub{font-size:28px}
  .cta{font-size:22px; padding:14px 16px}
  .section-title-bar{font-size:42px}
}