body {
  margin: 0;
  font-family: Arial, Helvetica, sans-serif;
  background: #980014;
  color: #fff;
}
a { color: #ff1f1f; text-decoration: none; }
a:hover { text-decoration: underline; }
img { max-width: 100%; height: auto; display: block; }
.wrap { width: min(960px, calc(100% - 32px)); margin: 0 auto; }
.top-header {
  display: grid;
  grid-template-columns: 180px 1fr 180px;
  align-items: center;
  gap: 20px;
  padding: 28px 0 18px;
}
.logo-wrap img { width: 150px; margin: 0 auto; }
.price-wrap img { width: 160px; margin-left: auto; }
.tagline {
  text-align: center;
  font-size: clamp(28px, 3vw, 36px);
  line-height: 1.35;
  font-weight: 800;
}
.main-nav {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  gap: 2px;
  margin-bottom: 0;
}
.nav-link {
  background: #000;
  color: #fff;
  padding: 14px 18px;
  font-size: 17px;
}
.nav-link.active,
.nav-link:hover { background: #6a0110; text-decoration: none; }
.main-panel {
  background: #000;
  padding: 26px 22px 32px;
}
.hero {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 28px;
  align-items: stretch;
}
.hero-image img { width: 100%; height: 100%; object-fit: cover; }
.hero-copy {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  text-align: center;
}
.hero-copy h2 {
  margin: 0;
  font-size: clamp(34px, 4vw, 48px);
  line-height: 1.2;
  font-weight: 800;
  color: #fff;
}
.hero-phone {
  display: inline-block;
  margin-top: 28px;
  color: #ff0000;
  font-size: clamp(38px, 5vw, 64px);
  font-weight: 900;
  text-decoration: none;
}
.content-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 285px;
  gap: 28px;
  margin-top: 34px;
}
.content-main { min-width: 0; }
.headline {
  font-size: 28px;
  line-height: 1.4;
  margin: 0 0 20px;
  font-weight: 800;
  color: #ff0000;
  text-align: center;
}
.bodytext, .content-main p, .content-main li {
  color: #fff;
  font-size: 15px;
  line-height: 1.6;
}
.content-main h2.headline { color: #fff; }
.content-main b, .content-main strong { color: #fff; }
.content-main ul { padding-left: 22px; }
.content-main p { margin: 0 0 14px; }
.content-main .module.text { margin-bottom: 16px; }
.content-main br + .bodytext { margin-top: 0; }
.content-sidebar { text-align: center; }
.sidebar-card { margin-bottom: 26px; }
.sidebar-title {
  font-size: 21px;
  font-weight: 800;
  line-height: 1.35;
  margin: 0 0 8px;
}
.sidebar-contact p {
  margin: 0 0 8px;
  font-size: 16px;
  line-height: 1.5;
  font-weight: 700;
}
.price-headline { color: #fff; font-size: 26px; margin-bottom: 12px; }
.small-note { font-size: 13px; line-height: 1.5; }
.canadian-badge { margin-top: 24px; }
.canadian-badge img { width: 330px; max-width: 100%; }
.site-footer {
  color: #fff;
  padding: 18px 0 28px;
  font-size: 14px;
}
.form-row { margin-bottom: 14px; }
label { display: block; margin-bottom: 6px; font-weight: 700; }
input[type="text"], input[type="email"], input[type="password"], textarea {
  width: 100%; padding: 10px 12px; border: 1px solid #666; border-radius: 4px; box-sizing: border-box;
}
textarea { min-height: 300px; font-family: monospace; }
button, .button-link {
  background: #6a0110; color: #fff; border: 0; padding: 10px 16px; border-radius: 4px; cursor: pointer; display: inline-block;
}
.admin-shell {
  width: min(1000px, calc(100% - 32px)); margin: 30px auto; background: #fff; color: #111; padding: 24px; border-radius: 8px;
}
.admin-shell a { color: #6a0110; }
.admin-grid { display: grid; grid-template-columns: 240px 1fr; gap: 24px; }
.admin-nav ul { list-style: none; padding: 0; margin: 0; }
.admin-nav li { margin-bottom: 10px; }
.notice { background: #e9f7ef; color: #0f5132; padding: 10px 12px; border-radius: 4px; margin-bottom: 16px; }
.error { background: #f8d7da; color: #842029; padding: 10px 12px; border-radius: 4px; margin-bottom: 16px; }
code { background: #f1f1f1; padding: 2px 4px; border-radius: 4px; }
@media (max-width: 820px) {
  .top-header { grid-template-columns: 1fr; text-align: center; }
  .price-wrap img, .logo-wrap img { margin: 0 auto; }
  .hero, .content-grid, .admin-grid { grid-template-columns: 1fr; }
  .hero-phone { font-size: 42px; }
  .main-panel { padding: 20px 16px 28px; }
}
