@font-face {
  font-family:Figtree;
  src:url("../fonts/figtree.392aed3eb142.woff2") format('woff2');
  font-style:normal;
  font-weight:300 900;
  font-display:swap;
}
@font-face {
  font-family:Newsreader;
  src:url("../fonts/newsreader.aea467fa11cb.woff2") format('woff2');
  font-style:normal;
  font-weight:400 500;
  font-display:swap;
}
@font-face {
  font-family:Newsreader;
  src:url("../fonts/newsreader-italic.2febd01cce40.woff2") format('woff2');
  font-style:italic;
  font-weight:400 500;
  font-display:swap;
}
@font-face {
  font-family:Plex;
  src:url("../fonts/plex-mono.6708425c446b.woff2") format('woff2');
  font-style:normal;
  font-weight:500;
  font-display:swap;
}
:root {
  --paper:#F8F7F3;
  --ink:#153945;
  --petrol:#0B2E3B;
  --muted:#4A5F69;
  --line:#D9E2E5;
  --blue:#1462E8;
  --copper:#B8744E;
  --soft:#EDF2F3;
  --ease:cubic-bezier(.22,1,.36,1);
}
* {
  box-sizing:border-box;
}
html {
  scroll-behavior:smooth;
  scroll-padding-top:100px;
}
body {
  margin:0;
  background:var(--paper);
  color:var(--ink);
  font-family:Figtree,'Segoe UI',sans-serif;
  font-size:16px;
  line-height:1.5;
  -webkit-font-smoothing:antialiased;
}
a {
  color:inherit;
  text-decoration:none;
}
button,input {
  font:inherit;
}
small {
  font-size:13px;
  line-height:1.5;
}
button {
  cursor:pointer;
}
button:disabled {
  cursor:default;
}
a,button,summary {
  -webkit-tap-highlight-color:transparent;
}
a:focus-visible,button:focus-visible,summary:focus-visible,input:focus-visible {
  outline:3px solid #1462E8;
  outline-offset:4px;
}
h1,h2,h3,p,ul,ol {
  margin:0;
}
ul,ol {
  padding:0;
}
h1,h2 {
  font-family:Newsreader,Georgia,serif;
  font-weight:500;
  line-height:1.08;
  letter-spacing:-.035em;
}
h2 {
  font-size:clamp(36px,3.6vw,48px);
}
h3 {
  font-size:20px;
  font-weight:600;
  line-height:1.25;
}
button svg,a svg {
  pointer-events:none;
}
.symbol-bank {
  position:absolute;
  width:0;
  height:0;
  overflow:hidden;
}
.icon {
  width:20px;
  height:20px;
  flex:0 0 20px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.7;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.wrap {
  width:calc(100% - 80px);
  max-width:1152px;
  margin-inline:auto;
}
.muted {
  color:var(--muted);
}
.mono {
  font-family:Plex,monospace;
  font-size:12px;
  font-weight:500;
  letter-spacing:-.03em;
}
.sr-only {
  position:absolute;
  width:1px;
  height:1px;
  padding:0;
  margin:-1px;
  overflow:hidden;
  clip:rect(0,0,0,0);
  white-space:nowrap;
  border:0;
}
.skip {
  position:fixed;
  z-index:100;
  top:12px;
  left:12px;
  transform:translateY(-160%);
  padding:12px 18px;
  background:#fff;
  border-radius:8px;
}
.skip:focus {
  transform:none;
}
.header {
  position:relative;
  z-index:20;
  background:var(--paper);
  border-bottom:1px solid var(--line);
}
.nav-wrap {
  height:76px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:24px;
}
.brand {
  display:inline-flex;
  align-items:center;
  gap:10px;
  color:#123F3D;
  font-size:22px;
  font-weight:700;
  letter-spacing:-.6px;
}
.brand svg {
  width:34px;
  height:34px;
  flex-shrink:0;
}
.main-nav {
  display:flex;
  align-items:center;
  gap:28px;
  font-size:15px;
  font-weight:500;
}
.main-nav a {
  transition:color 150ms;
}
.main-nav a:hover {
  color:var(--blue);
}
.btn {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:12px;
  min-height:52px;
  padding:12px 24px;
  border-radius:10px;
  border:1px solid transparent;
  font-weight:600;
  font-size:16px;
  line-height:1.25;
  transition:background 180ms,box-shadow 180ms,transform 180ms;
}
.btn:hover {
  transform:translateY(-2px);
}
.btn-primary {
  background:var(--blue);
  color:#fff;
  box-shadow:0 3px 0 #0b25491a;
}
.btn-primary:hover {
  background:#1154c6;
  box-shadow:0 7px 18px #061f4926;
}
.btn-ghost {
  border-color:#ffffff4d;
  color:var(--paper);
}
.btn-ghost:hover {
  background:#ffffff0d;
}
.btn-login {
  background:#fff;
  border-color:#C5D2D7;
  min-height:44px;
  font-size:15px;
  padding:10px 19px;
  white-space:nowrap;
}
.btn-light {
  color:var(--petrol);
  background:var(--paper);
}
.menu-toggle {
  display:none;
  background:none;
  border:1px solid var(--line);
  border-radius:8px;
  padding:12px;
  width:44px;
  height:44px;
}
.menu-toggle span {
  display:block;
  height:1.5px;
  background:var(--ink);
  margin:5px 0;
}
.mobile-nav[hidden] {
  display:none;
}
.mobile-nav {
  padding-block:12px 24px;
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:16px;
}
.hero {
  position:relative;
  background:var(--petrol);
  color:var(--paper);
  overflow:clip;
}
.hero-grid {
  position:absolute;
  inset:0;
  pointer-events:none;
  background-image:linear-gradient(#ffffff06 1px,transparent 1px),linear-gradient(90deg,#ffffff06 1px,transparent 1px);
  background-size:40px 40px;
  mask-image:radial-gradient(ellipse 66% 80% at 80% 42%,#000,transparent);
}
.hero-layout {
  position:relative;
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(0,1fr);
  gap:58px;
  align-items:center;
  padding-block:82px 58px;
}
.eyebrow {
  font-family:Figtree,sans-serif;
  display:flex;
  align-items:center;
  gap:12px;
  text-transform:uppercase;
  letter-spacing:.14em;
  font-weight:600;
  font-size:13px;
  line-height:1.5;
  color:var(--muted);
}
.eyebrow:before {
  content:'';
  height:2px;
  width:28px;
  flex-shrink:0;
  background:var(--copper);
}
.hero .eyebrow {
  color:#B9CDD6;
  max-width:100%;
  font-size:13px;
  letter-spacing:.1em;
  overflow-wrap:normal;
}
.hero .eyebrow:before {
  background:#D59670;
}
.hero h1 {
  font-size:clamp(48px,4.6vw,66px);
  line-height:1.03;
  letter-spacing:-.036em;
  margin-top:24px;
}
.hero h1 em {
  color:#A9C4CF;
  font-weight:400;
  display:block;
  margin-top:5px;
}
.hero-description {
  color:#D3E0E5;
  font-size:18px;
  line-height:1.65;
  max-width:470px;
  margin-top:26px;
}
.hero-actions {
  display:flex;
  gap:14px;
  flex-wrap:wrap;
  margin-top:30px;
}
.prelaunch {
  display:flex;
  align-items:center;
  gap:10px;
  color:#B9CDD6;
  font-size:13px;
  margin-top:26px;
}
.prelaunch>span {
  width:7px;
  height:7px;
  background:#D59670;
  border-radius:50%;
  flex-shrink:0;
}
.hero-visual {
  position:relative;
  min-width:0;
  height:545px;
}
.repair-card {
  width:390px;
  max-width:calc(100% - 48px);
  position:absolute;
  top:10px;
  right:0;
  padding:27px;
  background:#fff;
  color:var(--ink);
  border-radius:18px;
  box-shadow:0 32px 64px -24px #0008,0 2px 6px #0002;
  transform-origin:60% 60%;
  will-change:auto;
}
.card-meta {
  display:flex;
  justify-content:space-between;
  gap:12px;
  align-items:center;
  flex-wrap:wrap;
}
.card-meta .mono {
  color:var(--muted);
}
.badge {
  max-width:100%;
  flex-shrink:0;
  display:inline-flex;
  gap:7px;
  align-items:center;
  font-size:13px;
  line-height:1.35;
  font-weight:600;
  padding:5px 10px;
  border-radius:100px;
  white-space:nowrap;
}
.badge-blue {
  color:#1D4F9A;
  background:#E3EDFB;
}
.badge-amber {
  color:#8A4B12;
  background:#FBEBD9;
}
.badge-green {
  color:#2C6446;
  background:#E1F0E6;
}
.hero-badge:before,.demo-row .badge:before {
  content:'';
  width:6px;
  height:6px;
  background:currentColor;
  border-radius:50%;
  flex-shrink:0;
}
.repair-card h2 {
  font-family:Figtree,sans-serif;
  font-size:25px;
  line-height:1.25;
  letter-spacing:-.025em;
  font-weight:600;
  margin-top:14px;
}
.device-type {
  font-size:15px;
  margin-top:2px;
}
.repair-timeline {
  list-style:none;
  margin:24px 0 20px;
  display:flex;
  flex-direction:column;
}
.repair-timeline li {
  display:flex;
  position:relative;
  gap:14px;
  height:54px;
}
.repair-timeline li:last-child {
  height:44px;
}
.step-node {
  width:26px;
  height:26px;
  flex-shrink:0;
  border-radius:50%;
  border:2px solid #C3CFD4;
  background:#fff;
  position:relative;
  z-index:1;
  display:flex;
  align-items:center;
  justify-content:center;
}
.done .step-node {
  background:var(--ink);
  border-color:var(--ink);
  color:#fff;
}
.step-node .icon {
  width:14px;
  height:14px;
  flex-basis:14px;
  stroke-width:2.5;
}
.active .step-node {
  border-color:var(--ink);
}
.active .step-node:after {
  content:'';
  width:10px;
  height:10px;
  background:var(--ink);
  border-radius:50%;
}
.repair-timeline strong {
  font-size:15px;
  font-weight:600;
  display:block;
}
.repair-timeline small {
  font-size:13px;
  color:var(--muted);
  display:block;
}
.repair-timeline .active small {
  color:#1D4F9A;
}
.repair-timeline li:not(.done):not(.active) strong {
  color:var(--muted);
}
.step-line {
  position:absolute;
  width:2px;
  top:26px;
  bottom:0;
  left:12px;
  background:#D9E2E5;
  transform-origin:top;
}
.active-line {
  background:var(--ink);
}
.hero-quote {
  padding-top:18px;
  border-top:1px solid #E3E9EB;
}
.hero-quote>div {
  display:flex;
  justify-content:space-between;
  gap:10px;
  font-size:15px;
}
.hero-quote strong {
  display:flex;
  align-items:center;
  gap:7px;
}
.hero-quote p {
  font-size:13px;
  line-height:1.6;
  color:var(--muted);
  display:flex;
  flex-wrap:wrap;
  gap:7px;
  margin-top:7px;
}
.hero-quote .badge {
  font-size:13px;
  padding:3px 8px;
}
.deposit-slip {
  position:absolute;
  bottom:49px;
  left:0;
  width:164px;
  background:#FFFDF8;
  color:var(--ink);
  padding:16px;
  border-radius:10px;
  box-shadow:0 24px 48px -18px #0009,0 2px 5px #0003;
  transform:rotate(-4deg);
  display:flex;
  align-items:center;
  flex-direction:column;
  gap:10px;
  font-size:13px;
  transform-origin:70% 80%;
}
.slip-heading {
  display:flex;
  flex-direction:column;
  gap:3px;
  width:100%;
  padding-bottom:10px;
  border-bottom:1px dashed #C9D3D7;
}
.slip-heading strong {
  font-size:13px;
  text-transform:uppercase;
  letter-spacing:.065em;
}
.slip-heading .mono {
  font-size:12px;
}
.deposit-slip .slip-qr {
  width:112px;
  height:112px;
}
.deposit-slip>small {
  color:var(--muted);
  font-size:13px;
  margin-top:-5px;
}
.visual-caption {
  position:absolute;
  bottom:0;
  right:0;
  display:flex;
  gap:18px;
  align-items:center;
  color:#BCD0D8;
  font-size:13px;
}
.replay {
  display:flex;
  align-items:center;
  gap:6px;
  border:0;
  background:transparent;
  color:inherit;
  padding:8px 0 8px 8px;
  font-size:13px;
  min-height:36px;
}
.replay .icon {
  width:14px;
  height:14px;
  flex-basis:14px;
}
.replay:hover {
  color:#fff;
}
.replay:disabled {
  opacity:.55;
}
.hero-facts {
  position:relative;
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:30px;
  border-top:1px solid #ffffff23;
  padding-block:27px 30px;
}
.hero-facts p {
  display:flex;
  align-items:center;
  gap:14px;
  font-size:14px;
  line-height:1.5;
  color:#D3E0E5;
}
.fact-icon {
  width:40px;
  height:40px;
  display:flex;
  align-items:center;
  justify-content:center;
  border-radius:10px;
  background:#D5967024;
  color:#D59670;
  flex-shrink:0;
}
.section {
  padding-block:106px;
}
.section-heading {
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:48px;
}
.section-heading h2,.split-layout h2 {
  margin-top:16px;
}
.section-heading>p,.section-heading>div>p:not(.eyebrow),.section-description {
  color:var(--muted);
  font-size:17px;
  line-height:1.65;
}
.section-heading>p {
  max-width:375px;
  padding-bottom:3px;
}
.section-heading>div>p:not(.eyebrow) {
  margin-top:14px;
}
.process {
  list-style:none;
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:32px;
  margin-top:58px;
}
.process-number {
  display:flex;
  align-items:center;
  gap:12px;
  font-family:Plex,monospace;
  font-size:12px;
  color:#9A5A33;
}
.process-number:after {
  content:'';
  height:1px;
  background:var(--line);
  flex:1;
}
.process h3 {
  margin-top:20px;
}
.process p {
  margin-top:10px;
  color:var(--muted);
  line-height:1.65;
  font-size:16px;
}
.demo-section,.project-section {
  background:var(--soft);
}
.demo-label {
  border:1px solid #C9D6DB;
  border-radius:100px;
  background:#fff;
  color:var(--muted);
  padding:8px 13px;
  font-size:13px;
  white-space:nowrap;
}
.demo-label:before {
  content:'';
  display:inline-block;
  width:6px;
  height:6px;
  border-radius:50%;
  background:var(--copper);
  margin-right:7px;
}
.demo-grid {
  display:grid;
  grid-template-columns:minmax(0,1fr) 56px minmax(0,1fr);
  margin-top:44px;
}
.demo-workshop,.demo-client {
  min-width:0;
  display:flex;
  flex-direction:column;
  gap:14px;
}
.panel-label {
  flex-wrap:wrap;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  font-size:13px;
  color:var(--muted);
}
.panel-label strong {
  display:flex;
  align-items:center;
  gap:9px;
  font-size:14px;
  color:var(--ink);
  font-weight:600;
}
.workshop-card,.client-card {
  background:#fff;
  border:1px solid var(--line);
  border-radius:16px;
  box-shadow:0 12px 32px -16px #1539452e;
  flex:1;
}
.workshop-card {
  overflow:hidden;
  display:flex;
  flex-direction:column;
}
.workshop-top {
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding:20px 22px;
  border-bottom:1px solid #E3E9EB;
}
.workshop-top h3 {
  font-size:18px;
}
.workshop-top>span {
  font-size:13px;
  color:var(--muted);
}
.list-heading {
  display:flex;
  justify-content:space-between;
  gap:15px;
  background:#F8FAFA;
  border-bottom:1px solid #E3E9EB;
  color:var(--muted);
  font-size:13px;
  letter-spacing:.08em;
  text-transform:uppercase;
  font-weight:600;
  padding:10px 22px;
}
.demo-row {
  display:flex;
  align-items:center;
  gap:11px;
  width:100%;
  padding:16px 20px;
  background:#fff;
  border:0;
  border-bottom:1px solid #E3E9EB;
  text-align:left;
  color:var(--ink);
  transition:background 180ms;
  position:relative;
}
.demo-row:hover {
  background:#F4F7F8;
}
.demo-row[aria-pressed=true] {
  background:#EEF4FC;
  box-shadow:inset 3px 0 var(--blue);
}
.demo-row:focus-visible {
  outline-offset:-4px;
  z-index:1;
}
.demo-row .avatar {
  width:36px;
  height:36px;
  border-radius:50%;
  background:#E7EEF0;
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:13px;
  font-weight:600;
  flex-shrink:0;
}
.demo-row[aria-pressed=true] .avatar {
  background:#D6E4F6;
  color:#1D4F9A;
}
.person {
  display:flex;
  flex-direction:column;
  flex:1;
  min-width:0;
}
.person strong {
  font-size:16px;
  font-weight:600;
}
.person small {
  font-size:13px;
  color:var(--muted);
}
.demo-row .badge {
  font-size:13px;
  padding:5px 8px;
}
.row-arrow {
  width:14px;
  height:14px;
  flex-basis:14px;
}
.internal-note {
  background:#FBF4EA;
  border:1px solid #EEDCC5;
  border-radius:10px;
  padding:15px;
  margin:24px 20px 20px;
}
.internal-note>div {
  display:flex;
  align-items:center;
  justify-content:space-between;
  flex-wrap:wrap;
  gap:8px;
  color:#7A4722;
  font-size:13px;
}
.internal-note strong {
  display:flex;
  align-items:center;
  gap:7px;
  font-size:13px;
  font-weight:600;
}
.internal-note .icon {
  width:15px;
  height:15px;
  flex-basis:15px;
}
.internal-note p {
  font-size:14px;
  line-height:1.5;
  margin-top:9px;
}
.demo-connector {
  display:flex;
  align-items:center;
  justify-content:center;
  padding-top:30px;
}
.demo-connector>span {
  width:36px;
  height:36px;
  display:flex;
  align-items:center;
  justify-content:center;
  border:1px solid #C9D6DB;
  background:#fff;
  border-radius:50%;
}
.client-card {
  padding:25px;
  display:flex;
  flex-direction:column;
}
.client-card .card-meta .badge {
  font-size:13px;
}
.client-card h3 {
  font-size:25px;
  letter-spacing:-.025em;
  margin-top:16px;
}
.client-card>p.muted {
  font-size:14px;
  margin-top:3px;
}
.client-progress {
  list-style:none;
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  margin-top:26px;
}
.client-progress li {
  min-width:0;
  padding-right:6px;
  line-height:1.4;
  position:relative;
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  gap:4px;
  font-size:12px;
  color:var(--muted);
}
.client-progress li:after {
  content:'';
  position:absolute;
  height:2px;
  top:12px;
  left:25px;
  right:0;
  background:var(--line);
}
.client-progress li:last-child:after {
  display:none;
}
.client-progress .done:after {
  background:var(--ink);
}
.progress-node {
  display:flex;
  width:26px;
  height:26px;
  border:2px solid #C3CFD4;
  border-radius:50%;
  align-items:center;
  justify-content:center;
  margin-bottom:7px;
  position:relative;
  z-index:1;
  background:#fff;
}
.client-progress .done .progress-node {
  background:var(--ink);
  border-color:var(--ink);
  color:#fff;
  font-size:14px;
}
.client-progress .active .progress-node {
  border-color:var(--ink);
}
.client-progress .active .progress-node:after {
  content:'';
  width:10px;
  height:10px;
  background:var(--ink);
  border-radius:50%;
}
.client-progress strong {
  font-size:12px;
  font-weight:600;
  max-width:100%;
  line-height:1.4;
}
.client-progress small {
  font-size:12px;
  max-width:100%;
  line-height:1.4;
}
.client-progress .active {
  color:#1D4F9A;
}
.client-progress .done strong,.client-progress .active strong {
  color:var(--ink);
}
.client-doc {
  margin-top:26px;
  padding-top:21px;
  border-top:1px solid #E3E9EB;
  font-size:14px;
}
.client-doc>strong {
  display:flex;
  align-items:center;
  gap:7px;
  font-weight:600;
}
.client-doc>div {
  background:#F6F8F8;
  border-radius:10px;
  padding:13px 14px;
  margin-top:12px;
}
.client-doc p {
  display:flex;
  justify-content:space-between;
  flex-wrap:wrap;
  gap:8px;
  font-size:13px;
  line-height:1.5;
}
.client-doc .badge {
  font-size:13px;
  margin-top:9px;
}
.privacy-note {
  margin-top:auto;
  padding-top:20px;
  font-size:13px;
  display:flex;
  align-items:center;
  gap:7px;
  color:var(--muted);
}
.privacy-note .icon {
  width:15px;
  height:15px;
  flex-basis:15px;
}
.demo-footnote {
  font-size:13px;
  color:var(--muted);
  text-align:center;
  margin-top:22px;
}
.split-layout {
  display:grid;
  grid-template-columns:minmax(0,5fr) minmax(0,7fr);
  gap:88px;
  align-items:start;
}
.section-description {
  margin-top:20px;
  max-width:370px;
}
.plain-list {
  list-style:none;
  display:flex;
  flex-direction:column;
  gap:14px;
  margin-top:28px;
  font-size:16px;
}
.plain-list li {
  display:flex;
  align-items:flex-start;
  gap:10px;
}
.plain-list .icon {
  color:var(--copper);
}
.text-link {
  display:inline-flex;
  align-items:center;
  gap:9px;
  font-size:15px;
  font-weight:600;
  color:var(--blue);
  margin-top:30px;
}
.text-link:hover {
  text-decoration:underline;
  text-underline-offset:4px;
}
.price-card {
  background:#fff;
  border:1px solid var(--line);
  border-radius:20px;
  padding:36px;
  box-shadow:0 20px 48px -24px #15394538;
}
.price-top {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
}
.price-top>strong {
  font-size:20px;
  font-weight:600;
}
.price {
  display:flex;
  align-items:flex-end;
  gap:16px;
  margin-top:24px;
}
.price>span {
  font-family:Newsreader,Georgia,serif;
  font-size:80px;
  font-weight:500;
  line-height:.95;
  letter-spacing:-.045em;
}
.price>p {
  font-size:14px;
  line-height:1.4;
  color:var(--muted);
  padding-bottom:6px;
}
.price>p strong {
  color:var(--ink);
  font-weight:600;
}
.price-includes {
  border-top:1px solid #E3E9EB;
  margin-top:28px;
  padding-top:24px;
}
.label {
  font-size:13px;
  font-weight:600;
  letter-spacing:.1em;
  text-transform:uppercase;
  color:var(--muted);
}
.price-includes ul {
  display:flex;
  flex-direction:column;
  list-style:none;
  gap:14px;
  margin-top:18px;
  font-size:16px;
}
.price-includes li {
  display:flex;
  align-items:flex-start;
  gap:12px;
}
.price-includes li>span {
  width:22px;
  height:22px;
  background:#E7EEF0;
  border-radius:50%;
  display:flex;
  align-items:center;
  justify-content:center;
  flex-shrink:0;
  font-size:13px;
}
.sms-note {
  background:#F4F7F8;
  border-radius:12px;
  padding:17px 18px;
  margin-top:26px;
  font-size:13px;
}
.sms-note strong {
  font-size:14px;
  font-weight:600;
}
.sms-note p {
  color:var(--muted);
  line-height:1.65;
  margin-top:6px;
}
.price-card>.btn {
  display:flex;
  width:100%;
  margin-top:26px;
}
.price-status {
  font-size:13px;
  text-align:center;
  color:var(--muted);
  margin-top:13px;
}
.conditions-link {
  display:block;
  text-align:center;
  text-decoration:underline;
  text-underline-offset:3px;
  color:var(--muted);
  font-size:13px;
  margin-top:8px;
}
.founder-id {
  display:flex;
  align-items:center;
  gap:18px;
}
.founder-photo {
  display:block;
  width:100%;
  height:auto;
  clip-path:url(#adam-silhouette);
}
.founder-portrait {
  display:block;
  width:150px;
  flex:0 0 150px;
  padding-top:12px;
  border-radius:14px;
  overflow:hidden;
  background:#DEE8EB;
  outline:1px solid #D3DFE3;
}
.founder-id>div {
  min-width:0;
}
.founder-id strong {
  line-height:1.25;
  margin-bottom:6px;
}
.founder-id strong {
  font-size:22px;
  font-weight:600;
  display:block;
}
.founder-id div>span {
  font-size:14px;
  color:var(--muted);
}
.founder>p {
  font-size:18px;
  line-height:1.65;
  margin-top:26px;
}
.founder>p.muted {
  font-size:16px;
  margin-top:16px;
}
.faq-list {
  border-top:1px solid var(--line);
}
.faq-list details {
  border-bottom:1px solid var(--line);
}
summary {
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:24px;
  list-style:none;
  cursor:pointer;
  padding-block:21px;
  font-size:17px;
  font-weight:600;
  line-height:1.5;
}
summary::-webkit-details-marker {
  display:none;
}
summary:hover {
  color:var(--blue);
}
summary .icon {
  transition:transform 220ms var(--ease);
}
details[open] summary .icon {
  transform:rotate(45deg);
}
details p {
  padding:0 35px 24px 0;
  line-height:1.7;
  font-size:16px;
  color:var(--muted);
}
.footer {
  background:var(--petrol);
  color:#D3E0E5;
}
.contact-strip {
  display:flex;
  justify-content:space-between;
  align-items:flex-end;
  gap:40px;
  padding-block:86px 65px;
  border-bottom:1px solid #ffffff24;
}
.contact-strip h2 {
  color:var(--paper);
  font-size:clamp(34px,3.3vw,44px);
}
.contact-strip p {
  color:#B2C7D0;
  font-size:17px;
  margin-top:14px;
}
.contact-strip .btn {
  flex-shrink:0;
}
.footer-grid>div,.footer-grid>nav {
  min-width:0;
}
.footer-grid {
  display:grid;
  grid-template-columns:1.25fr .8fr 1fr 1fr;
  gap:40px;
  padding-block:52px;
}
.footer .brand {
  color:var(--paper);
}
.footer h3 {
  font-family:Figtree,sans-serif;
  font-size:13px;
  letter-spacing:.1em;
  text-transform:uppercase;
  color:#B2C7D0;
  font-weight:600;
  margin-bottom:17px;
}
.footer-grid nav {
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  gap:11px;
}
.footer-grid nav h3 {
  margin-bottom:6px;
}
.footer-grid a {
  font-size:14px;
}
.footer-grid a.brand {
  font-size:22px;
}
.footer-grid p {
  color:#B2C7D0;
  font-size:14px;
  line-height:1.7;
  margin-top:16px;
}
.footer-grid a:hover {
  color:#fff;
  text-decoration:underline;
  text-underline-offset:4px;
}
.footer-bottom {
  display:flex;
  justify-content:space-between;
  gap:20px;
  border-top:1px solid #ffffff24;
  padding-block:24px 30px;
  font-size:13px;
  color:#B2C7D0;
}
@media(min-width:1440px) {
  .hero h1 {
    font-size:66px;
  }
  .hero-layout {
    gap:72px;
    grid-template-columns:minmax(0,1fr) 540px;
  }
}
@media(max-width:1100px) {
  .main-nav {
    gap:18px;
    font-size:14px;
  }
  .hero-layout {
    gap:36px;
  }
  .hero h1 {
    font-size:57px;
  }
  .repair-card {
    max-width:calc(100% - 20px);
    padding:23px;
  }
  .deposit-slip {
    width:146px;
    left:-10px;
    bottom:27px;
    padding:14px;
  }
  .deposit-slip .slip-qr {
    width:94px;
    height:94px;
  }
  .visual-caption {
    bottom:-14px;
  }
  .split-layout {
    gap:50px;
  }
  .demo-grid {
    grid-template-columns:minmax(0,1fr) 36px minmax(0,1fr);
  }
  .demo-row {
    padding:14px;
    gap:8px;
  }
  .row-arrow {
    display:none;
  }
  .demo-row .badge {
    font-size:13px;
    padding-inline:6px;
  }
  .client-card {
    padding:20px;
  }
  .internal-note {
    margin-inline:14px;
  }
  .panel-label {
    font-size:13px;
  }
  .footer-grid {
    gap:25px;
  }
}
@media(max-width:900px) {
  .wrap {
    width:calc(100% - 48px);
  }
  .main-nav {
    display:none;
  }
  .menu-toggle {
    display:block;
  }
  .nav-wrap {
    gap:16px;
  }
  .nav-wrap>.btn-login {
    margin-left:auto;
  }
  .hero-layout {
    padding-block:60px 48px;
    gap:28px;
  }
  .hero h1 {
    font-size:50px;
  }
  .hero-description {
    font-size:16px;
  }
  .hero-actions {
    gap:10px;
  }
  .hero-actions .btn {
    padding:12px 15px;
    font-size:14px;
    min-height:48px;
  }
  .hero-visual {
    height:550px;
  }
  .repair-card {
    max-width:100%;
    padding:21px;
    top:15px;
  }
  .card-meta {
    gap:8px;
  }
  .deposit-slip {
    bottom:3px;
    left:-9px;
    width:135px;
    gap:8px;
  }
  .deposit-slip .slip-qr {
    width:80px;
    height:80px;
  }
  .deposit-slip>strong {
    font-size:13px;
  }
  .visual-caption {
    bottom:-30px;
    font-size:13px;
  }
  .hero-facts {
    gap:20px;
    padding-top:36px;
  }
  .hero-facts p {
    font-size:13px;
    gap:10px;
  }
  .fact-icon {
    width:32px;
    height:32px;
    border-radius:8px;
  }
  .section {
    padding-block:80px;
  }
  .process {
    grid-template-columns:repeat(2,1fr);
    gap:36px 40px;
  }
  .demo-grid {
    grid-template-columns:1fr;
    gap:20px;
    max-width:620px;
    margin-inline:auto;
  }
  .demo-connector {
    padding:0;
    height:24px;
  }
  .demo-connector>span {
    transform:rotate(90deg);
    width:32px;
    height:32px;
  }
  .demo-row {
    padding:17px 24px;
    gap:14px;
  }
  .demo-row .badge {
    font-size:13px;
    padding:5px 10px;
  }
  .person strong {
    font-size:16px;
  }
  .person small {
    font-size:13px;
  }
  .row-arrow {
    display:block;
  }
  .client-card {
    padding:28px;
  }
  .internal-note {
    margin:24px;
  }
  .internal-note>div {
    font-size:13px;
  }
  .internal-note strong {
    font-size:14px;
  }
  .panel-label {
    font-size:13px;
  }
  .client-progress strong {
    font-size:14px;
  }
  .client-progress small {
    font-size:12px;
    max-width:100%;
    line-height:1.4;
  }
  .client-doc p {
    font-size:15px;
  }
  .client-doc .badge {
    font-size:13px;
  }
  .client-doc {
    font-size:15px;
  }
  .privacy-note {
    font-size:13px;
  }
  .split-layout {
    gap:36px;
    grid-template-columns:minmax(0,4fr) minmax(0,6fr);
  }
  .price-card {
    padding:27px;
  }
  .price-top>strong {
    font-size:18px;
  }
  .price-top .badge {
    font-size:13px;
  }
  .price-includes ul {
    font-size:16px;
  }
  .contact-strip {
    align-items:flex-start;
  }
  .footer-grid {
    grid-template-columns:1fr 1fr;
    gap:35px;
  }
  .section-heading {
    gap:25px;
  }
  .section-heading>p {
    max-width:270px;
    font-size:15px;
  }
}
@media(max-width:650px) {
  html {
    scroll-padding-top:24px;
  }
  .wrap {
    width:calc(100% - 40px);
  }
  .nav-wrap {
    height:68px;
  }
  .brand {
    font-size:21px;
  }
  .brand svg {
    width:31px;
    height:31px;
  }
  .nav-wrap>.btn-login {
    display:none;
  }
  .menu-toggle {
    margin-left:auto;
  }
  .hero-layout {
    grid-template-columns:1fr;
    padding-block:48px 44px;
    gap:38px;
  }
  .hero .eyebrow {
    font-size:13px;
    max-width:100%;
    letter-spacing:.08em;
    line-height:1.55;
  }
  .hero h1 {
    font-size:clamp(43px,9.6vw,62px);
    margin-top:21px;
    line-height:1.06;
  }
  .hero h1 em {
    max-width:420px;
  }
  .hero-description {
    font-size:17px;
    line-height:1.65;
    margin-top:24px;
    max-width:440px;
  }
  .hero-actions .btn {
    font-size:14px;
    padding:13px 18px;
    min-height:49px;
  }
  .prelaunch {
    font-size:13px;
    margin-top:22px;
  }
  .hero-visual {
    width:100%;
    max-width:440px;
    margin-inline:auto;
    height:636px;
  }
  .repair-card {
    top:0;
    width:calc(100% - 18px);
    max-width:none;
    right:0;
    padding:24px;
  }
  .repair-card .card-meta {
    gap:8px;
  }
  .repair-card .card-meta .mono {
    font-size:12px;
  }
  .repair-card .card-meta .badge {
    font-size:13px;
  }
  .repair-card h2 {
    font-size:24px;
  }
  .deposit-slip {
    width:146px;
    padding:14px;
    left:0;
    bottom:38px;
    gap:8px;
    transform:rotate(-4deg);
  }
  .deposit-slip .slip-qr {
    width:94px;
    height:94px;
  }
  .deposit-slip>strong {
    font-size:13px;
  }
  .visual-caption {
    bottom:0;
    right:0;
    font-size:13px;
  }
  .hero-facts {
    grid-template-columns:1fr;
    gap:20px;
    padding-block:27px 30px;
  }
  .hero-facts p {
    font-size:14px;
    gap:13px;
  }
  .hero-facts br {
    display:none;
  }
  .fact-icon {
    width:36px;
    height:36px;
  }
  .section {
    padding-block:68px;
  }
  h2 {
    font-size:39px;
  }
  .section-heading {
    flex-direction:column;
    align-items:flex-start;
    gap:19px;
  }
  .section-heading>p {
    font-size:16px;
    max-width:none;
  }
  .section-heading>div>p:not(.eyebrow) {
    font-size:16px;
  }
  .process {
    gap:33px 22px;
    margin-top:38px;
  }
  .process h3 {
    font-size:19px;
    margin-top:15px;
  }
  .process p {
    font-size:16px;
    line-height:1.65;
  }
  .demo-grid {
    margin-top:30px;
  }
  .demo-label {
    padding:6px 11px;
    font-size:13px;
  }
  .panel-label {
    font-size:13px;
    gap:8px;
  }
  .panel-label strong {
    font-size:13px;
    gap:6px;
  }
  .panel-label .icon {
    width:17px;
    height:17px;
    flex-basis:17px;
  }
  .workshop-top {
    padding:18px;
  }
  .list-heading {
    padding:10px 18px;
    font-size:13px;
  }
  .demo-row {
    padding:16px;
    display:grid;
    grid-template-columns:32px minmax(0,1fr) 18px;
    gap:6px 10px;
  }
  .demo-row .avatar {
    width:32px;
    height:32px;
    grid-row:span 2;
    font-size:13px;
  }
  .demo-row .person {
    grid-column:2;
    grid-row:1;
  }
  .person strong {
    font-size:16px;
  }
  .person small {
    font-size:13px;
  }
  .demo-row .badge {
    grid-column:2;
    grid-row:2;
    justify-self:start;
    font-size:13px;
  }
  .row-arrow {
    grid-column:3;
    grid-row:1 / span 2;
  }
  .internal-note {
    margin:18px 16px;
    padding:14px;
  }
  .internal-note>div {
    flex-direction:column;
    align-items:flex-start;
    font-size:13px;
    gap:5px;
  }
  .internal-note strong {
    font-size:13px;
  }
  .internal-note p {
    font-size:13px;
  }
  .client-card {
    padding:21px;
  }
  .client-card h3 {
    font-size:24px;
  }
  .client-card .card-meta {
    gap:9px;
  }
  .client-progress strong {
    font-size:12px;
  }
  .client-progress small {
    font-size:12px;
    max-width:100%;
    line-height:1.4;
  }
  .client-progress {
    margin-top:25px;
    grid-template-columns:minmax(0,.85fr) minmax(0,1.1fr) minmax(0,1.25fr) minmax(0,.8fr);
  }
  .client-progress li {
    padding-right:4px;
  }
  .client-doc p {
    font-size:13px;
  }
  .privacy-note {
    font-size:13px;
  }
  .demo-footnote {
    font-size:13px;
    text-align:left;
  }
  .split-layout {
    grid-template-columns:1fr;
    gap:35px;
  }
  .section-description {
    font-size:16px;
    max-width:100%;
  }
  .plain-list {
    font-size:16px;
  }
  .price-card {
    padding:26px 22px;
  }
  .price-top>strong {
    font-size:19px;
  }
  .price-top .badge {
    font-size:13px;
  }
  .price>span {
    font-size:76px;
  }
  .price-includes ul {
    font-size:16px;
  }
  .sms-note {
    padding:14px;
  }
  .sms-note p {
    font-size:14px;
  }
  .founder-portrait {
    width:112px;
    flex-basis:112px;
    padding-top:10px;
    border-radius:12px;
  }
  .founder>p {
    font-size:18px;
    margin-top:22px;
  }
  .founder>p.muted {
    font-size:16px;
  }
  .project-section h2 br:last-child {
    display:none;
  }
  .faq-list summary {
    font-size:16px;
    gap:15px;
  }
  .faq-list details p {
    font-size:16px;
    padding-right:16px;
  }
  .contact-strip {
    flex-direction:column;
    gap:26px;
    padding-block:62px 43px;
  }
  .contact-strip h2 {
    font-size:38px;
  }
  .contact-strip p {
    font-size:16px;
  }
  .footer-grid {
    padding-block:40px;
    grid-template-columns:1fr 1fr;
    gap:34px 24px;
  }
  .footer-grid>div:first-child {
    grid-column:1 / -1;
  }
  .footer-grid a,.footer-grid p {
    font-size:13px;
  }
  .footer-bottom {
    flex-direction:column;
    gap:8px;
    font-size:13px;
  }
  .text-link {
    font-size:14px;
  }
}
@media(max-width:360px) {
  .wrap {
    width:calc(100% - 32px);
  }
  .hero .eyebrow {
    font-size:13px;
    gap:8px;
    letter-spacing:.04em;
  }
  .hero .eyebrow:before {
    width:18px;
  }
  .hero h1 {
    font-size:42px;
  }
  .hero-actions .btn {
    padding-inline:13px;
    font-size:13px;
  }
  .hero-visual {
    height:654px;
  }
  .repair-card {
    padding:20px;
  }
  .repair-card .card-meta {
    flex-direction:column;
    align-items:flex-start;
    gap:9px;
  }
  .repair-card h2 {
    font-size:23px;
  }
  .deposit-slip {
    bottom:36px;
  }
  .process {
    grid-template-columns:1fr;
    gap:28px;
  }
  .process p {
    max-width:270px;
  }
  .footer-grid {
    gap:30px 15px;
  }
  .client-card {
    padding:18px;
  }
  .client-progress strong {
    font-size:12px;
  }
  .price-card {
    padding:24px 19px;
  }
  .client-doc p {
    flex-direction:column;
  }
  .founder-id {
    gap:13px;
  }
  .founder-id div>span {
    font-size:13px;
  }
}
@media(prefers-reduced-motion:reduce) {
  html {
    scroll-behavior:auto;
  }
  *,*::before,*::after {
    animation:none!important;
    transition:none!important;
    scroll-behavior:auto!important;
  }
}
.no-js-nav {
  display:flex;
  gap:16px;
  flex-wrap:wrap;
  padding-block:16px;
  font-size:14px;
}
@media(max-width:650px) {
  .hero-visual {
    height:auto;
    display:flex;
    flex-direction:column;
    align-items:flex-end;
  }
  .repair-card {
    position:relative;
    top:auto;
    right:auto;
  }
  .deposit-slip {
    position:relative;
    left:auto;
    bottom:auto;
    align-self:flex-start;
    margin:18px 0 15px 7px;
    width:250px;
    display:grid;
    grid-template-columns:minmax(0,1fr) 82px;
    gap:7px 12px;
    transform:rotate(-3deg);
  }
  .deposit-slip .slip-heading {
    grid-column:1;
    grid-row:1;
    border-bottom:0;
    padding-bottom:0;
  }
  .deposit-slip .slip-qr {
    width:82px;
    height:82px;
    grid-column:2;
    grid-row:1 / span 3;
  }
  .deposit-slip>strong {
    grid-column:1;
    grid-row:2;
    font-size:13px;
    align-self:end;
  }
  .deposit-slip>small {
    grid-column:1;
    grid-row:3;
    margin:0;
    font-size:13px;
    align-self:start;
  }
  .visual-caption {
    position:static;
    margin-top:0;
  }
  .hero-facts br {
    display:none;
  }
}
.offer-note {
  margin-top:24px;
  max-width:410px;
  font-size:14px;
  line-height:1.65;
  color:var(--muted);
}
@media(min-width:1200px) {
  .footer-grid {
    grid-template-columns:1.25fr .75fr 1fr minmax(300px,1.5fr);
    gap:32px;
  }
  .footer-grid .footer-sectors {
    white-space:nowrap;
  }
}

/* Comfortable touch areas for mobile navigation and secondary links. */
@media(max-width:900px) {
  .footer a,
  .text-link,
  .conditions-link,
  .replay,
  .mobile-nav a,
  .no-js-nav a {
    display:inline-flex;
    align-items:center;
    min-width:44px;
    min-height:44px;
    padding-block:10px;
  }
  .conditions-link {
    display:flex;
    justify-content:center;
  }
  .footer-grid nav {
    gap:2px;
  }
  .mobile-nav {
    row-gap:4px;
  }
  .menu-toggle {
    min-width:44px;
    min-height:44px;
  }
}

.menu-toggle[hidden] { display: none; }

.hero :focus-visible, .footer :focus-visible { outline-color: #8BB4FF; }

/* Public use cases: readable links into the detailed product pages. */
.seo-sectors { background: var(--soft); padding-bottom: 0; }
.seo-sectors + .demo-section { padding-top: clamp(48px, 6vw, 80px); }
.seo-sector-row { display: grid; grid-template-columns: minmax(0, 1fr) 32px; align-items: center; gap: 20px 60px; padding-block: 32px; border-top: 1px solid var(--line); text-decoration: none; color: var(--ink); }
.seo-sector-row:hover h3 { color: var(--blue); }
.seo-sector-row p { max-width: 72ch; margin-top: 12px; }
.seo-sector-row > .icon { width: 26px; height: 26px; color: var(--blue); }
.seo-sector-row h3 { font-size: clamp(25px, 3vw, 32px); font-weight: 500; }
.seo-sector-row p { color: var(--muted); line-height: 1.65; }
.seo-guide-link a { display: inline-flex; align-items: center; min-height: 44px; color: var(--blue); text-decoration: underline; text-underline-offset: .2em; }
.seo-guide-link { margin-top: 24px; color: var(--muted); line-height: 1.65; }
@media (max-width: 760px) { .seo-sector-row { gap: 16px; } }
