:root {
  --paper:#f8fafc;
  --white:#fff;
  --ink:#101a2d;
  --muted:#637187;
  --line:#dce4ed;
  --blue:#176bff;
  --cyan:#00c6d7;
  --orange:#f19a52;
  --night:#101a2d;
  --font-head:'Manrope','Golos Text',sans-serif;
  --font-body:'Golos Text',sans-serif;
  --mono:'IBM Plex Mono',monospace;
  --container:1200px
}
* {
  box-sizing:border-box
}
html {
  scroll-behavior:smooth;
  scroll-padding-top:100px
}
body {
  margin:0;
  background:var(--paper);
  color:var(--ink);
  font-family:var(--font-body);
  font-size:16px;
  line-height:1.55;
  -webkit-font-smoothing:antialiased
}
a {
  color:inherit;
  text-decoration:none
}
button {
  font:inherit
}
.container {
  width:min(var(--container),calc(100% - 64px));
  margin-inline:auto
}
.skip-link {
  position:absolute;
  z-index:1000;
  top:10px;
  left:10px;
  padding:12px 16px;
  transform:translateY(-150%);
  background:var(--ink);
  color:white;
  border-radius:4px
}
.skip-link:focus {
  transform:none
}
.site-header {
  position:sticky;
  z-index:20;
  top:0;
  border-bottom:1px solid rgba(16,26,45,.09);
  background:rgba(248,250,252,.93);
  backdrop-filter:blur(14px)
}
.nav-wrap {
  height:76px;
  display:flex;
  align-items:center;
  justify-content:space-between
}
.brand {
  display:inline-flex;
  align-items:center;
  gap:10px;
  font:800 20px var(--font-head);
  letter-spacing:-1.1px
}
.brand img {
  width:38px;
  height:38px
}
.brand-sonar {
  color:var(--blue)
}
.primary-nav {
  display:flex;
  align-items:center;
  gap:34px;
  font-size:13px;
  color:#46556b
}
.primary-nav>a:not(.nav-cta):hover {
  color:var(--blue)
}
.nav-cta {
  padding:11px 15px;
  border:1px solid #cbd6e3;
  border-radius:3px;
  color:var(--ink);
  font-size:12px;
  font-weight:600;
  transition:background .2s,color .2s,border-color .2s
}
.nav-cta span {
  color:var(--blue);
  margin-left:12px
}
.nav-cta:hover {
  background:var(--ink);
  border-color:var(--ink);
  color:white
}
.menu-toggle {
  display:none
}
.hero {
  position:relative;
  overflow:hidden;
  padding:78px 0 28px;
  background:radial-gradient(ellipse at 78% 48%,rgba(23,107,255,.055),transparent 38%),var(--paper)
}
.hero-grid {
  display:grid;
  grid-template-columns:minmax(0,1.03fr) minmax(460px,.97fr);
  gap:45px;
  align-items:center;
  min-height:495px
}
.eyebrow {
  display:flex;
  align-items:center;
  gap:10px;
  margin:0 0 25px;
  font:500 10px var(--mono);
  letter-spacing:.13em;
  color:#62738a
}
.eyebrow-dot {
  width:7px;
  height:7px;
  display:inline-block;
  border-radius:50%;
  background:var(--cyan);
  box-shadow:0 0 0 4px rgba(0,198,215,.12)
}
h1,h2,h3,h4,p {
  margin-top:0
}
.hero h1 {
  max-width:680px;
  margin:0 0 25px;
  font:800 clamp(44px,5.2vw,70px)/1.04 var(--font-head);
  letter-spacing:-.065em
}
.hero h1 span,.section-intro h2 span,.benefit-heading h2 span,.final-copy h2 span {
  color:var(--blue)
}
.hero-lede {
  max-width:565px;
  margin:0 0 11px;
  color:#425168;
  font-size:17px;
  line-height:1.62
}
.hero-note {
  max-width:490px;
  margin:0;
  color:#78869a;
  font-size:14px
}
.hero-actions {
  display:flex;
  align-items:center;
  gap:13px;
  margin-top:29px
}
.button {
  min-height:52px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:23px;
  padding:0 19px;
  border-radius:3px;
  font-size:13px;
  font-weight:600;
  transition:transform .2s,background .2s,color .2s,border-color .2s
}
.button span {
  font-size:16px
}
.button:hover {
  transform:translateY(-2px)
}
.button-primary {
  background:var(--blue);
  color:white;
  border:1px solid var(--blue)
}
.button-primary:hover {
  background:#0e58da;
  border-color:#0e58da
}
.button-secondary {
  border:1px solid #cbd5e2;
  background:transparent;
  color:var(--ink)
}
.button-secondary:hover {
  border-color:var(--ink);
  background:white
}
.hero-proof {
  display:flex;
  align-items:center;
  gap:12px;
  margin-top:34px;
  font:400 10px var(--mono);
  letter-spacing:-.02em;
  color:#718096
}
.hero-proof b {
  color:var(--orange);
  font-size:14px
}
.proof-line {
  width:22px;
  height:1px;
  background:var(--orange)
}
.hero-visual {
  position:relative;
  height:432px;
  padding:19px 21px 14px;
  border:1px solid #dce4ed;
  background:rgba(255,255,255,.66);
  box-shadow:0 20px 60px rgba(26,52,88,.055)
}
.visual-topline,.visual-foot {
  display:flex;
  justify-content:space-between;
  align-items:center;
  color:#8a98a9;
  font:500 9px var(--mono);
  letter-spacing:.09em
}
.live-mark {
  display:flex;
  align-items:center;
  gap:7px;
  color:#53627a
}
.live-mark i,.panel-foot i {
  width:6px;
  height:6px;
  border-radius:50%;
  background:#35c9ac
}
.sonar-stage {
  position:relative;
  height:348px;
  margin-top:7px
}
.sonar-rings {
  position:absolute;
  left:50%;
  top:50%;
  width:230px;
  height:230px;
  transform:translate(-50%,-50%);
  border:1px solid rgba(23,107,255,.16);
  border-radius:50%;
  background:repeating-radial-gradient(circle,transparent 0 27px,rgba(23,107,255,.09) 28px 29px);
  box-shadow:0 0 0 28px rgba(23,107,255,.022),0 0 0 57px rgba(23,107,255,.018)
}
.sonar-rings:before,.sonar-rings:after {
  content:"";
  position:absolute;
  inset:22px;
  border:1px dashed rgba(0,198,215,.35);
  border-radius:50%
}
.sonar-rings:after {
  inset:55px;
  border-style:solid;
  border-color:rgba(23,107,255,.22)
}
.sonar-core {
  position:absolute;
  z-index:2;
  inset:50%;
  width:95px;
  height:95px;
  transform:translate(-50%,-50%);
  display:grid;
  place-items:center;
  border:1px solid rgba(23,107,255,.18);
  border-radius:50%;
  background:rgba(255,255,255,.91);
  box-shadow:0 6px 22px rgba(23,107,255,.12)
}
.sonar-core img {
  width:80px;
  height:80px
}
.ping {
  position:absolute;
  z-index:3;
  width:7px;
  height:7px;
  border-radius:50%;
  background:var(--cyan);
  box-shadow:0 0 0 5px rgba(0,198,215,.13)
}
.ping-a {
  left:20%;
  top:32%
}
.ping-b {
  right:19%;
  top:49%;
  background:var(--blue)
}
.ping-c {
  left:36%;
  bottom:14%;
  background:var(--orange);
  box-shadow:0 0 0 5px rgba(241,154,82,.14)
}
.flow-lines {
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  overflow:visible
}
.flow-lines path {
  fill:none;
  stroke:rgba(23,107,255,.26);
  stroke-width:1;
  stroke-dasharray:3 5
}
.flow-source,.flow-output {
  position:absolute;
  z-index:4;
  display:flex;
  align-items:center;
  gap:8px;
  padding:8px 9px;
  background:rgba(248,250,252,.95);
  border:1px solid #dfe6ee;
  box-shadow:0 4px 14px rgba(35,55,84,.04)
}
.flow-source b,.flow-output b {
  display:block;
  font-size:10px;
  line-height:1.25
}
.flow-source small,.flow-output small {
  display:block;
  margin-top:3px;
  color:#8290a2;
  font-size:8px;
  line-height:1.1
}
.source-icon {
  display:grid;
  place-items:center;
  width:27px;
  height:27px;
  color:var(--cyan);
  background:#e9fbfc;
  border-radius:50%;
  font-size:16px
}
.source-blue {
  color:var(--blue);
  background:#edf4ff
}
.source-orange {
  color:var(--orange);
  background:#fff4e9
}
.flow-source {
  left:0;
  width:152px
}
.source-a {
  top:42px
}
.source-b {
  top:calc(50% - 22px)
}
.source-c {
  bottom:37px
}
.flow-output {
  right:0;
  width:155px
}
.output-a {
  top:42px
}
.output-b {
  top:calc(50% - 22px)
}
.output-c {
  bottom:37px
}
.output-check {
  display:grid;
  place-items:center;
  width:22px;
  height:22px;
  border-radius:50%;
  background:#e7f9f7;
  color:#12a68f;
  font-size:11px
}
.output-orange {
  background:#fff2e6;
  color:var(--orange)
}
.visual-foot {
  padding-top:8px;
  border-top:1px solid #edf0f4
}
.hero-bottom {
  display:flex;
  align-items:center;
  gap:15px;
  margin-top:32px;
  color:#9aa5b3;
  font:400 9px var(--mono);
  letter-spacing:.07em
}
.hero-bottom-rule {
  flex:1;
  height:1px;
  background:#dfe5eb
}
.section-pad {
  padding:108px 0
}
.problem {
  background:#fff
}
.section-intro {
  display:flex;
  justify-content:space-between;
  align-items:flex-end;
  gap:42px;
  margin-bottom:49px
}
.section-intro .eyebrow {
  margin-bottom:20px
}
.section-intro h2,.benefit-heading h2,.faq-heading h2 {
  margin:0;
  font:800 clamp(38px,4.3vw,56px)/1.1 var(--font-head);
  letter-spacing:-.055em
}
.intro-side {
  max-width:355px;
  margin:0 0 5px;
  color:#637187;
  font-size:15px;
  line-height:1.7
}
.compare-grid {
  display:grid;
  grid-template-columns:1fr 1fr;
  border:1px solid var(--line)
}
.compare-card {
  min-height:310px;
  padding:26px 30px
}
.manual-card {
  background:#f9fafb;
  border-right:1px solid var(--line)
}
.sonar-card {
  background:#f6f9ff
}
.compare-head {
  display:flex;
  align-items:center;
  gap:12px;
  padding-bottom:17px;
  border-bottom:1px solid var(--line);
  font:500 9px var(--mono);
  letter-spacing:.1em;
  color:#8390a0
}
.compare-index {
  display:grid;
  place-items:center;
  width:25px;
  height:25px;
  border:1px solid #cad4df;
  border-radius:50%;
  font-size:10px;
  color:#64748b
}
.sonar-card .compare-index {
  border-color:#9ebeff;
  color:var(--blue)
}
.task-list {
  margin:8px 0 0;
  padding:0;
  list-style:none
}
.task-list li {
  display:flex;
  align-items:center;
  gap:17px;
  padding:13px 0;
  border-bottom:1px solid #e9edf1;
  color:#58667b;
  font-size:14px
}
.task-list li:last-child {
  border:0
}
.task-list li span {
  font:400 9px var(--mono);
  color:#a2adba
}
.result-stack {
  padding-top:5px
}
.result-stack>div {
  display:flex;
  align-items:center;
  gap:14px;
  padding:11px 0;
  border-bottom:1px solid #e4eaf3
}
.result-stack>div:last-child {
  border:0
}
.result-icon {
  display:grid;
  place-items:center;
  width:31px;
  height:31px;
  flex:none;
  border:1px solid #c4d6fc;
  border-radius:50%;
  font:400 9px var(--mono);
  color:var(--blue)
}
.result-stack p {
  margin:0
}
.result-stack b {
  display:block;
  font-size:14px;
  font-weight:600
}
.result-stack small {
  display:block;
  margin-top:3px;
  color:#7b899d;
  font-size:12px
}
.compare-caption {
  margin:19px 0 0;
  color:#8995a4;
  font-size:12px
}
.caption-mark {
  margin-right:8px;
  color:var(--orange);
  font-size:16px
}
.example {
  background:#f4f7fb
}
.example-intro {
  margin-bottom:43px
}
.example-frame {
  border:1px solid #dbe3ec;
  background:#fff;
  box-shadow:0 16px 48px rgba(23,43,77,.045)
}
.example-top {
  display:flex;
  justify-content:space-between;
  align-items:flex-end;
  padding:25px 30px 20px
}
.mono-label {
  font:500 9px var(--mono);
  letter-spacing:.1em;
  color:#8795a7
}
.example-top h3 {
  margin:8px 0 0;
  font:700 22px var(--font-head);
  letter-spacing:-.035em
}
.example-id {
  padding:7px 9px;
  border:1px solid #e1e7ee;
  color:#98a4b3;
  font:400 8px var(--mono);
  letter-spacing:.08em
}
.tablist {
  display:flex;
  gap:0;
  padding:0 30px;
  border-top:1px solid #edf0f4;
  border-bottom:1px solid #e3e9f0
}
.tab {
  position:relative;
  display:flex;
  align-items:center;
  gap:10px;
  padding:17px 20px 16px 0;
  margin-right:27px;
  border:0;
  background:transparent;
  color:#8491a2;
  font-size:12px;
  cursor:pointer
}
.tab span {
  font:400 9px var(--mono);
  color:#a5afbc
}
.tab[aria-selected="true"] {
  color:var(--ink);
  font-weight:600
}
.tab[aria-selected="true"] span {
  color:var(--blue)
}
.tab[aria-selected="true"]:after {
  content:"";
  position:absolute;
  left:0;
  right:0;
  bottom:-1px;
  height:2px;
  background:var(--blue)
}
.example-content {
  display:grid;
  grid-template-columns:1.05fr .95fr;
  gap:28px;
  padding:25px 30px 28px
}
.conversation {
  min-height:265px;
  padding:19px 21px;
  background:#f8fafc;
  border:1px solid #e9eef4
}
.conversation-head {
  display:flex;
  justify-content:space-between;
  align-items:center;
  margin-bottom:19px;
  font:500 8px var(--mono);
  letter-spacing:.08em;
  color:#8c99a9
}
.stage-pill {
  padding:5px 7px;
  border:1px solid #dbe5f5;
  border-radius:2px;
  color:#5775a7;
  font-size:7px
}
.utterance {
  display:grid;
  grid-template-columns:82px 1fr;
  gap:10px;
  margin-bottom:13px
}
.speaker {
  padding-top:3px;
  font:500 8px var(--mono);
  letter-spacing:.05em;
  color:#8794a5
}
.utterance p {
  max-width:410px;
  margin:0;
  color:#36455b;
  font-size:14px;
  line-height:1.55
}
.client-utterance p {
  color:#192944;
  font-weight:500
}
.quote-source {
  display:flex;
  align-items:center;
  gap:7px;
  margin:23px 0 0 92px;
  padding-top:12px;
  border-top:1px solid #e4eaf1;
  color:#8a97a7;
  font-size:10px
}
.quote-mark {
  color:var(--orange);
  font:700 20px Georgia
}
.criterion {
  position:relative;
  padding:20px 22px;
  border:1px solid #dfe8f4;
  background:white
}
.criterion-head {
  display:flex;
  justify-content:space-between;
  gap:10px;
  align-items:center
}
.criterion-label,.criterion-status {
  font:500 8px var(--mono);
  letter-spacing:.07em;
  color:#8795a7
}
.criterion-status {
  display:flex;
  align-items:center;
  gap:6px;
  color:#279888
}
.criterion-status i {
  width:6px;
  height:6px;
  border-radius:50%;
  background:#35c9ac
}
.criterion h4 {
  margin:18px 0 17px;
  font:700 21px/1.2 var(--font-head);
  letter-spacing:-.04em
}
.criterion-rule {
  padding:12px 13px;
  background:#f5f8fd;
  border-left:2px solid var(--blue)
}
.criterion-rule>span,.criterion-meta span {
  display:block;
  margin-bottom:6px;
  font:500 7px var(--mono);
  letter-spacing:.09em;
  color:#8795a7
}
.criterion-rule p {
  margin:0;
  color:#34435a;
  font-size:12px
}
.criterion-meta {
  display:grid;
  grid-template-columns:75px 1fr;
  gap:15px;
  margin-top:17px
}
.criterion-meta b {
  font-size:11px;
  font-weight:500;
  color:#425168
}
.criterion-meta .evidence {
  color:#172944;
  font-weight:600
}
.example-bottom {
  display:flex;
  justify-content:space-between;
  gap:12px;
  padding:13px 30px;
  border-top:1px solid #edf0f4;
  color:#8491a2;
  font-size:10px
}
.example-bottom>span:first-child {
  display:flex;
  align-items:center;
  gap:8px
}
.tiny-orange {
  width:6px;
  height:6px;
  border-radius:50%;
  background:var(--orange)
}
.process {
  background:#fff
}
.process-intro {
  margin-bottom:35px
}
.steps {
  border-top:1px solid var(--line)
}
.step {
  display:grid;
  grid-template-columns:83px 1fr 42px;
  align-items:start;
  gap:15px;
  padding:21px 0 22px;
  border-bottom:1px solid var(--line)
}
.step-num {
  padding-top:4px;
  font:500 10px var(--mono);
  color:var(--blue)
}
.step h3 {
  margin:0 0 5px;
  font:700 18px var(--font-head);
  letter-spacing:-.025em
}
.step p {
  max-width:730px;
  margin:0;
  color:#68768b;
  font-size:13px;
  line-height:1.6
}
.step-symbol {
  display:grid;
  place-items:center;
  width:34px;
  height:34px;
  border:1px solid #dce5ef;
  border-radius:50%;
  color:#517cbf;
  font-size:15px
}
.step-last .step-symbol {
  border-color:#bce8e1;
  color:#16a58f
}
.benefits {
  background:#f4f7fb
}
.benefits-grid {
  display:grid;
  grid-template-columns:.82fr 1.18fr;
  gap:90px;
  align-items:start
}
.benefit-heading .eyebrow {
  margin-bottom:22px
}
.benefit-heading h2 {
  font-size:50px
}
.benefit-heading>p:last-child {
  margin:20px 0 0;
  color:#718096;
  font-size:15px
}
.benefit-list {
  border-top:1px solid #d9e2ec
}
.benefit-list article {
  display:grid;
  grid-template-columns:35px 1fr 20px;
  gap:14px;
  align-items:start;
  padding:22px 0;
  border-bottom:1px solid #d9e2ec
}
.benefit-list article>span {
  padding-top:4px;
  font:400 9px var(--mono);
  color:var(--blue)
}
.benefit-list h3 {
  margin:0 0 6px;
  font:700 16px var(--font-head)
}
.benefit-list p {
  max-width:490px;
  margin:0;
  color:#718096;
  font-size:13px
}
.benefit-list i {
  padding-top:4px;
  color:#91a0b3;
  font-style:normal
}
.control {
  position:relative;
  overflow:hidden;
  background:var(--night);
  color:white
}
.control:before {
  content:"";
  position:absolute;
  right:-230px;
  top:-330px;
  width:730px;
  height:730px;
  border:1px solid rgba(76,139,255,.12);
  border-radius:50%;
  box-shadow:0 0 0 55px rgba(76,139,255,.025),0 0 0 110px rgba(76,139,255,.018),0 0 0 165px rgba(76,139,255,.013)
}
.control-grid {
  position:relative;
  display:grid;
  grid-template-columns:.9fr 1.1fr;
  gap:92px;
  align-items:center
}
.eyebrow-light {
  color:#9caec8
}
.control h2 {
  margin:0;
  font:800 clamp(43px,5.2vw,65px)/1.05 var(--font-head);
  letter-spacing:-.06em
}
.control h2 span {
  color:#55a6ff
}
.control-copy {
  max-width:410px;
  margin:23px 0 0;
  color:#b1bfd2;
  font-size:15px;
  line-height:1.7
}
.review-panel {
  padding:20px 22px 13px;
  border:1px solid rgba(183,205,236,.18);
  background:rgba(255,255,255,.045);
  box-shadow:0 20px 70px rgba(0,0,0,.15)
}
.panel-top,.panel-foot {
  display:flex;
  justify-content:space-between;
  align-items:center;
  color:#8293ae;
  font:500 8px var(--mono);
  letter-spacing:.1em
}
.panel-top {
  padding-bottom:16px;
  border-bottom:1px solid rgba(183,205,236,.13)
}
.panel-code {
  color:#5d77a0
}
.panel-row {
  display:grid;
  grid-template-columns:29px 1fr auto;
  gap:10px;
  align-items:center;
  padding:16px 0;
  border-bottom:1px solid rgba(183,205,236,.11)
}
.panel-symbol {
  display:grid;
  place-items:center;
  width:26px;
  height:26px;
  border:1px solid rgba(107,166,255,.27);
  border-radius:50%;
  color:#70aeff;
  font-size:13px
}
.panel-warn {
  border-color:rgba(241,154,82,.28);
  color:var(--orange)
}
.panel-row b,.panel-approval b {
  display:block;
  color:#edf4ff;
  font-size:12px;
  font-weight:500
}
.panel-row small,.panel-approval small {
  display:block;
  margin-top:3px;
  color:#8495af;
  font-size:10px
}
.panel-state {
  color:#58cfb6;
  font:500 7px var(--mono);
  letter-spacing:.07em
}
.panel-conditional {
  color:#f0ac70
}
.panel-approval {
  display:flex;
  align-items:center;
  gap:12px;
  margin-top:18px;
  padding:14px 13px;
  border:1px solid rgba(64,190,167,.3);
  background:rgba(16,128,111,.1)
}
.approval-check {
  display:grid;
  place-items:center;
  width:24px;
  height:24px;
  border-radius:50%;
  background:rgba(39,188,162,.15);
  color:#5cdbc2;
  font-size:12px
}
.panel-approval>div {
  flex:1
}
.approval-arrow {
  color:#5bd7bf
}
.panel-foot {
  padding-top:17px;
  margin-top:15px;
  border-top:1px solid rgba(183,205,236,.13);
  font-size:7px
}
.panel-foot span:first-child {
  display:flex;
  align-items:center;
  gap:7px
}
.panel-foot i {
  width:5px;
  height:5px
}
.faq {
  background:#fff
}
.faq-grid {
  display:grid;
  grid-template-columns:.74fr 1.26fr;
  gap:85px
}
.faq-heading .eyebrow {
  margin-bottom:22px
}
.faq-heading h2 {
  font-size:48px
}
.faq-heading>p:last-child {
  max-width:290px;
  margin:18px 0 0;
  color:#718096;
  font-size:14px
}
.faq-list {
  border-top:1px solid var(--line)
}
.faq-list details {
  border-bottom:1px solid var(--line)
}
.faq-list summary {
  position:relative;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
  padding:19px 0;
  list-style:none;
  cursor:pointer;
  font-size:14px;
  font-weight:600
}
.faq-list summary::-webkit-details-marker {
  display:none
}
.faq-list summary span {
  position:relative;
  width:18px;
  height:18px;
  flex:none;
  border:1px solid #cad5e2;
  border-radius:50%
}
.faq-list summary span:before,.faq-list summary span:after {
  content:"";
  position:absolute;
  left:4px;
  right:4px;
  top:8px;
  height:1px;
  background:#62738a
}
.faq-list summary span:after {
  transform:rotate(90deg);
  transition:transform .2s
}
.faq-list details[open] summary span:after {
  transform:rotate(0)
}
.faq-list details p {
  max-width:650px;
  margin:-3px 35px 18px 0;
  color:#67768c;
  font-size:13px;
  line-height:1.7
}
.final-cta {
  overflow:hidden;
  background:#edf4ff
}
.final-inner {
  position:relative;
  min-height:380px;
  display:flex;
  align-items:center
}
.final-copy {
  position:relative;
  z-index:1;
  padding:70px 0
}
.final-copy .eyebrow {
  margin-bottom:20px
}
.final-copy h2 {
  margin:0;
  font:800 clamp(42px,5vw,62px)/1.07 var(--font-head);
  letter-spacing:-.06em
}
.final-copy>p:not(.eyebrow) {
  max-width:500px;
  margin:18px 0 23px;
  color:#627187;
  font-size:15px;
  line-height:1.65
}
.final-orbit {
  position:absolute;
  right:42px;
  top:50%;
  width:320px;
  height:320px;
  transform:translateY(-50%);
  display:grid;
  place-items:center;
  border:1px solid rgba(23,107,255,.13);
  border-radius:50%;
  box-shadow:0 0 0 36px rgba(23,107,255,.025),0 0 0 72px rgba(23,107,255,.02)
}
.final-orbit span {
  position:absolute;
  border:1px solid rgba(23,107,255,.17);
  border-radius:50%
}
.final-orbit span:nth-child(1) {
  inset:32px
}
.final-orbit span:nth-child(2) {
  inset:66px;
  border-style:dashed;
  border-color:rgba(0,198,215,.27)
}
.final-orbit span:nth-child(3) {
  inset:100px
}
.final-orbit img {
  width:120px;
  height:120px;
  opacity:.92
}
.site-footer {
  background:#fff
}
.footer-inner {
  min-height:81px;
  display:flex;
  align-items:center;
  gap:25px
}
.footer-brand {
  font-size:17px
}
.footer-brand img {
  width:32px;
  height:32px
}
.footer-note,.footer-copy {
  color:#96a1ae;
  font-size:10px
}
.back-top {
  margin-left:auto;
  color:#627187;
  font-size:11px
}
.back-top span {
  margin-left:7px;
  color:var(--blue)
}
.footer-copy {
  margin-left:12px;
  padding-left:22px;
  border-left:1px solid var(--line)
}
:focus-visible {
  outline:3px solid rgba(23,107,255,.65);
  outline-offset:3px
}
.tab:focus-visible,.faq-list summary:focus-visible {
  outline-offset:1px
}
@media(max-width:1050px) {
  .container {
    width:min(var(--container),calc(100% - 48px))
  }
  .hero-grid {
    grid-template-columns:1fr 1fr;
    gap:26px
  }
  .hero h1 {
    font-size:clamp(43px,5.3vw,59px)
  }
  .hero-visual {
    height:390px;
    padding-inline:14px
  }
  .sonar-stage {
    height:309px
  }
  .sonar-rings {
    width:190px;
    height:190px
  }
  .flow-source {
    width:132px;
    padding:7px
  }
  .flow-output {
    width:132px;
    padding:7px
  }
  .flow-source b,.flow-output b {
    font-size:9px
  }
  .flow-source small,.flow-output small {
    font-size:7px
  }
  .benefits-grid,.control-grid,.faq-grid {
    gap:55px
  }
  .final-orbit {
    right:25px;
    width:280px;
    height:280px
  }
}
@media(max-width:760px) {
  .container {
    width:calc(100% - 40px)
  }
  .nav-wrap {
    height:66px
  }
  .brand {
    font-size:18px
  }
  .brand img {
    width:34px;
    height:34px
  }
  .menu-toggle {
    display:flex;
    flex-direction:column;
    justify-content:center;
    gap:5px;
    width:42px;
    height:42px;
    border:1px solid #dbe3ec;
    background:transparent;
    border-radius:3px
  }
  .menu-toggle span {
    width:16px;
    height:1px;
    background:var(--ink);
    margin-inline:auto;
    transition:transform .2s
  }
  .menu-toggle[aria-expanded="true"] span:first-child {
    transform:translateY(3px) rotate(45deg)
  }
  .menu-toggle[aria-expanded="true"] span:last-child {
    transform:translateY(-3px) rotate(-45deg)
  }
  .primary-nav {
    position:absolute;
    display:none;
    top:65px;
    left:0;
    right:0;
    padding:16px 20px 21px;
    background:var(--paper);
    border-bottom:1px solid var(--line);
    box-shadow:0 12px 20px rgba(16,26,45,.06);
    align-items:stretch;
    gap:0
  }
  .primary-nav.is-open {
    display:flex;
    flex-direction:column
  }
  .primary-nav>a:not(.nav-cta) {
    padding:12px 2px;
    border-bottom:1px solid #e7ecf2
  }
  .nav-cta {
    margin-top:14px;
    text-align:center;
    padding:13px
  }
  .hero {
    padding:53px 0 25px
  }
  .hero-grid {
    display:flex;
    flex-direction:column;
    align-items:stretch;
    gap:39px;
    min-height:0
  }
  .hero h1 {
    font-size:clamp(42px,10vw,60px)
  }
  .hero-lede {
    font-size:16px
  }
  .hero-visual {
    height:400px;
    max-width:560px;
    width:100%;
    align-self:center
  }
  .sonar-stage {
    height:319px
  }
  .hero-bottom {
    margin-top:29px
  }
  .section-pad {
    padding:76px 0
  }
  .section-intro {
    display:block;
    margin-bottom:34px
  }
  .section-intro h2,.benefit-heading h2,.faq-heading h2 {
    font-size:clamp(38px,8.7vw,51px)
  }
  .intro-side {
    max-width:540px;
    margin-top:18px
  }
  .compare-grid {
    grid-template-columns:1fr
  }
  .compare-card {
    min-height:0;
    padding:21px 22px
  }
  .manual-card {
    border-right:0;
    border-bottom:1px solid var(--line)
  }
  .task-list li {
    padding:11px 0
  }
  .result-stack>div {
    padding:10px 0
  }
  .example-top {
    align-items:flex-start;
    padding:21px 19px 17px
  }
  .example-id {
    font-size:7px
  }
  .example-top h3 {
    font-size:20px
  }
  .tablist {
    padding:0 18px;
    overflow-x:auto
  }
  .tab {
    flex:none;
    margin-right:20px;
    font-size:11px
  }
  .example-content {
    grid-template-columns:1fr;
    gap:13px;
    padding:17px 17px 20px
  }
  .conversation {
    min-height:unset;
    padding:17px
  }
  .utterance {
    grid-template-columns:74px 1fr
  }
  .utterance p {
    font-size:13px
  }
  .quote-source {
    margin-left:84px
  }
  .criterion {
    padding:18px
  }
  .example-bottom {
    padding:12px 17px;
    flex-direction:column;
    gap:5px
  }
  .step {
    grid-template-columns:45px 1fr 34px;
    gap:9px;
    padding:18px 0
  }
  .step p {
    font-size:12px
  }
  .step h3 {
    font-size:16px
  }
  .benefits-grid,.control-grid,.faq-grid {
    grid-template-columns:1fr;
    gap:38px
  }
  .benefit-heading h2 {
    font-size:47px
  }
  .benefit-list article {
    padding:18px 0
  }
  .control h2 {
    font-size:clamp(44px,10vw,61px)
  }
  .control-copy {
    max-width:540px
  }
  .review-panel {
    padding:16px
  }
  .faq-grid {
    gap:35px
  }
  .faq-heading>p:last-child {
    margin-top:13px
  }
  .final-inner {
    min-height:420px
  }
  .final-copy {
    padding:69px 0
  }
  .final-copy h2 {
    font-size:clamp(39px,9vw,56px)
  }
  .final-orbit {
    right:-110px;
    top:60%;
    width:240px;
    height:240px;
    opacity:.65
  }
  .final-orbit span:nth-child(1) {
    inset:25px
  }
  .final-orbit span:nth-child(2) {
    inset:52px
  }
  .final-orbit span:nth-child(3) {
    inset:78px
  }
  .final-orbit img {
    width:96px;
    height:96px
  }
  .site-footer .container {
    flex-wrap:wrap;
    gap:10px 18px;
    padding:17px 0
  }
  .footer-note {
    flex-basis:calc(100% - 170px);
    margin-left:auto;
    text-align:right
  }
  .back-top {
    margin-left:0
  }
  .footer-copy {
    margin-left:auto;
    padding-left:15px
  }
}
@media(max-width:440px) {
  .container {
    width:calc(100% - 32px)
  }
  .hero-actions {
    align-items:stretch;
    flex-direction:column
  }
  .hero-actions .button {
    width:100%
  }
  .hero-proof {
    font-size:8px
  }
  .hero-visual {
    height:360px;
    padding:15px 10px 12px
  }
  .sonar-stage {
    height:280px
  }
  .sonar-rings {
    width:160px;
    height:160px
  }
  .flow-source,.flow-output {
    width:120px;
    gap:5px;
    padding:6px
  }
  .source-icon {
    width:23px;
    height:23px
  }
  .flow-source b,.flow-output b {
    font-size:8px
  }
  .flow-source small,.flow-output small {
    font-size:6px
  }
  .source-a,.output-a {
    top:24px
  }
  .source-c,.output-c {
    bottom:24px
  }
  .hero-bottom {
    font-size:7px
  }
  .section-pad {
    padding:63px 0
  }
  .compare-card {
    padding-inline:17px
  }
  .example-top {
    display:block
  }
  .example-id {
    display:inline-block;
    margin-top:11px
  }
  .tab {
    gap:6px;
    padding-right:8px;
    margin-right:14px;
    font-size:10px
  }
  .utterance {
    grid-template-columns:62px 1fr;
    gap:7px
  }
  .speaker {
    font-size:7px
  }
  .quote-source {
    margin-left:69px;
    font-size:9px
  }
  .criterion-meta {
    grid-template-columns:68px 1fr
  }
  .panel-row {
    grid-template-columns:25px 1fr auto;
    gap:7px
  }
  .panel-row b,.panel-approval b {
    font-size:10px
  }
  .panel-row small,.panel-approval small {
    font-size:8px
  }
  .panel-state {
    font-size:6px
  }
  .final-copy>p:not(.eyebrow) {
    max-width:330px;
    font-size:14px
  }
  .final-orbit {
    right:-145px
  }
  .footer-note {
    font-size:9px
  }
  .footer-copy {
    font-size:9px
  }
}
@media(prefers-reduced-motion:reduce) {
  html {
    scroll-behavior:auto
  }
  *,*:before,*:after {
    scroll-behavior:auto!important;
    animation-duration:.01ms!important;
    animation-iteration-count:1!important;
    transition-duration:.01ms!important
  }
}
/* Iteration 2: readable type, compact rhythm and resilient narrow layouts. */
.hero-visual {
  height: 390px;
}
.sonar-stage {
  margin-top: 20px;
}
.hero-audience {
  margin: 12px 0 0;
  color: #58677a;
  font-size: 14px;
}
.hero-note,
.compare-caption,
.tab,
.footer-note,
.footer-copy,
.back-top,
.flow-source small,
.flow-output small,
.conversation-head,
.speaker,
.quote-source,
.criterion-label,
.criterion-status,
.criterion-rule > span,
.criterion-meta span,
.example-bottom,
.step-num,
.panel-code,
.panel-top,
.panel-row small,
.panel-approval small,
.mono-label {
  color: #526278;
}
.eyebrow {
  font-size: 12px;
  color: #526278;
}
.hero-note,
.compare-caption,
.example-bottom,
.footer-note,
.footer-copy,
.back-top,
.step p,
.faq-list details p {
  font-size: 14px;
}
.hero-proof {
  font-size: 12px;
}
.compare-head,
.mono-label,
.conversation-head,
.speaker,
.criterion-label,
.criterion-status,
.criterion-rule > span,
.criterion-meta span,
.example-bottom,
.step-num,
.panel-top,
.panel-code {
  font-size: 12px;
}
.flow-source,
.flow-output {
  width: 154px;
  gap: 10px;
}
.flow-source b,
.flow-output b {
  font-size: 13px;
}
.flow-source small,
.flow-output small {
  font-size: 12px;
  line-height: 1.3;
}
.result-stack small {
  font-size: 14px;
  color: #58677a;
}
.compare-caption {
  color: #58677a;
}
.tab {
  color: #58677a;
}
.tab span {
  font-size: 12px;
}
.mono-label {
  display: inline-block;
  font-weight: 500;
}
.stage-pill {
  font-size: 12px;
  color: #44566f;
}
.utterance p {
  font-size: 15px;
}
.speaker {
  font-size: 12px;
}
.client-utterance p {
  display: inline-block;
  width: fit-content;
  max-width: 100%;
  padding: 7px 10px;
  border-radius: 3px;
  background: #eaf2ff;
}
.quote-source {
  font-size: 12px;
}
.criterion-status {
  padding: 6px 8px;
  border-radius: 3px;
  background: #eaf2ff;
  color: #174f9e;
  white-space: nowrap;
}
.criterion-label,
.criterion-rule > span,
.criterion-meta span {
  color: #526278;
}
.criterion-rule p,
.criterion-meta b {
  font-size: 14px;
  color: #34435a;
}
.criterion-meta .evidence {
  color: #172944;
  overflow-wrap: anywhere;
}
.example-bottom {
  color: #526278;
}
.section-pad {
  padding: 80px 0;
}
.section-intro {
  margin-bottom: 32px;
}
.process-intro,
.example-intro {
  margin-bottom: 32px;
}
.step p {
  font-size: 14px;
}
.control-grid {
  grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr);
  gap: 64px;
}
.control-grid > * {
  min-width: 0;
}
.control h2 {
  font-size: clamp(42px, 5.2vw, 62px);
}
.control-copy,
.panel-row small,
.panel-approval small {
  color: #b3c1d5;
}
.review-panel {
  width: 100%;
  min-width: 0;
  padding: 20px;
}
.panel-top {
  display: flex;
  flex-wrap: wrap;
  gap: 8px 14px;
  align-items: baseline;
  font-size: 14px;
}
.panel-code {
  font-size: 12px;
  color: #b3c1d5;
}
.panel-row {
  grid-template-columns: 25px minmax(0, 1fr);
  gap: 10px;
}
.panel-row > div,
.panel-approval > div {
  min-width: 0;
}
.panel-row b,
.panel-approval b {
  font-size: 13px;
  line-height: 1.4;
  overflow-wrap: anywhere;
}
.panel-row small,
.panel-approval small {
  font-size: 12px;
  line-height: 1.45;
}
.panel-approval {
  min-width: 0;
  gap: 10px;
  padding: 13px 10px;
}
.panel-approval .approval-check {
  flex: 0 0 24px;
}
.faq-list details p {
  color: #58677a;
}
.footer-note,
.footer-copy {
  color: #58677a;
}
.mobile-flow {
  display: none;
}
@media (max-width: 760px) {
  .section-pad {
    padding: 56px 0;
  }
  .section-intro,
  .example-intro,
  .process-intro {
    margin-bottom: 32px;
  }
  .hero-visual {
    height: auto;
    min-height: 0;
    padding: 14px;
  }
  .sonar-stage {
    display: none;
  }
  .mobile-flow {
    display: grid;
    gap: 7px;
  }
  .mobile-flow-group {
    min-width: 0;
    padding: 10px 12px;
    border: 1px solid #dfe6ee;
    background: #fff;
  }
  .mobile-flow-group span {
    display: block;
    margin-bottom: 4px;
    color: #526278;
    font: 600 12px/1.3 var(--mono);
    letter-spacing: .04em;
  }
  .mobile-flow-group b {
    display: block;
    color: #253650;
    font-size: 14px;
    font-weight: 500;
    line-height: 1.45;
  }
  .mobile-flow-link {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    height: 11px;
    color: var(--blue);
    font-size: 13px;
    line-height: 1;
  }
  .mobile-flow-link i {
    width: 38px;
    height: 1px;
    background: #b8ccef;
  }
  .mobile-flow-core {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 7px;
    width: fit-content;
    margin: 0 auto;
    padding: 3px 13px 3px 5px;
    border: 1px solid #cbdcf8;
    border-radius: 24px;
    background: #fff;
    color: #183153;
    font: 700 14px var(--font-head);
  }
  .mobile-flow-core img {
    display: block;
    width: 34px;
    height: 34px;
  }
  .mobile-flow-result {
    border-color: #cadcf8;
    background: #f4f8ff;
  }
  .mobile-flow-result span {
    color: #174f9e;
  }
  .step p,
  .faq-list details p {
    font-size: 15px;
  }
  .compare-caption,
  .example-bottom,
  .footer-note,
  .footer-copy,
  .hero-note {
    font-size: 15px;
  }
  .control-grid {
    grid-template-columns: minmax(0, 1fr);
    gap: 32px;
  }
  .control-grid > * {
    min-width: 0;
  }
  .control h2 {
    font-size: clamp(40px, 10vw, 58px);
  }
  .review-panel {
    padding: 16px;
  }
  .panel-top {
    gap: 6px 10px;
    font-size: 14px;
  }
  .panel-row {
    grid-template-columns: 25px minmax(0, 1fr);
  }
  .panel-row b,
  .panel-approval b {
    font-size: 13px;
  }
  .panel-row small,
  .panel-approval small {
    font-size: 12px;
  }
}
@media (max-width: 440px) {
  .hero-visual {
    padding: 12px;
  }
  .mobile-flow-group b {
    font-size: 14px;
  }
  .control h2 {
    font-size: clamp(32px, 10vw, 40px);
  }
  .review-panel {
    padding: 14px;
  }
  .panel-top {
    align-items: flex-start;
    flex-direction: column;
  }
  .panel-row {
    gap: 8px;
  }
  .panel-row b,
  .panel-approval b {
    font-size: 13px;
  }
  .panel-row small,
  .panel-approval small {
    font-size: 12px;
  }
  .example-content {
    padding-inline: 12px;
  }
  .criterion {
    padding: 15px;
  }
  .criterion-head {
    align-items: flex-start;
    flex-wrap: wrap;
  }
  .criterion-status {
    white-space: normal;
  }
  .criterion-meta {
    grid-template-columns: minmax(65px, .35fr) minmax(0, 1fr);
  }
  .criterion-rule p,
  .criterion-meta b {
    font-size: 15px;
  }
}
@media (max-width: 370px) {
  .control h2 {
    font-size: 32px;
  }
}

