.marketing-site {
  --m-ink: #17342f;
  --m-ink-soft: #5b7069;
  --m-forest: #123c35;
  --m-forest-deep: #0c2d2b;
  --m-leaf: #458b69;
  --m-leaf-bright: #78bd82;
  --m-lime: #dff2a6;
  --m-cream: #f7f4ea;
  --m-paper: #fffdf8;
  --m-mint: #e8f1e7;
  --m-mint-light: #f1f6ee;
  --m-orange: #ed9858;
  --m-line: #d7e1d6;
  --m-shadow: 0 28px 70px rgba(20, 57, 48, .13);
  --m-display-font: "Avenir Next", Inter, ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  --m-body-font: Inter, ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  min-height: 100vh;
  overflow: clip;
  background: var(--m-paper);
  color: var(--m-ink);
  font-family: var(--m-body-font);
  font-size: 16px;
  line-height: 1.55;
}

.marketing-site *,
.marketing-site *::before,
.marketing-site *::after { box-sizing: border-box; }

.marketing-site h1,
.marketing-site h2,
.marketing-site h3,
.marketing-site h4,
.marketing-site p,
.marketing-site ul,
.marketing-site ol,
.marketing-site dl,
.marketing-site dd { margin: 0; }

.marketing-site h1,
.marketing-site h2 {
  color: var(--m-forest-deep);
  font-family: var(--m-display-font);
  font-weight: 700;
  letter-spacing: -.05em;
}

.marketing-site a { color: inherit; }
.marketing-site svg { display: block; }

.marketing-shell {
  width: min(1200px, calc(100% - 64px));
  margin-inline: auto;
}

.marketing-section { padding: 108px 0; }

.marketing-kicker {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  margin-bottom: 22px;
  color: var(--m-leaf);
  font-size: .84rem;
  font-weight: 760;
  letter-spacing: .105em;
  line-height: 1.3;
  text-transform: uppercase;
}

.marketing-kicker::before {
  width: 24px;
  height: 2px;
  border-radius: 2px;
  background: currentColor;
  content: "";
}

.marketing-heading { max-width: 760px; margin-bottom: 58px; }
.marketing-heading-narrow { max-width: 680px; }
.marketing-heading h2 {
  font-size: clamp(2.25rem, 4vw, 3.55rem);
  line-height: 1.05;
}
.marketing-heading > p { margin-top: 20px; color: var(--m-ink-soft); font-size: 1.08rem; }

.marketing-mark { width: 42px; height: 42px; overflow: visible; }
.marketing-mark .mark-leaf { fill: var(--m-leaf-bright); }
.marketing-mark .mark-leaf-b { fill: var(--m-lime); }
.marketing-mark .mark-leaf-c { fill: var(--m-orange); }
.marketing-mark .mark-stem {
  fill: none;
  stroke: currentColor;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: 2.4;
}

.marketing-header {
  position: sticky;
  z-index: 100;
  top: 0;
  border-bottom: 1px solid rgba(18, 60, 53, .1);
  background: rgba(255, 253, 248, .92);
  backdrop-filter: blur(16px);
}

.marketing-header-inner {
  display: grid;
  min-height: 78px;
  grid-template-columns: auto 1fr auto;
  align-items: center;
  gap: 34px;
}

.marketing-logo {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  color: var(--m-forest-deep);
  text-decoration: none;
}

.marketing-logo .marketing-mark { width: 39px; height: 39px; }
.marketing-logo > span {
  font-size: 1.28rem;
  font-weight: 650;
  letter-spacing: -.035em;
}

.marketing-nav {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 30px;
}

.marketing-nav a,
.marketing-text-link {
  position: relative;
  color: #425c55;
  font-size: .91rem;
  font-weight: 620;
  text-decoration: none;
}

.marketing-nav a::after {
  position: absolute;
  right: 0;
  bottom: -11px;
  left: 0;
  height: 2px;
  border-radius: 2px;
  background: var(--m-leaf);
  content: "";
  opacity: 0;
  transform: scaleX(.4);
  transition: opacity .18s ease, transform .18s ease;
}

.marketing-nav a:hover,
.marketing-nav a[aria-current="page"],
.marketing-text-link:hover { color: var(--m-forest-deep); }
.marketing-nav a:hover::after,
.marketing-nav a[aria-current="page"]::after { opacity: 1; transform: scaleX(1); }

.marketing-header-actions { display: flex; align-items: center; gap: 20px; }

.marketing-button {
  display: inline-flex;
  min-height: 50px;
  align-items: center;
  justify-content: center;
  gap: 12px;
  padding: 0 22px;
  border: 1px solid transparent;
  border-radius: 12px;
  font-size: .95rem;
  font-weight: 720;
  line-height: 1.2;
  text-decoration: none;
  transition: transform .18s ease, box-shadow .18s ease, background .18s ease;
}

.marketing-button svg,
.marketing-inline-link svg {
  width: 19px;
  height: 19px;
  fill: none;
  stroke: currentColor;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: 1.8;
}

