@import url("site-nav.css");
@import url("call-handling.css");
@import url("phones-and-devices.css");
@import url("recording-and-reporting.css");
@import url("reliability.css");
@import url("integrations-and-apis.css");
@import url("legal.css");
@import url("privacy-preferences.css");

:root {
  --coral: #ff6b5e;
  --coral-dark: #ef5b50;
  --coral-action: #c94239;
  --coral-action-hover: #b83a32;
  --coral-action-active: #aa352f;
  --navy: #14233b;
  --navy-soft: #233754;
  --mint: #bcebd9;
  --mint-strong: #21bfae;
  --blue: #c7dcff;
  --blue-strong: #4057d3;
  --cream: #fffaf8;
  --white: #ffffff;
  --ink: #223047;
  --muted: #68758a;
  --line: #e6e9ef;
  --shadow: 0 24px 70px rgba(20, 35, 59, 0.12);
  --radius-sm: 14px;
  --radius-md: 22px;
  --radius-lg: 34px;
  --container: 1180px;
}

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

html { scroll-behavior: smooth; }

body {
  margin: 0;
  color: var(--ink);
  background: var(--white);
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  line-height: 1.65;
  text-rendering: optimizeLegibility;
}

a { color: inherit; }

img, svg { display: block; max-width: 100%; }

.icon-sprite {
  position: absolute;
  width: 0;
  height: 0;
  overflow: hidden;
}

.skip-link {
  position: fixed;
  left: 1rem;
  top: -5rem;
  z-index: 999;
  padding: .75rem 1rem;
  color: var(--white);
  background: var(--navy);
  border-radius: 8px;
}
.skip-link:focus { top: 1rem; }

.container {
  width: min(calc(100% - 2rem), var(--container));
  margin-inline: auto;
}

.narrow {
  max-width: 850px;
  text-align: center;
}

.site-header {
  position: sticky;
  top: 0;
  z-index: 50;
  background: rgba(255,255,255,.92);
  border-bottom: 1px solid rgba(20,35,59,.08);
  backdrop-filter: blur(18px);
}

.header-inner {
  min-height: 78px;
  display: flex;
  align-items: center;
  gap: 2rem;
}

.brand {
  display: inline-flex;
  align-items: center;
  text-decoration: none;
}

.brand-logo {
  display: block;
  width: 180px;
  max-width: 100%;
  height: auto;
}

.primary-nav {
  margin-left: auto;
  display: flex;
  align-items: center;
  gap: 1.7rem;
}

.primary-nav a,
.footer-links a {
  text-decoration: none;
  font-size: .95rem;
  font-weight: 650;
}

.primary-nav a:hover,
.primary-nav a:focus-visible,
.footer-links a:hover,
.footer-links a:focus-visible {
  color: var(--coral-dark);
}

.primary-nav a[aria-current="page"] { color: var(--coral-action); }
.footer-links a[aria-current="page"] { color: #ffb8b1; }

.header-phone {
  display: inline-flex;
  align-items: center;
  gap: .55rem;
  padding: .3rem .45rem;
  color: var(--navy);
  border-radius: 12px;
  text-decoration: none;
  white-space: nowrap;
  transition: background .2s ease, color .2s ease;
}

.header-phone:hover { color: var(--coral-action); background: #fff0ee; }

.header-phone:focus-visible,
.hero-demo:focus-visible,
.footer-phone:focus-visible {
  outline: 3px solid var(--blue-strong);
  outline-offset: 3px;
}

.header-phone-icon,
.hero-demo-icon {
  display: grid;
  place-items: center;
  flex: 0 0 auto;
  color: var(--coral-action);
  border-radius: 50%;
  background: #fff0ee;
}

.header-phone-icon { width: 34px; height: 34px; }
.header-phone-icon svg { width: 17px; height: 17px; }

.header-phone-icon svg,
.hero-demo-icon svg,
.footer-phone svg,
.button svg {
  fill: none;
  stroke: currentColor;
  stroke-width: 1.9;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.header-phone-copy { display: grid; line-height: 1.12; }
.header-phone-label { color: var(--muted); font-size: .61rem; font-weight: 750; letter-spacing: .04em; }
.header-phone strong { font-size: .82rem; letter-spacing: .01em; }

.button {
  min-height: 52px;
  padding: .85rem 1.3rem;
  display: inline-flex;
  justify-content: center;
  align-items: center;
  border: 1px solid transparent;
  border-radius: 999px;
  text-decoration: none;
  font-weight: 750;
  line-height: 1;
  transition: transform .2s ease, box-shadow .2s ease, background .2s ease, color .2s ease;
}

.button:hover { transform: translateY(-2px); }
.button:active { transform: translateY(0); }

.button:focus-visible {
  outline: 3px solid var(--white);
  outline-offset: 2px;
  box-shadow: 0 0 0 6px var(--blue-strong);
}

.text-link:focus-visible,
.feature-card a:focus-visible,
.primary-nav a:focus-visible,
.footer-links a:focus-visible {
  outline: 3px solid rgba(255,107,94,.35);
  outline-offset: 4px;
}

.button-small {
  min-height: 44px;
  padding: .7rem 1.05rem;
  font-size: .9rem;
}

.button-primary {
  color: var(--white);
  background: var(--coral-action);
  box-shadow: 0 12px 26px rgba(201,66,57,.24);
}

.button-primary:hover { color: var(--white); background: var(--coral-action-hover); }
.button-primary:active { color: var(--white); background: var(--coral-action-active); }

.button-secondary {
  color: var(--navy);
  background: var(--white);
  border-color: rgba(20,35,59,.17);
}

.hero {
  position: relative;
  overflow: hidden;
  padding: 7.5rem 0 6.5rem;
  background:
    radial-gradient(circle at 85% 16%, rgba(255,107,94,.14), transparent 24rem),
    linear-gradient(180deg, var(--cream), var(--white));
}

.hero::before {
  content: "";
  position: absolute;
  width: 520px;
  height: 520px;
  left: -270px;
  bottom: -300px;
  border: 1px solid rgba(20,35,59,.06);
  border-radius: 50%;
}

.hero-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(420px, .9fr);
  align-items: center;
  gap: 5rem;
}

.eyebrow {
  margin: 0 0 1rem;
  color: var(--coral-dark);
  font-size: .78rem;
  font-weight: 850;
  letter-spacing: .14em;
  text-transform: uppercase;
}

.eyebrow-light { color: #ffb8b1; }

h1, h2, h3, p { margin-top: 0; }

h1, h2, h3 {
  color: var(--navy);
  line-height: 1.08;
  letter-spacing: -.045em;
}

h1 {
  max-width: 760px;
  margin-bottom: 1.5rem;
  font-size: clamp(3.2rem, 6vw, 5.8rem);
}

h2 {
  margin-bottom: 1.5rem;
  font-size: clamp(2.15rem, 4vw, 4rem);
}

h3 {
  margin-bottom: .85rem;
  font-size: 1.35rem;
}

.hero-lede {
  max-width: 700px;
  margin-bottom: 2rem;
  color: var(--muted);
  font-size: clamp(1.08rem, 1.5vw, 1.25rem);
}

.button-row {
  display: flex;
  flex-wrap: wrap;
  gap: .85rem;
}

.hero-demo {
  width: fit-content;
  max-width: 560px;
  margin-top: 1.25rem;
  display: flex;
  align-items: center;
  gap: .8rem;
  padding: .7rem .9rem;
  color: var(--navy);
  border: 1px solid rgba(20,35,59,.1);
  border-radius: 15px;
  background: rgba(255,255,255,.74);
  text-decoration: none;
  transition: border-color .2s ease, background .2s ease, box-shadow .2s ease;
}

.hero-demo:hover {
  color: var(--navy);
  border-color: rgba(201,66,57,.32);
  background: var(--white);
  box-shadow: 0 12px 28px rgba(20,35,59,.08);
}

.hero-demo-icon { width: 40px; height: 40px; }
.hero-demo-icon svg { width: 20px; height: 20px; }
.hero-demo-copy { display: grid; line-height: 1.35; }
.hero-demo-copy strong { font-size: .9rem; }
.hero-demo-copy > span { color: var(--muted); font-size: .8rem; }
.hero-demo-copy b { color: var(--coral-action); font-weight: 850; }

.hero-visual {
  position: relative;
}

.hero-visual::before {
  content: "";
  position: absolute;
  inset: 9% -8% -8% 8%;
  border-radius: var(--radius-lg);
  background: var(--mint);
  transform: rotate(3deg);
}

.journey-card {
  position: relative;
  z-index: 1;
  padding: 1.4rem;
  border: 1px solid rgba(20,35,59,.08);
  border-radius: var(--radius-lg);
  background: rgba(255,255,255,.94);
  box-shadow: var(--shadow);
}

.journey-topline {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding-bottom: 1rem;
  border-bottom: 1px solid var(--line);
}

.journey-label {
  color: var(--navy);
  font-weight: 800;
}

.status-dot {
  display: inline-flex;
  align-items: center;
  gap: .4rem;
  color: #2f725b;
  font-size: .8rem;
  font-weight: 800;
}

.status-dot::before {
  content: "";
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: #44b48d;
}

.journey-flow { padding: 1.35rem 0 .5rem; }

.flow-node {
  min-height: 82px;
  padding: 1rem;
  display: flex;
  align-items: center;
  gap: .85rem;
  border: 1px solid var(--line);
  border-radius: var(--radius-sm);
  background: var(--white);
  box-shadow: 0 10px 24px rgba(20,35,59,.06);
}

.flow-node-entry { background: #fff0ee; border-color: #ffd4cf; }

.node-icon {
  flex: 0 0 42px;
  width: 42px;
  height: 42px;
  display: grid;
  place-items: center;
  border-radius: 12px;
  color: var(--navy);
  background: var(--coral);
  font-size: .75rem;
  font-weight: 900;
}

.flow-node strong, .flow-node small { display: block; }
.flow-node strong { color: var(--navy); }
.flow-node small { color: var(--muted); }

.flow-line {
  width: 2px;
  height: 24px;
  margin-inline: auto;
  background: #d9dee7;
}

.flow-split {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: .8rem;
}

.flow-node-small { min-height: 94px; }

.journey-caption {
  margin: 1rem 0 0;
  color: var(--navy);
  font-weight: 750;
  text-align: center;
}

.section { padding: 7rem 0; }
.section-soft {
  background:
    radial-gradient(circle at 92% 12%, rgba(199,220,255,.42), transparent 24rem),
    linear-gradient(180deg, #f7f8fb, #fbfcfe);
}

#why-talklayr { padding-bottom: 4.5rem; }

.section p {
  color: var(--muted);
  font-size: 1.05rem;
}

.statement {
  margin-top: 2rem;
  color: var(--navy) !important;
  font-size: 1.3rem !important;
  font-weight: 800;
}

.approach-layout {
  display: grid;
  grid-template-columns: minmax(0, 1.05fr) minmax(430px, .95fr);
  gap: 6rem;
  align-items: center;
}

.approach-copy { max-width: 650px; }
.approach-copy h2 { font-size: clamp(2.4rem, 3.6vw, 3.7rem); }

.clarity-visual {
  position: relative;
  overflow: clip;
  padding: 1.25rem;
  border: 1px solid rgba(20,35,59,.09);
  border-radius: 28px;
  background: rgba(255,255,255,.94);
  box-shadow: 0 28px 70px rgba(20,35,59,.12);
}

.clarity-visual::before {
  content: "";
  position: absolute;
  inset: 11% -7% -7% 12%;
  z-index: -1;
  border-radius: 30px;
  background: rgba(188,235,217,.72);
  transform: rotate(2.5deg);
}

.clarity-status {
  display: inline-flex;
  gap: .4rem;
  align-items: center;
  color: #176b4d;
}

.clarity-status i {
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: var(--mint-strong);
}

.clarity-route { padding: 1.1rem .3rem .8rem; }

.clarity-step {
  min-height: 68px;
  display: flex;
  align-items: center;
  gap: .85rem;
  padding: .75rem .9rem;
  border: 1px solid var(--line);
  border-radius: 15px;
  background: var(--white);
  box-shadow: 0 8px 20px rgba(20,35,59,.06);
}

.clarity-step small,
.clarity-step strong { display: block; }
.clarity-step small { margin-bottom: .08rem; color: var(--muted); font-size: .7rem; font-weight: 750; text-transform: uppercase; letter-spacing: .08em; }
.clarity-step strong { color: var(--navy); font-size: .95rem; }

.clarity-icon,
.principle-icon,
.feature-icon,
.studio-node-icon {
  display: grid;
  place-items: center;
  flex: 0 0 auto;
}

.clarity-icon {
  width: 42px;
  height: 42px;
  color: var(--navy);
  border-radius: 12px;
}

.clarity-icon svg,
.principle-icon svg,
.feature-icon svg,
.studio-node-icon svg,
.studio-tools svg,
.philosophy-statement svg,
.trust-symbol svg,
.trust-choice svg,
.clarity-outcome svg {
  fill: none;
  stroke: currentColor;
  stroke-width: 1.8;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.clarity-icon svg { width: 22px; height: 22px; }
.clarity-caller .clarity-icon { color: var(--coral-action); background: #fff0ee; }
.clarity-understand .clarity-icon { color: #147a70; background: #ddf6f2; }
.clarity-team .clarity-icon { color: #304f83; background: #e8f0ff; }

.clarity-connector {
  position: relative;
  width: 2px;
  height: 24px;
  margin-inline: auto;
  background: #bfc9d7;
}

.clarity-connector::after {
  content: "";
  position: absolute;
  left: 50%;
  bottom: -1px;
  width: 6px;
  height: 6px;
  border-right: 2px solid #8998aa;
  border-bottom: 2px solid #8998aa;
  transform: translateX(-50%) rotate(45deg);
}

.clarity-outcome {
  display: flex;
  align-items: center;
  gap: .65rem;
  padding: .8rem 1rem;
  color: #176b4d;
  border-radius: 13px;
  background: #e7f7ef;
  font-size: .88rem;
  font-weight: 800;
}

.clarity-outcome svg { width: 21px; height: 21px; }

.split-layout {
  display: grid;
  grid-template-columns: .85fr 1.15fr;
  gap: 6rem;
  align-items: start;
}

.split-layout-reverse {
  grid-template-columns: 1fr 1fr;
  align-items: center;
}

.prose { max-width: 680px; }

.prose blockquote {
  margin: 2.25rem 0 0;
  padding: 1.5rem 1.75rem;
  color: var(--navy);
  border-left: 5px solid var(--coral);
  border-radius: 0 var(--radius-sm) var(--radius-sm) 0;
  background: var(--cream);
  font-size: 1.35rem;
  font-weight: 800;
}

.section.section-philosophy { padding-top: 4.5rem; }

.section-philosophy {
  position: relative;
  overflow: hidden;
  border-top: 1px solid rgba(201,66,57,.06);
  background:
    linear-gradient(180deg, rgba(255,107,94,.04), transparent 11rem),
    var(--cream);
}

.section-philosophy::after {
  content: "";
  position: absolute;
  right: -180px;
  bottom: -220px;
  width: 440px;
  height: 440px;
  border: 1px solid rgba(20,35,59,.07);
  border-radius: 50%;
}

.philosophy-layout {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: .8fr 1.2fr;
  gap: 6rem;
  align-items: center;
}

.philosophy-intro h2 { max-width: 490px; }

.philosophy-motif {
  width: 210px;
  margin-top: 3rem;
  display: grid;
  gap: .65rem;
}

.philosophy-motif span {
  height: 12px;
  border-radius: 999px;
  background: var(--coral);
}

.philosophy-motif span:nth-child(2) { width: 78%; margin-left: 15%; background: var(--mint-strong); }
.philosophy-motif span:nth-child(3) { width: 55%; margin-left: 34%; }

.philosophy-card {
  padding: 2rem;
  border: 1px solid var(--line);
  border-radius: 28px;
  background: var(--white);
  box-shadow: 0 24px 64px rgba(20,35,59,.09);
}

.principle-item {
  display: grid;
  grid-template-columns: 48px 1fr;
  gap: 1rem;
  align-items: center;
  padding: 1.15rem .4rem;
}

.principle-item + .principle-item { border-top: 1px solid var(--line); }
.principle-item p { margin: 0; color: var(--ink); font-size: 1.08rem; }

.principle-icon {
  width: 44px;
  height: 44px;
  color: var(--navy);
  border-radius: 13px;
  background: #eef4ff;
}

.principle-item:nth-child(2) .principle-icon { color: #147a70; background: #ddf6f2; }
.principle-item:nth-child(3) .principle-icon { color: var(--coral-action); background: #fff0ee; }
.principle-icon svg { width: 22px; height: 22px; }

.philosophy-statement {
  margin: 1.25rem 0 0;
  display: grid;
  grid-template-columns: 32px 1fr;
  gap: .8rem;
  align-items: center;
  padding: 1.35rem 1.5rem;
  color: var(--navy);
  border: 0;
  border-radius: 16px;
  background: linear-gradient(110deg, #fff0ee, #fffaf8);
  font-size: 1.2rem;
  font-weight: 850;
  line-height: 1.35;
}

.philosophy-statement svg { width: 28px; height: 28px; color: var(--coral-action); }

.section-dark {
  color: var(--white);
  background: var(--navy);
}

.section-dark h2,
.section-dark .statement-light { color: var(--white); }

.prose-light p { color: #c7d0df; }

.statement-light {
  margin-top: 2rem;
  font-weight: 800;
}

.text-link {
  display: inline-flex;
  gap: .35rem;
  align-items: center;
  color: var(--coral-dark);
  font-weight: 800;
  text-decoration: none;
}

.text-link-light { color: #ffb8b1; }

.studio-panel {
  overflow: hidden;
  min-height: 500px;
  border: 1px solid rgba(255,255,255,.12);
  border-radius: var(--radius-md);
  background: #eef2f7;
  box-shadow: 0 30px 70px rgba(0,0,0,.28);
}

.studio-toolbar {
  height: 54px;
  display: flex;
  align-items: center;
  padding: 0 1rem;
  color: var(--navy);
  border-bottom: 1px solid var(--line);
  background: var(--white);
}

.studio-window-controls { display: flex; gap: .4rem; }

.studio-window-controls span {
  width: 10px;
  height: 10px;
  border-radius: 50%;
  background: #d4dae3;
}

.studio-title {
  position: absolute;
  left: 50%;
  display: flex;
  align-items: center;
  gap: .5rem;
  color: var(--navy);
  font-size: .82rem;
  font-weight: 850;
  transform: translateX(-50%);
}

.studio-title img { width: 22px; height: 22px; }

.studio-save-state {
  margin-left: auto;
  display: inline-flex;
  align-items: center;
  gap: .35rem;
  color: #176b4d;
  font-size: .72rem;
  font-weight: 800;
}

.studio-save-state::before { content: ""; width: 6px; height: 6px; border-radius: 50%; background: var(--mint-strong); }

.studio-workspace {
  display: grid;
  grid-template-columns: 54px 1fr;
  min-height: 446px;
}

.studio-tools {
  z-index: 2;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: .55rem;
  padding-top: 1rem;
  border-right: 1px solid #dfe4ec;
  background: #f8fafc;
}

.studio-tools span {
  width: 34px;
  height: 34px;
  display: grid;
  place-items: center;
  color: #728096;
  border-radius: 9px;
}

.studio-tools .tool-active { color: var(--coral-action); background: #fff0ee; box-shadow: inset 0 0 0 1px #ffd4cf; }
.studio-tools svg { width: 18px; height: 18px; }

.studio-canvas {
  position: relative;
  min-height: 446px;
  overflow: hidden;
  background-image:
    linear-gradient(rgba(20,35,59,.04) 1px, transparent 1px),
    linear-gradient(90deg, rgba(20,35,59,.04) 1px, transparent 1px);
  background-size: 26px 26px;
}

.canvas-heading {
  position: absolute;
  top: 13px;
  left: 16px;
  right: 16px;
  z-index: 3;
  display: flex;
  justify-content: space-between;
  align-items: start;
}

.canvas-heading strong,
.canvas-heading small { display: block; }
.canvas-heading strong { color: var(--navy); font-size: .75rem; }
.canvas-heading small { color: var(--muted); font-size: .62rem; }
.canvas-heading i { padding: .25rem .5rem; color: #176b4d; border-radius: 999px; background: #e7f7ef; font-size: .6rem; font-style: normal; font-weight: 850; }

.studio-connectors {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  overflow: visible;
  pointer-events: none;
}

.studio-connectors path { fill: none; stroke-width: 3; stroke-linecap: round; stroke-linejoin: round; vector-effect: non-scaling-stroke; }
.connector-active { stroke: var(--mint-strong); }
.connector-muted { stroke: #aeb9c8; stroke-dasharray: 5 6; }
.connector-point { fill: var(--white); stroke: #aeb9c8; stroke-width: 2; vector-effect: non-scaling-stroke; }
.connector-point.active { fill: var(--mint-strong); stroke: var(--white); }

.studio-node {
  position: absolute;
  z-index: 2;
  width: 184px;
  min-height: 64px;
  display: grid;
  grid-template-columns: 38px 1fr auto;
  gap: .65rem;
  align-items: center;
  padding: .65rem .7rem;
  color: var(--navy);
  border: 1px solid #d9e0e9;
  border-radius: 13px;
  background: rgba(255,255,255,.98);
  box-shadow: 0 12px 28px rgba(20,35,59,.12);
}

.studio-node small,
.studio-node strong { display: block; }
.studio-node small { color: var(--muted); font-size: .58rem; font-weight: 750; text-transform: uppercase; letter-spacing: .08em; }
.studio-node strong { font-size: .78rem; line-height: 1.25; }
.studio-node > i { width: 7px; height: 7px; border-radius: 50%; background: #c8d0dc; }

.studio-node-icon { width: 36px; height: 36px; border-radius: 10px; }
.studio-node-icon svg { width: 19px; height: 19px; }

.studio-node-entry { top: 52px; left: 50%; transform: translateX(-50%); }
.studio-node-entry .studio-node-icon { color: var(--coral-action); background: #fff0ee; }
.studio-node-entry > i { background: var(--coral); }
.studio-node-condition { top: 156px; left: 50%; transform: translateX(-50%); }
.studio-node-condition .studio-node-icon { color: #147a70; background: #ddf6f2; }
.studio-node-team { top: 287px; left: 25%; transform: translateX(-50%); }
.studio-node-team .studio-node-icon { color: #304f83; background: #e8f0ff; }
.studio-node-assistant { top: 287px; left: 75%; transform: translateX(-50%); }
.studio-node-assistant .studio-node-icon { color: #7f49a2; background: #f1e5fa; }

.studio-node.is-selected {
  border-color: var(--mint-strong);
  box-shadow: 0 0 0 3px rgba(33,191,174,.16), 0 16px 32px rgba(20,35,59,.14);
}

.studio-node em {
  position: absolute;
  top: -9px;
  right: 10px;
  padding: .15rem .4rem;
  color: #12685f;
  border-radius: 999px;
  background: #d9f5f1;
  font-size: .52rem;
  font-style: normal;
  font-weight: 850;
}

.canvas-zoom {
  position: absolute;
  left: 50%;
  bottom: 9px;
  z-index: 3;
  display: flex;
  align-items: center;
  gap: .55rem;
  padding: .32rem .55rem;
  color: var(--muted);
  border: 1px solid #dce2ea;
  border-radius: 9px;
  background: rgba(255,255,255,.95);
  box-shadow: 0 6px 18px rgba(20,35,59,.08);
  font-size: .62rem;
  transform: translateX(-50%);
}

.canvas-zoom span { color: var(--navy); font-size: .8rem; }

.section-heading {
  max-width: 720px;
  margin: 0 auto 3.25rem;
  text-align: center;
}

.feature-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1rem;
}

.feature-card {
  min-height: 300px;
  padding: 1.6rem;
  display: flex;
  flex-direction: column;
  border: 1px solid var(--line);
  border-radius: var(--radius-md);
  background: var(--white);
  transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease;
}

.feature-card:hover {
  transform: translateY(-4px);
  border-color: #f0b7b1;
  box-shadow: 0 18px 42px rgba(20,35,59,.09);
}

.feature-card-top {
  margin-bottom: 2.5rem;
  display: flex;
  justify-content: space-between;
  align-items: start;
}

.feature-icon {
  width: 52px;
  height: 52px;
  border-radius: 15px;
}

.feature-icon svg { width: 25px; height: 25px; }
.icon-coral { color: var(--coral-action); background: #fff0ee; }
.icon-mint { color: #147a70; background: #ddf6f2; }
.icon-blue { color: #304f83; background: #e8f0ff; }

.feature-number {
  padding-top: .3rem;
  color: var(--coral-dark);
  font-size: .8rem;
  font-weight: 900;
  letter-spacing: .12em;
}

.feature-card p { margin-bottom: 1.5rem; }

.feature-card a {
  margin-top: auto;
  color: var(--navy);
  font-weight: 800;
  text-decoration: none;
}

.section-trust {
  background: var(--cream);
}

.trust-shell {
  position: relative;
  overflow: hidden;
  display: grid;
  grid-template-columns: .85fr 1.15fr;
  gap: 5rem;
  align-items: center;
  padding: 4.5rem;
  border-radius: var(--radius-lg);
  background:
    radial-gradient(circle at 5% 100%, rgba(33,191,174,.22), transparent 21rem),
    var(--navy);
  box-shadow: 0 28px 70px rgba(20,35,59,.16);
}

.trust-shell::after {
  content: "";
  position: absolute;
  top: -190px;
  left: 29%;
  width: 360px;
  height: 360px;
  border: 1px solid rgba(255,255,255,.08);
  border-radius: 50%;
}

.trust-heading { position: relative; z-index: 1; }
.trust-heading .eyebrow { color: #ffb8b1; }
.trust-heading h2 { max-width: 460px; color: var(--white); }

.trust-symbol {
  position: relative;
  width: 96px;
  height: 96px;
  margin-top: 2.5rem;
  display: grid;
  place-items: center;
  color: var(--mint-strong);
}

.trust-symbol svg { position: relative; z-index: 1; width: 54px; height: 54px; }
.trust-orbit { position: absolute; inset: 0; border: 1px solid rgba(188,235,217,.42); border-radius: 50%; }
.trust-orbit::before { content: ""; position: absolute; top: 8px; right: 10px; width: 12px; height: 12px; border: 3px solid var(--navy); border-radius: 50%; background: var(--coral); }

.trust-card {
  position: relative;
  z-index: 1;
  padding: 2rem;
  border: 1px solid rgba(255,255,255,.1);
  border-radius: 22px;
  background: var(--white);
  box-shadow: 0 22px 50px rgba(0,0,0,.18);
}

.trust-card > p { color: var(--muted); }
.trust-card > p + p { padding-top: 1rem; border-top: 1px solid var(--line); }

.trust-choice {
  margin-top: 1.4rem;
  display: grid;
  grid-template-columns: 42px 1fr;
  gap: .85rem;
  align-items: start;
  padding: 1.25rem;
  color: #12685f;
  border-radius: 15px;
  background: #e7f7ef;
}

.trust-choice svg { width: 28px; height: 28px; margin-top: .1rem; }
.trust-choice p { margin: 0; color: var(--navy); font-size: 1.08rem; font-weight: 750; }

.section-cta {
  padding-top: 2rem;
}

.cta-panel {
  padding: 5rem 2rem;
  color: var(--white);
  border-radius: var(--radius-lg);
  background:
    radial-gradient(circle at 85% 10%, rgba(255,107,94,.4), transparent 18rem),
    var(--navy);
  text-align: center;
}

.cta-panel h2 { color: var(--white); }
.cta-panel p { max-width: 700px; margin-inline: auto; color: #d9e0ea; }

.button-row-centred { justify-content: center; margin-top: 2rem; }

.button svg { width: 19px; height: 19px; margin-right: .55rem; }
.cta-call { min-width: 220px; }

.button-light {
  color: var(--navy);
  background: var(--white);
}

.button-light:hover { color: var(--navy); background: #f5f7fb; }
.button-light:active { color: var(--navy); background: #e3e8f0; }

.button-accent {
  color: var(--white);
  background: var(--coral-action);
  box-shadow: 0 12px 26px rgba(0,0,0,.16);
}

.button-accent:hover { color: var(--white); background: var(--coral-action-hover); }
.button-accent:active { color: var(--white); background: var(--coral-action-active); }

.button-outline-light {
  color: var(--white);
  border-color: rgba(255,255,255,.55);
  background: rgba(255,255,255,.08);
}

.button-outline-light:hover { color: var(--white); border-color: var(--white); background: rgba(255,255,255,.16); }
.button-outline-light:active { color: var(--white); background: rgba(255,255,255,.22); }

.site-footer {
  padding: 3.15rem 0;
  color: #acb7c8;
  background: #0f1a2d;
}

.footer-grid {
  display: grid;
  grid-template-columns: 1fr auto auto;
  gap: 4rem;
  align-items: start;
}

.footer-links { display: grid; gap: .65rem; }
.footer-meta { text-align: right; font-size: .88rem; }
.footer-meta p { margin-bottom: .35rem; }

.footer-phone {
  min-height: 38px;
  display: inline-flex;
  align-items: center;
  gap: .5rem;
  color: var(--white);
}

.footer-phone svg { width: 17px; height: 17px; color: #ffb8b1; }
.ct-honeypot { position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
.ct-form-error { color: #9e3128; border-color: rgba(158,49,40,.35); background: #fff0ee; }

/* About page */
.about-page .eyebrow:not(.eyebrow-light) { color: var(--coral-action); }
.about-page .primary-nav a:focus-visible { outline-color: var(--blue-strong); }
.about-page .about-product .text-link:focus-visible { outline-color: var(--mint); }
.about-page .footer-links a:focus-visible,
.about-page .footer-phone:focus-visible { outline-color: #ffb8b1; }

.about-hero {
  position: relative;
  overflow: clip;
  padding: 7rem 0 6.5rem;
  background: #fff5f1;
}

.about-hero::before {
  content: "";
  position: absolute;
  left: -180px;
  bottom: -270px;
  width: 470px;
  height: 470px;
  border: 1px solid rgba(201,66,57,.12);
  border-radius: 50%;
}

.about-hero::after {
  content: "";
  position: absolute;
  top: -120px;
  right: -130px;
  width: 360px;
  height: 310px;
  border-radius: 48% 52% 58% 42%;
  background: rgba(188,235,217,.52);
  transform: rotate(-12deg);
}

.about-manifesto,
.about-editorial > *,
.beliefs-layout > *,
.product-path-item > *,
.relationship-panel > *,
.long-term-layout > * { min-width: 0; }

.about-manifesto { position: relative; z-index: 1; }
.about-manifesto-heading { max-width: 1040px; }

.about-manifesto h1 {
  max-width: 1000px;
  margin-bottom: 0;
  font-size: clamp(3.4rem, 5vw, 4.8rem);
  line-height: 1.03;
}

.about-manifesto-mark {
  width: 156px;
  margin: 3rem 0 2.75rem;
  display: grid;
  gap: .55rem;
}

.about-manifesto-mark span { height: 8px; border-radius: 999px; background: var(--coral); }
.about-manifesto-mark span:nth-child(2) { width: 72%; margin-left: 18%; background: var(--mint-strong); }
.about-manifesto-mark span:nth-child(3) { width: 46%; margin-left: 42%; }

.about-manifesto-lower {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(300px, .72fr);
  gap: clamp(3rem, 8vw, 7rem);
  align-items: end;
  padding-top: 2.25rem;
  border-top: 1px solid rgba(20,35,59,.12);
}

.about-manifesto-copy { max-width: 690px; }
.about-manifesto-copy p {
  color: var(--muted);
  font-size: 1.08rem;
}

.about-hero-lede {
  margin-bottom: 1rem;
  color: var(--ink) !important;
  font-size: clamp(1.1rem, 1.45vw, 1.24rem) !important;
}

.about-hero-actions {
  max-width: 440px;
  justify-content: flex-end;
  justify-self: end;
}

.belief-icon,
.product-icon,
.relationship-symbol,
.stewardship-shield {
  display: grid;
  place-items: center;
  flex: 0 0 auto;
}

.belief-icon svg,
.product-icon svg,
.relationship-symbol svg,
.stewardship-shield svg,
.stewardship-note svg {
  fill: none;
  stroke: currentColor;
  stroke-width: 1.8;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.about-problem {
  border-top: 1px solid rgba(201,66,57,.08);
  background:
    linear-gradient(180deg, rgba(255,107,94,.035), transparent 10rem),
    var(--white);
}

.about-editorial {
  max-width: 980px;
}

.about-section-intro { max-width: 760px; }
.about-section-intro,
.beliefs-intro { position: relative; }
.about-section-intro h2,
.beliefs-intro h2,
.about-product-heading h2,
.relationship-heading h2,
.long-term-heading h2 { font-size: clamp(2.45rem, 3.8vw, 3.75rem); }

.about-prose { max-width: 680px; }
.about-prose p,
.belief-item p,
.product-expression p,
.relationship-content p,
.long-term-reading p { color: var(--muted); font-size: 1.05rem; }
.about-lead { color: var(--navy) !important; font-size: 1.28rem !important; font-weight: 750; }
.editorial-conclusion { margin-top: 2rem; color: var(--navy) !important; font-size: 1.25rem !important; font-weight: 850; }

.problem-copy {
  margin-top: 4rem;
  margin-left: auto;
  padding-left: 2.5rem;
  border-left: 1px solid rgba(201,66,57,.24);
}

.problem-balance {
  width: min(100%, 360px);
  margin-top: 3rem;
  display: grid;
  grid-template-columns: auto 1fr auto;
  gap: .8rem;
  align-items: center;
  color: var(--navy-soft);
  font-size: .72rem;
  font-weight: 800;
  letter-spacing: .06em;
  text-transform: uppercase;
}

.problem-balance i { position: relative; height: 2px; background: #c7d1df; }
.problem-balance i::before,
.problem-balance i::after { content: ""; position: absolute; top: 50%; width: 9px; height: 9px; border-radius: 50%; transform: translateY(-50%); }
.problem-balance i::before { left: 0; background: var(--coral); }
.problem-balance i::after { right: 0; background: var(--mint-strong); }
.problem-balance b { position: absolute; left: 50%; top: 50%; width: 28px; height: 28px; border: 2px solid var(--navy); border-radius: 50%; background: var(--white); transform: translate(-50%,-50%); }
.problem-balance b::before { content: "+"; position: absolute; inset: 0; display: grid; place-items: center; color: var(--navy); font-size: 1rem; }

.about-beliefs {
  background:
    radial-gradient(circle at 9% 12%, rgba(255,107,94,.08), transparent 25rem),
    #fbf8f6;
}

.beliefs-layout { display: block; }

.beliefs-intro { max-width: 760px; margin-bottom: 5.5rem; }
.beliefs-intro > p:not(.eyebrow) { max-width: 570px; color: var(--muted); }
.about-line-mark { width: 170px; margin-top: 2.5rem; }

.belief-list {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1.5rem;
  align-items: stretch;
}

.belief-item {
  --belief-accent: var(--coral);
  position: relative;
  overflow: hidden;
  display: grid;
  grid-template-rows: auto 1fr;
  gap: 1.5rem;
  min-width: 0;
  height: 100%;
  padding: 2rem;
  border: 1px solid rgba(20,35,59,.1);
  border-radius: 22px;
  background: rgba(255,253,251,.94);
  box-shadow: 0 14px 36px rgba(20,35,59,.055);
}

.belief-item::before {
  content: "";
  position: absolute;
  inset: 0 0 auto;
  height: 4px;
  background: var(--belief-accent);
}

.belief-item:nth-child(even) { --belief-accent: var(--mint-strong); }

.belief-card-heading {
  display: grid;
  grid-template-columns: 48px minmax(0, 1fr);
  gap: 1rem;
  align-items: center;
  min-width: 0;
}

.belief-icon { width: 48px; height: 48px; border-radius: 14px; }
.belief-icon svg { width: 24px; height: 24px; }
.belief-item h3 {
  min-width: 0;
  margin: 0;
  font-size: clamp(1.35rem, 2.1vw, 1.75rem);
}
.belief-item p { margin-bottom: .7rem; }
.belief-item p:last-child { margin-bottom: 0; }

.about-product {
  color: var(--white);
  background:
    radial-gradient(circle at 88% 8%, rgba(255,107,94,.2), transparent 24rem),
    var(--navy);
}

.about-product-heading { max-width: 760px; margin-bottom: 2.75rem; }
.about-product-heading h2 {
  margin-bottom: 1rem;
  color: var(--white);
  font-size: clamp(2.1rem, 3.15vw, 3.15rem);
  line-height: 1.04;
}
.about-product-heading > p:last-child {
  max-width: 620px;
  margin-bottom: 0;
  color: #e4e9f0;
  font-size: clamp(1.15rem, 1.3vw, 1.25rem);
  line-height: 1.55;
}
.product-path { border-top: 1px solid rgba(255,255,255,.09); }

.product-path-item {
  display: grid;
  grid-template-columns: 190px minmax(0, 1fr);
  gap: 1.125rem;
  align-items: start;
  padding: 2.15rem 0;
  border-bottom: 1px solid rgba(255,255,255,.09);
}

.product-principle { padding-top: .45rem; }
.product-principle small { display: block; }
.product-principle small {
  max-width: 17ch;
  color: #f3f6fa;
  font-size: 1.3rem;
  font-weight: 850;
  line-height: 1.5;
}

.product-expression {
  display: grid;
  grid-template-columns: 52px 1fr;
  gap: 1rem;
  align-items: start;
}

.product-icon { width: 52px; height: 52px; color: var(--navy); border-radius: 15px; background: var(--mint); }
.product-icon svg { width: 26px; height: 26px; }
.product-expression > div { min-width: 0; max-width: 620px; }
.product-expression h3 {
  max-width: 28ch;
  color: var(--white);
  font-size: clamp(1.45rem, 1.8vw, 1.6rem);
  line-height: 1.18;
}
.product-expression p {
  max-width: 590px;
  color: #dde4ed;
  font-size: 1.125rem;
  line-height: 1.75;
}
.product-expression ul {
  max-width: 590px;
  margin: .75rem 0 1.1rem;
  padding-left: 1.25rem;
  color: #e8edf3;
  font-size: 1.1rem;
  line-height: 1.72;
}
.product-expression li + li { margin-top: .35rem; }
.product-expression .text-link {
  width: fit-content;
  margin-top: .65rem;
  display: flex;
}

.about-relationship { background: var(--cream); }

.relationship-panel {
  position: relative;
  overflow: hidden;
  display: grid;
  grid-template-columns: .9fr 1.1fr;
  gap: clamp(3.5rem, 7vw, 6rem);
  align-items: center;
  padding: clamp(3rem, 6vw, 5.5rem);
  border: 1px solid rgba(201,66,57,.1);
  border-radius: var(--radius-lg);
  background:
    radial-gradient(circle at 5% 100%, rgba(188,235,217,.6), transparent 23rem),
    linear-gradient(120deg, #fff2ef, #fffaf8 62%);
  box-shadow: 0 24px 64px rgba(20,35,59,.09);
}

.relationship-panel::after {
  content: "";
  position: absolute;
  right: -170px;
  top: -190px;
  width: 360px;
  height: 360px;
  border: 1px solid rgba(201,66,57,.1);
  border-radius: 50%;
}

.relationship-heading,
.relationship-content { position: relative; z-index: 1; }
.relationship-symbol { width: 78px; height: 78px; margin-top: 2.2rem; color: #12685f; border: 1px solid rgba(33,191,174,.3); border-radius: 50%; background: rgba(255,255,255,.7); }
.relationship-symbol svg { width: 38px; height: 38px; }
.relationship-content { padding: 2rem; border-radius: 22px; background: rgba(255,255,255,.86); box-shadow: 0 18px 42px rgba(20,35,59,.08); }
.relationship-content p + p { padding-top: .9rem; border-top: 1px solid var(--line); }
.relationship-content blockquote { margin: 1.5rem 0 0; padding: 1.35rem 1.5rem; color: var(--navy); border-left: 5px solid var(--coral); border-radius: 0 14px 14px 0; background: #fff0ee; font-size: 1.25rem; font-weight: 850; line-height: 1.45; }

.about-long-term {
  background:
    radial-gradient(circle at 90% 12%, rgba(199,220,255,.38), transparent 22rem),
    var(--white);
}

.long-term-layout {
  display: grid;
  grid-template-columns: minmax(0, 1.08fr) minmax(390px, .92fr);
  gap: clamp(4rem, 8vw, 7rem);
  align-items: center;
}

.long-term-copy { max-width: 690px; }
.long-term-list { margin: 1.5rem 0 2rem; padding: 0; display: grid; gap: .65rem; list-style: none; }
.long-term-list li { position: relative; padding-left: 1.75rem; color: var(--navy-soft); font-weight: 700; }
.long-term-list li::before { content: ""; position: absolute; left: 0; top: .62em; width: 8px; height: 8px; border-radius: 50%; background: var(--mint-strong); }

.stewardship-visual {
  position: relative;
  overflow: hidden;
  padding: 1.5rem;
  border: 1px solid var(--line);
  border-radius: 28px;
  background: rgba(255,255,255,.94);
  box-shadow: var(--shadow);
}

.stewardship-visual::before { content: ""; position: absolute; right: -90px; bottom: -110px; width: 220px; height: 220px; border: 1px solid rgba(20,35,59,.08); border-radius: 50%; }
.stewardship-top { position: relative; display: flex; gap: 1rem; align-items: center; padding-bottom: 1.2rem; border-bottom: 1px solid var(--line); }
.stewardship-top small,
.stewardship-top strong { display: block; }
.stewardship-top small { color: var(--muted); font-size: .67rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.stewardship-top strong { color: var(--navy); }
.stewardship-shield { width: 50px; height: 50px; color: #12685f; border-radius: 15px; background: #ddf6f2; }
.stewardship-shield svg { width: 25px; height: 25px; }
.foundation-list { position: relative; display: grid; grid-template-columns: 1fr 1fr; gap: .85rem; padding: 1.25rem 0; }
.foundation-list span { display: flex; align-items: center; gap: .65rem; padding: .8rem; color: var(--navy); border: 1px solid var(--line); border-radius: 12px; background: #fbfcfe; font-size: .82rem; font-weight: 750; }
.foundation-list i { width: 8px; height: 8px; border-radius: 50%; background: var(--coral); }
.foundation-list span:nth-child(even) i { background: var(--mint-strong); }
.stewardship-note { position: relative; display: grid; grid-template-columns: auto 34px 1fr; gap: .7rem; align-items: center; padding: 1rem; color: var(--muted); border-radius: 14px; background: #eef4ff; font-size: .73rem; }
.stewardship-note svg { width: 19px; height: 19px; color: #304f83; }
.stewardship-note strong { color: var(--navy); }
.about-cta .cta-panel h2 { max-width: 850px; margin-inline: auto; }

@media (max-width: 1120px) {
  .header-inner { gap: 1.15rem; }
  .primary-nav { gap: 1rem; }
  .header-phone-label { display: none; }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    scroll-behavior: auto !important;
    transition: none !important;
  }
}

@media (min-width: 769px) {
  .hero {
    padding: clamp(4rem, 5vw, 5rem) 0 clamp(4rem, 4.5vw, 4.5rem);
  }

  .hero-grid {
    grid-template-columns: minmax(0, 1.12fr) minmax(420px, .88fr);
    gap: clamp(3rem, 4vw, 4rem);
  }

  h1 {
    margin-bottom: 1.25rem;
    font-size: clamp(3.25rem, calc(2rem + 2.5vw), 4.5rem);
  }

  .hero-lede {
    margin-bottom: 1.5rem;
    line-height: 1.55;
  }

  .hero-demo { margin-top: 1rem; }
}

@media (max-width: 940px) {
  .primary-nav { display: none; }
  .header-phone { margin-left: auto; }
  .header-cta { margin-left: 0; }
  .hero { padding-top: 5.5rem; }
  .hero-grid,
  .split-layout,
  .split-layout-reverse,
  .approach-layout,
  .philosophy-layout,
  .trust-shell {
    grid-template-columns: 1fr;
    gap: 3.5rem;
  }
  .approach-copy { max-width: 760px; }
  .clarity-visual { max-width: 620px; }
  .philosophy-card { max-width: 720px; }
  .trust-shell { padding: 3.5rem; }
  .trust-symbol { margin-top: 1.5rem; }
  .hero-visual { max-width: 620px; }
  .feature-grid { grid-template-columns: repeat(2, 1fr); }
  .footer-grid { grid-template-columns: 1fr 1fr; }
  .footer-meta { grid-column: 1 / -1; text-align: left; }

  .about-hero-grid,
  .about-editorial,
  .beliefs-layout,
  .relationship-panel,
  .long-term-layout {
    grid-template-columns: 1fr;
    gap: 3.5rem;
  }

  .about-hero { padding: 5.5rem 0 5rem; }
  .about-hero-copy { max-width: 760px; }
  .about-purpose-visual { max-width: 620px; justify-self: center; }
  .about-section-intro,
  .beliefs-intro { position: static; }
  .beliefs-intro > p:not(.eyebrow) { max-width: 620px; }
  .relationship-heading h2 { max-width: 650px; }
  .stewardship-visual { width: 100%; max-width: 620px; }
}

@media (max-width: 767px) {
  .hero-grid,
  .hero-grid > *,
  .approach-layout,
  .approach-layout > *,
  .philosophy-layout,
  .philosophy-layout > *,
  .split-layout,
  .split-layout > *,
  .trust-shell,
  .trust-shell > *,
  .studio-workspace,
  .studio-canvas,
  .flow-split,
  .flow-node,
  .flow-node > span:last-child {
    min-width: 0;
  }

  .hero-visual,
  .clarity-visual,
  .philosophy-card,
  .studio-panel {
    width: 100%;
    max-width: 100%;
  }

  .hero-visual,
  .clarity-visual {
    overflow: clip;
  }

  .hero-visual::before {
    inset: 9% 0 0 8%;
  }

  .clarity-visual::before {
    inset: 11% 0 0 12%;
    transform: rotate(1.5deg);
  }

  .section-philosophy::after {
    right: -80px;
    bottom: -110px;
    width: 260px;
    height: 260px;
  }

  .trust-shell::after {
    top: -105px;
    left: 34%;
    width: 240px;
    height: 240px;
  }

  .studio-connectors { overflow: hidden; }
  .hero-demo-copy,
  .trust-choice,
  .philosophy-statement { min-width: 0; }

  .about-purpose-visual {
    overflow: clip;
    max-width: 100%;
  }

  .about-purpose-visual::before {
    inset: 10% 0 0 9%;
    transform: rotate(1.5deg);
  }

  .product-path-item {
    grid-template-columns: 1fr;
    gap: 1rem;
  }

  .product-principle { text-align: center; }
  .product-principle small { margin-inline: auto; }
}

@media (max-width: 768px) {
  .approach-layout {
    justify-items: center;
  }

  .approach-copy {
    width: 100%;
    justify-self: stretch;
  }

  .clarity-visual {
    width: 100%;
    max-width: 620px;
  }

  .approach-copy > .eyebrow,
  .approach-copy > h2,
  .approach-copy > .statement,
  .philosophy-intro,
  .prose-light > .eyebrow,
  .prose-light > h2,
  .prose-light > .statement-light,
  .section-heading > .eyebrow,
  .section-heading > h2,
  .section-heading > p,
  .trust-heading {
    text-align: center;
  }

  .approach-copy > h2 {
    max-width: 19ch;
    margin-inline: auto;
  }

  .approach-copy > .statement {
    max-width: 30ch;
    margin-inline: auto;
  }

  .philosophy-intro > h2 {
    max-width: 15ch;
    margin-inline: auto;
  }

  .philosophy-intro {
    width: 100%;
    max-width: 560px;
    margin-inline: auto;
  }

  .philosophy-motif {
    margin-inline: auto;
  }

  .prose-light {
    width: 100%;
    margin-inline: auto;
  }

  .prose-light > h2 {
    max-width: 17ch;
    margin-inline: auto;
  }

  .prose-light > .statement-light {
    max-width: 32ch;
    margin-inline: auto;
  }

  .prose-light > .text-link-light {
    display: flex;
    width: fit-content;
    margin-inline: auto;
  }

  .section-heading > h2 {
    max-width: 17ch;
    margin-inline: auto;
  }

  .section-heading > p {
    max-width: 38ch;
    margin-inline: auto;
  }

  .trust-heading > h2 {
    max-width: 15ch;
    margin-inline: auto;
  }

  .trust-symbol {
    margin-inline: auto;
  }

  .studio-panel {
    width: 100%;
    max-width: 100%;
  }

  .product-path-item {
    grid-template-columns: 1fr;
    justify-items: center;
    gap: 1rem;
    text-align: center;
  }

  .product-principle { padding-top: 0; }
  .product-principle small { margin-inline: auto; }

  .product-expression {
    width: 100%;
    max-width: 680px;
    grid-template-columns: 1fr;
    justify-items: center;
    gap: .9rem;
    text-align: center;
  }

  .product-expression > div,
  .product-expression h3,
  .product-expression p { margin-inline: auto; }

  .product-expression p { text-align: left; }

  .product-expression ul {
    width: fit-content;
    max-width: 100%;
    margin-inline: auto;
    text-align: left;
  }

  .product-expression .text-link {
    width: fit-content;
    margin-inline: auto;
  }

  .about-section-intro > .eyebrow,
  .about-section-intro > h2,
  .beliefs-intro > .eyebrow,
  .beliefs-intro > h2,
  .beliefs-intro > p,
  .about-product-heading,
  .relationship-heading > .eyebrow,
  .relationship-heading > h2,
  .long-term-copy > .eyebrow,
  .long-term-copy > h2 {
    text-align: center;
  }

  .about-section-intro > h2,
  .beliefs-intro > h2,
  .about-product-heading > h2,
  .relationship-heading > h2,
  .long-term-copy > h2 {
    max-width: 18ch;
    margin-inline: auto;
  }

  .about-product-heading > p:last-child,
  .beliefs-intro > p:not(.eyebrow) {
    margin-inline: auto;
    text-align: center;
  }

  .belief-list {
    grid-template-columns: 1fr;
    gap: 1.25rem;
  }

  .belief-item {
    width: 100%;
    max-width: 680px;
    margin-inline: auto;
    padding: 1.75rem;
  }

  .problem-balance,
  .about-line-mark,
  .relationship-symbol { margin-inline: auto; }

  .about-page .header-phone,
  .about-page .text-link,
  .about-page .footer-links a {
    min-height: 44px;
    display: flex;
    align-items: center;
  }
}

@media (max-width: 640px) {
  .container { width: min(calc(100% - 1.25rem), var(--container)); }
  .header-inner { min-height: 68px; }
  .header-cta { display: none; }
  .header-phone { min-height: 44px; padding: .25rem; }
  .header-phone-label { display: none; }
  .header-phone strong { font-size: .8rem; }
  .hero-demo { width: 100%; align-items: flex-start; }
  .hero { padding: 4.5rem 0 4rem; }
  h1 { font-size: clamp(2.45rem, 13vw, 4rem); }
  h2 { font-size: clamp(2rem, 10vw, 3rem); }
  .section { padding: 5rem 0; }
  #why-talklayr { padding-bottom: 3.25rem; }
  .section.section-philosophy { padding-top: 3.25rem; }
  .feature-grid,
  .flow-split,
  .footer-grid { grid-template-columns: 1fr; }
  .feature-card { min-height: auto; }
  .feature-number { margin-bottom: 2rem; }
  .clarity-visual { padding: .9rem; }
  .philosophy-card { padding: 1.25rem; }
  .philosophy-motif { width: 160px; }
  .studio-panel { min-height: 500px; }
  .studio-workspace { grid-template-columns: 44px 1fr; }
  .studio-node { width: min(160px, calc(100% - 24px)); grid-template-columns: 32px 1fr; gap: .45rem; padding: .55rem; }
  .studio-node > i { display: none; }
  .studio-node-icon { width: 31px; height: 31px; }
  .studio-node-team,
  .studio-node-assistant { width: min(145px, calc(50% - 6px)); }
  .studio-node-team { left: 25%; }
  .studio-node-assistant { left: 75%; }
  .studio-title { left: 48%; }
  .studio-save-state { display: none; }
  .trust-shell { padding: 2.5rem 1.25rem; border-radius: 24px; }
  .trust-card { padding: 1.25rem; }
  .button-row .button { width: 100%; }
  .cta-panel { padding: 4rem 1.25rem; border-radius: 24px; }
  .footer-phone { min-height: 44px; }

  .about-hero { padding: 4.5rem 0 4rem; }
  .about-hero h1 { font-size: clamp(2.35rem, 10.8vw, 3rem); }
  .about-hero-actions { margin-top: 1.6rem; }
  .purpose-panel { padding: .9rem; border-radius: 24px; }
  .purpose-step { grid-template-columns: 40px 1fr; gap: .7rem; padding: .7rem; }
  .purpose-step em { display: none; }
  .purpose-icon { width: 38px; height: 38px; }
  .about-editorial,
  .beliefs-layout,
  .relationship-panel,
  .long-term-layout { gap: 2.75rem; }
  .belief-item { gap: 1.25rem; padding: 1.4rem; }
  .belief-card-heading { grid-template-columns: 44px minmax(0, 1fr); gap: .9rem; }
  .belief-icon { width: 44px; height: 44px; }
  .about-product-heading { margin-bottom: 2.25rem; }
  .product-path-item { padding: 2rem 0; }
  .product-expression { grid-template-columns: 1fr; gap: .9rem; }
  .relationship-panel { padding: 2rem 1.25rem; border-radius: 24px; }
  .relationship-content { padding: 1.25rem; }
  .relationship-content blockquote { padding: 1.15rem; font-size: 1.1rem; }
  .stewardship-visual { padding: 1.1rem; border-radius: 22px; }
  .stewardship-note { grid-template-columns: 1fr; }
  .stewardship-note svg { transform: rotate(90deg); }
}

@media (max-width: 370px) {
  .header-phone-copy { display: none; }
  .header-phone-icon { width: 42px; height: 42px; }
}

/* Journey Studio page */
.journey-studio-page {
  background: var(--cream);
}

.journey-studio-page .primary-nav a:focus-visible,
.journey-studio-page .footer-links a:focus-visible,
.journey-studio-page .text-link:focus-visible {
  outline-color: rgba(255,107,94,.5);
}

.journey-studio-page .header-phone:focus-visible,
.journey-studio-page .footer-phone:focus-visible {
  outline-color: var(--coral-action);
}

.journey-studio-page .button:focus-visible {
  box-shadow: 0 0 0 6px rgba(33,191,174,.55);
}

.js-product-shell svg,
.js-clarity-composition svg,
.js-stage-route svg,
.js-node-library svg,
.js-branch-visual svg,
.js-review-layout svg,
.js-scale-visual svg,
.js-outcome-sequence svg,
.js-hero-actions svg,
.js-final-actions svg {
  fill: none;
  stroke: currentColor;
  stroke-width: 1.8;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.js-hero {
  position: relative;
  overflow: clip;
  padding: clamp(4.75rem, 7vw, 7rem) 0 clamp(5rem, 7vw, 7rem);
  background:
    radial-gradient(circle at 94% 4%, rgba(188,235,217,.68), transparent 28rem),
    radial-gradient(circle at 3% 95%, rgba(255,107,94,.11), transparent 26rem),
    #fff8f5;
}

.js-hero::before {
  content: "";
  position: absolute;
  left: -9rem;
  bottom: -15rem;
  width: 28rem;
  height: 28rem;
  border: 1px solid rgba(201,66,57,.11);
  border-radius: 50%;
}

.js-hero-grid {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, .86fr) minmax(520px, 1.14fr);
  gap: clamp(2.5rem, 5vw, 5rem);
  align-items: center;
}

.js-hero-grid > *,
.js-problem-layout > *,
.js-paths-layout > *,
.js-review-layout > *,
.js-scale-layout > * { min-width: 0; }

.js-hero-copy { position: relative; z-index: 1; }
.js-hero-copy h1 {
  max-width: 700px;
  margin-bottom: 1.6rem;
  font-size: clamp(3.2rem, 5.25vw, 4.75rem);
  line-height: 1.03;
}

.js-hero-lede { max-width: 630px; }
.js-hero-lede p {
  margin-bottom: .9rem;
  color: var(--muted);
  font-size: clamp(1.08rem, 1.4vw, 1.22rem);
  line-height: 1.62;
}
.js-hero-lede p:first-child { color: var(--navy); font-weight: 720; }
.js-hero-actions { margin-top: 2rem; }
.js-hero-actions .button svg,
.js-final-actions .button svg { width: 19px; height: 19px; }

.js-product-shell {
  position: relative;
  overflow: hidden;
  border: 1px solid rgba(20,35,59,.18);
  border-radius: 26px;
  background: var(--navy);
  box-shadow: 0 34px 90px rgba(20,35,59,.22);
}

.js-product-shell::after {
  content: "";
  position: absolute;
  right: -4rem;
  bottom: -5rem;
  width: 14rem;
  height: 14rem;
  border-radius: 50%;
  background: rgba(188,235,217,.18);
  pointer-events: none;
}

.js-product-toolbar {
  min-height: 54px;
  padding: .7rem 1rem;
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  gap: 1rem;
  align-items: center;
  color: #d9e1ec;
  border-bottom: 1px solid rgba(255,255,255,.09);
  font-size: .76rem;
}

.js-window-controls { display: flex; gap: .35rem; }
.js-window-controls span { width: 8px; height: 8px; border-radius: 50%; background: rgba(255,255,255,.25); }
.js-window-controls span:first-child { background: var(--coral); }
.js-window-controls span:nth-child(2) { background: var(--mint-strong); }
.js-product-name { display: flex; align-items: center; gap: .5rem; color: var(--white); font-weight: 800; }
.js-product-name img { width: 22px; height: 22px; }
.js-save-state { justify-self: end; color: #c9f2e3; font-weight: 750; }

.js-product-body {
  display: grid;
  grid-template-columns: 50px minmax(0, 1fr);
  min-height: 620px;
}

.js-tool-rail {
  padding: .85rem .55rem;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: .6rem;
  border-right: 1px solid rgba(255,255,255,.08);
}
.js-tool-rail span { width: 34px; height: 34px; display: grid; place-items: center; color: #93a0b4; border-radius: 9px; }
.js-tool-rail span.is-active { color: var(--navy); background: var(--mint); }
.js-tool-rail svg { width: 18px; height: 18px; }

.js-route-canvas {
  position: relative;
  overflow: hidden;
  min-height: 620px;
  background-color: #f5f1ee;
  background-image:
    linear-gradient(rgba(20,35,59,.045) 1px, transparent 1px),
    linear-gradient(90deg, rgba(20,35,59,.045) 1px, transparent 1px);
  background-size: 24px 24px;
}

.js-canvas-title {
  position: absolute;
  z-index: 3;
  inset: 1rem 1rem auto;
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 1rem;
}
.js-canvas-title span { display: grid; }
.js-canvas-title strong { color: var(--navy); font-size: .82rem; }
.js-canvas-title small { color: var(--muted); font-size: .62rem; }
.js-canvas-title i { padding: .3rem .55rem; color: #12685f; border-radius: 999px; background: #ddf6f2; font-size: .58rem; font-style: normal; font-weight: 850; }

.js-hero-connectors { position: absolute; z-index: 0; inset: 0; width: 100%; height: 100%; }
.js-hero-connectors path { fill: none; stroke-width: 4; stroke-linecap: round; stroke-linejoin: round; }
.js-hero-connectors .route-primary { stroke: var(--mint-strong); }
.js-hero-connectors .route-alternate { stroke: var(--coral-action); stroke-dasharray: 8 7; }
.js-decision-anchor {
  position: absolute;
  z-index: 1;
  top: 340px;
  left: 50%;
  width: 16px;
  height: 16px;
  border: 4px solid var(--navy-soft);
  border-radius: 50%;
  background: var(--white);
  transform: translate(-50%, -50%);
}

.js-canvas-node {
  position: absolute;
  z-index: 2;
  width: 184px;
  height: 70px;
  min-height: 62px;
  padding: .7rem .75rem;
  display: grid;
  grid-template-columns: 38px 1fr;
  grid-template-rows: auto auto;
  column-gap: .65rem;
  align-items: center;
  border: 1px solid rgba(20,35,59,.13);
  border-radius: 14px;
  background: rgba(255,255,255,.97);
  box-shadow: 0 10px 24px rgba(20,35,59,.11);
  transform: translateX(-50%);
}
.js-canvas-node::before,
.js-canvas-node::after {
  content: "";
  position: absolute;
  z-index: 1;
  left: 50%;
  width: 8px;
  height: 8px;
  border: 2px solid var(--mint-strong);
  border-radius: 50%;
  background: var(--white);
  transform: translateX(-50%);
}
.js-canvas-node::before { top: -5px; }
.js-canvas-node::after { bottom: -5px; }
.node-call::before,
.node-message::after,
.node-fallback::after { display: none; }
.node-assistant::before,
.node-assistant::after,
.node-message::before,
.node-fallback::before,
.node-sales::after { border-color: var(--coral-action); }
.js-canvas-node > span { grid-row: 1 / 3; width: 38px; height: 38px; display: grid; place-items: center; color: var(--coral-action); border-radius: 11px; background: #fff0ee; }
.js-canvas-node:nth-of-type(even) > span { color: #147a70; background: #ddf6f2; }
.js-canvas-node svg { width: 20px; height: 20px; }
.js-canvas-node small { align-self: end; color: var(--muted); font-size: .54rem; font-weight: 800; letter-spacing: .05em; text-transform: uppercase; }
.js-canvas-node strong { align-self: start; color: var(--navy); font-size: .73rem; line-height: 1.25; }
.js-canvas-node.is-selected { border: 2px solid var(--coral-action); box-shadow: 0 0 0 4px rgba(255,107,94,.14), 0 13px 28px rgba(20,35,59,.14); }
.node-call { top: 9%; left: 50%; }
.node-welcome { top: 24%; left: 50%; }
.node-hours { top: 40%; left: 50%; }
.node-sales { top: 59%; left: 28%; }
.node-assistant { top: 59%; left: 72%; }
.node-message { top: 79%; left: 28%; }
.node-fallback { top: 79%; left: 72%; }
.js-canvas-zoom { position: absolute; z-index: 3; right: .8rem; bottom: .8rem; display: flex; align-items: center; gap: .65rem; padding: .45rem .65rem; color: var(--muted); border: 1px solid rgba(20,35,59,.1); border-radius: 10px; background: rgba(255,255,255,.94); font-size: .64rem; }
.js-canvas-zoom strong { color: var(--navy); }

.js-section-copy h2,
.js-section-intro h2,
.js-paths-copy h2,
.js-scale-copy h2,
.js-conversation-heading h2,
.js-final-cta h2 {
  font-size: clamp(2.45rem, 4vw, 3.85rem);
  line-height: 1.06;
}

.js-reading-copy { max-width: 680px; }
.js-reading-copy p { color: var(--muted); font-size: 1.08rem; line-height: 1.72; }
.js-section-intro { max-width: 830px; margin-bottom: 4rem; }
.js-section-intro .js-reading-copy { max-width: 700px; }
.js-intro-wide { max-width: 920px; }
.js-section-closing { max-width: 760px; margin: 3rem 0 0; color: var(--navy) !important; font-size: 1.2rem !important; font-weight: 800; }

.js-problem {
  background:
    linear-gradient(180deg, rgba(255,107,94,.035), transparent 11rem),
    var(--white);
}
.js-problem-layout { display: grid; grid-template-columns: minmax(0, .95fr) minmax(430px, 1.05fr); gap: clamp(3rem, 7vw, 6rem); align-items: center; }
.js-clarity-composition {
  position: relative;
  overflow: hidden;
  padding: clamp(1.4rem, 3vw, 2.2rem);
  border: 1px solid rgba(20,35,59,.09);
  border-radius: 28px;
  background: #fbf8f6;
  box-shadow: 0 20px 55px rgba(20,35,59,.09);
}
.js-clarity-composition::before { content: ""; position: absolute; width: 13rem; height: 13rem; right: -5rem; top: -6rem; border-radius: 50%; background: rgba(188,235,217,.5); }
.clarity-state-label { display: block; margin-bottom: .8rem; color: var(--muted); font-size: .6rem; font-weight: 850; letter-spacing: .08em; text-transform: uppercase; }
.clarity-fragment-list { position: relative; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: .7rem; }
.clarity-fragment-list > span { min-width: 0; padding: .85rem; border: 1px dashed rgba(20,35,59,.18); border-radius: 12px; background: rgba(255,255,255,.82); box-shadow: 0 7px 18px rgba(20,35,59,.045); transform: rotate(-1.1deg); }
.clarity-fragment-list > span:nth-child(2) { transform: translateY(.45rem) rotate(1deg); }
.clarity-fragment-list > span:nth-child(3) { transform: rotate(-.35deg); }
.clarity-fragment-list small,
.clarity-fragment-list strong { display: block; }
.clarity-fragment-list small { color: var(--coral-action); font-size: .58rem; font-weight: 850; letter-spacing: .06em; text-transform: uppercase; }
.clarity-fragment-list strong { margin-top: .2rem; color: var(--navy); font-size: .72rem; line-height: 1.3; }
.clarity-transition { position: relative; margin: 1.8rem 0 1.35rem; display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; gap: .65rem; color: var(--navy); font-size: .64rem; font-weight: 850; letter-spacing: .07em; text-transform: uppercase; }
.clarity-transition i { height: 1px; background: rgba(20,35,59,.14); }
.clarity-journey { position: relative; }
.clarity-node { position: relative; z-index: 1; width: min(100%, 235px); min-height: 58px; margin-inline: auto; padding: .65rem .75rem; display: grid; grid-template-columns: 36px 1fr; gap: .65rem; align-items: center; border: 1px solid rgba(20,35,59,.12); border-radius: 13px; background: var(--white); box-shadow: 0 8px 20px rgba(20,35,59,.07); }
.clarity-node > span { width: 36px; height: 36px; display: grid; place-items: center; color: #147a70; border-radius: 10px; background: #ddf6f2; }
.clarity-node svg,
.clarity-outcome svg { width: 19px; height: 19px; }
.clarity-node small,
.clarity-node strong { display: block; }
.clarity-node small { color: var(--muted); font-size: .58rem; font-weight: 850; letter-spacing: .06em; text-transform: uppercase; }
.clarity-node strong { color: var(--navy); font-size: .72rem; line-height: 1.25; }
.clarity-port,
.clarity-outcome::before { position: absolute; z-index: 3; left: 50%; width: 8px; height: 8px; border: 2px solid var(--mint-strong); border-radius: 50%; background: var(--white); transform: translateX(-50%); }
.clarity-port.port-top,
.clarity-outcome::before { top: -5px; }
.clarity-port.port-bottom { bottom: -5px; }
.clarity-decision { margin-top: 1rem; }
.clarity-decision::before { content: ""; position: absolute; left: 50%; bottom: 100%; width: 2px; height: 1rem; background: var(--mint-strong); transform: translateX(-50%); }
.clarity-decision::after { content: ""; position: absolute; left: 50%; top: 100%; width: 2px; height: 1.5rem; background: var(--mint-strong); transform: translateX(-50%); }
.clarity-outcomes { --clarity-gap: .65rem; position: relative; z-index: 1; margin-top: 3rem; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--clarity-gap); }
.clarity-branch-line { position: absolute; z-index: 0; top: -1.5rem; pointer-events: none; }
.clarity-branch-line.branch-open { left: calc(16.6667% - (var(--clarity-gap) / 3)); right: 50%; height: 2px; background: var(--mint-strong); }
.clarity-branch-line.branch-exception { left: 50%; right: calc(16.6667% - (var(--clarity-gap) / 3)); height: 0; border-top: 2px dashed var(--coral-action); }
.clarity-branch-anchor { position: absolute; z-index: 2; top: -1.5rem; left: 50%; width: 13px; height: 13px; border: 3px solid var(--white); border-radius: 50%; background: var(--navy-soft); box-shadow: 0 0 0 2px var(--mint-strong); transform: translate(-50%, -50%); }
.clarity-outcome { position: relative; z-index: 1; min-width: 0; min-height: 104px; padding: .75rem .6rem; display: grid; grid-template-columns: 32px minmax(0, 1fr); grid-template-rows: auto auto; column-gap: .5rem; align-content: center; border: 1px solid rgba(20,35,59,.11); border-radius: 13px; background: var(--white); box-shadow: 0 8px 20px rgba(20,35,59,.06); }
.clarity-outcome::before { content: ""; }
.clarity-outcome > i { position: absolute; z-index: 0; left: 50%; bottom: 100%; width: 2px; height: 1.5rem; background: var(--mint-strong); transform: translateX(-50%); }
.clarity-outcome.outcome-closed > i,
.clarity-outcome.outcome-unanswered > i { width: 0; background: none; border-left: 2px dashed var(--coral-action); }
.clarity-outcome.outcome-closed::before,
.clarity-outcome.outcome-unanswered::before { border-color: var(--coral-action); }
.clarity-outcome > span { grid-row: 1 / 3; width: 32px; height: 32px; display: grid; place-items: center; color: #147a70; border-radius: 9px; background: #ddf6f2; }
.clarity-outcome.outcome-closed > span,
.clarity-outcome.outcome-unanswered > span { color: var(--coral-action); background: #fff0ee; }
.clarity-outcome small { align-self: end; color: var(--coral-action); font-size: .58rem; font-weight: 850; letter-spacing: .05em; text-transform: uppercase; }
.clarity-outcome.outcome-open small { color: #147a70; }
.clarity-outcome strong { align-self: start; color: var(--navy); font-size: .67rem; line-height: 1.22; }

.js-how { background: #fff8f5; }
.js-stage-route { position: relative; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1.25rem; }
.js-stage-route::before { content: ""; position: absolute; z-index: 0; top: 29px; left: 7%; right: 7%; height: 2px; background: linear-gradient(90deg, var(--coral), var(--mint-strong)); }
.js-stage-route article { position: relative; z-index: 1; padding: 0 .5rem; }
.js-stage-icon { width: 58px; height: 58px; margin-bottom: 1.4rem; display: grid; place-items: center; color: var(--coral-action); border: 7px solid #fff8f5; border-radius: 50%; background: #fff0ee; box-shadow: 0 0 0 1px rgba(201,66,57,.15); }
.js-stage-route article:nth-child(even) .js-stage-icon { color: #147a70; background: #ddf6f2; box-shadow: 0 0 0 1px rgba(33,191,174,.2); }
.js-stage-icon svg { width: 24px; height: 24px; }
.js-stage-route h3 { font-size: 1.35rem; line-height: 1.2; }
.js-stage-route p { color: var(--muted); font-size: 1rem; line-height: 1.65; }

.js-nodes { background: var(--white); }
.js-node-library { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1rem; }
.js-node-library article { min-width: 0; min-height: 190px; padding: 1.4rem; border: 1px solid rgba(20,35,59,.09); border-radius: 20px; background: #fdfbf9; box-shadow: 0 12px 30px rgba(20,35,59,.055); }
.js-library-icon { width: 46px; height: 46px; margin-bottom: 1.2rem; display: grid; place-items: center; border-radius: 13px; }
.js-library-icon.coral { color: var(--coral-action); background: #fff0ee; }
.js-library-icon.mint { color: #147a70; background: #ddf6f2; }
.js-library-icon svg { width: 23px; height: 23px; }
.js-node-library h3 { font-size: 1.2rem; line-height: 1.22; }
.js-node-library p { margin-bottom: 0; color: var(--muted); font-size: .98rem; line-height: 1.62; }

.js-paths { color: var(--white); background: var(--navy); }
.js-paths-layout { display: grid; grid-template-columns: minmax(0, .92fr) minmax(480px, 1.08fr); gap: clamp(3.5rem, 7vw, 6rem); align-items: center; }
.js-paths h2 { color: var(--white); }
.js-paths .js-reading-copy p,
.js-paths-copy > p { color: #d5dde8; }
.js-paths-copy > p { font-size: 1.05rem; }
.js-check-list { margin: 1.2rem 0 2rem; padding: 0; display: grid; grid-template-columns: 1fr 1fr; gap: .55rem 1.4rem; list-style: none; }
.js-check-list li { position: relative; padding-left: 1.35rem; color: #e4eaf2; font-size: .94rem; }
.js-check-list li::before { content: ""; position: absolute; left: 0; top: .68em; width: 7px; height: 7px; border-radius: 50%; background: var(--mint-strong); }
.js-paths-closing { max-width: 650px; padding-top: 1.3rem; border-top: 1px solid rgba(255,255,255,.1); }
.js-paths-closing p { color: #e4eaf2; }

.js-branch-visual { position: relative; overflow: hidden; min-height: 620px; padding: 2rem; border: 1px solid rgba(255,255,255,.12); border-radius: 28px; background: rgba(255,255,255,.045); }
.js-branch-visual::after { content: ""; position: absolute; width: 15rem; height: 15rem; right: -7rem; bottom: -8rem; border-radius: 50%; background: rgba(255,107,94,.12); }
.branch-start,
.branch-decision { position: relative; z-index: 1; width: min(100%, 270px); margin-inline: auto; padding: .85rem; display: grid; grid-template-columns: 42px 1fr; gap: .75rem; align-items: center; border: 1px solid rgba(255,255,255,.15); border-radius: 14px; background: rgba(255,255,255,.08); }
.branch-node-port,
.branch-route::before,
.branch-route::after {
  position: absolute;
  z-index: 3;
  left: 50%;
  width: 8px;
  height: 8px;
  border: 2px solid var(--mint-strong);
  border-radius: 50%;
  background: var(--navy-soft);
  transform: translateX(-50%);
}
.branch-node-port.port-top,
.branch-route::before { top: -5px; }
.branch-node-port.port-bottom,
.branch-route::after { bottom: -5px; }
.branch-start > span,
.branch-decision > span { width: 42px; height: 42px; display: grid; place-items: center; color: #147a70; border-radius: 12px; background: var(--mint); }
.branch-start svg,
.branch-decision svg { width: 22px; height: 22px; }
.branch-start small,
.branch-start strong,
.branch-decision small,
.branch-decision strong { display: block; }
.branch-start small,
.branch-decision small { color: #aeb9c9; font-size: .58rem; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; }
.branch-start strong,
.branch-decision strong { color: var(--white); }
.branch-decision { margin-top: 2.8rem; }
.branch-decision::before { content: ""; position: absolute; left: 50%; bottom: 100%; width: 2px; height: 2.8rem; background: var(--mint-strong); }
.branch-decision::after { content: ""; position: absolute; left: 50%; top: 100%; width: 2px; height: 1.9rem; background: var(--mint-strong); }
.branch-routes { --branch-gap: 1rem; position: relative; z-index: 1; margin-top: 3.8rem; display: grid; grid-template-columns: 1fr 1fr; gap: var(--branch-gap); }
.branch-line { position: absolute; z-index: 0; top: -1.9rem; pointer-events: none; }
.branch-line-normal { left: calc(25% - (var(--branch-gap) / 4)); right: 50%; height: 2px; background: var(--mint-strong); }
.branch-line-alternate { left: 50%; right: calc(25% - (var(--branch-gap) / 4)); height: 0; border-top: 2px dashed var(--coral); }
.branch-anchor { position: absolute; z-index: 2; top: -1.9rem; left: 50%; width: 14px; height: 14px; border: 3px solid var(--white); border-radius: 50%; background: var(--navy-soft); box-shadow: 0 0 0 2px var(--mint-strong); transform: translate(-50%, -50%); }
.branch-route { position: relative; z-index: 1; min-height: 135px; padding: 1rem; border: 1px solid rgba(255,255,255,.13); border-radius: 15px; background: rgba(255,255,255,.07); }
.branch-route::before,
.branch-route::after { content: ""; }
.branch-route > i { position: absolute; z-index: 0; left: 50%; bottom: 100%; width: 2px; height: 1.9rem; background: var(--mint-strong); transform: translateX(-50%); }
.branch-route.route-closed > i,
.branch-route.route-unanswered > i,
.branch-route.route-fallback > i { width: 0; background: none; border-left: 2px dashed var(--coral); }
.branch-route.route-unanswered > i,
.branch-route.route-fallback > i { height: var(--branch-gap); }
.branch-route.route-normal::after,
.branch-route.route-closed::before,
.branch-route.route-closed::after,
.branch-route.route-unanswered::before,
.branch-route.route-fallback::before { border-color: var(--coral); }
.branch-route.route-unanswered::after,
.branch-route.route-fallback::after { display: none; }
.route-state { display: inline-block; margin-bottom: .7rem; padding: .25rem .5rem; color: #c9f2e3; border: 1px solid rgba(188,235,217,.22); border-radius: 999px; font-size: .58rem; font-weight: 850; letter-spacing: .04em; }
.route-unanswered .route-state,
.route-fallback .route-state { color: #ffc3bd; border-color: rgba(255,107,94,.3); }
.branch-route strong,
.branch-route small { display: block; }
.branch-route strong { color: var(--white); font-size: .9rem; }
.branch-route small { margin-top: .25rem; color: #aeb9c9; font-size: .67rem; }

.js-confidence { background: #fff8f5; }
.js-review-layout { display: grid; grid-template-columns: minmax(0, .82fr) minmax(480px, 1.18fr); gap: clamp(3rem, 7vw, 6rem); align-items: center; }
.js-review-points { display: grid; gap: .25rem; }
.js-review-points article { padding: 1.3rem 0; display: grid; grid-template-columns: 46px 1fr; gap: 1rem; border-bottom: 1px solid rgba(20,35,59,.09); }
.js-review-points article > span { width: 46px; height: 46px; display: grid; place-items: center; color: var(--coral-action); border-radius: 13px; background: #fff0ee; }
.js-review-points article:nth-child(even) > span { color: #147a70; background: #ddf6f2; }
.js-review-points svg { width: 23px; height: 23px; }
.js-review-points h3 { margin-bottom: .35rem; font-size: 1.2rem; }
.js-review-points p { margin-bottom: 0; color: var(--muted); }
.js-review-canvas { overflow: hidden; border: 1px solid rgba(20,35,59,.12); border-radius: 26px; background: #f3efec; box-shadow: 0 24px 60px rgba(20,35,59,.11); }
.review-bar { min-height: 58px; padding: .8rem 1rem; display: flex; justify-content: space-between; align-items: center; gap: 1rem; color: #d6deea; background: var(--navy); font-size: .7rem; }
.review-bar span { display: flex; align-items: center; gap: .45rem; }
.review-bar svg { width: 18px; height: 18px; color: var(--mint); }
.review-bar strong { color: var(--white); }
.review-map { position: relative; min-height: 430px; padding: 2rem; background-image: linear-gradient(rgba(20,35,59,.04) 1px, transparent 1px), linear-gradient(90deg, rgba(20,35,59,.04) 1px, transparent 1px); background-size: 24px 24px; }
.review-node { position: relative; z-index: 1; width: min(100%, 250px); padding: .85rem; display: grid; grid-template-columns: 42px 1fr; gap: .7rem; align-items: center; border: 1px solid rgba(20,35,59,.12); border-radius: 14px; background: var(--white); box-shadow: 0 9px 22px rgba(20,35,59,.08); }
.review-node > span { grid-row: 1 / 3; width: 42px; height: 42px; display: grid; place-items: center; color: #147a70; border-radius: 12px; background: #ddf6f2; }
.review-node svg { width: 21px; height: 21px; }
.review-node strong { color: var(--navy); }
.review-node small { color: var(--coral-action); font-size: .62rem; font-weight: 850; }
.review-node.is-selected { border: 2px solid var(--coral-action); box-shadow: 0 0 0 5px rgba(255,107,94,.14); }
.review-entry,
.review-selected { margin-inline: auto; }
.review-entry { margin-bottom: 1.5rem; }
.review-entry::after { content: ""; position: absolute; left: 50%; top: 100%; width: 2px; height: 1.5rem; background: var(--mint-strong); transform: translateX(-50%); }
.review-port,
.review-impact-route::before { position: absolute; z-index: 3; left: 50%; width: 8px; height: 8px; border: 2px solid var(--mint-strong); border-radius: 50%; background: var(--white); transform: translateX(-50%); }
.review-port.port-top,
.review-impact-route::before { top: -5px; }
.review-port.port-bottom { bottom: -5px; }
.review-selected .port-bottom { border-color: var(--coral-action); }
.review-selected::after { content: ""; position: absolute; left: 50%; top: 100%; width: 0; height: 1.25rem; border-left: 2px dashed var(--coral-action); transform: translateX(-50%); }
.review-impact { position: relative; margin-top: 1.25rem; }
.review-impact-label { position: relative; z-index: 2; width: max-content; max-width: 100%; margin-inline: auto; padding: .35rem .6rem; display: block; color: var(--coral-action); border: 1px solid rgba(201,66,57,.22); border-radius: 999px; background: #fff0ee; font-size: .58rem; font-weight: 850; letter-spacing: .05em; text-align: center; text-transform: uppercase; }
.review-impact-label::after { content: ""; position: absolute; left: 50%; top: 100%; width: 2px; height: 1.2rem; background: var(--mint-strong); transform: translateX(-50%); }
.review-impact-routes { --impact-gap: .8rem; position: relative; margin-top: 2.4rem; display: grid; grid-template-columns: 1fr 1fr; gap: var(--impact-gap); }
.review-impact-line { position: absolute; z-index: 0; top: -1.2rem; pointer-events: none; }
.review-impact-line.impact-normal-line { left: calc(25% - (var(--impact-gap) / 4)); right: 50%; height: 2px; background: var(--mint-strong); }
.review-impact-line.impact-closed-line { left: 50%; right: calc(25% - (var(--impact-gap) / 4)); height: 0; border-top: 2px dashed var(--coral-action); }
.review-impact-anchor { position: absolute; z-index: 2; top: -1.2rem; left: 50%; width: 13px; height: 13px; border: 3px solid var(--white); border-radius: 50%; background: var(--navy-soft); box-shadow: 0 0 0 2px var(--mint-strong); transform: translate(-50%, -50%); }
.review-impact-route { position: relative; z-index: 1; min-width: 0; min-height: 78px; padding: .75rem; display: grid; grid-template-columns: 34px minmax(0, 1fr); gap: .65rem; align-items: center; border: 1px solid rgba(33,191,174,.3); border-radius: 13px; background: rgba(255,255,255,.92); box-shadow: 0 8px 20px rgba(20,35,59,.06); }
.review-impact-route::before { content: ""; }
.review-impact-route > i { position: absolute; z-index: 0; left: 50%; bottom: 100%; width: 2px; height: 1.2rem; background: var(--mint-strong); transform: translateX(-50%); }
.review-impact-route.impact-closed { border-color: rgba(201,66,57,.27); }
.review-impact-route.impact-closed::before { border-color: var(--coral-action); }
.review-impact-route.impact-closed > i { width: 0; background: none; border-left: 2px dashed var(--coral-action); }
.review-impact-route > span { width: 34px; height: 34px; display: grid; place-items: center; color: #147a70; border-radius: 10px; background: #ddf6f2; }
.review-impact-route.impact-closed > span { color: var(--coral-action); background: #fff0ee; }
.review-impact-route svg { width: 18px; height: 18px; }
.review-impact-route small,
.review-impact-route strong { display: block; }
.review-impact-route small { color: #147a70; font-size: .58rem; font-weight: 850; letter-spacing: .04em; text-transform: uppercase; }
.review-impact-route.impact-closed small { color: var(--coral-action); }
.review-impact-route strong { color: var(--navy); font-size: .75rem; line-height: 1.25; }
.review-note { padding: 1rem 1.2rem; display: grid; grid-template-columns: 40px 1fr; gap: .75rem; align-items: center; border-top: 1px solid rgba(20,35,59,.09); background: var(--white); }
.review-note > span { width: 40px; height: 40px; display: grid; place-items: center; color: var(--coral-action); border-radius: 12px; background: #fff0ee; }
.review-note svg { width: 21px; height: 21px; }
.review-note p { margin: 0; color: var(--muted); font-size: .75rem; line-height: 1.4; }
.review-note strong { display: block; color: var(--navy); }

.js-scale { background: var(--white); }
.js-scale-layout { display: grid; grid-template-columns: minmax(0, .92fr) minmax(470px, 1.08fr); gap: clamp(3rem, 7vw, 6rem); align-items: center; }
.js-capability-list { margin: 1.8rem 0 0; padding: 0; display: grid; grid-template-columns: 1fr 1fr; gap: .6rem 1.2rem; list-style: none; }
.js-capability-list li { position: relative; padding-left: 1.25rem; color: var(--navy-soft); font-size: .95rem; font-weight: 700; }
.js-capability-list li::before { content: ""; position: absolute; left: 0; top: .7em; width: 7px; height: 7px; border-radius: 50%; background: var(--coral); }
.js-scale-copy .js-section-closing { margin-top: 2rem; }
.js-scale-visual { position: relative; overflow: hidden; padding: 2rem; border: 1px solid rgba(20,35,59,.1); border-radius: 28px; background: #f7f3f0; box-shadow: 0 22px 55px rgba(20,35,59,.09); }
.js-scale-visual::before { content: ""; position: absolute; left: -5rem; top: -6rem; width: 14rem; height: 14rem; border-radius: 50%; background: rgba(188,235,217,.55); }
.scale-root { position: relative; width: min(100%, 320px); margin-inline: auto; padding: 1rem; display: grid; grid-template-columns: 46px 1fr; gap: .8rem; align-items: center; border: 1px solid rgba(20,35,59,.11); border-radius: 15px; background: var(--white); box-shadow: 0 10px 25px rgba(20,35,59,.08); }
.scale-root > span { width: 46px; height: 46px; display: grid; place-items: center; color: var(--coral-action); border-radius: 13px; background: #fff0ee; }
.scale-root svg { width: 23px; height: 23px; }
.scale-root small,
.scale-root strong { display: block; }
.scale-root small { color: var(--muted); font-size: .62rem; font-weight: 800; text-transform: uppercase; }
.scale-root strong { color: var(--navy); }
.scale-root::after { content: ""; position: absolute; left: 50%; top: 100%; width: 2px; height: 1.5rem; background: var(--mint-strong); transform: translateX(-50%); }
.scale-port,
.scale-group::after { position: absolute; z-index: 3; left: 50%; width: 8px; height: 8px; border: 2px solid var(--mint-strong); border-radius: 50%; background: var(--white); transform: translateX(-50%); }
.scale-port-bottom { bottom: -5px; }
.scale-groups { position: relative; margin-top: 3rem; display: grid; grid-template-columns: 1fr 1fr; gap: 1rem; }
.scale-groups::before { content: ""; position: absolute; left: calc(25% - .25rem); right: calc(25% - .25rem); top: -1.5rem; height: 2px; background: var(--mint-strong); }
.scale-anchor { position: absolute; z-index: 2; top: -1.5rem; left: 50%; width: 13px; height: 13px; border: 3px solid var(--white); border-radius: 50%; background: var(--navy-soft); box-shadow: 0 0 0 2px var(--mint-strong); transform: translate(-50%, -50%); }
.scale-group { position: relative; padding: 1rem; display: grid; gap: .65rem; border: 1px solid rgba(20,35,59,.1); border-radius: 16px; background: rgba(255,255,255,.76); }
.scale-group::before { content: ""; position: absolute; left: 50%; bottom: 100%; width: 2px; height: 1.5rem; background: var(--mint-strong); transform: translateX(-50%); }
.scale-group::after { content: ""; top: -5px; }
.group-label { color: var(--coral-action); font-size: .65rem; font-weight: 900; letter-spacing: .06em; text-transform: uppercase; }
.scale-group > div { padding: .65rem; display: grid; grid-template-columns: 30px 1fr; gap: .55rem; align-items: center; border-radius: 10px; background: var(--white); }
.scale-group svg { width: 18px; height: 18px; color: #147a70; }
.scale-group strong { color: var(--navy); font-size: .72rem; }
.scale-shared { margin-top: 1rem; padding: 1rem; display: grid; grid-template-columns: auto 1fr 1fr; gap: .7rem; align-items: center; border: 1px dashed rgba(20,35,59,.18); border-radius: 16px; }
.scale-shared > span { color: var(--muted); font-size: .62rem; font-weight: 850; text-transform: uppercase; }
.scale-shared > div { padding: .6rem; display: grid; grid-template-columns: 28px 1fr; gap: .5rem; align-items: center; border-radius: 10px; background: var(--white); }
.scale-shared i { width: 28px; height: 28px; display: grid; place-items: center; color: var(--coral-action); border-radius: 8px; background: #fff0ee; }
.scale-shared svg { width: 16px; height: 16px; }
.scale-shared strong { color: var(--navy); font-size: .68rem; }

.js-conversations {
  background:
    radial-gradient(circle at 8% 12%, rgba(255,107,94,.1), transparent 24rem),
    radial-gradient(circle at 92% 88%, rgba(188,235,217,.6), transparent 26rem),
    #fff8f5;
}
.js-conversation-heading { max-width: 840px; margin-bottom: 4rem; }
.js-conversation-heading .js-reading-copy { max-width: 720px; }
.js-outcome-sequence { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 1rem; }
.js-outcome-sequence article { min-width: 0; padding: 1.35rem; border-top: 3px solid var(--coral); border-radius: 0 0 18px 18px; background: rgba(255,255,255,.82); box-shadow: 0 12px 30px rgba(20,35,59,.055); }
.js-outcome-sequence article:nth-child(even) { border-color: var(--mint-strong); }
.js-outcome-sequence article > span { width: 43px; height: 43px; margin-bottom: 1.1rem; display: grid; place-items: center; color: var(--coral-action); border-radius: 13px; background: #fff0ee; }
.js-outcome-sequence article:nth-child(even) > span { color: #147a70; background: #ddf6f2; }
.js-outcome-sequence svg { width: 22px; height: 22px; }
.js-outcome-sequence h3 { font-size: 1.15rem; line-height: 1.22; }
.js-outcome-sequence p { margin-bottom: 0; color: var(--muted); font-size: .94rem; line-height: 1.6; }

.js-cta-section { background: var(--white); }
.js-final-cta { position: relative; overflow: hidden; padding: clamp(2.5rem, 6vw, 5rem); display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: clamp(2.5rem, 6vw, 5rem); align-items: end; border: 1px solid rgba(201,66,57,.13); border-radius: 30px; background: linear-gradient(120deg, #fff1ed, #fffaf8 58%, #e8f7f1); box-shadow: 0 24px 65px rgba(20,35,59,.09); }
.js-final-cta::before { content: ""; position: absolute; width: 19rem; height: 19rem; right: -10rem; top: -12rem; border: 1px solid rgba(20,35,59,.1); border-radius: 50%; }
.js-final-cta-copy { position: relative; max-width: 760px; }
.js-final-cta-copy > p:last-child { max-width: 680px; margin-bottom: 0; color: var(--muted); font-size: 1.08rem; }
.js-final-actions { position: relative; max-width: 330px; display: grid; justify-items: stretch; }
.js-final-actions .button { width: 100%; }
.js-final-actions .text-link { min-height: 44px; justify-content: center; }

@media (max-width: 1180px) {
  .js-hero-grid { grid-template-columns: minmax(0, .8fr) minmax(500px, 1.2fr); gap: 2.5rem; }
  .js-node-library { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .js-node-library article { min-height: 170px; }
  .js-outcome-sequence { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}

@media (max-width: 1024px) {
  .js-section-copy h2,
  .js-section-intro h2,
  .js-paths-copy h2,
  .js-scale-copy h2,
  .js-conversation-heading h2,
  .js-final-cta h2 { font-size: clamp(2.35rem, 5vw, 3.2rem); }
  .js-problem-layout { grid-template-columns: minmax(0, .9fr) minmax(400px, 1.1fr); gap: 3rem; }
  .js-stage-route { grid-template-columns: 1fr 1fr; gap: 2.5rem 1.5rem; }
  .js-stage-route::before { display: none; }
  .js-paths-layout,
  .js-review-layout,
  .js-scale-layout { gap: 3rem; }
  .js-check-list { grid-template-columns: 1fr; }
}

@media (max-width: 900px) {
  .js-hero {
    overflow: hidden;
    isolation: isolate;
    contain: paint;
  }
  .js-hero-grid,
  .js-problem-layout,
  .js-paths-layout,
  .js-review-layout,
  .js-scale-layout,
  .js-final-cta { grid-template-columns: 1fr; }
  .js-hero-copy { max-width: 760px; }
  .js-product-shell { width: 100%; max-width: 780px; margin-inline: auto; }
  .js-problem-layout { align-items: start; }
  .js-section-copy,
  .js-paths-copy,
  .js-scale-copy { max-width: 760px; }
  .js-clarity-composition,
  .js-branch-visual,
  .js-review-canvas,
  .js-scale-visual { width: 100%; max-width: 720px; margin-inline: auto; }
  .js-review-points { max-width: 720px; }
  .js-final-actions { width: 100%; max-width: 520px; }
}

@media (max-width: 768px) {
  .journey-studio-page .section { padding: 5.5rem 0; }
  .js-hero { padding: 5rem 0; }
  .js-hero-copy > .eyebrow,
  .js-hero-copy > h1,
  .js-section-copy > .eyebrow,
  .js-section-copy > h2,
  .js-section-intro > .eyebrow,
  .js-section-intro > h2,
  .js-paths-copy > .eyebrow,
  .js-paths-copy > h2,
  .js-scale-copy > .eyebrow,
  .js-scale-copy > h2,
  .js-conversation-heading > .eyebrow,
  .js-conversation-heading > h2,
  .js-final-cta-copy > .eyebrow,
  .js-final-cta-copy > h2 { text-align: center; }
  .js-hero-copy h1,
  .js-section-copy h2,
  .js-section-intro h2,
  .js-paths-copy h2,
  .js-scale-copy h2,
  .js-conversation-heading h2,
  .js-final-cta h2 { max-width: 18ch; margin-inline: auto; }
  .js-hero-lede {
    max-width: 640px;
    margin-inline: auto;
    text-align: center;
  }
  .js-hero-actions {
    margin: 2rem auto 0;
    justify-content: center;
  }
  .js-reading-copy { margin-inline: auto; }
  .js-section-intro,
  .js-conversation-heading { margin-inline: auto; margin-bottom: 3rem; }
  .js-stage-route article { display: grid; grid-template-columns: 58px 1fr; gap: 1rem; text-align: left; }
  .js-stage-icon { margin: 0; }
  .js-node-library { gap: .8rem; }
  .js-node-library article { min-height: auto; }
  .js-section-closing { margin-inline: auto; text-align: center; }
  .js-check-list,
  .js-capability-list { max-width: 620px; margin-inline: auto; }
  .js-paths-closing { margin-inline: auto; }
  .js-outcome-sequence { grid-template-columns: 1fr 1fr; }
  .js-final-cta { padding: 3rem 2rem; text-align: center; }
  .js-final-cta-copy > p:last-child { margin-inline: auto; }
  .js-final-actions { margin-inline: auto; }
  .journey-studio-page .footer-links a,
  .journey-studio-page .footer-phone,
  .journey-studio-page .header-phone,
  .journey-studio-page .text-link { min-height: 44px; }
}

@media (max-width: 640px) {
  .js-hero { padding: 4.25rem 0; }
  .js-hero-copy h1 { font-size: clamp(2.65rem, 12vw, 3.35rem); }
  .js-hero-actions .button { width: auto; }
  .js-final-actions .button { width: 100%; }
  .js-product-toolbar { grid-template-columns: 1fr auto; }
  .js-window-controls { display: none; }
  .js-product-name { justify-self: start; }
  .js-product-body { grid-template-columns: 1fr; min-height: 0; }
  .js-tool-rail { padding: .55rem .75rem; flex-direction: row; border-right: 0; border-bottom: 1px solid rgba(255,255,255,.08); }
  .js-route-canvas { min-height: 0; padding: 4.5rem .8rem 3.5rem; display: grid; gap: .7rem; }
  .js-canvas-title { inset: .9rem .8rem auto; }
  .js-hero-connectors { display: none; }
  .js-decision-anchor { display: none; }
  .js-canvas-node { position: relative; inset: auto; width: 100%; height: auto; min-height: 58px; transform: none; }
  .js-canvas-node::before,
  .js-canvas-node::after { display: none; }
  .js-canvas-node.is-selected { order: 0; }
  .js-canvas-zoom { display: none; }
  .js-product-shell::after { display: none; }
  .clarity-fragment-list { grid-template-columns: 1fr; }
  .clarity-fragment-list > span,
  .clarity-fragment-list > span:nth-child(2),
  .clarity-fragment-list > span:nth-child(3) { transform: none; }
  .clarity-outcomes { grid-template-columns: 1fr; margin-top: 1rem; }
  .clarity-decision::after,
  .clarity-decision .port-bottom,
  .clarity-branch-line,
  .clarity-branch-anchor,
  .clarity-outcome > i,
  .clarity-outcome::before { display: none; }
  .clarity-outcome { min-height: 0; }
  .clarity-outcome small { font-size: .6rem; }
  .clarity-outcome strong { font-size: .74rem; }
  .js-stage-route,
  .js-node-library,
  .js-outcome-sequence { grid-template-columns: 1fr; }
  .js-stage-route { gap: 1.5rem; }
  .js-node-library article { padding: 1.25rem; }
  .js-check-list,
  .js-capability-list { grid-template-columns: 1fr; }
  .js-branch-visual { min-height: auto; padding: 1.25rem; }
  .branch-routes { grid-template-columns: 1fr; margin-top: 2.7rem; }
  .branch-decision::after,
  .branch-line,
  .branch-anchor,
  .branch-route > i,
  .branch-route::before,
  .branch-route::after { display: none; }
  .branch-route { min-height: 0; }
  .js-review-points article { grid-template-columns: 42px 1fr; gap: .8rem; }
  .js-review-points article > span { width: 42px; height: 42px; }
  .review-map { min-height: 0; padding: 1.25rem; }
  .review-impact-routes { grid-template-columns: 1fr; margin-top: 1rem; }
  .review-impact-label::after,
  .review-impact-line,
  .review-impact-anchor,
  .review-impact-route > i,
  .review-impact-route::before { display: none; }
  .review-impact-route { min-height: 0; }
  .review-impact-route small { font-size: .6rem; }
  .review-impact-route strong { font-size: .8rem; }
  .scale-groups { grid-template-columns: 1fr; }
  .scale-root::after,
  .scale-port,
  .scale-groups::before,
  .scale-anchor,
  .scale-group::before,
  .scale-group::after { display: none; }
  .scale-shared { grid-template-columns: 1fr; }
  .js-final-cta { padding: 2.5rem 1.25rem; border-radius: 24px; }
}

@media (max-width: 480px) {
  .js-hero-grid { row-gap: 3.25rem; }
  .js-hero-actions .button { width: 100%; }
  .js-section-copy > h2,
  .js-section-intro > h2,
  .js-paths-copy > h2,
  .js-scale-copy > h2,
  .js-conversation-heading > h2,
  .js-final-cta-copy > h2 {
    max-width: 16ch;
    line-height: 1.1;
  }
  .js-paths-layout { row-gap: 0; }
  .js-paths-copy,
  .js-paths-copy .js-reading-copy { display: contents; }
  .js-paths-copy > .eyebrow,
  .js-paths-copy > h2,
  .js-paths-copy .js-reading-copy > p,
  .js-paths-copy > p:not(.eyebrow),
  .js-paths-copy .js-check-list,
  .js-paths-copy .js-paths-closing {
    width: min(100%, 33rem);
    margin-inline: auto;
    text-align: left;
  }
  .js-paths-copy > .eyebrow {
    order: 1;
    margin-bottom: 1rem;
    font-size: .78rem;
  }
  .js-paths-copy > h2 {
    order: 2;
    max-width: 33rem;
    margin-bottom: 1.1rem;
    font-size: 2.05rem;
    line-height: 1.1;
  }
  .js-paths-copy .js-reading-copy > p {
    margin-bottom: .85rem;
    text-align: left;
  }
  .js-paths-copy .js-reading-copy > p:first-child {
    order: 3;
    margin-bottom: 1.5rem;
    padding: 0;
    color: var(--white);
    font-weight: 750;
    border: 0;
  }
  .js-branch-visual {
    order: 4;
    margin-bottom: 1.75rem;
  }
  .js-paths-copy .js-reading-copy > p:nth-child(2) { order: 5; }
  .js-paths-copy .js-reading-copy > p:nth-child(3) {
    order: 6;
    margin-bottom: 0;
  }
  .js-paths-copy > p:not(.eyebrow) {
    order: 7;
    margin-top: 1.5rem;
    margin-bottom: .7rem;
    font-weight: 750;
  }
  .js-paths-copy .js-check-list {
    order: 8;
    margin-top: 0;
    margin-bottom: 1.5rem;
    gap: .4rem;
  }
  .js-paths-copy .js-paths-closing {
    order: 9;
    padding-top: 1.1rem;
  }
  .js-node-library {
    grid-template-columns: 1fr;
    gap: .9rem;
  }
  .js-capability-list {
    grid-template-columns: 1fr;
    gap: .8rem;
  }
  .js-capability-list li { line-height: 1.5; }
}

@media (max-width: 390px) {
  .journey-studio-page .section { padding: 4.5rem 0; }
  .js-product-toolbar { font-size: .68rem; }
  .js-save-state { font-size: .62rem; }
  .js-canvas-title strong { font-size: .72rem; }
  .js-canvas-node { grid-template-columns: 36px 1fr; padding: .65rem; }
  .js-canvas-node > span { width: 36px; height: 36px; }
  .js-stage-route article { grid-template-columns: 52px 1fr; }
  .js-stage-icon { width: 52px; height: 52px; }
  .js-node-library h3,
  .js-stage-route h3 { font-size: 1.18rem; }
}

/* Features page */
.features-page { background: var(--cream); }
.features-page .primary-nav a:focus-visible,
.features-page .footer-links a:focus-visible,
.features-page .text-link:focus-visible,
.features-page .fp-capability-connect:focus-visible,
.features-page .fp-capability-history:focus-visible,
.features-page .fp-capability-ai:focus-visible,
.features-page .fp-capability-featured:focus-visible {
  outline-color: rgba(201,66,57,.55);
}
.features-page .button:focus-visible { box-shadow: 0 0 0 6px rgba(33,191,174,.5); }
.features-page .header-phone:focus-visible,
.features-page .footer-phone:focus-visible { outline-color: var(--coral-action); }
.features-page .fp-capability-featured:focus-visible,
.features-page .fp-capability-connect:focus-visible,
.features-page .fp-capability-history:focus-visible,
.features-page .fp-capability-ai:focus-visible {
  outline: 3px solid var(--coral-action);
  outline-offset: 4px;
}

.fp-hero svg,
.fp-foundation svg,
.fp-handling svg,
.fp-anywhere svg,
.fp-ai svg,
.fp-contacts svg,
.fp-history svg,
.fp-management svg,
.fp-long-term svg,
.fp-connected svg,
.fp-explore svg,
.fp-cta-section svg {
  fill: none;
  stroke: currentColor;
  stroke-width: 1.8;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.fp-hero {
  position: relative;
  overflow: hidden;
  padding: clamp(4.75rem, 7vw, 7rem) 0;
  background:
    radial-gradient(circle at 92% 7%, rgba(188,235,217,.72), transparent 28rem),
    radial-gradient(circle at 8% 95%, rgba(255,107,94,.1), transparent 25rem),
    #fff8f5;
}
.fp-hero::before {
  content: "";
  position: absolute;
  right: -10rem;
  top: -12rem;
  width: 30rem;
  height: 30rem;
  border: 1px solid rgba(20,35,59,.08);
  border-radius: 50%;
}
.fp-hero-grid {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, .92fr) minmax(570px, 1.08fr);
  gap: clamp(2.5rem, 3.5vw, 3.75rem);
  align-items: center;
}
.fp-hero-grid > *,
.fp-split > *,
.fp-handling-layout > * { min-width: 0; }
.fp-hero-copy { position: relative; z-index: 1; }
.fp-hero-copy h1 {
  max-width: 720px;
  margin-bottom: 1.5rem;
  font-size: clamp(3.15rem, 4.5vw, 4.1rem);
  line-height: 1.03;
}
.fp-hero-lede { max-width: 650px; }
.fp-hero-lede p {
  margin-bottom: .9rem;
  color: var(--muted);
  font-size: clamp(1.08rem, 1.35vw, 1.2rem);
  line-height: 1.65;
}
.fp-hero-lede p:first-child { color: var(--navy); font-weight: 720; }
.fp-hero-actions { margin-top: 2rem; align-items: center; }
.fp-hero-actions .text-link { min-height: 44px; }
.fp-hero-actions svg { width: 19px; height: 19px; margin-right: .55rem; }

.fp-ecosystem {
  position: relative;
  overflow: hidden;
  width: calc(100% + 2.5rem);
  margin-right: -2.5rem;
  padding: 0 1.25rem 1.25rem;
  border: 1px solid rgba(20,35,59,.13);
  border-radius: 30px;
  background: rgba(255,255,255,.82);
  box-shadow: 0 34px 90px rgba(20,35,59,.17);
  backdrop-filter: blur(12px);
}
.fp-ecosystem::after {
  content: "";
  position: absolute;
  right: -5rem;
  bottom: -6rem;
  width: 15rem;
  height: 15rem;
  border-radius: 50%;
  background: rgba(255,107,94,.12);
}
.fp-ecosystem-toolbar {
  position: relative;
  z-index: 2;
  min-height: 64px;
  padding: .85rem .15rem;
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 1rem;
  color: var(--navy);
}
.fp-ecosystem-toolbar > span { display: flex; align-items: center; gap: .65rem; font-size: .78rem; font-weight: 850; }
.fp-ecosystem-toolbar i { display: flex; align-items: center; gap: .45rem; color: #147a70; font-size: .62rem; font-style: normal; font-weight: 800; }
.fp-ecosystem-toolbar i b { width: 8px; height: 8px; display: block; border-radius: 50%; background: var(--mint-strong); box-shadow: 0 0 0 5px rgba(33,191,174,.12); }
.fp-ecosystem-canvas {
  position: relative;
  z-index: 1;
  min-height: 620px;
  overflow: hidden;
  border: 1px solid rgba(20,35,59,.08);
  border-radius: 22px;
  background:
    linear-gradient(rgba(20,35,59,.035) 1px, transparent 1px),
    linear-gradient(90deg, rgba(20,35,59,.035) 1px, transparent 1px),
    rgba(255,250,248,.78);
  background-size: 30px 30px;
}
.fp-ecosystem-lines { position: absolute; inset: 0; width: 100%; height: 100%; color: var(--mint-strong); opacity: .78; }
.fp-ecosystem-lines path { stroke: currentColor; stroke-width: 2.4; }
.fp-ecosystem-lines circle { stroke: rgba(20,35,59,.09); stroke-width: 1.2; stroke-dasharray: 4 8; }
.fp-ecosystem-core {
  position: absolute;
  z-index: 2;
  left: 50%;
  top: 50%;
  width: min(290px, 45%);
  padding: 1.5rem;
  text-align: center;
  color: var(--white);
  border: 2px solid var(--coral);
  border-radius: 22px;
  background: var(--navy);
  box-shadow: 0 24px 54px rgba(20,35,59,.25), 0 0 0 9px rgba(255,107,94,.11);
  transform: translate(-50%, -50%);
}
.fp-ecosystem-core > span {
  width: 48px;
  height: 48px;
  margin: 0 auto .75rem;
  display: grid;
  place-items: center;
  color: var(--coral);
  border-radius: 14px;
  background: rgba(255,107,94,.13);
}
.fp-ecosystem-core svg { width: 24px; height: 24px; }
.fp-ecosystem-core small,
.fp-ecosystem-core strong,
.fp-ecosystem-core em { display: block; }
.fp-ecosystem-core small { color: #ffb8b1; font-size: .62rem; font-weight: 850; letter-spacing: .08em; text-transform: uppercase; }
.fp-ecosystem-core strong { margin-top: .2rem; color: var(--white); font-size: 1.35rem; }
.fp-ecosystem-core em { margin-top: .35rem; color: #cfd8e5; font-size: .76rem; font-style: normal; line-height: 1.4; }
.fp-core-route { margin-top: 1rem; padding-top: .85rem; display: grid; grid-template-columns: 10px 1fr 10px 1fr 10px; gap: .25rem; align-items: center; border-top: 1px solid rgba(255,255,255,.12); }
.fp-core-route::before,
.fp-core-route::after { content: ""; height: 2px; grid-row: 1; background: var(--mint-strong); }
.fp-core-route::before { grid-column: 2; }
.fp-core-route::after { grid-column: 4; }
.fp-core-route i { z-index: 1; width: 10px; height: 10px; grid-row: 1; border: 2px solid #9ce3d6; border-radius: 50%; background: var(--navy); }
.fp-core-route i:nth-child(1) { grid-column: 1; }
.fp-core-route i:nth-child(2) { grid-column: 3; }
.fp-core-route i:nth-child(3) { grid-column: 5; border-color: var(--coral); }
.fp-core-route b { grid-column: 1 / -1; color: #aeb9c8; font-size: .56rem; letter-spacing: .06em; text-transform: uppercase; }
.fp-orbit-card {
  position: absolute;
  z-index: 2;
  width: 190px;
  min-height: 84px;
  padding: .9rem;
  display: grid;
  grid-template-columns: 40px minmax(0, 1fr);
  gap: .7rem;
  align-items: center;
  border: 1px solid rgba(20,35,59,.1);
  border-radius: 15px;
  background: rgba(255,255,255,.95);
  box-shadow: 0 10px 24px rgba(20,35,59,.09);
  transform: translate(-50%, -50%);
}
.fp-orbit-card > span {
  width: 40px;
  height: 40px;
  display: grid;
  place-items: center;
  color: #147a70;
  border-radius: 11px;
  background: #ddf6f2;
}
.fp-orbit-card:nth-of-type(even) > span { color: var(--coral-action); background: #fff0ee; }
.fp-orbit-card svg { width: 20px; height: 20px; }
.fp-orbit-card small,
.fp-orbit-card strong { display: block; }
.fp-orbit-card small { color: var(--muted); font-size: .56rem; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; }
.fp-orbit-card strong { color: var(--navy); font-size: .84rem; line-height: 1.25; }
.orbit-teams { left: 20%; top: 18%; }
.orbit-ai { left: 80%; top: 18%; }
.orbit-contacts { left: 87%; top: 50%; }
.orbit-history { left: 75%; top: 84%; }
.orbit-admin { left: 25%; top: 84%; }
.orbit-devices { left: 13%; top: 50%; }
.fp-ecosystem-summary { position: relative; z-index: 2; min-height: 55px; padding: .9rem .15rem 0; display: grid; grid-template-columns: auto minmax(0, 1fr) auto; gap: 1rem; align-items: center; }
.fp-ecosystem-summary span,
.fp-ecosystem-summary i { color: var(--coral-action); font-size: .58rem; font-style: normal; font-weight: 850; letter-spacing: .06em; text-transform: uppercase; }
.fp-ecosystem-summary b { color: var(--navy); font-size: .83rem; text-align: center; }
.fp-ecosystem-summary i { color: #147a70; }

.fp-section-copy h2,
.fp-section-intro h2,
.fp-final-copy h2 {
  font-size: clamp(2.45rem, 4vw, 3.75rem);
  line-height: 1.06;
}
.fp-section-copy { max-width: 660px; }
.fp-section-intro { max-width: 860px; margin-bottom: 4rem; }
.fp-prose { max-width: 680px; }
.fp-prose p { margin-bottom: .9rem; font-size: 1.07rem; line-height: 1.72; }
.fp-section-link { margin-top: .8rem; min-height: 44px; }
.fp-split {
  display: grid;
  grid-template-columns: minmax(0, .92fr) minmax(500px, 1.08fr);
  gap: clamp(3.5rem, 7vw, 6rem);
  align-items: center;
}
.fp-closing {
  max-width: 760px;
  margin: 2.3rem 0 0;
  padding-top: 1.25rem;
  color: var(--navy) !important;
  font-size: 1.12rem !important;
  font-weight: 800;
  border-top: 1px solid rgba(20,35,59,.1);
}

.fp-foundation { background: var(--white); }
.fp-split-foundation { align-items: center; }
.fp-foundation-visual {
  overflow: hidden;
  border: 1px solid rgba(20,35,59,.14);
  border-radius: 27px;
  background: var(--navy);
  box-shadow: 0 28px 70px rgba(20,35,59,.18);
}
.fp-foundation-toolbar {
  min-height: 58px;
  padding: .8rem 1rem;
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 1rem;
  color: var(--white);
  border-bottom: 1px solid rgba(255,255,255,.1);
  background: rgba(255,255,255,.035);
}
.fp-foundation-toolbar > span { display: flex; align-items: center; gap: .6rem; font-size: .75rem; font-weight: 800; }
.fp-foundation-toolbar i { padding: .35rem .65rem; color: #9ce3d6; border-radius: 999px; background: rgba(33,191,174,.13); font-size: .62rem; font-style: normal; font-weight: 800; }
.fp-foundation-canvas {
  position: relative;
  min-height: 570px;
  padding: 2rem;
  background-image:
    linear-gradient(rgba(255,255,255,.035) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.035) 1px, transparent 1px);
  background-size: 26px 26px;
}
.fp-flow-node {
  position: relative;
  z-index: 2;
  width: min(100%, 260px);
  min-height: 68px;
  margin-inline: auto;
  padding: .75rem .9rem;
  display: grid;
  grid-template-columns: 40px minmax(0, 1fr);
  grid-template-rows: auto auto;
  gap: 0 .7rem;
  align-items: center;
  border: 1px solid rgba(255,255,255,.16);
  border-radius: 14px;
  background: #293d5a;
  box-shadow: 0 12px 28px rgba(0,0,0,.16);
}
.fp-flow-node > span { grid-row: 1 / 3; width: 40px; height: 40px; display: grid; place-items: center; color: #147a70; border-radius: 11px; background: #c9f0e3; }
.fp-flow-node svg { width: 20px; height: 20px; }
.fp-flow-node small { align-self: end; color: #aeb9c8; font-size: .57rem; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; }
.fp-flow-node strong { align-self: start; color: var(--white); font-size: .82rem; }
.fp-flow-node.is-selected { border-color: var(--coral); box-shadow: 0 0 0 4px rgba(255,107,94,.13), 0 12px 28px rgba(0,0,0,.16); }
.fp-flow-node.is-selected > span,
.fp-flow-node.is-alternate > span { color: var(--coral-action); background: #ffe3df; }
.fp-flow-line { position: relative; z-index: 1; width: 2px; height: 22px; margin-inline: auto; display: block; background: var(--mint-strong); }
.fp-flow-branch { position: relative; width: 52%; height: 24px; margin: 0 auto; display: block; border-top: 2px solid var(--mint-strong); border-left: 2px solid var(--mint-strong); border-right: 2px dashed var(--coral); }
.fp-flow-outcomes { display: grid; grid-template-columns: 1fr 1fr; gap: 1rem; }
.fp-flow-outcomes .fp-flow-node { width: 100%; }
.fp-impact-note,
.fp-fallback-row {
  margin-top: 1rem;
  padding: .75rem .9rem;
  display: grid;
  grid-template-columns: 36px minmax(0, 1fr) auto;
  gap: .7rem;
  align-items: center;
  border: 1px solid rgba(255,255,255,.12);
  border-radius: 13px;
  background: rgba(255,255,255,.06);
}
.fp-impact-note > span,
.fp-fallback-row > span { width: 36px; height: 36px; display: grid; place-items: center; color: var(--coral); border-radius: 10px; background: rgba(255,107,94,.12); }
.fp-impact-note svg,
.fp-fallback-row svg { width: 19px; height: 19px; }
.fp-impact-note small,
.fp-impact-note strong,
.fp-fallback-row small,
.fp-fallback-row strong { display: block; }
.fp-impact-note small,
.fp-fallback-row small { color: #aeb9c8; font-size: .57rem; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; }
.fp-impact-note strong,
.fp-fallback-row strong { color: var(--white); font-size: .75rem; line-height: 1.3; }
.fp-impact-note > i { padding: .3rem .55rem; color: #9ce3d6; border-radius: 999px; background: rgba(33,191,174,.12); font-size: .58rem; font-style: normal; font-weight: 800; }
.fp-fallback-row { grid-template-columns: 36px minmax(0, 1fr); }
.fp-foundation-points {
  margin-top: 4rem;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1px;
  overflow: hidden;
  border: 1px solid rgba(20,35,59,.09);
  border-radius: 22px;
  background: rgba(20,35,59,.09);
}
.fp-foundation-points article { min-width: 0; padding: 1.35rem; display: grid; grid-template-columns: 42px 1fr; gap: .9rem; background: #fffaf8; }
.fp-foundation-points article > span { width: 42px; height: 42px; display: grid; place-items: center; color: var(--coral-action); border-radius: 12px; background: #fff0ee; }
.fp-foundation-points article:nth-child(even) > span { color: #147a70; background: #ddf6f2; }
.fp-foundation-points svg { width: 21px; height: 21px; }
.fp-foundation-points h3 { margin-bottom: .45rem; font-size: 1.02rem; line-height: 1.25; }
.fp-foundation-points p { margin: 0; font-size: .92rem; line-height: 1.55; }

.fp-handling { color: var(--white); background: var(--navy); }
.fp-intro-light h2,
.fp-handling h2,
.fp-connected h2 { color: var(--white); }
.fp-intro-light .fp-prose p,
.fp-handling .fp-prose p,
.fp-connected .fp-prose p { color: #d5dde8; }
.fp-handling-layout {
  display: grid;
  grid-template-columns: minmax(520px, 1.08fr) minmax(0, .92fr);
  gap: clamp(3rem, 6vw, 5rem);
  align-items: start;
}
.fp-route-story {
  overflow: hidden;
  padding: 1.5rem;
  border: 1px solid rgba(255,255,255,.12);
  border-radius: 26px;
  background: rgba(255,255,255,.045);
}
.fp-route-track { position: relative; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1rem; }
.fp-route-step { position: relative; z-index: 1; min-width: 0; padding: .8rem .65rem; text-align: center; border: 1px solid rgba(255,255,255,.13); border-radius: 15px; background: #293d5a; }
.fp-route-step:not(.route-start)::before {
  content: "";
  position: absolute;
  z-index: 3;
  left: -6px;
  top: 50%;
  width: 10px;
  height: 10px;
  border: 2px solid var(--navy-soft);
  border-radius: 50%;
  background: var(--mint-strong);
  transform: translateY(-50%);
}
.fp-route-step:not(:last-child)::after {
  content: "›";
  position: absolute;
  z-index: 2;
  left: 100%;
  top: 50%;
  width: calc(1rem + 2px);
  height: 14px;
  display: flex;
  justify-content: center;
  align-items: center;
  color: var(--mint-strong);
  background:
    linear-gradient(var(--mint-strong), var(--mint-strong)) left center / 34% 2px no-repeat,
    linear-gradient(var(--mint-strong), var(--mint-strong)) right center / 34% 2px no-repeat;
  font-size: 1rem;
  font-weight: 900;
  line-height: 1;
  transform: translateY(-50%);
}
.fp-route-step.route-start > b {
  position: absolute;
  left: .55rem;
  top: .5rem;
  padding: .2rem .38rem;
  color: var(--navy);
  border-radius: 999px;
  background: var(--mint);
  font-size: .48rem;
  letter-spacing: .06em;
  text-transform: uppercase;
}
.fp-route-step > span { width: 42px; height: 42px; margin: 0 auto .65rem; display: grid; place-items: center; color: #147a70; border: 6px solid var(--navy-soft); border-radius: 50%; background: #c9f0e3; box-shadow: 0 0 0 1px var(--mint-strong); }
.fp-route-step.route-primary > span { color: var(--coral-action); background: #ffe3df; box-shadow: 0 0 0 1px var(--coral); }
.fp-route-step svg { width: 20px; height: 20px; }
.fp-route-step small,
.fp-route-step strong { display: block; }
.fp-route-step small { color: #aeb9c8; font-size: .55rem; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; }
.fp-route-step strong { color: var(--white); font-size: .76rem; line-height: 1.3; }
.fp-route-step.route-primary::after {
  content: "";
  position: absolute;
  z-index: 4;
  left: calc(50% - 6px);
  bottom: -6px;
  width: 10px;
  height: 10px;
  border: 2px solid var(--navy-soft);
  border-radius: 50%;
  background: var(--coral);
  transform: translateX(-50%);
}
.fp-route-branch-map { position: relative; height: 82px; }
.fp-route-branch-map > svg { position: absolute; inset: 0; width: 100%; height: 100%; color: var(--coral); overflow: visible; }
.fp-route-branch-map path { fill: none; stroke: currentColor; stroke-width: 2.2; stroke-dasharray: 7 7; }
.fp-route-branch-map .fp-route-branch-output { marker-end: url(#fp-route-secondary-arrow); }
.fp-route-branch-map marker path { stroke-dasharray: none; stroke-width: 1.8; }
.fp-route-path-mobile { display: none; }
.fp-route-branch-label { position: absolute; z-index: 2; left: .8rem; top: .9rem; padding: .42rem .62rem; display: grid; grid-template-columns: 10px auto; gap: 0 .5rem; align-items: center; border: 1px solid rgba(255,107,94,.18); border-radius: 10px; background: var(--navy); }
.fp-route-branch-label > span { grid-row: 1 / 3; width: 10px; height: 10px; border: 2px solid var(--coral); border-radius: 50%; background: var(--navy); }
.fp-route-branch-label small,
.fp-route-branch-label strong { display: block; }
.fp-route-branch-label small { color: #ffb8b1; font-size: .5rem; font-weight: 850; letter-spacing: .06em; text-transform: uppercase; }
.fp-route-branch-label strong { color: var(--white); font-size: .62rem; line-height: 1.3; }
.fp-route-secondary,
.fp-route-final { position: relative; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1rem; }
.fp-route-secondary-node,
.fp-route-final-node { position: relative; min-width: 0; padding: .75rem .8rem; border: 1px solid rgba(255,107,94,.2); border-radius: 12px; background: rgba(255,107,94,.07); }
.fp-route-secondary-node::before,
.fp-route-final-node::before,
.fp-route-secondary-node::after { content: ""; position: absolute; z-index: 2; left: 50%; width: 10px; height: 10px; border: 2px solid var(--navy); border-radius: 50%; background: var(--coral); transform: translateX(-50%); }
.fp-route-secondary-node::before,
.fp-route-final-node::before { top: -6px; }
.fp-route-secondary-node::after { bottom: -6px; }
.fp-route-secondary-node.route-busy { grid-column: 3; }
.fp-route-secondary-node.route-unanswered { grid-column: 4; }
.fp-route-final-node { grid-column: 3 / 5; }
.fp-route-secondary-node.route-busy::before,
.fp-route-secondary-node.route-busy::after { left: calc(50% - 2px); }
.fp-route-secondary-node.route-unanswered::before,
.fp-route-secondary-node.route-unanswered::after { left: calc(50% - 6px); }
.fp-route-final-node::before { left: calc(50% - 4px); }
.fp-route-secondary-node span,
.fp-route-secondary-node strong,
.fp-route-secondary-node small,
.fp-route-final-node span,
.fp-route-final-node strong,
.fp-route-final-node small { display: block; }
.fp-route-secondary-node span,
.fp-route-final-node span { color: #ffb8b1; font-size: .57rem; font-weight: 850; letter-spacing: .05em; text-transform: uppercase; }
.fp-route-secondary-node strong,
.fp-route-final-node strong { margin: .22rem 0; color: var(--white); font-size: .77rem; line-height: 1.3; }
.fp-route-secondary-node small,
.fp-route-final-node small { color: #bfc8d5; font-size: .64rem; line-height: 1.4; }
.fp-route-fallback-map { position: relative; height: 70px; }
.fp-route-fallback-map > svg { position: absolute; inset: 0; width: 100%; height: 100%; color: var(--coral); overflow: visible; }
.fp-route-fallback-map path { fill: none; stroke: currentColor; stroke-width: 2.2; stroke-dasharray: 7 7; }
.fp-route-fallback-map .fp-route-fallback-output { marker-end: url(#fp-route-fallback-arrow); }
.fp-route-branch-map marker path,
.fp-route-fallback-map marker path { fill: currentColor; stroke: none; stroke-dasharray: none; }
.fp-highlight-rail { display: grid; grid-template-columns: 1fr 1fr; gap: 0 1.5rem; }
.fp-highlight-rail article { padding: 1rem 0; border-top: 1px solid rgba(20,35,59,.1); }
.fp-highlight-rail h3 { margin-bottom: .35rem; font-size: 1rem; line-height: 1.25; }
.fp-highlight-rail p { margin: 0; font-size: .92rem; line-height: 1.55; }
.fp-highlight-rail-dark article { border-color: rgba(255,255,255,.1); }
.fp-highlight-rail-dark h3 { color: var(--white); }
.fp-highlight-rail-dark p { color: #c7d0df; }
.fp-closing-light { color: var(--white) !important; border-color: rgba(255,255,255,.12); }

.fp-anywhere { background: #fff8f5; }
.fp-work-visual {
  overflow: hidden;
  padding: 1.25rem;
  border: 1px solid rgba(20,35,59,.1);
  border-radius: 28px;
  background: rgba(255,255,255,.8);
  box-shadow: 0 24px 65px rgba(20,35,59,.09);
}
.fp-work-canvas {
  position: relative;
  min-height: 610px;
  overflow: hidden;
  border-radius: 21px;
  background:
    radial-gradient(circle at center, rgba(188,235,217,.56), transparent 14rem),
    #fbf8f6;
}
.fp-work-canvas::before { content: ""; position: absolute; left: 50%; top: 50%; width: 46%; height: 46%; border: 1px dashed rgba(255,107,94,.25); border-radius: 50%; transform: translate(-50%, -50%); }
.fp-work-route-label { position: absolute; z-index: 3; left: 50%; top: 1.25rem; padding: .45rem .7rem; display: flex; align-items: center; gap: .5rem; color: #147a70; border-radius: 999px; background: #e5f8f2; font-size: .6rem; font-weight: 850; letter-spacing: .05em; text-transform: uppercase; transform: translateX(-50%); white-space: nowrap; }
.fp-work-route-label span { width: 8px; height: 8px; border-radius: 50%; background: var(--mint-strong); box-shadow: 0 0 0 4px rgba(33,191,174,.12); }
.fp-work-path { position: absolute; z-index: 1; inset: 0; width: 100%; height: 100%; color: var(--mint-strong); }
.fp-work-path path:first-child { stroke-width: 2.4; stroke-dasharray: 8 6; }
.fp-work-path path:last-child { stroke: rgba(201,66,57,.34); stroke-width: 1.5; stroke-dasharray: 4 7; }
.fp-work-centre {
  position: absolute;
  z-index: 2;
  left: 50%;
  top: 50%;
  width: 220px;
  padding: 1.2rem;
  text-align: center;
  border: 2px solid var(--coral-action);
  border-radius: 21px;
  background: var(--white);
  box-shadow: 0 18px 38px rgba(20,35,59,.14);
  transform: translate(-50%, -50%);
}
.fp-work-centre > span { width: 45px; height: 45px; margin: 0 auto .65rem; display: grid; place-items: center; color: var(--coral-action); border-radius: 13px; background: #fff0ee; }
.fp-work-centre svg { width: 23px; height: 23px; }
.fp-work-centre small,
.fp-work-centre strong { display: block; }
.fp-work-centre small { color: var(--muted); font-size: .58rem; font-weight: 850; letter-spacing: .06em; text-transform: uppercase; }
.fp-work-centre strong { color: var(--navy); font-size: .92rem; }
.fp-work-card {
  position: absolute;
  z-index: 2;
  width: 215px;
  min-height: 88px;
  padding: .85rem;
  display: grid;
  grid-template-columns: 42px minmax(0, 1fr);
  gap: .7rem;
  align-items: center;
  border: 1px solid rgba(20,35,59,.1);
  border-radius: 15px;
  background: rgba(255,255,255,.96);
  box-shadow: 0 11px 26px rgba(20,35,59,.1);
}
.fp-work-card > i { position: absolute; right: .65rem; top: .5rem; color: var(--coral-action); font-size: .52rem; font-style: normal; font-weight: 850; letter-spacing: .05em; }
.fp-work-card > span { width: 42px; height: 42px; display: grid; place-items: center; color: #147a70; border-radius: 11px; background: #ddf6f2; }
.fp-work-card:nth-of-type(even) > span { color: var(--coral-action); background: #fff0ee; }
.fp-work-card svg { width: 21px; height: 21px; }
.fp-work-card small,
.fp-work-card strong,
.fp-work-card em { display: block; }
.fp-work-card small { color: var(--muted); font-size: .55rem; font-weight: 800; letter-spacing: .05em; text-transform: uppercase; }
.fp-work-card strong { color: var(--navy); font-size: .75rem; line-height: 1.25; }
.fp-work-card em { color: var(--muted); font-size: .6rem; font-style: normal; line-height: 1.35; }
.work-office { left: 4%; top: 7%; }
.work-connect { right: 4%; top: 7%; }
.work-mobile { left: 4%; bottom: 7%; }
.work-sites { right: 4%; bottom: 7%; }
.fp-compact-points { margin-top: 1.5rem; display: grid; grid-template-columns: 1fr 1fr; gap: 0 1.3rem; }
.fp-compact-points p { margin: 0; padding: .85rem 0; border-top: 1px solid rgba(20,35,59,.09); }
.fp-compact-points strong,
.fp-compact-points span { display: block; }
.fp-compact-points strong { color: var(--navy); font-size: .9rem; line-height: 1.3; }
.fp-compact-points span { margin-top: .25rem; color: var(--muted); font-size: .88rem; line-height: 1.55; }
.fp-grouped-points { gap: 0 1.5rem; }
.fp-grouped-points p { padding: 1rem 0; }
.fp-grouped-points strong { font-size: .95rem; }

.fp-ai { background: var(--white); }
.fp-ai-layout > .fp-section-intro { max-width: 920px; margin-bottom: 2.75rem; }
.fp-ai-layout > .fp-section-intro .fp-prose { max-width: 720px; }
.fp-ai-stage { display: grid; grid-template-columns: minmax(560px, 1.25fr) minmax(0, .75fr); gap: clamp(2rem, 5vw, 4rem); align-items: center; }
.fp-highlight-pairs { margin-top: 1.5rem; display: grid; grid-template-columns: 1fr 1fr; gap: .75rem; }
.fp-highlight-pairs article { min-width: 0; padding: .9rem; border: 1px solid rgba(20,35,59,.08); border-radius: 13px; background: #fffaf8; }
.fp-highlight-pairs h3 { margin-bottom: .35rem; font-size: .92rem; line-height: 1.25; }
.fp-highlight-pairs p { margin: 0; font-size: .81rem; line-height: 1.5; }
.fp-ai-visual { min-width: 0; }
.fp-conversation {
  overflow: hidden;
  padding: 1.25rem;
  border: 1px solid rgba(20,35,59,.11);
  border-radius: 28px;
  background: #fbf8f6;
  box-shadow: 0 25px 70px rgba(20,35,59,.1);
}
.fp-conversation-flow {
  position: relative;
  margin-top: 1rem;
  display: grid;
  grid-template-columns: 1fr;
  gap: 0;
  overflow: visible;
}
.fp-conversation-flow > .fp-ai-flow-node {
  position: relative;
  z-index: 1;
  width: 58%;
  min-width: 0;
  min-height: 0;
  margin: 0;
  padding: .75rem .95rem;
}
.fp-conversation-flow > .fp-ai-flow-node.is-caller { margin-left: 0; }
.fp-conversation-flow > .fp-ai-flow-node.is-assistant { margin-left: 14%; }
.fp-conversation-flow > .fp-ai-capture { margin-left: 28%; }
.fp-conversation-flow > .fp-human-handover { margin-left: 42%; }
.fp-conversation-flow > .is-assistant::before,
.fp-conversation-flow > .fp-ai-capture::before,
.fp-conversation-flow > .fp-human-handover::before {
  content: "";
  position: absolute;
  z-index: 3;
  left: 50%;
  top: -7px;
  width: 10px;
  height: 10px;
  border: 2px solid #fbf8f6;
  border-radius: 50%;
  background: var(--mint-strong);
  transform: translateX(-50%);
}
.fp-conversation-flow > .is-caller::after,
.fp-conversation-flow > .is-assistant::after,
.fp-conversation-flow > .fp-ai-capture::after {
  content: "";
  position: absolute;
  z-index: 3;
  left: 50%;
  bottom: -7px;
  width: 10px;
  height: 10px;
  border: 2px solid #fbf8f6;
  border-radius: 50%;
  background: var(--mint-strong);
  transform: translateX(-50%);
}
.fp-conversation-flow > .fp-human-handover::before { background: var(--coral); }
.fp-ai-cascade-connector {
  --connector-from: 29%;
  --connector-to: 43%;
  position: relative;
  z-index: 2;
  width: 100%;
  height: 2.35rem;
  display: block;
  color: var(--mint-strong);
  pointer-events: none;
}
.fp-ai-cascade-connector.connector-two { --connector-from: 43%; --connector-to: 57%; }
.fp-ai-cascade-connector.connector-three { --connector-from: 57%; --connector-to: 71%; }
.fp-ai-cascade-connector::before { content: ""; position: absolute; left: var(--connector-from); top: 0; width: 2px; height: 50%; background: currentColor; transform: translateX(-1px); }
.fp-ai-cascade-connector > i { position: absolute; left: var(--connector-from); top: 50%; width: calc(var(--connector-to) - var(--connector-from)); border-top: 2px solid currentColor; }
.fp-ai-cascade-connector::after {
  content: "";
  position: absolute;
  left: calc(var(--connector-to) - 5px);
  top: 50%;
  width: 10px;
  height: calc(50% + 2px);
  background: currentColor;
  clip-path: polygon(40% 0, 60% 0, 60% calc(100% - 7px), 92% calc(100% - 7px), 50% 100%, 8% calc(100% - 7px), 40% calc(100% - 7px));
}
.fp-conversation-flow .fp-chat-row { max-width: none; display: flex; flex-direction: column; justify-content: center; }
.fp-conversation-flow .fp-ai-capture,
.fp-conversation-flow .fp-human-handover { min-height: 0; padding: .75rem .95rem; display: grid; align-content: center; }
.fp-conversation-flow .fp-ai-capture { grid-template-columns: 38px minmax(0, 1fr) auto; }
.fp-conversation-flow .fp-human-handover { grid-template-columns: 38px minmax(0, 1fr); }
.fp-conversation-flow .fp-ai-capture > i { position: static; grid-column: auto; justify-self: stretch; align-self: center; }
.fp-dialogue p { position: relative; padding-inline: 1.35rem; }
.fp-dialogue .fp-quote-open,
.fp-dialogue .fp-quote-close { position: absolute; color: var(--coral-action); font-family: Georgia, "Times New Roman", serif; font-size: 2.35rem; font-weight: 700; line-height: 1; opacity: .3; pointer-events: none; }
.fp-dialogue.is-assistant .fp-quote-open,
.fp-dialogue.is-assistant .fp-quote-close { color: #147a70; }
.fp-dialogue .fp-quote-open { left: 0; top: -.38rem; }
.fp-dialogue .fp-quote-close { right: 0; bottom: -.8rem; }
.fp-conversation-flow .fp-human-handover { border: 2px solid rgba(201,66,57,.28); box-shadow: 0 10px 24px rgba(201,66,57,.08); }
.fp-conversation-flow > .fp-human-handover::before { background: var(--coral); }
.fp-conversation-flow .fp-human-handover strong { font-size: .86rem; }
.fp-conversation-flow .fp-human-handover p { color: var(--muted); font-size: .74rem; line-height: 1.45; }
.fp-ai-themes { margin: 0; grid-template-columns: 1fr; gap: .8rem; }
.fp-ai-themes article { padding: 1.05rem 0; border: 0; border-top: 1px solid rgba(20,35,59,.1); border-radius: 0; background: transparent; }
.fp-ai-themes article:first-child { border-top: 3px solid var(--coral); }
.fp-ai-themes h3 { font-size: 1rem; }
.fp-ai-themes p { color: var(--muted); font-size: .88rem; line-height: 1.55; }
.fp-ai-layout > .fp-closing { margin-top: 2.75rem; }
.fp-conversation-head { padding: 1rem; display: grid; grid-template-columns: 46px minmax(0, 1fr) auto; gap: .8rem; align-items: center; border-radius: 17px; color: var(--white); background: var(--navy); }
.fp-conversation-head > span { width: 46px; height: 46px; display: grid; place-items: center; color: var(--coral); border-radius: 13px; background: rgba(255,107,94,.14); }
.fp-conversation-head svg { width: 23px; height: 23px; }
.fp-conversation-head small,
.fp-conversation-head strong { display: block; }
.fp-conversation-head small { color: #aeb9c8; font-size: .58rem; font-weight: 800; letter-spacing: .05em; text-transform: uppercase; }
.fp-conversation-head strong { font-size: .8rem; line-height: 1.3; }
.fp-conversation-head i { padding: .35rem .55rem; color: #9ce3d6; border-radius: 999px; background: rgba(33,191,174,.12); font-size: .56rem; font-style: normal; font-weight: 800; }
.fp-chat-row { max-width: 82%; margin-top: 1rem; padding: .8rem 1rem; border-radius: 15px 15px 15px 4px; background: var(--white); box-shadow: 0 8px 20px rgba(20,35,59,.065); }
.fp-chat-row.is-caller { margin-left: auto; border-radius: 15px 15px 4px 15px; background: #fff0ee; }
.fp-chat-row small { color: var(--coral-action); font-size: .57rem; font-weight: 850; letter-spacing: .06em; text-transform: uppercase; }
.fp-chat-row.is-assistant small { color: #147a70; }
.fp-chat-row p { margin: .2rem 0 0; color: var(--navy); font-size: .85rem; line-height: 1.5; }
.fp-ai-capture,
.fp-human-handover { margin-top: 1rem; padding: .8rem; display: grid; grid-template-columns: 38px minmax(0, 1fr) auto; gap: .7rem; align-items: center; border: 1px solid rgba(33,191,174,.18); border-radius: 14px; background: #eefaf6; }
.fp-ai-capture > span,
.fp-human-handover > span { width: 38px; height: 38px; display: grid; place-items: center; color: #147a70; border-radius: 10px; background: #d5f3e9; }
.fp-ai-capture svg,
.fp-human-handover svg { width: 20px; height: 20px; }
.fp-ai-capture small,
.fp-ai-capture strong,
.fp-human-handover small,
.fp-human-handover strong { display: block; }
.fp-ai-capture small,
.fp-human-handover small { color: #147a70; font-size: .55rem; font-weight: 850; letter-spacing: .05em; text-transform: uppercase; }
.fp-ai-capture strong,
.fp-human-handover strong { color: var(--navy); font-size: .74rem; line-height: 1.3; }
.fp-ai-capture > i { width: 30px; height: 30px; display: grid; place-items: center; color: #147a70; }
.fp-human-handover { grid-template-columns: 38px minmax(0, 1fr); border-color: rgba(201,66,57,.16); background: #fff5f2; }
.fp-human-handover > span { color: var(--coral-action); background: #ffe3df; }
.fp-human-handover p { margin: .2rem 0 0; font-size: .68rem; }

.fp-contacts { background: #fff8f5; }
.fp-contacts .fp-split { grid-template-columns: minmax(560px, 1.16fr) minmax(0, .84fr); gap: clamp(3rem, 5vw, 5rem); }
.fp-contact-panel {
  overflow: hidden;
  border: 1px solid rgba(20,35,59,.11);
  border-radius: 28px;
  background: var(--white);
  box-shadow: 0 25px 70px rgba(20,35,59,.1);
}
.fp-panel-top {
  min-height: 68px;
  padding: 1rem 1.3rem;
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 1rem;
  color: var(--white);
  background: var(--navy);
}
.fp-panel-top > span { display: flex; align-items: center; gap: .6rem; font-size: .76rem; font-weight: 800; }
.fp-panel-top i { padding: .35rem .6rem; color: #9ce3d6; border-radius: 999px; background: rgba(33,191,174,.12); font-size: .57rem; font-style: normal; font-weight: 800; }
.fp-contact-call { padding: 1.6rem; display: grid; grid-template-columns: 66px minmax(0, 1fr) auto; gap: 1rem; align-items: center; border-bottom: 1px solid rgba(20,35,59,.08); }
.fp-contact-avatar { width: 66px; height: 66px; display: grid; place-items: center; color: var(--navy); border-radius: 19px; background: var(--mint); font-size: 1.12rem; font-weight: 850; }
.fp-contact-call small,
.fp-contact-call strong { display: block; }
.fp-contact-call small { color: var(--coral-action); font-size: .58rem; font-weight: 850; letter-spacing: .06em; text-transform: uppercase; }
.fp-contact-call strong { color: var(--navy); font-size: 1.2rem; }
.fp-contact-call p { margin: .1rem 0 0; font-size: .88rem; }
.fp-contact-call > span { padding: .4rem .65rem; display: flex; align-items: center; gap: .4rem; color: var(--coral-action); border-radius: 999px; background: #fff0ee; font-size: .62rem; font-weight: 800; }
.fp-contact-call > span svg { width: 16px; height: 16px; }
.fp-contact-context { padding: 1.25rem 1.6rem; display: grid; grid-template-columns: 1fr 1fr; gap: 1rem; }
.fp-contact-context > div { padding: 1.15rem; border: 1px solid rgba(20,35,59,.08); border-radius: 14px; background: #fbf8f6; }
.fp-contact-context small,
.fp-contact-context strong { display: block; }
.fp-contact-context small { color: var(--muted); font-size: .57rem; font-weight: 850; letter-spacing: .06em; text-transform: uppercase; }
.fp-contact-context strong { margin-top: .2rem; color: var(--navy); font-size: .9rem; }
.fp-contact-context p { margin: .2rem 0 0; font-size: .78rem; line-height: 1.45; }
.fp-contact-actions { padding: 0 1.6rem 1.15rem; display: flex; flex-wrap: wrap; gap: .55rem; }
.fp-contact-actions span { min-height: 44px; padding: .6rem .8rem; display: inline-flex; align-items: center; gap: .45rem; color: var(--navy); border: 1px solid rgba(20,35,59,.1); border-radius: 10px; background: var(--white); font-size: .72rem; font-weight: 750; }
.fp-contact-actions svg { width: 17px; height: 17px; color: #147a70; }
.fp-contact-actions .is-caution { color: var(--coral-action); }
.fp-contact-search { margin: 0 1.6rem 1.6rem; min-height: 44px; padding: .85rem; display: flex; align-items: center; gap: .65rem; color: var(--muted); border: 1px solid rgba(20,35,59,.09); border-radius: 12px; background: #fbf8f6; font-size: .76rem; }
.fp-contact-search svg { width: 18px; height: 18px; }
.fp-feature-lines { margin-top: 1.35rem; display: grid; grid-template-columns: 1fr 1fr; gap: 0 1.2rem; }
.fp-feature-lines p { margin: 0; padding: .75rem 0; border-top: 1px solid rgba(20,35,59,.09); }
.fp-feature-lines strong,
.fp-feature-lines span { display: block; }
.fp-feature-lines strong { color: var(--navy); font-size: .88rem; line-height: 1.3; }
.fp-feature-lines span { margin-top: .2rem; color: var(--muted); font-size: .86rem; line-height: 1.52; }

.fp-history { background: var(--white); }
.fp-history-panel {
  overflow: hidden;
  border: 1px solid rgba(20,35,59,.11);
  border-radius: 25px;
  background: var(--white);
  box-shadow: 0 24px 65px rgba(20,35,59,.09);
}
.fp-history-toolbar { min-height: 72px; padding: 1rem 1.25rem; display: grid; grid-template-columns: minmax(0, 1fr) auto auto; gap: .75rem; align-items: center; color: var(--white); background: var(--navy); }
.fp-history-toolbar strong,
.fp-history-toolbar small { display: block; }
.fp-history-toolbar strong { font-size: .9rem; }
.fp-history-toolbar small { color: #aeb9c8; font-size: .6rem; }
.fp-history-toolbar > span { min-height: 38px; padding: .55rem .75rem; display: flex; align-items: center; gap: .5rem; color: #d5dde8; border: 1px solid rgba(255,255,255,.11); border-radius: 10px; background: rgba(255,255,255,.055); font-size: .65rem; }
.fp-history-toolbar svg { width: 17px; height: 17px; }
.fp-history-head,
.fp-history-row { display: grid; grid-template-columns: 1.35fr .65fr 1.15fr .95fr .9fr; gap: 1rem; align-items: center; }
.fp-history-head { padding: .7rem 1.25rem; color: var(--muted); border-bottom: 1px solid rgba(20,35,59,.08); background: #fbf8f6; font-size: .58rem; font-weight: 850; letter-spacing: .06em; text-transform: uppercase; }
.fp-history-row { min-height: 88px; padding: .85rem 1.25rem; border-bottom: 1px solid rgba(20,35,59,.08); }
.fp-history-row:last-of-type { border-bottom: 0; }
.fp-history-row > span:first-child { display: grid; grid-template-columns: 38px minmax(0, 1fr); grid-template-rows: auto auto; gap: 0 .65rem; }
.fp-history-row i { grid-row: 1 / 3; width: 38px; height: 38px; display: grid; place-items: center; color: var(--navy); border-radius: 11px; background: var(--mint); font-size: .68rem; font-style: normal; font-weight: 850; }
.fp-history-row b,
.fp-history-row small { display: block; }
.fp-history-row b { color: var(--navy); font-size: .74rem; line-height: 1.35; }
.fp-history-row small { color: var(--muted); font-size: .62rem; line-height: 1.4; }
.fp-history-row em { display: inline-block; padding: .25rem .45rem; color: var(--coral-action); border-radius: 999px; background: #fff0ee; font-size: .58rem; font-style: normal; font-weight: 850; }
.fp-history-row em.is-answered { color: #147a70; background: #ddf6f2; }
.fp-history-row.is-missed { background: rgba(255,107,94,.035); }
.fp-history-summary { padding: .8rem 1.25rem; display: flex; flex-wrap: wrap; gap: .65rem 1.5rem; background: #fbf8f6; }
.fp-history-summary span { display: flex; align-items: center; gap: .45rem; color: var(--navy); font-size: .66rem; font-weight: 750; }
.fp-history-summary svg { width: 17px; height: 17px; color: var(--coral-action); }
.fp-history-highlights { margin-top: 2.5rem; display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 1px; overflow: hidden; border: 1px solid rgba(20,35,59,.08); border-radius: 20px; background: rgba(20,35,59,.08); }
.fp-history-highlights article { min-width: 0; padding: 1.1rem; background: #fffaf8; }
.fp-history-highlights h3 { margin-bottom: .4rem; font-size: .93rem; line-height: 1.25; }
.fp-history-highlights p { margin: 0; font-size: .8rem; line-height: 1.5; }

.fp-management { background: #fff8f5; }
.fp-management .fp-split { align-items: start; }
.fp-management-list { margin-top: 1.35rem; display: grid; grid-template-columns: 1fr 1fr; gap: 0 1.2rem; }
.fp-management-list p { margin: 0; padding: .75rem 0; border-top: 1px solid rgba(20,35,59,.09); }
.fp-management-list strong,
.fp-management-list span { display: block; }
.fp-management-list strong { color: var(--navy); font-size: .88rem; line-height: 1.3; }
.fp-management-list span { margin-top: .2rem; color: var(--muted); font-size: .86rem; line-height: 1.52; }
.fp-admin-visual { position: sticky; top: 110px; }
.fp-admin-shell { overflow: hidden; border: 1px solid rgba(20,35,59,.12); border-radius: 28px; background: var(--white); box-shadow: 0 25px 70px rgba(20,35,59,.11); }
.fp-admin-nav { min-height: 61px; padding: .85rem 1.1rem; display: flex; justify-content: space-between; align-items: center; gap: 1rem; color: var(--white); background: var(--navy); }
.fp-admin-nav > span { display: flex; align-items: center; gap: .6rem; font-size: .76rem; font-weight: 800; }
.fp-admin-nav small { color: #9ce3d6; font-size: .58rem; font-weight: 800; letter-spacing: .05em; text-transform: uppercase; }
.fp-admin-body { padding: 1.25rem; background: #fbf8f6; }
.fp-admin-title { display: flex; justify-content: space-between; gap: 1rem; align-items: start; }
.fp-admin-title small,
.fp-admin-title strong { display: block; }
.fp-admin-title small { color: var(--coral-action); font-size: .58rem; font-weight: 850; letter-spacing: .06em; text-transform: uppercase; }
.fp-admin-title strong { margin-top: .2rem; color: var(--navy); font-size: 1rem; }
.fp-admin-title i { padding: .35rem .55rem; color: #147a70; border-radius: 999px; background: #ddf6f2; font-size: .57rem; font-style: normal; font-weight: 800; white-space: nowrap; }
.fp-admin-change { margin-top: 1.1rem; padding: 1rem; display: grid; grid-template-columns: 44px minmax(0, 1fr); gap: .8rem; align-items: center; border: 1px solid rgba(201,66,57,.16); border-radius: 15px; background: #fff5f2; }
.fp-admin-change > span { width: 44px; height: 44px; display: grid; place-items: center; color: var(--coral-action); border-radius: 12px; background: #ffe3df; }
.fp-admin-change svg { width: 22px; height: 22px; }
.fp-admin-change small,
.fp-admin-change strong { display: block; }
.fp-admin-change small { color: var(--coral-action); font-size: .55rem; font-weight: 850; letter-spacing: .05em; text-transform: uppercase; }
.fp-admin-change strong { color: var(--navy); font-size: .8rem; }
.fp-admin-change p { margin: .15rem 0 0; font-size: .68rem; }
.fp-admin-checks { margin-top: 1rem; display: grid; gap: .6rem; }
.fp-admin-checks > div { position: relative; padding: .75rem; display: grid; grid-template-columns: 36px minmax(0, 1fr) auto; gap: .65rem; align-items: center; border: 1px solid rgba(20,35,59,.08); border-radius: 12px; background: var(--white); }
.fp-admin-sequence { counter-reset: admin-step; }
.fp-admin-sequence > div:not(:last-child)::after { content: ""; position: absolute; z-index: 0; left: 31px; bottom: -.68rem; width: 2px; height: .72rem; background: var(--mint-strong); }
.fp-admin-sequence > div > b { position: absolute; left: -.7rem; top: 50%; width: 25px; height: 25px; display: grid; place-items: center; color: var(--coral-action); border: 3px solid #fbf8f6; border-radius: 50%; background: #fff0ee; font-size: .5rem; transform: translateY(-50%); }
.fp-admin-checks > div > span { width: 36px; height: 36px; display: grid; place-items: center; color: #147a70; border-radius: 10px; background: #ddf6f2; }
.fp-admin-checks svg { width: 18px; height: 18px; }
.fp-admin-checks strong,
.fp-admin-checks small { display: block; }
.fp-admin-checks strong { color: var(--navy); font-size: .78rem; }
.fp-admin-checks small { color: var(--muted); font-size: .65rem; }
.fp-admin-checks i { color: #147a70; font-size: .58rem; font-style: normal; font-weight: 800; }
.fp-admin-actions { margin-top: 1rem; display: flex; justify-content: space-between; align-items: center; gap: 1rem; }
.fp-admin-actions span { display: flex; align-items: center; gap: .45rem; color: var(--muted); font-size: .62rem; }
.fp-admin-actions svg { width: 17px; height: 17px; }
.fp-admin-actions strong { padding: .65rem .85rem; color: var(--white); border-radius: 10px; background: var(--coral-action); font-size: .65rem; }

.fp-long-term { background: var(--white); }
.fp-intro-centred { margin-inline: auto; text-align: center; }
.fp-intro-centred .fp-prose { margin-inline: auto; }
.fp-growth-visual { position: relative; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1.25rem; }
.fp-growth-visual::before { content: ""; position: absolute; z-index: 0; left: 9%; right: 9%; top: 32px; height: 2px; background: linear-gradient(90deg, var(--coral), var(--mint-strong)); }
.fp-growth-stage { position: relative; z-index: 1; min-width: 0; padding: 1.35rem; border: 1px solid rgba(20,35,59,.09); border-radius: 19px; background: #fffaf8; }
.fp-growth-stage > span { width: 64px; height: 64px; margin-bottom: 1.2rem; display: grid; place-items: center; color: var(--coral-action); border: 7px solid var(--white); border-radius: 50%; background: #fff0ee; box-shadow: 0 0 0 1px rgba(201,66,57,.16); font-size: .7rem; font-weight: 850; }
.fp-growth-stage:nth-child(even) > span { color: #147a70; background: #ddf6f2; box-shadow: 0 0 0 1px rgba(33,191,174,.2); }
.fp-growth-stage small,
.fp-growth-stage strong { display: block; }
.fp-growth-stage small { color: var(--coral-action); font-size: .6rem; font-weight: 850; letter-spacing: .07em; text-transform: uppercase; }
.fp-growth-stage strong { margin-top: .3rem; color: var(--navy); font-size: 1.05rem; line-height: 1.3; }
.fp-growth-stage p { margin: .35rem 0 0; font-size: .88rem; }
.fp-strategy-themes { margin-top: 2.75rem; display: grid; grid-template-columns: 1fr 1fr; border-top: 1px solid rgba(20,35,59,.11); border-bottom: 1px solid rgba(20,35,59,.11); }
.fp-strategy-themes article { min-width: 0; padding: 1.65rem 2rem 1.65rem 0; display: grid; grid-template-columns: 48px minmax(0, 1fr); gap: 1rem; border-bottom: 1px solid rgba(20,35,59,.09); }
.fp-strategy-themes article:nth-child(odd) { border-right: 1px solid rgba(20,35,59,.09); }
.fp-strategy-themes article:nth-child(even) { padding-left: 2rem; }
.fp-strategy-themes article:nth-last-child(-n+2) { border-bottom: 0; }
.fp-strategy-themes article > span { width: 48px; height: 48px; display: grid; place-items: center; color: var(--coral-action); border-radius: 14px; background: #fff0ee; }
.fp-strategy-themes article:nth-child(even) > span { color: #147a70; background: #ddf6f2; }
.fp-strategy-themes svg { width: 23px; height: 23px; }
.fp-strategy-themes small { color: var(--coral-action); font-size: .58rem; font-weight: 850; letter-spacing: .07em; text-transform: uppercase; }
.fp-strategy-themes h3 { margin: .25rem 0 .45rem; font-size: 1.08rem; line-height: 1.25; }
.fp-strategy-themes p { max-width: 500px; margin: 0; color: var(--muted); font-size: .9rem; line-height: 1.58; }
.fp-closing-centred { margin-inline: auto; text-align: center; }

.fp-connected { color: var(--white); background: var(--navy); }
.fp-platform-map {
  position: relative;
  padding: 1.5rem;
  display: grid;
  grid-template-columns: 260px minmax(0, 1fr);
  gap: 1.5rem;
  align-items: stretch;
  border: 1px solid rgba(255,255,255,.11);
  border-radius: 28px;
  background: rgba(255,255,255,.04);
}
.fp-platform-core { padding: 1.5rem; display: flex; flex-direction: column; justify-content: center; text-align: center; border: 2px solid var(--coral); border-radius: 21px; background: rgba(255,107,94,.09); }
.fp-platform-core > span { width: 50px; height: 50px; margin: 0 auto .8rem; display: grid; place-items: center; color: var(--coral); border-radius: 14px; background: rgba(255,107,94,.13); }
.fp-platform-core svg { width: 25px; height: 25px; }
.fp-platform-core small,
.fp-platform-core strong { display: block; }
.fp-platform-core small { color: #ffb8b1; font-size: .6rem; font-weight: 850; letter-spacing: .08em; text-transform: uppercase; }
.fp-platform-core strong { color: var(--white); font-size: 1.2rem; }
.fp-platform-core p { margin: .35rem 0 0; color: #c7d0df; font-size: .76rem; }
.fp-platform-capabilities { display: grid; grid-template-columns: 1fr 1fr; gap: .8rem; }
.fp-platform-capabilities article { min-width: 0; padding: 1rem; display: grid; grid-template-columns: 42px minmax(0, 1fr); gap: .8rem; border: 1px solid rgba(255,255,255,.1); border-radius: 15px; background: rgba(255,255,255,.045); }
.fp-platform-capabilities article:last-child { grid-column: 1 / -1; }
.fp-platform-capabilities article > span { width: 42px; height: 42px; display: grid; place-items: center; color: #147a70; border-radius: 12px; background: #c9f0e3; }
.fp-platform-capabilities article:nth-child(even) > span { color: var(--coral-action); background: #ffe3df; }
.fp-platform-capabilities svg { width: 21px; height: 21px; }
.fp-platform-capabilities h3 { margin-bottom: .35rem; color: var(--white); font-size: .93rem; line-height: 1.25; }
.fp-platform-capabilities p { margin: 0; color: #c7d0df; font-size: .78rem; line-height: 1.5; }

.fp-explore { background: #fff8f5; }
.fp-capability-gateway { display: grid; gap: 2rem; }
.fp-capability-card { position: relative; min-width: 0; min-height: 230px; padding: 1.35rem; display: flex; flex-direction: column; border: 1px solid rgba(20,35,59,.09); border-radius: 19px; background: rgba(255,255,255,.82); }
a.fp-capability-card { text-decoration: none; }
.fp-capability-featured { min-height: 290px; padding: 2rem; color: var(--white); border-color: var(--navy); background: var(--navy); box-shadow: 0 20px 48px rgba(20,35,59,.14); transition: transform .2s ease, box-shadow .2s ease; }
.fp-capability-featured:hover { transform: translateY(-3px); box-shadow: 0 26px 55px rgba(20,35,59,.18); }
.fp-capability-icon { width: 45px; height: 45px; margin-bottom: 1.2rem; display: grid; place-items: center; color: var(--coral-action); border-radius: 13px; background: #fff0ee; }
.fp-capability-major .fp-capability-card:nth-of-type(even) .fp-capability-icon,
.fp-capability-supporting .fp-capability-card:nth-of-type(even) .fp-capability-icon { color: #147a70; background: #ddf6f2; }
.fp-capability-featured .fp-capability-icon { color: var(--coral); background: rgba(255,107,94,.13); }
.fp-capability-icon svg { width: 23px; height: 23px; }
.fp-capability-card > small { color: var(--coral-action); font-size: .58rem; font-weight: 850; letter-spacing: .08em; text-transform: uppercase; }
.fp-capability-featured > small { color: #ffb8b1; }
.fp-capability-card h3 { margin: .35rem 0 .55rem; font-size: 1.18rem; }
.fp-capability-featured h3 { color: var(--white); font-size: 1.45rem; }
.fp-capability-card p { margin: 0; font-size: .9rem; line-height: 1.55; }
.fp-capability-featured p { max-width: 420px; color: #d5dde8; }
.fp-capability-featured > strong { margin-top: auto; padding-top: 1.2rem; color: #ffb8b1; font-size: .82rem; }
.fp-capability-connect { transition: transform .2s ease, border-color .2s ease, box-shadow .2s ease; }
.fp-capability-connect:hover { border-color: rgba(201,66,57,.28); box-shadow: 0 16px 34px rgba(20,35,59,.08); transform: translateY(-2px); }
.fp-capability-connect > strong { margin-top: auto; padding-top: 1rem; color: var(--coral-action); font-size: .78rem; }
.fp-capability-ai { transition: transform .2s ease, border-color .2s ease, box-shadow .2s ease; }
.fp-capability-ai:hover { border-color: rgba(201,66,57,.28); box-shadow: 0 16px 34px rgba(20,35,59,.08); transform: translateY(-2px); }
.fp-capability-ai > strong { margin-top: auto; padding-top: 1rem; color: var(--coral-action); font-size: .78rem; }
.fp-capability-planned { background: #f7f2ef; border-style: dashed; }
.fp-capability-planned > small { color: var(--muted); }
.fp-capability-tier { display: grid; gap: 1rem; }
.fp-tier-label { grid-column: 1 / -1; margin: 0 0 .25rem; color: var(--coral-action); font-size: .68rem; font-weight: 850; letter-spacing: .08em; text-transform: uppercase; }
.fp-capability-major { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.fp-capability-major .fp-capability-card { min-height: 220px; }
.fp-capability-supporting { grid-template-columns: repeat(5, minmax(0, 1fr)); padding-top: 1.75rem; border-top: 1px solid rgba(20,35,59,.1); }
.fp-capability-supporting .fp-capability-card { min-height: 0; padding: 1rem; display: grid; grid-template-columns: 38px minmax(0, 1fr); gap: .75rem; border-radius: 14px; background: rgba(255,255,255,.56); }
.fp-capability-supporting .fp-capability-icon { width: 38px; height: 38px; margin: 0; border-radius: 11px; }
.fp-capability-supporting .fp-capability-icon svg { width: 19px; height: 19px; }
.fp-capability-supporting .fp-capability-card > div { min-width: 0; }
.fp-capability-supporting .fp-capability-card small { color: var(--muted); font-size: .52rem; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; }
.fp-capability-supporting .fp-capability-card h3 { margin: .22rem 0 .35rem; font-size: .96rem; }
.fp-capability-supporting .fp-capability-card p { color: var(--muted); font-size: .78rem; line-height: 1.48; }
.fp-capability-supporting .fp-capability-planned { background: #f7f2ef; }

.fp-cta-section { background: var(--white); }
.fp-final-cta {
  position: relative;
  overflow: hidden;
  padding: clamp(2.5rem, 5vw, 4.5rem);
  display: grid;
  grid-template-columns: minmax(0, 1.2fr) minmax(250px, .65fr) minmax(220px, .55fr);
  gap: clamp(2rem, 4vw, 4rem);
  align-items: center;
  border: 1px solid rgba(20,35,59,.1);
  border-radius: 30px;
  background: #fff5f2;
  box-shadow: 0 25px 70px rgba(20,35,59,.09);
}
.fp-final-cta::after { content: ""; position: absolute; right: -9rem; top: -10rem; width: 20rem; height: 20rem; border-radius: 50%; background: rgba(188,235,217,.45); }
.fp-final-copy,
.fp-final-call,
.fp-final-links { position: relative; z-index: 1; }
.fp-final-copy { max-width: 680px; }
.fp-final-copy > p:last-child { max-width: 620px; margin-bottom: 0; font-size: 1.05rem; }
.fp-final-call { padding-left: 1.5rem; border-left: 3px solid var(--coral); }
.fp-final-call > span { width: 48px; height: 48px; margin-bottom: .8rem; display: grid; place-items: center; color: var(--coral-action); border-radius: 14px; background: #ffe3df; }
.fp-final-call svg { width: 24px; height: 24px; }
.fp-final-call small,
.fp-final-call strong { display: block; }
.fp-final-call small { color: var(--coral-action); font-size: .62rem; font-weight: 850; letter-spacing: .07em; text-transform: uppercase; }
.fp-final-call strong { margin: .25rem 0 1rem; color: var(--navy); font-size: 1rem; line-height: 1.3; }
.fp-final-call .button { width: 100%; }
.fp-final-links { display: grid; gap: .7rem; }
.fp-final-links .button { width: 100%; }
.fp-final-links .text-link { min-height: 44px; justify-content: center; }

@media (max-width: 1279px) {
  .fp-ecosystem { width: 100%; margin-right: 0; }
  .fp-orbit-card { width: 176px; }
  .orbit-contacts { left: 84%; }
  .orbit-devices { left: 16%; }
}

@media (max-width: 1180px) {
  .fp-hero-grid { grid-template-columns: minmax(0, .9fr) minmax(500px, 1.1fr); gap: 2.5rem; }
  .fp-history-highlights { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .fp-capability-supporting { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}

@media (max-width: 1100px) {
  .fp-split,
  .fp-handling-layout { grid-template-columns: 1fr; }
  .fp-contacts .fp-split,
  .fp-ai-stage { grid-template-columns: 1fr; }
  .fp-split-reverse > :first-child { order: 2; }
  .fp-split-reverse > :last-child { order: 1; }
  .fp-section-copy { max-width: 790px; }
  .fp-foundation-visual,
  .fp-work-visual,
  .fp-ai-visual,
  .fp-contact-panel,
  .fp-admin-visual { width: 100%; max-width: 790px; margin-inline: auto; }
  .fp-ai-visual,
  .fp-admin-visual { position: relative; top: auto; }
  .fp-ai-stage { max-width: 900px; margin-inline: auto; }
  .fp-ai-themes { grid-template-columns: 1fr 1fr; }
  .fp-route-story { max-width: 900px; }
  .fp-highlight-rail { max-width: 900px; }
  .fp-final-cta { grid-template-columns: minmax(0, 1fr) minmax(250px, .7fr); }
  .fp-final-copy { grid-column: 1 / -1; }
}

@media (max-width: 1024px) {
  .fp-section-copy h2,
  .fp-section-intro h2,
  .fp-final-copy h2 { font-size: clamp(2.35rem, 5vw, 3.15rem); }
  .fp-hero-grid { grid-template-columns: minmax(0, .8fr) minmax(470px, 1.2fr); gap: 2.25rem; }
  .fp-hero-copy h1 { font-size: clamp(2.9rem, 5.2vw, 3.55rem); }
  .fp-foundation-points { grid-template-columns: 1fr 1fr; }
  .fp-strategy-themes { grid-template-columns: 1fr; }
  .fp-strategy-themes article,
  .fp-strategy-themes article:nth-child(even) { padding: 1.4rem 0; border-right: 0; border-bottom: 1px solid rgba(20,35,59,.09); }
  .fp-strategy-themes article:last-child { border-bottom: 0; }
  .fp-platform-map { grid-template-columns: 220px minmax(0, 1fr); }
  .fp-capability-major { grid-template-columns: 1fr 1fr; }
}

@media (max-width: 900px) {
  .fp-hero-grid { grid-template-columns: 1fr; }
  .fp-hero-copy { max-width: 760px; }
  .fp-ecosystem { width: 100%; max-width: 780px; margin-inline: auto; }
  .fp-final-cta { grid-template-columns: 1fr 1fr; }
}

@media (max-width: 768px) {
  .features-page .section { padding: 5.5rem 0; }
  .fp-hero { padding: 5rem 0; }
  .fp-hero-copy > .eyebrow,
  .fp-hero-copy > h1,
  .fp-section-copy > .eyebrow,
  .fp-section-copy > h2,
  .fp-section-intro > .eyebrow,
  .fp-section-intro > h2,
  .fp-final-copy > .eyebrow,
  .fp-final-copy > h2 { text-align: center; }
  .fp-hero-copy h1,
  .fp-section-copy h2,
  .fp-section-intro h2,
  .fp-final-copy h2 { max-width: 18ch; margin-inline: auto; }
  .fp-hero-copy { margin-inline: auto; text-align: center; }
  .fp-hero-lede { max-width: 650px; margin-inline: auto; }
  .fp-hero-actions { justify-content: center; }
  .fp-hero-actions .text-link { justify-content: center; }
  .fp-section-copy,
  .fp-section-intro { margin-inline: auto; }
  .fp-section-intro { margin-bottom: 3rem; }
  .fp-section-link { margin-inline: auto; justify-content: center; }
  .fp-prose { margin-inline: auto; }
  .fp-prose p { text-align: left; }
  .fp-foundation-points { margin-top: 3rem; }
  .fp-highlight-rail { grid-template-columns: 1fr 1fr; }
  .fp-route-story { padding: 1.1rem; }
  .fp-route-track { max-width: 24rem; margin-inline: auto; grid-template-columns: 1fr; justify-items: center; gap: .85rem; }
  .fp-route-step { width: 100%; padding: .55rem .7rem; display: grid; grid-template-columns: 38px minmax(0, 1fr); grid-template-rows: auto auto; gap: 0 .7rem; text-align: left; }
  .fp-route-step > span { grid-row: 1 / 3; width: 38px; height: 38px; margin: 0; border-width: 4px; }
  .fp-route-step svg { width: 18px; height: 18px; }
  .fp-route-step small { align-self: end; }
  .fp-route-step strong { align-self: start; }
  .fp-route-step:not(.route-start)::before { left: 50%; top: -6px; transform: translateX(-50%); }
  .fp-route-step:not(:last-child)::after {
    content: "";
    left: 50%;
    top: 100%;
    width: 12px;
    height: calc(.85rem + 2px);
    display: block;
    color: transparent;
    background: var(--mint-strong);
    clip-path: polygon(42% 0, 58% 0, 58% 62%, 100% 62%, 50% 100%, 0 62%, 42% 62%);
    transform: translateX(-50%);
  }
  .fp-route-step.route-start > b { left: auto; right: .55rem; top: .42rem; }
  .fp-route-branch-map,
  .fp-route-secondary,
  .fp-route-fallback-map,
  .fp-route-final { width: 100%; max-width: 30rem; margin-inline: auto; }
  .fp-route-branch-map { height: 68px; }
  .fp-route-path-desktop { display: none; }
  .fp-route-path-mobile { display: initial; }
  .fp-route-branch-label { left: .25rem; top: .35rem; padding: .38rem .52rem; }
  .fp-route-secondary { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .65rem; }
  .fp-route-secondary-node.route-busy,
  .fp-route-secondary-node.route-unanswered { grid-column: auto; }
  .fp-route-step.route-primary::after,
  .fp-route-final-node::before { left: 50%; }
  .fp-route-secondary-node.route-busy::before,
  .fp-route-secondary-node.route-busy::after { left: calc(50% + 2.6px); }
  .fp-route-secondary-node.route-unanswered::before,
  .fp-route-secondary-node.route-unanswered::after { left: calc(50% - 2.6px); }
  .fp-route-secondary-node,
  .fp-route-final-node { padding: .58rem .62rem; }
  .fp-route-fallback-map { height: 52px; }
  .fp-route-final { grid-template-columns: 1fr; justify-items: center; }
  .fp-route-final-node { width: 100%; max-width: 24rem; grid-column: auto; }
  .fp-conversation-flow > .fp-ai-flow-node.is-caller,
  .fp-conversation-flow > .fp-ai-flow-node.is-assistant,
  .fp-conversation-flow > .fp-ai-flow-node.fp-ai-capture,
  .fp-conversation-flow > .fp-ai-flow-node.fp-human-handover { width: 100%; margin-left: 0; }
  .fp-ai-cascade-connector,
  .fp-ai-cascade-connector.connector-two,
  .fp-ai-cascade-connector.connector-three { --connector-from: 50%; --connector-to: 50%; height: 1.2rem; }
  .fp-ai-cascade-connector > i { display: none; }
  .fp-dialogue p { padding-inline: 1.2rem; }
  .fp-dialogue .fp-quote-open,
  .fp-dialogue .fp-quote-close { font-size: 2.15rem; }
  .fp-work-canvas { min-height: 560px; }
  .fp-compact-points,
  .fp-feature-lines,
  .fp-management-list { max-width: 700px; margin-inline: auto; }
  .fp-history-head { display: none; }
  .fp-history-row { grid-template-columns: 1fr 1fr; gap: .9rem 1.25rem; }
  .fp-history-row > span:first-child { grid-column: 1 / -1; }
  .fp-history-highlights { grid-template-columns: 1fr 1fr; }
  .fp-platform-map { grid-template-columns: 1fr; }
  .fp-platform-core { max-width: 420px; margin-inline: auto; }
  .fp-platform-capabilities { grid-template-columns: 1fr 1fr; }
  .fp-capability-supporting { grid-template-columns: 1fr 1fr; }
  .fp-final-cta { padding: 3rem 2rem; text-align: center; }
  .fp-final-copy > p:last-child { margin-inline: auto; text-align: left; }
  .fp-final-call { padding: 1.5rem 0 0; border-left: 0; border-top: 3px solid var(--coral); }
  .fp-final-call > span { margin-inline: auto; }
  .fp-final-links { align-self: end; }
  .features-page .footer-links a,
  .features-page .footer-phone,
  .features-page .header-phone,
  .features-page .text-link,
  .features-page .fp-capability-featured { min-height: 44px; }

  .fp-anywhere .fp-split,
  .fp-contacts .fp-split,
  .fp-management .fp-split { row-gap: 0; }
  .fp-anywhere .fp-section-copy,
  .fp-contacts .fp-section-copy,
  .fp-management .fp-section-copy { display: contents; }
  .fp-anywhere .fp-section-copy > .eyebrow,
  .fp-contacts .fp-section-copy > .eyebrow,
  .fp-management .fp-section-copy > .eyebrow { order: 1; }
  .fp-anywhere .fp-section-copy > h2,
  .fp-contacts .fp-section-copy > h2,
  .fp-management .fp-section-copy > h2 { order: 2; }
  .fp-anywhere .fp-section-copy > .fp-prose,
  .fp-contacts .fp-section-copy > .fp-prose,
  .fp-management .fp-section-copy > .fp-prose { order: 3; margin-bottom: 2rem; }
  .fp-anywhere .fp-work-visual,
  .fp-contacts .fp-contact-panel,
  .fp-management .fp-admin-visual { order: 4; margin-bottom: 2rem; }
  .fp-compact-points,
  .fp-highlight-pairs,
  .fp-feature-lines,
  .fp-management-list { order: 5; width: 100%; }
  .fp-anywhere .fp-closing,
  .fp-contacts .fp-closing,
  .fp-management .fp-closing { order: 6; width: 100%; }
}

@media (max-width: 640px) {
  .fp-hero { padding: 4.25rem 0; }
  .fp-hero-copy h1 { font-size: clamp(2.55rem, 11vw, 3.2rem); }
  .fp-hero-actions .button { width: auto; }
  .fp-ecosystem { padding: .8rem; border-radius: 24px; }
  .fp-ecosystem-toolbar { min-height: 52px; padding: .25rem .15rem .8rem; }
  .fp-ecosystem-canvas { min-height: 0; padding: 1rem; display: grid; grid-template-columns: 1fr 1fr; gap: .7rem; }
  .fp-ecosystem-lines { display: none; }
  .fp-ecosystem-core,
  .fp-orbit-card { position: relative; inset: auto; width: 100%; min-height: 78px; transform: none; }
  .fp-ecosystem-core { grid-column: 1 / -1; padding: 1rem; }
  .fp-ecosystem-core > span { width: 42px; height: 42px; margin-bottom: .55rem; }
  .fp-orbit-card { grid-template-columns: 36px minmax(0, 1fr); padding: .65rem; }
  .fp-orbit-card > span { width: 36px; height: 36px; }
  .fp-ecosystem-summary { padding: .8rem .15rem 0; grid-template-columns: 1fr; gap: .3rem; text-align: center; }
  .fp-ecosystem-summary span,
  .fp-ecosystem-summary i { display: none; }
  .fp-foundation-canvas { min-height: 0; padding: 1.25rem; }
  .fp-foundation-points { grid-template-columns: 1fr; }
  .fp-route-track { grid-template-columns: 1fr; }
  .fp-highlight-rail,
  .fp-compact-points,
  .fp-highlight-pairs,
  .fp-feature-lines,
  .fp-management-list { grid-template-columns: 1fr; }
  .fp-work-visual { padding: .8rem; }
  .fp-work-canvas { min-height: 0; padding: 1rem; display: grid; gap: .75rem; }
  .fp-work-canvas::before,
  .fp-work-path { display: none; }
  .fp-work-route-label { position: relative; left: auto; top: auto; justify-self: center; transform: none; }
  .fp-work-centre,
  .fp-work-card { position: relative; inset: auto; width: 100%; transform: none; }
  .fp-work-centre { padding: 1rem; }
  .fp-conversation-flow { grid-template-columns: 1fr; }
  .fp-contact-context { grid-template-columns: 1fr; }
  .fp-history-toolbar { grid-template-columns: 1fr; }
  .fp-history-toolbar > span { display: none; }
  .fp-history-row { grid-template-columns: 1fr; }
  .fp-history-row > span:first-child { grid-column: auto; }
  .fp-history-highlights { grid-template-columns: 1fr; }
  .fp-growth-visual { grid-template-columns: 1fr; }
  .fp-growth-visual::before { display: none; }
  .fp-growth-stage { display: grid; grid-template-columns: 58px minmax(0, 1fr); gap: 1rem; }
  .fp-growth-stage > span { width: 58px; height: 58px; margin: 0; border-width: 6px; }
  .fp-strategy-themes article { grid-template-columns: 46px minmax(0, 1fr); gap: .9rem; }
  .fp-strategy-themes article > span { width: 46px; height: 46px; }
  .fp-platform-capabilities { grid-template-columns: 1fr; }
  .fp-platform-capabilities article:last-child { grid-column: auto; }
  .fp-final-cta { grid-template-columns: 1fr; padding: 2.5rem 1.25rem; border-radius: 24px; }
  .fp-final-call,
  .fp-final-links { width: 100%; max-width: 420px; margin-inline: auto; }
}

@media (max-width: 480px) {
  .features-page .section { padding: 4.5rem 0; }
  .fp-hero-actions { width: 100%; }
  .fp-hero-actions .button,
  .fp-hero-actions .text-link { width: 100%; }
  .fp-hero-copy h1,
  .fp-section-copy h2,
  .fp-section-intro h2,
  .fp-final-copy h2 { max-width: 16ch; line-height: 1.1; }
  .fp-ecosystem-canvas { grid-template-columns: 1fr; }
  .fp-ecosystem-core { grid-column: auto; }
  .fp-foundation-toolbar { align-items: flex-start; }
  .fp-foundation-toolbar i { max-width: 100px; text-align: center; }
  .fp-flow-branch { display: none; }
  .fp-flow-outcomes { margin-top: 1rem; grid-template-columns: 1fr; }
  .fp-impact-note { grid-template-columns: 36px minmax(0, 1fr); }
  .fp-impact-note > i { grid-column: 2; justify-self: start; }
  .fp-route-story { padding: .8rem; }
  .fp-conversation { padding: .85rem; }
  .fp-conversation-head { grid-template-columns: 42px minmax(0, 1fr); }
  .fp-conversation-head > span { width: 42px; height: 42px; }
  .fp-conversation-head i { grid-column: 2; justify-self: start; }
  .fp-chat-row { max-width: 92%; }
  .fp-contact-call { grid-template-columns: 52px minmax(0, 1fr); }
  .fp-contact-avatar { width: 52px; height: 52px; }
  .fp-contact-call > span { grid-column: 1 / -1; justify-self: start; }
  .fp-contact-actions { display: grid; grid-template-columns: 1fr; }
  .fp-contact-actions span { width: 100%; }
  .fp-admin-title { display: block; }
  .fp-admin-title i { margin-top: .6rem; display: inline-block; }
  .fp-admin-checks > div { grid-template-columns: 36px minmax(0, 1fr); }
  .fp-admin-checks i { grid-column: 2; }
  .fp-admin-sequence > div > b { left: -.55rem; }
  .fp-admin-actions { align-items: flex-start; flex-direction: column; }
  .fp-capability-major,
  .fp-capability-supporting { grid-template-columns: 1fr; }
  .fp-capability-card { min-height: 0; }
  .fp-capability-supporting .fp-capability-card { grid-template-columns: 42px minmax(0, 1fr); }
}

@media (prefers-reduced-motion: reduce) {
  .fp-capability-featured { transition: none; }
}

/* TalkLayr Connect page and homepage showcase */
.connect-page { background: var(--cream); }
.connect-page svg,
.home-connect-showcase svg { fill: none; stroke: currentColor; stroke-width: 1.9; stroke-linecap: round; stroke-linejoin: round; }
.connect-page .button:focus-visible,
.connect-page .text-link:focus-visible { outline-color: var(--coral); box-shadow: 0 0 0 6px rgba(201,66,57,.2); }
.cn-hero {
  position: relative;
  overflow: hidden;
  padding: clamp(5.5rem, 8vw, 8rem) 0 clamp(5.5rem, 7vw, 7rem);
  background: radial-gradient(circle at 86% 16%, rgba(188,235,217,.72), transparent 23rem), linear-gradient(135deg, #fffaf8 0%, #fff4ef 58%, #fff 100%);
}
.cn-hero::before { content: ""; position: absolute; left: -9rem; bottom: -12rem; width: 28rem; height: 28rem; border: 1px solid rgba(255,107,94,.15); border-radius: 50%; }
.cn-hero-grid { position: relative; z-index: 1; display: grid; grid-template-columns: minmax(0,.78fr) minmax(560px,1.22fr); gap: clamp(2.5rem,4vw,4rem); align-items: center; }
.cn-hero-grid > *, .cn-split > *, .cn-presence-grid > *, .cn-desk-grid > *, .cn-device-grid > * { min-width: 0; }
.cn-hero-copy h1 { max-width: 740px; margin: 0 0 1.65rem; color: var(--navy); font-size: clamp(3.25rem,5.1vw,4.65rem); line-height: .98; letter-spacing: -.055em; }
.cn-hero-lede { max-width: 660px; }
.cn-hero-lede p { margin: 0 0 .85rem; color: var(--muted); font-size: 1.1rem; line-height: 1.72; }
.cn-hero-lede p:first-child { color: var(--ink); font-weight: 720; }
.cn-hero-actions { margin-top: 2rem; align-items: center; }
.cn-call-link { min-height: 44px; display: inline-flex; align-items: center; gap: .5rem; }
.cn-call-link svg { width: 19px; height: 19px; }
.cn-hero-media { width: min(100%,780px); margin: 0; justify-self: end; overflow: hidden; border-radius: 28px; background: #e9e2da; box-shadow: 0 30px 70px rgba(20,35,59,.18); }
.cn-hero-media img { width: 100%; height: auto; aspect-ratio: 1447 / 1087; display: block; object-fit: cover; object-position: center; }
.cn-ui-top { min-height: 42px; padding: .55rem .75rem; display: flex; justify-content: space-between; align-items: center; color: #d9e1eb; border-bottom: 1px solid rgba(255,255,255,.09); background: #101c30; }
.cn-ui-top > span { display: flex; align-items: center; gap: .45rem; font-size: .72rem; font-weight: 850; }
.cn-ui-top > i { color: #9ce3d6; font-size: .58rem; font-style: normal; font-weight: 800; }
.cn-profile small, .cn-screen-close-body > small { color: #9ce3d6; font-size: .56rem; font-weight: 850; letter-spacing: .07em; text-transform: uppercase; }
.cn-avatar { display: grid; place-items: center; color: var(--navy); border-radius: 13px; background: var(--mint); font-weight: 850; }
.connect-page .section { padding: clamp(5.75rem,8vw,8rem) 0; }
.cn-section-intro { max-width: 920px; margin: 0 auto 4rem; }
.cn-section-intro h2, .cn-section-copy h2, .cn-recent-heading h2, .cn-final-copy h2 { margin: 0 0 1.3rem; color: var(--navy); font-size: clamp(2.65rem,4.7vw,4.25rem); line-height: 1.04; letter-spacing: -.045em; }
.cn-reading-copy { max-width: 690px; }
.cn-reading-copy p { margin: 0 0 .8rem; color: var(--muted); font-size: 1.03rem; line-height: 1.72; }
.cn-section-intro .cn-reading-copy { max-width: 780px; }
.cn-closing { max-width: 720px; margin: 1.6rem 0 0; padding-top: 1.2rem; color: var(--navy); border-top: 1px solid rgba(20,35,59,.1); font-weight: 760; }
.cn-closing-centred { margin-inline: auto; text-align: center; }
.cn-call-sequence { margin: 0; padding: 0; display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 1rem; list-style: none; counter-reset: none; }
.cn-call-sequence li { position: relative; min-width: 0; padding: 1.35rem; border: 1px solid rgba(20,35,59,.1); border-radius: 18px; background: var(--white); box-shadow: 0 14px 35px rgba(20,35,59,.06); }
.cn-call-sequence li:not(:last-child)::after { content: "›"; position: absolute; z-index: 2; left: calc(100% + .25rem); top: 50%; width: .5rem; color: var(--coral-action); font-size: 1.25rem; font-weight: 900; transform: translateY(-50%); }
.cn-call-sequence li > span { width: 44px; height: 44px; margin-bottom: .9rem; display: grid; place-items: center; color: #147a70; border-radius: 12px; background: #ddf6f2; }
.cn-call-sequence li:nth-child(3) > span { color: var(--coral-action); background: #fff0ee; }
.cn-call-sequence svg { width: 21px; height: 21px; }
.cn-call-sequence small { color: var(--coral-action); font-size: .6rem; font-weight: 850; letter-spacing: .06em; text-transform: uppercase; }
.cn-call-sequence h3 { margin: .3rem 0 .4rem; font-size: 1.08rem; line-height: 1.25; }
.cn-call-sequence p { margin: 0; color: var(--muted); font-size: .86rem; line-height: 1.5; }
.cn-point-row { margin-top: 2.5rem; display: grid; grid-template-columns: 1fr 1fr; gap: 0 2rem; }
.cn-point-row article { padding: 1.15rem 0; border-top: 1px solid rgba(20,35,59,.1); }
.cn-point-row h3 { margin: 0 0 .35rem; font-size: 1.05rem; }
.cn-point-row p { margin: 0; color: var(--muted); font-size: .92rem; }
.cn-context { background: #fff7f3; }
.cn-split { display: grid; grid-template-columns: minmax(0,.82fr) minmax(480px,1.18fr); gap: clamp(3.5rem,7vw,7rem); align-items: center; }
.cn-split-reverse { grid-template-columns: minmax(500px,1.15fr) minmax(0,.85fr); }
.cn-context-screen, .cn-contact-app, .cn-presence-panel, .cn-history-table, .cn-screen-close { overflow: hidden; border: 1px solid rgba(20,35,59,.12); border-radius: 24px; background: var(--white); box-shadow: var(--shadow); }
.cn-context-screen { padding-bottom: 1rem; }
.cn-context-screen .cn-ui-top, .cn-contact-app .cn-ui-top { color: var(--white); }
.cn-profile { padding: 1.35rem; display: grid; grid-template-columns: 64px minmax(0,1fr) auto; gap: 1rem; align-items: center; }
.cn-profile > span { width: 64px; height: 64px; display: grid; place-items: center; color: var(--navy); border-radius: 18px; background: var(--mint); font-weight: 850; }
.cn-profile h3 { margin: .1rem 0; color: var(--navy); font-size: 1.35rem; }
.cn-profile p { margin: 0; color: var(--muted); font-size: .82rem; }
.cn-profile > b { padding: .4rem .65rem; color: #147a70; border-radius: 999px; background: #e3f7f2; font-size: .62rem; }
.cn-context-grid { padding: 0 1.35rem 1rem; display: grid; grid-template-columns: 1fr 1fr; gap: .8rem; }
.cn-context-grid > div { padding: 1rem; border: 1px solid var(--line); border-radius: 14px; background: #fbfcfe; }
.cn-context-grid > div.is-missed { border-color: rgba(201,66,57,.2); background: #fff5f3; }
.cn-context-grid small, .cn-context-grid strong { display: block; }
.cn-context-grid small { color: var(--muted); font-size: .64rem; font-weight: 800; text-transform: uppercase; }
.cn-context-grid strong { margin-top: .25rem; color: var(--navy); font-size: .9rem; }
.cn-context-grid p { margin: .2rem 0 0; color: var(--muted); font-size: .76rem; }
.cn-ui-actions { padding: 1rem 1.35rem 0; display: flex; gap: .65rem; border-top: 1px solid var(--line); }
.cn-ui-actions span, .cn-ui-actions b { min-height: 42px; padding: .6rem .75rem; display: flex; align-items: center; gap: .4rem; border-radius: 10px; font-size: .7rem; }
.cn-ui-actions span { color: var(--navy); border: 1px solid var(--line); }
.cn-ui-actions b { margin-left: auto; color: var(--white); background: var(--coral-action); }
.cn-ui-actions svg { width: 16px; height: 16px; }
.cn-inline-capabilities { margin-top: 3rem; display: flex; flex-wrap: wrap; gap: .6rem; }
.cn-inline-capabilities span { padding: .55rem .8rem; color: var(--navy); border: 1px solid rgba(20,35,59,.1); border-radius: 999px; background: rgba(255,255,255,.7); font-size: .75rem; font-weight: 750; }
.cn-contacts { background: var(--white); }
.cn-contact-app { padding-bottom: .8rem; }
.cn-search { margin: 1rem; padding: .7rem .85rem; display: flex; align-items: center; gap: .6rem; color: var(--muted); border: 1px solid var(--line); border-radius: 12px; background: #f8fafc; font-size: .78rem; }
.cn-search svg { width: 18px; height: 18px; }
.cn-contact-tabs { padding: 0 1rem .8rem; display: flex; gap: .4rem; overflow: hidden; }
.cn-contact-tabs span, .cn-contact-tabs b { padding: .45rem .65rem; white-space: nowrap; border-radius: 8px; font-size: .68rem; }
.cn-contact-tabs b { color: var(--coral-action); background: #fff0ee; }
.cn-contact-list { border-top: 1px solid var(--line); }
.cn-contact-list > div { padding: .85rem 1rem; display: grid; grid-template-columns: 42px minmax(0,1fr) 36px; gap: .75rem; align-items: center; border-bottom: 1px solid var(--line); }
.cn-contact-list > div > span { width: 42px; height: 42px; display: grid; place-items: center; color: var(--navy); border-radius: 12px; background: var(--mint); font-size: .72rem; font-weight: 850; }
.cn-contact-list strong, .cn-contact-list small { display: block; }
.cn-contact-list strong { color: var(--navy); font-size: .88rem; }
.cn-contact-list small { color: var(--muted); font-size: .68rem; }
.cn-contact-list i { width: 36px; height: 36px; display: grid; place-items: center; color: var(--coral-action); border-radius: 10px; background: #fff0ee; }
.cn-contact-list svg { width: 17px; height: 17px; }
.cn-compact-list { margin-top: 1.4rem; display: grid; grid-template-columns: 1fr 1fr; gap: .7rem; }
.cn-compact-list p { margin: 0; padding: .85rem 0; border-top: 1px solid rgba(20,35,59,.1); }
.cn-compact-list strong, .cn-compact-list span { display: block; }
.cn-compact-list strong { color: var(--navy); font-size: .9rem; }
.cn-compact-list span { color: var(--muted); font-size: .8rem; line-height: 1.45; }
.cn-presence { color: var(--white); background: var(--navy); }
.cn-presence-grid { display: grid; grid-template-columns: minmax(0,.86fr) minmax(500px,1.14fr); gap: clamp(3.5rem,7vw,7rem); align-items: center; }
.cn-copy-light h2, .cn-intro-light h2 { color: var(--white); }
.cn-copy-light .cn-reading-copy p, .cn-intro-light .cn-reading-copy p { color: #c7d0df; }
.cn-copy-light .cn-closing, .cn-closing-light { color: var(--white); border-color: rgba(255,255,255,.12); }
.cn-presence-panel { color: var(--ink); box-shadow: 0 28px 65px rgba(0,0,0,.24); }
.cn-presence-list > div { padding: .8rem 1rem; display: grid; grid-template-columns: 42px minmax(0,1fr) auto; gap: .75rem; align-items: center; border-bottom: 1px solid var(--line); }
.cn-presence-list > div > span { width: 42px; height: 42px; display: grid; place-items: center; color: var(--navy); border-radius: 50%; background: #e8edf4; font-size: .7rem; font-weight: 850; }
.cn-presence-list strong, .cn-presence-list small { display: block; }
.cn-presence-list strong { font-size: .86rem; }.cn-presence-list small { color: var(--muted); font-size: .66rem; }
.cn-presence-list b { padding: .4rem .6rem; display: flex; align-items: center; gap: .4rem; border-radius: 999px; font-size: .62rem; }
.cn-presence-list b i { width: 7px; height: 7px; border-radius: 50%; background: currentColor; }
.status-available { color: #147a70; background: #e3f7f2; }.status-call { color: #7c5415; background: #fff3d8; }.status-busy { color: var(--coral-action); background: #fff0ee; }.status-away { color: #536176; background: #edf0f4; }.status-dnd { color: var(--navy); background: #e4e9f0; }
.cn-presence-panel > p { margin: 0; padding: .75rem 1rem; color: var(--muted); background: #f8fafc; font-size: .68rem; }
.cn-intro-centred { text-align: center; }.cn-intro-centred .cn-reading-copy { margin-inline: auto; }
.cn-action-flow { position: relative; max-width: 980px; margin-inline: auto; padding: 2rem; display: grid; grid-template-columns: 1fr 1.2fr 1fr; gap: 2.5rem; align-items: center; border: 1px solid rgba(20,35,59,.1); border-radius: 28px; background: #fff7f3; }
.cn-action-flow::before { content: ""; position: absolute; left: 16%; right: 16%; top: 50%; height: 2px; background: var(--mint-strong); }
.cn-action-source, .cn-action-context, .cn-action-primary { position: relative; z-index: 1; min-width: 0; padding: 1.15rem; border: 1px solid rgba(20,35,59,.1); border-radius: 16px; background: var(--white); box-shadow: 0 10px 24px rgba(20,35,59,.06); }
.cn-action-source > span, .cn-action-primary > span { width: 40px; height: 40px; margin-bottom: .7rem; display: grid; place-items: center; color: var(--coral-action); border-radius: 11px; background: #fff0ee; }
.cn-action-primary { border-color: rgba(201,66,57,.25); }.cn-action-primary > span { color: #147a70; background: #ddf6f2; }
.cn-action-flow svg { width: 19px; height: 19px; }
.cn-action-flow small { color: var(--coral-action); font-size: .6rem; font-weight: 850; letter-spacing: .06em; text-transform: uppercase; }
.cn-action-flow strong { display: block; color: var(--navy); font-size: 1rem; }.cn-action-flow p { margin: .2rem 0 0; color: var(--muted); font-size: .78rem; }
.cn-action-context > div { margin-top: .6rem; display: grid; gap: .4rem; }.cn-action-context span { padding: .45rem .55rem; color: var(--navy); border-radius: 8px; background: #f2f6f6; font-size: .7rem; font-weight: 700; }
.cn-action-followup { position: relative; z-index: 1; grid-column: 1 / -1; display: flex; justify-content: center; flex-wrap: wrap; gap: .6rem; }
.cn-action-followup span { padding: .55rem .75rem; color: var(--navy); border: 1px solid rgba(20,35,59,.1); border-radius: 999px; background: var(--white); font-size: .72rem; font-weight: 720; }
.cn-recent { background: #fff7f3; }
.cn-recent-heading { margin-bottom: 3rem; display: grid; grid-template-columns: 1.1fr .9fr; gap: 4rem; align-items: end; }
.cn-history-table { box-shadow: 0 22px 60px rgba(20,35,59,.09); }
.cn-history-head, .cn-history-table > div:not(.cn-history-head) { display: grid; grid-template-columns: 48px 1.15fr 1fr .7fr .7fr; gap: 1rem; align-items: center; }
.cn-history-head { padding: .75rem 1rem; color: #9eabbd; background: var(--navy); font-size: .62rem; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; }
.cn-history-head span:first-child { grid-column: 1 / 3; }
.cn-history-table > div:not(.cn-history-head) { padding: 1rem; border-bottom: 1px solid var(--line); background: var(--white); }
.cn-avatar { width: 42px; height: 42px; font-size: .7rem; }
.cn-history-table > div:not(.cn-history-head) strong, .cn-history-table > div:not(.cn-history-head) small { display: block; }.cn-history-table > div:not(.cn-history-head) strong { color: var(--navy); font-size: .84rem; }.cn-history-table > div:not(.cn-history-head) small { color: var(--muted); font-size: .68rem; }
.cn-history-table > div:not(.cn-history-head) > b { justify-self: start; padding: .35rem .55rem; border-radius: 999px; font-size: .62rem; }.pill-missed { color: var(--coral-action); background: #fff0ee; }.pill-success { color: #147a70; background: #e3f7f2; }.pill-transfer { color: #684f28; background: #fff3d8; }.pill-returned { color: var(--navy); background: #e9eef4; }
.cn-history-table > div:not(.cn-history-head) > i { color: var(--coral-action); font-size: .7rem; font-style: normal; font-weight: 800; }
.cn-desk { background: var(--white); }
.cn-desk-grid { display: grid; grid-template-columns: minmax(0,.88fr) minmax(520px,1.12fr); gap: clamp(4rem,7vw,7rem); align-items: center; }
.cn-desk-composition { position: relative; min-height: 520px; padding: 3.5rem; display: grid; place-items: center; border-radius: 34px; background: #fff3ee; }
.cn-screen-close { width: min(100%,520px); color: var(--white); background: var(--navy); box-shadow: 0 30px 60px rgba(20,35,59,.2); transform: perspective(900px) rotateY(-5deg); }
.cn-screen-close-body { padding: 2rem; }.cn-screen-close-body h3 { margin: .2rem 0 1.2rem; color: var(--white); font-size: 1.55rem; }.cn-screen-close-body > div { display: grid; grid-template-columns: repeat(3,1fr); gap: .7rem; }
.cn-screen-close-body span { padding: .9rem .6rem; display: grid; justify-items: center; gap: .5rem; color: #d9e1eb; border: 1px solid rgba(255,255,255,.1); border-radius: 12px; background: rgba(255,255,255,.05); font-size: .68rem; text-align: center; }.cn-screen-close-body svg { width: 22px; height: 22px; color: #9ce3d6; }
.cn-callout { position: absolute; padding: .55rem .7rem; display: flex; align-items: center; gap: .5rem; color: var(--navy); border: 1px solid rgba(20,35,59,.1); border-radius: 10px; background: var(--white); box-shadow: 0 12px 25px rgba(20,35,59,.1); font-size: .7rem; font-weight: 750; }.cn-callout b { color: var(--coral-action); }.callout-one { left: 1rem; top: 1.4rem; }.callout-two { right: .8rem; top: 6rem; }.callout-three { right: 2rem; bottom: 1.6rem; }
.cn-theme-strip { margin-top: 3rem; padding: 1rem 0; display: grid; grid-template-columns: repeat(4,1fr); border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }.cn-theme-strip span { padding: .3rem 1rem; color: var(--navy); border-right: 1px solid var(--line); font-size: .78rem; font-weight: 750; text-align: center; }.cn-theme-strip span:last-child { border-right: 0; }
.cn-devices { background: #fff7f3; }
.cn-device-grid { display: grid; grid-template-columns: minmax(0,.9fr) minmax(500px,1.1fr); gap: clamp(4rem,7vw,7rem); align-items: center; }
.cn-device-evaluation { display: grid; grid-template-columns: 1fr 1fr; gap: 1rem; }
.cn-device-evaluation article { padding: 1.35rem; border: 1px solid rgba(20,35,59,.1); border-radius: 20px; background: var(--white); }.cn-device-evaluation small { color: var(--coral-action); font-size: .6rem; font-weight: 850; letter-spacing: .06em; text-transform: uppercase; }.cn-device-evaluation h3 { margin: .35rem 0; font-size: 1.05rem; }.cn-device-evaluation p { margin: 0; color: var(--muted); font-size: .78rem; }
.cn-device-silhouette { position: relative; height: 145px; margin-bottom: 1rem; border-radius: 16px; background: #eef1f5; }.cn-device-silhouette span { position: absolute; left: 20%; right: 12%; top: 18%; bottom: 25%; border: 8px solid var(--navy); border-radius: 10px; background: #d9f3eb; transform: skewY(-2deg); }.cn-device-silhouette i { position: absolute; left: 8%; top: 10%; bottom: 12%; width: 22%; border-radius: 18px; background: #26364e; transform: rotate(-3deg); }.cn-device-silhouette.alternate span { left: 16%; right: 16%; }.cn-device-silhouette.alternate i { left: auto; right: 7%; }
.cn-device-note-panel { margin-top: 3rem; padding: 1.2rem 1.4rem; display: grid; grid-template-columns: auto 1fr; gap: 1rem; align-items: start; border: 1px solid rgba(201,66,57,.18); border-radius: 16px; background: #fff0ee; }.cn-device-note-panel strong { color: var(--coral-action); }.cn-device-note-panel p { margin: 0; color: var(--muted); font-size: .9rem; }
.cn-platform { color: var(--white); background: var(--navy); }
.cn-intro-light { text-align: center; }.cn-intro-light .cn-reading-copy { margin-inline: auto; }
.cn-platform-map { max-width: 1000px; margin: 0 auto; display: grid; grid-template-columns: 280px minmax(0,1fr); gap: 1.5rem; align-items: stretch; }
.cn-platform-core { padding: 2rem; display: grid; align-content: center; border: 1px solid rgba(255,107,94,.3); border-radius: 24px; background: rgba(255,107,94,.09); }.cn-platform-core img { margin-bottom: 1rem; }.cn-platform-core small, .cn-platform-core strong { display: block; }.cn-platform-core small { color: #ffb8b1; font-size: .62rem; font-weight: 850; letter-spacing: .06em; text-transform: uppercase; }.cn-platform-core strong { margin-top: .25rem; color: var(--white); font-size: 1.4rem; }.cn-platform-core p { margin: .5rem 0 0; color: #c7d0df; font-size: .82rem; }
.cn-platform-links { display: grid; grid-template-columns: 1fr 1fr; gap: .7rem; }.cn-platform-links > div { min-width: 0; padding: .85rem; display: grid; grid-template-columns: 40px minmax(0,1fr); gap: .75rem; align-items: center; border: 1px solid rgba(255,255,255,.1); border-radius: 14px; background: rgba(255,255,255,.045); }.cn-platform-links svg { width: 20px; height: 20px; color: #9ce3d6; }.cn-platform-links strong, .cn-platform-links small { display: block; }.cn-platform-links strong { color: var(--white); font-size: .82rem; }.cn-platform-links small { color: #aeb9c8; font-size: .66rem; }
.cn-cta { background: var(--white); }
.cn-final-panel { position: relative; overflow: hidden; padding: clamp(2.5rem,5vw,4.5rem); display: grid; grid-template-columns: minmax(0,1.25fr) minmax(280px,.75fr); gap: 4rem; align-items: center; border: 1px solid rgba(20,35,59,.1); border-radius: 32px; background: linear-gradient(135deg,#fff3ee,#fffaf8 62%,#e4f7f1); box-shadow: 0 24px 70px rgba(20,35,59,.1); }
.cn-final-panel::after { content: ""; position: absolute; right: -8rem; top: -9rem; width: 20rem; height: 20rem; border: 1px solid rgba(255,107,94,.22); border-radius: 50%; }.cn-final-copy, .cn-final-actions { position: relative; z-index: 1; }.cn-final-copy p:last-child { max-width: 680px; color: var(--muted); font-size: 1.04rem; }.cn-final-actions { display: grid; gap: .7rem; }.cn-final-actions .button { width: 100%; }.cn-final-actions .text-link { min-height: 44px; justify-content: center; }

.home-connect-showcase { position: relative; overflow: hidden; color: var(--white); background: #1b2c46; }
.home-connect-showcase::before { content: ""; position: absolute; right: -8rem; top: -10rem; width: 28rem; height: 28rem; border-radius: 50%; background: rgba(188,235,217,.13); }
.home-connect-grid { position: relative; z-index: 1; display: grid; grid-template-columns: minmax(0,.85fr) minmax(480px,1.15fr); gap: clamp(3rem,7vw,7rem); align-items: center; }
.home-connect-copy h2 { color: var(--white); }.home-connect-copy > p:not(.eyebrow) { max-width: 600px; color: #cbd4e0; font-size: 1.05rem; }.home-connect-copy .text-link { margin-top: 1rem; }
.home-connect-product { position: relative; min-height: 390px; display: grid; place-items: center; }
.home-connect-device { position: relative; width: min(100%,520px); padding: 1rem 1rem 2.8rem 4rem; filter: drop-shadow(0 25px 25px rgba(0,0,0,.25)); transform: rotate(-2deg); }.home-connect-device::before { content: ""; position: absolute; left: 0; top: .4rem; bottom: 2.8rem; width: 65px; border-radius: 28px; background: #111927; box-shadow: inset 0 0 0 1px #465165; }.home-connect-device::after { content: ""; position: absolute; left: 26%; right: 3%; bottom: 0; height: 60px; border-radius: 20% 20% 50% 50%; background: #121a28; transform: perspective(400px) rotateX(58deg); transform-origin: top; }
.home-connect-screen { position: relative; z-index: 1; padding: .8rem; border: 12px solid #182334; border-radius: 22px; background: #14233b; box-shadow: inset 0 0 0 1px #566175; }.home-connect-screen .cn-ui-top { margin: -.8rem -.8rem .8rem; }.home-connect-profile { display: grid; grid-template-columns: 48px 1fr auto; gap: .7rem; align-items: center; }.home-connect-profile > span { width: 48px; height: 48px; display: grid; place-items: center; color: var(--navy); border-radius: 13px; background: var(--mint); font-weight: 850; }.home-connect-profile strong, .home-connect-profile small { display: block; }.home-connect-profile strong { color: var(--white); font-size: .86rem; }.home-connect-profile small { color: #b8c3d1; font-size: .64rem; }.home-connect-profile i { padding: .3rem .5rem; color: #9ce3d6; border-radius: 999px; background: rgba(33,191,174,.12); font-size: .58rem; font-style: normal; font-weight: 800; }.home-connect-actions { margin-top: .8rem; display: grid; grid-template-columns: 1fr 1fr; gap: .55rem; }.home-connect-actions span { padding: .6rem; color: #d8e0eb; border: 1px solid rgba(255,255,255,.1); border-radius: 9px; background: rgba(255,255,255,.04); font-size: .65rem; }

@media (max-width: 1100px) {
  .cn-hero-grid { grid-template-columns: minmax(0,.78fr) minmax(500px,1.22fr); gap: 2.25rem; }
  .cn-hero-copy h1 { font-size: clamp(3rem,5vw,3.7rem); }
  .cn-split, .cn-split-reverse, .cn-presence-grid, .cn-desk-grid, .cn-device-grid { gap: 3.5rem; }
  .cn-history-head, .cn-history-table > div:not(.cn-history-head) { grid-template-columns: 44px 1fr .9fr .65fr .65fr; gap: .75rem; }
}
@media (max-width: 900px) {
  .cn-hero-grid, .cn-split, .cn-split-reverse, .cn-presence-grid, .cn-desk-grid, .cn-device-grid, .home-connect-grid { grid-template-columns: 1fr; }
  .cn-hero-copy, .cn-section-copy { max-width: 760px; }
  .cn-hero-media { width: 100%; max-width: 760px; margin-inline: auto; justify-self: center; }
  .cn-context-screen, .cn-contact-app, .cn-presence-panel, .cn-desk-composition, .cn-device-evaluation { width: 100%; max-width: 760px; margin-inline: auto; }
  .cn-split-reverse > :first-child { order: 2; }.cn-split-reverse > :last-child { order: 1; }
  .cn-recent-heading { grid-template-columns: 1fr; gap: 1rem; }.cn-recent-heading .cn-reading-copy { max-width: 760px; }
  .cn-platform-map { grid-template-columns: 1fr; }.cn-platform-core { max-width: 520px; margin-inline: auto; text-align: center; }.cn-platform-core img { margin-inline: auto; }
  .home-connect-copy { max-width: 720px; }.home-connect-product { width: 100%; max-width: 720px; margin-inline: auto; }
}
@media (max-width: 768px) {
  .connect-page .section { padding: 5.5rem 0; }
  .cn-hero { padding: 5rem 0; }.cn-hero-grid { row-gap: 3.5rem; }
  .cn-hero-copy { margin-inline: auto; text-align: center; }.cn-hero-copy h1 { max-width: 18ch; margin-inline: auto; font-size: clamp(2.9rem,8vw,3.6rem); }.cn-hero-lede { max-width: 650px; margin-inline: auto; }.cn-hero-actions { justify-content: center; }.cn-call-link { justify-content: center; }
  .cn-section-intro > .eyebrow, .cn-section-intro > h2, .cn-section-copy > .eyebrow, .cn-section-copy > h2, .cn-recent-heading .eyebrow, .cn-recent-heading h2, .cn-final-copy .eyebrow, .cn-final-copy h2 { text-align: center; }
  .cn-section-intro h2, .cn-section-copy h2, .cn-recent-heading h2, .cn-final-copy h2 { max-width: 18ch; margin-inline: auto; font-size: clamp(2.35rem,7vw,3.2rem); }.cn-section-intro, .cn-section-copy { margin-inline: auto; }.cn-section-intro { margin-bottom: 3rem; }.cn-reading-copy { margin-inline: auto; }.cn-reading-copy p { text-align: left; }
  .cn-closing { margin-inline: auto; text-align: center; }
  .cn-call-sequence { grid-template-columns: 1fr 1fr; }.cn-call-sequence li:nth-child(2)::after { display: none; }
  .cn-point-row { grid-template-columns: 1fr 1fr; }
  .cn-inline-capabilities { justify-content: center; }
  .cn-action-flow { grid-template-columns: 1fr; gap: 1rem; }.cn-action-flow::before { left: 50%; right: auto; top: 2rem; bottom: 5rem; width: 2px; height: auto; }.cn-action-source, .cn-action-context, .cn-action-primary { width: min(100%,480px); margin-inline: auto; }.cn-action-followup { grid-column: auto; }
  .cn-history-head { display: none; }.cn-history-table { display: grid; grid-template-columns: 1fr 1fr; gap: 1px; background: var(--line); }.cn-history-table > div:not(.cn-history-head) { display: grid; grid-template-columns: 42px minmax(0,1fr); gap: .7rem; align-items: start; }.cn-history-table > div:not(.cn-history-head) > div:nth-of-type(2), .cn-history-table > div:not(.cn-history-head) > b, .cn-history-table > div:not(.cn-history-head) > i { grid-column: 2; }.cn-history-table > div:not(.cn-history-head) > i { min-height: 32px; display: flex; align-items: center; }
  .cn-theme-strip { grid-template-columns: 1fr 1fr; }.cn-theme-strip span:nth-child(2) { border-right: 0; }.cn-theme-strip span:nth-child(-n+2) { border-bottom: 1px solid var(--line); }
  .cn-platform-links { grid-template-columns: 1fr 1fr; }
  .cn-final-panel { grid-template-columns: 1fr; gap: 2rem; text-align: center; }.cn-final-copy p:last-child { margin-inline: auto; text-align: left; }.cn-final-actions { width: 100%; max-width: 480px; margin-inline: auto; }
  .connect-page .footer-links a, .connect-page .footer-phone, .connect-page .header-phone, .connect-page .text-link { min-height: 44px; }
  .home-connect-copy { text-align: center; }.home-connect-copy > p:not(.eyebrow) { margin-inline: auto; }.home-connect-copy .text-link { justify-content: center; }
}
@media (max-width: 640px) {
  .cn-hero { padding: 4.25rem 0; }.cn-hero-actions .button, .cn-hero-actions .text-link { width: auto; }
  .cn-hero-media { margin-top: 1.25rem; border-radius: 22px; box-shadow: 0 22px 44px rgba(20,35,59,.16); }
  .cn-call-sequence { grid-template-columns: 1fr; gap: 1rem; }.cn-call-sequence li:not(:last-child)::after { content: "⌄"; left: 50%; top: 100%; width: 1rem; transform: translate(-50%,-.25rem); }.cn-call-sequence li:nth-child(2)::after { display: block; }
  .cn-point-row, .cn-compact-list, .cn-context-grid, .cn-device-evaluation, .cn-platform-links { grid-template-columns: 1fr; }
  .cn-profile { grid-template-columns: 54px minmax(0,1fr); }.cn-profile > span { width: 54px; height: 54px; }.cn-profile > b { grid-column: 2; justify-self: start; }
  .cn-ui-actions { display: grid; grid-template-columns: 1fr 1fr; }.cn-ui-actions b { grid-column: 1 / -1; margin-left: 0; justify-content: center; }
  .cn-presence-list > div { grid-template-columns: 38px minmax(0,1fr); }.cn-presence-list > div > span { width: 38px; height: 38px; }.cn-presence-list b { grid-column: 2; justify-self: start; }
  .cn-history-table { grid-template-columns: 1fr; }.cn-history-table > div:not(.cn-history-head) > div:nth-of-type(2) { margin-top: .25rem; }
  .cn-desk-composition { min-height: 440px; padding: 3rem 1rem; }.cn-screen-close { transform: none; }.cn-screen-close-body { padding: 1.2rem; }.cn-screen-close-body > div { grid-template-columns: 1fr; }.cn-screen-close-body span { grid-template-columns: 24px 1fr; justify-items: start; text-align: left; }.cn-callout { position: relative; inset: auto; margin-top: .55rem; justify-self: start; }.cn-desk-composition { display: flex; flex-direction: column; }
  .cn-device-note-panel { grid-template-columns: 1fr; }.cn-platform-core { padding: 1.5rem; }
  .home-connect-product { min-height: 300px; }.home-connect-device { padding-left: 3rem; }.home-connect-device::before { width: 50px; }.home-connect-profile { grid-template-columns: 42px minmax(0,1fr); }.home-connect-profile > span { width: 42px; height: 42px; }.home-connect-profile i { grid-column: 2; justify-self: start; }.home-connect-actions { grid-template-columns: 1fr; }
}
@media (max-width: 480px) {
  .connect-page .section { padding: 4.5rem 0; }.cn-hero-grid { row-gap: 2.75rem; }.cn-hero-copy h1, .cn-section-intro h2, .cn-section-copy h2, .cn-recent-heading h2, .cn-final-copy h2 { max-width: 16ch; line-height: 1.08; }.cn-hero-actions { width: 100%; }.cn-hero-actions .button, .cn-hero-actions .text-link { width: 100%; }
  .cn-hero-media { border-radius: 18px; }
  .cn-context-screen, .cn-contact-app, .cn-presence-panel, .cn-history-table { border-radius: 18px; }.cn-contact-tabs span:nth-child(4) { display: none; }
  .cn-action-flow { padding: 1rem; border-radius: 22px; }.cn-action-followup { display: grid; grid-template-columns: 1fr; width: 100%; }.cn-action-followup span { text-align: center; }
  .cn-theme-strip { grid-template-columns: 1fr; }.cn-theme-strip span { border-right: 0; border-bottom: 1px solid var(--line); }.cn-theme-strip span:last-child { border-bottom: 0; }
  .cn-final-panel { padding: 2.5rem 1.25rem; border-radius: 24px; }
  .home-connect-device { padding-left: 2.6rem; }.home-connect-screen { border-width: 8px; }.home-connect-device::before { width: 43px; }.home-connect-showcase .section { padding: 4.5rem 0; }
}
@media (prefers-reduced-motion: reduce) {
  .cn-screen-close, .home-connect-device { transform: none; }
}

/* TalkLayr Call History page */
.call-history-page { background: var(--cream); }
.call-history-page svg { fill: none; stroke: currentColor; stroke-width: 1.9; stroke-linecap: round; stroke-linejoin: round; }
.call-history-page .button:focus-visible, .call-history-page .text-link:focus-visible, .call-history-page .ch-history-table a:focus-visible, .call-history-page .ch-platform-links a:focus-visible { outline-color: var(--coral); box-shadow: 0 0 0 6px rgba(201,66,57,.2); }
.ch-hero { position: relative; overflow: hidden; padding: clamp(5.25rem,8vw,8rem) 0; background: radial-gradient(circle at 89% 10%, rgba(188,235,217,.72), transparent 25rem), linear-gradient(135deg,#fffaf8 0%,#fff4ef 60%,#fff 100%); }
.ch-hero::before { content:""; position:absolute; left:-11rem; bottom:-14rem; width:30rem; height:30rem; border:1px solid rgba(255,107,94,.15); border-radius:50%; }
.ch-hero-grid { position:relative; z-index:1; display:grid; grid-template-columns:minmax(0,.76fr) minmax(590px,1.24fr); gap:clamp(2.5rem,4.5vw,5rem); align-items:center; }
.ch-hero-grid > *, .ch-split > *, .ch-missed-grid > *, .ch-journey-grid > *, .ch-filter-grid > *, .ch-reporting-grid > * { min-width:0; }
.ch-hero-copy h1 { max-width:700px; margin:0 0 1.55rem; color:var(--navy); font-size:clamp(3.2rem,5vw,4.65rem); line-height:.98; letter-spacing:-.055em; }
.ch-lede { max-width:650px; }.ch-lede p { margin:0 0 .85rem; color:var(--muted); font-size:1.08rem; line-height:1.72; }.ch-lede p:first-child { color:var(--ink); font-weight:720; }
.ch-hero-actions { margin-top:2rem; align-items:center; }.ch-call-link { min-height:44px; display:inline-flex; align-items:center; gap:.5rem; }.ch-call-link svg { width:19px; height:19px; }
.ch-history-shell { overflow:hidden; border:1px solid #26364e; border-radius:25px; color:#dce5ef; background:#132239; box-shadow:0 30px 70px rgba(20,35,59,.2); }
.ch-history-top { min-height:58px; padding:.8rem 1rem; display:flex; justify-content:space-between; align-items:center; gap:1rem; border-bottom:1px solid rgba(255,255,255,.09); background:#101c30; }.ch-history-top > span { display:flex; align-items:center; gap:.55rem; color:var(--white); font-size:.88rem; font-weight:850; }.ch-history-top small { color:#9ce3d6; font-size:.64rem; font-weight:800; }
.ch-history-controls { padding:.9rem 1rem; display:grid; grid-template-columns:minmax(0,1fr) auto; gap:.75rem; border-bottom:1px solid rgba(255,255,255,.09); }.ch-history-controls span, .ch-history-controls b { min-height:38px; padding:.55rem .7rem; display:flex; align-items:center; gap:.45rem; color:#aeb9c8; border:1px solid rgba(255,255,255,.09); border-radius:9px; background:rgba(255,255,255,.04); font-size:.66rem; font-weight:700; }.ch-history-controls svg { width:15px; height:15px; color:#9ce3d6; }.ch-history-controls b { color:#dce5ef; }
.ch-history-table { width:100%; border-collapse:collapse; font-size:.74rem; }.ch-history-table caption { position:absolute; width:1px; height:1px; padding:0; overflow:hidden; clip:rect(0 0 0 0); white-space:nowrap; }.ch-history-table th { padding:.65rem 1rem; color:#91a0b4; border-bottom:1px solid rgba(255,255,255,.08); font-size:.57rem; font-weight:850; letter-spacing:.06em; text-align:left; text-transform:uppercase; }.ch-history-table td { padding:.85rem 1rem; border-bottom:1px solid rgba(255,255,255,.08); vertical-align:middle; }.ch-history-table tbody tr.is-missed { background:rgba(211,68,58,.1); }.ch-history-table td:first-child { min-width:156px; display:flex; align-items:center; gap:.55rem; }.ch-history-table strong, .ch-history-table small { display:block; }.ch-history-table strong { color:var(--white); font-size:.72rem; }.ch-history-table small { margin-top:.18rem; color:#aeb9c8; font-size:.58rem; }.ch-history-table a { min-height:34px; display:inline-flex; align-items:center; color:#ffb8b1; font-weight:800; white-space:nowrap; }
.ch-avatar { width:35px; height:35px; flex:0 0 35px; display:grid; place-items:center; color:var(--navy); border-radius:10px; background:var(--mint); font-size:.65rem; font-weight:850; }.ch-avatar.unknown { color:#9d4039; background:#ffe1dc; }
.ch-status { width:max-content; padding:.28rem .46rem; display:inline-flex; color:#dce5ef; border:1px solid rgba(255,255,255,.12); border-radius:999px; background:rgba(255,255,255,.06); font-size:.58rem; font-weight:850; white-space:nowrap; }.ch-status.success { color:#9ce3d6; border-color:rgba(156,227,214,.26); background:rgba(33,191,174,.1); }.ch-status.missed { color:#ffb8b1; border-color:rgba(255,184,177,.25); background:rgba(211,68,58,.12); }.ch-status.transfer { color:#dce5ef; }
.ch-history-summary { padding:.8rem 1rem; display:flex; flex-wrap:wrap; gap:1rem; color:#bfcadb; background:#101c30; font-size:.64rem; font-weight:750; }.ch-history-summary span { display:flex; align-items:center; gap:.4rem; }.ch-history-summary svg { width:16px; height:16px; color:#9ce3d6; }
.call-history-page .section { padding:clamp(5.75rem,8vw,8rem) 0; }.ch-split, .ch-missed-grid, .ch-journey-grid, .ch-filter-grid, .ch-reporting-grid { display:grid; grid-template-columns:minmax(0,.86fr) minmax(500px,1.14fr); gap:clamp(3.5rem,7vw,7rem); align-items:center; }.ch-split-reverse > :first-child { order:2; }.ch-split-reverse > :last-child { order:1; }
.ch-section-copy h2, .ch-intro h2, .ch-final h2 { max-width:750px; margin:0 0 1.3rem; color:var(--navy); font-size:clamp(2.65rem,4.7vw,4.25rem); line-height:1.04; letter-spacing:-.045em; }.ch-reading { max-width:690px; }.ch-reading p { margin:0 0 .82rem; color:var(--muted); font-size:1.03rem; line-height:1.72; }.ch-closing { max-width:720px; margin:1.6rem 0 0; padding-top:1.2rem; color:var(--navy); border-top:1px solid rgba(20,35,59,.1); font-weight:760; }.ch-closing-light { color:var(--white); border-color:rgba(255,255,255,.16); }.ch-closing-centred { margin-inline:auto; text-align:center; }
.ch-context { background:#f4f8fa; }.ch-context-record { padding:1.2rem; display:grid; grid-template-columns:minmax(130px,.58fr) 32px minmax(0,1.42fr); gap:1rem; align-items:center; border:1px solid rgba(20,35,59,.1); border-radius:24px; background:var(--white); box-shadow:var(--shadow); }.ch-basic-record { padding:1rem; display:grid; gap:.45rem; color:var(--navy); border:1px solid var(--line); border-radius:14px; background:#f8fafb; }.ch-basic-record small, .ch-rich-record small { color:var(--muted); font-size:.58rem; font-weight:850; letter-spacing:.06em; text-transform:uppercase; }.ch-basic-record strong { font-size:.88rem; }.ch-basic-record span { color:var(--muted); font-size:.66rem; }.ch-expand-arrow { display:grid; place-items:center; color:var(--coral-action); font-size:1.55rem; font-weight:900; }.ch-rich-record { display:grid; grid-template-columns:1fr 1fr; gap:.6rem; }.ch-rich-record > div { min-width:0; padding:.65rem; display:grid; grid-template-columns:25px minmax(0,1fr); gap:.45rem; align-items:center; border:1px solid rgba(20,35,59,.08); border-radius:10px; background:#fffaf8; }.ch-rich-record svg { width:17px; height:17px; color:#147a70; }.ch-rich-record small, .ch-rich-record strong { display:block; }.ch-rich-record strong { color:var(--navy); font-size:.65rem; line-height:1.35; }.ch-rich-record .ch-rich-action { grid-column:1/-1; display:block; color:var(--white); border:0; background:var(--navy); }.ch-rich-action small { color:#9ce3d6; }.ch-rich-action strong { margin-top:.25rem; color:var(--white); }
.ch-context-points { margin-top:3rem; display:grid; grid-template-columns:repeat(5,1fr); gap:1px; border:1px solid var(--line); border-radius:18px; overflow:hidden; background:var(--line); }.ch-context-points article { min-width:0; padding:1.25rem; background:var(--white); }.ch-context-points svg { width:23px; height:23px; color:var(--coral-action); }.ch-context-points h3 { margin:.65rem 0 .35rem; color:var(--navy); font-size:.92rem; }.ch-context-points p { margin:0; color:var(--muted); font-size:.75rem; line-height:1.55; }
.ch-record { background:#fff7f3; }.ch-detail-panel { overflow:hidden; border:1px solid rgba(20,35,59,.1); border-radius:23px; background:var(--white); box-shadow:var(--shadow); }.ch-detail-head { padding:1.25rem; display:grid; grid-template-columns:46px minmax(0,1fr) auto; gap:.8rem; align-items:center; border-bottom:1px solid var(--line); }.ch-detail-head .ch-avatar { width:46px; height:46px; flex-basis:46px; }.ch-detail-head small, .ch-detail-head h3, .ch-detail-head p { margin:0; display:block; }.ch-detail-head small { color:var(--coral-action); font-size:.6rem; font-weight:850; letter-spacing:.06em; text-transform:uppercase; }.ch-detail-head h3 { margin:.2rem 0; color:var(--navy); font-size:1.15rem; }.ch-detail-head p { color:var(--muted); font-size:.73rem; }.ch-detail-grid { display:grid; grid-template-columns:1fr 1fr; }.ch-detail-grid > div { min-width:0; padding:1rem 1.15rem; border-right:1px solid var(--line); border-bottom:1px solid var(--line); }.ch-detail-grid > div:nth-child(2n) { border-right:0; }.ch-detail-grid small, .ch-detail-grid strong, .ch-detail-grid span { display:block; }.ch-detail-grid small { color:var(--muted); font-size:.58rem; font-weight:850; letter-spacing:.05em; text-transform:uppercase; }.ch-detail-grid strong { margin:.35rem 0 .18rem; color:var(--navy); font-size:.78rem; }.ch-detail-grid span { color:var(--muted); font-size:.66rem; line-height:1.4; }
.ch-missed { color:var(--white); background:var(--navy); }.ch-missed .ch-section-copy h2, .ch-journey .ch-section-copy h2, .ch-reporting .ch-section-copy h2 { color:var(--white); }.ch-missed .ch-reading p, .ch-journey .ch-reading p, .ch-reporting .ch-reading p { color:#c7d0df; }.ch-missed-panel { overflow:hidden; border:1px solid rgba(255,184,177,.28); border-radius:23px; background:var(--white); box-shadow:0 30px 70px rgba(0,0,0,.2); }.ch-missed-banner { padding:1rem; display:grid; grid-template-columns:32px minmax(0,1fr) auto; gap:.7rem; align-items:center; color:var(--navy); background:#fff0ee; }.ch-missed-banner svg { width:22px; height:22px; color:var(--coral-action); }.ch-missed-banner strong, .ch-missed-banner small { display:block; }.ch-missed-banner strong { font-size:.78rem; }.ch-missed-banner small { margin-top:.2rem; color:var(--muted); font-size:.63rem; }.ch-missed-banner em { padding:.32rem .48rem; color:#9d4039; border:1px solid rgba(201,66,57,.25); border-radius:999px; font-size:.55rem; font-style:normal; font-weight:850; }.ch-missed-person { padding:1.2rem; display:grid; grid-template-columns:42px minmax(0,1fr) auto; gap:.7rem; align-items:center; }.ch-missed-person strong, .ch-missed-person small { display:block; }.ch-missed-person strong { color:var(--navy); font-size:.85rem; }.ch-missed-person small { margin-top:.2rem; color:var(--muted); font-size:.65rem; }.ch-missed-person a { min-height:36px; padding:.55rem .7rem; display:flex; align-items:center; color:var(--white); border-radius:8px; background:var(--coral-action); font-size:.65rem; font-weight:800; }.ch-missed-path { padding:.9rem 1.2rem; display:flex; flex-wrap:wrap; gap:.5rem; align-items:center; color:var(--navy); border-top:1px solid var(--line); border-bottom:1px solid var(--line); background:#f8fafb; font-size:.64rem; font-weight:750; }.ch-missed-path span { padding:.42rem .55rem; border:1px solid var(--line); border-radius:7px; background:var(--white); }.ch-missed-path i { color:var(--coral-action); font-style:normal; font-weight:900; }.ch-missed-foot { padding:.9rem 1.2rem; display:grid; gap:.45rem; color:var(--muted); font-size:.62rem; }.ch-missed-foot span::before { content:"•"; margin-right:.35rem; color:#147a70; }.ch-missed-points, .ch-blacklist-points, .ch-recording-points { margin-top:3rem; display:flex; flex-wrap:wrap; justify-content:center; gap:.6rem; }.ch-missed-points span, .ch-blacklist-points span, .ch-recording-points span { padding:.55rem .75rem; border:1px solid rgba(255,255,255,.15); border-radius:999px; color:#dce5ef; font-size:.7rem; font-weight:750; }.ch-blacklist-points span, .ch-recording-points span { color:var(--navy); border-color:var(--line); background:var(--white); }
.ch-actions { background:#f4f8fa; }.ch-action-panel { overflow:hidden; border:1px solid rgba(20,35,59,.1); border-radius:23px; background:var(--white); box-shadow:var(--shadow); }.ch-action-selected { padding:1.1rem; display:grid; grid-template-columns:42px minmax(0,1fr) auto; gap:.7rem; align-items:center; border-bottom:1px solid var(--line); }.ch-action-selected small, .ch-action-selected strong, .ch-action-selected p { display:block; margin:0; }.ch-action-selected small { color:var(--coral-action); font-size:.58rem; font-weight:850; letter-spacing:.06em; text-transform:uppercase; }.ch-action-selected strong { margin:.2rem 0; color:var(--navy); font-size:.85rem; }.ch-action-selected p { color:var(--muted); font-size:.64rem; }.ch-action-groups { display:grid; grid-template-columns:1fr 1fr; }.ch-action-groups > div { padding:1rem; display:grid; gap:.45rem; border-right:1px solid var(--line); border-bottom:1px solid var(--line); }.ch-action-groups > div:nth-child(2n) { border-right:0; }.ch-action-groups > div:last-child { grid-column:1/-1; border-bottom:0; }.ch-action-groups small { color:var(--muted); font-size:.58rem; font-weight:850; letter-spacing:.06em; text-transform:uppercase; }.ch-action-groups span, .ch-action-groups a { min-height:31px; padding:.45rem .55rem; display:flex; align-items:center; justify-content:space-between; color:var(--navy); border:1px solid var(--line); border-radius:7px; background:#fffaf8; font-size:.67rem; font-weight:750; }.ch-action-groups a { color:#b84239; }.ch-action-groups em { color:var(--muted); font-size:.55rem; font-style:normal; font-weight:650; }
.ch-contacts { background:#fff7f3; }.ch-intro { max-width:920px; margin:0 auto 3.5rem; text-align:center; }.ch-intro .ch-reading { margin-inline:auto; }.ch-intro .ch-reading p { text-align:left; }.ch-contact-flow { margin:0; padding:0; display:grid; grid-template-columns:repeat(5,1fr); gap:1rem; list-style:none; counter-reset:none; }.ch-contact-flow li { position:relative; min-width:0; padding:1.35rem 1.1rem; border:1px solid rgba(20,35,59,.1); border-radius:18px; background:var(--white); box-shadow:0 14px 35px rgba(20,35,59,.06); }.ch-contact-flow li:not(:last-child)::after { content:"›"; position:absolute; left:calc(100% + .3rem); top:50%; z-index:2; color:var(--coral-action); font-size:1.25rem; font-weight:900; transform:translateY(-50%); }.ch-contact-flow li > span { color:#c77b73; font-size:.62rem; font-weight:850; }.ch-contact-flow svg { width:28px; height:28px; margin:1rem 0 .8rem; color:#147a70; }.ch-contact-flow h3 { margin:0 0 .45rem; color:var(--navy); font-size:.9rem; line-height:1.3; }.ch-contact-flow p { margin:0; color:var(--muted); font-size:.72rem; line-height:1.55; }
.ch-blacklist { background:#f4f8fa; }.ch-blacklist-panel { overflow:hidden; border:1px solid rgba(201,66,57,.19); border-radius:23px; background:var(--white); box-shadow:var(--shadow); }.ch-blacklist-head { padding:1rem 1.15rem; display:flex; gap:.65rem; align-items:center; color:var(--navy); background:#fff0ee; }.ch-blacklist-head svg { width:22px; height:22px; color:var(--coral-action); }.ch-blacklist-head small, .ch-blacklist-head strong { display:block; }.ch-blacklist-head small { color:var(--coral-action); font-size:.56rem; font-weight:850; letter-spacing:.06em; text-transform:uppercase; }.ch-blacklist-head strong { margin-top:.15rem; font-size:.8rem; }.ch-blacklist-number { padding:1.1rem; display:flex; gap:.7rem; align-items:center; }.ch-blacklist-number strong, .ch-blacklist-number small { display:block; }.ch-blacklist-number strong { color:var(--navy); font-size:.86rem; }.ch-blacklist-number small { margin-top:.2rem; color:var(--muted); font-size:.64rem; }.ch-blacklist-fields { display:grid; gap:1px; border-top:1px solid var(--line); border-bottom:1px solid var(--line); background:var(--line); }.ch-blacklist-fields span { padding:.85rem 1.1rem; background:#fffaf8; }.ch-blacklist-fields small, .ch-blacklist-fields strong { display:block; }.ch-blacklist-fields small { color:var(--muted); font-size:.56rem; font-weight:850; letter-spacing:.06em; text-transform:uppercase; }.ch-blacklist-fields strong { margin-top:.25rem; color:var(--navy); font-size:.7rem; }.ch-blacklist-fields em { color:var(--muted); font-size:.58rem; font-style:normal; font-weight:650; }.ch-blacklist-confirm { padding:1rem 1.1rem; display:flex; justify-content:space-between; align-items:center; gap:.8rem; color:var(--muted); font-size:.64rem; }.ch-blacklist-confirm b { padding:.6rem .75rem; color:var(--white); border-radius:8px; background:var(--coral-action); font-size:.65rem; }
.ch-journey { color:var(--white); background:var(--navy); }.ch-journey .text-link { margin-top:1rem; }.ch-trace { overflow:hidden; border:1px solid rgba(255,255,255,.12); border-radius:23px; background:#101c30; box-shadow:0 30px 70px rgba(0,0,0,.18); }.ch-trace-header { padding:.85rem 1rem; display:flex; justify-content:space-between; gap:.75rem; color:#c7d0df; border-bottom:1px solid rgba(255,255,255,.1); font-size:.62rem; }.ch-trace-header b { color:#ffb8b1; }.ch-trace-flow { position:relative; height:460px; }.ch-trace-flow > svg { position:absolute; inset:0; width:100%; height:100%; }.ch-route-primary { fill:none; stroke:#21bfae; stroke-width:3; }.ch-route-alt { fill:none; stroke:#d3443a; stroke-width:3; stroke-dasharray:9 6; }.ch-node { position:absolute; z-index:1; width:126px; padding:.65rem; border:1px solid rgba(255,255,255,.17); border-radius:10px; background:#1b2c46; box-shadow:0 8px 18px rgba(0,0,0,.13); }.ch-node small, .ch-node strong { display:block; }.ch-node small { color:#9ce3d6; font-size:.48rem; font-weight:850; letter-spacing:.05em; text-transform:uppercase; }.ch-node strong { margin-top:.25rem; color:var(--white); font-size:.65rem; line-height:1.35; }.ch-node.n-entry { left:4%; top:66px; }.ch-node.n-welcome { left:32%; top:66px; }.ch-node.n-hours { left:62%; top:66px; }.ch-node.n-team { left:62%; top:245px; }.ch-node.n-unanswered { left:62%; top:310px; border-color:rgba(255,184,177,.32); background:#2b293b; }.ch-node.n-fallback { left:62%; top:390px; border-color:rgba(255,184,177,.32); background:#2b293b; }.ch-route-label { position:absolute; z-index:1; padding:.28rem .45rem; border-radius:999px; font-size:.52rem; font-weight:850; }.ch-route-label.primary { left:37%; top:35px; color:#9ce3d6; background:rgba(33,191,174,.12); }.ch-route-label.alternate { left:25%; bottom:33px; color:#ffb8b1; background:rgba(211,68,58,.12); }
.ch-recordings { background:#fff7f3; }.ch-recording-panel { overflow:hidden; border:1px solid rgba(20,35,59,.1); border-radius:23px; background:var(--white); box-shadow:var(--shadow); }.ch-recording-top { padding:1rem; display:grid; grid-template-columns:34px minmax(0,1fr) auto; gap:.65rem; align-items:center; border-bottom:1px solid var(--line); }.ch-recording-top svg { width:23px; height:23px; color:var(--coral-action); }.ch-recording-top small, .ch-recording-top strong { display:block; }.ch-recording-top small { color:var(--muted); font-size:.56rem; font-weight:850; letter-spacing:.06em; text-transform:uppercase; }.ch-recording-top strong { margin-top:.2rem; color:var(--navy); font-size:.75rem; }.ch-recording-top b { padding:.3rem .45rem; color:#147a70; border-radius:999px; background:#e3f7f2; font-size:.55rem; }.ch-wave { height:88px; padding:1rem; display:flex; align-items:center; justify-content:center; gap:.45rem; background:#f8fafb; }.ch-wave i { width:5px; border-radius:99px; background:#21bfae; }.ch-wave i:nth-child(1),.ch-wave i:nth-child(12){height:22%}.ch-wave i:nth-child(2),.ch-wave i:nth-child(10){height:48%}.ch-wave i:nth-child(3),.ch-wave i:nth-child(8){height:75%}.ch-wave i:nth-child(4),.ch-wave i:nth-child(9){height:42%}.ch-wave i:nth-child(5),.ch-wave i:nth-child(11){height:62%}.ch-wave i:nth-child(6){height:90%;background:var(--coral-action)}.ch-wave i:nth-child(7){height:58%}.ch-recording-meta { display:grid; grid-template-columns:repeat(3,1fr); }.ch-recording-meta span { padding:.85rem; border-right:1px solid var(--line); }.ch-recording-meta span:last-child { border-right:0; }.ch-recording-meta small,.ch-recording-meta strong { display:block; }.ch-recording-meta small { color:var(--muted); font-size:.55rem; font-weight:850; letter-spacing:.05em; text-transform:uppercase; }.ch-recording-meta strong { margin-top:.25rem; color:var(--navy); font-size:.65rem; }.ch-recording-actions { padding:.85rem; display:flex; flex-wrap:wrap; gap:.55rem; border-top:1px solid var(--line); }.ch-recording-actions span { padding:.45rem .55rem; color:var(--muted); border:1px solid var(--line); border-radius:7px; background:#fffaf8; font-size:.62rem; font-weight:700; }
.ch-filters { background:#f4f8fa; }.ch-filter-panel { overflow:hidden; border:1px solid rgba(20,35,59,.1); border-radius:23px; background:var(--white); box-shadow:var(--shadow); }.ch-filter-head { padding:1rem; display:grid; grid-template-columns:24px minmax(0,1fr) auto; gap:.55rem; align-items:center; color:var(--navy); border-bottom:1px solid var(--line); }.ch-filter-head svg { width:19px; height:19px; color:var(--coral-action); }.ch-filter-head strong { font-size:.78rem; }.ch-filter-head span { color:var(--muted); font-size:.62rem; }.ch-filter-chips { padding:1rem; display:flex; flex-wrap:wrap; gap:.5rem; }.ch-filter-chips span { padding:.5rem .6rem; color:var(--navy); border:1px solid var(--line); border-radius:7px; background:#fffaf8; font-size:.62rem; font-weight:700; }.ch-filter-chips span:nth-child(1), .ch-filter-chips span:nth-child(7), .ch-filter-chips span:nth-child(10) { color:#147a70; border-color:#bfe9df; background:#ecfaf6; }.ch-filter-result { padding:1rem; display:grid; grid-template-columns:38px minmax(0,1fr) auto auto; gap:.6rem; align-items:center; border-top:1px solid var(--line); background:#f8fafb; }.ch-filter-result strong,.ch-filter-result small { display:block; }.ch-filter-result strong { color:var(--navy); font-size:.72rem; }.ch-filter-result small { margin-top:.18rem; color:var(--muted); font-size:.6rem; }.ch-filter-result em { color:var(--coral-action); font-size:.62rem; font-style:normal; font-weight:800; }
.ch-reporting { color:var(--white); background:#1b2c46; }.ch-report-panel { overflow:hidden; border:1px solid rgba(255,255,255,.12); border-radius:23px; background:#101c30; box-shadow:0 30px 70px rgba(0,0,0,.16); }.ch-report-top { padding:1rem; display:flex; justify-content:space-between; gap:.7rem; align-items:center; color:var(--white); border-bottom:1px solid rgba(255,255,255,.1); font-size:.76rem; }.ch-report-top span { display:flex; align-items:center; gap:.4rem; color:#9ce3d6; font-size:.62rem; font-weight:800; }.ch-report-top svg { width:16px; height:16px; }.ch-report-cards { display:grid; grid-template-columns:1fr 1fr; }.ch-report-cards div { min-width:0; padding:1rem; border-right:1px solid rgba(255,255,255,.1); border-bottom:1px solid rgba(255,255,255,.1); }.ch-report-cards div:nth-child(2n) { border-right:0; }.ch-report-cards small,.ch-report-cards strong,.ch-report-cards span { display:block; }.ch-report-cards small { color:#aeb9c8; font-size:.56rem; font-weight:850; letter-spacing:.05em; text-transform:uppercase; }.ch-report-cards strong { margin:.35rem 0 .18rem; color:var(--white); font-size:1.22rem; }.ch-report-cards span { color:#9ce3d6; font-size:.6rem; }.ch-report-bars { min-height:140px; padding:1rem; display:grid; grid-template-columns:1fr 150px; gap:1rem; align-items:end; }.ch-report-bars > span { height:90px; padding:0 .4rem; display:flex; gap:.55rem; align-items:end; border-bottom:1px solid rgba(255,255,255,.17); }.ch-report-bars i { width:100%; min-width:6px; border-radius:5px 5px 0 0; background:#21bfae; }.ch-report-bars i:nth-child(4),.ch-report-bars i:nth-child(6){background:var(--coral)}.ch-report-bars small { color:#aeb9c8; font-size:.62rem; line-height:1.5; }
.ch-platform { background:#fff7f3; }.ch-platform-map { max-width:1050px; margin:0 auto; display:grid; grid-template-columns:270px minmax(0,1fr); gap:1.2rem; align-items:stretch; }.ch-platform-core { padding:2rem; display:grid; align-content:center; border:1px solid rgba(201,66,57,.22); border-radius:23px; background:#fff0ee; }.ch-platform-core img { margin-bottom:1rem; }.ch-platform-core small,.ch-platform-core strong { display:block; }.ch-platform-core small { color:var(--coral-action); font-size:.6rem; font-weight:850; letter-spacing:.06em; text-transform:uppercase; }.ch-platform-core strong { margin-top:.25rem; color:var(--navy); font-size:1.35rem; }.ch-platform-core p { margin:.5rem 0 0; color:var(--muted); font-size:.78rem; }.ch-platform-links { display:grid; grid-template-columns:1fr 1fr; gap:.65rem; }.ch-platform-links > * { min-width:0; padding:.8rem; display:grid; grid-template-columns:32px minmax(0,1fr); gap:.6rem; align-items:center; color:var(--navy); border:1px solid var(--line); border-radius:12px; background:var(--white); }.ch-platform-links svg { width:19px; height:19px; color:#147a70; }.ch-platform-links strong,.ch-platform-links small { display:block; }.ch-platform-links strong { font-size:.72rem; }.ch-platform-links small { margin-top:.15rem; color:var(--muted); font-size:.57rem; }.ch-platform-links a { color:var(--navy); border-color:#bfe9df; background:#ecfaf6; }.ch-cta { background:var(--white); }.ch-final { position:relative; overflow:hidden; padding:clamp(2.5rem,5vw,4.5rem); display:grid; grid-template-columns:minmax(0,1.25fr) minmax(270px,.75fr); gap:4rem; align-items:center; border:1px solid rgba(20,35,59,.1); border-radius:32px; background:linear-gradient(135deg,#fff3ee,#fffaf8 62%,#e4f7f1); box-shadow:0 24px 70px rgba(20,35,59,.1); }.ch-final::after { content:""; position:absolute; right:-8rem; top:-9rem; width:20rem; height:20rem; border:1px solid rgba(255,107,94,.22); border-radius:50%; }.ch-final > * { position:relative; z-index:1; }.ch-final > div:first-child > p:last-child { max-width:680px; color:var(--muted); font-size:1.04rem; }.ch-final-actions { display:grid; gap:.7rem; }.ch-final-actions .button { width:100%; }.ch-final-actions .text-link { min-height:44px; justify-content:center; }

@media (max-width:1100px) {
  .ch-hero-grid { grid-template-columns:minmax(0,.74fr) minmax(520px,1.26fr); gap:2.25rem; }.ch-hero-copy h1 { font-size:clamp(3rem,5vw,3.7rem); }.ch-split,.ch-missed-grid,.ch-journey-grid,.ch-filter-grid,.ch-reporting-grid { gap:3.5rem; }.ch-history-table th,.ch-history-table td { padding-inline:.7rem; }.ch-history-table td:first-child { min-width:135px; }
}
@media (max-width:900px) {
  .ch-hero-grid,.ch-split,.ch-split-reverse,.ch-missed-grid,.ch-journey-grid,.ch-filter-grid,.ch-reporting-grid { grid-template-columns:1fr; }.ch-hero-copy,.ch-section-copy { max-width:760px; }.ch-history-shell,.ch-context-record,.ch-detail-panel,.ch-missed-panel,.ch-action-panel,.ch-blacklist-panel,.ch-trace,.ch-recording-panel,.ch-filter-panel,.ch-report-panel { width:100%; max-width:760px; margin-inline:auto; }.ch-split-reverse > :first-child { order:2; }.ch-split-reverse > :last-child { order:1; }.ch-platform-map { grid-template-columns:1fr; }.ch-platform-core { max-width:520px; margin-inline:auto; text-align:center; }.ch-platform-core img { margin-inline:auto; }
}
@media (max-width:768px) {
  .call-history-page .section { padding:5.5rem 0; }.ch-hero { padding:5rem 0; }.ch-hero-grid { row-gap:3.5rem; }.ch-hero-copy { margin-inline:auto; text-align:center; }.ch-hero-copy h1 { max-width:18ch; margin-inline:auto; font-size:clamp(2.9rem,8vw,3.6rem); }.ch-lede { max-width:650px; margin-inline:auto; }.ch-hero-actions { justify-content:center; }.ch-call-link { justify-content:center; }
  .ch-section-copy > .eyebrow,.ch-section-copy > h2,.ch-intro > .eyebrow,.ch-intro > h2,.ch-final > div:first-child > .eyebrow,.ch-final h2 { text-align:center; }.ch-section-copy h2,.ch-intro h2,.ch-final h2 { max-width:18ch; margin-inline:auto; font-size:clamp(2.35rem,7vw,3.2rem); }.ch-section-copy,.ch-intro { margin-inline:auto; }.ch-reading { margin-inline:auto; }.ch-reading p { text-align:left; }.ch-closing { margin-inline:auto; text-align:center; }
  .ch-history-table th:nth-child(2),.ch-history-table td:nth-child(2) { display:none; }.ch-context-points { grid-template-columns:1fr 1fr 1fr; }.ch-contact-flow { grid-template-columns:1fr 1fr; }.ch-contact-flow li:nth-child(2)::after,.ch-contact-flow li:nth-child(4)::after { display:none; }.ch-trace-flow { height:490px; }.ch-node { width:118px; }.ch-platform-links { grid-template-columns:1fr 1fr; }.call-history-page .footer-links a,.call-history-page .footer-phone,.call-history-page .header-phone,.call-history-page .text-link { min-height:44px; }
}
@media (max-width:640px) {
  .ch-hero { padding:4.25rem 0; }.ch-hero-actions .button,.ch-hero-actions .text-link { width:auto; }.ch-history-table thead { display:none; }.ch-history-table,.ch-history-table tbody,.ch-history-table tr,.ch-history-table td { display:block; width:100%; }.ch-history-table tbody { display:grid; gap:1px; background:rgba(255,255,255,.08); }.ch-history-table tr { padding:.85rem; background:#132239; }.ch-history-table tbody tr.is-missed { background:#2a2637; }.ch-history-table td { min-width:0!important; padding:.35rem 0; border:0; }.ch-history-table td:first-child { display:flex; }.ch-history-table td:nth-child(2) { display:none; }.ch-history-table td:nth-child(3),.ch-history-table td:nth-child(4) { display:flex; align-items:center; justify-content:space-between; gap:.8rem; }.ch-history-table td:nth-child(3) small { margin:0; }.ch-history-table td:nth-child(4) a { min-height:40px; }.ch-history-summary { display:grid; grid-template-columns:1fr; }.ch-context-record { grid-template-columns:1fr; }.ch-expand-arrow { transform:rotate(90deg); }.ch-rich-record { grid-template-columns:1fr; }.ch-rich-record .ch-rich-action { grid-column:auto; }.ch-context-points { grid-template-columns:1fr 1fr; }.ch-detail-grid { grid-template-columns:1fr; }.ch-detail-grid > div,.ch-detail-grid > div:nth-child(2n) { border-right:0; }.ch-missed-banner { grid-template-columns:28px minmax(0,1fr); }.ch-missed-banner em { grid-column:2; justify-self:start; }.ch-missed-person { grid-template-columns:42px minmax(0,1fr); }.ch-missed-person a { grid-column:1/-1; justify-content:center; }.ch-missed-path { display:grid; grid-template-columns:1fr; }.ch-missed-path i { justify-self:center; transform:rotate(90deg); }.ch-action-groups { grid-template-columns:1fr; }.ch-action-groups > div,.ch-action-groups > div:nth-child(2n) { border-right:0; }.ch-action-groups > div:last-child { grid-column:auto; }.ch-contact-flow { grid-template-columns:1fr; }.ch-contact-flow li:not(:last-child)::after { content:"⌄"; left:50%; top:100%; width:1rem; transform:translate(-50%,-.25rem); }.ch-contact-flow li:nth-child(2)::after,.ch-contact-flow li:nth-child(4)::after { display:block; }.ch-blacklist-confirm { display:grid; }.ch-journey-grid { gap:2.5rem; }.ch-trace-header { display:grid; }.ch-trace-flow { height:auto; padding:1rem; display:grid; gap:.65rem; }.ch-trace-flow > svg,.ch-route-label { display:none; }.ch-node { position:relative; left:auto!important; top:auto!important; width:auto; padding:.75rem; }.ch-node:not(:last-of-type)::after { content:"↓"; position:absolute; left:50%; bottom:-.95rem; z-index:2; color:#21bfae; font-size:1rem; font-weight:900; transform:translateX(-50%); }.ch-node.n-unanswered,.ch-node.n-fallback { border-color:rgba(255,184,177,.32); }.ch-node.n-unanswered:not(:last-of-type)::after { color:#ff8075; }.ch-recording-meta { grid-template-columns:1fr; }.ch-recording-meta span { border-right:0; border-bottom:1px solid var(--line); }.ch-filter-result { grid-template-columns:38px minmax(0,1fr); }.ch-filter-result > b,.ch-filter-result > em { grid-column:2; justify-self:start; }.ch-report-bars { grid-template-columns:1fr; }.ch-platform-links { grid-template-columns:1fr; }.ch-final { grid-template-columns:1fr; gap:2rem; text-align:center; }.ch-final > div:first-child > p:last-child { margin-inline:auto; text-align:left; }.ch-final-actions { width:100%; max-width:480px; margin-inline:auto; }
}
@media (max-width:480px) {
  .call-history-page .section { padding:4.5rem 0; }.ch-hero-grid { row-gap:2.75rem; }.ch-hero-copy h1,.ch-section-copy h2,.ch-intro h2,.ch-final h2 { max-width:16ch; line-height:1.08; }.ch-hero-actions { width:100%; }.ch-hero-actions .button,.ch-hero-actions .text-link { width:100%; }.ch-history-top { min-height:50px; }.ch-history-top small { display:none; }.ch-history-controls { grid-template-columns:1fr; }.ch-history-controls b { justify-content:center; }.ch-history-shell,.ch-detail-panel,.ch-missed-panel,.ch-action-panel,.ch-blacklist-panel,.ch-trace,.ch-recording-panel,.ch-filter-panel,.ch-report-panel { border-radius:18px; }.ch-context-points { grid-template-columns:1fr; }.ch-context-points article { padding:1rem; }.ch-detail-head { grid-template-columns:42px minmax(0,1fr); }.ch-detail-head > b { grid-column:2; justify-self:start; }.ch-action-selected { grid-template-columns:42px minmax(0,1fr); }.ch-action-selected > b { grid-column:2; justify-self:start; }.ch-filter-head { grid-template-columns:22px minmax(0,1fr); }.ch-filter-head span { grid-column:2; }.ch-report-cards { grid-template-columns:1fr; }.ch-report-cards div { border-right:0; }.ch-final { padding:2.5rem 1.25rem; border-radius:24px; }
}
@media (prefers-reduced-motion:reduce) { .call-history-page * { scroll-behavior:auto; } }

/* TalkLayr Phone Books page */
.phone-books-page { background:var(--cream); }.phone-books-page svg { fill:none; stroke:currentColor; stroke-width:1.9; stroke-linecap:round; stroke-linejoin:round; }.phone-books-page .button:focus-visible,.phone-books-page .text-link:focus-visible,.phone-books-page .pb-platform-links a:focus-visible { outline-color:var(--coral); box-shadow:0 0 0 6px rgba(201,66,57,.2); }
.pb-hero { position:relative; overflow:hidden; padding:clamp(5.25rem,8vw,8rem) 0; background:radial-gradient(circle at 88% 12%,rgba(188,235,217,.72),transparent 25rem),linear-gradient(135deg,#fffaf8 0%,#fff4ef 60%,#fff 100%); }.pb-hero::before { content:""; position:absolute; left:-11rem; bottom:-14rem; width:30rem; height:30rem; border:1px solid rgba(255,107,94,.15); border-radius:50%; }.pb-hero-grid { position:relative; z-index:1; display:grid; grid-template-columns:minmax(0,.76fr) minmax(590px,1.24fr); gap:clamp(2.5rem,4.5vw,5rem); align-items:center; }.pb-hero-grid > *,.pb-split > *,.pb-shared-grid > *,.pb-caller-grid > *,.pb-connect-grid > *,.pb-controlled-grid > *,.pb-data-grid > * { min-width:0; }
.pb-hero-copy h1 { max-width:710px; margin:0 0 1.55rem; color:var(--navy); font-size:clamp(3.2rem,5vw,4.65rem); line-height:.98; letter-spacing:-.055em; }.pb-lede { max-width:650px; }.pb-lede p { margin:0 0 .85rem; color:var(--muted); font-size:1.08rem; line-height:1.72; }.pb-lede p:first-child { color:var(--ink); font-weight:720; }.pb-hero-actions { margin-top:2rem; align-items:center; }.pb-call-link { min-height:44px; display:inline-flex; align-items:center; gap:.5rem; }.pb-call-link svg { width:19px; height:19px; }
.pb-workspace { overflow:hidden; border:1px solid #26364e; border-radius:25px; color:#dce5ef; background:#132239; box-shadow:0 30px 70px rgba(20,35,59,.2); }.pb-workspace-top { min-height:58px; padding:.8rem 1rem; display:flex; justify-content:space-between; align-items:center; gap:1rem; border-bottom:1px solid rgba(255,255,255,.09); background:#101c30; }.pb-workspace-top > span { display:flex; align-items:center; gap:.55rem; color:var(--white); font-size:.88rem; font-weight:850; }.pb-workspace-top small { color:#9ce3d6; font-size:.64rem; font-weight:800; }.pb-search { margin:.9rem; padding:.65rem .75rem; display:flex; align-items:center; gap:.5rem; color:#aeb9c8; border:1px solid rgba(255,255,255,.1); border-radius:9px; background:rgba(255,255,255,.04); font-size:.66rem; font-weight:700; }.pb-search svg { width:16px; height:16px; color:#9ce3d6; }.pb-workspace-body { min-height:340px; display:grid; grid-template-columns:115px minmax(190px,.85fr) minmax(230px,1.1fr); border-top:1px solid rgba(255,255,255,.08); }.pb-workspace-body > aside { padding:.75rem .55rem; display:grid; align-content:start; gap:.25rem; color:#9eabbd; border-right:1px solid rgba(255,255,255,.08); background:#101c30; font-size:.58rem; }.pb-workspace-body aside b,.pb-workspace-body aside span { padding:.45rem; border-radius:7px; }.pb-workspace-body aside b { color:var(--white); background:rgba(255,107,94,.15); }.pb-contact-list { display:grid; align-content:start; border-right:1px solid rgba(255,255,255,.08); }.pb-contact-list > div { min-width:0; padding:.75rem; display:grid; grid-template-columns:34px minmax(0,1fr); gap:.5rem; align-items:center; border-bottom:1px solid rgba(255,255,255,.08); }.pb-contact-list > div.is-active { background:rgba(33,191,174,.1); }.pb-contact-list strong,.pb-contact-list small { display:block; }.pb-contact-list strong { color:var(--white); font-size:.67rem; }.pb-contact-list small { margin-top:.15rem; color:#aeb9c8; font-size:.53rem; line-height:1.35; }.pb-contact-list em { grid-column:2; color:#9ce3d6; font-size:.5rem; font-style:normal; font-weight:800; }.pb-avatar { width:36px; height:36px; flex:0 0 36px; display:grid; place-items:center; color:var(--navy); border-radius:10px; background:var(--mint); font-size:.64rem; font-weight:850; }.pb-avatar.org { color:#147a70; background:#ddf6f2; }.pb-avatar.unknown { color:#9d4039; background:#ffe1dc; }.pb-contact-detail { padding:1rem; display:grid; align-content:start; gap:.8rem; }.pb-contact-detail > small { color:#9ce3d6; font-size:.55rem; font-weight:850; letter-spacing:.06em; text-transform:uppercase; }.pb-person { display:grid; grid-template-columns:42px minmax(0,1fr); gap:.6rem; align-items:center; }.pb-person .pb-avatar { width:42px; height:42px; flex-basis:42px; }.pb-person h2,.pb-person p { margin:0; }.pb-person h2 { color:var(--white); font-size:.9rem; }.pb-person p { margin-top:.18rem; color:#aeb9c8; font-size:.58rem; line-height:1.4; }.pb-contact-detail dl { margin:0; display:grid; gap:.5rem; }.pb-contact-detail dl div { padding:.55rem; border:1px solid rgba(255,255,255,.09); border-radius:8px; background:rgba(255,255,255,.04); }.pb-contact-detail dt,.pb-contact-detail dd { margin:0; display:block; }.pb-contact-detail dt { color:#9eabbd; font-size:.5rem; }.pb-contact-detail dd { margin-top:.18rem; color:#dce5ef; font-size:.57rem; font-weight:750; }.pb-detail-actions { display:grid; grid-template-columns:1fr 1fr; gap:.5rem; }.pb-detail-actions span,.pb-detail-actions b { min-height:32px; display:flex; align-items:center; justify-content:center; border:1px solid rgba(255,255,255,.12); border-radius:8px; color:#dce5ef; font-size:.58rem; }.pb-detail-actions b { color:var(--white); border:0; background:var(--coral-action); }
.phone-books-page .section { padding:clamp(5.75rem,8vw,8rem) 0; }.pb-split,.pb-shared-grid,.pb-caller-grid,.pb-connect-grid,.pb-controlled-grid,.pb-data-grid { display:grid; grid-template-columns:minmax(0,.86fr) minmax(500px,1.14fr); gap:clamp(3.5rem,7vw,7rem); align-items:center; }.pb-split-reverse > :first-child { order:2; }.pb-split-reverse > :last-child { order:1; }.pb-section-copy h2,.pb-intro h2,.pb-final h2 { max-width:750px; margin:0 0 1.3rem; color:var(--navy); font-size:clamp(2.65rem,4.7vw,4.25rem); line-height:1.04; letter-spacing:-.045em; }.pb-reading { max-width:690px; }.pb-reading p { margin:0 0 .82rem; color:var(--muted); font-size:1.03rem; line-height:1.72; }.pb-closing { max-width:720px; margin:1.6rem 0 0; padding-top:1.2rem; color:var(--navy); border-top:1px solid rgba(20,35,59,.1); font-weight:760; }.pb-closing-light { color:var(--white); border-color:rgba(255,255,255,.16); }.pb-closing-centred { margin-inline:auto; text-align:center; }
.pb-context { background:#f4f8fa; }.pb-context-visual { padding:1.1rem; display:grid; grid-template-columns:minmax(125px,.7fr) 28px minmax(0,1.3fr); gap:.8rem; align-items:center; border:1px solid rgba(20,35,59,.1); border-radius:23px; background:var(--white); box-shadow:var(--shadow); }.pb-number { padding:1rem; display:grid; gap:.35rem; color:var(--navy); border:1px solid var(--line); border-radius:14px; background:#f8fafb; }.pb-number small,.pb-context-person small,.pb-context-org small { color:var(--muted); font-size:.58rem; font-weight:850; letter-spacing:.06em; text-transform:uppercase; }.pb-number strong { font-size:.84rem; }.pb-context-visual > i { color:var(--coral-action); font-size:1.35rem; font-style:normal; font-weight:900; }.pb-context-person { padding:.8rem; display:grid; grid-template-columns:40px minmax(0,1fr); gap:.55rem; align-items:center; border:1px solid #bfe9df; border-radius:12px; background:#ecfaf6; }.pb-context-person strong,.pb-context-person p { display:block; margin:0; }.pb-context-person strong { margin-top:.2rem; color:var(--navy); font-size:.76rem; }.pb-context-person p { margin-top:.14rem; color:var(--muted); font-size:.6rem; }.pb-context-org { grid-column:3; padding:.75rem; display:grid; grid-template-columns:24px minmax(0,1fr); gap:.5rem; align-items:center; border:1px solid var(--line); border-radius:10px; }.pb-context-org svg { width:18px; height:18px; color:#147a70; }.pb-context-org strong { display:block; margin-top:.18rem; color:var(--navy); font-size:.68rem; }.pb-context-methods { grid-column:3; display:grid; grid-template-columns:1fr 1fr; gap:.45rem; }.pb-context-methods span,.pb-context-methods b { padding:.5rem; color:var(--muted); border:1px solid var(--line); border-radius:8px; background:#fffaf8; font-size:.56rem; line-height:1.35; }.pb-context-methods b { grid-column:1/-1; color:var(--navy); }.pb-context-points,.pb-capability-line,.pb-shared-points,.pb-caller-points,.pb-search-points,.pb-connect-points,.pb-device-points,.pb-quality-points { margin-top:3rem; display:flex; flex-wrap:wrap; justify-content:center; gap:.6rem; }.pb-context-points span,.pb-capability-line span,.pb-caller-points span,.pb-search-points span,.pb-device-points span,.pb-quality-points span { padding:.55rem .75rem; color:var(--navy); border:1px solid var(--line); border-radius:999px; background:var(--white); font-size:.7rem; font-weight:750; }
.pb-people { background:#fff7f3; }.pb-person-record { overflow:hidden; border:1px solid rgba(20,35,59,.1); border-radius:23px; background:var(--white); box-shadow:var(--shadow); }.pb-record-head { padding:1.2rem; display:grid; grid-template-columns:46px minmax(0,1fr) auto; gap:.75rem; align-items:center; border-bottom:1px solid var(--line); }.pb-record-head .pb-avatar { width:46px; height:46px; flex-basis:46px; }.pb-record-head small,.pb-record-head h3,.pb-record-head p { display:block; margin:0; }.pb-record-head small { color:var(--coral-action); font-size:.58rem; font-weight:850; letter-spacing:.06em; text-transform:uppercase; }.pb-record-head h3 { margin:.2rem 0; color:var(--navy); font-size:1.1rem; }.pb-record-head p { color:var(--muted); font-size:.7rem; }.pb-record-head > b { padding:.3rem .5rem; color:#147a70; border-radius:999px; background:#e3f7f2; font-size:.58rem; }.pb-record-org { padding:1rem 1.2rem; display:grid; grid-template-columns:28px minmax(0,1fr); gap:.6rem; align-items:center; border-bottom:1px solid var(--line); background:#f8fafb; }.pb-record-org svg { width:20px; height:20px; color:#147a70; }.pb-record-org small,.pb-record-org strong,.pb-record-org em { display:block; }.pb-record-org small { color:var(--muted); font-size:.56rem; font-weight:850; letter-spacing:.06em; text-transform:uppercase; }.pb-record-org strong { margin:.2rem 0; color:var(--navy); font-size:.76rem; }.pb-record-org em { color:var(--muted); font-size:.6rem; font-style:normal; }.pb-record-methods { display:grid; grid-template-columns:1fr 1fr; }.pb-record-methods span { padding:.9rem 1.15rem; border-right:1px solid var(--line); border-bottom:1px solid var(--line); }.pb-record-methods span:nth-child(2n) { border-right:0; }.pb-record-methods small,.pb-record-methods strong { display:block; }.pb-record-methods small { color:var(--muted); font-size:.55rem; font-weight:850; letter-spacing:.05em; text-transform:uppercase; }.pb-record-methods strong { margin-top:.25rem; color:var(--navy); font-size:.68rem; }
.pb-shared { color:var(--white); background:var(--navy); }.pb-shared .pb-section-copy h2,.pb-connect .pb-section-copy h2,.pb-data .pb-section-copy h2 { color:var(--white); }.pb-shared .pb-reading p,.pb-connect .pb-reading p,.pb-data .pb-reading p { color:#c7d0df; }.pb-directory { overflow:hidden; border:1px solid rgba(255,255,255,.13); border-radius:23px; background:#101c30; box-shadow:0 30px 70px rgba(0,0,0,.18); }.pb-directory-head { min-height:52px; padding:.8rem 1rem; display:flex; justify-content:space-between; align-items:center; border-bottom:1px solid rgba(255,255,255,.1); }.pb-directory-head strong { color:var(--white); font-size:.8rem; }.pb-directory-head span { color:#9ce3d6; font-size:.61rem; font-weight:800; }.pb-directory-body { display:grid; grid-template-columns:145px minmax(0,1fr); }.pb-directory-body aside { padding:.75rem .6rem; display:grid; align-content:start; gap:.25rem; color:#9eabbd; border-right:1px solid rgba(255,255,255,.08); background:#0d192c; font-size:.61rem; }.pb-directory-body aside b,.pb-directory-body aside span { padding:.45rem; border-radius:7px; }.pb-directory-body aside b { color:var(--white); background:rgba(255,107,94,.15); }.pb-directory-body > div { display:grid; align-content:start; }.pb-directory-body p { margin:0; padding:.75rem; display:grid; grid-template-columns:34px minmax(0,1fr); gap:.5rem; align-items:center; border-bottom:1px solid rgba(255,255,255,.08); }.pb-directory-body strong,.pb-directory-body small { display:block; }.pb-directory-body strong { color:var(--white); font-size:.68rem; }.pb-directory-body small { margin-top:.15rem; color:#aeb9c8; font-size:.53rem; }.pb-directory-foot { padding:.8rem 1rem; display:flex; justify-content:center; gap:.6rem; color:#dce5ef; border-top:1px solid rgba(255,255,255,.08); font-size:.65rem; font-weight:750; }.pb-directory-foot i { color:#9ce3d6; font-style:normal; }.pb-shared-points { margin-top:3rem; display:flex; flex-wrap:wrap; justify-content:center; gap:.6rem; }.pb-shared-points span { padding:.55rem .75rem; color:#dce5ef; border:1px solid rgba(255,255,255,.15); border-radius:999px; font-size:.7rem; font-weight:750; }
.pb-priorities { background:#f4f8fa; }.pb-priority-panel { overflow:hidden; border:1px solid rgba(20,35,59,.1); border-radius:23px; background:var(--white); box-shadow:var(--shadow); }.pb-priority-top { padding:.9rem 1rem; display:flex; justify-content:space-between; gap:.6rem; border-bottom:1px solid var(--line); }.pb-priority-top span { color:var(--navy); font-size:.78rem; font-weight:800; }.pb-priority-top small { color:var(--muted); font-size:.58rem; }.pb-priority-group { padding:1rem; border-bottom:1px solid var(--line); }.pb-priority-group > strong { display:flex; align-items:center; gap:.45rem; color:var(--navy); font-size:.7rem; }.pb-priority-group > strong svg { width:17px; height:17px; color:var(--coral-action); }.pb-priority-group p { margin:.65rem 0 0; display:grid; grid-template-columns:32px minmax(0,1fr) auto; gap:.5rem; align-items:center; color:var(--navy); font-size:.68rem; font-weight:750; }.pb-priority-group .pb-avatar { width:32px; height:32px; flex-basis:32px; font-size:.55rem; }.pb-priority-group em { color:#147a70; font-size:.55rem; font-style:normal; }.pb-priority-group b { min-height:30px; padding:.4rem .55rem; display:flex; align-items:center; color:var(--white); border-radius:7px; background:var(--coral-action); font-size:.58rem; }.pb-priority-recent { padding:.9rem 1rem; color:var(--muted); font-size:.63rem; }
.pb-caller { background:#fff7f3; }.pb-caller-panel { overflow:hidden; border:1px solid rgba(20,35,59,.1); border-radius:23px; background:var(--white); box-shadow:var(--shadow); }.pb-caller-top { padding:.8rem 1rem; display:flex; justify-content:space-between; border-bottom:1px solid var(--line); }.pb-caller-top span { color:var(--navy); font-size:.72rem; font-weight:800; }.pb-caller-top i { color:#147a70; font-size:.58rem; font-style:normal; font-weight:800; }.pb-caller-known { padding:1.2rem; display:grid; grid-template-columns:48px minmax(0,1fr) auto; gap:.7rem; align-items:center; }.pb-caller-known .pb-avatar { width:48px; height:48px; flex-basis:48px; }.pb-caller-known h3,.pb-caller-known p,.pb-caller-known small { display:block; margin:0; }.pb-caller-known h3 { color:var(--navy); font-size:1rem; }.pb-caller-known p { margin-top:.18rem; color:var(--muted); font-size:.66rem; }.pb-caller-known small { margin-top:.35rem; color:#147a70; font-size:.56rem; font-weight:750; }.pb-caller-known > b { min-height:34px; padding:.5rem .65rem; display:flex; align-items:center; color:var(--white); border-radius:8px; background:var(--coral-action); font-size:.62rem; }.pb-caller-context { padding:.8rem 1.2rem; display:grid; gap:.45rem; border-top:1px solid var(--line); border-bottom:1px solid var(--line); background:#f8fafb; color:var(--muted); font-size:.62rem; }.pb-caller-context span::before { content:"•"; margin-right:.35rem; color:#147a70; }.pb-caller-unknown { padding:1rem 1.2rem; display:grid; gap:.3rem; }.pb-caller-unknown small { color:var(--muted); font-size:.55rem; font-weight:850; letter-spacing:.05em; text-transform:uppercase; }.pb-caller-unknown strong { color:var(--navy); font-size:.72rem; }.pb-caller-unknown span { color:var(--muted); font-size:.62rem; line-height:1.45; }
.pb-call-contact { background:#f4f8fa; }.pb-intro { max-width:920px; margin:0 auto 3.5rem; text-align:center; }.pb-intro .pb-reading { margin-inline:auto; }.pb-intro .pb-reading p { text-align:left; }.pb-contact-flow { margin:0; padding:0; display:grid; grid-template-columns:repeat(6,1fr); gap:.85rem; list-style:none; }.pb-contact-flow li { position:relative; min-width:0; padding:1.15rem .95rem; border:1px solid rgba(20,35,59,.1); border-radius:17px; background:var(--white); box-shadow:0 14px 35px rgba(20,35,59,.06); }.pb-contact-flow li:not(:last-child)::after { content:"›"; position:absolute; left:calc(100% + .24rem); top:50%; z-index:2; color:var(--coral-action); font-size:1.25rem; font-weight:900; transform:translateY(-50%); }.pb-contact-flow li > span { color:#c77b73; font-size:.6rem; font-weight:850; }.pb-contact-flow h3 { margin:.7rem 0 .4rem; color:var(--navy); font-size:.82rem; line-height:1.35; }.pb-contact-flow p { margin:0; color:var(--muted); font-size:.67rem; line-height:1.5; }.pb-centred-link { width:max-content; min-height:44px; margin:1.2rem auto 0; }
.pb-search-call { background:#fff7f3; }.pb-search-panel { overflow:hidden; border:1px solid rgba(20,35,59,.1); border-radius:23px; background:var(--white); box-shadow:var(--shadow); }.pb-search-field { margin:1rem; padding:.7rem; display:flex; gap:.5rem; align-items:center; color:var(--muted); border:1px solid var(--line); border-radius:9px; background:#f8fafb; font-size:.67rem; font-weight:700; }.pb-search-field svg { width:17px; height:17px; color:var(--coral-action); }.pb-search-tabs { padding:0 1rem .8rem; display:flex; flex-wrap:wrap; gap:.45rem; border-bottom:1px solid var(--line); }.pb-search-tabs b,.pb-search-tabs span { padding:.42rem .55rem; color:var(--muted); border-radius:7px; font-size:.59rem; }.pb-search-tabs b { color:var(--navy); background:#e3f7f2; }.pb-search-result { padding:1rem; display:grid; grid-template-columns:40px minmax(0,1fr) auto auto; gap:.55rem; align-items:center; }.pb-search-result strong,.pb-search-result small { display:block; }.pb-search-result strong { color:var(--navy); font-size:.75rem; }.pb-search-result small { margin-top:.15rem; color:var(--muted); font-size:.6rem; }.pb-search-result em { color:#147a70; font-size:.55rem; font-style:normal; font-weight:800; }.pb-search-result b { min-height:32px; padding:.45rem .6rem; display:flex; align-items:center; color:var(--white); border-radius:7px; background:var(--coral-action); font-size:.6rem; }.pb-search-actions { padding:.85rem 1rem; display:flex; flex-wrap:wrap; gap:.5rem; border-top:1px solid var(--line); background:#f8fafb; }.pb-search-actions span { padding:.45rem .55rem; color:var(--navy); border:1px solid var(--line); border-radius:7px; background:var(--white); font-size:.61rem; font-weight:700; }
.pb-connect { color:var(--white); background:#1b2c46; }.pb-connect-visual { padding:1.2rem; display:grid; grid-template-columns:minmax(160px,.85fr) 28px minmax(150px,.7fr); gap:.7rem; align-items:center; border:1px solid rgba(255,255,255,.13); border-radius:23px; background:#101c30; box-shadow:0 30px 70px rgba(0,0,0,.18); }.pb-web-contact { padding:1rem; display:grid; justify-items:start; gap:.4rem; border:1px solid rgba(255,255,255,.1); border-radius:13px; background:#1b2c46; }.pb-web-contact small { color:#9ce3d6; font-size:.55rem; font-weight:850; letter-spacing:.05em; text-transform:uppercase; }.pb-web-contact strong { color:var(--white); font-size:.82rem; }.pb-web-contact p { margin:0; color:#c7d0df; font-size:.63rem; }.pb-web-contact em,.pb-connect-phone em { color:#9ce3d6; font-size:.56rem; font-style:normal; font-weight:750; }.pb-connect-visual > i { color:#9ce3d6; font-size:1.25rem; font-style:normal; font-weight:900; }.pb-connect-phone { padding:.7rem; display:grid; justify-items:center; gap:.4rem; color:var(--white); border:7px solid #24344d; border-radius:18px; background:#14233b; box-shadow:inset 0 0 0 1px #566175; }.pb-connect-phone > div { width:100%; margin:-.7rem -.7rem .3rem; padding:.5rem .6rem; display:flex; align-items:center; gap:.35rem; border-bottom:1px solid rgba(255,255,255,.08); font-size:.58rem; font-weight:850; }.pb-connect-phone strong { font-size:.7rem; }.pb-connect-phone small { color:#aeb9c8; font-size:.54rem; }.pb-connect-phone b { width:100%; min-height:30px; display:flex; justify-content:center; align-items:center; color:var(--white); border-radius:7px; background:var(--coral-action); font-size:.58rem; }.pb-connect-points { margin-top:3rem; display:flex; flex-wrap:wrap; justify-content:center; gap:.6rem; }.pb-connect-points span { padding:.55rem .75rem; color:#dce5ef; border:1px solid rgba(255,255,255,.15); border-radius:999px; font-size:.7rem; font-weight:750; }
.pb-devices { background:#f4f8fa; }.pb-device-flow { padding:1.25rem; display:grid; grid-template-columns:1fr 30px 1fr 30px 1fr; gap:.5rem; align-items:center; border:1px solid rgba(20,35,59,.1); border-radius:23px; background:var(--white); box-shadow:var(--shadow); }.pb-device-flow > div { min-height:170px; padding:1rem; display:grid; align-content:center; justify-items:center; gap:.55rem; color:var(--navy); border:1px solid var(--line); border-radius:14px; text-align:center; }.pb-device-flow svg { width:28px; height:28px; color:#147a70; }.pb-device-flow small,.pb-device-flow strong,.pb-device-flow em { display:block; }.pb-device-flow small { color:var(--muted); font-size:.55rem; font-weight:850; letter-spacing:.05em; text-transform:uppercase; }.pb-device-flow strong { font-size:.72rem; }.pb-device-flow em { color:var(--coral-action); font-size:.55rem; font-style:normal; font-weight:750; }.pb-device-flow > i { color:var(--coral-action); font-size:1.25rem; font-style:normal; font-weight:900; }.pb-device-points { margin-top:3rem; display:flex; flex-wrap:wrap; justify-content:center; gap:.6rem; }
.pb-controlled { background:#fff7f3; }.pb-quality-panel { overflow:hidden; border:1px solid rgba(20,35,59,.1); border-radius:23px; background:var(--white); box-shadow:var(--shadow); }.pb-quality-head { padding:1rem; display:grid; grid-template-columns:25px minmax(0,1fr) auto; gap:.5rem; align-items:center; color:var(--navy); border-bottom:1px solid var(--line); }.pb-quality-head svg { width:19px; height:19px; color:var(--coral-action); }.pb-quality-head strong { font-size:.76rem; }.pb-quality-head span { color:#147a70; font-size:.56rem; font-weight:800; }.pb-quality-panel > div:not(.pb-quality-head) { padding:.85rem 1rem; display:grid; grid-template-columns:125px minmax(0,1fr); gap:.55rem; border-bottom:1px solid var(--line); }.pb-quality-panel > div:last-child { border-bottom:0; }.pb-quality-panel small,.pb-quality-panel strong,.pb-quality-panel em { display:block; }.pb-quality-panel small { color:var(--muted); font-size:.56rem; font-weight:850; letter-spacing:.05em; text-transform:uppercase; }.pb-quality-panel strong { color:var(--navy); font-size:.68rem; }.pb-quality-panel em { color:var(--muted); font-size:.58rem; font-style:normal; }.pb-data { color:var(--white); background:var(--navy); }.pb-data-panel { overflow:hidden; border:1px solid rgba(255,255,255,.13); border-radius:23px; background:#101c30; box-shadow:0 30px 70px rgba(0,0,0,.18); }.pb-data-core { padding:1.5rem; display:grid; justify-items:center; gap:.45rem; border-bottom:1px solid rgba(255,255,255,.1); text-align:center; }.pb-data-core strong { color:var(--white); font-size:1.1rem; }.pb-data-core small { color:#9ce3d6; font-size:.58rem; font-weight:800; }.pb-data-links { padding:1rem; display:grid; grid-template-columns:1fr 1fr; gap:.55rem; }.pb-data-links span { padding:.7rem; color:#dce5ef; border:1px solid rgba(255,255,255,.1); border-radius:9px; background:rgba(255,255,255,.04); font-size:.62rem; font-weight:700; }.pb-data-links span.is-future { color:#ffb8b1; border-color:rgba(255,184,177,.2); }.pb-data-links span.is-future::before { content:"Future · "; font-size:.54rem; font-weight:850; }
.pb-platform { background:#f4f8fa; }.pb-platform-map { max-width:1050px; margin:0 auto; display:grid; grid-template-columns:270px minmax(0,1fr); gap:1.2rem; align-items:stretch; }.pb-platform-core { padding:2rem; display:grid; align-content:center; border:1px solid rgba(201,66,57,.22); border-radius:23px; background:#fff0ee; }.pb-platform-core img { margin-bottom:1rem; }.pb-platform-core small,.pb-platform-core strong { display:block; }.pb-platform-core small { color:var(--coral-action); font-size:.6rem; font-weight:850; letter-spacing:.06em; text-transform:uppercase; }.pb-platform-core strong { margin-top:.25rem; color:var(--navy); font-size:1.35rem; }.pb-platform-core p { margin:.5rem 0 0; color:var(--muted); font-size:.78rem; }.pb-platform-links { display:grid; grid-template-columns:1fr 1fr; gap:.65rem; }.pb-platform-links > * { min-width:0; padding:.8rem; display:grid; grid-template-columns:32px minmax(0,1fr); gap:.6rem; align-items:center; color:var(--navy); border:1px solid var(--line); border-radius:12px; background:var(--white); }.pb-platform-links svg { width:19px; height:19px; color:#147a70; }.pb-platform-links strong,.pb-platform-links small { display:block; }.pb-platform-links strong { font-size:.72rem; }.pb-platform-links small { margin-top:.15rem; color:var(--muted); font-size:.57rem; }.pb-platform-links a { color:var(--navy); border-color:#bfe9df; background:#ecfaf6; }.pb-platform-links .is-future { border-style:dashed; }.pb-platform-links .is-future small::before { content:"Future · "; color:#c77b73; font-weight:800; }
.pb-cta { background:var(--white); }.pb-final { position:relative; overflow:hidden; padding:clamp(2.5rem,5vw,4.5rem); display:grid; grid-template-columns:minmax(0,1.25fr) minmax(270px,.75fr); gap:4rem; align-items:center; border:1px solid rgba(20,35,59,.1); border-radius:32px; background:linear-gradient(135deg,#fff3ee,#fffaf8 62%,#e4f7f1); box-shadow:0 24px 70px rgba(20,35,59,.1); }.pb-final::after { content:""; position:absolute; right:-8rem; top:-9rem; width:20rem; height:20rem; border:1px solid rgba(255,107,94,.22); border-radius:50%; }.pb-final > * { position:relative; z-index:1; }.pb-final > div:first-child > p:last-child { max-width:680px; color:var(--muted); font-size:1.04rem; }.pb-final-actions { display:grid; gap:.7rem; }.pb-final-actions .button { width:100%; }.pb-final-actions .text-link { min-height:44px; justify-content:center; }
@media (max-width:1100px) { .pb-hero-grid { grid-template-columns:minmax(0,.74fr) minmax(520px,1.26fr); gap:2.25rem; }.pb-hero-copy h1 { font-size:clamp(3rem,5vw,3.7rem); }.pb-split,.pb-shared-grid,.pb-caller-grid,.pb-connect-grid,.pb-controlled-grid,.pb-data-grid { gap:3.5rem; }.pb-workspace-body { grid-template-columns:100px minmax(175px,.85fr) minmax(215px,1.1fr); } }
@media (max-width:900px) { .pb-hero-grid,.pb-split,.pb-split-reverse,.pb-shared-grid,.pb-caller-grid,.pb-connect-grid,.pb-controlled-grid,.pb-data-grid { grid-template-columns:1fr; }.pb-hero-copy,.pb-section-copy { max-width:760px; }.pb-workspace,.pb-context-visual,.pb-person-record,.pb-directory,.pb-priority-panel,.pb-caller-panel,.pb-search-panel,.pb-connect-visual,.pb-device-flow,.pb-quality-panel,.pb-data-panel { width:100%; max-width:760px; margin-inline:auto; }.pb-split-reverse > :first-child { order:2; }.pb-split-reverse > :last-child { order:1; }.pb-platform-map { grid-template-columns:1fr; }.pb-platform-core { max-width:520px; margin-inline:auto; text-align:center; }.pb-platform-core img { margin-inline:auto; } }
@media (max-width:768px) { .phone-books-page .section { padding:5.5rem 0; }.pb-hero { padding:5rem 0; }.pb-hero-grid { row-gap:3.5rem; }.pb-hero-copy { margin-inline:auto; text-align:center; }.pb-hero-copy h1 { max-width:18ch; margin-inline:auto; font-size:clamp(2.9rem,8vw,3.6rem); }.pb-lede { max-width:650px; margin-inline:auto; }.pb-hero-actions { justify-content:center; }.pb-call-link { justify-content:center; }.pb-section-copy > .eyebrow,.pb-section-copy > h2,.pb-intro > .eyebrow,.pb-intro > h2,.pb-final > div:first-child > .eyebrow,.pb-final h2 { text-align:center; }.pb-section-copy h2,.pb-intro h2,.pb-final h2 { max-width:18ch; margin-inline:auto; font-size:clamp(2.35rem,7vw,3.2rem); }.pb-section-copy,.pb-intro { margin-inline:auto; }.pb-reading { margin-inline:auto; }.pb-reading p { text-align:left; }.pb-closing { margin-inline:auto; text-align:center; }.pb-workspace-body { grid-template-columns:100px minmax(0,1fr) 240px; }.pb-context-points,.pb-capability-line { justify-content:center; }.pb-contact-flow { grid-template-columns:repeat(3,1fr); }.pb-contact-flow li:nth-child(3)::after { display:none; }.pb-platform-links { grid-template-columns:1fr 1fr; }.phone-books-page .footer-links a,.phone-books-page .footer-phone,.phone-books-page .header-phone,.phone-books-page .text-link { min-height:44px; } }
@media (max-width:640px) { .pb-hero { padding:4.25rem 0; }.pb-hero-actions .button,.pb-hero-actions .text-link { width:auto; }.pb-workspace-body { grid-template-columns:1fr; }.pb-workspace-body > aside { display:flex; flex-wrap:wrap; border-right:0; border-bottom:1px solid rgba(255,255,255,.08); }.pb-contact-list { border-right:0; }.pb-contact-detail { display:none; }.pb-contact-list > div { grid-template-columns:38px minmax(0,1fr) auto; }.pb-contact-list em { grid-column:auto; }.pb-context-visual { grid-template-columns:1fr; }.pb-context-visual > i { transform:rotate(90deg); justify-self:center; }.pb-context-org,.pb-context-methods { grid-column:auto; }.pb-context-methods { grid-template-columns:1fr; }.pb-context-methods b { grid-column:auto; }.pb-record-methods { grid-template-columns:1fr; }.pb-record-methods span,.pb-record-methods span:nth-child(2n) { border-right:0; }.pb-directory-body { grid-template-columns:1fr; }.pb-directory-body aside { display:flex; flex-wrap:wrap; border-right:0; border-bottom:1px solid rgba(255,255,255,.08); }.pb-priority-group p { grid-template-columns:32px minmax(0,1fr); }.pb-priority-group em,.pb-priority-group b { grid-column:2; justify-self:start; }.pb-caller-known { grid-template-columns:48px minmax(0,1fr); }.pb-caller-known > b { grid-column:2; justify-self:start; }.pb-contact-flow { grid-template-columns:1fr; }.pb-contact-flow li:not(:last-child)::after { content:"⌄"; left:50%; top:100%; width:1rem; transform:translate(-50%,-.25rem); }.pb-contact-flow li:nth-child(3)::after { display:block; }.pb-search-result { grid-template-columns:40px minmax(0,1fr); }.pb-search-result em,.pb-search-result b { grid-column:2; justify-self:start; }.pb-connect-visual { grid-template-columns:1fr; }.pb-connect-visual > i { transform:rotate(90deg); justify-self:center; }.pb-device-flow { grid-template-columns:1fr; }.pb-device-flow > div { min-height:0; }.pb-device-flow > i { transform:rotate(90deg); justify-self:center; }.pb-quality-panel > div:not(.pb-quality-head) { grid-template-columns:1fr; }.pb-data-links { grid-template-columns:1fr; }.pb-platform-links { grid-template-columns:1fr; }.pb-final { grid-template-columns:1fr; gap:2rem; text-align:center; }.pb-final > div:first-child > p:last-child { margin-inline:auto; text-align:left; }.pb-final-actions { width:100%; max-width:480px; margin-inline:auto; } }

/* TalkLayr Contact page */
.contact-page { background:var(--cream); }.contact-page svg { fill:none; stroke:currentColor; stroke-width:1.9; stroke-linecap:round; stroke-linejoin:round; }.contact-page .button:focus-visible,.contact-page .text-link:focus-visible,.ct-form input:focus-visible,.ct-form select:focus-visible,.ct-form textarea:focus-visible { outline:3px solid var(--coral-action); outline-offset:3px; box-shadow:0 0 0 6px rgba(201,66,57,.16); }
.ct-hero { position:relative; overflow:hidden; padding:clamp(5.25rem,8vw,8rem) 0; background:radial-gradient(circle at 89% 13%,rgba(188,235,217,.74),transparent 24rem),linear-gradient(135deg,#fffaf8 0%,#fff3ee 66%,#fff 100%); }.ct-hero::after { content:""; position:absolute; right:-10rem; bottom:-15rem; width:34rem; height:34rem; border:1px solid rgba(255,107,94,.16); border-radius:50%; }.ct-hero-grid { position:relative; z-index:1; display:grid; grid-template-columns:minmax(0,.88fr) minmax(410px,1.12fr); gap:clamp(3rem,7vw,7rem); align-items:center; }.ct-hero-grid > *,.ct-form-grid > *,.ct-call-panel > *,.ct-existing-grid > *,.ct-partners-grid > *,.ct-final > * { min-width:0; }.ct-hero-copy h1,.ct-section-copy h2,.ct-intro h2,.ct-call-panel h2,.ct-existing h2,.ct-partners h2,.ct-final h2 { max-width:790px; margin:0 0 1.25rem; color:var(--navy); font-size:clamp(2.8rem,5vw,4.55rem); line-height:1.04; letter-spacing:-.05em; }.ct-hero-lede { max-width:670px; }.ct-hero-lede p,.ct-reading p { margin:0 0 .85rem; color:var(--muted); font-size:1.04rem; line-height:1.72; }.ct-hero-actions { margin-top:1.7rem; }.ct-call-link { min-height:44px; }.ct-call-link svg,.ct-number svg,.ct-support-call svg { width:20px; height:20px; }
.ct-enquiry-preview { padding:1.15rem; overflow:hidden; border:1px solid rgba(20,35,59,.12); border-radius:27px; background:#fffdfb; box-shadow:0 28px 68px rgba(20,35,59,.13); transform:rotate(1.2deg); }.ct-preview-top { padding:.85rem .95rem; display:flex; justify-content:space-between; gap:1rem; align-items:center; color:var(--navy); border-bottom:1px solid var(--line); font-size:.75rem; font-weight:850; }.ct-preview-top span { display:flex; align-items:center; gap:.5rem; }.ct-preview-top small { color:#147a70; font-size:.57rem; letter-spacing:.05em; text-transform:uppercase; }.ct-enquiry-preview > p { margin:1.35rem .95rem .85rem; color:var(--navy); font-size:1.35rem; font-weight:780; letter-spacing:-.03em; }.ct-preview-options { display:grid; gap:.65rem; padding:.25rem .95rem 1rem; }.ct-preview-options span { min-height:58px; padding:.75rem .8rem; display:grid; grid-template-columns:27px minmax(0,1fr); gap:.65rem; align-items:center; color:var(--navy); border:1px solid var(--line); border-radius:12px; background:#fffaf8; font-size:.77rem; font-weight:750; }.ct-preview-options span:first-child { border-color:rgba(201,66,57,.28); background:#fff0ee; }.ct-preview-options svg { width:19px; height:19px; color:var(--coral-action); }.ct-preview-foot { padding:1rem; display:flex; gap:.55rem; align-items:center; color:#147a70; border-top:1px solid var(--line); background:#ecfaf6; font-size:.7rem; font-weight:750; }.ct-preview-foot svg { width:19px; height:19px; }
.contact-page .section { padding:clamp(5.5rem,8vw,8rem) 0; }.ct-form-section { background:var(--white); }.ct-form-grid { display:grid; grid-template-columns:minmax(0,.8fr) minmax(540px,1.2fr); gap:clamp(3.5rem,8vw,8rem); align-items:start; }.ct-section-copy { position:sticky; top:2rem; }.ct-reading { max-width:670px; }.ct-form { padding:clamp(1.25rem,2.8vw,2.25rem); display:grid; gap:1.15rem; border:1px solid rgba(20,35,59,.11); border-radius:24px; background:#fffaf8; box-shadow:0 22px 56px rgba(20,35,59,.08); }.ct-form-row { display:grid; grid-template-columns:1fr 1fr; gap:1rem; }.ct-form label { display:block; margin-bottom:.45rem; color:var(--navy); font-size:.79rem; font-weight:820; }.ct-form label span { color:var(--coral-action); }.ct-form input,.ct-form select,.ct-form textarea { box-sizing:border-box; width:100%; min-height:48px; padding:.78rem .85rem; color:var(--navy); border:1px solid rgba(20,35,59,.17); border-radius:10px; background:var(--white); font:inherit; font-size:.92rem; line-height:1.45; }.ct-form select { appearance:auto; }.ct-form textarea { min-height:150px; resize:vertical; }.ct-field-help { margin:-.1rem 0 .5rem; color:var(--muted); font-size:.75rem; line-height:1.5; }.ct-static-notice { padding:.85rem .9rem; display:grid; grid-template-columns:23px minmax(0,1fr); gap:.6rem; align-items:start; color:#147a70; border:1px solid #bfe9df; border-radius:11px; background:#ecfaf6; }.ct-static-notice svg { width:19px; height:19px; margin-top:.1rem; }.ct-static-notice p { margin:0; font-size:.75rem; font-weight:670; line-height:1.55; }.ct-static-notice a { color:#0f655d; font-weight:850; }.ct-form button[disabled] { cursor:not-allowed; opacity:.58; }
.ct-form .ct-static-notice { grid-template-columns:minmax(0,1fr); }

.ct-form button[type="submit"] { cursor:pointer; pointer-events:auto; }
.ct-submit-button { gap:.55rem; }.ct-submit-spinner { display:none; width:1rem; height:1rem; border:2px solid rgba(255,255,255,.38); border-top-color:var(--white); border-radius:50%; animation:ct-submit-spin .7s linear infinite; }.ct-submit-button[aria-busy="true"] .ct-submit-spinner { display:block; }.ct-submit-button[aria-busy="true"] { cursor:wait; }.ct-submit-button[aria-busy="true"] > span:first-child { opacity:.82; }@keyframes ct-submit-spin { to { transform:rotate(360deg); } }@media (prefers-reduced-motion:reduce) { .ct-submit-spinner { animation:none; } }

.ct-call { background:#f4f8fa; }.ct-call-panel { padding:clamp(2rem,4vw,4rem); display:grid; grid-template-columns:minmax(0,1fr) minmax(320px,.75fr); gap:4rem; align-items:center; border:1px solid rgba(20,35,59,.1); border-radius:30px; background:linear-gradient(135deg,#fff 0%,#fffaf8 63%,#e9f8f4 100%); box-shadow:var(--shadow); }.ct-number { min-height:160px; padding:1.4rem; display:grid; grid-template-columns:52px minmax(0,1fr); gap:1rem; align-items:center; color:var(--navy); border:1px solid rgba(201,66,57,.28); border-radius:20px; background:#fff0ee; transition:transform .2s ease,box-shadow .2s ease; }.ct-number:hover { transform:translateY(-2px); box-shadow:0 16px 30px rgba(20,35,59,.09); }.ct-number > svg { width:28px; height:28px; color:var(--coral-action); }.ct-number small,.ct-number strong,.ct-number em { display:block; }.ct-number small { color:var(--muted); font-size:.62rem; font-weight:850; letter-spacing:.06em; text-transform:uppercase; }.ct-number strong { margin:.25rem 0; font-size:clamp(1.65rem,2.6vw,2.45rem); letter-spacing:-.04em; }.ct-number em { color:var(--coral-action); font-size:.75rem; font-style:normal; font-weight:800; }
.ct-next { background:var(--cream); }.ct-intro { max-width:760px; margin:0 auto 2.5rem; text-align:center; }.ct-intro h2 { margin-inline:auto; }.ct-steps { margin:0; padding:0; display:grid; grid-template-columns:repeat(4,1fr); gap:0; list-style:none; border:1px solid var(--line); border-radius:22px; overflow:hidden; background:var(--line); }.ct-steps li { position:relative; min-width:0; min-height:225px; padding:1.45rem; background:#fffdfb; }.ct-steps li:not(:last-child)::after { content:""; position:absolute; z-index:1; top:2.2rem; right:-.68rem; width:1.35rem; height:1.35rem; border-top:1px solid var(--line); border-right:1px solid var(--line); background:#fffdfb; transform:rotate(45deg); }.ct-steps span { width:32px; height:32px; display:grid; place-items:center; color:var(--coral-action); border:1px solid rgba(201,66,57,.28); border-radius:50%; background:#fff0ee; font-size:.62rem; font-weight:900; }.ct-steps h3 { margin:1rem 0 .55rem; color:var(--navy); font-size:1rem; line-height:1.28; }.ct-steps p { margin:0; color:var(--muted); font-size:.78rem; line-height:1.55; }.ct-closing { max-width:700px; margin:1.5rem auto 0; color:var(--navy); font-size:.92rem; font-weight:750; text-align:center; }
.ct-existing { background:#fff7f3; }.ct-existing-grid { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:3rem; align-items:center; }.ct-support-call { min-height:44px; padding:.75rem 1rem; color:var(--coral-action); border:1px solid rgba(201,66,57,.25); border-radius:999px; background:var(--white); }.ct-partners { color:var(--white); background:var(--navy); }.ct-partners h2 { color:var(--white); }.ct-partners .ct-reading p { color:#d5dde8; }.ct-partners-grid { display:grid; grid-template-columns:minmax(0,1fr) minmax(310px,.75fr); gap:clamp(3rem,7vw,7rem); align-items:center; }.ct-partner-choice { display:inline-block; padding:.55rem .75rem; color:#9ce3d6 !important; border:1px solid rgba(156,227,214,.3); border-radius:999px; background:rgba(156,227,214,.08); font-size:.76rem !important; font-weight:850; }.ct-reassurance { padding:clamp(1.5rem,3vw,2.5rem); border:1px solid rgba(255,255,255,.14); border-radius:23px; background:rgba(255,255,255,.055); }.ct-reassurance svg { width:27px; height:27px; color:#9ce3d6; }.ct-reassurance h3 { margin:1rem 0 .7rem; color:var(--white); font-size:1.3rem; line-height:1.25; }.ct-reassurance p { margin:.55rem 0 0; color:#d5dde8; font-size:.86rem; line-height:1.62; }
.ct-cta { background:var(--white); }.ct-final { position:relative; overflow:hidden; padding:clamp(2.5rem,5vw,4.5rem); display:grid; grid-template-columns:minmax(0,1.25fr) minmax(280px,.75fr); gap:4rem; align-items:center; border:1px solid rgba(20,35,59,.1); border-radius:32px; background:linear-gradient(135deg,#fff3ee,#fffaf8 62%,#e4f7f1); box-shadow:0 24px 70px rgba(20,35,59,.1); }.ct-final::after { content:""; position:absolute; right:-8rem; top:-9rem; width:20rem; height:20rem; border:1px solid rgba(255,107,94,.22); border-radius:50%; }.ct-final > * { position:relative; z-index:1; }.ct-final > div:first-child > p:last-child { max-width:660px; color:var(--muted); font-size:1.04rem; }.ct-final-actions { display:grid; gap:.7rem; }.ct-final-actions .button { width:100%; }
@media (max-width:1050px) { .ct-hero-grid { grid-template-columns:minmax(0,.86fr) minmax(370px,1.14fr); gap:3rem; }.ct-form-grid { grid-template-columns:minmax(0,.84fr) minmax(460px,1.16fr); gap:3.5rem; }.ct-call-panel,.ct-final { gap:2.75rem; } }
@media (max-width:900px) { .ct-hero-grid,.ct-form-grid,.ct-call-panel,.ct-existing-grid,.ct-partners-grid,.ct-final { grid-template-columns:1fr; }.ct-hero-copy,.ct-section-copy { max-width:760px; }.ct-section-copy { position:static; }.ct-enquiry-preview,.ct-form,.ct-call-panel,.ct-number { max-width:760px; margin-inline:auto; }.ct-call-panel { width:100%; box-sizing:border-box; }.ct-steps { grid-template-columns:1fr 1fr; }.ct-steps li:nth-child(2)::after { display:none; }.ct-final-actions { max-width:520px; width:100%; }.ct-existing-grid { justify-items:start; } }
@media (max-width:768px) { .contact-page .section { padding:5.25rem 0; }.ct-hero { padding:5rem 0; }.ct-hero-grid { row-gap:3rem; }.ct-hero-copy { margin-inline:auto; text-align:center; }.ct-hero-copy h1 { max-width:17ch; margin-inline:auto; font-size:clamp(2.85rem,8vw,3.55rem); }.ct-hero-lede { margin-inline:auto; }.ct-hero-actions { justify-content:center; }.ct-call-link { justify-content:center; }.ct-section-copy > .eyebrow,.ct-section-copy > h2,.ct-call-panel .eyebrow,.ct-call-panel h2,.ct-existing .eyebrow,.ct-existing h2,.ct-partners .eyebrow,.ct-partners h2,.ct-final .eyebrow,.ct-final h2 { text-align:center; }.ct-section-copy h2,.ct-call-panel h2,.ct-existing h2,.ct-partners h2,.ct-final h2 { max-width:18ch; margin-inline:auto; font-size:clamp(2.3rem,7vw,3.15rem); }.ct-reading { margin-inline:auto; }.ct-reading p { text-align:left; }.ct-call-panel,.ct-existing-grid,.ct-partners-grid { text-align:center; }.ct-number,.ct-support-call { margin-inline:auto; }.ct-partners .button { margin-inline:auto; }.ct-form-row { grid-template-columns:1fr; gap:1.15rem; }.ct-steps { max-width:720px; margin-inline:auto; } }
@media (max-width:520px) { .ct-hero { padding:4.25rem 0; }.ct-enquiry-preview { transform:none; }.ct-form { padding:1rem; border-radius:17px; }.ct-form input,.ct-form select { min-height:46px; }.ct-form textarea { min-height:138px; }.ct-call-panel { padding:1.35rem; border-radius:21px; }.ct-number { min-height:0; grid-template-columns:34px minmax(0,1fr); padding:1.05rem; text-align:left; }.ct-number strong { font-size:1.65rem; }.ct-steps { grid-template-columns:1fr; }.ct-steps li { min-height:0; padding:1.2rem 1.15rem 1.2rem 3.75rem; }.ct-steps li:not(:last-child)::after { top:auto; right:auto; bottom:-.68rem; left:1.35rem; transform:rotate(135deg); }.ct-steps span { position:absolute; top:1.18rem; left:1.05rem; }.ct-steps h3 { margin-top:0; }.ct-existing-grid { gap:1.5rem; }.ct-final { gap:2rem; text-align:center; }.ct-final > div:first-child > p:last-child { margin-inline:auto; text-align:left; }.ct-final-actions { margin-inline:auto; } }
@media (prefers-reduced-motion:reduce) { .contact-page * { scroll-behavior:auto; transition:none !important; } }

/* TalkLayr Pricing page */
.pricing-page{background:var(--cream)}.pricing-page svg{fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}.pricing-page .button:focus-visible,.pricing-page .text-link:focus-visible,.pricing-page a:focus-visible{outline:3px solid var(--coral-action);outline-offset:3px}.pr-hero{padding:clamp(5rem,8vw,8rem) 0;background:radial-gradient(circle at 88% 14%,rgba(188,235,217,.7),transparent 24rem),linear-gradient(135deg,#fffaf8,#fff2ed 68%,#fff)}.pr-hero-grid,.pr-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(390px,.9fr);gap:clamp(3rem,7vw,7rem);align-items:center}.pr-hero h1,.pr-copy h2,.pr-intro h2,.pr-complex h2,.pr-final h2{max-width:780px;margin:0 0 1.2rem;color:var(--navy);font-size:clamp(2.75rem,5vw,4.5rem);line-height:1.04;letter-spacing:-.05em}.pr-reading{max-width:680px}.pr-reading p,.pr-intro>p,.pr-final p{margin:0 0 .85rem;color:var(--muted);font-size:1.03rem;line-height:1.7}.pr-actions{margin-top:1.6rem}.pr-actions .text-link svg,.pr-final .text-link svg{width:19px;height:19px}.pr-price-card{padding:clamp(1.5rem,3vw,2.5rem);color:var(--white);border:1px solid rgba(255,255,255,.15);border-radius:28px;background:var(--navy);box-shadow:0 28px 70px rgba(20,35,59,.2)}.pr-price-card>small,.pr-price-card>em,.pr-price-card>span{display:block}.pr-price-card>small{color:#9ce3d6;font-size:.64rem;font-weight:850;letter-spacing:.08em;text-transform:uppercase}.pr-price-card>strong{display:block;margin:.75rem 0 .1rem;font-size:clamp(2.5rem,5vw,4.5rem);letter-spacing:-.07em}.pr-price-card>strong b{color:#ffb8b1}.pr-price-card>em{color:#d5dde8;font-size:.92rem;font-style:normal}.pr-price-card ul{margin:1.5rem 0;padding:0;display:grid;gap:.55rem;list-style:none}.pr-price-card li{padding:.55rem 0 .55rem 1.45rem;border-bottom:1px solid rgba(255,255,255,.1);font-size:.88rem}.pr-price-card li::before{content:"✓";margin-left:-1.45rem;margin-right:.7rem;color:#9ce3d6;font-weight:900}.pr-price-card>span{padding:.7rem;color:#9ce3d6;border-radius:9px;background:rgba(156,227,214,.09);font-size:.72rem;font-weight:800;text-align:center}.pricing-page .section{padding:clamp(5.5rem,8vw,8rem) 0}.pr-intro{max-width:780px;margin:0 auto 2.8rem;text-align:center}.pr-intro h2{margin-inline:auto}.pr-inclusion-list{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;border:1px solid var(--line);border-radius:22px;overflow:hidden;background:var(--line)}.pr-inclusion-list article{min-width:0;padding:1.45rem;background:var(--white)}.pr-inclusion-list b,.pr-extra-grid b{display:inline-block;padding:.35rem .5rem;color:#147a70;border-radius:999px;background:#ecfaf6;font-size:.58rem;letter-spacing:.04em;text-transform:uppercase}.pr-inclusion-list h3,.pr-extra-grid h3{margin:.75rem 0 .4rem;color:var(--navy);font-size:1rem}.pr-inclusion-list p,.pr-extra-grid p{margin:0;color:var(--muted);font-size:.78rem;line-height:1.55}.pr-split{background:#f4f8fa}.pr-device-flow{padding:1.2rem;display:flex;flex-wrap:wrap;justify-content:center;gap:.55rem;align-items:center;border:1px solid rgba(20,35,59,.1);border-radius:22px;background:var(--white);box-shadow:var(--shadow)}.pr-device-flow strong,.pr-device-flow span{padding:.85rem;min-width:98px;color:var(--navy);border:1px solid var(--line);border-radius:12px;background:#fffaf8;font-size:.72rem;text-align:center}.pr-device-flow strong{color:var(--white);border-color:var(--navy);background:var(--navy)}.pr-device-flow i{color:var(--coral-action);font-size:1.3rem;font-style:normal;font-weight:900}.pr-calls{background:#fff7f3}.pr-call-panel,.pr-retention,.pr-setup-list,.pr-ai-card,.pr-device-types,.pr-quote-list{padding:clamp(1.35rem,3vw,2.25rem);border:1px solid rgba(20,35,59,.1);border-radius:23px;background:var(--white);box-shadow:var(--shadow)}.pr-call-panel>span,.pr-setup-list>b{display:inline-block;padding:.35rem .55rem;color:#147a70;border-radius:999px;background:#ecfaf6;font-size:.6rem;font-weight:850;text-transform:uppercase}.pr-call-panel h3{margin:.85rem 0;color:var(--navy);font-size:1.1rem}.pr-call-panel i{display:block;margin-top:1.3rem;color:var(--coral-action);font-size:.65rem;font-style:normal;font-weight:850;text-transform:uppercase}.pr-call-panel p{margin:.5rem 0 0;color:var(--muted);font-size:.8rem;line-height:1.6}.pr-note{max-width:680px;margin:1.25rem 0 0;padding-top:1rem;color:var(--navy);border-top:1px solid var(--line);font-size:.82rem;font-weight:700;line-height:1.55}.pr-record{background:#fff}.pr-retention{display:grid;justify-items:center;gap:.55rem;color:var(--navy);text-align:center}.pr-retention svg{width:48px;height:48px;color:var(--coral-action)}.pr-retention strong{font-size:1.15rem}.pr-retention b{font-size:2rem;letter-spacing:-.05em}.pr-retention span{padding:.4rem .6rem;color:#147a70;border-radius:999px;background:#ecfaf6;font-size:.67rem;font-weight:800}.pr-retention em{color:var(--muted);font-size:.72rem;font-style:normal}.pr-platform{background:var(--navy)}.pr-platform .pr-intro h2{color:var(--white)}.pr-platform .pr-intro>p{color:#d5dde8}.pr-capabilities{display:flex;flex-wrap:wrap;justify-content:center;gap:.6rem;max-width:970px;margin:0 auto}.pr-capabilities>*{padding:.75rem .9rem;color:#dce5ef;border:1px solid rgba(255,255,255,.15);border-radius:10px;background:rgba(255,255,255,.05);font-size:.75rem;font-weight:750}.pr-capabilities a{color:#9ce3d6;border-color:rgba(156,227,214,.3)}.pr-centre-link{width:max-content;margin:1.6rem auto 0;color:#ffb8b1}.pr-setup-list{display:grid;gap:.65rem}.pr-setup-list span{padding:.65rem .75rem;color:var(--navy);border-bottom:1px solid var(--line);font-size:.8rem;font-weight:700}.pr-setup-list i{margin-top:.8rem;color:var(--coral-action);font-size:.62rem;font-style:normal;font-weight:850;text-transform:uppercase}.pr-setup-list small{color:var(--muted);font-size:.75rem;line-height:1.55}.pr-extras{background:#fff7f3}.pr-extra-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:1px;border:1px solid var(--line);border-radius:21px;overflow:hidden;background:var(--line)}.pr-extra-grid article{min-width:0;padding:1.25rem;background:var(--white)}.pr-extra-grid article:nth-child(2) b{color:var(--coral-action);background:#fff0ee}.pr-extra-grid article:last-child b{color:var(--navy);background:#f3f0ed}.pr-extra-grid strong{display:block;margin:.7rem 0;color:var(--coral-action);font-size:.85rem;line-height:1.4}.pr-ai{color:var(--white);background:var(--navy)}.pr-ai h2{color:var(--white)}.pr-ai .pr-reading p{color:#d5dde8}.pr-ai .pr-note{color:#d5dde8;border-color:rgba(255,255,255,.15)}.pr-ai-card{display:grid;gap:.65rem;color:var(--white);border-color:rgba(255,255,255,.14);background:#10203a}.pr-ai-card small{color:#9ce3d6;font-size:.62rem;font-weight:850;text-transform:uppercase}.pr-ai-card strong{font-size:2.4rem;letter-spacing:-.06em}.pr-ai-card strong em{color:#d5dde8;font-size:.75rem;font-style:normal;letter-spacing:0}.pr-ai-card span{padding:.65rem;color:#dce5ef;border:1px solid rgba(255,255,255,.1);border-radius:9px;font-size:.75rem}.pr-devices{background:#f4f8fa}.pr-device-types{display:grid;grid-template-columns:1fr 1fr;gap:.65rem}.pr-device-types span{min-height:100px;padding:1rem;display:grid;align-content:end;color:var(--navy);border:1px solid var(--line);border-radius:13px;background:#fffaf8;font-size:.78rem;font-weight:750}.pr-device-types span:nth-child(2),.pr-device-types span:nth-child(3){background:#ecfaf6}.pr-complex{background:var(--white)}.pr-complex-panel{padding:clamp(2rem,5vw,4rem);display:grid;grid-template-columns:minmax(0,1fr) auto;gap:3rem;align-items:center;border:1px solid rgba(20,35,59,.1);border-radius:29px;background:linear-gradient(135deg,#fff3ee,#fffaf8 62%,#e4f7f1);box-shadow:var(--shadow)}.pr-estimate{background:#f4f8fa}.pr-estimates{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;border:1px solid var(--line);border-radius:20px;overflow:hidden;background:var(--line)}.pr-estimates div{padding:1.25rem;background:var(--white)}.pr-estimates small,.pr-estimates strong{display:block}.pr-estimates small{color:var(--muted);font-size:.7rem;font-weight:800}.pr-estimates strong{margin-top:.45rem;color:var(--navy);font-size:1.3rem;letter-spacing:-.04em}.pr-estimates em{font-size:.65rem;font-style:normal;font-weight:650}.pr-centre-note{margin-inline:auto;text-align:center}.pr-quote{background:#fff}.pr-quote-list{margin:0;display:grid;gap:.6rem;list-style:none}.pr-quote-list li{padding-left:1.35rem;color:var(--navy);font-size:.83rem;line-height:1.5}.pr-quote-list li::before{content:"✓";margin-left:-1.35rem;margin-right:.6rem;color:#147a70;font-weight:900}.pr-cta{background:#fff}.pr-final{position:relative;overflow:hidden;padding:clamp(2.5rem,5vw,4.5rem);display:grid;grid-template-columns:minmax(0,1.25fr) minmax(280px,.75fr);gap:4rem;align-items:center;border:1px solid rgba(20,35,59,.1);border-radius:32px;background:linear-gradient(135deg,#fff3ee,#fffaf8 62%,#e4f7f1);box-shadow:0 24px 70px rgba(20,35,59,.1)}.pr-final>div:last-child{display:grid;gap:.7rem}.pr-final .button{width:100%}
@media(max-width:1050px){.pr-extra-grid{grid-template-columns:repeat(3,1fr)}.pr-hero-grid,.pr-grid{gap:3rem}}@media(max-width:900px){.pr-hero-grid,.pr-grid,.pr-complex-panel,.pr-final{grid-template-columns:1fr}.pr-price-card,.pr-device-flow,.pr-call-panel,.pr-retention,.pr-setup-list,.pr-ai-card,.pr-device-types,.pr-quote-list{max-width:720px;margin-inline:auto}.pr-extra-grid{grid-template-columns:1fr 1fr}.pr-complex-panel{justify-items:start}.pr-final>div:last-child{width:100%;max-width:520px}}@media(max-width:768px){.pricing-page .section{padding:5.25rem 0}.pr-hero{padding:5rem 0}.pr-hero-grid{row-gap:3rem}.pr-hero-grid>div:first-child{text-align:center}.pr-hero h1{max-width:18ch;margin-inline:auto;font-size:clamp(2.8rem,8vw,3.55rem)}.pr-reading{margin-inline:auto}.pr-reading p{text-align:left}.pr-actions{justify-content:center}.pr-intro h2,.pr-copy h2,.pr-complex h2,.pr-final h2{max-width:19ch;font-size:clamp(2.3rem,7vw,3.15rem)}.pr-copy>.eyebrow,.pr-copy>h2,.pr-complex .eyebrow,.pr-complex h2,.pr-final .eyebrow,.pr-final h2{text-align:center}.pr-copy{text-align:center}.pr-copy .text-link,.pr-copy .button{margin-inline:auto}.pr-inclusion-list{grid-template-columns:1fr 1fr}.pr-estimates{grid-template-columns:1fr 1fr}.pr-extra-grid{grid-template-columns:1fr 1fr}.pr-final{text-align:center}.pr-final .text-link{justify-content:center}}@media(max-width:480px){.pr-hero{padding:4.25rem 0}.pr-inclusion-list,.pr-extra-grid,.pr-estimates{grid-template-columns:1fr}.pr-device-flow{display:grid;grid-template-columns:1fr}.pr-device-flow i{transform:rotate(90deg);justify-self:center}.pr-device-flow strong,.pr-device-flow span{width:auto}.pr-device-types{grid-template-columns:1fr}.pr-complex-panel{padding:1.4rem}.pr-final{gap:2rem}.pr-price-card{padding:1.4rem}}@media(prefers-reduced-motion:reduce){.pricing-page *{scroll-behavior:auto;transition:none!important}}
@media (max-width:480px) { .phone-books-page .section { padding:4.5rem 0; }.pb-hero-grid { row-gap:2.75rem; }.pb-hero-copy h1,.pb-section-copy h2,.pb-intro h2,.pb-final h2 { max-width:16ch; line-height:1.08; }.pb-hero-actions { width:100%; }.pb-hero-actions .button,.pb-hero-actions .text-link { width:100%; }.pb-workspace,.pb-person-record,.pb-directory,.pb-priority-panel,.pb-caller-panel,.pb-search-panel,.pb-connect-visual,.pb-device-flow,.pb-quality-panel,.pb-data-panel { border-radius:18px; }.pb-workspace-top small { display:none; }.pb-contact-list > div { padding:.7rem; }.pb-contact-list > div:nth-child(3) { display:none; }.pb-context-points,.pb-capability-line,.pb-caller-points,.pb-search-points,.pb-connect-points,.pb-device-points,.pb-quality-points { justify-content:flex-start; }.pb-record-head { grid-template-columns:46px minmax(0,1fr); }.pb-record-head > b { grid-column:2; justify-self:start; }.pb-quality-head { grid-template-columns:23px minmax(0,1fr); }.pb-quality-head span { grid-column:2; }.pb-final { padding:2.5rem 1.25rem; border-radius:24px; } }
@media (prefers-reduced-motion:reduce) { .phone-books-page * { scroll-behavior:auto; } }

/* Pricing editorial alignment: UK calls and recording copy share one left edge. */
.pr-calls .pr-copy,.pr-record .pr-copy { text-align:left; }
.pr-calls .pr-copy h2,.pr-record .pr-copy h2 { max-width:680px; margin-left:0; margin-right:0; text-align:left; }
@media (max-width:768px) { .pr-calls .pr-copy,.pr-record .pr-copy { text-align:left; }.pr-calls .pr-copy>.eyebrow,.pr-calls .pr-copy>h2,.pr-record .pr-copy>.eyebrow,.pr-record .pr-copy>h2 { text-align:left; }.pr-calls .pr-copy h2,.pr-record .pr-copy h2 { max-width:680px; margin-left:0; margin-right:0; } }

/* Pricing editorial alignment: retain the centred introduction, with a more natural heading measure. */
@media (min-width:901px) { .pr-calls .pr-grid { grid-template-columns:minmax(300px,.5fr) minmax(0,1.5fr); }.pr-record .pr-grid { grid-template-columns:minmax(0,1.5fr) minmax(300px,.5fr); } }
.pr-calls .pr-copy>.eyebrow,.pr-record .pr-copy>.eyebrow,.pr-calls .pr-copy h2,.pr-record .pr-copy h2 { text-align:center; }
.pr-calls .pr-copy h2,.pr-record .pr-copy h2 { max-width:32ch; margin-left:auto; margin-right:auto; }
@media (max-width:768px) { .pr-calls .pr-copy>.eyebrow,.pr-record .pr-copy>.eyebrow,.pr-calls .pr-copy h2,.pr-record .pr-copy h2 { text-align:center; }.pr-calls .pr-copy h2,.pr-record .pr-copy h2 { max-width:29ch; margin-left:auto; margin-right:auto; } }
@media (max-width:480px) { .pr-calls .pr-copy h2,.pr-record .pr-copy h2 { max-width:19ch; } }

/* Semantic pricing hero layout: desktop/tablet preserve the existing visual order; mobile promotes the rate. */
.pr-hero-grid { grid-template-areas:"heading price" "intro price" "detail price" "actions price"; grid-template-rows:auto auto auto auto; align-content:center; }
.pr-hero-grid { row-gap:0; }
.pr-hero-heading { grid-area:heading; }.pr-hero-first { grid-area:intro; }.pr-hero-second { grid-area:detail; }.pr-hero-grid > .pr-actions { grid-area:actions; }.pr-hero-grid > .pr-price-card { grid-area:price; }
.pr-hero-heading h1 { margin-bottom:1.2rem; }.pr-hero-first p,.pr-hero-second p { margin-bottom:.85rem; }.pr-hero-grid > .pr-actions { margin-top:.7rem; }
@media (min-width:901px) { .pr-hero-grid { grid-template-columns:minmax(0,1fr) minmax(390px,.9fr); } }
@media (min-width:481px) and (max-width:900px) { .pr-hero-grid { grid-template-columns:1fr; grid-template-areas:"heading" "intro" "detail" "actions" "price"; }.pr-hero-grid > .pr-price-card { margin-top:1.6rem; } }
@media (max-width:480px) { .pr-hero-grid { display:grid; grid-template-columns:1fr; grid-template-areas:"heading" "intro" "price" "actions" "detail"; gap:0; }.pr-hero-grid > .pr-price-card { margin-top:1.45rem; }.pr-hero-grid > .pr-actions { margin-top:1.3rem; }.pr-hero-second { margin-top:1.25rem; } }

/* TalkLayr AI Receptionist */
.ai-page{background:var(--cream)}.ai-page h1,.ai-page h2{color:var(--navy);font-size:clamp(2.6rem,4.8vw,4.35rem);line-height:1.05;letter-spacing:-.05em}.ai-page .section{padding:clamp(5rem,8vw,8rem) 0}.ai-hero{padding:clamp(5rem,8vw,8rem) 0;background:radial-gradient(circle at 85% 14%,rgba(188,235,217,.7),transparent 24rem),linear-gradient(135deg,#fffaf8,#fff2ed)}.ai-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(380px,.9fr);gap:clamp(3rem,7vw,7rem);align-items:center}.ai-copy h1,.ai-copy h2{max-width:760px;margin:0 0 1.2rem}.ai-reading{max-width:670px}.ai-reading p,.ai-intro>p,.ai-final>div:first-child>p:last-child{color:var(--muted);font-size:1.03rem;line-height:1.7}.ai-price{color:var(--coral-action);font-size:1.05rem;font-weight:850}.ai-price strong{color:var(--navy)}.ai-conversation,.ai-fields,.ai-request,.ai-actions,.ai-knowledge,.ai-history,.ai-price-card{padding:1.3rem;border:1px solid rgba(20,35,59,.1);border-radius:22px;background:var(--white);box-shadow:var(--shadow)}.ai-conversation>small{color:#147a70;font-size:.62rem;font-weight:850;text-transform:uppercase}.ai-conversation>p,.ai-turns p,.ai-fields>p{padding:.8rem;margin:.75rem 0;border-radius:12px;background:#fff4ef;color:var(--navy);font-size:.82rem;line-height:1.55}.ai-conversation p:nth-child(3),.ai-turns p:last-child,.ai-fields p:nth-child(2){background:#ecfaf6}.ai-conversation b,.ai-turns b,.ai-fields b{display:block;margin-bottom:.25rem;color:#147a70;font-size:.62rem;text-transform:uppercase}.ai-conversation>div,.ai-fields>div{display:flex;flex-wrap:wrap;gap:.45rem;margin-top:1rem}.ai-conversation strong{width:100%;color:var(--navy)}.ai-conversation span,.ai-fields span,.ai-request span{padding:.45rem .55rem;border:1px solid var(--line);border-radius:8px;color:var(--navy);font-size:.68rem;font-weight:700}.ai-conversation em,.ai-fields em{display:block;margin-top:.85rem;color:var(--coral-action);font-size:.7rem;font-style:normal;font-weight:750}.ai-info{background:#f4f8fa}.ai-note{padding-top:1rem;color:var(--navy);border-top:1px solid var(--line);font-size:.82rem;font-weight:700}.ai-turns i{display:block;color:var(--coral-action);font-size:.72rem;font-style:normal;font-weight:800;text-align:center}.ai-intro{max-width:790px;margin:0 auto 2.5rem;text-align:center}.ai-intro h2{margin:0}.ai-handoff{background:#fff7f3}.ai-flow{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:.75rem}.ai-flow span,.ai-route>span,.ai-route>strong{padding:.9rem;color:var(--navy);border:1px solid var(--line);border-radius:11px;background:var(--white);font-size:.75rem;font-weight:800;text-align:center}.ai-flow i,.ai-route>i{color:var(--coral-action);font-size:1.25rem;font-style:normal;font-weight:900}.ai-centre{max-width:850px;margin:1.5rem auto 0;color:var(--muted);font-size:.82rem;text-align:center}.ai-journey,.ai-control{color:var(--white);background:var(--navy)}.ai-journey h2,.ai-control h2{color:var(--white)}.ai-journey .ai-reading p,.ai-control .ai-reading p{color:#d5dde8}.ai-route{padding:1.2rem;display:grid;justify-items:center;gap:.5rem;border:1px solid rgba(255,255,255,.15);border-radius:22px;background:#10203a}.ai-route>strong{color:var(--white);border-color:rgba(255,107,94,.35);background:rgba(255,107,94,.12)}.ai-route small{color:#9ce3d6}.ai-route>div{display:grid;gap:.5rem;width:100%;margin-top:.6rem}.ai-route b{padding:.65rem;color:#dce5ef;border-radius:8px;background:rgba(255,255,255,.06);font-size:.68rem}.ai-knowledge{display:flex;flex-wrap:wrap;gap:.5rem}.ai-knowledge strong,.ai-knowledge em{width:100%;color:var(--navy)}.ai-knowledge span{padding:.55rem;color:#147a70;border-radius:8px;background:#ecfaf6;font-size:.72rem;font-weight:750}.ai-knowledge em{margin-top:.8rem;color:var(--coral-action);font-size:.72rem;font-style:normal}.ai-request{display:grid;gap:.55rem}.ai-request small{color:var(--coral-action);font-size:.62rem;font-weight:850;text-transform:uppercase}.ai-request b{padding:.8rem;color:var(--white);border-radius:9px;background:var(--navy);font-size:.75rem}.ai-request em,.ai-history em{font-style:normal;font-weight:500}.ai-actions{display:grid;gap:.5rem}.ai-actions>span{color:var(--navy);font-weight:850}.ai-actions>b{color:#147a70;font-size:.63rem;text-transform:uppercase}.ai-actions p,.ai-actions small{margin:0;padding:.55rem;color:var(--muted);border-bottom:1px solid var(--line);font-size:.72rem}.ai-hours{background:#fff7f3}.ai-scenarios{display:grid;grid-template-columns:1.35fr 1fr 1fr 1fr;gap:1px;border:1px solid var(--line);border-radius:20px;overflow:hidden;background:var(--line)}.ai-scenarios article{padding:1.25rem;background:var(--white)}.ai-scenarios b{color:var(--coral-action);font-size:.62rem;text-transform:uppercase}.ai-scenarios h3{color:var(--navy)}.ai-scenarios p{color:var(--muted);font-size:.78rem;line-height:1.55}.ai-boundaries{display:grid;grid-template-columns:1fr 1fr;gap:.7rem}.ai-boundaries div{padding:1.15rem;border:1px solid rgba(255,255,255,.14);border-radius:13px;background:rgba(255,255,255,.06)}.ai-boundaries strong,.ai-boundaries span{display:block}.ai-boundaries strong{color:var(--white)}.ai-boundaries span{margin:.4rem 0;color:#9ce3d6;font-size:.7rem;font-weight:800}.ai-boundaries p{color:#d5dde8;font-size:.75rem;line-height:1.55}.ai-history{display:grid;gap:.6rem}.ai-history strong{color:var(--navy)}.ai-history span{padding:.65rem;border-radius:8px;background:#f4f8fa;color:var(--navy);font-size:.74rem}.ai-price-section{background:#fff7f3}.ai-price-card{display:grid;gap:.55rem;align-content:center;min-height:220px;color:var(--white);background:var(--navy)}.ai-price-card small{color:#9ce3d6;text-transform:uppercase;font-size:.62rem;font-weight:850}.ai-price-card strong{color:#ffb8b1;font-size:2.2rem}.ai-price-card b{color:#dce5ef}.ai-final-section{background:#fff}.ai-final{padding:clamp(2rem,5vw,4rem);display:grid;grid-template-columns:minmax(0,1.3fr) minmax(270px,.7fr);gap:3rem;align-items:center;border:1px solid rgba(20,35,59,.1);border-radius:28px;background:linear-gradient(135deg,#fff3ee,#fffaf8 62%,#e4f7f1);box-shadow:var(--shadow)}.ai-final>div:last-child{display:grid;gap:.7rem}.ai-final .button{width:100%}
@media(max-width:900px){.ai-grid,.ai-final{grid-template-columns:1fr}.ai-conversation,.ai-fields,.ai-request,.ai-actions,.ai-knowledge,.ai-history,.ai-price-card,.ai-route{max-width:720px;margin-inline:auto}.ai-final>div:last-child{max-width:520px;width:100%}}@media(max-width:768px){.ai-page .section{padding:5.25rem 0}.ai-hero{padding:5rem 0}.ai-copy{text-align:center}.ai-copy h1,.ai-copy h2{max-width:19ch;margin-inline:auto}.ai-reading{margin-inline:auto}.ai-reading p{text-align:left}.ai-copy .text-link,.ai-copy .button{margin-inline:auto}.ai-intro h2{font-size:clamp(2.3rem,7vw,3.15rem)}.ai-scenarios{grid-template-columns:1fr 1fr}.ai-final{text-align:center}}@media(max-width:480px){.ai-hero{padding:4.25rem 0}.ai-conversation,.ai-fields,.ai-request,.ai-actions,.ai-knowledge,.ai-history,.ai-price-card{padding:1rem;border-radius:17px}.ai-flow{display:grid;grid-template-columns:1fr}.ai-flow i{transform:rotate(90deg);justify-self:center}.ai-route{font-size:.9rem}.ai-scenarios,.ai-boundaries{grid-template-columns:1fr}.ai-final{padding:1.5rem}.ai-final .text-link{justify-content:center}}@media(prefers-reduced-motion:reduce){.ai-page *{transition:none!important;scroll-behavior:auto}}
