*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
body { font-family: 'Open Sans', sans-serif; color: #333; background: #fff; line-height: 1.7; }

:root {
  --brand:      #A40000;
  --brand-dark: #7a0000;
  --brand-lt:   #c20000;
  --offwhite:   #f7f7f7;
  --gray-lt:    #e8e8e8;
  --gray-mid:   #777777;
  --gray-dark:  #333333;
  --dark-bg:    #1c1c1c;
  --radius:     5px;
  --radius-lg:  10px;
}

/* HERO */
.sc-hero {
  background: url('https://www.ightysupport.com/wp-content/uploads/2021/09/SecurityCamerasBanner.jpg') center/cover no-repeat;
  position: relative; min-height: 540px;
  display: flex; align-items: center; padding: 150px 20px 60px;
}
.sc-hero::before { content:''; position:absolute; inset:0; background:rgba(10,5,5,0.80); }
.sc-hero-split {
  position: relative; max-width: 1140px; margin: 0 auto; width: 100%;
  display: grid; grid-template-columns: 1fr 1fr; gap: 48px; align-items: center;
}
.sc-hero-content { text-align: left; }
.sc-hero h1 {
  font-family:'Raleway',sans-serif;
  font-size: clamp(24px,3.5vw,42px); font-weight:800;
  color:#ffffff; line-height:1.2; margin-bottom:14px;
  text-transform:uppercase; letter-spacing:0.02em;
}
.sc-hero h1 span { color:#e84040; }
.sc-hero-text { font-size:14px; color:rgba(255,255,255,0.85); line-height:1.7; margin-bottom:6px; }
.sc-hero-form { width:100%; }
.sc-form-box { background:#ffffff; border-radius:10px; padding:32px 28px; border-top:4px solid #A40000; }
.sc-form-title { font-family:'Raleway',sans-serif; font-size:20px; font-weight:800; color:#333333; margin-bottom:6px; text-transform:uppercase; }
.sc-form-sub { font-size:13px; color:#777777; margin-bottom:20px; }

/* FORM FIELDS */
.sc-form-box input[type="text"],
.sc-form-box input[type="email"],
.sc-form-box input[type="tel"],
.sc-form-box textarea {
  width:100%; padding:10px 14px; border:1px solid #dddddd;
  border-radius:5px; font-size:14px; font-family:inherit;
  color:#333333; background:#f9f9f9; outline:none;
  transition:border-color 0.2s; box-sizing:border-box; margin-bottom:10px;
}
.sc-form-box input[type="text"]:focus,
.sc-form-box input[type="email"]:focus,
.sc-form-box input[type="tel"]:focus,
.sc-form-box textarea:focus { border-color:#A40000; background:#fff; }
.sc-form-box textarea { min-height:80px; resize:vertical; }
.sc-form-row { display:grid; grid-template-columns:1fr 1fr; gap:10px; margin-bottom:0; }
.sc-form-box input[type="submit"] {
  width:100%; background:#A40000; color:#ffffff; font-weight:700;
  font-size:13px; padding:13px 24px; border-radius:5px;
  border:2px solid #A40000; text-transform:uppercase; letter-spacing:0.06em;
  cursor:pointer; transition:background 0.2s; font-family:inherit; white-space:nowrap;
}
.sc-form-box input[type="submit"]:hover { background:#7a0000; border-color:#7a0000; }
.sc-form-secure { font-size:11px; color:#aaa; text-align:center; margin-top:8px; }

.sc-license-pill {
  display:inline-block; border:1px solid rgba(255,255,255,0.5);
  background:rgba(255,255,255,0.1); color:#ffffff; font-size:13px;
  font-weight:600; padding:7px 20px; border-radius:50px;
  margin-top:16px; margin-bottom:28px; letter-spacing:0.05em;
}
.sc-hero-bullets { display:flex; flex-wrap:wrap; gap:12px; margin-bottom:0; }
.sc-hero-bullet {
  display:flex; align-items:center; gap:8px;
  background:rgba(164,0,0,0.3); border:1px solid rgba(200,0,0,0.6);
  color:#ffffff; font-size:13px; padding:8px 18px; border-radius:50px;
}
.sc-bdot { width:8px; height:8px; border-radius:50%; background:#e84040; flex-shrink:0; }

/* BUTTONS */
.sc-btn-brand {
  display:inline-block; background:#A40000; color:#ffffff !important;
  font-weight:700; font-size:13px; padding:13px 24px; border-radius:5px;
  text-decoration:none; text-transform:uppercase; letter-spacing:0.06em;
  border:2px solid #A40000; transition:background 0.2s, transform 0.2s; white-space:nowrap;
}
.sc-btn-brand:hover { background:#7a0000; border-color:#7a0000; transform:translateY(-2px); }
.sc-btn-red {
  display:inline-block; background:#A40000; color:#ffffff !important;
  font-weight:700; font-size:13px; padding:12px 24px; border-radius:5px;
  text-decoration:none; text-transform:uppercase; letter-spacing:0.06em;
  border:2px solid #A40000; transition:all 0.2s; margin-top:28px; white-space:nowrap;
}
.sc-btn-red:hover { background:#7a0000; border-color:#7a0000; }
.sc-btn-white {
  display:inline-block; background:transparent; color:#ffffff !important;
  font-weight:700; font-size:13px; padding:12px 24px; border-radius:5px;
  text-decoration:none; text-transform:uppercase; letter-spacing:0.06em;
  border:2px solid rgba(255,255,255,0.65); transition:all 0.2s; margin-top:28px; white-space:nowrap;
}
.sc-btn-white:hover { background:#A40000; border-color:#A40000; }

/* SECTION */
.sc-section { padding:72px 20px; }
.sc-container { max-width:1140px; margin:0 auto; }
.sc-tag {
  display:inline-block; background:#A40000; color:#ffffff;
  font-size:11px; font-weight:700; letter-spacing:0.1em;
  text-transform:uppercase; padding:4px 14px; border-radius:3px; margin-bottom:14px;
}
h2.sc-title {
  font-family:'Raleway',sans-serif;
  font-size:clamp(20px,3vw,32px); font-weight:800;
  line-height:1.25; margin-bottom:12px; text-transform:uppercase;
}
.sc-desc { font-size:15px; max-width:540px; }
.sc-divider { width:54px; height:4px; background:#A40000; border-radius:2px; margin:14px auto 0; }

/* SHOWCASE */
.sc-row { display:grid; grid-template-columns:1fr 1fr; min-height:480px; }
.sc-row.flip .sc-img { order:2; }
.sc-row.flip .sc-col { order:1; }
.sc-img { background-size:cover; background-position:center; min-height:320px; position:relative; }
.sc-img::after { content:''; position:absolute; inset:0; background:linear-gradient(135deg,rgba(164,0,0,0.15),transparent 60%); }
.sc-col { padding:56px 52px; display:flex; flex-direction:column; justify-content:center; background:#ffffff; }
.sc-col.light { background:#f7f7f7; }
.sc-col.dark  { background:#1c1c1c; }
.sc-col h2.sc-title { color:#333333; }
.sc-col .sc-desc    { color:#666666; }
.sc-col.dark h2.sc-title { color:#ffffff; }
.sc-col.dark .sc-desc    { color:rgba(255,255,255,0.78); }

/* LIST */
.sc-list { list-style:none; margin-top:22px; }
.sc-list li {
  display:flex; align-items:flex-start; gap:12px;
  padding:9px 0; font-size:14px; color:#555555; border-bottom:1px solid #e5e5e5;
}
.sc-col.dark .sc-list li { color:rgba(255,255,255,0.82); border-color:rgba(255,255,255,0.1); }
.sc-list li:last-child { border:none; }
.sc-check {
  width:20px; height:20px; flex-shrink:0; background:#A40000;
  border-radius:3px; display:flex; align-items:center; justify-content:center;
  font-size:11px; color:#ffffff; font-weight:700; margin-top:2px;
}

/* TURNKEY */
.sc-turnkey { background:#f7f7f7; }
.sc-turnkey-hdr { text-align:center; margin-bottom:44px; }
.sc-turnkey-hdr h2.sc-title { color:#333333; }
.sc-cards { display:grid; grid-template-columns:repeat(auto-fit,minmax(260px,1fr)); gap:24px; }
.sc-card {
  background:#ffffff; border:1px solid #dddddd; border-top:4px solid #A40000;
  border-radius:10px; padding:32px 28px; text-align:center;
  transition:box-shadow 0.2s, transform 0.2s;
}
.sc-card:hover { box-shadow:0 12px 40px rgba(164,0,0,0.13); transform:translateY(-4px); }
.sc-icon {
  width:72px; height:72px; background:#f0f0f0; border:2px solid #dddddd;
  border-radius:50%; margin:0 auto 18px; display:flex; align-items:center;
  justify-content:center; overflow:hidden;
}
.sc-icon img { width:40px; height:40px; object-fit:contain; }
.sc-card h3 { font-family:'Raleway',sans-serif; font-size:17px; font-weight:800; color:#333333; text-transform:uppercase; margin-bottom:10px; }
.sc-card p { font-size:14px; color:#666666; line-height:1.7; }
.sc-cta { text-align:center; margin-top:40px; }

/* SERVICE AREA */
.sc-area { background:#1c1c1c; }
.sc-area-hdr { text-align:center; margin-bottom:44px; }
.sc-area-hdr h2.sc-title { color:#ffffff; }
.sc-area-hdr .sc-desc { color:rgba(255,255,255,0.68); margin:0 auto; text-align:center; }
.sc-area-grid { display:grid; grid-template-columns:1fr 1fr; gap:32px; align-items:start; }
.sc-map-wrap { border-radius:10px; overflow:hidden; border:2px solid rgba(164,0,0,0.5); min-height:460px; position:relative; z-index:1; }
#sc-map { width:100%; height:460px; display:block; min-height:460px; }
.sc-popup strong { font-size:14px; color:#222222; display:block; margin-bottom:4px; }
.sc-popup a { color:#A40000; font-weight:700; font-size:13px; text-decoration:none; display:block; padding:2px 0; }
.sc-popup a:hover { text-decoration:underline; }
.sc-cities-label { font-size:12px; font-weight:700; letter-spacing:0.1em; text-transform:uppercase; color:#e84040; margin-bottom:16px; display:flex; align-items:center; gap:8px; }
.sc-cities { display:grid; grid-template-columns:1fr 1fr; gap:10px; }
.sc-city {
  display:flex; align-items:center; gap:10px; padding:12px 14px;
  background:rgba(255,255,255,0.06); border:1px solid rgba(255,255,255,0.12);
  border-radius:5px; color:rgba(255,255,255,0.88); font-size:13px;
  font-weight:600; text-decoration:none; letter-spacing:0.03em; transition:all 0.22s;
}
.sc-city:hover { background:#A40000; border-color:#A40000; color:#ffffff; transform:translateX(4px); }
.sc-pin { font-size:15px; flex-shrink:0; }

/* RESPONSIVE */
@media (max-width:960px) {
  .sc-hero-split { grid-template-columns:1fr; gap:32px; }
  .sc-hero-content { text-align:center; }
  .sc-hero-bullets { justify-content:center; }
  .sc-area-grid { grid-template-columns:1fr; }
  #sc-map { height:320px; }
  .sc-map-wrap { min-height:320px; }
}
@media (max-width:820px) {
  .sc-row { grid-template-columns:1fr; }
  .sc-row.flip .sc-img { order:-1; }
  .sc-row.flip .sc-col { order:1; }
  .sc-col { padding:36px 22px; }
  .sc-img  { min-height:250px; }
  .sc-section { padding:52px 16px; }
  .sc-cities { grid-template-columns:1fr 1fr; }
  .sc-form-row { grid-template-columns:1fr; }
}
@media (max-width:480px) {
  .sc-cities { grid-template-columns:1fr; }
  .sc-hero-bullets { flex-direction:column; align-items:center; }
}