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

.flow-section,
.modules-section,
.internal-section,
.roles-section,
.faq-section {
  padding-block: 112px;
}

.section-intro {
  display: grid;
  grid-template-columns: minmax(0, 1.05fr) minmax(0, .85fr);
  align-items: end;
  gap: 80px;
  margin-bottom: 58px;
}

.section-intro h2,
.internal-intro h2,
.faq-intro h2,
.proposal-inner h2 {
  margin: 0;
  color: var(--ink-950);
  font-family: "Afacad", "Outfit", sans-serif;
  font-size: clamp(40px, 4vw, 60px);
  font-weight: 700;
  letter-spacing: -.035em;
  line-height: 1.02;
}

.section-intro p,
.internal-intro p,
.faq-intro p {
  max-width: 490px;
  margin: 0;
  color: var(--ink-700);
  font-size: 18px;
  line-height: 1.65;
}

.flow-section {
  background: var(--white);
}

.flow-steps {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 32px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.flow-steps li {
  position: relative;
  min-height: 216px;
  padding-top: 26px;
  border-top: 2px solid #cfe0ee;
}

.flow-steps li::before {
  position: absolute;
  top: -5px;
  left: 0;
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: var(--blue-500);
  content: "";
}

.flow-number {
  color: var(--blue-700);
  font-size: 13px;
  font-weight: 700;
  letter-spacing: .08em;
}

.flow-steps h3 {
  margin: 26px 0 8px;
  color: var(--ink-950);
  font-family: "Afacad", "Outfit", sans-serif;
  font-size: 27px;
  line-height: 1.1;
}

.flow-steps p {
  margin: 0;
  color: var(--ink-700);
  font-size: 15px;
  line-height: 1.55;
}

.modules-section {
  padding-top: 108px;
  padding-bottom: 96px;
  background: #f9fbfc;
}

.section-intro--modules {
  align-items: start;
  margin-bottom: 20px;
}

.section-intro--modules h2 { max-width: 680px; }

.demo-note {
  display: inline-block;
  margin: 0 0 54px;
  padding: 9px 14px;
  border: 1px solid #d5e5f0;
  border-radius: 999px;
  background: #eff6fb;
  color: #345e82;
  font-size: 13px;
  font-weight: 600;
}

.module-feature {
  display: grid;
  grid-template-columns: minmax(0, .82fr) minmax(0, 1.18fr);
  align-items: center;
  gap: 72px;
  padding: 96px 0;
  border-top: 1px solid #d9e3eb;
}

.module-feature:last-child { padding-bottom: 0; }
.module-feature--reverse { grid-template-columns: minmax(0, 1.18fr) minmax(0, .82fr); }
.module-feature--reverse .module-copy { order: 2; }
.module-feature--reverse .product-screen { order: 1; }

.module-copy { max-width: 500px; }
.module-feature--reverse .module-copy { justify-self: end; }

.module-copy h3 {
  margin: 0 0 18px;
  color: var(--ink-950);
  font-family: "Afacad", "Outfit", sans-serif;
  font-size: clamp(38px, 3.5vw, 52px);
  font-weight: 700;
  letter-spacing: -.03em;
  line-height: 1.02;
}

.module-copy p {
  color: var(--ink-700);
  font-size: 16px;
  line-height: 1.65;
}

.module-copy .module-lead {
  margin: 0 0 18px;
  color: var(--ink-900);
  font-size: 21px;
  font-weight: 600;
  line-height: 1.4;
}

.module-use {
  margin: 28px 0;
  padding: 2px 0 1px 21px;
  border-left: 2px solid var(--blue-500);
}

.module-use strong {
  color: var(--blue-700);
  font-size: 14px;
  font-weight: 700;
}

.module-use p { margin: 5px 0 0; }

.module-copy .module-limit {
  margin: 0;
  padding-top: 17px;
  border-top: 1px solid #d9e3eb;
  color: #4c5966;
  font-size: 14px;
}

.product-screen {
  position: relative;
  width: 100%;
  height: clamp(365px, 31vw, 430px);
  min-width: 0;
  margin: 0;
  overflow: hidden;
  border: 1px solid #d7e4ed;
  border-radius: 14px;
  background: var(--white);
  box-shadow: 0 18px 40px rgba(20, 48, 72, .10);
}

.product-screen figcaption {
  position: absolute;
  right: 12px;
  bottom: 12px;
  z-index: 3;
  padding: 6px 10px;
  border: 1px solid #dce8ef;
  border-radius: 5px;
  background: rgba(255, 255, 255, .96);
  color: #566472;
  font-size: 11px;
  font-weight: 500;
  line-height: 1.2;
}

.screen-top {
  height: 49px;
  display: flex;
  align-items: center;
  gap: 18px;
  padding: 0 19px;
  border-bottom: 1px solid #e1e9ef;
  background: var(--rt-s-color-surface);
  color: #6a7784;
  font-size: 11px;
  font-weight: 500;
}

.screen-brand {
  color: var(--blue-700);
  font-size: 17px;
  font-weight: 800;
  letter-spacing: -.05em;
}

.screen-top-dot {
  width: 21px;
  height: 21px;
  margin-left: auto;
  border: 1px solid #bed3e3;
  border-radius: 50%;
  background: #e7f0f7;
}

.screen-heading {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
}

.screen-heading strong,
.simulator-results > strong,
.registry-estimate > strong,
.carousel-editor > strong {
  display: block;
  color: var(--ink-950);
  font-size: 15px;
  font-weight: 700;
}

.screen-heading small {
  display: block;
  margin-top: 2px;
  color: #536b7d;
  font-size: 11px;
}

.screen-pill {
  flex: 0 0 auto;
  padding: 5px 9px;
  border-radius: 999px;
  background: #e7f1f8;
  color: #2b5e87;
  font-size: 10px;
  font-weight: 600;
  white-space: nowrap;
}

.radar-screen-body,
.market-screen-body,
.follow-screen-body,
.enterprise-screen-body,
.carousel-screen-body,
.simulator-screen-body,
.registry-screen-body,
.tools-screen-body {
  height: calc(100% - 49px);
}

.radar-screen-body {
  display: grid;
  grid-template-columns: 36% 64%;
  gap: 18px;
  padding: 18px 36px 18px 25px;
  background: #eef5fa;
}

.radar-phone {
  display: flex;
  flex-direction: column;
  overflow: hidden;
  border: 4px solid #183c5c;
  border-radius: 18px;
  background: var(--rt-s-color-surface);
  box-shadow: 0 12px 24px rgba(22, 58, 88, .16);
}

.phone-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 16px 12px 9px;
  color: var(--ink-950);
  font-size: 12px;
  font-weight: 700;
}

