* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

html {
  scroll-behavior: smooth;
}

body {
  font-family: Arial, Helvetica, sans-serif;
  line-height: 1.6;
  color: #111111;
  background: #ffffff;
}

a {
  text-decoration: none;
  color: inherit;
}

img {
  max-width: 100%;
  display: block;
}

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

.topbar {
  background: #000000;
  color: #ffffff;
  font-size: 14px;
  padding: 10px 0;
}

.topbar-content {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 20px;
  flex-wrap: wrap;
}

header {
  background: rgba(255,255,255,0.96);
  border-bottom: 1px solid #eeeeee;
  position: sticky;
  top: 0;
  z-index: 999;
  backdrop-filter: blur(10px);
}

.navbar {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 18px 0;
  gap: 20px;
  flex-wrap: wrap;
}

.logo {
  display: flex;
  align-items: center;
  gap: 12px;
  color: #c40000;
  font-size: 22px;
  font-weight: 800;
}

.logo img {
  width: 54px;
  height: 54px;
  object-fit: contain;
  border-radius: 50%;
}

nav ul {
  list-style: none;
  display: flex;
  gap: 22px;
  flex-wrap: wrap;
  align-items: center;
}

nav ul li a {
  color: #111111;
  font-weight: 600;
  transition: 0.3s ease;
}

nav ul li a:hover,
nav ul li a.active {
  color: #c40000;
}

.btn {
  display: inline-block;
  padding: 13px 24px;
  font-weight: 700;
  border: 2px solid transparent;
  transition: 0.3s ease;
}

.btn-primary {
  background: #c40000;
  color: #ffffff;
}

.btn-primary:hover {
  background: #990000;
}

.btn-dark {
  background: #000000;
  color: #ffffff;
}

.btn-dark:hover {
  background: #222222;
}

.btn-outline {
  border: 2px solid #c40000;
  color: #c40000;
  background: transparent;
}

.btn-outline:hover {
  background: #c40000;
  color: #ffffff;
}

