:root {
  --trrf-primary: #0B1A63;      /* Deep navy blue from logo inner circle */
  --trrf-secondary: #D6A536;    /* Gold from wreath/emblem */
  --trrf-accent: #D6421E;       /* Red-orange from outer ring */
  --trrf-bg: #F9FAFB;           /* Light background */
  --trrf-bg2: #ECF4F6;          /* Soft secondary background */
  --trrf-text: #1C1C1C;         /* Neutral dark text */
  --ff-head: 'Poppins', sans-serif;
  --ff-body: 'Inter', sans-serif;
}

body {
  font-family: var(--ff-body);
  background: var(--trrf-bg);
  color: var(--trrf-text);
  scroll-padding-top: 90px;
}

.navbar { box-shadow: 0 6px 20px rgba(0,0,0,.06); }
.nav-link.active,
.nav-link:hover { color: var(--trrf-accent)!important; }
.btn-rounded { border-radius: 50rem; font-weight: 600; }
.btn-primary { background: var(--trrf-primary); border-color: var(--trrf-primary); }
.btn-accent { background: var(--trrf-accent); border-color: var(--trrf-accent); color: #fff; }
.section-title { font-family: var(--ff-head); font-weight: 700; }
.section-underline { width: 72px; height: 4px; background: var(--trrf-secondary); border-radius: 999px; margin: .5rem auto 0; }

.section-title {
  font-family: var(--ff-head);
  font-weight: 700;
}

.section-underline {
  width: 72px;
  height: 4px;
  background: var(--trrf-secondary);
  border-radius: 999px;
  margin: .5rem auto 0;
}

.card-elev {
  border: none;
  border-radius: 14px;
  box-shadow: 0 8px 20px rgba(0,0,0,.08);
}

.icon-xl {
  font-size: 2.25rem;
  color: var(--trrf-accent);
}

/* LOVABLE JOURNEY */
#journey {
  position: relative;
  overflow: hidden;
  background: linear-gradient(180deg, var(--trrf-bg), var(--trrf-bg2));
}

.journey-wrap {
  position: relative;
}

.journey-rail {
  position: absolute;
  left: 50%;
  top: 0;
  transform: translateX(-50%);
  width: 8px;
  height: 100%;
  background: rgba(11, 26, 99, .15);
  border-radius: 8px;
}

.journey-rail .rail-progress {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 0;
  background: linear-gradient(180deg, var(--trrf-primary), var(--trrf-accent));
  border-radius: 8px;
  transition: height .3s ease;
}

.milestone {
  position: relative;
  margin-bottom: 3.5rem;
}

.milestone-dot {
  position: absolute;
  left: 50%;
  transform: translate(-50%, -2px);
  top: 0;
  width: 22px;
  height: 22px;
  border-radius: 50%;
  background: var(--trrf-secondary);
  box-shadow: 0 0 0 4px #fff, 0 2px 10px rgba(0,0,0,.15);
}

.milestone-card {
  background: #fff;
  border: 1px solid #e5e7eb;
  border-radius: 14px;
  box-shadow: 0 10px 24px rgba(0,0,0,.06);
}

.milestone .side-left {
  padding-right: 3rem;
}

.milestone .side-right {
  padding-left: 3rem;
}

.year-badge {
  display: inline-block;
  background: var(--trrf-accent);
  color: #fff;
  border-radius: 999px;
  padding: .25rem .6rem;
  font-weight: 600;
  font-size: .8rem;
}

@media (max-width: 991px) {
  .journey-rail { left: 24px; transform: none; }
  .milestone-dot { left: 24px; transform: none; }
  .milestone .side-left,
  .milestone .side-right { padding: 0 0 0 3rem; }
}

.cta-gradient {
  background: linear-gradient(90deg, var(--trrf-primary), var(--trrf-accent));
  color: #fff;
}

/* Footer */
footer { background: #0B1A63; color: #E5E7EB; }
footer a { color: #CBD5E1; text-decoration: none; }
footer a:hover { color: #fff; }