:root {
  --rw-ink: #0d303b;
  --rw-ink-soft: #173f4a;
  --rw-accent: #8bd36f;
  --rw-accent-soft: #dff3d7;
  --rw-paper: #f7f8f4;
  --rw-surface: rgba(255, 255, 255, .88);
  --rw-border: rgba(13, 48, 59, .12);
  --rw-shadow: 0 24px 70px rgba(13, 48, 59, .10);
}

html { scroll-padding-top: 92px; }
body {
  background:
    linear-gradient(rgba(13, 48, 59, .025) 1px, transparent 1px),
    linear-gradient(90deg, rgba(13, 48, 59, .025) 1px, transparent 1px),
    radial-gradient(circle at 92% 4%, rgba(139, 211, 111, .20), transparent 25rem),
    var(--rw-paper) !important;
  background-size: 34px 34px, 34px 34px, auto, auto !important;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}

::selection { background: var(--rw-accent-soft); color: var(--rw-ink); }
a, button { -webkit-tap-highlight-color: transparent; }
a:focus-visible, button:focus-visible, summary:focus-visible {
  outline: 3px solid rgba(139, 211, 111, .72);
  outline-offset: 4px;
}

header {
  background: rgba(247, 248, 244, .82) !important;
  border-bottom: 1px solid var(--rw-border) !important;
  box-shadow: 0 8px 30px rgba(13, 48, 59, .04);
  backdrop-filter: blur(18px) saturate(140%);
  -webkit-backdrop-filter: blur(18px) saturate(140%);
}
.brand { letter-spacing: -.025em; }
.brand img {
  filter: drop-shadow(0 7px 12px rgba(13, 48, 59, .12));
  transition: transform .25s ease;
}
.brand:hover img { transform: rotate(-4deg) scale(1.04); }
nav a, .navlinks a { position: relative; }
nav a::after, .navlinks a::after {
  content: "";
  position: absolute;
  left: 0;
  right: 100%;
  bottom: -7px;
  height: 2px;
  border-radius: 2px;
  background: var(--rw-accent);
  transition: right .2s ease;
}
nav a:hover::after, .navlinks a:hover::after { right: 0; }

