nav { font-size: 15px; }
.eyebrow,
.kicker { font-size: 13px; }
.hero > p { font-size: 23px; }
.button,
.textlink { font-size: 15px; }
.sectionhead,
.services article span { font-size: 14px; }
.services article p { font-size: 17px; }
.showcase span { font-size: 13px; }
.showcase p { font-size: 18px; }
.approach li span { font-size: 13px; }
.approach li b { font-size: 18px; }
.approach li p,
.small { font-size: 16px; }
footer { font-size: 13px; }

.brand .dot,
.hero h1 em,
.contact h2 em,
.drone { color: #ff6a00; }

.button { background: #ff6a00; }

/* Colour-led section palette */
.intro {
  background: linear-gradient(125deg, #ff9a3d 0%, #ff741f 58%, #ffb13b 100%);
  border-bottom-color: #c64e12;
}

.services {
  background: linear-gradient(155deg, #54c7ef 0%, #219ed2 48%, #167cae 100%);
}

.services article p { color: #103d50; }

.showcase {
  margin-top: 0;
  background: #ffc34d;
  background-image:
    radial-gradient(circle at 82% 18%, #fff08a 0, transparent 34%),
    linear-gradient(120deg, #ff6b00 0%, #ffad00 55%, #ffd000 100%);
}

.approach {
  background: linear-gradient(145deg, #45d6bb 0%, #1eb39f 62%, #078979 100%);
}

.approach li p { color: #103d37; }

.contact {
  background: radial-gradient(circle at 78% 35%, #245d91 0, #123e69 38%, #071c35 78%);
}

/* Slow, restrained background glow */
.hero,
.intro,
.services,
.showcase,
.approach,
.contact {
  background-size: 145% 145%;
  animation: background-glow 14s ease-in-out infinite alternate;
}

.intro { animation-delay: -3s; }
.services { animation-delay: -7s; }
.showcase { animation-delay: -10s; }
.approach { animation-delay: -5s; }
.contact { animation-delay: -12s; }

@keyframes background-glow {
  0% { background-position: 42% 46%; }
  50% { background-position: 54% 52%; }
  100% { background-position: 62% 44%; }
}

@media (prefers-reduced-motion: reduce) {
  .hero,
  .intro,
  .services,
  .showcase,
  .approach,
  .contact { animation: none; }
}
