/* Refinements after the Impeccable critique, 1 October 2026. Loaded last on every page. */

/* Browser surfaces carry the palette. */
html{color-scheme:dark;accent-color:#2fc2fa}
::selection{background:#2fc2fa;color:#07121b}
input,textarea{caret-color:#2fc2fa}

/* Skip link: previously white on near-white after the dark palette redefined --ink. */
.skip{background:#2fc2fa;color:#07121b;font-weight:650;border-radius:10px;padding:12px 18px}
.skip:focus-visible{outline:2px solid #f5f7fb;outline-offset:3px}

/* Comfortable touch targets (44px). */
.site-header nav a{display:inline-flex;align-items:center;min-height:44px}
.header-cta{min-height:44px}
.hero-secondary{display:inline-flex;align-items:center;min-height:44px}
footer p a,footer>a:last-child{display:inline-flex;align-items:center;min-height:44px}
.faq-list details{padding-block:8px}
.faq-list summary{padding-block:12px}
.faq-list p{margin-top:2px;padding-bottom:12px}

/* Hero: the headline shares the first screen with a compact, finished example. */
.hero-proof{position:relative;background:#0e1a27;border:1px solid #26405a;border-radius:16px;padding:22px 24px 20px;box-shadow:0 28px 60px -32px #000;max-width:480px;margin-top:44px}
.proof-head{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:14px}
.proof-tag{display:inline-flex;align-items:center;gap:8px;font-size:.74rem;font-weight:600;color:#c4d4e2}.proof-dot{width:7px;height:7px;border-radius:50%;background:#35b8e6;box-shadow:0 0 0 4px #35b8e622}
.proof-chip{font-size:.72rem;font-weight:600;color:#88d8f5;background:#193e55;border-radius:20px;padding:4px 10px}
.proof-title{font:650 1.12rem/1.35 var(--sans);color:#f5f7fb;letter-spacing:-.01em;margin-bottom:12px}.proof-quote{margin:0;padding:10px 12px 10px 14px;border-left:2px solid #35b8e6;background:#122334;border-radius:0 8px 8px 0}.proof-quote span{display:block;font-size:.84rem;color:#dce7f2;line-height:1.5}.proof-quote small{display:block;margin-top:4px;font-size:.74rem;color:#8ea6bb}.proof-steps{border-top:1px solid #223346;margin-top:14px!important}
.proof-steps{list-style:none;margin:0;padding:14px 0 4px;position:relative}
.proof-steps:before{content:'';position:absolute;left:11px;top:26px;bottom:26px;width:1px;background:#2a4258}
.proof-steps li{display:grid;grid-template-columns:24px 1fr;gap:14px;align-items:start;padding-block:8px;position:relative}
.proof-icon{width:24px;height:24px;border-radius:50%;display:grid;place-items:center;background:#0e1a27;border:1px solid #35b8e6;color:#6fd3f5}
.proof-icon svg{width:12px;height:12px}
.proof-steps li.flag .proof-icon{border-color:#af8f56;color:#e6c17c}
.proof-steps strong{display:block;font-size:.9rem;font-weight:600;color:#e3edf6;line-height:1.4}
.proof-steps small{display:block;font-size:.8rem;color:#9fb4c8;line-height:1.5;margin-top:2px}
.proof-steps li.flag small{color:#e6c17c}
.proof-foot{display:flex;align-items:center;gap:12px;margin-top:10px;padding:12px 14px;background:#20382e;border:1px solid #476a52;border-radius:10px}
.proof-you{flex:0 0 auto;font-size:.66rem;font-weight:700;letter-spacing:.06em;color:#d8ebdc;background:#365940;border-radius:6px;padding:5px 7px}
.proof-foot p{font-size:.86rem;font-weight:600;color:#c1dfc9;line-height:1.4}
.proof-link{display:inline-flex;align-items:center;gap:8px;min-height:44px;margin-top:6px;font-size:.84rem;font-weight:600;color:#7fdcff}
.proof-link:hover{color:#b5eaff}
@media(prefers-reduced-motion:no-preference){
 .proof-steps li,.proof-foot,.proof-chip{animation:proof-in .7s cubic-bezier(.16,1,.3,1) both}
 .proof-steps li:nth-child(1){animation-delay:.35s}
 .proof-steps li:nth-child(2){animation-delay:.9s}
 .proof-steps li:nth-child(3){animation-delay:1.45s}
 .proof-steps li:nth-child(4){animation-delay:2s}
 .proof-foot{animation-delay:2.6s}
 .proof-chip{animation-delay:2.6s}
}
@keyframes proof-in{from{opacity:0;transform:translateY(8px);filter:blur(3px)}to{opacity:1;transform:none;filter:none}}
@media(min-width:1100px){
 .hero{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(340px,.85fr);gap:60px;align-items:center;padding-block:78px 84px}
 .hero-copy{max-width:none}
 .hero h1{font-size:clamp(4.2rem,5.4vw,5.75rem)}
 .hero-proof{margin-top:0;justify-self:end;width:100%}
}
@media(max-width:760px){
 .hero-proof{margin-top:36px;padding:18px 18px 16px}
}

/* Section and form headings: the condensed display face is for uppercase headlines only. */
.founder-note h2.eyebrow{font:650 .7rem/1.5 var(--sans);letter-spacing:.12em;color:#39c3f8;margin:0}
.founder-note>div>p{color:#bac8d9;font-size:1.16rem;line-height:1.85;max-width:770px}
.founder-note>div>p+p{margin-top:14px}
@media(max-width:760px){.founder-note>div>p{font-size:1rem}}
.workflow-label h3{font:600 .92rem var(--sans);letter-spacing:-.02em;color:#f5f7fb;margin:0}
.contact-form-panel h2,.contact-direct h2,.next-steps h2{font-family:var(--sans);font-weight:650;letter-spacing:-.01em;line-height:1.3}
.contact-intro>.eyebrow{color:#39c3f8}
@media(max-width:760px){
 .workflow-label h3{font-size:.85rem}
 .contact h2 br{display:none}
}

/* Workflow rail: all five fit from 900px; below that, arrows and a fade show there is more. */
.workflow-rail{position:relative}
@media(min-width:900px){.workflow-tab{flex:1 1 0;min-width:150px}}
.rail-arrow{position:absolute;top:calc(50% - 2px);transform:translateY(-50%);z-index:2;width:44px;height:44px;border-radius:50%;display:grid;place-items:center;background:#112c3d;border:1px solid #35b8e6;color:#e0eaf4;cursor:pointer;box-shadow:0 6px 16px -6px #000}
.rail-arrow svg{width:16px;height:16px}
.rail-arrow:hover{background:#17405a}
.rail-prev{left:-8px}
.rail-next{right:-8px}
.rail-arrow[hidden]{display:none}
.workflow-rail.can-right .workflow-tabs{-webkit-mask-image:linear-gradient(90deg,#000 calc(100% - 80px),transparent);mask-image:linear-gradient(90deg,#000 calc(100% - 80px),transparent)}
.workflow-rail.can-left .workflow-tabs{-webkit-mask-image:linear-gradient(90deg,transparent,#000 80px);mask-image:linear-gradient(90deg,transparent,#000 80px)}
.workflow-rail.can-left.can-right .workflow-tabs{-webkit-mask-image:linear-gradient(90deg,transparent,#000 80px,#000 calc(100% - 80px),transparent);mask-image:linear-gradient(90deg,transparent,#000 80px,#000 calc(100% - 80px),transparent)}

/* Demo stage: the agent bubble no longer covers the column labels or card text. */
.workflow-panels .agent-demo .agent-pointer{top:auto!important;bottom:14px!important;left:auto!important;right:96px!important}
.workflow-panels .demo-pause{min-height:44px;padding:10px 16px;font-size:.75rem}
.workflow-panels .demo-pause:focus-visible{outline:2px solid #84dfff;outline-offset:3px}
@media(max-width:760px){
 .workflow-panels .agent-demo[data-phase] .agent-pointer{top:auto!important;bottom:14px!important;left:12px!important;right:auto!important}
}

/* Contact page: reassurance before the form. */
.next-steps{margin-top:40px;padding-top:28px;border-top:1px solid #2b3a4b;max-width:440px}
.next-steps h2{font-size:1.1rem;color:#f5f7fb;margin-bottom:18px}
.next-steps ol{list-style:none;margin:0;padding:0;counter-reset:step}
.next-steps li{counter-increment:step;display:grid;grid-template-columns:34px 1fr;gap:14px;padding-block:12px;border-bottom:1px solid #1e2c3c}
.next-steps li:last-child{border-bottom:0}
.next-steps li:before{content:counter(step);font:700 1.5rem/1 var(--display);color:#2fc2fa;padding-top:2px}
.next-steps strong{display:block;color:#e3edf6;font-weight:600;font-size:.95rem;line-height:1.4}
.next-steps p{font-size:.88rem;color:#a8bed1;line-height:1.6;margin-top:3px}

/* Form: 16px fields (no iOS zoom), visible borders, errors in words next to the field. */
.contact-form-panel input,.contact-form-panel textarea{font-size:16px;border-color:#617d98}
.contact-form-panel input[type=file]{font-size:.85rem}
.contact-form-panel label span{font-size:.78rem}
#file-help,.form-footnote,#file-status,.form-hint{font-size:.8rem;color:#93aabf}
.form-footnote a{color:#7fdcff;text-decoration:underline;text-underline-offset:3px}
.form-hint{margin:-6px 0 14px}
.field-meta{display:flex;justify-content:space-between;gap:12px;margin-top:6px}
.char-count{margin-left:auto;font-size:.78rem;color:#93aabf;font-variant-numeric:tabular-nums}
.char-count.near-limit{color:#f3bf85}
.field-error{display:block;margin-top:6px;font-size:.82rem;font-weight:600;color:#f3bf85}
.field-error:empty{display:none}
.field-error:not(:empty):before{content:'';display:inline-block;width:7px;height:7px;margin-right:8px;border-radius:50%;background:currentColor;vertical-align:1px}
.contact-form-panel [aria-invalid=true]{border-color:#f3bf85}
#form-status[data-state=error],#form-status[data-state=success]{font-weight:600}

/* Privacy page body links are underlined, not marked by colour alone. */
.legal a{text-decoration:underline;text-underline-offset:3px}

/* Mobile navigation: four links on one line, each a full-height target. */
@media(max-width:760px){
 .site-header nav{gap:18px;font-size:.8rem}
 .site-header nav a:last-child{display:inline-flex}
}

/* The invoice card is taller than the other scenes; give its stage room so the last line is not clipped. */
@media(min-width:761px){.workflow-panels .agent-demo[data-demo="invoice"] .demo-stage{height:668px}}

/* check example under How we work */
.check-note{margin-top:28px;max-width:760px;padding:18px 22px;border-left:3px solid #35b8e6;background:#0e1a27;border-radius:0 12px 12px 0}.check-note p{margin:0;color:#c8d6e3;line-height:1.6}.check-note .check-ask{font-weight:650;color:#f5f7fb;margin-bottom:6px}
/* homepage services: four groups linking to /services/ */
.service-groups{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-top:8px}
.service-group{display:flex;flex-direction:column;padding:22px 20px;border:1px solid #233448;border-radius:14px;background:#0e1825;color:inherit;text-decoration:none;transition:border-color .2s,background .2s}
.service-group:hover{border-color:#35bdec;background:#102033}
.service-group .service-number{margin-bottom:12px}
.service-group h3{font:650 1.15rem/1.3 var(--sans);letter-spacing:-.02em;color:#f5f7fb;margin:0 0 6px}
.service-group p{color:#7fdcff;font-size:.86rem;line-height:1.5;margin:0 0 14px}
.service-group ul{list-style:none;margin:0;padding:0;border-top:1px solid #1f2f42}
.service-group li{padding:8px 0;border-bottom:1px solid #1f2f42;color:#a4b2c5;font-size:.86rem}
.services .other-services{margin-top:22px;color:#92a8c1}
.services-all{display:inline-flex;align-items:center;gap:6px;min-height:44px;margin-right:12px;color:#7fdcff;font-weight:600}
@media(max-width:1000px){.service-groups{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.service-groups{grid-template-columns:1fr}}