.hero {
  background:
    radial-gradient(circle at top right, rgba(196,0,0,0.10), transparent 28%),
    linear-gradient(135deg, #fff2f2 0%, #ffffff 56%, #f5f5f5 100%);
  padding: 88px 0 78px;
  overflow: hidden;
}

.hero-grid {
  display: grid;
  grid-template-columns: 1.1fr 0.9fr;
  gap: 42px;
  align-items: center;
}

.hero h1,
.page-hero h1 {
  font-size: 50px;
  line-height: 1.1;
  margin-bottom: 20px;
}

.hero h1 span,
.page-hero h1 span,
.red {
  color: #c40000;
}

.hero p,
.page-hero p {
  font-size: 18px;
  color: #333333;
  margin-bottom: 28px;
  max-width: 700px;
}

.hero-buttons {
  display: flex;
  gap: 15px;
  flex-wrap: wrap;
  margin-bottom: 28px;
}

.hero-points {
  display: grid;
  grid-template-columns: repeat(2, minmax(180px, 1fr));
  gap: 14px;
}

.hero-point {
  background: rgba(255,255,255,0.92);
  border: 1px solid #f0d7d7;
  border-left: 4px solid #c40000;
  padding: 14px 16px;
  box-shadow: 0 12px 30px rgba(0,0,0,0.05);
  font-weight: 600;
}

.hero-visual {
  position: relative;
  min-height: 460px;
}

.hero-orb {
  position: absolute;
  border-radius: 50%;
  filter: blur(8px);
}

.hero-orb.one {
  width: 180px;
  height: 180px;
  background: rgba(196,0,0,0.15);
  top: 18px;
  right: 10px;
}

.hero-orb.two {
  width: 120px;
  height: 120px;
  background: rgba(0,0,0,0.08);
  bottom: 24px;
  left: 8px;
}

.banner-panel {
  position: relative;
  background: linear-gradient(160deg, #101010 0%, #2b2b2b 100%);
  color: #ffffff;
  border-radius: 28px;
  padding: 34px;
  min-height: 420px;
  box-shadow: 0 26px 60px rgba(0,0,0,0.18);
  overflow: hidden;
}

.banner-panel::before {
  content: "";
  position: absolute;
  width: 260px;
  height: 260px;
  background: rgba(196,0,0,0.22);
  border-radius: 50%;
  top: -80px;
  right: -70px;
}

.banner-panel::after {
  content: "";
  position: absolute;
  inset: auto -40px -60px auto;
  width: 220px;
  height: 220px;
  background: rgba(255,255,255,0.05);
  transform: rotate(20deg);
}

.banner-label {
  position: relative;
  display: inline-block;
  background: rgba(255,255,255,0.08);
  border: 1px solid rgba(255,255,255,0.12);
  padding: 8px 14px;
  border-radius: 999px;
  font-size: 13px;
  margin-bottom: 16px;
}

.banner-panel h3 {
  position: relative;
  font-size: 30px;
  line-height: 1.2;
  margin-bottom: 14px;
}

.banner-panel p {
  position: relative;
  color: #e7e7e7;
  max-width: 380px;
  margin-bottom: 24px;
}

.banner-illustration {
  position: relative;
  margin-top: 10px;
  height: 210px;
}

.server-stack {
  position: absolute;
  right: 10px;
  bottom: 0;
  width: 180px;
}

.server-unit {
  height: 52px;
  background: #ffffff;
  border-radius: 18px;
  margin-top: 12px;
  box-shadow: 0 12px 28px rgba(0,0,0,0.18);
  position: relative;
}

.server-unit::before {
  content: "";
  position: absolute;
  left: 18px;
  top: 18px;
  width: 55px;
  height: 8px;
  background: #d5d5d5;
  border-radius: 20px;
}

.server-unit::after {
  content: "";
  position: absolute;
  right: 18px;
  top: 17px;
  width: 12px;
  height: 12px;
  background: #c40000;
  border-radius: 50%;
  box-shadow: -22px 0 0 #111111, -44px 0 0 #e5e5e5;
}

.browser-card,
.floating-mini {
  position: absolute;
  background: #ffffff;
  color: #111111;
  border-radius: 22px;
  box-shadow: 0 18px 36px rgba(0,0,0,0.16);
}

.browser-card {
  left: 0;
  top: 18px;
  width: 210px;
  padding: 18px;
}

.browser-top {
  display: flex;
  gap: 7px;
  margin-bottom: 16px;
}

.browser-top span {
  width: 11px;
  height: 11px;
  border-radius: 50%;
  display: block;
}

.browser-top span:nth-child(1) { background: #c40000; }
.browser-top span:nth-child(2) { background: #111111; }
.browser-top span:nth-child(3) { background: #d9d9d9; }

.browser-line {
  height: 9px;
  border-radius: 20px;
  background: #ececec;
  margin-bottom: 10px;
}

.browser-line.red-line { background: #ffd6d6; width: 75%; }

.floating-mini {
  right: 140px;
  top: 145px;
  padding: 16px 18px;
  min-width: 160px;
}

.floating-mini strong {
  display: block;
  color: #c40000;
  font-size: 14px;
  margin-bottom: 5px;
}

.mini-bars {
  display: grid;
  gap: 8px;
}

.mini-bars span {
  display: block;
  height: 8px;
  border-radius: 20px;
  background: #ececec;
}

.mini-bars span:first-child { width: 80%; }
.mini-bars span:last-child { width: 58%; }

.hero-card,
.card,
.contact-box,
.stats-box,
.process-step {
  background: #ffffff;
  border: 1px solid #ececec;
  padding: 30px;
  box-shadow: 0 14px 30px rgba(0,0,0,0.05);
}

.hero-card h3,
.card h3,
.contact-box h3 {
  margin-bottom: 14px;
}

.hero-card h3,
.contact-box h3,
.section-title .mini,
.accent {
  color: #c40000;
}

.card-icon,
.feature-icon,
.small-icon {
  width: 58px;
  height: 58px;
  border-radius: 18px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 28px;
  margin-bottom: 16px;
  background: linear-gradient(145deg, #fff0f0, #ffffff);
  border: 1px solid #f1d0d0;
  box-shadow: 0 10px 24px rgba(196,0,0,0.08);
}

.small-icon {
  width: 46px;
  height: 46px;
  font-size: 22px;
  border-radius: 14px;
  margin-bottom: 0;
}

.hero-card ul,
.card ul,
.feature-list,
.check-list,
.footer-payments,
.quick-badges {
  list-style: none;
  display: grid;
  gap: 10px;
}

.hero-card ul li::before,
.card ul li::before,
.feature-list li::before,
.check-list li::before {
  content: "✔ ";
  color: #c40000;
  font-weight: 700;
}

.icon-list li {
  display: flex;
  gap: 12px;
  align-items: flex-start;
}

.icon-list li::before { content: none !important; }

.icon-list span {
  width: 36px;
  height: 36px;
  border-radius: 12px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: #fff1f1;
  color: #c40000;
  font-size: 18px;
  flex-shrink: 0;
}

section {
  padding: 80px 0;
}

.page-hero {
  background: linear-gradient(135deg, #111111 0%, #202020 100%);
  color: #ffffff;
  padding: 80px 0;
  position: relative;
  overflow: hidden;
}

.page-hero::after {
  content: "";
  position: absolute;
  width: 240px;
  height: 240px;
  border-radius: 50%;
  right: -80px;
  top: -70px;
  background: rgba(196,0,0,0.25);
}

.page-hero p {
  color: #e1e1e1;
}

.section-title {
  text-align: center;
  max-width: 780px;
  margin: 0 auto 50px;
}

.section-title h2 {
  font-size: 38px;
  margin-bottom: 14px;
}

.section-title p {
  color: #444444;
  font-size: 17px;
}

.grid-2,
.grid-3,
.grid-4,
.contact-grid,
.footer-grid,
.stats-grid,
.process-grid,
.feature-panel-grid,
.payment-grid {
  display: grid;
  gap: 25px;
}

.grid-2,
.contact-grid,
.footer-grid {
  grid-template-columns: repeat(2, 1fr);
}

.grid-3,
.process-grid,
.feature-panel-grid {
  grid-template-columns: repeat(3, 1fr);
}

.grid-4,
.stats-grid,
.payment-grid {
  grid-template-columns: repeat(4, 1fr);
}

.card:hover,
.process-step:hover,
.stats-box:hover {
  transform: translateY(-5px);
  transition: 0.3s ease;
}

.price-card {
  position: relative;
  overflow: hidden;
}

.price-card.popular {
  border: 2px solid #c40000;
}

.badge {
  position: absolute;
  top: 14px;
  right: -32px;
  background: #c40000;
  color: #ffffff;
  font-size: 12px;
  font-weight: bold;
  padding: 8px 36px;
  transform: rotate(45deg);
}

.plan-name {
  font-size: 26px;
  font-weight: 800;
  margin-bottom: 8px;
}

.plan-price {
  font-size: 24px;
  color: #c40000;
  font-weight: 800;
  margin-bottom: 6px;
}

.plan-period {
  display: block;
  color: #666666;
  margin-bottom: 22px;
}

.price-card .btn { margin-top: 8px; }

.dark-section {
  background: #111111;
  color: #ffffff;
}

.dark-section .section-title h2,
.dark-section .section-title p,
.dark-section .card h3,
.dark-section .card p,
.dark-section .card li,
.dark-section .card .plan-period,
.dark-section .card .accent {
  color: #ffffff;
}

.dark-section .card {
  background: #1c1c1c;
  border: 1px solid #2b2b2b;
  box-shadow: none;
}

.dark-section .card-icon,
.dark-section .feature-icon,
.dark-section .small-icon {
  background: rgba(255,255,255,0.06);
  border-color: rgba(255,255,255,0.08);
  box-shadow: none;
}

.feature-panel {
  border-top: 4px solid #c40000;
}

.feature-panel p { color: #4b4b4b; }

.cta {
  background: linear-gradient(135deg, #c40000 0%, #950000 100%);
  color: #ffffff;
  text-align: center;
  padding: 70px 0;
}

.cta h2 {
  font-size: 38px;
  margin-bottom: 15px;
}

.cta p {
  font-size: 17px;
  max-width: 780px;
  margin: 0 auto 25px;
}

.stats-box {
  text-align: center;
  padding: 25px;
}

.stats-box h3 {
  font-size: 34px;
  color: #c40000;
  margin-bottom: 8px;
}

.process-step .number {
  width: 50px;
  height: 50px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: #c40000;
  color: #ffffff;
  font-weight: 800;
  margin-bottom: 18px;
}

.quick-badges {
  grid-template-columns: repeat(2, minmax(140px, 1fr));
  margin-top: 18px;
}

.quick-badges li {
  background: #fff7f7;
  border: 1px solid #f4d7d7;
  padding: 12px 14px;
  font-weight: 600;
}

.contact-box p {
  margin-bottom: 12px;
  color: #333333;
}

.contact-box strong {
  color: #111111;
}

.contact-form {
  display: grid;
  gap: 20px;
}

.form-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 20px;
}

.form-group {
  display: grid;
  gap: 8px;
}

.form-group label {
  font-weight: 700;
}

.form-group input,
.form-group select,
.form-group textarea {
  width: 100%;
  padding: 14px 16px;
  border: 1px solid #d7d7d7;
  background: #ffffff;
  color: #111111;
  font: inherit;
}

.form-group input:focus,
.form-group select:focus,
.form-group textarea:focus {
  border-color: #c40000;
  outline: none;
  box-shadow: 0 0 0 3px rgba(196,0,0,0.08);
}

footer {
  background: #000000;
  color: #ffffff;
  padding: 60px 0 25px;
}

footer h4 {
  font-size: 20px;
  margin-bottom: 16px;
}

footer p,
footer li,
footer a {
  color: #dddddd;
}

footer ul {
  list-style: none;
  display: grid;
  gap: 10px;
}

.payments-strip {
  margin-top: 30px;
  padding-top: 28px;
  border-top: 1px solid #222222;
}

.payments-strip h4 {
  margin-bottom: 16px;
}

.payment-grid {
  grid-template-columns: repeat(7, minmax(0, 1fr));
  gap: 14px;
}

.payment-chip {
  border: 1px solid #2b2b2b;
  background: #121212;
  min-height: 78px;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  gap: 8px;
  padding: 12px;
  text-align: center;
}

.payment-chip strong {
  display: block;
  color: #ffffff;
  font-size: 13px;
}

.payment-chip span {
  display: inline-flex;
  width: 38px;
  height: 38px;
  align-items: center;
  justify-content: center;
  border-radius: 12px;
  background: #fff1f1;
  color: #c40000;
  font-size: 18px;
}

.copyright {
  border-top: 1px solid #222222;
  margin-top: 30px;
  padding-top: 20px;
  text-align: center;
  color: #bbbbbb;
  font-size: 14px;
}

@media (max-width: 1024px) {
  .hero-grid,
  .grid-2,
  .grid-3,
  .grid-4,
  .contact-grid,
  .footer-grid,
  .stats-grid,
  .process-grid,
  .feature-panel-grid,
  .payment-grid {
    grid-template-columns: 1fr 1fr;
  }
}

@media (max-width: 768px) {
  .hero-grid,
  .grid-2,
  .grid-3,
  .grid-4,
  .contact-grid,
  .footer-grid,
  .stats-grid,
  .process-grid,
  .feature-panel-grid,
  .payment-grid,
  .hero-points,
  .form-grid,
  .quick-badges {
    grid-template-columns: 1fr;
  }

  .navbar,
  .topbar-content {
    flex-direction: column;
    align-items: flex-start;
  }

  nav ul {
    gap: 14px;
  }

  .hero h1,
  .page-hero h1,
  .section-title h2,
  .cta h2 {
    font-size: 32px;
  }

  .hero-visual {
    min-height: 400px;
  }

  .banner-panel {
    min-height: 370px;
  }

  .browser-card {
    width: 180px;
  }

  .floating-mini {
    right: 100px;
    top: 155px;
  }

  .server-stack {
    width: 150px;
  }
}


/* Enhanced homepage banner */
.hero-grid {
  grid-template-columns: 1.02fr 0.98fr;
}

.hero-visual {
  position: relative;
  min-height: 520px;
}

.banner-panel {
  min-height: 500px;
  border-radius: 30px;
  padding: 36px;
  background:
    radial-gradient(circle at top right, rgba(196,0,0,0.28), transparent 28%),
    linear-gradient(145deg, #101010 0%, #191919 42%, #2a2a2a 100%);
}

.banner-panel h3 {
  max-width: 420px;
  font-size: 34px;
}

.banner-panel p {
  max-width: 410px;
}

.banner-illustration {
  position: relative;
  height: 290px;
  margin-top: 24px;
}

.illus-screen,
.illus-card,
.illus-badge,
.illus-server {
  position: absolute;
  background: #ffffff;
  border-radius: 24px;
  box-shadow: 0 20px 40px rgba(0,0,0,0.18);
}

.illus-screen {
  left: 0;
  top: 10px;
  width: 270px;
  height: 185px;
  padding: 18px;
}

.illus-screen .top-dots {
  display: flex;
  gap: 7px;
  margin-bottom: 16px;
}

.illus-screen .top-dots span {
  width: 11px;
  height: 11px;
  border-radius: 50%;
  display: block;
}

.illus-screen .top-dots span:nth-child(1) { background: #c40000; }
.illus-screen .top-dots span:nth-child(2) { background: #111111; }
.illus-screen .top-dots span:nth-child(3) { background: #cfcfcf; }

.illus-line {
  height: 10px;
  border-radius: 999px;
  background: #ededed;
  margin-bottom: 12px;
}

.illus-line.red { background: #ffd2d2; width: 70%; }
.illus-line.w85 { width: 85%; }
.illus-line.w60 { width: 60%; }

.illus-tiles {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 12px;
  margin-top: 16px;
}

.illus-tiles div {
  height: 52px;
  border-radius: 16px;
  background: linear-gradient(180deg, #fafafa 0%, #f0f0f0 100%);
}

.illus-server {
  right: 0;
  bottom: 6px;
  width: 200px;
  padding: 16px;
  background: linear-gradient(180deg, #ffffff 0%, #f5f5f5 100%);
}

.illus-server .unit {
  height: 56px;
  border-radius: 18px;
  background: #ffffff;
  border: 1px solid #ececec;
  margin: 10px 0 0;
  position: relative;
}

.illus-server .unit::before {
  content: "";
  position: absolute;
  left: 16px;
  top: 21px;
  width: 54px;
  height: 8px;
  background: #dddddd;
  border-radius: 999px;
}

.illus-server .unit::after {
  content: "";
  position: absolute;
  right: 16px;
  top: 19px;
  width: 12px;
  height: 12px;
  border-radius: 50%;
  background: #c40000;
  box-shadow: -24px 0 0 #111111, -48px 0 0 #e5e5e5;
}

.illus-card {
  right: 150px;
  top: 148px;
  padding: 18px 20px;
  min-width: 170px;
}

.illus-card strong {
  display: block;
  color: #c40000;
  font-size: 14px;
  margin-bottom: 8px;
}

.illus-mini-lines span {
  display: block;
  height: 8px;
  border-radius: 999px;
  background: #eaeaea;
  margin-top: 9px;
}

.illus-mini-lines span:first-child { width: 92px; }
.illus-mini-lines span:last-child { width: 68px; }

.illus-badge {
  left: 24px;
  bottom: 0;
  background: #c40000;
  color: #ffffff;
  padding: 14px 18px;
  border-radius: 18px;
  font-weight: 700;
}

/* footer reorganization */
footer {
  background: linear-gradient(180deg, #171717 0%, #111111 100%);
  color: #ffffff;
  padding: 70px 0 0;
}

.footer-main {
  display: grid;
  grid-template-columns: 1.3fr 1fr 1fr 0.9fr;
  gap: 42px;
  padding-bottom: 34px;
}

.footer-brand p {
  color: #d5d5d5;
  max-width: 330px;
  margin: 18px 0 28px;
}

.footer-brand-icon {
  width: 58px;
  height: 58px;
  border-radius: 18px;
  background: rgba(196,0,0,0.14);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: #ff6a6a;
  font-size: 24px;
  margin-bottom: 10px;
}

.footer-title {
  font-size: 18px;
  margin-bottom: 20px;
  color: #ffffff;
}

.footer-links ul,
.footer-brand ul,
.footer-company ul {
  list-style: none;
  display: grid;
  gap: 14px;
}

.footer-links a,
.footer-company a {
  color: #dfdfdf;
}

.footer-links a:hover,
.footer-company a:hover {
  color: #ffffff;
}

.footer-contact li {
  color: #e1e1e1;
  display: flex;
  gap: 12px;
  align-items: flex-start;
}

.footer-contact .ic {
  width: 34px;
  height: 34px;
  border-radius: 10px;
  background: rgba(255,255,255,0.08);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 15px;
  flex: 0 0 34px;
}

.payments-row {
  border-top: 1px solid rgba(255,255,255,0.07);
  border-bottom: 1px solid rgba(255,255,255,0.07);
  padding: 26px 0;
  margin-top: 8px;
}

.payment-grid {
  display: grid;
  grid-template-columns: repeat(8, minmax(0, 1fr));
  gap: 14px;
}

.payment-chip {
  border: 1px solid rgba(255,255,255,0.1);
  border-radius: 12px;
  min-height: 52px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  color: #ffffff;
  background: rgba(255,255,255,0.04);
  font-size: 13px;
  font-weight: 700;
  text-align: center;
  padding: 10px 8px;
}

.payment-chip span {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 24px;
  height: 24px;
  border-radius: 8px;
  background: rgba(255,255,255,0.12);
  font-size: 12px;
}

.copyright {
  border-top: 0;
  margin-top: 0;
  padding: 20px 0 22px;
  text-align: left;
  color: #c9c9c9;
}

@media (max-width: 1024px) {
  .footer-main { grid-template-columns: 1fr 1fr; }
  .payment-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
}

@media (max-width: 768px) {
  .hero-visual { min-height: auto; }
  .banner-panel { min-height: auto; padding: 28px; }
  .banner-panel h3 { font-size: 28px; }
  .banner-illustration { height: 250px; }
  .illus-screen { width: 220px; height: 170px; }
  .illus-server { width: 160px; }
  .illus-card { right: 100px; top: 150px; min-width: 140px; }
  .footer-main { grid-template-columns: 1fr; }
  .payment-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .copyright { text-align: center; }
}


/* Professional responsive navigation */
.nav-toggle {
  display: none;
  width: 48px;
  height: 48px;
  border: 1px solid #e5e5e5;
  background: #ffffff;
  border-radius: 14px;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  gap: 5px;
  cursor: pointer;
  box-shadow: 0 10px 24px rgba(0,0,0,0.04);
}

.nav-toggle span {
  width: 20px;
  height: 2px;
  background: #111111;
  border-radius: 999px;
  transition: transform 0.25s ease, opacity 0.25s ease;
}

.nav-toggle.is-active span:nth-child(1) {
  transform: translateY(7px) rotate(45deg);
}

.nav-toggle.is-active span:nth-child(2) {
  opacity: 0;
}

.nav-toggle.is-active span:nth-child(3) {
  transform: translateY(-7px) rotate(-45deg);
}

.site-nav {
  margin-left: auto;
}

/* Hero refinements */
.hero h1,
.page-hero h1 {
  font-size: clamp(2.2rem, 4vw, 3.2rem);
}

.banner-panel h3 {
  font-size: clamp(1.7rem, 3vw, 2.1rem);
}

@media (max-width: 960px) {
  .navbar {
    align-items: center;
    gap: 14px;
  }

  .logo {
    font-size: 20px;
    max-width: calc(100% - 64px);
  }

  .nav-toggle {
    display: inline-flex;
    margin-left: auto;
    flex: 0 0 auto;
  }

  .site-nav {
    width: 100%;
    margin-left: 0;
    display: none;
  }

  .site-nav.is-open {
    display: block;
  }

  .site-nav ul {
    width: 100%;
    flex-direction: column;
    align-items: stretch;
    gap: 2px;
    padding: 14px;
    margin-top: 6px;
    background: #ffffff;
    border: 1px solid #ececec;
    border-radius: 22px;
    box-shadow: 0 16px 36px rgba(0,0,0,0.08);
  }

  .site-nav ul li a {
    display: block;
    width: 100%;
    padding: 12px 14px;
    border-radius: 12px;
  }

  .site-nav ul li a:hover,
  .site-nav ul li a.active {
    background: #fff3f3;
    color: #c40000;
  }

  .site-nav .btn {
    text-align: center;
    margin-top: 8px;
  }

  .hero {
    padding: 70px 0 62px;
  }

  .hero-grid {
    grid-template-columns: 1fr;
    gap: 30px;
  }

  .hero-visual {
    min-height: 0;
  }

  .banner-panel {
    min-height: auto;
  }

  .topbar-content {
    justify-content: flex-start;
    gap: 8px 18px;
  }

  .footer-main {
    grid-template-columns: 1fr 1fr;
  }
}

@media (max-width: 767px) {
  .topbar {
    font-size: 13px;
    padding: 9px 0;
  }

  .topbar-content {
    flex-direction: column;
    align-items: flex-start;
    gap: 4px;
  }

  .navbar {
    flex-wrap: nowrap;
  }

  .logo img {
    width: 46px;
    height: 46px;
  }

  .logo span {
    font-size: 18px;
    line-height: 1.15;
  }

  .hero {
    padding: 58px 0 56px;
  }

  .hero-buttons {
    gap: 12px;
  }

  .hero-buttons .btn {
    width: 100%;
    text-align: center;
  }

  .hero-visual {
    overflow: visible;
  }

  .banner-panel {
    padding: 22px;
    border-radius: 22px;
  }

  .banner-label {
    font-size: 12px;
    padding: 7px 12px;
    margin-bottom: 14px;
  }

  .banner-panel p {
    max-width: 100%;
    margin-bottom: 18px;
  }

  .banner-illustration {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 14px;
    height: auto;
    margin-top: 14px;
  }

  .illus-screen,
  .illus-card,
  .illus-server,
  .illus-badge {
    position: relative;
    inset: auto;
    left: auto;
    right: auto;
    top: auto;
    bottom: auto;
    width: auto;
    min-width: 0;
    box-shadow: 0 16px 28px rgba(0,0,0,0.16);
  }

  .illus-screen {
    grid-column: 1 / -1;
    height: auto;
  }

  .illus-tiles div {
    height: 44px;
  }

  .illus-card {
    padding: 16px;
  }

  .illus-server {
    padding: 14px;
  }

  .illus-server .unit {
    height: 48px;
  }

  .illus-server .unit::before {
    top: 19px;
    width: 46px;
  }

  .illus-server .unit::after {
    top: 17px;
  }

  .illus-badge {
    grid-column: 1 / -1;
    text-align: center;
    justify-self: stretch;
  }

  .hero-points,
  .grid-2,
  .grid-3,
  .grid-4,
  .contact-grid,
  .footer-grid,
  .stats-grid,
  .process-grid,
  .feature-panel-grid,
  .payment-grid,
  .form-grid,
  .quick-badges,
  .footer-main {
    grid-template-columns: 1fr;
  }

  .payment-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .payment-chip {
    min-height: 48px;
    font-size: 12px;
  }

  .copyright {
    text-align: center;
  }
}

@media (max-width: 420px) {
  .container {
    width: 92%;
  }

  .hero-point,
  .card,
  .contact-box,
  .process-step,
  .stats-box {
    padding: 22px;
  }

  .payment-grid {
    grid-template-columns: 1fr;
  }
}

.stats-box {
  text-align: center;
  padding: 25px;
  border: 1px solid #ececec;
  background: #ffffff;
  box-shadow: 0 10px 28px rgba(0,0,0,0.05);
}

.stats-box h3 {
  font-size: 34px;
  color: #c40000;
  margin-bottom: 8px;
}

.stats-box p {
  color: #333333;
}

/* Fix for stats boxes inside dark section */
.dark-section .stats-box {
  background: #ffffff;
  border: 1px solid #ececec;
}

.dark-section .stats-box h3 {
  color: #c40000;
}

.dark-section .stats-box p {
  color: #333333;
}

/* Hosting page specific styles */
.price-toggle {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 12px;
  margin-bottom: 40px;
  font-weight: 700;
  font-size: 16px;
}

.price-toggle input[type="checkbox"] {
  display: none;
}

.price-toggle label {
  display: flex;
  align-items: center;
  cursor: pointer;
  background: #ffffff;
  border: 2px solid #c40000;
  padding: 8px 18px;
  border-radius: 50px;
  transition: all 0.3s ease;
  font-weight: 600;
  color: #c40000;
}

.price-toggle input[type="checkbox"]:checked + label {
  background: #c40000;
  color: #ffffff;
}

/* Hosting cards enhancements */
.price-card {
  transition: 0.3s ease, box-shadow 0.3s ease;
  border-radius: 16px;
  padding: 28px 24px;
}

.price-card:hover {
  transform: translateY(-6px);
  box-shadow: 0 20px 40px rgba(196,0,0,0.12);
}

.price-card .plan-price {
  font-size: 24px;
  color: #c40000;
}

.price-card .plan-period {
  font-size: 16px;
  color: #666666;
  margin-bottom: 22px;
}

.price-card.popular {
  border: 2px solid #c40000;
  position: relative;
}

.price-card .badge {
  top: 14px;
  right: -28px;
  padding: 8px 36px;
  font-size: 12px;
  transform: rotate(45deg);
  box-shadow: 0 4px 12px rgba(0,0,0,0.12);
}

/* Button refinements */
.price-card .btn-primary {
  background: #c40000;
  color: #ffffff;
  border-radius: 12px;
  padding: 12px 22px;
  font-weight: 700;
  transition: all 0.3s ease;
}

.price-card .btn-primary:hover {
  background: #990000;
  box-shadow: 0 6px 20px rgba(196,0,0,0.2);
}

/* Small icons for plans */
.price-card .small-icon {
  background: linear-gradient(145deg, #fff0f0, #ffffff);
  border: 1px solid #f1d0d0;
  box-shadow: 0 10px 24px rgba(196,0,0,0.08);
}

/* Responsive tweaks for hosting grid */
@media (max-width: 1024px) {
  .grid-4 {
    grid-template-columns: 1fr 1fr;
  }
}

@media (max-width: 768px) {
  .grid-4 {
    grid-template-columns: 1fr;
  }

  .price-toggle {
    justify-content: center;
    flex-wrap: wrap;
  }
}

/* Highlight hover features in hosting cards */
.price-card ul li::before {
  content: "✔ ";
  color: #c40000;
  font-weight: 700;
}

.billing-toggle-wrapper {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  font-family: Arial, sans-serif;
  font-weight: 500;
  margin-bottom: 30px;
}

.switch {
  position: relative;
  display: inline-block;
  width: 50px;
  height: 28px;
}

.switch input {
  opacity: 0;
  width: 0;
  height: 0;
}

.slider {
  position: absolute;
  cursor: pointer;
  top: 0; left: 0;
  right: 0; bottom: 0;
  background-color: #ccc;
  transition: 0.4s;
  border-radius: 34px;
}

.slider:before {
  position: absolute;
  content: "";
  height: 22px;
  width: 22px;
  left: 3px;
  bottom: 3px;
  background-color: white;
  transition: 0.4s;
  border-radius: 50%;
}

input:checked + .slider {
  background-color: #c00; /* Red like your pricing */
}

input:checked + .slider:before {
  transform: translateX(22px);
}

/* second-pass enhancement styles */
.skip-link{position:absolute;left:12px;top:-44px;background:#111;color:#fff;padding:10px 14px;z-index:2000}
.skip-link:focus{top:12px}
header.is-scrolled{box-shadow:0 12px 30px rgba(0,0,0,.08)}
.btn, .card, .contact-box, .process-step, .stats-box, .payment-chip, .quick-link, .faq-item{border-radius:18px}
.btn{box-shadow:0 10px 22px rgba(0,0,0,.05)}
.btn:hover{transform:translateY(-2px)}
.site-nav a.btn{padding:10px 18px}
main{display:block}
.trust-strip{padding:28px 0;background:#fff;border-top:1px solid #f0e0e0;border-bottom:1px solid #f0e0e0}
.trust-strip-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.trust-item{background:#fff7f7;border:1px solid #f3d7d7;padding:18px 20px;box-shadow:0 8px 20px rgba(196,0,0,.06)}
.trust-item strong{display:block;margin-bottom:6px;color:#111}
.trust-item span{color:#555;font-size:15px}
.quick-links{display:grid;gap:12px}
.quick-link{display:block;padding:14px 16px;border:1px solid #ead1d1;background:#fff7f7;font-weight:700;color:#8f0000}
.quick-link:hover{background:#c40000;color:#fff}
.contact-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:18px}
.faq-list{max-width:900px;margin:0 auto;display:grid;gap:16px}
.faq-item{border:1px solid #ebdada;background:#fff;box-shadow:0 10px 24px rgba(0,0,0,.04);padding:0}
.faq-item summary{cursor:pointer;list-style:none;padding:20px 24px;font-weight:800;position:relative}
.faq-item summary::-webkit-details-marker{display:none}
.faq-item summary::after{content:'+';position:absolute;right:24px;top:18px;font-size:24px;color:#c40000}
.faq-item[open] summary::after{content:'–'}
.faq-item p{padding:0 24px 22px;color:#444}
.billing-toggle-wrapper{display:flex;align-items:center;justify-content:center;gap:14px;margin:0 auto 34px;font-weight:700}
.billing-toggle-wrapper .billing-note{font-size:13px;color:#666;font-weight:600}
.switch{position:relative;display:inline-block;width:64px;height:34px}
.switch input{opacity:0;width:0;height:0}
.slider{position:absolute;cursor:pointer;inset:0;background:#ddd;transition:.3s;border-radius:999px}
.slider:before{content:"";position:absolute;height:26px;width:26px;left:4px;top:4px;background:#fff;transition:.3s;border-radius:50%;box-shadow:0 2px 8px rgba(0,0,0,.18)}
input:checked + .slider{background:#c40000}
input:checked + .slider:before{transform:translateX(30px)}
.topbar a, .footer-contact a{color:inherit}
.footer-main{display:grid;grid-template-columns:1.4fr 1fr 1fr .8fr;gap:28px}
.footer-contact li{display:flex;gap:10px;align-items:flex-start}
.footer-contact .ic{flex-shrink:0}
@media (max-width:1024px){.trust-strip-grid,.footer-main{grid-template-columns:repeat(2,1fr)}}
@media (max-width:768px){.trust-strip-grid,.footer-main{grid-template-columns:1fr}.billing-toggle-wrapper{flex-wrap:wrap}.contact-actions{flex-direction:column}.btn{width:auto}.site-nav{width:100%}.site-nav ul{width:100%}}
