/* External overrides & enhancements */
:root {
  --accent-start: #34d399; /* green */
  --accent-end: #f59e0b;   /* orange */
  --accent-focus: #10b981;
  --bg-dark: #0b0b12;
}
html { scroll-behavior: smooth; }
/* Hero button highlight */
.btn-primary {
  background: linear-gradient(135deg, var(--accent-start), var(--accent-end));
  color: #0d0d0d;
  font-weight: 700;
  position: relative;
  box-shadow: 0 10px 28px -10px rgba(0,0,0,0.7), 0 0 0 0 rgba(255,255,255,0.3);
  transition: transform .25s cubic-bezier(.4,.2,.2,1), box-shadow .35s, background .35s;
}
.btn-primary:hover {
  transform: translateY(-4px);
  box-shadow: 0 16px 34px -12px rgba(0,0,0,0.75), 0 0 0 6px rgba(255,255,255,0.05);
}
.btn-primary:focus-visible {
  outline: 3px solid var(--accent-end);
  outline-offset: 3px;
}
.btn-primary:active { transform: translateY(-1px); }
/* Subtle pulse */
@keyframes heroPulse { 0% { box-shadow: 0 0 0 0 rgba(255,255,255,0.18); } 70% { box-shadow: 0 0 0 14px rgba(255,255,255,0); } 100% { box-shadow: 0 0 0 0 rgba(255,255,255,0); } }
.hero-actions .btn-primary { animation: heroPulse 4s ease-in-out infinite; }
/* Mobile refinements */
@media (max-width: 680px) {
  header.hero-landing { min-height: 66vh; }
  .hero-content h1 { font-size: clamp(2rem, 8vw, 2.6rem); }
  .hero-content p.description { font-size: .95rem; }
}
@media (max-width: 480px) {
  header.hero-landing { padding: 2.6rem 1.1rem; }
  .hero-content h1 { font-size: clamp(1.8rem, 9vw, 2.4rem); }
  .hero-content p.description { font-size: .9rem; }
  .btn-primary { padding: 0.8rem 1.4rem; font-size: .95rem; }
}
@media (max-width: 360px) {
  .hero-content h1 { font-size: clamp(1.6rem, 10vw, 2.1rem); }
  .hero-content p.description { font-size: .85rem; }
}
/* Accessibility contrast tweak if prefers-reduced-motion */
@media (prefers-reduced-motion: reduce) {
  .hero-actions .btn-primary { animation: none; }
  .btn-primary { transition: none; }
}
