html { scroll-behavior: smooth; }

.home-landing {
  background: linear-gradient(180deg, #f6f9fd 0%, #f4f8fc 48%, #eff4fb 100%);
  color: #1b3653;
}

.landing-container {
  max-width: 1180px;
  margin: 0 auto;
  padding: 0 1.4rem;
}

.landing-header {
  position: sticky;
  top: 0;
  z-index: 60;
  background: rgba(255, 255, 255, 0.96);
  border-bottom: 1px solid #d7e1ed;
  backdrop-filter: blur(10px);
}

.landing-header__inner {
  min-height: 82px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 1rem;
}

.landing-brand { display: inline-flex; align-items: center; gap: 0.8rem; text-decoration: none; }
.landing-brand__text { font-size: 0.9rem; color: #184a82; font-weight: 700; }
.landing-brand img { height: clamp(40px, 5vw, 56px); width: auto; max-width: min(232px, 52vw); }

.landing-nav { display: flex; flex-wrap: wrap; gap: 1rem; align-items: center; }
.landing-nav a { text-decoration: none; color: #1a3f67; font-weight: 600; transition: color .2s ease; }
.landing-nav a:hover { color: #0d5cae; }
.landing-nav__cta {
  background: linear-gradient(140deg, #005eb8, #1f76cb);
  color: #fff !important;
  border-radius: 999px;
  padding: 0.5rem 0.95rem;
  box-shadow: 0 8px 18px rgba(0, 94, 184, 0.22);
}

.landing-section { padding: 2.6rem 0; }
.landing-section:nth-of-type(even) { background: rgba(255, 255, 255, 0.52); }

.landing-hero { padding: 3.6rem 0 2rem; }
.hero-grid { display: grid; grid-template-columns: 1.05fr 0.95fr; gap: 1.2rem; align-items: stretch; }

.hero-content,
.feature-card,
.module-card,
.standalone-card,
.package-card,
.discount-card,
.reason-grid article,
.cta-card,
.pricing-table {
  background: #fff;
  border: 1px solid #d8e2ee;
  border-radius: 24px;
  box-shadow: 0 18px 38px rgba(22, 60, 99, 0.09);
}

.hero-content { padding: 2.2rem; }
.hero-kicker {
  display: inline-block;
  margin: 0;
  font-size: 0.78rem;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: #1b507f;
  background: #eff5fc;
  border: 1px solid #c7d8ec;
  border-radius: 999px;
  padding: 0.35rem 0.8rem;
}
.hero-content h1 {
  margin: 0.9rem 0 0;
  color: #0d2f52;
  font-size: clamp(2.15rem, 4.5vw, 3.3rem);
  max-width: 20ch;
  line-height: 1.1;
}
.hero-copy { margin-top: 1rem; color: #425f78; max-width: 62ch; }
.hero-actions { margin-top: 1.25rem; display: flex; flex-wrap: wrap; align-items: center; gap: 0.6rem; }
.link-action { color: #174b7c; text-decoration: none; font-weight: 700; }
.link-action:hover { text-decoration: underline; }

.hero-trust-line {
  margin: 1rem 0 0;
  padding: 0;
  list-style: none;
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem 0.8rem;
}
.hero-trust-line li { color: #3f607d; font-size: 0.89rem; font-weight: 600; }
.hero-trust-line li::before { content: "• "; color: #005eb8; }

.hero-jump-links {
  display: flex;
  flex-wrap: wrap;
  gap: .45rem .75rem;
  margin-top: 1rem;
}
.hero-jump-links a {
  text-decoration: none;
  color: #235786;
  font-size: .87rem;
  padding: .25rem .55rem;
  border: 1px solid #c9daed;
  border-radius: 999px;
  background: #f7fbff;
}

.hero-visual {
  position: relative;
  border-radius: 24px;
  border: 1px solid #d8e2ef;
  background: radial-gradient(circle at 20% 5%, #ffffff 0%, #f2f7fd 52%, #ebf2fb 100%);
  box-shadow: 0 18px 40px rgba(17, 56, 92, 0.11);
  min-height: 520px;
  overflow: hidden;
  padding: 1.2rem;
}
.visual-panel {
  position: absolute;
  border: 1px solid #d2deec;
  border-radius: 18px;
  padding: 0.9rem;
  background: rgba(255, 255, 255, 0.98);
  box-shadow: 0 12px 25px rgba(18, 58, 97, 0.12);
}
.visual-panel p {
  margin: 0;
  color: #2b5d8e;
  font-size: 0.76rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.05em;
}
.visual-panel h3 { margin: 0.42rem 0 0; color: #183f66; font-size: 0.95rem; }

.visual-panel--dashboard { left: 1.1rem; top: 1rem; right: 1.1rem; min-height: 234px; z-index: 1; }
.visual-bars { margin-top: 0.65rem; display: grid; gap: 0.4rem; }
.visual-bars span { height: 8px; border-radius: 999px; background: linear-gradient(90deg, #d2e2f5, #edf3fb); }
.visual-bars--wide span:nth-child(1) { width: 90%; }
.visual-bars--wide span:nth-child(2) { width: 74%; }
.visual-bars--wide span:nth-child(3) { width: 62%; }
.visual-bars--wide span:nth-child(4) { width: 82%; }
.visual-metrics {
  margin-top: .85rem;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: .5rem;
}
.visual-metrics strong {
  color: #0d3f6b;
  font-size: 1.1rem;
  line-height: 1;
}
.visual-metrics span { font-size: .75rem; color: #4f6a83; }

.visual-panel--calendar { left: 1rem; top: 252px; width: 46%; z-index: 3; }
.visual-dots { display: flex; gap: .35rem; margin-top: .6rem; }
.visual-dots span { width: 7px; height: 7px; border-radius: 999px; background: #8db4dd; }

.visual-panel--people { left: 43%; top: 298px; width: 52%; z-index: 4; }
.visual-panel--governance { left: 8%; bottom: 20px; width: 40%; z-index: 5; }
.visual-panel--operations { right: 1rem; bottom: 1rem; width: 45%; z-index: 2; }

.section-intro { text-align: center; margin-bottom: 1.25rem; }
.section-intro h2 { margin: 0; color: #0f385e; font-size: clamp(1.55rem, 2.6vw, 2.15rem); }
.section-intro p { margin: 0.7rem auto 0; max-width: 75ch; color: #425f78; }
.section-support { font-size: 1rem; font-weight: 600; color: #335978 !important; }

.core-grid,
.module-grid,
.standalone-grid,
.reason-grid,
.discount-grid { display: grid; gap: 1rem; }
.core-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.module-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.standalone-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.reason-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.discount-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); margin-top: 1rem; }

.feature-card,
.module-card,
.standalone-card,
.reason-grid article,
.discount-grid article { padding: 1.15rem; }
.feature-card__icon {
  width: 38px;
  height: 38px;
  border-radius: 11px;
  background: linear-gradient(145deg, #dceafb, #eff5fd);
  border: 1px solid #c7daee;
  margin-bottom: 0.68rem;
}
.feature-card h3,
.module-card__name,
.standalone-card h3,
.reason-grid article h3,
.discount-grid article h3 { margin: 0; color: #133e66; }
.feature-card p,
.module-card li,
.standalone-card p,
.reason-grid article p,
.discount-card p,
.package-card p,
.discount-grid article p { color: #4b657f; }

.core-cta-row {
  margin-top: 1rem;
  display: flex;
  gap: 0.8rem;
  justify-content: center;
  align-items: center;
  flex-wrap: wrap;
}
.badge-included {
  padding: 0.35rem 0.7rem;
  border: 1px solid #b9d1eb;
  border-radius: 999px;
  font-weight: 700;
  color: #184a7a;
  background: #edf4fc;
}
.cta-support { margin: 0; color: #4e6984; font-size: .92rem; }

.module-card {
  display: flex;
  flex-direction: column;
  position: relative;
  transition: transform .2s ease, box-shadow .2s ease;
}
.module-card::before {
  content: "";
  width: 30px;
  height: 30px;
  border-radius: 9px;
  background: linear-gradient(140deg, #e2edf9, #f5f9ff);
  border: 1px solid #cfdeef;
}
.module-card:hover { transform: translateY(-3px); box-shadow: 0 22px 38px rgba(19, 64, 107, 0.14); }
.module-card__name { margin-top: .7rem; font-size: 1.15rem; }
.module-card__descriptor { margin: 0.55rem 0 0; min-height: 50px; }
.module-card__price { margin: 0.7rem 0; color: #0f4d80; font-size: 1.33rem; font-weight: 800; }
.module-card ul { margin: 0 0 1rem; padding-left: 1rem; }
.module-card li { margin-bottom: 0.34rem; font-size: 0.92rem; }
.module-card .btn-secondary { margin-top: auto; align-self: flex-start; }

.standalone-card {
  display: flex;
  flex-direction: column;
  transition: transform .2s ease, box-shadow .2s ease;
}
.standalone-card:hover { transform: translateY(-2px); box-shadow: 0 20px 35px rgba(17, 58, 98, 0.13); }
.standalone-price { margin: 0.45rem 0; color: #0f4d80; font-weight: 800; }
.standalone-card--premium {
  border-color: #afc8e4;
  background: linear-gradient(175deg, #fff, #f1f7ff);
  box-shadow: 0 22px 40px rgba(20, 74, 127, 0.15);
}
.standalone-card .btn-secondary { margin-top: auto; align-self: start; }

.package-card {
  padding: 1.5rem;
  text-align: center;
  border-color: #a8c3e1;
  background: linear-gradient(165deg, #ffffff, #eef5ff);
  box-shadow: 0 24px 48px rgba(15, 67, 117, 0.16);
}
.package-price { margin: 0.5rem 0 0; font-size: clamp(1.85rem, 4.2vw, 2.65rem); color: #0d4f86; font-weight: 800; }
.package-list {
  margin: 1rem auto;
  padding: 0;
  list-style: none;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 0.45rem 0.8rem;
  max-width: 900px;
}
.package-list li {
  padding: 0.3rem 0.65rem;
  border: 1px solid #cadcf0;
  border-radius: 999px;
  background: #fff;
  color: #2f597f;
  font-weight: 600;
  font-size: 0.9rem;
}

.pricing-table { padding: 0.7rem; }
.pricing-row {
  display: flex;
  justify-content: space-between;
  gap: 1rem;
  padding: 0.85rem 0.95rem;
  border-bottom: 1px solid #e4ebf3;
}
.pricing-row:last-child { border-bottom: 0; }
.pricing-row--highlight { background: #eff6ff; border-radius: 12px; border-bottom: 0; }
.pricing-row span { color: #234a73; font-weight: 600; }
.pricing-row strong { color: #113e67; }
.pricing-notes {
  margin-top: .8rem;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: .45rem;
}
.pricing-notes p {
  margin: 0;
  font-size: .88rem;
  color: #365d7e;
  padding: .25rem .55rem;
  border: 1px solid #c9dbee;
  border-radius: 999px;
  background: #f6faff;
}

.discount-card { padding: 1.35rem; }
.discount-card h2 { margin: 0; color: #0f385e; }
.discount-grid article {
  background: #fff;
  border: 1px solid #d8e3ee;
  border-radius: 16px;
}
.small-print { font-size: 0.86rem; margin-top: 0.7rem; }

.reason-grid article { display: flex; flex-direction: column; gap: 0.5rem; }
.reason-grid article::before {
  content: "";
  width: 30px;
  height: 30px;
  border-radius: 9px;
  background: linear-gradient(145deg, #e6f0fb, #f8fbff);
  border: 1px solid #d4e2f0;
}
.reason-grid article h3, .reason-grid article p { margin: 0; }

.cta-card {
  padding: 1.5rem;
  text-align: center;
  background: linear-gradient(180deg, #ffffff, #f4f9ff);
}
.cta-card h2 { margin-top: 0; color: #0f385e; }
.cta-card .hero-actions { justify-content: center; }

.sticky-cta {
  position: fixed;
  right: 1.15rem;
  bottom: 1.15rem;
  z-index: 75;
  padding: .65rem 1rem;
  border-radius: 999px;
  text-decoration: none;
  font-weight: 700;
  color: #fff;
  background: linear-gradient(140deg, #005eb8, #2d82d7);
  box-shadow: 0 16px 26px rgba(0, 94, 184, 0.34);
}

.landing-footer {
  margin-top: 0.8rem;
  padding: 1rem 0 0.75rem;
  border-top: 1px solid #dbe4ef;
  background: #f2f6fb;
}
.landing-footer__inner { display: flex; justify-content: center; }
.landing-footer nav { display: flex; flex-wrap: wrap; justify-content: center; gap: 0.35rem 1rem; }
.landing-footer nav a { text-decoration: none; font-weight: 600; color: #1d4a76; }
.landing-copyright { margin: 0.65rem 0 0; text-align: center; color: #607a94; font-size: 0.9rem; }

@media (max-width: 1080px) {
  .landing-brand__text { display: none; }
  .standalone-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .reason-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .discount-grid { grid-template-columns: 1fr; }
}

@media (max-width: 920px) {
  .hero-grid,
  .core-grid,
  .module-grid { grid-template-columns: 1fr; }

  .hero-visual {
    min-height: 470px;
  }
}

@media (max-width: 760px) {
  .landing-header__inner { padding: 0.5rem 0; }
  .landing-nav { gap: 0.7rem; }
  .landing-hero { padding-top: 2.4rem; }

  .hero-content,
  .feature-card,
  .module-card,
  .standalone-card,
  .package-card,
  .discount-card,
  .reason-grid article,
  .cta-card,
  .pricing-table,
  .hero-visual { border-radius: 18px; }

  .standalone-grid,
  .reason-grid { grid-template-columns: 1fr; }

  .hero-actions { flex-direction: column; align-items: stretch; }
  .hero-actions .btn,
  .hero-actions .btn-secondary,
  .hero-actions .link-action { width: 100%; text-align: center; }

  .sticky-cta {
    left: 1rem;
    right: 1rem;
    bottom: .85rem;
    text-align: center;
  }
}

@media (max-width: 560px) {
  .visual-panel--dashboard {
    left: .7rem;
    right: .7rem;
    top: .7rem;
    min-height: 210px;
  }
  .visual-panel--calendar { left: .75rem; top: 226px; width: 62%; }
  .visual-panel--people { left: 1.35rem; right: .75rem; top: 286px; width: auto; }
  .visual-panel--governance { left: .75rem; bottom: .8rem; width: 52%; }
  .visual-panel--operations { right: .75rem; bottom: .9rem; width: 50%; }

  .pricing-row { align-items: baseline; }
}

.module-card__icon { margin: 0; font-size: 1.4rem; }
.module-card--workforce { border-top: 5px solid #2f72d6; }
.module-card--governance { border-top: 5px solid #2f9d57; }
.module-card--operations { border-top: 5px solid #d39a1f; }
.package-card.highlight { border: 2px solid #0d5cae; }
.original { text-decoration: line-through; color: #6e8094; font-size: 1rem; margin-left: .4rem; }