/* Keep secondary labels readable on the dark review panel. */
.control .eyebrow-light,
.control .panel-top {
  color: #b3c1d5;
}
@media (max-width: 370px) {
  .faq-heading h2 {
    font-size: 32px;
  }
}

.hero-proof,
.compare-head,
.faq-heading > p:last-child,
.final-copy > p:not(.eyebrow) {
  color: #58677a;
}

/* Maintain clear vertical separation between the desktop flow cards. */
.source-a,
.output-a {
  top: 28px;
}
.source-b,
.output-b {
  top: calc(50% - 24px);
}
.source-c,
.output-c {
  bottom: 8px;
}

@media (min-width: 761px) and (max-width: 1050px) {
  .hero-visual {
    width: 100%;
    height: auto;
    min-height: 0;
    padding: 18px;
  }
  .sonar-stage {
    display: none;
  }
  .mobile-flow {
    display: grid;
    gap: 7px;
  }
  .mobile-flow-group {
    min-width: 0;
    padding: 10px 12px;
    border: 1px solid #dfe6ee;
    background: #fff;
  }
  .mobile-flow-group span {
    display: block;
    margin-bottom: 4px;
    color: #526278;
    font: 600 12px/1.3 var(--mono);
    letter-spacing: .04em;
  }
  .mobile-flow-group b {
    display: block;
    color: #253650;
    font-size: 14px;
    font-weight: 500;
    line-height: 1.45;
  }
  .mobile-flow-link {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    height: 11px;
    color: var(--blue);
    font-size: 13px;
    line-height: 1;
  }
  .mobile-flow-link i {
    width: 38px;
    height: 1px;
    background: #b8ccef;
  }
  .mobile-flow-core {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 7px;
    width: fit-content;
    margin: 0 auto;
    padding: 3px 13px 3px 5px;
    border: 1px solid #cbdcf8;
    border-radius: 24px;
    background: #fff;
    color: #183153;
    font: 700 14px var(--font-head);
  }
  .mobile-flow-core img {
    display: block;
    width: 34px;
    height: 34px;
  }
  .mobile-flow-result {
    border-color: #cadcf8;
    background: #f4f8ff;
  }
  .mobile-flow-result span {
    color: #174f9e;
  }
}

.tab {
  font-size: 12px;
}
