:root {
  --acc: #e8493e;
  --acc-deep: #b3251a;
  --ink: #141114;
  --mut: #5f5a5e;
  --line: rgba(20, 17, 20, 0.1);
  --paper: #f6f5f3;
}

* { box-sizing: border-box; }

html { scroll-behavior: smooth; }
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } }

body {
  margin: 0;
  background: #f6f5f3;
  color: #141114;
  font-family: "Manrope", system-ui, sans-serif;
  text-wrap: pretty;
  -webkit-font-smoothing: antialiased;
}

a { color: var(--acc); }
a:hover { color: var(--acc-deep); }
::selection { background: rgba(232, 73, 62, 0.25); }
:focus-visible { outline: 2px solid var(--acc); outline-offset: 2px; }

@keyframes fadeUp { from { opacity: 0; transform: translateY(26px); } to { opacity: 1; transform: translateY(0); } }
@keyframes marquee { from { transform: translateX(0); } to { transform: translateX(-50%); } }
@keyframes pulseDot { 0%, 100% { opacity: 1; } 50% { opacity: 0.35; } }

/* --- Interactive states --- */
.nav-link { transition: color 0.2s; }
.nav-link:hover { color: #ffffff; }

.nav-cta { transition: background 0.25s, border-color 0.25s; }
.nav-cta:hover { background: rgba(255, 255, 255, 0.12); border-color: #ffffff; }

.btn-hero { transition: background 0.25s, transform 0.25s; }
.btn-hero:hover { background: #f25e50; transform: translateY(-2px); }

.link-light { transition: color 0.2s; }
.link-light:hover { color: #fff3f0; }

.arrow-btn { transition: transform 0.25s; }
.arrow-btn:hover { transform: translate(2px, -2px); }

.btn-outline-dark { transition: border-color 0.25s, background 0.25s; }
.btn-outline-dark:hover { border-color: var(--acc); background: #fdf0ee; }

.cred-card { transition: border-color 0.3s; }
.cred-card:hover { border-color: rgba(232, 73, 62, 0.45); }

.case-card { transition: transform 0.3s, box-shadow 0.3s; }
.case-card:hover { transform: translateY(-6px); box-shadow: 0 24px 54px rgba(20, 17, 20, 0.1); }

.btn-dark { transition: background 0.25s, transform 0.25s; }
.btn-dark:hover { background: #2a2428; transform: translateY(-2px); }

.btn-white { transition: transform 0.25s, box-shadow 0.25s; }
.btn-white:hover { transform: translateY(-2px); box-shadow: 0 16px 40px rgba(0, 0, 0, 0.3); }

.foot-link { transition: color 0.2s; }
.foot-link:hover { color: #ffffff; }

.social { transition: background 0.25s, border-color 0.25s; }
.social:hover { background: var(--acc); border-color: var(--acc); }

.oasis { transition: color 0.2s; }
.oasis:hover { color: #ffffff; }

/* --- Responsive nav / hero --- */
.nav-burger { display: none; }
@media (max-width: 900px) {
  .nav-links-desktop, .nav-cta-desktop { display: none !important; }
  .nav-burger { display: inline-flex !important; }
}
.mobile-menu { display: none; }
.mobile-menu.open { display: flex; }
@media (min-width: 901px) { .mobile-menu { display: none !important; } }

@media (max-width: 720px) {
  .hero-card { position: static !important; margin: 28px clamp(16px, 4vw, 28px) clamp(16px, 4vw, 28px) !important; max-width: none !important; width: auto !important; }
  .hero-inner { padding-bottom: 8px !important; }
  .hero-card-video, .hero-card-video img { width: 128px !important; height: 92px !important; }
  .hero-card-num { font-size: 30px !important; }
}
