:root {
  --ink-950: #121014;
  --ink-900: #1a161d;
  --scarlet-700: #b4233a;
  --scarlet-600: #cf2f48;
  --ember-500: #e35d3b;
  --sand-50: #f8f2e7;
  --sand-100: #f2e8d8;
  --sand-200: #e6d6be;
  --line: #d8c3a6;
}

html {
  scroll-behavior: smooth;
  overflow-x: hidden;
}

body {
  font-family: 'Manrope', sans-serif;
  color: #2d1f1b;
  background:
    radial-gradient(1200px 460px at -6% -14%, rgba(207, 47, 72, 0.16), transparent 58%),
    radial-gradient(900px 420px at 106% 4%, rgba(227, 93, 59, 0.14), transparent 60%),
    linear-gradient(180deg, #f3e9d8 0%, #f7f0e2 42%, #faf5ea 100%);
  overflow-x: hidden;
}

body::before {
  content: '';
  position: fixed;
  inset: 0;
  background-image: repeating-linear-gradient(
    -22deg,
    rgba(48, 32, 24, 0.02) 0,
    rgba(48, 32, 24, 0.02) 1px,
    transparent 1px,
    transparent 16px
  );
  pointer-events: none;
  z-index: -1;
}

.font-display {
  font-family: 'Bricolage Grotesque', 'Manrope', sans-serif;
  letter-spacing: -0.01em;
  font-weight: 700;
}

.text-olive-900 { color: #3d2420 !important; }
.text-olive-800 { color: #5a3028 !important; }
.text-olive-700 { color: #73433a !important; }
.text-sage-700 { color: #9d3140 !important; }
.text-sage-300 { color: #f1c5ba !important; }
.text-sage-200 { color: #f8d8cf !important; }
.text-sage-100 { color: #fde9e2 !important; }
.bg-olive-900 { background-color: #5b1f29 !important; }
.bg-olive-800 { background-color: #742738 !important; }
.bg-sage-100 { background-color: #f2dbd2 !important; }
.bg-earth-50 { background-color: #f8efe3 !important; }
.border-sage-100 { border-color: #e1c5bb !important; }
.border-sage-200 { border-color: #d4b4a8 !important; }
.border-sage-300 { border-color: #c99e90 !important; }

main h1,
main h2,
main h3 {
  line-height: 1.08;
  letter-spacing: -0.012em;
}

main p,
main li {
  line-height: 1.62;
}

main section {
  position: relative;
}

main > section:first-of-type {
  overflow: hidden;
}

.site-nav {
  position: relative;
  background: linear-gradient(90deg, rgba(20, 16, 20, 0.96), rgba(17, 13, 18, 0.94));
  border-bottom: 1px solid rgba(227, 93, 59, 0.35);
  backdrop-filter: blur(10px);
  box-shadow: 0 10px 28px rgba(11, 8, 10, 0.44);
  transition: background-color 220ms ease, box-shadow 220ms ease, backdrop-filter 220ms ease;
}

.site-nav::before {
  content: '';
  position: absolute;
  left: 0;
  right: 0;
  top: 0;
  height: 3px;
  background: linear-gradient(90deg, var(--scarlet-600), var(--ember-500) 45%, #ff9c71);
}

.site-nav.is-scrolled {
  background: linear-gradient(90deg, rgba(16, 13, 17, 0.98), rgba(14, 11, 15, 0.97));
  backdrop-filter: blur(12px);
  box-shadow: 0 14px 30px rgba(8, 6, 8, 0.5);
}

[data-menu-toggle] {
  border-color: rgba(255, 162, 128, 0.6);
  background: rgba(40, 25, 24, 0.96);
  color: #fff2ec;
}

a[data-nav-link] {
  position: relative;
  color: #f9ece4 !important;
}

.site-nav [data-company-name] {
  color: #fff6f1 !important;
  font-size: clamp(0.95rem, 1.6vw, 1.7rem) !important;
  line-height: 1.08;
  max-width: 580px;
  min-width: 0;
  overflow-wrap: anywhere;
}

a[data-nav-link].nav-active {
  color: #ffb79d !important;
}

a[data-nav-link]::after {
  content: '';
  position: absolute;
  left: 0;
  bottom: -6px;
  width: 100%;
  height: 2px;
  transform: scaleX(0);
  transform-origin: left;
  transition: transform 220ms ease;
  background: linear-gradient(90deg, var(--scarlet-600), var(--ember-500));
}

a[data-nav-link]:hover::after,
a[data-nav-link].font-semibold::after {
  transform: scaleX(1);
}

[data-mobile-menu] {
  position: absolute;
  top: 100%;
  left: 0;
  right: 0;
  z-index: 55;
  background: rgba(38, 23, 22, 0.98);
  box-shadow: 0 18px 34px rgba(12, 8, 9, 0.46);
}

[data-mobile-menu] a[data-nav-link] {
  color: #fdeee8 !important;
}

[data-mobile-menu] a[data-nav-link]:hover,
[data-mobile-menu] a[data-nav-link].nav-active {
  background: rgba(207, 47, 72, 0.24);
}

.site-nav a.rounded-full.bg-olive-900 {
  background: linear-gradient(90deg, var(--scarlet-600), var(--ember-500));
  color: #fff5f0;
  border: 1px solid rgba(255, 167, 136, 0.35);
}

.site-nav a.rounded-full.bg-olive-900:hover {
  background: linear-gradient(90deg, #d43851, #eb6c4a);
}

.hero-overlay {
  background:
    linear-gradient(104deg, rgba(24, 16, 15, 0.9), rgba(24, 16, 15, 0.65)),
    radial-gradient(circle at 95% 0%, rgba(207, 47, 72, 0.3), transparent 44%);
}

main > section:first-of-type::after {
  content: '';
  position: absolute;
  right: -160px;
  bottom: -52px;
  width: 420px;
  height: 180px;
  transform: rotate(-12deg);
  background: linear-gradient(90deg, rgba(207, 47, 72, 0.24), rgba(227, 93, 59, 0.06));
  border: 1px solid rgba(227, 93, 59, 0.34);
  border-radius: 28px;
}

.section-divider {
  position: relative;
}

.section-divider::before {
  content: '';
  position: absolute;
  inset: auto 0 100% 0;
  height: 48px;
  background:
    linear-gradient(to bottom, transparent, rgba(72, 42, 31, 0.05)),
    radial-gradient(130% 90px at 50% 100%, rgba(230, 206, 172, 0.52), transparent 64%);
  pointer-events: none;
}

.card-hover {
  position: relative;
  overflow: hidden;
  transition: transform 260ms ease, box-shadow 260ms ease, border-color 260ms ease, background-color 260ms ease;
}

.card-hover::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 3px;
  background: linear-gradient(90deg, var(--scarlet-600), var(--ember-500));
  opacity: 0.62;
  transition: opacity 220ms ease;
}

.card-hover:hover {
  transform: translateY(-6px);
  border-color: rgba(177, 79, 63, 0.5);
  background-color: #fff8f1;
  box-shadow: 0 20px 38px rgba(37, 22, 17, 0.23);
}

.card-hover:hover::before {
  opacity: 1;
}

.icon-wrap {
  background: linear-gradient(135deg, #f5dfd5 0%, #e6c3b0 100%);
  color: #8d2730;
  box-shadow:
    inset 0 0 0 1px rgba(145, 89, 65, 0.22),
    0 8px 20px rgba(95, 54, 38, 0.13);
}

.icon-wrap svg {
  width: 100%;
  height: 100%;
}

.reveal {
  opacity: 0;
  transform: translateY(14px);
  transition: opacity 520ms ease, transform 520ms ease;
}

.reveal.is-visible {
  opacity: 1;
  transform: translateY(0);
}

button[type='submit'],
a.rounded-full.bg-olive-900,
a.rounded-full.bg-white,
a.rounded-full.border {
  transition: transform 180ms ease, box-shadow 220ms ease;
}

button[type='submit']:hover,
a.rounded-full.bg-olive-900:hover,
a.rounded-full.bg-white:hover,
a.rounded-full.border:hover {
  transform: translateY(-1px);
  box-shadow: 0 12px 24px rgba(44, 27, 20, 0.25);
}

@media (max-width: 768px) {
  .section-divider::before {
    height: 30px;
  }

  main > section:first-of-type::after {
    right: -200px;
    width: 320px;
    height: 130px;
  }

  .site-nav [data-company-name] {
    max-width: 78vw;
    font-size: 0.98rem !important;
  }

  main h1,
  main h2,
  main h3 {
    line-height: 1.12;
  }
}
