html, body { overflow-x: hidden; }

.hero .scroll-note {
  z-index: 3;
  display: inline-flex;
  align-items: center;
  gap: 16px;
  min-height: 48px;
  padding: 8px 16px;
  border: 1px solid rgba(255,255,255,.5);
  border-radius: 28px;
  background: rgba(4,20,41,.75);
  color: #fff;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: 1.5px;
}

.hero .scroll-note span {
  display: inline-block;
  margin: 0;
  color: #a5e879;
  font-size: 24px;
  line-height: 1;
  animation: explore-arrow 1.6s ease-in-out infinite;
}

.hero .scroll-note:hover { background: #073b78; border-color: #a5e879; }
.hero .scroll-note:focus-visible { outline: 3px solid #a5e879; outline-offset: 4px; }

@keyframes explore-arrow {
  0%, 100% { transform: translateY(-3px); }
  50% { transform: translateY(4px); }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  .hero .scroll-note span { animation: none; }
}

:root {
  --arista-campaign-gradient: linear-gradient(90deg, #061f43 0%, #073b78 34%, #00388f 67%, #1f683b 100%);
}

.site-container {
  width: min(1180px, calc(100% - 48px));
  margin-inline: auto;
}

.site-header {
  padding-inline: 0;
}

.site-header .header-inner {
  width: min(1180px, calc(100% - 48px));
  height: 100%;
  margin-inline: auto;
  display: flex;
  align-items: center;
  justify-content: space-between;
}

.site-header .brand-lockup {
  display: flex;
  align-items: center;
  height: 100%;
  gap: 18px;
}

.site-header .arista-brand {
  display: flex;
  align-items: center;
}

.site-header .arista-brand img {
  display: block;
  width: 176px;
  height: auto;
}

.site-header .header-rule {
  flex: 0 0 1px;
  margin: 0;
}

.site-header .qad-redzone-logo {
  display: block;
  width: 132px;
  height: 28px;
  object-fit: contain;
  filter: grayscale(1) brightness(0) invert(1);
}

.site-header .champion-logo {
  display: block;
  width: 150px;
  height: auto;
  filter: none;
}

.hero-agent .agent-ring {
  inset: 34px;
  background: radial-gradient(circle, rgba(7,54,108,.96) 0 53%, rgba(4,20,41,.65) 54% 100%);
}

.hero-agent {
  right: max(32px, calc((100vw - 1180px) / 2));
}

.hero {
  background-color: #041429;
  background-image:
    linear-gradient(90deg, rgba(4,20,41,.97) 0%, rgba(4,20,41,.91) 35%, rgba(4,20,41,.72) 65%, rgba(4,20,41,.55) 100%),
    linear-gradient(0deg, rgba(4,20,41,.75), transparent 55%),
    url("images/hero-image.png");
  background-size: cover;
  background-position: center, center, center right;
  background-repeat: no-repeat;
  clip-path: inset(0 0 0 0 round 0 0 56px 56px);
}

.hero .hero-grid { opacity: .06; }
.hero .hero-orbit { opacity: .35; }
.hero::after { pointer-events: none; }

.hero-agent .champion-badge {
  position: relative;
  z-index: 2;
  width: 310px;
  height: 245px;
  object-fit: contain;
  filter: drop-shadow(0 16px 24px rgba(0,0,0,.42));
  transform: rotate(-3deg);
}

.hero-agent .agent-ring::before {
  animation: champion-spin 24s linear infinite;
}

@keyframes champion-spin {
  to { transform: rotate(360deg); }
}

.site-footer {
  position: relative;
  padding: 0 0 24px;
  color: #fff;
  background:
    radial-gradient(ellipse at 88% 8%, rgba(103,174,59,.18), transparent 42%),
    var(--arista-campaign-gradient);
  overflow: hidden;
}

.strategy {
  padding-bottom: 32px;
  background:
    radial-gradient(ellipse at 88% 92%, rgba(103,174,59,.18), transparent 42%),
    var(--arista-campaign-gradient);
}

.site-footer::before {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  opacity: .08;
  background-image: linear-gradient(rgba(255,255,255,.25) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.25) 1px, transparent 1px);
  background-size: 64px 64px;
  mask-image: linear-gradient(90deg, transparent, #000 35%, #000 80%, transparent);
}

.footer-panel {
  position: relative;
  z-index: 1;
  min-height: 0;
  padding: 32px 0;
  border-top: 1px solid rgba(255,255,255,.42);
  display: flex;
  align-items: center;
  justify-content: space-between;
}

.footer-brand-column { width: 587px; max-width: 100%; min-width: 0; }
.footer-lockup { display: flex; flex-wrap: nowrap; align-items: center; gap: 22px; }
.footer-lockup > img { min-width: 0; flex-shrink: 1; object-fit: contain; }
.footer-lockup .footer-champion-logo { width: 150px; height: auto; filter: none; }
.footer-lockup > span { width: 1px; flex-shrink: 0; height: 40px; background: rgba(255,255,255,.45); }
.footer-lockup .footer-arista-logo { width: 210px; filter: brightness(0) invert(1); }
.footer-lockup .footer-qad-logo { width: 160px; height: 34px; object-fit: contain; filter: grayscale(1) brightness(0) invert(1); }
.footer-intro { max-width: 420px; margin: 20px 0 0; color: rgba(255,255,255,.68); font-size: 13px; line-height: 1.7; }
.footer-signup label { display: flex; align-items: center; gap: 10px; margin-bottom: 17px; font-size: 10px; font-weight: 800; letter-spacing: 1.3px; text-transform: uppercase; }
.footer-signup label i { width: 8px; height: 8px; background: #72bd45; }
.footer-signup > div { width: 265px; height: 49px; border: 1px solid rgba(255,255,255,.8); border-radius: 5px; display: flex; align-items: center; }
.footer-signup input { flex: 1; min-width: 0; height: 100%; padding: 0 0 0 18px; border: 0; outline: 0; color: #fff; background: transparent; font: 700 10px Manrope, sans-serif; letter-spacing: .7px; }
.footer-signup input::placeholder { color: rgba(255,255,255,.9); }
.footer-signup button { width: 48px; height: 100%; border: 0; color: #fff; background: transparent; cursor: pointer; font-size: 20px; }
.footer-social { display: flex; flex-direction: column; align-items: flex-start; justify-content: center; gap: 14px; width: 170px; }
.footer-social a { display: grid; grid-template-columns: 22px 1fr; align-items: center; gap: 12px; width: 100%; color: rgba(255,255,255,.88); font-size: 13px; line-height: 22px; transition: color .2s, transform .2s; }
.footer-social a:hover { color: #8bd05e; transform: translateX(4px); }
.footer-social b { width: 22px; height: 22px; border: 1px solid rgba(255,255,255,.7); border-radius: 3px; display: grid; place-items: center; font-size: 10px; line-height: 1; }
.site-footer .copyright { position: relative; z-index: 1; margin-top: 0; padding-top: 22px; border-top: 1px solid rgba(255,255,255,.22); color: rgba(255,255,255,.55); }
.site-footer .copyright a { color: inherit; }

@media (max-width: 720px) {
  .hero {
    background-image:
      linear-gradient(90deg, rgba(4,20,41,.95), rgba(4,20,41,.85)),
      url("images/hero-image.png");
    background-position: center, 65% center;
  }
  .hero { clip-path: inset(0 0 0 0 round 0 0 30px 30px); }
  .site-container { width: calc(100% - 34px); }
  .header-cta { display: none; }
  .site-header .header-inner { width: calc(100% - 36px); }
  .site-header .brand-lockup { gap: 10px; }
  .site-header .arista-brand img { width: 126px; }
  .site-header .qad-redzone-logo { width: 112px; height: 25px; }
  .site-header .qad-redzone-logo { display: none; }
  .site-header .champion-logo { width: 112px; }
  .site-header .partner-rule { display: none; }
  .site-header .campaign-name { display: none; }
  .hero h1 { font-size: 40px; letter-spacing: -1.8px; overflow-wrap: anywhere; }
  .hero-content > p { overflow-wrap: anywhere; }
  .eyebrow { font-size: 9px; letter-spacing: 1px; }
  .footer-panel { min-height: auto; padding: 28px 0; align-items: flex-start; flex-direction: column; gap: 24px; }
  .footer-lockup { gap: 10px; }
  .footer-lockup .footer-arista-logo { width: 145px; }
  .footer-lockup .footer-qad-logo { width: 112px; }
  .footer-lockup .footer-champion-logo { width: 112px; }
  .footer-intro { max-width: 330px; }
  .footer-social { display: grid; grid-template-columns: 1fr 1fr; width: 100%; }
  .site-footer .copyright { align-items: flex-start; flex-direction: column; }
}

/* Keep the hosted form inside the existing responsive strategy card. */
.strategy-form.strategy-form-embed {
  min-width: 0;
  align-self: start;
  width: 100%;
  padding: 0;
  overflow: hidden;
}

.strategy-iframe-container {
  width: 100%;
}

.strategy-iframe-container iframe {
  display: block;
  max-width: 100%;
}