.hero, .hero-card {
  isolation: isolate;
  box-shadow: 0 30px 90px rgba(8, 36, 45, .22) !important;
}
.hero-card {
  border: 1px solid rgba(255, 255, 255, .10);
  background:
    radial-gradient(circle at 85% 16%, rgba(139, 211, 111, .28), transparent 26%),
    linear-gradient(135deg, #082832, #164653 72%, #0e3945) !important;
}
.hero-card::before, main.wrap > .hero::before {
  content: "";
  position: absolute;
  z-index: -1;
  right: 7%;
  bottom: -74px;
  width: 230px;
  height: 230px;
  border: 1px solid rgba(255, 255, 255, .12);
  border-radius: 42px;
  transform: rotate(28deg);
}
main.wrap > .hero { position: relative; overflow: hidden; }
h1, h2, h3 { text-wrap: balance; }
h1 { font-weight: 880; }
.hero p, .hero-card p { text-wrap: pretty; }
.eyebrow { display: flex; align-items: center; gap: 9px; }
.eyebrow::before {
  content: "";
  width: 24px;
  height: 2px;
  border-radius: 4px;
  background: currentColor;
  opacity: .8;
}

.btn {
  min-height: 48px;
  border-radius: 14px !important;
  box-shadow: 0 10px 24px rgba(13, 48, 59, .12);
  transition: transform .18s ease, box-shadow .18s ease, background .18s ease;
}
.btn:hover {
  transform: translateY(-2px);
  box-shadow: 0 15px 32px rgba(13, 48, 59, .18);
}
.btn:active { transform: translateY(0); }
.btn.primary, .hero .btn:not(.alt) { background: var(--rw-accent) !important; }

.card, .trust div, .path-card, .faq details {
  border-color: var(--rw-border) !important;
  background: var(--rw-surface) !important;
  box-shadow: 0 12px 38px rgba(13, 48, 59, .065) !important;
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
}
.card, .trust div, .path-card {
  transition: transform .24s ease, box-shadow .24s ease, border-color .24s ease;
}
.trust div {
  position: relative;
  min-height: 76px;
  padding-left: 62px !important;
}
.trust div::before {
  position: absolute;
  left: 16px;
  top: 50%;
  width: 34px;
  height: 34px;
  display: grid;
  place-items: center;
  transform: translateY(-50%);
  border: 1px solid rgba(139, 211, 111, .38);
  border-radius: 11px;
  background: var(--rw-accent-soft);
  color: var(--rw-ink);
  font-size: 15px;
  font-weight: 900;
  line-height: 1;
}
.trust div:nth-child(1)::before { content: "↗"; }
.trust div:nth-child(2)::before { content: "⚙"; }
.trust div:nth-child(3)::before { content: "1"; }
.trust div:nth-child(4)::before { content: "✓"; }
.card:hover, .trust div:hover, .path-card:not(.b2b):hover {
  transform: translateY(-4px);
  border-color: rgba(139, 211, 111, .65) !important;
  box-shadow: var(--rw-shadow) !important;
}
.path-card.b2b, .review {
  background: linear-gradient(145deg, #0a2c36, #164653) !important;
  color: #fff;
}
.path-grid {
  display: grid;
  gap: 18px;
  margin-top: 24px;
}
.path-card {
  padding: 26px;
  border: 1px solid var(--rw-border) !important;
  border-radius: 24px;
  overflow: hidden;
}
.path-card h3 {
  margin: 10px 0 10px;
  line-height: 1.12;
}
.path-card p { margin: 0 0 22px; }
.path-card-link {
  display: flex;
  flex-direction: column;
  color: inherit;
  text-decoration: none;
  cursor: pointer;
}
.path-card-link .path-link {
  align-self: flex-start;
  margin-top: auto;
  padding: 10px 14px;
  border-radius: 12px;
  background: var(--rw-accent);
  color: var(--rw-ink) !important;
  box-shadow: 0 9px 22px rgba(13, 48, 59, .13);
  transition: transform .18s ease, box-shadow .18s ease;
}
.path-card-link:hover .path-link {
  transform: translateX(3px);
  box-shadow: 0 12px 28px rgba(13, 48, 59, .19);
}
.path-card.b2b:hover { transform: translateY(-4px); }
.path-card.b2b .mini, .path-card.b2b .path-link, .review .eyebrow { color: #a5e38c; }
.review .sub, .review blockquote { color: #edf5f2 !important; }
.icon {
  background: linear-gradient(145deg, var(--rw-accent-soft), #f3faef) !important;
  border: 1px solid rgba(139, 211, 111, .28);
  box-shadow: inset 0 1px 0 #fff;
}

.project {
  border-radius: 26px !important;
  box-shadow: var(--rw-shadow) !important;
}
.project-media::after {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background: linear-gradient(180deg, transparent 65%, rgba(8, 38, 47, .20));
}
.project-media img { transition: transform .7s cubic-bezier(.2,.7,.2,1); }
.project:hover .project-media img { transform: scale(1.025); }
.project-nav > button {
  box-shadow: 0 9px 24px rgba(13, 48, 59, .09);
  transition: transform .18s ease, background .18s ease;
}
.project-nav > button:hover { transform: scale(1.06); background: var(--rw-accent-soft); }

.num { box-shadow: 0 9px 22px rgba(13, 48, 59, .16); }
.cta {
  position: relative;
  overflow: hidden;
  border: 1px solid rgba(13, 48, 59, .08);
  box-shadow: 0 26px 70px rgba(91, 148, 68, .18);
}
.cta::after {
  content: "";
  position: absolute;
  right: -54px;
  top: -68px;
  width: 190px;
  height: 190px;
  border-radius: 50%;
  border: 36px solid rgba(255, 255, 255, .25);
  pointer-events: none;
}
.cta > * { position: relative; z-index: 1; }
.area span, .links a { box-shadow: 0 7px 18px rgba(13, 48, 59, .05); }

.rw-consent {
  border-radius: 24px !important;
  box-shadow: 0 30px 90px rgba(8, 36, 45, .26) !important;
}
.rw-privacy-settings { opacity: .76; transition: opacity .2s ease, transform .2s ease; }
.rw-privacy-settings:hover { opacity: 1; transform: translateY(-2px); }

@media (min-width: 800px) {
  section { padding-top: 58px; padding-bottom: 58px; }
  .hero-card { padding: 58px !important; }
  .hero-card h1 { max-width: 790px; }
  .trust { margin-top: 22px; }
  .trust div { padding: 21px 21px 21px 66px !important; }
  .grid3 { gap: 18px !important; }
  .process { gap: 14px !important; }
}

@media (max-width: 799px) {
  header { position: sticky; top: 0; z-index: 80; }
  .nav { height: 64px !important; }
  .brand { font-size: 18px !important; }
  .brand img { width: 36px !important; height: 36px !important; }
  .hero { padding-top: 24px !important; }
  .hero-card { padding: 27px 22px !important; border-radius: 24px !important; }
  .hero-card h1 { font-size: clamp(38px, 12vw, 54px); }
  section { padding-top: 38px; padding-bottom: 38px; }
  .trust { grid-template-columns: 1fr 1fr !important; gap: 12px !important; }
  .trust div { padding: 17px 16px 17px 58px !important; }
  .trust div::before { left: 14px; }
  .card:hover, .trust div:hover, .path-card:hover { transform: none; }
  .path-grid {
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 16px !important;
    margin-top: 22px !important;
  }
  .path-card-link {
    width: 100%;
    min-width: 0;
    padding: 22px !important;
    border-radius: 21px;
  }
  .path-card-link .path-link {
    width: 100%;
    justify-content: space-between;
    text-align: left;
  }
  .path-card-link:hover .path-link { transform: none; }
  main.wrap > .hero { margin-top: 18px; padding: 30px 23px !important; }
  header .wrap { align-items: center !important; }
  header nav {
    width: 100%;
    overflow-x: auto;
    flex-wrap: nowrap !important;
    padding-bottom: 5px;
    scrollbar-width: none;
  }
  header nav::-webkit-scrollbar { display: none; }
  header nav a { white-space: nowrap; }
}

@media (max-width: 420px) {
  .trust { grid-template-columns: 1fr !important; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { animation-duration: .01ms !important; transition-duration: .01ms !important; }
}
