:root {
  --blue: #1d5947;
  --accent: #d3f46c;
  --navy: #17241e;
  --text: #36423a;
  --bg: #f7f8f2;
  --line: #d9ded4;
  --mist: #edf0e7;
}
* {
  box-sizing: border-box;
}
html {
  scroll-behavior: smooth;
}
body {
  margin: 0;
  color: var(--text);
  font:
    16px/1.72 "Segoe UI",
    Arial,
    sans-serif;
  background: var(--bg);
  -webkit-font-smoothing: antialiased;
}
h1,
h2,
h3 {
  font-family: Georgia, "Times New Roman", serif;
}
.brand,
.button,
.eyebrow {
  font-family: "Segoe UI", Arial, sans-serif;
}
h1 {
  font-size: 54px;
  line-height: 1.04;
  color: var(--navy);
  letter-spacing: 0;
  margin: 19px 0 24px;
  font-weight: 500;
  max-width: 18ch;
}
h2 {
  color: var(--navy);
  line-height: 1.15;
  font-size: 42px;
  letter-spacing: 0;
  font-weight: 500;
  margin: 14px 0 20px;
}
h3 {
  color: var(--navy);
  line-height: 1.25;
  letter-spacing: 0;
}
a {
  color: var(--blue);
}
a:hover {
  text-decoration: underline;
}
p {
  max-width: 72ch;
}
.wrap {
  max-width: 1224px;
  margin: auto;
  padding: 0 32px;
}
.skip {
  position: absolute;
  left: -9999px;
}
.skip:focus {
  left: 8px;
  top: 8px;
  background: white;
  padding: 12px;
  z-index: 99;
}
header {
  border-bottom: 1px solid var(--line);
  background: rgba(247, 248, 242, 0.97);
  backdrop-filter: blur(18px);
  position: sticky;
  top: 0;
  z-index: 5;
}
.bar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  min-height: 84px;
}
.brand {
  font-size: 1.68rem;
  font-weight: 850;
  text-decoration: none;
  letter-spacing: 0;
  color: var(--navy);
}
.nav {
  display: flex;
  align-items: center;
  gap: 30px;
}
.nav a {
  text-decoration: none;
  font-size: 0.91rem;
  font-weight: 700;
  color: #26372f;
  transition: color 0.2s;
}
.nav a:hover {
  color: var(--blue);
}
.nav .button {
  color: var(--navy);
}
.button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
  border: 0;
  border-radius: 3px;
  background: var(--accent);
  color: var(--navy);
  text-decoration: none;
  padding: 15px 22px;
  font-weight: 750;
  font-size: 0.95rem;
  cursor: pointer;
  box-shadow: none;
  transition:
    transform 0.2s,
    background 0.2s,
    box-shadow 0.2s;
}
.button:hover {
  transform: translateY(-2px);
  background: #e2ff91;
  color: var(--navy);
  text-decoration: none;
  box-shadow: none;
}
.button.ghost {
  background: transparent;
  color: var(--navy);
  border: 1px solid #9aa99d;
  box-shadow: none;
}
.button.ghost:hover {
  border-color: var(--blue);
  color: var(--blue);
}
.hero {
  position: relative;
  overflow: hidden;
  background:
    radial-gradient(circle at 80% 20%, #dcefff 0, transparent 31%),
    linear-gradient(125deg, #f3f8fe, #fff 68%);
  padding: 104px 0 100px;
}
.hero:before {
  content: "";
  position: absolute;
  inset: 0;
  background-image:
    linear-gradient(#0c599d0a 1px, transparent 1px),
    linear-gradient(90deg, #0c599d0a 1px, transparent 1px);
  background-size: 46px 46px;
  mask-image: linear-gradient(90deg, transparent, black);
}
.hero .wrap {
  position: relative;
}
.hero-grid {
  display: grid;
  grid-template-columns: 1.08fr 0.92fr;
  align-items: center;
  gap: 58px;
  min-height: 420px;
}
.eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  color: var(--blue);
  font-size: 0.79rem;
  font-weight: 850;
  letter-spacing: 0.14em;
  text-transform: uppercase;
}
.eyebrow:before {
  content: "";
  display: inline-block;
  width: 22px;
  height: 2px;
  background: var(--accent);
}
.lead {
  font-size: 1.19rem;
  max-width: 61ch;
  color: #475569;
  line-height: 1.8;
}
.hero .lead {
  max-width: 49ch;
  margin-bottom: 31px;
}
.hero-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 13px;
  margin-top: 28px;
}
.hero-trust {
  margin-top: 37px;
  padding-top: 25px;
  border-top: 1px solid #dbe5f0;
  display: flex;
  gap: 20px;
  flex-wrap: wrap;
  color: #53647c;
  font-size: 0.82rem;
  font-weight: 700;
}
.hero-trust span:before {
  content: "✓";
  margin-right: 8px;
  color: #0c8a78;
}
.proof-strip {
  margin-top: 24px;
  display: grid;
  grid-template-columns: repeat(4, minmax(120px, 1fr));
  gap: 12px;
}
.proof-item {
  padding: 16px 14px;
  border: 1px solid #dfeaf7;
  border-radius: 12px;
  background: rgba(255, 255, 255, 0.72);
  display: grid;
  gap: 4px;
}
.proof-item strong {
  font-size: 0.82rem;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--navy);
}
.proof-item span {
  color: #5d728a;
  font-size: 0.75rem;
}
.visual {
  position: relative;
  border: 1px solid #dae5f0;
  background: linear-gradient(160deg, #102b50, #0c1c33 65%);
  border-radius: 22px;
  padding: 23px;
  box-shadow: 0 30px 75px rgba(15, 23, 42, 0.18);
  min-height: 395px;
  overflow: hidden;
  color: white;
}
.visual:after {
  content: "";
  position: absolute;
  width: 300px;
  height: 300px;
  right: -150px;
  top: -150px;
  border-radius: 50%;
  background: #0a75d9;
  filter: blur(80px);
  opacity: 0.32;
}
.visual-top {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding-bottom: 19px;
  border-bottom: 1px solid #ffffff25;
  color: #cde2fc;
  font-size: 0.75rem;
  letter-spacing: 0.12em;
  font-weight: 800;
}
.signal {
  display: flex;
  gap: 6px;
}
.signal i {
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: #58e2bc;
  display: block;
}
.signal i:nth-child(2) {
  opacity: 0.55;
}
.signal i:nth-child(3) {
  opacity: 0.3;
}
.visual-main {
  padding: 30px 4px;
}
.visual-label {
  font:
    700 0.8rem Inter,
    system-ui;
  color: #91b6e7;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}
.visual-title {
  font:
    750 clamp(1.7rem, 3vw, 2.5rem)/1.24 Inter,
    system-ui;
  letter-spacing: -0.04em;
  color: #fff;
  margin: 12px 0;
}
.visual-note {
  color: #adc9e8;
  max-width: 31ch;
  font-size: 0.93rem;
  line-height: 1.6;
}
.stack {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 12px;
  margin-top: 35px;
}
.stack div {
  border: 1px solid #ffffff30;
  background: #ffffff0c;
  border-radius: 12px;
  padding: 18px 12px;
  min-height: 95px;
  display: flex;
  flex-direction: column;
  gap: 9px;
}
.stack strong {
  font-size: 1.1rem;
  color: white;
}
.stack small {
  font-size: 0.71rem;
  color: #abc6e8;
  line-height: 1.4;
}
.section {
  padding: 95px 0;
}
.section-head {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 30px;
  margin-bottom: 35px;
}
.section-head p {
  margin: 0;
  max-width: 39ch;
}
.soft {
  background: var(--mist);
}
.grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(235px, 1fr));
  gap: 20px;
}
.tile {
  padding: 32px 28px;
  border: 1px solid var(--line);
  border-radius: 3px;
  background: #fffdf7;
  transition:
    transform 0.2s,
    border 0.2s,
    box-shadow 0.2s;
  display: flex;
  flex-direction: column;
  min-height: 305px;
}
.tile:hover {
  transform: translateY(-3px);
  border-color: #85a794;
  box-shadow: 0 12px 26px #183d2912;
}
.tile h3 {
  margin: 16px 0 7px;
  font-size: 1.27rem;
}
.tile p {
  color: #617084;
  line-height: 1.65;
  margin: 0 0 25px;
}
.tile a {
  text-decoration: none;
  font-weight: 750;
  margin-top: auto;
}
.tile-icon {
  width: 53px;
  height: 53px;
  border: 0;
  border-radius: 2px;
  background: var(--accent);
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--navy);
  font:
    800 1.15rem Inter,
    system-ui;
}
.process {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 26px;
  margin-top: 35px;
}
.process article {
  padding-top: 24px;
  border-top: 2px solid #86aa92;
}
.process b {
  font:
    800 1rem Inter,
    system-ui;
  color: var(--blue);
}
.process h3 {
  font-size: 1.4rem;
  margin: 10px 0;
}
.process p {
  color: #607186;
  margin: 0;
}
.cta {
  position: relative;
  overflow: hidden;
  background: #ed8665;
  color: var(--navy);
  padding: 77px 0;
}
.cta:after {
  content: "";
  position: absolute;
  right: -100px;
  top: -180px;
  width: 420px;
  height: 420px;
  border: 1px solid #17241e35;
  border-radius: 0;
  box-shadow:
    45px 45px 0 -44px #17241e85,
    90px 90px 0 -89px #17241e65;
}
.cta .wrap {
  position: relative;
  z-index: 1;
}
.cta h2 {
  color: var(--navy);
  max-width: 19ch;
}
.cta p {
  color: #293a30;
  margin-bottom: 25px;
}
footer {
  background: #17241e;
  color: #e1e9df;
  padding: 68px 0 30px;
}
footer a {
  color: #d4ded3;
  text-decoration: none;
}
footer a:hover {
  color: #d7f783;
}
.foot {
  display: grid;
  grid-template-columns: 1.5fr 1.2fr 1fr 1fr;
  gap: 28px;
}
.foot a {
  display: block;
  margin: 9px 0;
  font-size: 0.9rem;
}
.foot h3 {
  color: #f7f8f2;
  font-size: 1rem;
}
.foot p {
  color: #c2d0c3;
  font-size: 0.93rem;
}
.legal {
  max-width: 820px;
}
.legal h2 {
  margin-top: 2rem;
}
form {
  max-width: 680px;
  display: grid;
  gap: 15px;
}
label {
  display: grid;
  gap: 5px;
  font-weight: 700;
}
input,
textarea {
  font: inherit;
  padding: 14px 16px;
  border: 1px solid #a9bacf;
  border-radius: 3px;
  width: 100%;
}
input:focus,
textarea:focus,
a:focus-visible,
button:focus-visible {
  outline: 3px solid #76ad8a;
  outline-offset: 3px;
}
.check {
  display: flex;
  gap: 10px;
  align-items: flex-start;
}
.check input {
  width: auto;
  margin-top: 7px;
}
.note {
  font-size: 0.9rem;
  color: #59697c;
}
.success {
  background: #e6f8ef;
  border-radius: 6px;
  padding: 12px;
}
.error {
  background: #ffeded;
  border-radius: 6px;
  padding: 12px;
}
ul {
  padding-left: 23px;
}
@media (max-width: 980px) {
  .hero-grid {
    gap: 32px;
  }
  .visual {
    min-height: 350px;
  }
  .foot {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media (max-width: 760px) {
  h1 {
    font-size: 40px;
  }
  h2 {
    font-size: 34px;
  }
  .wrap {
    padding: 0 20px;
  }
  .bar {
    flex-wrap: wrap;
    padding-top: 14px;
    padding-bottom: 14px;
  }
  .nav {
    flex-wrap: wrap;
    gap: 15px;
  }
  .nav a {
    font-size: 0.83rem;
  }
  .nav .button {
    display: none;
  }
  .hero {
    padding: 60px 0;
  }
  .hero-grid {
    grid-template-columns: 1fr;
    gap: 38px;
  }
  .visual {
    min-height: 0;
  }
  .section {
    padding: 62px 0;
  }
  .section-head {
    display: block;
  }
  .section-head p {
    max-width: unset;
  }
  .process {
    grid-template-columns: 1fr;
    gap: 20px;
  }
  .foot {
    grid-template-columns: repeat(2, 1fr);
  }
  .hero-trust {
    gap: 8px 18px;
  }
}
@media (max-width: 480px) {
  .foot {
    grid-template-columns: 1fr;
  }
  .stack {
    gap: 7px;
  }
  .stack div {
    padding: 10px 8px;
  }
  .stack small {
    font-size: 0.65rem;
  }
}
@media (prefers-reduced-motion: reduce) {
  html {
    scroll-behavior: auto;
  }
  .button,
  .tile {
    transition: none;
  }
  .tile:hover,
  .button:hover {
    transform: none;
  }
}

body.home {
  --blue: #1d5947;
  --accent: #d3f46c;
  --navy: #17241e;
  --text: #36423a;
  --bg: #f7f8f2;
  --line: #d9ded4;
  --mist: #edf0e7;
  background: var(--bg);
  font-family: "Segoe UI", Arial, sans-serif;
}

.home h1,
.home h2,
.home h3 {
  font-family: Georgia, "Times New Roman", serif;
  letter-spacing: 0;
}

.home h1 {
  font-size: 76px;
  line-height: 0.99;
  font-weight: 500;
  margin: 25px 0 22px;
}

.home h2 {
  font-size: 48px;
  line-height: 1.08;
  font-weight: 500;
  max-width: 17ch;
}

.home h3 {
  font-weight: 600;
}

.home header {
  background: rgba(247, 248, 242, 0.97);
  border-color: #dfe3d9;
}

.home .nav a {
  color: #26372f;
}

.home .nav a:hover {
  color: var(--blue);
}

.home .button {
  border-radius: 3px;
  background: var(--accent);
  color: #1a2b22;
  box-shadow: none;
  font-size: 0.94rem;
  font-weight: 800;
}

.home .button:hover {
  background: #e2ff91;
  color: #14231c;
  box-shadow: none;
}

.home .hero .button.ghost {
  background: transparent;
  border-color: #ffffff8c;
  color: white;
}

.home .hero .button.ghost:hover {
  background: #ffffff14;
  border-color: white;
  color: white;
}

.home .hero {
  background: #174235;
  color: white;
  padding: 58px 0 74px;
  isolation: isolate;
}

.home .hero:before {
  content: none;
}

.home .hero-grid {
  grid-template-columns: 1fr 0.88fr;
  gap: 72px;
  min-height: 600px;
}

.home .home-hero-copy {
  animation: home-rise 0.7s ease-out both;
}

.home .hero .eyebrow {
  color: #d7f783;
  font-family: "Segoe UI", Arial, sans-serif;
  letter-spacing: 0.1em;
}

.home .hero .eyebrow:before {
  background: #ff8b65;
}

.home .hero h1 {
  color: #fffdf5;
  max-width: 10ch;
}

.home .hero h1 em {
  color: #d7f783;
  font-weight: 500;
}

.home .hero .lead {
  max-width: 48ch;
  color: #e0ebe4;
  font-size: 19px;
  line-height: 1.65;
}

.home .hero-actions {
  margin-top: 30px;
  gap: 12px;
}

.home .hero-trust {
  border-color: #ffffff40;
  color: #e1eee5;
  gap: 10px 24px;
  font-size: 14px;
}

.home .hero-trust span:before {
  color: #d7f783;
}

.home-hero-visual {
  position: relative;
  align-self: stretch;
  min-height: 570px;
  margin: 0;
  animation: home-rise 0.8s 0.12s ease-out both;
}

.home-hero-visual img {
  display: block;
  width: 100%;
  height: 100%;
  min-height: 570px;
  object-fit: cover;
  object-position: center 47%;
  border-radius: 3px;
}

.home-hero-visual figcaption {
  position: absolute;
  right: 12px;
  bottom: 12px;
  max-width: 27ch;
  padding: 8px 11px;
  background: #15261edb;
  color: white;
  font-size: 12px;
}

.workflow-sample {
  position: absolute;
  left: -34px;
  bottom: 56px;
  display: grid;
  gap: 7px;
  width: 315px;
  padding: 19px 21px 18px;
  background: #d7f783;
  color: #17241e;
  box-shadow: 0 14px 40px #081d1640;
}

.workflow-sample strong {
  font-family: Georgia, "Times New Roman", serif;
  font-size: 19px;
  font-weight: 600;
  line-height: 1.2;
}

.sample-label,
.workflow-sample small {
  font-family: "Segoe UI", Arial, sans-serif;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.workflow-sample small {
  color: #405847;
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0;
  text-transform: none;
}

.sample-arrow {
  color: #da6549;
  font-size: 21px;
  line-height: 1;
}

.hero-edge {
  position: absolute;
  top: 50%;
  right: 19px;
  color: #d7f783;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: 0.13em;
  text-transform: uppercase;
  writing-mode: vertical-rl;
}

.home .section {
  padding: 104px 0;
}

.home .section-head {
  margin-bottom: 48px;
}

.home .section-head h2 {
  margin-top: 20px;
}

.home .section-head p {
  max-width: 43ch;
  color: #58645b;
}

.home .eyebrow {
  color: #23694f;
  font-family: "Segoe UI", Arial, sans-serif;
  letter-spacing: 0.11em;
}

.home .eyebrow:before {
  background: #f07f5c;
}

.home-examples {
  background: #fbfcf7;
}

.examples-demo-link {
  margin: 14px 0 0;
}

.workflow-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  column-gap: 54px;
}

.workflow-item {
  padding: 28px 0 34px;
  border-top: 1px solid #cbd4c9;
}

.workflow-top {
  display: flex;
  align-items: center;
  gap: 15px;
  color: #54705e;
  font:
    800 11px/1.4 "Segoe UI",
    Arial,
    sans-serif;
  letter-spacing: 0.11em;
}

.workflow-top span:first-child {
  display: inline-flex;
  width: 34px;
  aspect-ratio: 1;
  align-items: center;
  justify-content: center;
  background: #d7f783;
  color: #173c2e;
  font-size: 13px;
  letter-spacing: 0;
}

.workflow-coral .workflow-top span:first-child {
  background: #ffb39a;
}

.workflow-green .workflow-top span:first-child {
  background: #b9ded0;
}

.workflow-yellow .workflow-top span:first-child {
  background: #f4d785;
}

.workflow-item h3 {
  margin: 18px 0 9px;
  font-size: 29px;
  line-height: 1.13;
}

.workflow-context {
  margin: 0 0 20px;
  color: #69746b;
  font-size: 15px;
}

.workflow-item dl {
  display: grid;
  gap: 10px;
  margin: 0;
}

.workflow-item dl div {
  display: grid;
  grid-template-columns: 105px 1fr;
  gap: 12px;
}

.workflow-item dt {
  color: #28644e;
  font:
    800 12px/1.6 "Segoe UI",
    Arial,
    sans-serif;
}

.workflow-item dd {
  margin: 0;
  color: #37433b;
  font-size: 14px;
  line-height: 1.6;
}

.demo-section {
  background: #e8eee3;
}

.demo-disclaimer {
  margin: -18px 0 18px;
  color: #536457;
  font:
    700 12px/1.5 "Segoe UI",
    Arial,
    sans-serif;
  letter-spacing: 0.035em;
}

.demo-tool {
  border: 1px solid #b9c8bb;
  background: #f8f9f3;
  box-shadow: 0 22px 55px #203b2a12;
}

.demo-tabs {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  border-bottom: 1px solid #cbd4c9;
  background: #f1f3eb;
}

.demo-tabs button {
  min-height: 56px;
  padding: 12px 16px;
  border: 0;
  border-bottom: 3px solid transparent;
  background: transparent;
  color: #445449;
  font:
    750 14px/1.3 "Segoe UI",
    Arial,
    sans-serif;
  cursor: pointer;
}

.demo-tabs button[aria-selected="true"] {
  border-bottom-color: #1d5947;
  background: #fffdf7;
  color: #173c2e;
}

.demo-tabs button:focus-visible,
.demo-tool button:focus-visible {
  outline: 3px solid #76ad8a;
  outline-offset: -3px;
}

.demo-panel {
  padding: 30px;
}

.demo-panel-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  padding-bottom: 21px;
  border-bottom: 1px solid #d7ded4;
}

.demo-panel-head h3 {
  margin: 6px 0 0;
  font-size: 30px;
}

.demo-kicker {
  color: #27634c;
  font:
    800 11px/1.5 "Segoe UI",
    Arial,
    sans-serif;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

.demo-status {
  margin: 20px 0;
  padding: 10px 14px;
  border-left: 3px solid #a6bd68;
  background: #eef2e6;
  color: #3c4c40;
  font-size: 13px;
}

.demo-columns {
  display: grid;
  grid-template-columns: 0.85fr 1.15fr;
  gap: 20px;
  align-items: stretch;
}

.demo-columns.demo-awaiting-output {
  grid-template-columns: 1fr;
}

.demo-column,
.demo-output {
  min-width: 0;
  padding: 21px;
  border: 1px solid #d5ddd1;
  background: #fffdf7;
}

.demo-column ul {
  display: grid;
  gap: 11px;
  margin: 15px 0 0;
  padding: 0;
  list-style: none;
}

.demo-column li {
  padding-left: 12px;
  border-left: 2px solid #d6e59e;
  color: #425047;
  font-size: 14px;
  line-height: 1.55;
}

.demo-output {
  border-color: #263d30;
  background: #17241e;
  color: #edf3e9;
}

.demo-output[hidden],
.demo-review[hidden] {
  display: none;
}

.demo-output .demo-kicker {
  color: #d7f783;
}

.demo-output h4 {
  margin: 13px 0 8px;
  color: #fffdf5;
  font:
    600 24px/1.2 Georgia,
    "Times New Roman",
    serif;
}

.demo-output > p {
  margin: 0;
  color: #d4ded3;
  font-size: 14px;
}

.demo-output dl {
  display: grid;
  gap: 10px;
  margin: 20px 0 0;
  padding-top: 16px;
  border-top: 1px solid #ffffff30;
}

.demo-output dl div {
  display: grid;
  grid-template-columns: 130px 1fr;
  gap: 12px;
}

.demo-output dt {
  color: #d7f783;
  font:
    750 12px/1.5 "Segoe UI",
    Arial,
    sans-serif;
}

.demo-output dd {
  margin: 0;
  color: #e3ece2;
  font-size: 13px;
}

.demo-review {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 12px 24px;
  margin-top: 18px;
  padding-top: 18px;
  border-top: 1px solid #d7ded4;
}

.demo-review > div {
  margin-right: auto;
}

.demo-review strong {
  color: #213c2d;
  font:
    700 15px/1.4 "Segoe UI",
    Arial,
    sans-serif;
}

.demo-review p {
  margin: 4px 0 0;
  color: #59675d;
  font-size: 13px;
}

.home .demo-review .button.ghost {
  border-color: #668673;
  color: #214b38;
}

.demo-review-status {
  flex-basis: 100%;
  margin: 0;
  color: #27634c;
  font-weight: 700;
}

.home .soft {
  background: #edf0e7;
}

.home .tile {
  min-height: 280px;
  padding: 28px 25px;
  border: 1px solid #d9dfd5;
  border-radius: 3px;
  box-shadow: none;
}

.home .tile:hover {
  transform: translateY(-3px);
  border-color: #85a794;
  box-shadow: 0 12px 26px #183d2912;
}

.home .tile-icon {
  border: 0;
  border-radius: 2px;
  background: #d7f783;
  color: #173c2e;
  font-family: "Segoe UI", Arial, sans-serif;
}

.home .tile h3 {
  font-size: 24px;
  letter-spacing: 0;
}

.home .tile p {
  color: #59665c;
}

.home .home-experience {
  background: #f2eee2;
}

.home .process article {
  border-top-color: #86aa92;
}

.home .process b {
  color: #27634c;
  font-family: "Segoe UI", Arial, sans-serif;
}

.home .cta {
  background: #ed8665;
  color: #17241e;
}

.home .cta h2 {
  color: #17241e;
  max-width: 19ch;
}

.home .cta p {
  color: #293a30;
}

.home .cta .button {
  background: #17241e;
  color: #f7f8f2;
}

.home .cta .button:hover {
  background: #2d493c;
  color: white;
}

.home .cta:after {
  right: -40px;
  top: -130px;
  width: 300px;
  height: 300px;
  border-color: #17241e35;
  border-radius: 0;
  box-shadow:
    45px 45px 0 -44px #17241e85,
    90px 90px 0 -89px #17241e65;
}

.home footer {
  background: #17241e;
}

.home footer a:hover {
  color: #d7f783;
}

@keyframes home-rise {
  from {
    opacity: 0;
    transform: translateY(16px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

@media (max-width: 980px) {
  .home .hero-grid {
    grid-template-columns: 1fr 0.9fr;
    gap: 35px;
  }
  .home h1 {
    font-size: 62px;
  }
  .home-hero-visual,
  .home-hero-visual img {
    min-height: 520px;
  }
  .workflow-grid {
    column-gap: 32px;
  }
}

@media (max-width: 760px) {
  .home .bar {
    gap: 8px;
    padding-top: 10px;
    padding-bottom: 10px;
  }
  .home .nav {
    gap: 12px;
  }
  .home .nav a {
    font-size: 0.78rem;
  }
  .home .nav .button {
    display: none;
  }
  .home .hero {
    padding: 36px 0 40px;
  }
  .home .hero-grid {
    grid-template-columns: 1fr;
    gap: 26px;
    min-height: 0;
  }
  .home h1 {
    font-size: 48px;
    max-width: 11ch;
  }
  .home .hero .eyebrow {
    font-size: 0.68rem;
    letter-spacing: 0.075em;
  }
  .home .hero .lead {
    font-size: 16px;
    line-height: 1.52;
  }
  .home-hero-visual,
  .home-hero-visual img {
    min-height: 0;
    height: 440px;
  }
  .workflow-sample {
    left: 12px;
    bottom: 45px;
  }
  .hero-edge {
    display: none;
  }
  .home .section {
    padding: 72px 0;
  }
  .home .section-head {
    margin-bottom: 31px;
  }
  .home h2 {
    font-size: 39px;
  }
  .workflow-grid {
    grid-template-columns: 1fr;
  }
  .demo-panel {
    padding: 20px;
  }
  .demo-panel-head {
    align-items: flex-start;
    flex-direction: column;
  }
  .demo-columns {
    grid-template-columns: 1fr;
  }
  .workflow-item {
    padding: 25px 0 28px;
  }
  .home .home-experience {
    background: #f2eee2;
  }
}

@media (max-width: 480px) {
  .home h1 {
    font-size: 45px;
  }
  .home .hero-actions {
    margin-top: 20px;
    align-items: stretch;
    flex-direction: column;
  }
  .home .hero-actions .button {
    width: 100%;
  }
  .home .hero-trust {
    display: grid;
    gap: 9px;
    margin-top: 22px;
    padding-top: 18px;
  }
  .home-hero-visual,
  .home-hero-visual img {
    height: 320px;
  }
  .workflow-sample {
    right: 10px;
    left: 10px;
    bottom: 43px;
    width: auto;
  }
  .home h2 {
    font-size: 34px;
  }
  .workflow-item h3 {
    font-size: 25px;
  }
  .workflow-item dl div {
    grid-template-columns: 88px 1fr;
    gap: 8px;
  }
  .demo-tabs button {
    padding: 10px 6px;
    font-size: 12px;
  }
  .demo-output dl div {
    grid-template-columns: 105px 1fr;
    gap: 8px;
  }
  .demo-review {
    align-items: stretch;
    flex-direction: column;
  }
  .demo-review > div {
    margin-right: 0;
  }
  .demo-review .button {
    width: 100%;
  }
}

@media (prefers-reduced-motion: reduce) {
  .home .home-hero-copy,
  .home .home-hero-visual {
    animation: none;
  }
}

.refreshed .new-hero {background:#102f2b;color:#f6f7ef;padding:100px 0 88px;overflow:hidden}
.new-hero-grid {display:grid;grid-template-columns:1.15fr 1fr;gap:72px;align-items:center}
.refreshed .new-hero h1 {font-family:Georgia,serif;font-size:clamp(48px,5vw,76px);line-height:1.06;letter-spacing:-3px;color:#f6f7ef;margin:28px 0}
.refreshed .new-hero h1 em {color:#d6f878;font-weight:normal}
.refreshed .new-hero .lead {color:#dce8df;font-size:19px;max-width:44ch}
.refreshed .new-hero .eyebrow {color:#d6f878}
.refreshed .new-hero .ghost {color:#fff;border-color:#6b8780;background:transparent}
.hero-note {font-size:13px;color:#b7cec4;margin-top:28px;max-width:44ch}
.work-stage {border:1px solid #53736a;border-radius:20px;padding:26px;background:linear-gradient(145deg,#264b42,#183932);box-shadow:0 25px 70px #001d1b66;transform:rotate(-2deg)}
.stage-heading {display:flex;justify-content:space-between;align-items:center;gap:10px;font-size:10px;letter-spacing:1.5px;margin-bottom:25px}
.stage-dot {border:1px solid #78928a;border-radius:20px;padding:4px 10px;letter-spacing:0}
.stage-input,.stage-result {padding:24px;border-radius:12px;background:#f6f7ef;color:#183932;transform:rotate(2deg)}
.stage-input span,.stage-result span {display:block;font-size:10px;letter-spacing:1.8px;margin-bottom:12px}
.stage-input strong {font-size:23px}.stage-input p,.stage-result p {margin:10px 0 0;font-size:14px}
.stage-route {text-align:center;font-size:28px;color:#d6f878;margin:6px 0}
.stage-result {background:#d6f878}.stage-result strong {font-family:Georgia,serif;font-size:38px;font-weight:normal}
.stage-review {display:flex;gap:13px;margin:25px 0 18px;align-items:center}.stage-review p {font-size:12px;margin:3px 0;color:#d3e0d6}.review-dot {width:12px;height:12px;flex-shrink:0;background:#d6f878;border-radius:50%}
.work-stage small {color:#b7cec4;font-size:10px}
.value-grid {display:grid;grid-template-columns:repeat(3,1fr);gap:40px;margin-top:44px}.value-grid span {font-size:11px;letter-spacing:2px;color:#496e61}.value-grid h3 {font-size:24px;line-height:1.25}
.offer-grid {display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:40px}.offer {display:flex;flex-direction:column;border:1px solid #cbd7ce;padding:28px;border-radius:12px;background:#f6f7ef;color:#19382e;text-decoration:none;transition:transform .2s,background .2s}.offer:hover {transform:translateY(-4px);background:#edf4d9}.offer h3 {font-size:23px;line-height:1.2}.offer p {font-size:15px}.offer-link {margin-top:auto;padding-top:22px;font-size:13px;font-weight:700}
@media(max-width:800px){.refreshed .new-hero {padding:55px 0}.new-hero-grid {grid-template-columns:1fr;gap:38px}.refreshed .new-hero h1 {letter-spacing:-2px}.work-stage {transform:none;max-width:480px;width:100%;margin:auto}.value-grid,.offer-grid {grid-template-columns:1fr;gap:18px}.value-grid article {border-top:1px solid #cbd7ce;padding-top:22px}.new-hero .hero-actions {flex-wrap:wrap}}
@media(prefers-reduced-motion:reduce){.offer {transition:none}.offer:hover {transform:none}}

.customer-focus .inquiry-hero {background:#112d27;color:#edf4e9;padding:88px 0 76px}
.inquiry-grid {display:grid;grid-template-columns:1fr 1.05fr;gap:64px;align-items:center}
.customer-focus .inquiry-copy h1 {font:500 clamp(52px,5.2vw,78px)/1.04 Georgia,serif;letter-spacing:-2.8px;color:#f6f7ef;max-width:13ch;margin:24px 0 28px}
.inquiry-copy h1 em {color:#d6f878;font-weight:normal}.customer-focus .inquiry-copy .eyebrow {color:#d6f878}.customer-focus .inquiry-copy .lead {color:#d5e1d6;font-size:19px;max-width:40ch}.customer-focus .inquiry-copy .ghost {background:transparent;color:#f6f7ef;border-color:#5e7c70}.inquiry-footnote {font-size:12px;color:#a9c2b4;margin-top:28px}
.inquiry-workbench {background:#f7f8f2;color:#253d31;padding:25px;border-radius:16px;box-shadow:0 28px 90px #001c184d;border:1px solid #547564}
.workbench-top {display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:24px}.workbench-logo {font-size:10px;letter-spacing:1.8px;font-weight:700}.sample-badge {border:1px solid #c7d3c5;border-radius:20px;padding:4px 9px;font-size:10px;white-space:nowrap}
.scenario-buttons {display:flex;gap:6px;flex-wrap:wrap;margin-bottom:22px}.scenario-buttons button {font:600 12px 'Segoe UI',sans-serif;border:1px solid #c7d3c5;border-radius:6px;background:transparent;color:#334c3a;padding:9px 13px;cursor:pointer}.scenario-buttons button[aria-pressed=true] {background:#193e31;border-color:#193e31;color:white}
.inquiry-source {background:#e8ece3;border-radius:9px;padding:19px}.work-label {font-size:10px;letter-spacing:1.5px;font-weight:700}.inquiry-source p {font-size:15px;line-height:1.6;margin-bottom:0}.workbench-arrow {text-align:center;color:#527245;font-size:23px;line-height:1.2;padding:10px}
.inquiry-result {border:1px solid #c8d7a8;border-radius:9px;padding:20px;background:#f0f6df}.inquiry-result h2 {font-size:26px;line-height:1.15;letter-spacing:-.4px;margin:12px 0 18px}.inquiry-details {font-size:12px;margin:0 0 18px}.inquiry-details div {display:grid;grid-template-columns:70px 1fr;gap:10px;padding:6px 0}.inquiry-details dt {color:#5f7056}.inquiry-details dd {margin:0;font-weight:600}.draft-label {font-size:10px;letter-spacing:1px;text-transform:uppercase;color:#5f7056;border-top:1px solid #d0dcba;padding-top:14px}.inquiry-result p {font-size:13px;line-height:1.6;margin:8px 0 0}.inquiry-checkpoint {display:flex;align-items:center;gap:12px;margin-top:16px}.inquiry-checkpoint .review-dot {background:#527245}.inquiry-checkpoint p {font-size:11px;margin:0}.workbench-caption {font-size:10px;color:#64755f;margin:15px 0 0}
.fit-strip {border-bottom:1px solid #d9ded4;padding:23px 0;background:#eef1e7}.fit-strip .wrap {display:flex;justify-content:space-between;gap:22px;align-items:center}.fit-strip p {font-size:12px;margin:0;color:#65725f}.fit-strip .wrap>div {display:flex;gap:26px;flex-wrap:wrap;font-size:12px;font-weight:600}
.pilot-section {background:#e9eedf}.pilot-grid {display:grid;grid-template-columns:1fr 1fr;gap:76px;align-items:start}.pilot-deliverables {border-top:2px solid #34583e;padding-top:20px}.pilot-deliverables h3 {font-size:25px;margin:0 0 20px}.pilot-deliverables ol {list-style:none;padding:0;counter-reset:pilot}.pilot-deliverables li {counter-increment:pilot;position:relative;padding:0 0 22px 40px;margin-bottom:20px;border-bottom:1px solid #cbd5c2}.pilot-deliverables li:before {content:'0' counter(pilot);position:absolute;left:0;font-size:12px;color:#5c7051}.pilot-deliverables strong,.pilot-deliverables span {display:block}.pilot-deliverables span {font-size:14px;margin-top:7px}.pilot-deliverables>p {font-size:12px;color:#617058}
.faq-focus {display:grid;grid-template-columns:1fr 1.4fr;gap:50px}.faq-focus details {border-bottom:1px solid #ccd4c4;padding:18px 0}.faq-focus summary {font-weight:600;cursor:pointer;line-height:1.5}.faq-focus details p {font-size:14px;max-width:60ch}
.sr-only {position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.scenario-buttons button:focus-visible,.faq-focus summary:focus-visible {outline:3px solid #507830;outline-offset:3px}
@media(max-width:850px){.inquiry-grid,.pilot-grid,.faq-focus {grid-template-columns:1fr;gap:38px}.customer-focus .inquiry-hero {padding:48px 0}.fit-strip .wrap {display:block}.fit-strip .wrap>div {gap:12px;margin-top:12px}.customer-focus .inquiry-copy h1 {font-size:clamp(48px,9vw,68px)}.inquiry-workbench {padding:18px}.workbench-top {gap:8px}.workbench-logo {letter-spacing:1px;font-size:9px}.scenario-buttons button {padding:9px 10px}.inquiry-result h2 {font-size:24px}.customer-focus .hero-actions {flex-wrap:wrap}.inquiry-workbench {scroll-margin-top:110px}}

.service-page main > .section:first-child {
  background: var(--mist);
  border-bottom: 1px solid var(--line);
}

.service-page main > .section:first-child .lead {
  max-width: 66ch;
}

.service-page main > .section:first-child > .wrap > p:first-child {
  margin: 0 0 28px;
}

.service-page main > .section:first-child > .wrap > p:first-child a {
  color: var(--blue);
  font-size: 0.9rem;
  font-weight: 700;
  text-decoration-thickness: 1px;
  text-underline-offset: 4px;
}

.service-page main > .section:first-child ul {
  display: grid;
  gap: 10px;
  max-width: 68ch;
  margin: 25px 0 34px;
  padding: 0;
  list-style: none;
}

.service-page main > .section:first-child li {
  padding: 12px 16px;
  border-left: 3px solid var(--accent);
  background: #fffdf7;
}