.phone-signal { color: var(--blue-500); font-size: 7px; letter-spacing: 2px; }

.photo-placeholder {
  flex: 1 1 auto;
  display: grid;
  place-content: center;
  justify-items: center;
  gap: 5px;
  margin: 0 10px 9px;
  border: 1px dashed #b4cddd;
  border-radius: 8px;
  background: #e7eff5;
  color: #537899;
  font-size: 10px;
}

.photo-placeholder svg {
  width: 34px;
  height: 28px;
  fill: #99bad2;
}

.phone-field {
  margin: 0 10px 8px;
  padding: 7px 8px;
  border: 1px solid #dce5ec;
  border-radius: 5px;
  line-height: 1.2;
}

.phone-field span,
.phone-field strong { display: block; }
.phone-field span { color: #667b8c; font-size: 9px; }
.phone-field strong { margin-top: 4px; color: #304658; font-size: 10px; }

.phone-queue {
  padding: 8px;
  background: #dcebf6;
  color: #245c88;
  font-size: 10px;
  font-weight: 700;
  text-align: center;
}

.radar-review {
  min-width: 0;
  padding-top: 12px;
}

.review-row {
  display: flex;
  align-items: center;
  gap: 11px;
  margin-top: 12px;
  padding: 10px;
  border: 1px solid #dce7ee;
  border-radius: 7px;
  background: var(--rt-s-color-surface);
}

.review-thumb {
  width: 52px;
  height: 48px;
  flex: 0 0 auto;
  border-radius: 4px;
  background: #d9e2e8;
}

.review-row strong,
.review-row small {
  display: block;
  white-space: nowrap;
}

.review-row strong { color: #253949; font-size: 11px; }
.review-row small { color: #566d7d; font-size: 10px; }

.review-row em {
  margin-left: auto;
  color: #2f628c;
  font-size: 10px;
  font-style: normal;
  font-weight: 600;
  white-space: nowrap;
}

.review-timeline {
  display: flex;
  justify-content: space-between;
  gap: 4px;
  margin-top: 24px;
  padding-top: 11px;
  border-top: 2px solid #b5d7ee;
  color: #55718a;
  font-size: 9px;
}

.market-screen-body {
  display: grid;
  grid-template-columns: 47% 53%;
  background: #f7fbfd;
}

.market-panel { padding: 24px 20px; }
.market-filters { display: flex; gap: 7px; margin: 26px 0 18px; }
.market-filters span {
  width: 50%;
  padding: 9px 8px;
  border: 1px solid #d9e4ec;
  border-radius: 6px;
  background: var(--rt-s-color-surface);
  color: #617287;
  font-size: 10px;
}

.market-bar {
  display: grid;
  grid-template-columns: 105px minmax(0, 1fr);
  align-items: center;
  gap: 8px;
  margin: 14px 0;
  color: #4f6070;
  font-size: 10px;
}

.market-bar i,
.sim-result i {
  display: block;
  width: var(--bar);
  height: 12px;
  border-radius: 4px;
  background: #5da1d6;
}

.market-bar:nth-child(4) i { background: #86b8df; }
.market-bar:nth-child(5) i { background: #accfe8; }
.market-panel p { margin: 26px 0 0; color: #60758a; font-size: 10px; }

.market-map { position: relative; overflow: hidden; }
.market-map img { width: 100%; height: 100%; object-fit: cover; }
.market-map > span {
  position: absolute;
  right: 12px;
  top: 12px;
  padding: 6px 8px;
  border-radius: 5px;
  background: var(--rt-s-color-surface);
  color: #345b7d;
  font-size: 10px;
  font-weight: 600;
  box-shadow: 0 4px 12px rgba(34, 63, 85, .1);
}

.follow-screen-body { padding: 23px 24px; background: #f8fbfd; }
.follow-table { margin-top: 23px; border: 1px solid #dce7ef; border-radius: 8px; overflow: hidden; background: var(--rt-s-color-surface); }
.follow-row {
  display: grid;
  grid-template-columns: 1.25fr 1fr 1fr 1.1fr;
  gap: 12px;
  align-items: center;
  min-height: 58px;
  padding: 10px 14px;
  border-top: 1px solid #e4ebf0;
  color: #556a7a;
  font-size: 11px;
}

.follow-row:first-child { border-top: 0; }
.follow-row--head { min-height: 39px; background: #eff5f9; color: #49667e; font-size: 10px; font-weight: 700; }
.follow-row strong { color: #263b4e; font-size: 11px; }
.follow-row em { color: #2a6697; font-style: normal; font-weight: 600; }
.follow-foot { margin-top: 16px; color: #5a7184; font-size: 10px; }

.enterprise-screen-body { padding: 22px 24px; background: #f8fbfd; }
.enterprise-list { display: grid; grid-template-columns: 1fr 1fr; gap: 15px; margin-top: 22px; }
.enterprise-item { overflow: hidden; border: 1px solid #dae6ee; border-radius: 8px; background: var(--rt-s-color-surface); }
.enterprise-cover { display: block; height: 138px; border-bottom: 1px solid #d9e4ed; background: #d8e7f1; }
.enterprise-cover--one { background: linear-gradient(136deg, #bed7e9 0 43%, #e2edf5 43% 65%, #b3cfe3 65%); }
.enterprise-cover--two { background: linear-gradient(136deg, #cadde9 0 38%, #e8f0f5 38% 71%, #abc8dc 71%); }
.enterprise-item > div { padding: 11px 12px 13px; }
.enterprise-item strong,
.enterprise-item small,
.enterprise-item div span { display: block; }
.enterprise-item strong { color: #25394b; font-size: 12px; }
.enterprise-item small { margin: 4px 0 12px; color: #586c7b; font-size: 10px; }
.enterprise-item div span { color: #2a6697; font-size: 10px; font-weight: 600; }

.carousel-screen-body { display: grid; grid-template-columns: minmax(0, 1fr) 170px; gap: 15px; padding: 25px 21px; background: #f2f7fa; }
.carousel-preview { display: flex; align-items: center; gap: 9px; min-width: 0; }
.carousel-slide {
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  gap: 4px;
  width: 30%;
  height: 67%;
  min-width: 0;
  padding: 10px;
  overflow: hidden;
  border: 1px solid #bdcfdd;
  border-radius: 7px;
  background: #dce8f1;
  color: #244560;
}

.carousel-slide--main { width: 38%; height: 86%; background: #336d9d; color: var(--rt-s-color-action-foreground); box-shadow: 0 11px 26px rgba(34, 65, 88, .16); }
.carousel-image-mark { flex: 1; display: grid; place-items: center; font-size: 38px; opacity: .48; }
.carousel-slide strong { font-size: 11px; line-height: 1.15; }
.carousel-slide small { font-size: 9px; line-height: 1.2; }
.carousel-editor { padding: 16px 13px; border: 1px solid #dce7ee; border-radius: 8px; background: var(--rt-s-color-surface); }
.carousel-editor p { margin: 14px 0 17px; padding: 9px; border: 1px solid #e1e8ed; border-radius: 5px; color: #617285; font-size: 10px; }
.carousel-editor span { display: block; margin-top: 7px; padding: 7px; border: 1px solid #c9dce9; border-radius: 5px; color: #2f628a; font-size: 10px; font-weight: 600; text-align: center; }

.simulator-screen-body,
.registry-screen-body { display: grid; grid-template-columns: 1fr 1fr; gap: 23px; padding: 24px; background: #f8fbfd; }
.simulator-inputs,
.simulator-results,
.registry-form,
.registry-estimate { padding: 16px; border: 1px solid #dce7ef; border-radius: 8px; background: var(--rt-s-color-surface); }
.simulator-inputs label,
.registry-form label { display: block; margin-top: 14px; color: #566f82; font-size: 10px; font-weight: 600; }
.simulator-inputs label span,
.registry-form label span { display: block; margin-top: 4px; padding: 8px; border: 1px solid #dce5ed; border-radius: 5px; color: #708495; font-weight: 400; }
.sim-result { display: grid; grid-template-columns: 46px 1fr; align-items: center; gap: 6px; margin-top: 23px; color: #45627c; font-size: 11px; font-weight: 700; }
.sim-result i { height: 17px; }
.sim-result:nth-child(3) i { background: #a5c8e1; }
.simulator-results p { margin: 34px 0 0; color: #62788a; font-size: 10px; line-height: 1.5; }

.registry-estimate > div { display: flex; justify-content: space-between; gap: 10px; padding: 13px 0; border-bottom: 1px solid #e6edf2; color: #4c6172; font-size: 11px; }
.registry-estimate > div:first-of-type { margin-top: 17px; }
.registry-estimate em { color: #2c678f; font-style: normal; font-weight: 600; }
.registry-estimate small { display: block; margin-top: 20px; color: #607789; font-size: 10px; line-height: 1.45; }

.tools-screen-body { padding: 24px 27px; background: #f8fbfd; }
.tools-screen-body .screen-heading { margin-bottom: 18px; }
.tool-item { display: flex; align-items: center; gap: 13px; min-height: 72px; padding: 10px 14px; border: 1px solid #dde7ee; border-bottom: 0; background: var(--rt-s-color-surface); }
.tool-item:nth-child(2) { border-radius: 8px 8px 0 0; }
.tool-item:last-child { border-bottom: 1px solid #dde7ee; border-radius: 0 0 8px 8px; }
.tool-icon { width: 34px; height: 34px; flex: 0 0 auto; display: grid; place-items: center; border-radius: 6px; background: #e7f1f8; color: #2e709f; font-size: 20px; }
.tool-item strong,
.tool-item small { display: block; }
.tool-item strong { color: #273c4d; font-size: 11px; }
.tool-item small { color: #536b7d; font-size: 10px; }
.tool-item > span:last-child { margin-left: auto; color: #2b6797; font-size: 10px; font-weight: 600; white-space: nowrap; }

.internal-section { background: #edf5fa; }
.internal-intro { display: flex; align-items: start; justify-content: space-between; gap: 30px; }
.internal-intro h2 { max-width: 720px; }
.internal-intro p { max-width: 790px; margin-top: 24px; }
.internal-status { padding: 9px 13px; border: 1px solid #b7d6ec; border-radius: 999px; color: #245b85; font-size: 13px; font-weight: 700; white-space: nowrap; }
.internal-demo-note { margin: 34px 0 27px; color: #557187; font-size: 13px; }
.internal-list { border-top: 1px solid #bed4e4; }
.internal-item { display: grid; grid-template-columns: minmax(0, 1fr) 280px; align-items: center; gap: 80px; padding: 29px 0; border-bottom: 1px solid #bed4e4; }
.internal-item h3 { margin: 0 0 7px; color: var(--ink-950); font-family: "Afacad", "Outfit", sans-serif; font-size: 27px; letter-spacing: -.02em; line-height: 1.1; }
.internal-item p { max-width: 720px; margin: 0; color: #465b6b; font-size: 15px; line-height: 1.65; }
.internal-item p strong { color: #274966; }
.internal-preview { display: grid; gap: 5px; padding: 13px; border: 1px solid #c7dbe9; border-radius: 8px; background: rgba(255,255,255,.82); }
.internal-preview span { display: block; padding: 5px 8px; border-left: 2px solid #89b4d5; background: #f1f7fb; color: #3b5e79; font-size: 11px; }

.roles-section { background: var(--white); }
.roles-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 36px; }
.role { padding: 31px 0 0; border-top: 1px solid #cadce9; }
.role-rule { display: block; width: 55px; height: 4px; margin-top: -33px; background: var(--blue-500); }
.role h3 { margin: 34px 0 12px; color: var(--ink-950); font-family: "Afacad", "Outfit", sans-serif; font-size: 32px; line-height: 1; }
.role p { max-width: 320px; min-height: 78px; margin: 0 0 20px; color: var(--ink-700); font-size: 15px; }
.role a { display: inline-flex; align-items: center; gap: 8px; padding-block: 9px; color: #236ba4; font-size: 15px; font-weight: 700; }
.role a:hover { color: #174f7a; }

.faq-section { background: #f9fbfc; }
.faq-layout { display: grid; grid-template-columns: .8fr 1.2fr; gap: 85px; }
.faq-intro h2 { max-width: 460px; }
.faq-intro p { margin-top: 24px; }
.faq-list { border-top: 1px solid #d5e2ec; }
.faq-list details { border-bottom: 1px solid #d5e2ec; }
.faq-list summary { position: relative; padding: 23px 46px 23px 0; color: var(--ink-950); cursor: pointer; font-size: 17px; font-weight: 600; list-style: none; }
.faq-list summary::-webkit-details-marker { display: none; }
.faq-list summary::after { position: absolute; right: 5px; top: 22px; color: #327eb7; content: "+"; font-size: 23px; font-weight: 400; line-height: 1; }
.faq-list details[open] summary::after { content: "−"; }
.faq-list details p { max-width: 610px; margin: 0 45px 22px 0; color: #505d6a; font-size: 15px; line-height: 1.7; }

.proposal-section { padding-block: 88px; background: var(--rt-s-color-action); }
.proposal-inner { display: grid; grid-template-columns: minmax(0, 1fr) 300px; align-items: center; gap: 95px; }
.proposal-inner h2 { max-width: 760px; color: var(--rt-s-color-action-foreground); }
.proposal-inner > div:first-child p { max-width: 650px; margin: 23px 0 0; color: #dceaf4; font-size: 17px; line-height: 1.65; }
.proposal-actions { text-align: center; }
.proposal-button { width: 100%; gap: 16px; min-height: 56px; background: var(--rt-s-color-surface); color: var(--rt-s-color-action); font-size: 16px; }
.proposal-button:hover { background: var(--rt-s-color-surface-hover); color: var(--rt-s-color-action); }
.proposal-actions p { margin: 11px 0 0; color: #d0e2ee; font-size: 12px; line-height: 1.5; }

.site-footer { padding-top: 64px; background: #112a40; color: #d5e3ee; }
.footer-grid { display: grid; grid-template-columns: 1.5fr 1fr 1fr; gap: 80px; padding-bottom: 66px; }
.brand--footer { gap: 10px; }
.brand--footer .brand-word { color: var(--rt-s-color-action-foreground); font-size: 25px; }
.brand--footer .brand-mark { width: 38px; height: 38px; }
.footer-grid > div > p { max-width: 280px; margin: 19px 0 0; color: #c3d5e1; font-size: 14px; }
.footer-grid nav { display: flex; flex-direction: column; gap: 10px; align-items: flex-start; }
.footer-grid nav strong { margin-bottom: 9px; color: var(--rt-s-color-action-foreground); font-size: 15px; }
.footer-grid nav a { color: #c3d5e1; font-size: 14px; }
.footer-grid nav a:hover { color: var(--rt-s-color-action-foreground); text-decoration: underline; text-underline-offset: 4px; }
.footer-bottom { display: flex; justify-content: space-between; gap: 20px; padding-block: 18px 24px; border-top: 1px solid #37546c; color: #b7cbd9; font-size: 12px; }

@media (max-width: 1100px) {
  .section-intro { gap: 40px; }
  .module-feature,
  .module-feature--reverse { grid-template-columns: 1fr; gap: 38px; padding-block: 76px; }
  .module-feature--reverse .module-copy,
  .module-feature--reverse .product-screen { order: initial; justify-self: stretch; }
  .module-copy { max-width: 720px; }
  .product-screen { max-width: 760px; height: 430px; }
  .faq-layout { gap: 44px; }
}

@media (max-width: 1200px) {
  .hero-stage { height: auto; min-height: 0; padding-bottom: 36px; }
  .site-header { position: relative; inset: auto; height: 68px; }
  .brand--header { left: 20px; width: auto; }
  .menu-toggle { position: absolute; top: 10px; right: 20px; z-index: 2; display: flex; }
  .primary-nav { top: 68px; left: 0; z-index: 10; width: 100%; height: auto; display: none; flex-direction: column; padding: 10px 20px 18px; border-bottom: 1px solid var(--line); background: var(--rt-s-color-surface); box-shadow: 0 16px 25px rgba(20, 48, 72, .1); }
  .primary-nav.is-open { display: flex; }
  .primary-nav a { position: static; width: 100% !important; height: 48px; justify-content: flex-start; }
  .orbit { display: none; }
  .hero-copy { position: relative; inset: auto; width: 100%; margin: 51px auto 0; gap: 0; }
  .hero-title { width: min(760px, calc(100% - 36px)); margin: 0 auto; font-size: clamp(45px, 7vw, 62px); }
  .hero-title > span { white-space: normal; }
  .hero-support { width: min(650px, calc(100% - 44px)); margin: 20px auto 0; }
  .hero-support br { display: none; }
  .hero-cta { width: 224px; height: 54px; display: flex; margin: 27px auto 0; }
  .hero-demo { position: relative; top: auto; left: auto; width: calc(100% - 36px); height: clamp(320px, 52vw, 440px); margin: 45px 18px 0; }
  .demo-disclosure { width: min(260px, 34%); height: auto; min-height: 40px; white-space: normal; font-size: 11px; }
  .hero-anchors { position: relative; inset: auto; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; margin: 23px 18px 0; }
  .hero-anchor { position: relative; top: auto; left: auto; width: auto; height: auto; flex-direction: column; gap: 8px; transform: none !important; font-size: 15px; text-align: center; }
  .anchor-icon { width: 52px; height: 52px; }
  .anchor-icon svg { width: 30px; height: 30px; }
  .anchor-divider { display: none; }
  .section-intro { grid-template-columns: 1fr; gap: 22px; }
  .section-intro p { max-width: 700px; }
  .flow-steps { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .flow-steps li { min-height: 180px; }
  .internal-item { gap: 36px; }
  .faq-layout { grid-template-columns: 1fr; }
  .proposal-inner { grid-template-columns: 1fr; gap: 34px; }
  .proposal-actions { max-width: 340px; }
}

@media (max-width: 700px) {
  .site-container { width: calc(100% - 36px); }
  .flow-section,
  .modules-section,
  .internal-section,
  .roles-section,
  .faq-section { padding-block: 76px; }
  .section-intro { margin-bottom: 39px; }
  .section-intro h2,
  .internal-intro h2,
  .faq-intro h2,
  .proposal-inner h2 { font-size: clamp(37px, 9vw, 52px); }
  .section-intro p,
  .internal-intro p,
  .faq-intro p { font-size: 16px; }
  .hero-copy { margin-top: 43px; }
  .hero-title { font-size: clamp(41px, 9vw, 53px); }
  .hero-support { font-size: 15px; line-height: 1.6; }
  .hero-demo { height: clamp(310px, 65vw, 405px); margin-top: 37px; }
  .demo-list { z-index: 2; top: 28%; left: 12%; width: 68%; height: 79px; }
  .demo-filters,
  .demo-listing-row,
  .demo-listing-copy,
  .demo-bookmark { display: none; }
  .demo-listing-row:nth-child(2) { top: 0; height: 79px; display: block; box-shadow: 0 6px 18px rgba(28, 57, 78, .13); }
  .demo-listing-row .demo-thumbnail { top: 13%; left: 4%; width: 24%; height: 74%; }
  .demo-mobile-record { position: absolute; top: 18%; left: 33%; right: 4%; display: block; color: #253d51; line-height: 1.25; }
  .demo-mobile-record strong,
  .demo-mobile-record small { display: block; }
  .demo-mobile-record strong { font-size: 11px; }
  .demo-mobile-record small { margin-top: 5px; color: #586e7d; font-size: 9px; }
  .demo-map { left: 7.9%; width: 92.1%; }
  .demo-search { left: 52%; width: 33%; }
  .demo-profile { width: 7%; }
  .demo-disclosure { right: 5%; bottom: 5%; width: 58%; height: auto; white-space: normal; font-size: 10px; }
  .flow-steps { gap: 24px; }
  .flow-steps li { min-height: 0; }
  .flow-steps h3 { margin-top: 18px; }
  .module-feature,
  .module-feature--reverse { padding-block: 67px; }
  .module-copy h3 { font-size: 40px; }
  .module-copy .module-lead { font-size: 19px; }
  .module-copy p { font-size: 15px; }
  .product-screen { height: 365px; }
  .internal-intro { display: block; }
  .internal-intro p { margin-top: 19px; }
  .internal-status { display: inline-block; margin-top: 20px; }
  .internal-item { grid-template-columns: 1fr; gap: 20px; }
  .internal-preview { max-width: 440px; }
  .roles-grid { grid-template-columns: 1fr; gap: 38px; }
  .role { padding-top: 26px; }
  .role-rule { margin-top: -28px; }
  .role h3 { margin-top: 27px; }
  .role p { min-height: 0; }
  .proposal-section { padding-block: 70px; }
  .footer-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 38px 24px; padding-bottom: 50px; }
  .footer-grid > div:first-child { grid-column: 1 / -1; }
}

@media (max-width: 480px) {
  .hero-title { width: calc(100% - 28px); font-size: clamp(38px, 10vw, 45px); }
  .hero-demo { height: 320px; }
  .brand--demo .brand-word { font-size: 16px; }
  .brand--demo .brand-mark { width: 23px; height: 23px; }
  .demo-sidebar-icon svg,
  .demo-sidebar-home svg { width: 18px; height: 18px; }
  .demo-disclosure { width: 69%; }
  .flow-steps { grid-template-columns: 1fr; }
  .flow-steps li { padding-top: 18px; }
  .flow-steps h3 { margin: 12px 0 7px; }
  .demo-note { border-radius: 9px; line-height: 1.45; }
  .product-screen { height: 345px; }
  .screen-top { gap: 8px; padding-inline: 11px; font-size: 9px; }
  .screen-heading strong { font-size: 13px; }
  .radar-screen-body { grid-template-columns: 34% 66%; gap: 8px; padding: 9px 15px 9px 9px; }
  .radar-phone { border-width: 3px; border-radius: 12px; }
  .phone-header { padding: 8px 5px 4px; font-size: 10px; }
  .review-panel { padding: 11px 8px; }
  .follow-row { grid-template-columns: 1.2fr 1fr; }
  .follow-row > span:nth-child(n+3),
  .follow-row > em { display: none; }
  .carousel-screen-body { grid-template-columns: 1fr; }
  .carousel-editor { display: none; }
  .simulator-screen,
  .registry-screen { height: 515px; }
  .simulator-screen-body,
  .registry-screen-body { grid-template-columns: 1fr; gap: 10px; padding: 12px; }
  .simulator-results p { margin-top: 12px; }
  .registry-estimate > div:first-of-type { margin-top: 5px; }
  .registry-estimate > div { padding-block: 7px; }
  .registry-estimate small { margin-top: 7px; }
  .tools-screen-body { padding: 17px 13px; }
  .tool-item { min-height: 67px; padding: 8px; gap: 8px; }
  .tool-item > span:last-child { display: none; }
  .footer-grid { grid-template-columns: 1fr; }
  .footer-grid > div:first-child { grid-column: auto; }
  .footer-bottom { flex-direction: column; gap: 5px; }
}

.capture-screen { height: auto; display: flex; flex-direction: column; }
.capture-link { display: block; width: 100%; aspect-ratio: 16 / 10; overflow: hidden; cursor: zoom-in; }
.capture-link img { display: block; width: 100%; height: 100%; object-fit: cover; object-position: center; }
.capture-link:focus-visible { outline: 3px solid var(--blue-500); outline-offset: -4px; }
.capture-screen figcaption { position: static; z-index: auto; display: flex; justify-content: space-between; gap: 10px; width: 100%; padding: 10px 14px; border: 0; border-top: 1px solid #dce8ef; border-radius: 0; box-shadow: none; background: var(--rt-s-color-surface); color: #4f6578; font-size: 12px; text-align: left; }
@media (max-width: 700px) {
  .capture-link { aspect-ratio: 4 / 3; }
  .capture-link img { object-position: 70% center; }
}
@media (max-width: 480px) {
  .capture-link { aspect-ratio: 1.18; }
  .capture-screen figcaption { font-size: 11px; }
}