.marketing-button:hover { transform: translateY(-2px); }
.marketing-site .marketing-button-dark {
  background: var(--m-forest);
  color: #fff;
  box-shadow: 0 10px 25px rgba(18, 60, 53, .18);
}
.marketing-site .marketing-button-dark:hover { background: #0d332f; box-shadow: 0 14px 30px rgba(18, 60, 53, .24); }
.marketing-site .marketing-button-outline { border-color: #aec4b8; background: transparent; color: var(--m-forest); }
.marketing-site .marketing-button-outline:hover { border-color: var(--m-leaf); background: rgba(255,255,255,.58); }
.marketing-button-small { min-height: 43px; padding-inline: 17px; font-size: .86rem; }

.marketing-site .marketing-inline-link {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  color: var(--m-forest);
  font-size: .95rem;
  font-weight: 720;
  text-underline-offset: 5px;
}

.marketing-site .marketing-inline-link:hover { color: var(--m-leaf); }
.marketing-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 25px; }

.marketing-mobile-menu { display: none; }

/* Home */
.home-hero {
  position: relative;
  min-height: 720px;
  overflow: hidden;
  padding: 92px 0 86px;
  background:
    radial-gradient(circle at 8% 12%, rgba(223, 242, 166, .72), transparent 25%),
    linear-gradient(145deg, #f6f4e9 0%, #f9fbf4 57%, #e9f2e8 100%);
}

.home-hero::before {
  position: absolute;
  top: -390px;
  right: -320px;
  width: 850px;
  height: 850px;
  border: 1px solid rgba(69, 139, 105, .19);
  border-radius: 50%;
  content: "";
}

.home-hero-grid {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: minmax(390px, .86fr) minmax(560px, 1.14fr);
  align-items: center;
  gap: 70px;
}

.home-hero-copy h1 {
  max-width: 650px;
  font-size: clamp(3.65rem, 6vw, 5.65rem);
  line-height: .95;
}

.home-hero-copy > p {
  max-width: 590px;
  margin: 28px 0 34px;
  color: #526a63;
  font-size: 1.21rem;
  line-height: 1.65;
}

.home-promise-list {
  display: flex;
  flex-wrap: wrap;
  gap: 11px 26px;
  margin-top: 32px !important;
  padding: 0;
  color: #526a63;
  font-size: .91rem;
  list-style: none;
}

.home-promise-list li { display: flex; align-items: center; gap: 8px; }
.home-promise-list svg {
  width: 17px;
  height: 17px;
  fill: none;
  stroke: var(--m-leaf);
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: 2.2;
}

.home-hero-visual { position: relative; min-width: 0; }
.home-orbit {
  position: absolute;
  border: 1px solid rgba(69, 139, 105, .26);
  border-radius: 50%;
}
.orbit-one { top: -64px; right: -90px; width: 360px; height: 360px; }
.orbit-two { bottom: -110px; left: -100px; width: 290px; height: 290px; }

.home-product-window {
  position: relative;
  z-index: 2;
  overflow: visible;
  border: 1px solid rgba(18, 60, 53, .18);
  border-radius: 20px;
  background: #fff;
  box-shadow: 0 40px 90px rgba(23, 58, 48, .2);
  transform: rotate(.5deg);
}

.product-window-top {
  display: flex;
  height: 44px;
  align-items: center;
  gap: 6px;
  padding: 0 15px;
  border-bottom: 1px solid #dce5df;
  border-radius: 20px 20px 0 0;
  background: #f5f7f3;
}
.product-window-top > span { width: 7px; height: 7px; border-radius: 50%; background: #bccbc2; }
.product-window-top > span:nth-child(2) { background: #d8b879; }
.product-window-top > span:nth-child(3) { background: #85b99b; }
.product-window-top small { margin-left: auto; color: #7d8e88; font-size: .54rem; font-weight: 800; letter-spacing: .12em; }

.product-window-body { display: grid; min-height: 445px; grid-template-columns: 160px 1fr; }
.product-window-body aside {
  padding: 21px 13px;
  border-radius: 0 0 0 20px;
  background: var(--m-forest-deep);
  color: #fff;
}
.product-mini-logo { display: flex; align-items: center; gap: 7px; margin-bottom: 27px; padding: 0 6px; }
.product-mini-logo .marketing-mark { width: 23px; height: 23px; color: #fff; }
.product-mini-logo b { font-size: .74rem; font-weight: 650; }
.product-side-label { margin: 18px 8px 7px; color: #719189; font-size: .47rem; font-weight: 800; letter-spacing: .15em; }
.product-side-item { display: flex; align-items: center; gap: 9px; margin: 3px 0; padding: 9px 10px; border-radius: 8px; color: #aac0ba; font-size: .62rem; font-weight: 650; }
.product-side-item.active { background: rgba(255,255,255,.1); color: #fff; }
.product-side-item svg { width: 13px; height: 13px; fill: none; stroke: currentColor; stroke-linecap: round; stroke-linejoin: round; stroke-width: 1.7; }

.product-window-body > section { min-width: 0; padding: 25px 25px 22px; background: #f8faf7; border-radius: 0 0 20px 0; }
.product-greeting { display: flex; align-items: center; justify-content: space-between; }
.product-greeting span { display: grid; gap: 4px; }
.product-greeting small { color: #7a8e86; font-size: .49rem; font-weight: 800; letter-spacing: .12em; }
.product-greeting b { color: #193f39; font-size: 1rem; }
.product-greeting > i { display: grid; width: 30px; height: 30px; place-items: center; border-radius: 50%; background: #dceadd; color: #376758; font-size: .55rem; font-style: normal; font-weight: 800; }
.product-progress { display: flex; align-items: center; justify-content: space-between; gap: 20px; margin: 24px 0 18px; padding: 20px; border-radius: 14px; background: linear-gradient(125deg, #d9eecc, #eef6e8); }
.product-progress-copy { display: grid; }
.product-progress-copy small { color: #507860; font-size: .48rem; font-weight: 800; letter-spacing: .12em; }
.product-progress-copy b { margin-top: 5px; color: #193f39; font-size: .89rem; }
.product-progress-copy p { margin-top: 3px; color: #668078; font-size: .58rem; }
.product-progress-copy span { margin-top: 13px; color: #367052; font-size: .56rem; font-weight: 750; }
.product-progress-ring { display: grid; width: 71px; height: 71px; flex: 0 0 71px; place-items: center; border-radius: 50%; background: conic-gradient(var(--m-leaf) 0 64%, #fff 64% 100%); }
.product-progress-ring::before { width: 55px; height: 55px; border-radius: 50%; background: #eaf4e3; content: ""; grid-area: 1/1; }
.product-progress-ring span { z-index: 1; grid-area: 1/1; color: #244f42; font-size: .7rem; font-weight: 800; }
.product-course-list { overflow: hidden; border: 1px solid #dce5df; border-radius: 12px; background: #fff; }
.product-course-list > div { display: grid; grid-template-columns: 30px 1fr auto; align-items: center; gap: 10px; padding: 12px; border-bottom: 1px solid #e5ece7; }
.product-course-list > div:last-child { border-bottom: 0; }
.product-course-list i { display: grid; width: 26px; height: 26px; place-items: center; border: 1px solid #cfdbd5; border-radius: 50%; color: #8ba098; }
.product-course-list i.done { border-color: #7aaa8e; background: #e2f1df; color: #3d8662; }
.product-course-list i.active { border-color: #dd9e58; background: #fff0d7; color: #be7138; }
.product-course-list i svg { width: 13px; height: 13px; fill: none; stroke: currentColor; stroke-linecap: round; stroke-linejoin: round; stroke-width: 2; }
.product-course-list span { display: grid; gap: 2px; }
.product-course-list b { color: #294b43; font-size: .62rem; }
.product-course-list small { color: #87968f; font-size: .52rem; }
.product-course-list em { color: #3e7664; font-size: .52rem; font-style: normal; font-weight: 750; }
.product-window-toast { position: absolute; right: -22px; bottom: 35px; display: flex; align-items: center; gap: 10px; min-width: 180px; padding: 12px 14px; border: 1px solid #d8e3dc; border-radius: 11px; background: #fff; box-shadow: 0 18px 40px rgba(23,52,47,.18); }
.product-window-toast > svg { width: 25px; height: 25px; padding: 5px; border-radius: 50%; background: #dff0db; fill: none; stroke: #397c5d; stroke-linecap: round; stroke-linejoin: round; stroke-width: 2; }
.product-window-toast span { display: grid; }
.product-window-toast small { color: #80918a; font-size: .43rem; font-weight: 800; letter-spacing: .1em; }
.product-window-toast b { color: #24483f; font-size: .62rem; }

.home-fit { background: var(--m-forest); color: #fff; }
.home-fit .marketing-shell { display: flex; min-height: 104px; align-items: center; justify-content: space-between; gap: 35px; }
.home-fit p { max-width: 610px; color: #d7e4df; font-family: var(--m-display-font); font-size: 1.18rem; font-weight: 560; line-height: 1.42; letter-spacing: -.02em; }
.home-fit .marketing-shell > div { display: flex; align-items: center; gap: 22px; }
.home-fit span { display: flex; align-items: center; gap: 7px; color: #c2d4ce; font-size: .76rem; font-weight: 650; white-space: nowrap; }
.home-fit span svg { width: 17px; height: 17px; fill: none; stroke: var(--m-lime); stroke-linecap: round; stroke-linejoin: round; stroke-width: 1.6; }

.home-how { background: var(--m-paper); }
.home-steps { display: grid; grid-template-columns: repeat(3, 1fr); gap: 0; padding: 0; list-style: none; counter-reset: none; }
.home-steps li { position: relative; padding: 35px 42px 28px 0; border-top: 1px solid #bfd0c5; }
.home-steps li:not(:last-child)::after { position: absolute; top: 0; right: 25px; width: 1px; height: 100%; background: #e0e8e1; content: ""; }
.home-steps li > span { position: absolute; top: -13px; left: 0; padding-right: 13px; background: var(--m-paper); color: var(--m-leaf); font-size: .7rem; font-weight: 800; letter-spacing: .1em; }
.home-steps li > div { display: grid; width: 50px; height: 50px; place-items: center; margin-bottom: 24px; border-radius: 15px; background: var(--m-mint); color: var(--m-forest); }
.home-steps li:nth-child(2) > div { background: #f8e7d5; color: #9a5b2f; }
.home-steps li:nth-child(3) > div { background: #e1e9ce; }
.home-steps svg { width: 23px; height: 23px; fill: none; stroke: currentColor; stroke-linecap: round; stroke-linejoin: round; stroke-width: 1.6; }
.home-steps h3 { color: var(--m-ink); font-size: 1.28rem; }
.home-steps p { max-width: 320px; margin-top: 12px; color: var(--m-ink-soft); font-size: .98rem; }

.home-grow { background: var(--m-mint-light); }
.home-grow-grid { display: grid; grid-template-columns: 1.05fr .95fr; align-items: center; gap: 92px; }
.home-grow-grid > div:last-child h2 { font-size: clamp(2.45rem, 4vw, 3.65rem); line-height: 1.05; }
.home-grow-grid > div:last-child > p { margin: 24px 0; color: var(--m-ink-soft); font-size: 1.06rem; line-height: 1.7; }
.marketing-check-list { display: grid; gap: 12px; padding: 0; list-style: none; }
.marketing-check-list li { display: flex; align-items: flex-start; gap: 10px; color: #49645c; font-size: .94rem; }
.marketing-check-list svg { width: 18px; height: 18px; flex: 0 0 18px; margin-top: 3px; fill: none; stroke: var(--m-leaf); stroke-linecap: round; stroke-linejoin: round; stroke-width: 2.2; }
.home-grow-grid .marketing-button { margin-top: 32px; }
.home-grow-visual { position: relative; min-height: 430px; padding: 60px; border-radius: 40% 15% 40% 14%; background: linear-gradient(145deg, var(--m-forest), #276552); color: #fff; box-shadow: var(--m-shadow); }
.grow-root { position: relative; z-index: 2; display: flex; align-items: center; gap: 18px; max-width: 300px; margin: 6px auto 0; padding: 17px 21px; border: 1px solid rgba(255,255,255,.2); border-radius: 15px; background: rgba(255,255,255,.1); }
.grow-root .marketing-mark { color: #fff; }
.grow-root span { display: grid; }
.grow-root small { color: #a9c6bc; font-size: .57rem; font-weight: 800; letter-spacing: .12em; }
.grow-root b { font-size: .9rem; }
.grow-line { width: 1px; height: 105px; margin: 0 auto; background: rgba(223,242,166,.55); }
.grow-branches { position: relative; display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px; }
.grow-branches::before { position: absolute; top: -1px; right: 16%; left: 16%; height: 1px; background: rgba(223,242,166,.55); content: ""; }
.grow-branches > span { position: relative; display: grid; justify-items: center; gap: 10px; padding-top: 27px; color: #dbe8e2; font-size: .7rem; }
.grow-branches > span::before { position: absolute; top: 0; width: 1px; height: 20px; background: rgba(223,242,166,.55); content: ""; }
.grow-branches i { display: grid; width: 47px; height: 47px; place-items: center; border: 1px solid rgba(255,255,255,.2); border-radius: 50%; background: rgba(255,255,255,.1); color: var(--m-lime); }
.grow-branches svg { width: 21px; height: 21px; fill: none; stroke: currentColor; stroke-linecap: round; stroke-linejoin: round; stroke-width: 1.5; }

.home-formats { background: var(--m-paper); }
.home-formats-inner { display: grid; grid-template-columns: 1fr 1fr; align-items: center; gap: 90px; }
.home-formats h2 { font-size: clamp(2.4rem, 4vw, 3.55rem); line-height: 1.06; }
.home-formats p { max-width: 570px; margin: 23px 0; color: var(--m-ink-soft); font-size: 1.03rem; }
.format-pills { display: flex; flex-wrap: wrap; justify-content: center; gap: 13px; padding: 55px 40px; border: 1px solid #ccdbd1; border-radius: 28px; background: radial-gradient(circle at 50% 50%, #e0efdc, #f4f7ef 70%); }
.format-pills span { padding: 14px 18px; border: 1px solid #b9cfc1; border-radius: 999px; background: #fff; color: #345c50; box-shadow: 0 8px 20px rgba(22,58,48,.08); font-size: .88rem; font-weight: 720; }
.format-pills span:nth-child(2) { transform: translateY(-11px); }
.format-pills span:nth-child(4) { transform: translateY(9px); }

.marketing-closing { background: var(--m-lime); text-align: center; }
.marketing-closing .marketing-shell { max-width: 850px; }
.marketing-closing h2 { margin-bottom: 34px; font-size: clamp(2.55rem, 4.5vw, 4.05rem); line-height: 1.03; }
.marketing-closing .marketing-actions { justify-content: center; }

/* Every interior route shares one stable header composition. */
.interior-hero { min-height: 620px; }
.interior-hero-grid {
  display: grid;
  min-height: 620px;
  grid-template-columns: minmax(0,.92fr) minmax(500px,1.08fr);
  align-items: start;
  gap: 76px;
  padding-top: 82px;
  padding-bottom: 72px;
}
.interior-hero-copy { min-width: 0; padding-top: 4px; }
.interior-hero h1 {
  max-width: 570px;
  min-height: 265px;
  font-size: clamp(3.35rem,4.8vw,4.6rem);
  line-height: .99;
}
.interior-hero-copy > p { max-width: 570px; margin-top: 24px; color: var(--m-ink-soft); font-size: 1.08rem; line-height: 1.65; }
.platform-dashboard,
.use-case-board,
.format-console,
.trust-access-panel { width: min(565px,100%); justify-self: end; }

/* Platform */
.platform-hero { background: linear-gradient(135deg, #f6f3e8 0 60%, #e8f0e6); }
.platform-dashboard { height: 420px; overflow: hidden; border: 1px solid #c9d7cd; border-radius: 20px; background: #fff; box-shadow: 0 32px 72px rgba(23,52,47,.18); color: var(--m-ink); }
.platform-dashboard > header { display: flex; height: 51px; align-items: center; justify-content: space-between; padding: 0 19px; border-bottom: 1px solid #dfe7e1; background: #f4f7f2; }
.platform-dashboard > header span { display: flex; align-items: center; gap: 9px; color: #385b51; font-size: .76rem; font-weight: 750; }
.platform-dashboard > header span i { width: 8px; height: 8px; border-radius: 50%; background: #68a27d; box-shadow: 0 0 0 4px #e1eee3; }
.platform-dashboard > header em { color: #6f847b; font-size: .62rem; font-style: normal; font-weight: 800; letter-spacing: .1em; }
.platform-dashboard-body { display: grid; height: 369px; grid-template-columns: 146px minmax(0,1fr); }
.platform-dashboard-body > aside { display: flex; min-width: 0; flex-direction: column; gap: 7px; padding: 17px 11px; background: var(--m-forest-deep); color: #c5d5cf; }
.platform-dashboard-brand { display: flex; min-height: 43px; align-items: center; gap: 7px; padding: 0 8px 11px; margin-bottom: 3px; border-bottom: 1px solid rgba(255,255,255,.13); }
.platform-dashboard-brand .marketing-mark { width: 25px; height: 25px; color: var(--m-lime); }
.platform-dashboard-brand b { color: #fff; font-size: .72rem; font-weight: 680; }
.platform-dashboard-body > aside > span { display: grid; min-height: 36px; grid-template-columns: 19px 1fr; align-items: center; gap: 8px; padding: 8px 9px; border-radius: 9px; }
.platform-dashboard-body > aside > span.active { background: rgba(255,255,255,.12); color: #fff; }
.platform-dashboard-body > aside svg { width: 17px; height: 17px; fill: none; stroke: currentColor; stroke-linecap: round; stroke-linejoin: round; stroke-width: 1.7; }
.platform-dashboard-body > aside b { overflow: hidden; font-size: .7rem; font-weight: 650; text-overflow: ellipsis; white-space: nowrap; }
.platform-dashboard-body > section { min-width: 0; padding: 19px 20px 15px; background: #fbfcf9; }
.platform-dashboard-title { display: flex; align-items: center; justify-content: space-between; }
.platform-dashboard-title > span { display: grid; gap: 3px; }
.platform-dashboard-title small { color: #72847c; font-size: .61rem; font-weight: 800; letter-spacing: .09em; }
.platform-dashboard-title b { color: #294c43; font-family: var(--m-display-font); font-size: 1.18rem; font-weight: 700; letter-spacing: -.03em; }
.platform-dashboard-title > i { display: grid; width: 32px; height: 32px; place-items: center; border-radius: 50%; background: #dfeae1; color: #3f6c59; font-size: .65rem; font-style: normal; font-weight: 800; }
.platform-dashboard-metrics { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 8px; margin-top: 15px; }
.platform-dashboard-metrics > div { display: grid; min-height: 68px; align-content: center; gap: 5px; padding: 10px 11px; border: 1px solid #dce5dd; border-radius: 11px; background: #fff; }
.platform-dashboard-metrics > div.on-track { border-color: #cadece; background: #edf5eb; }
.platform-dashboard-metrics small { overflow: hidden; color: #708079; font-size: .57rem; font-weight: 800; letter-spacing: .05em; text-overflow: ellipsis; white-space: nowrap; }
.platform-dashboard-metrics b { color: #294e43; font-family: var(--m-display-font); font-size: 1.45rem; line-height: 1; letter-spacing: -.04em; }
.platform-dashboard-list { margin-top: 16px; }
.platform-dashboard-list > header { display: flex; align-items: center; justify-content: space-between; margin-bottom: 8px; }
.platform-dashboard-list > header b { color: #3b554e; font-size: .74rem; }
.platform-dashboard-list > header small { display: flex; align-items: center; gap: 4px; color: #4f806c; font-size: .61rem; font-weight: 750; }
.platform-dashboard-list > header svg { width: 12px; height: 12px; fill: none; stroke: currentColor; stroke-linecap: round; stroke-linejoin: round; stroke-width: 1.8; }
.platform-dashboard-list > div { display: grid; min-height: 49px; grid-template-columns: 29px minmax(0,1fr) auto; align-items: center; gap: 9px; padding: 7px 9px; border-top: 1px solid #e4eae5; }
.platform-dashboard-list > div > i { display: grid; width: 27px; height: 27px; place-items: center; border-radius: 8px; background: #e2e9e4; color: #5d766d; }
.platform-dashboard-list > div > i.complete { background: #dfefdb; color: #427657; }
.platform-dashboard-list > div > i.current { background: #f5e4cf; color: #a5683e; }
.platform-dashboard-list > div > i svg { width: 14px; height: 14px; fill: none; stroke: currentColor; stroke-linecap: round; stroke-linejoin: round; stroke-width: 2; }
.platform-dashboard-list > div > span { display: grid; min-width: 0; gap: 2px; }
.platform-dashboard-list > div > span b { overflow: hidden; color: #38554d; font-size: .68rem; text-overflow: ellipsis; white-space: nowrap; }
.platform-dashboard-list > div > span small { display: flex; align-items: center; color: #809089; font-size: .57rem; white-space: nowrap; }
.platform-dashboard-list > div > span small i { width: 54px; height: 4px; margin-right: 5px; overflow: hidden; border-radius: 99px; background: #e1e7e2; }
.platform-dashboard-list > div > span small u { display: block; width: 72%; height: 100%; border-radius: inherit; background: var(--m-orange); text-decoration: none; }
.platform-dashboard-list > div > em { padding: 4px 7px; border-radius: 999px; background: #f3e7d8; color: #92623d; font-size: .56rem; font-style: normal; font-weight: 750; }
.platform-dashboard-list > div > em.complete { background: #e5f1e1; color: #427457; }
.platform-dashboard-body > section > footer { display: flex; align-items: center; gap: 8px; padding-top: 9px; border-top: 1px solid #e4eae5; color: #477361; }
.platform-dashboard-body > section > footer > svg { width: 16px; height: 16px; fill: none; stroke: currentColor; stroke-linecap: round; stroke-linejoin: round; stroke-width: 2; }
.platform-dashboard-body > section > footer span { display: grid; gap: 1px; }
.platform-dashboard-body > section > footer b { color: #3d5c53; font-size: .62rem; }
.platform-dashboard-body > section > footer small { color: #82918b; font-size: .54rem; }

.platform-intro { border-top: 1px solid #d9e1d9; border-bottom: 1px solid #d9e1d9; background: var(--m-forest); color: #fff; }
.platform-intro .marketing-shell { display: grid; min-height: 116px; grid-template-columns: 240px 1fr; align-items: center; gap: 50px; }
.platform-intro span { color: var(--m-lime); font-size: .79rem; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
.platform-intro p { max-width: 820px; color: #d7e3de; font-family: var(--m-display-font); font-size: 1.22rem; font-weight: 560; line-height: 1.48; letter-spacing: -.025em; }

.platform-features { background: var(--m-paper); }
.platform-feature { display: grid; grid-template-columns: .9fr 1.1fr; align-items: center; gap: 90px; padding: 88px 0; border-bottom: 1px solid var(--m-line); }
.platform-feature:first-child { padding-top: 0; }
.platform-feature:last-child { padding-bottom: 0; border-bottom: 0; }
.platform-feature.is-reversed .platform-feature-copy { order: 2; }
.platform-feature.is-reversed .platform-feature-visual { order: 1; }
.platform-feature-copy { position: relative; }
.platform-feature-copy > small { color: var(--m-leaf); font-size: .79rem; font-weight: 800; letter-spacing: .105em; text-transform: uppercase; }
.platform-feature h2 { max-width: 530px; margin-top: 13px; font-size: clamp(2.25rem, 3.4vw, 3.25rem); line-height: 1.06; }
.platform-feature-copy > p { max-width: 560px; margin: 22px 0 25px; color: var(--m-ink-soft); font-size: 1.02rem; line-height: 1.7; }
.platform-feature-visual { display: grid; min-height: 430px; place-items: center; border: 1px solid #d5dfd7; border-radius: 30px; background: var(--m-mint-light); }
.platform-feature:nth-child(2) .platform-feature-visual { background: #f8ecdc; }
.platform-feature:nth-child(3) .platform-feature-visual { background: var(--m-forest); }
.platform-feature:nth-child(4) .platform-feature-visual { background: #e8eed8; }

.feature-catalog,
.feature-people,
.feature-path,
.feature-report { width: min(410px, calc(100% - 58px)); }
.feature-catalog { overflow: hidden; border: 1px solid #d2ddd6; border-radius: 17px; background: #fff; box-shadow: 0 22px 45px rgba(23,52,47,.13); }
.feature-catalog > div { display: flex; align-items: center; justify-content: space-between; padding: 18px 20px; border-bottom: 1px solid #e0e7e2; }
.feature-catalog > div small { color: #5d756c; font-size: .62rem; font-weight: 800; letter-spacing: .1em; }
.feature-catalog > div span { padding: 5px 9px; border-radius: 999px; background: var(--m-mint); color: #48705f; font-size: .57rem; font-weight: 750; }
.feature-catalog p { display: grid; grid-template-columns: 35px 1fr auto; align-items: center; gap: 10px; padding: 15px 20px; border-bottom: 1px solid #e9eee9; }
.feature-catalog p:last-child { border: 0; }
.feature-catalog p i { display: grid; width: 31px; height: 31px; place-items: center; border-radius: 9px; background: var(--m-mint); color: var(--m-leaf); }
.feature-catalog p svg { width: 16px; height: 16px; fill: none; stroke: currentColor; stroke-linecap: round; stroke-linejoin: round; stroke-width: 1.5; }
.feature-catalog p b { color: #34564d; font-size: .7rem; }
.feature-catalog p em { color: #4a8169; font-size: .57rem; font-style: normal; font-weight: 700; }

.feature-people { display: grid; gap: 9px; }
.feature-people > div { display: grid; grid-template-columns: 37px 1fr auto; grid-template-rows: auto auto; align-items: center; gap: 1px 11px; padding: 13px 15px; border: 1px solid #ead5bc; border-radius: 13px; background: #fff; box-shadow: 0 10px 23px rgba(71,47,25,.06); }
.feature-people > div > span { display: grid; width: 35px; height: 35px; grid-row: 1/3; place-items: center; border-radius: 50%; background: #e5eee4; color: #47705d; font-size: .58rem; font-weight: 800; }
.feature-people > div:nth-child(2) > span { background: #f2e2c8; color: #96623c; }
.feature-people > div:nth-child(3) > span { background: #dfe8ed; color: #4c6773; }
.feature-people b { color: #3d514a; font-size: .68rem; }
.feature-people small { color: #85938e; font-size: .54rem; }
.feature-people > div i { display: grid; width: 22px; height: 22px; grid-row: 1/3; grid-column: 3; place-items: center; border-radius: 50%; background: #e5f2e0; color: #4a8b68; }
.feature-people svg { width: 12px; height: 12px; fill: none; stroke: currentColor; stroke-linecap: round; stroke-linejoin: round; stroke-width: 2; }
.feature-people > p { display: grid; margin-top: 11px; padding: 15px 18px; border-radius: 12px; background: var(--m-forest); color: #fff; }
.feature-people > p b { color: #fff; font-size: .7rem; }
.feature-people > p small { color: #bed0ca; font-size: .56rem; }

.feature-path { position: relative; display: grid; gap: 18px; padding: 27px; border-radius: 20px; background: rgba(255,255,255,.08); color: #fff; }
.path-title { padding-bottom: 17px; border-bottom: 1px solid rgba(255,255,255,.18); font-size: .72rem; font-weight: 750; }
.feature-path p { position: relative; z-index: 2; display: flex; align-items: center; gap: 13px; }
.feature-path p > i { display: grid; width: 34px; height: 34px; flex: 0 0 34px; place-items: center; border: 1px solid rgba(255,255,255,.35); border-radius: 50%; background: var(--m-forest); color: #d1dfda; font-size: .62rem; font-style: normal; }
.feature-path p.complete > i { border-color: var(--m-lime); background: var(--m-lime); color: var(--m-forest); }
.feature-path p.current > i { border: 3px solid var(--m-orange); color: #fff; }
.feature-path p svg { width: 15px; height: 15px; fill: none; stroke: currentColor; stroke-linecap: round; stroke-linejoin: round; stroke-width: 2.2; }
.feature-path p > span { display: grid; }
.feature-path p b { color: #fff; font-size: .71rem; }
.feature-path p small { color: #a9c1ba; font-size: .56rem; }
.path-line { position: absolute; z-index: 1; top: 89px; bottom: 47px; left: 43px; width: 1px; background: rgba(255,255,255,.25); }

.feature-report { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; padding: 24px; border: 1px solid #d4dec5; border-radius: 20px; background: #fff; box-shadow: 0 22px 45px rgba(23,52,47,.12); }
.feature-report > div { display: grid; align-content: start; padding-right: 18px; border-right: 1px solid #e0e6d8; }
.feature-report > div small { color: #718078; font-size: .55rem; font-weight: 800; letter-spacing: .1em; }
.feature-report > div b { margin-top: 11px; color: #294e43; font-family: var(--m-display-font); font-size: 2.5rem; font-weight: 700; line-height: 1; letter-spacing: -.055em; }
.feature-report > div span { height: 7px; margin-top: 21px; overflow: hidden; border-radius: 99px; background: #e4e9dd; }
.feature-report > div span i { display: block; width: 78%; height: 100%; border-radius: inherit; background: var(--m-leaf); }
.feature-report ul { display: grid; align-content: center; gap: 14px; padding: 0; list-style: none; }
.feature-report li { display: grid; grid-template-columns: 9px 1fr auto; align-items: center; gap: 7px; color: #65766f; font-size: .58rem; }
.feature-report li b { font-weight: 650; }
.feature-report li em { color: #345b50; font-style: normal; font-weight: 800; }
.report-dot { width: 8px; height: 8px; border-radius: 50%; background: #d7ddd2; }
.report-dot.done { background: var(--m-leaf); }
.report-dot.active { background: var(--m-orange); }

.platform-roles { padding: 85px 0; background: var(--m-forest-deep); color: #fff; }
.platform-roles .marketing-shell { display: grid; grid-template-columns: .75fr 1.25fr; align-items: start; gap: 80px; }
.platform-roles h2 { color: #fff; font-size: clamp(2.4rem,4vw,3.5rem); line-height: 1.06; }
.platform-roles dl { border-top: 1px solid rgba(255,255,255,.22); }
.platform-roles dl > div { display: grid; grid-template-columns: 180px 1fr; gap: 30px; padding: 23px 0; border-bottom: 1px solid rgba(255,255,255,.16); }
.platform-roles dt { color: var(--m-lime); font-size: .89rem; font-weight: 750; }
.platform-roles dd { color: #bfd0ca; font-size: .93rem; }

/* Use cases */
.use-cases-hero { background: var(--m-forest-deep); color: #fff; }
.use-cases-hero h1 { color: #fff; }
.use-cases-hero .interior-hero-copy > p { color: #bfd0ca; }
.use-case-board {
  width: min(565px, 100%);
  overflow: hidden;
  justify-self: end;
  border: 1px solid rgba(255,255,255,.2);
  border-radius: 19px;
  background: #fbfdf9;
  color: var(--m-ink);
  box-shadow: 0 35px 80px rgba(0,0,0,.25);
}
.use-case-board > header { display: flex; height: 51px; align-items: center; justify-content: space-between; padding: 0 19px; border-bottom: 1px solid #dfe7e1; background: #f2f6f2; }
.use-case-board > header span { display: flex; align-items: center; gap: 9px; color: #35574f; font-size: .7rem; font-weight: 740; }
.use-case-board > header span i { width: 8px; height: 8px; border-radius: 50%; background: var(--m-leaf-bright); box-shadow: 0 0 0 4px #e1eddf; }
.use-case-board > header em { color: #7c8e87; font-size: .51rem; font-style: normal; font-weight: 800; letter-spacing: .11em; }
.case-board-summary { display: flex; align-items: center; justify-content: space-between; gap: 20px; padding: 22px 21px 19px; }
.case-board-summary > span { display: grid; gap: 5px; }
.case-board-summary small { color: #80918a; font-size: .49rem; font-weight: 800; letter-spacing: .12em; }
.case-board-summary b { color: #24483f; font-size: .88rem; }
.case-board-summary > div { display: flex; padding-left: 9px; }
.case-board-summary > div i { display: grid; width: 31px; height: 31px; margin-left: -9px; place-items: center; border: 2px solid #fbfdf9; border-radius: 50%; background: #dfeade; color: #3d6758; font-size: .5rem; font-style: normal; font-weight: 800; }
.case-board-summary > div i:nth-child(2) { background: #f2dfc8; color: #865d3c; }
.case-board-summary > div i:nth-child(3) { background: #dbe7ea; color: #486674; }
.case-board-summary > div i:nth-child(4) { background: #254e45; color: #fff; }
.case-board-list { display: grid; margin: 0 16px; overflow: hidden; border: 1px solid #dce5df; border-radius: 12px; background: #fff; }
.case-board-list > div { display: grid; grid-template-columns: 37px 1fr auto; align-items: center; gap: 11px; padding: 12px 13px; border-bottom: 1px solid #e5ebe6; }
.case-board-list > div:last-child { border-bottom: 0; }
.case-icon { display: grid; width: 35px; height: 35px; place-items: center; border-radius: 10px; color: #42725f; }
.case-icon.mint { background: #e4f0e1; }
.case-icon.sand { background: #f6e6d3; color: #9a6239; }
.case-icon.blue { background: #e1eaec; color: #4b6975; }
.case-icon svg { width: 17px; height: 17px; fill: none; stroke: currentColor; stroke-linecap: round; stroke-linejoin: round; stroke-width: 1.6; }
.case-board-list > div > span { display: grid; gap: 1px; }
.case-board-list small { color: #87968f; font-size: .45rem; font-weight: 800; letter-spacing: .1em; }
.case-board-list b { color: #34564c; font-size: .66rem; }
.case-board-list em { padding: 5px 8px; border-radius: 999px; background: #edf1ed; color: #6c7e77; font-size: .5rem; font-style: normal; font-weight: 740; }
.case-board-list em.live { background: #e1efde; color: #397359; }
.use-case-board > footer { display: flex; align-items: center; justify-content: space-between; padding: 16px 19px; color: #587067; font-size: .57rem; }
.use-case-board > footer span { display: flex; align-items: center; gap: 7px; font-weight: 690; }
.use-case-board > footer svg { width: 14px; height: 14px; fill: none; stroke: var(--m-leaf); stroke-linecap: round; stroke-linejoin: round; stroke-width: 2; }
.use-case-board > footer small { color: #8a9993; font-size: .53rem; }

.use-case-list { background: var(--m-paper); }
.use-case-list ul { padding: 0; border-top: 1px solid #c7d5cc; list-style: none; }
.use-case-list li { display: grid; grid-template-columns: minmax(300px,.72fr) minmax(0,1.28fr); gap: 64px; padding: 50px 0; border-bottom: 1px solid #c7d5cc; }
.use-case-title h3 { max-width: 330px; color: var(--m-forest-deep); font-family: var(--m-display-font); font-size: 1.85rem; font-weight: 700; line-height: 1.12; letter-spacing: -.045em; }
.use-case-title p { max-width: 420px; margin-top: 17px; color: var(--m-ink-soft); font-size: .96rem; }
.use-case-list dl { display: grid; grid-template-columns: repeat(3, 1fr); gap: 22px; }
.use-case-list dt { color: var(--m-leaf); font-size: .68rem; font-weight: 800; letter-spacing: .09em; text-transform: uppercase; }
.use-case-list dd { margin-top: 9px; color: #526960; font-size: .86rem; line-height: 1.6; }

.assignment-shape { background: #eef3e8; }
.assignment-shape-grid { display: grid; grid-template-columns: .83fr 1.17fr; align-items: center; gap: 80px; }
.assignment-shape h2 { font-size: clamp(2.45rem,4vw,3.6rem); line-height: 1.06; }
.assignment-shape-grid > div:first-child > p { margin: 23px 0 30px; color: var(--m-ink-soft); font-size: 1.02rem; }
.assignment-rule { display: grid; gap: 25px; padding: 26px; border: 1px solid rgba(223,242,166,.2); border-radius: 22px; background: linear-gradient(150deg, #193f38, #102f2e); box-shadow: 0 28px 70px rgba(20,57,48,.2); }
.assignment-rule-head { display: flex; align-items: center; justify-content: space-between; gap: 15px; color: #f3f7e9; }
.assignment-rule-head span { font-size: .85rem; font-weight: 700; letter-spacing: -.01em; }
.assignment-rule-head small { color: #b2c8ae; font-size: .62rem; font-weight: 700; letter-spacing: .09em; text-transform: uppercase; }
.assignment-rule-flow { display: grid; grid-template-columns: minmax(0,1fr) auto minmax(0,1fr) auto minmax(0,1fr); align-items: center; gap: 11px; }
.assignment-rule-step { position: relative; display: grid; min-height: 142px; align-content: end; gap: 7px; padding: 22px 17px 17px; overflow: hidden; border: 1px solid rgba(255,255,255,.14); border-radius: 14px; background: rgba(255,255,255,.96); }
.assignment-rule-step::after { position: absolute; top: 0; right: 0; left: 0; height: 4px; background: var(--m-leaf-bright); content: ""; }
.assignment-rule-step:nth-of-type(2)::after { background: var(--m-orange); }
.assignment-rule-step:nth-of-type(3)::after { background: var(--m-lime); }
.assignment-rule-number { position: absolute; top: 13px; right: 14px; color: #a5bbb0; font-size: .66rem; font-weight: 800; letter-spacing: .06em; }
.assignment-rule-step > span:not(.assignment-rule-number) { color: var(--m-leaf); font-size: .62rem; font-weight: 800; letter-spacing: .12em; }
.assignment-rule-step b { color: #244a40; font-size: .79rem; line-height: 1.35; }
.assignment-rule-flow > i { display: grid; width: 24px; height: 24px; place-items: center; color: #b8d09f; }
.assignment-rule-flow > i svg { width: 19px; height: 19px; fill: none; stroke: currentColor; stroke-linecap: round; stroke-linejoin: round; stroke-width: 1.7; }
.assignment-rule-footer { display: flex; align-items: center; justify-content: space-between; gap: 15px; padding-top: 17px; border-top: 1px solid rgba(255,255,255,.15); color: #dce9d5; }
.assignment-rule-footer span { display: flex; align-items: center; gap: 8px; font-size: .72rem; font-weight: 650; }
.assignment-rule-footer span svg { width: 15px; height: 15px; fill: none; stroke: var(--m-leaf-bright); stroke-linecap: round; stroke-linejoin: round; stroke-width: 2; }
.assignment-rule-footer small { color: #a9c0a9; font-size: .62rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }

/* Course formats */
.formats-hero { background: linear-gradient(145deg, #e8f0e7, #f7f4e9 68%); }
.format-console { overflow: hidden; border: 1px solid #c8d6cd; border-radius: 18px; background: #fff; box-shadow: 0 30px 70px rgba(23,52,47,.15); }
.format-console > header { display: flex; height: 51px; align-items: center; justify-content: space-between; padding: 0 18px; border-bottom: 1px solid #dde6e0; background: #f7f9f6; }
.format-console > header span { display: flex; align-items: center; gap: 9px; color: #385b51; font-size: .69rem; font-weight: 740; }
.format-console > header span i { width: 8px; height: 8px; border-radius: 50%; background: var(--m-leaf); box-shadow: 0 0 0 4px #e0ece2; }
.format-console > header em { padding: 5px 8px; border-radius: 999px; background: #e1efde; color: #397359; font-size: .47rem; font-style: normal; font-weight: 800; letter-spacing: .08em; }
.format-console-body { display: grid; grid-template-columns: 172px 1fr; min-height: 315px; }
.format-console-body > aside { display: grid; align-content: start; gap: 5px; padding: 21px 12px; border-right: 1px solid #dfe7e1; background: #f3f6f2; }
.format-console-body > aside > small { margin: 0 10px 8px; color: #84948d; font-size: .48rem; font-weight: 800; letter-spacing: .12em; }
.format-console-body > aside > span { display: grid; grid-template-columns: 24px 1fr auto; align-items: center; gap: 8px; padding: 10px; border-radius: 8px; color: #61766e; }
.format-console-body > aside > span.active { background: #fff; color: #2f5b4e; box-shadow: 0 6px 17px rgba(23,52,47,.08); }
.format-console-body > aside svg { width: 16px; height: 16px; fill: none; stroke: currentColor; stroke-linecap: round; stroke-linejoin: round; stroke-width: 1.55; }
.format-console-body > aside b { font-size: .58rem; }
.format-console-body > aside i { color: #8a9993; font-size: .46rem; font-style: normal; }
.format-console-body > section { padding: 25px 24px; }
.format-record-head { display: flex; align-items: center; justify-content: space-between; }
.format-record-head small { color: #80918a; font-size: .49rem; font-weight: 800; letter-spacing: .12em; }
.format-record-head i { display: grid; width: 24px; height: 24px; place-items: center; border-radius: 50%; background: #e2f0df; color: #3e7e5e; }
.format-record-head svg { width: 13px; height: 13px; fill: none; stroke: currentColor; stroke-linecap: round; stroke-linejoin: round; stroke-width: 2.1; }
.format-console-body > section h3 { margin-top: 18px; color: #284d43; font-size: 1rem; letter-spacing: -.02em; }
.format-console-body > section > p { margin-top: 3px; color: #80918a; font-size: .59rem; }
.format-console-body dl { display: grid; grid-template-columns: 1fr 1fr; gap: 9px; margin-top: 20px; }
.format-console-body dl > div { display: grid; gap: 5px; padding: 12px; border: 1px solid #dfe7e1; border-radius: 9px; background: #fafcfa; }
.format-console-body dt { color: #87968f; font-size: .46rem; font-weight: 750; text-transform: uppercase; }
.format-console-body dd { color: #3c5e54; font-size: .59rem; font-weight: 700; }
.format-record-output { display: grid; grid-template-columns: 1fr 1fr; gap: 9px; margin-top: 12px; }
.format-record-output span { display: flex; align-items: center; gap: 7px; padding: 11px; border-radius: 9px; background: #e8f1e5; color: #3d6b5a; }
.format-record-output span:nth-child(2) { background: #f5e7d7; color: #8c5e3a; }
.format-record-output svg { width: 15px; height: 15px; fill: none; stroke: currentColor; stroke-linecap: round; stroke-linejoin: round; stroke-width: 1.6; }
.format-record-output b { font-size: .53rem; }
.format-console > footer { display: flex; min-height: 46px; align-items: center; justify-content: space-between; gap: 20px; padding: 0 18px; border-top: 1px solid #dfe7e1; background: #fbfcfa; color: #61766e; font-size: .53rem; }
.format-console > footer > span { display: flex; align-items: center; gap: 7px; font-weight: 670; }
.format-console > footer > span i { width: 7px; height: 7px; border-radius: 50%; background: var(--m-leaf-bright); }
.format-console > footer > small { display: flex; align-items: center; gap: 6px; color: #7c8e87; font-size: .51rem; }
.format-console > footer svg { width: 13px; height: 13px; fill: none; stroke: currentColor; stroke-linecap: round; stroke-linejoin: round; stroke-width: 1.7; }

.format-comparison { background: var(--m-paper); }
.marketing-heading-split { display: grid; max-width: none; grid-template-columns: 1fr .75fr; align-items: end; gap: 80px; }
.marketing-heading-split > p { padding-bottom: 8px; }
.format-table-wrap { overflow: auto; border: 1px solid #cddbd2; border-radius: 18px; background: #fff; box-shadow: 0 18px 45px rgba(20,57,48,.08); }
.format-table-wrap table { width: 100%; min-width: 820px; border-collapse: collapse; text-align: left; }
.format-table-wrap th,
.format-table-wrap td { padding: 20px 22px; border-bottom: 1px solid #e1e8e2; vertical-align: top; }
.format-table-wrap thead th { background: var(--m-forest); color: #d7e5df; font-size: .72rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.format-table-wrap thead th:first-child { border-radius: 17px 0 0; }
.format-table-wrap thead th:last-child { border-radius: 0 17px 0 0; }
.format-table-wrap tbody tr:last-child > * { border-bottom: 0; }
.format-table-wrap tbody th { color: #294d43; font-size: .92rem; }
.format-table-wrap tbody td { color: #5b7069; font-size: .88rem; line-height: 1.55; }
.format-table-wrap tbody tr:nth-child(even) { background: #f7faf6; }
.format-status { display: inline-flex; max-width: 190px; padding: 5px 9px; border-radius: 999px; background: #e3f1df; color: #387457; font-size: .7rem; font-weight: 750; line-height: 1.35; }
.visually-hidden { position: absolute !important; width: 1px !important; height: 1px !important; overflow: hidden !important; clip: rect(0 0 0 0) !important; white-space: nowrap !important; }

.format-truth { background: var(--m-forest-deep); color: #fff; }
.format-truth .marketing-shell { display: grid; grid-template-columns: 95px 1fr; align-items: start; gap: 35px; }
.format-truth .marketing-shell > div:first-child { display: grid; width: 82px; height: 82px; place-items: center; border: 1px solid rgba(255,255,255,.18); border-radius: 25px; background: rgba(255,255,255,.07); color: var(--m-lime); }
.format-truth svg { width: 40px; height: 40px; fill: none; stroke: currentColor; stroke-linecap: round; stroke-linejoin: round; stroke-width: 1.5; }
.format-truth h2 { color: #fff; font-size: clamp(2.35rem,4vw,3.5rem); line-height: 1.06; }
.format-truth p { max-width: 800px; margin-top: 20px; color: #bfd0ca; font-size: 1.02rem; }

/* Trust */
.trust-hero { background: radial-gradient(circle at 80% 50%, #275b503d, transparent 31%), var(--m-forest-deep); color: #fff; }
.trust-hero h1 { color: #fff; }
.trust-hero .interior-hero-copy > p { color: #bfd0ca; }
.trust-hero .marketing-kicker { color: #a9d9c5; }
.trust-access-panel { overflow: hidden; border: 1px solid rgba(255,255,255,.2); border-radius: 19px; background: #fbfdfb; color: var(--m-ink); box-shadow: 0 35px 80px rgba(0,0,0,.28); }
.trust-access-panel > header { display: flex; height: 52px; align-items: center; justify-content: space-between; padding: 0 19px; border-bottom: 1px solid #dce5df; background: #f1f5f1; }
.trust-access-panel > header span { display: flex; align-items: center; gap: 9px; color: #31594d; font-size: .69rem; font-weight: 750; }
.trust-access-panel > header svg { width: 18px; height: 18px; fill: none; stroke: var(--m-leaf); stroke-linecap: round; stroke-linejoin: round; stroke-width: 1.7; }
.trust-access-panel > header em { padding: 5px 8px; border-radius: 999px; background: #e1efde; color: #397359; font-size: .47rem; font-style: normal; font-weight: 800; letter-spacing: .09em; }
.trust-org-row { display: grid; grid-template-columns: 42px 1fr auto; align-items: center; gap: 12px; margin: 18px 18px 14px; padding: 15px 16px; border: 1px solid #d9e3dc; border-radius: 11px; background: #f8faf7; }
.trust-org-row > i { display: grid; width: 39px; height: 39px; place-items: center; border-radius: 10px; background: var(--m-forest); color: var(--m-lime); }
.trust-org-row > i svg { width: 19px; height: 19px; fill: none; stroke: currentColor; stroke-linecap: round; stroke-linejoin: round; stroke-width: 1.55; }
.trust-org-row > span { display: grid; gap: 2px; }
.trust-org-row small { color: #84948d; font-size: .46rem; font-weight: 800; letter-spacing: .11em; }
.trust-org-row b { color: #31564c; font-size: .68rem; }
.trust-org-row > em { display: flex; align-items: center; gap: 6px; color: #507565; font-size: .52rem; font-style: normal; font-weight: 700; }
.trust-org-row > em svg { width: 13px; height: 13px; fill: none; stroke: currentColor; stroke-linecap: round; stroke-linejoin: round; stroke-width: 1.8; }
.trust-matrix { margin: 0 18px 17px; overflow: hidden; border: 1px solid #dce5df; border-radius: 11px; }
.trust-matrix > div { display: grid; grid-template-columns: 1.05fr 1fr .65fr; align-items: center; gap: 10px; min-height: 47px; padding: 0 13px; border-bottom: 1px solid #e5ebe6; }
.trust-matrix > div:last-child { border-bottom: 0; }
.trust-matrix > div:nth-child(odd):not(.trust-matrix-head) { background: #f8faf7; }
.trust-matrix .trust-matrix-head { min-height: 34px; background: #f0f4f0; color: #83928c; font-size: .45rem; font-weight: 800; letter-spacing: .1em; }
.trust-matrix b { color: #35584e; font-size: .59rem; }
.trust-matrix span { color: #6c7e77; font-size: .56rem; }
.trust-matrix em { justify-self: start; padding: 4px 7px; border-radius: 999px; background: #e4efe1; color: #41735b; font-size: .48rem; font-style: normal; font-weight: 730; }
.trust-access-panel > footer { display: flex; align-items: center; gap: 22px; padding: 14px 19px; border-top: 1px solid #dce5df; background: #f7f9f6; color: #5f746c; font-size: .52rem; font-weight: 670; }
.trust-access-panel > footer span { display: flex; align-items: center; gap: 7px; }
.trust-access-panel > footer svg { width: 14px; height: 14px; fill: none; stroke: var(--m-leaf); stroke-linecap: round; stroke-linejoin: round; stroke-width: 1.9; }

.trust-controls { background: var(--m-paper); }
.trust-control-list { border-top: 1px solid #c9d6ce; }
.trust-control-list article { display: grid; grid-template-columns: 55px 58px .7fr 1.3fr; align-items: center; gap: 25px; padding: 30px 0; border-bottom: 1px solid #c9d6ce; }
.trust-control-list article > span { color: #8da097; font-size: .71rem; font-weight: 750; }
.trust-control-list article > i { display: grid; width: 47px; height: 47px; place-items: center; border-radius: 14px; background: var(--m-mint); color: var(--m-leaf); }
.trust-control-list article:nth-child(even) > i { background: #f6e5d3; color: #a66a3f; }
.trust-control-list svg { width: 22px; height: 22px; fill: none; stroke: currentColor; stroke-linecap: round; stroke-linejoin: round; stroke-width: 1.6; }
.trust-control-list h3 { color: var(--m-forest-deep); font-family: var(--m-display-font); font-size: 1.45rem; font-weight: 700; letter-spacing: -.035em; }
.trust-control-list p { color: var(--m-ink-soft); font-size: .95rem; }

.trust-accessibility { background: var(--m-mint-light); }
.trust-accessibility-grid { display: grid; grid-template-columns: .9fr 1.1fr; align-items: center; gap: 85px; }
.trust-accessibility h2 { font-size: clamp(2.45rem,4vw,3.6rem); line-height: 1.06; }
.trust-accessibility-grid > div > p { margin-top: 23px; color: var(--m-ink-soft); font-size: 1.02rem; }
.trust-accessibility ul { display: grid; gap: 12px; padding: 0; list-style: none; }
.trust-accessibility li { display: grid; grid-template-columns: 48px 1fr; align-items: center; gap: 16px; padding: 17px 19px; border: 1px solid #d1ded4; border-radius: 14px; background: rgba(255,255,255,.75); }
.trust-accessibility li > svg { width: 24px; height: 24px; justify-self: center; fill: none; stroke: var(--m-leaf); stroke-linecap: round; stroke-linejoin: round; stroke-width: 1.6; }
.trust-accessibility li span { display: grid; gap: 2px; }
.trust-accessibility li b { color: #31564b; font-size: .9rem; }
.trust-accessibility li small { color: #6b7f77; font-size: .82rem; }

.trust-foundation { background: #e7edd9; }
.trust-foundation .marketing-shell { display: grid; grid-template-columns: .82fr 1.18fr; gap: 80px; }
.trust-foundation h2 { font-size: clamp(2.2rem,3.6vw,3.25rem); line-height: 1.07; }
.trust-foundation p { align-self: end; padding-bottom: 7px; color: var(--m-ink-soft); font-size: 1.02rem; line-height: 1.7; }

/* Footer */
.marketing-footer { padding: 66px 0 30px; background: #092925; color: #fff; }
.marketing-footer-main { display: flex; align-items: flex-start; justify-content: space-between; gap: 45px; }
.marketing-footer .marketing-logo { color: #fff; }
.marketing-footer-main > div > p { margin-top: 12px; color: #9bb3ab; font-size: .89rem; }
.marketing-footer nav { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 13px 28px; max-width: 650px; }
.marketing-footer nav a { color: #bfd0ca; font-size: .84rem; font-weight: 620; text-decoration: none; }
.marketing-footer nav a:hover { color: var(--m-lime); text-decoration: underline; text-underline-offset: 5px; }
.marketing-footer-bottom { display: flex; justify-content: space-between; gap: 25px; margin-top: 46px; padding-top: 22px; border-top: 1px solid rgba(255,255,255,.14); color: #78948b; font-size: .76rem; }

.marketing-site a:focus-visible,
.marketing-site summary:focus-visible { outline: 3px solid var(--m-orange); outline-offset: 4px; border-radius: 5px; }

@media (max-width: 1080px) {
  .marketing-nav { gap: 18px; }
  .marketing-header-inner { gap: 20px; }
  .home-hero-grid { grid-template-columns: .85fr 1.15fr; gap: 36px; }
  .product-window-body { grid-template-columns: 135px 1fr; }
  .product-window-body > section { padding-inline: 18px; }
  .home-fit .marketing-shell > div { gap: 12px; }
  .platform-feature { gap: 60px; }
  .use-case-list li { grid-template-columns: minmax(280px,.75fr) minmax(0,1.25fr); gap: 32px; }
  .use-case-list dl { gap: 14px; }
}

@media (max-width: 940px) {
  .marketing-shell { width: min(100% - 44px, 1200px); }
  .marketing-nav,
  .marketing-header-actions { display: none; }
  .marketing-header-inner { grid-template-columns: 1fr auto; }
  .marketing-mobile-menu { position: relative; display: block; }
  .marketing-mobile-menu summary { display: grid; width: 42px; height: 42px; place-content: center; gap: 5px; border: 1px solid #cbd8d0; border-radius: 10px; cursor: pointer; list-style: none; }
  .marketing-mobile-menu summary::-webkit-details-marker { display: none; }
  .marketing-mobile-menu summary span { width: 19px; height: 2px; border-radius: 2px; background: var(--m-forest); }
  .marketing-mobile-menu nav { position: absolute; top: 51px; right: 0; display: grid; width: min(320px, calc(100vw - 44px)); overflow: hidden; border: 1px solid #d1dcd5; border-radius: 14px; background: #fff; box-shadow: var(--m-shadow); }
  .marketing-mobile-menu nav a { padding: 13px 18px; border-bottom: 1px solid #e4eae5; color: #36574f; font-size: .92rem; font-weight: 650; text-decoration: none; }
  .marketing-mobile-menu nav a:last-child { border-bottom: 0; background: var(--m-forest); color: #fff; }
  .marketing-mobile-menu nav a[aria-current="page"] { background: var(--m-mint); color: var(--m-forest); }
  .home-hero { min-height: 0; padding-top: 70px; }
  .home-hero-grid { grid-template-columns: 1fr; gap: 65px; }
  .home-hero-copy { max-width: 720px; }
  .home-hero-copy h1 { font-size: clamp(3.4rem,9vw,5.4rem); }
  .home-hero-visual { width: min(690px, 100%); margin: 0 auto; }
  .home-fit .marketing-shell { flex-direction: column; align-items: flex-start; justify-content: center; padding: 26px 0; }
  .home-fit .marketing-shell > div { flex-wrap: wrap; }
  .home-grow-grid,
  .home-formats-inner,
  .interior-hero-grid,
  .assignment-shape-grid,
  .trust-accessibility-grid,
  .trust-foundation .marketing-shell { grid-template-columns: 1fr; }
  .home-grow-visual { width: min(650px,100%); }
  .home-grow-grid { gap: 60px; }
  .home-formats-inner { gap: 55px; }
  .interior-hero-grid { min-height: 0; gap: 45px; padding-top: 80px; padding-bottom: 80px; }
  .interior-hero h1 { min-height: 0; }
  .platform-dashboard { width: min(620px,100%); justify-self: center; margin-inline: auto; }
  .use-case-board,
  .format-console,
  .trust-access-panel { width: min(620px,100%); justify-self: center; margin-inline: auto; }
  .platform-feature { grid-template-columns: 1fr; gap: 45px; padding: 75px 0; }
  .platform-feature.is-reversed .platform-feature-copy,
  .platform-feature.is-reversed .platform-feature-visual { order: initial; }
  .platform-feature-visual { min-height: 400px; }
  .platform-roles .marketing-shell { grid-template-columns: 1fr; gap: 45px; }
  .use-case-list li { grid-template-columns: 1fr; gap: 31px; }
  .assignment-shape-grid { gap: 55px; }
  .marketing-heading-split { grid-template-columns: 1fr; gap: 10px; }
  .trust-accessibility-grid,
  .trust-foundation .marketing-shell { gap: 55px; }
}

@media (max-width: 720px) {
  .marketing-shell { width: min(100% - 36px, 1200px); }
  .marketing-section { padding: 78px 0; }
  .marketing-header-inner { min-height: 70px; }
  .marketing-logo .marketing-mark { width: 35px; height: 35px; }
  .marketing-logo > span { font-size: 1.16rem; }
  .marketing-kicker { font-size: .76rem; letter-spacing: .085em; }
  .home-hero { padding: 62px 0 70px; }
  .home-hero-copy h1,
  .interior-hero h1 { font-size: clamp(2.8rem,13vw,4rem); }
  .home-hero-copy > p,
  .interior-hero-copy > p { font-size: 1.03rem; }
  .home-product-window { transform: none; }
  .product-window-body { min-height: 390px; grid-template-columns: 93px 1fr; }
  .product-window-body aside { padding-inline: 8px; }
  .product-mini-logo { padding: 0; }
  .product-mini-logo b { display: none; }
  .product-side-label { font-size: .39rem; }
  .product-side-item { padding: 8px 6px; }
  .product-side-item span { font-size: .52rem; }
  .product-window-body > section { padding: 18px 13px; }
  .product-progress { padding: 15px; }
  .product-progress-ring { width: 57px; height: 57px; flex-basis: 57px; }
  .product-progress-ring::before { width: 44px; height: 44px; }
  .product-course-list > div { grid-template-columns: 27px 1fr; padding: 10px; }
  .product-course-list em { display: none; }
  .product-window-toast { right: 10px; bottom: -24px; }
  .home-fit .marketing-shell > div { display: grid; grid-template-columns: 1fr 1fr; }
  .home-steps { grid-template-columns: 1fr; gap: 42px; }
  .home-steps li { padding: 32px 0 0; }
  .home-steps li:not(:last-child)::after { display: none; }
  .home-steps p { max-width: 540px; }
  .home-grow-visual { min-height: 380px; padding: 47px 22px; border-radius: 27px; }
  .grow-root { max-width: 275px; }
  .grow-branches { gap: 7px; }
  .format-pills { padding: 42px 22px; }
  .format-pills span:nth-child(n) { transform: none; }
  .marketing-closing h2 { font-size: clamp(2.45rem,11vw,3.5rem); }
  .platform-dashboard { height: 405px; }
  .platform-dashboard-body { height: 354px; grid-template-columns: 112px minmax(0,1fr); }
  .platform-dashboard-body > section { padding-inline: 16px; }
  .platform-intro .marketing-shell { grid-template-columns: 1fr; gap: 8px; padding: 25px 0; }
  .platform-feature { padding: 62px 0; }
  .platform-feature-visual { min-height: 340px; border-radius: 22px; }
  .feature-catalog,
  .feature-people,
  .feature-path,
  .feature-report { width: calc(100% - 34px); }
  .platform-roles dl > div { grid-template-columns: 125px 1fr; gap: 20px; }
  .use-case-board,
  .format-console,
  .trust-access-panel { border-radius: 15px; }
  .use-case-list li { grid-template-columns: 1fr; gap: 27px; padding: 40px 0; }
  .use-case-list dl { grid-template-columns: 1fr; gap: 20px; }
  .use-case-title h3 { font-size: 1.72rem; }
  .assignment-rule { gap: 20px; padding: 22px; }
  .assignment-rule-flow { grid-template-columns: 1fr; gap: 9px; }
  .assignment-rule-step { min-height: 92px; }
  .assignment-rule-flow > i { justify-self: center; transform: rotate(90deg); }
  .assignment-rule-footer { align-items: flex-start; flex-direction: column; gap: 6px; }
  .format-console-body { grid-template-columns: 1fr; }
  .format-console-body > aside { grid-template-columns: repeat(3,minmax(0,1fr)); padding: 14px; border-right: 0; border-bottom: 1px solid #dfe7e1; }
  .format-console-body > aside > small { grid-column: 1/-1; margin: 0 4px 4px; }
  .format-console-body > aside > span { grid-template-columns: 20px 1fr; min-width: 0; padding: 9px 7px; }
  .format-console-body > aside b { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
  .format-console-body > aside i { display: none; }
  .format-truth .marketing-shell { grid-template-columns: 1fr; }
  .trust-control-list article { grid-template-columns: 38px 48px 1fr; gap: 14px; }
  .trust-control-list article p { grid-column: 3; }
  .trust-control-list h3 { font-size: 1.35rem; }
  .marketing-footer-main { flex-direction: column; }
  .marketing-footer nav { justify-content: flex-start; }
}

@media (max-width: 480px) {
  .marketing-shell { width: min(100% - 28px, 1200px); }
  .marketing-actions { align-items: flex-start; flex-direction: column; gap: 20px; }
  .marketing-button { width: 100%; }
  .home-promise-list { display: grid; }
  .product-window-body { grid-template-columns: 70px 1fr; }
  .product-side-item { justify-content: center; }
  .product-side-item span,
  .product-side-label { display: none; }
  .product-window-toast { min-width: 170px; }
  .home-fit .marketing-shell > div { grid-template-columns: 1fr; }
  .home-grow-visual { min-height: 350px; }
  .grow-branches b { font-size: .56rem; text-align: center; }
  .platform-dashboard { height: 382px; }
  .platform-dashboard-body { height: 331px; grid-template-columns: 62px minmax(0,1fr); }
  .platform-dashboard-brand { justify-content: center; padding-inline: 0; }
  .platform-dashboard-brand b,
  .platform-dashboard-body > aside > span b { display: none; }
  .platform-dashboard-body > aside > span { display: grid; grid-template-columns: 1fr; place-items: center; padding-inline: 0; }
  .platform-dashboard-body > section { padding: 15px 11px 11px; }
  .platform-dashboard-metrics { gap: 5px; margin-top: 12px; }
  .platform-dashboard-metrics > div { min-height: 62px; padding-inline: 7px; }
  .platform-dashboard-metrics small { font-size: .49rem; }
  .platform-dashboard-list { margin-top: 12px; }
  .platform-dashboard-list > div { grid-template-columns: 29px minmax(0,1fr); }
  .platform-dashboard-list > div > em { display: none; }
  .platform-dashboard-body > section > footer small { display: none; }
  .platform-feature-visual { min-height: 315px; }
  .feature-report { grid-template-columns: 1fr; }
  .feature-report > div { padding: 0 0 18px; border-right: 0; border-bottom: 1px solid #e0e6d8; }
  .platform-roles dl > div { grid-template-columns: 1fr; gap: 7px; }
  .case-board-summary > div { display: none; }
  .case-board-list > div { grid-template-columns: 37px 1fr; }
  .case-board-list > div > em { display: none; }
  .use-case-board > footer { align-items: flex-start; flex-direction: column; gap: 4px; }
  .use-case-list li { grid-template-columns: 1fr; }
  .format-console > header em { display: none; }
  .format-console-body > aside { grid-template-columns: 1fr; }
  .format-console-body > aside > small { grid-column: 1; }
  .format-console-body dl,
  .format-record-output { grid-template-columns: 1fr; }
  .format-console > footer { align-items: flex-start; flex-direction: column; gap: 5px; padding-top: 11px; padding-bottom: 11px; }
  .trust-org-row { grid-template-columns: 39px 1fr; }
  .trust-org-row > em { display: none; }
  .trust-matrix > div { grid-template-columns: 1fr .9fr .65fr; padding-inline: 9px; }
  .trust-access-panel > footer { align-items: flex-start; flex-direction: column; gap: 6px; }
  .trust-control-list article { grid-template-columns: 40px 1fr; }
  .trust-control-list article > span { display: none; }
  .trust-control-list article p { grid-column: 2; }
  .trust-control-list article > i { grid-row: 1/3; align-self: start; }
  .trust-accessibility li { grid-template-columns: 36px 1fr; padding-inline: 14px; }
  .marketing-footer nav { display: grid; grid-template-columns: 1fr 1fr; width: 100%; }
  .marketing-footer-bottom { flex-direction: column; gap: 7px; }
}

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