/* Manrope, self-hosted (SIL Open Font License 1.1, src/fonts/manrope-OFL.txt), four weights, Latin subset; from @fontsource/manrope 5.3.0 */
@font-face{font-family:Manrope;font-style:normal;font-weight:400;font-display:swap;src:url(../fonts/manrope-400.woff2) format("woff2")}
@font-face{font-family:Manrope;font-style:normal;font-weight:500;font-display:swap;src:url(../fonts/manrope-500.woff2) format("woff2")}
@font-face{font-family:Manrope;font-style:normal;font-weight:600;font-display:swap;src:url(../fonts/manrope-600.woff2) format("woff2")}
@font-face{font-family:Manrope;font-style:normal;font-weight:700;font-display:swap;src:url(../fonts/manrope-700.woff2) format("woff2")}
/* Generated from design-system/tokens.json, theme warm (terracotta and sand, Sharath 12 Oct 2026). Marketing adds two display steps (44/52, 28/36). Do not hand-edit colours here. */
:root {
  --surface: #ffffff;
  --ink: #2b1c14;
  --quiet: #7a5a48;
  --action: #9a3b24;
  --action-hover: #8c3a22;
  --action-press: #7a3220;
  --action-tint: #f6dcc0;
  --brand: #e9624a;
  --brand-strong: #c24a35;
  --brand-strong-hover: #ad422f;
  --brand-tint: #fbe3df;
  --grey-100: #faf4ea;
  --grey-200: #f1e8d9;
  --grey-300: #dccdb4;
  --grey-400: #c3b095;
  --grey-500: #87705a;
  --done: #2f6b3a;
  --committed: #f19c25;
  --error: #c0392b;
  --error-tint: #fbe3df;
  --radius-4: 4px; --radius-8: 8px;
  --shadow-card: 0 1px 10px 0 rgba(0,0,0,.07);
  --font: Manrope, Arial, Helvetica, sans-serif;
}
*,*::before,*::after{box-sizing:border-box}
html{color-scheme:light}
body{margin:0;font-family:var(--font);font-size:16px;line-height:24px;color:var(--ink);background:var(--surface)}
.wrap{max-width:1100px;margin:0 auto;padding:0 24px}
.skip{position:absolute;left:-999px}.skip:focus{left:16px;top:8px;background:var(--surface);padding:8px}
a{color:var(--action);text-underline-offset:3px}
a:focus-visible,button:focus-visible{outline:2px solid var(--action);outline-offset:2px}
.nav{border-bottom:1px solid var(--grey-300);background:var(--surface);position:sticky;top:0;z-index:10}
.nav .wrap{display:flex;align-items:center;gap:28px;height:64px}
.wm{display:inline-flex;align-items:center;text-decoration:none;flex:none}.wm img{display:block;height:20px;width:auto}
.nav nav{display:flex;gap:24px}.nav nav a{color:var(--ink);text-decoration:none;font-weight:500;font-size:14px;padding:4px 0;border-bottom:2px solid transparent}.nav nav a[aria-current]{border-bottom-color:var(--brand)}
.nav .login{margin-left:auto;height:36px;padding:0 16px;white-space:nowrap}.nav .links+.cta{margin-left:auto}.nav .cta{height:36px;padding:0 16px;white-space:nowrap}
.btn{display:inline-flex;align-items:center;white-space:nowrap;height:40px;padding:0 18px;border-radius:var(--radius-4);background:var(--action);color:#fff;font-weight:500;font-size:14px;text-decoration:none;border:1px solid transparent}
.btn:hover{background:var(--action-hover)}.btn.s{background:var(--surface);border-color:var(--action);color:var(--action)}.btn.s:hover{background:var(--action-tint)}
.btn.brand{background:var(--brand-strong)}.btn.brand:hover{background:var(--brand-strong-hover)}
main{padding-block:40px 64px}
.crumbs{font-size:12px;line-height:16px;color:var(--quiet);margin:0 0 16px}.crumbs a{color:var(--quiet)}
.eyebrow{font-size:12px;line-height:16px;letter-spacing:.06em;text-transform:uppercase;color:var(--quiet);margin:0 0 12px}
h1{font-size:44px;line-height:52px;font-weight:500;letter-spacing:-.01em;margin:0 0 16px;text-wrap:balance;max-width:20ch}
h2{font-size:28px;line-height:36px;font-weight:500;letter-spacing:-.01em;margin:48px 0 12px}
h3{font-size:18px;line-height:26px;font-weight:500;margin:24px 0 8px}
p{margin:0 0 16px;max-width:66ch}.lead{font-size:18px;line-height:26px;color:var(--quiet);max-width:50ch}
ul,ol{padding-left:20px;margin:0 0 16px;max-width:66ch}li{margin:4px 0}
.hero{display:grid;grid-template-columns:5fr 6fr;gap:48px;align-items:center;padding-block:24px 40px}
.shot{border:1px solid var(--grey-300);border-radius:var(--radius-8);background:var(--grey-100);min-height:280px;display:flex;align-items:center;justify-content:center;color:var(--quiet);font-size:13px}
.shot.phone{padding:20px}
.shot.phone img{max-width:280px;width:100%;height:auto;border:1px solid var(--grey-300);border-radius:16px}
.proof{display:flex;gap:40px;align-items:center;flex-wrap:wrap;color:var(--quiet);font-size:13px;padding-block:0 32px}
.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px;margin:16px 0 32px}
.card{border:1px solid var(--grey-300);border-radius:var(--radius-4);padding:20px;background:var(--surface)}.card .k{font-size:12px;line-height:16px;color:var(--quiet);text-transform:uppercase;letter-spacing:.06em}.card h3{margin:6px 0 8px}.card p{font-size:14px;line-height:20px;color:var(--quiet);margin:0}.card a{font-size:14px}
.feat{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:center;padding:40px 0;border-top:1px solid var(--grey-200)}.feat h2{margin-top:0}
.band{background:var(--action);color:#fff;border-radius:var(--radius-8);padding:40px;display:flex;justify-content:space-between;align-items:center;gap:24px;margin:48px 0 0}.band h2{margin:0 0 4px;color:#fff}.band p{margin:0;opacity:.85;color:#fff}
.placeholder{background:var(--error-tint);border:1px dashed var(--error);padding:2px 6px;border-radius:2px;font-size:14px}
.faq dt{font-weight:500;margin-top:16px}.faq dd{margin:4px 0 0;color:var(--quiet);max-width:66ch}
dl.gloss dt{font-weight:500;margin-top:16px}dl.gloss dd{margin:4px 0 0;max-width:66ch}
form{max-width:460px}label{display:block;font-size:12px;line-height:16px;color:var(--quiet);margin:16px 0 4px}input,select,textarea{width:100%;height:40px;border:1px solid var(--grey-400);border-radius:var(--radius-4);padding:0 12px;font:inherit;font-size:15px;color:var(--ink);background:var(--surface)}textarea{height:96px;padding-top:10px}input:focus,select:focus,textarea:focus{outline:0;border-color:var(--action);box-shadow:0 0 0 2px rgba(67,80,101,.25)}
.foot{border-top:1px solid var(--grey-200);padding-block:32px;font-size:13px;line-height:24px;color:var(--quiet)}.foot .grid{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:24px}.foot b{display:block;color:var(--ink);font-weight:500}.foot a{display:block;color:var(--quiet);text-decoration:none}.foot a:hover{text-decoration:underline}.quiet{color:var(--quiet)}
.menu{display:none;position:relative}.menu summary{list-style:none;cursor:pointer;width:40px;height:40px;display:flex;flex-direction:column;justify-content:center;gap:5px;align-items:center;border:1px solid var(--grey-300);border-radius:var(--radius-4)}.menu summary::-webkit-details-marker{display:none}.menu summary span{display:block;width:18px;height:2px;background:var(--ink)}
.menu nav{position:absolute;right:0;top:48px;background:var(--surface);border:1px solid var(--grey-300);border-radius:var(--radius-4);box-shadow:var(--shadow-menu);display:flex;flex-direction:column;min-width:220px;padding:8px 0}.menu nav a{padding:12px 16px;color:var(--ink);text-decoration:none;font-size:15px}.menu nav a.btn{margin:8px 16px;justify-content:center;color:#fff}
@media (max-width:860px){.nav .links{display:none}.nav .login{display:none}.menu{display:block}.nav .wrap{gap:10px;padding:0 16px}.nav .cta{margin-left:auto;padding:0 12px}.wm img{height:16px}}
@media (max-width:760px){.hero,.feat{grid-template-columns:1fr}h1{font-size:32px;line-height:40px}.foot .grid{grid-template-columns:1fr 1fr}.band{flex-direction:column;align-items:flex-start}.hero>*,.feat>*{min-width:0}.shot.mock-wrap{overflow-x:auto;min-width:0}.shot.mock-wrap svg{min-width:560px}}

/* Manual (GATE-203 section 5 step 2) */
.manual-body{max-width:760px}
.manual-body img,.manual-body video{max-width:100%;height:auto;border:1px solid var(--grey-300);border-radius:4px;margin:8px 0}
.manual-body h2{margin-top:32px}
.manual-body h3{margin-top:24px}
.manual-body pre,.manual-body code{background:var(--grey-100);border-radius:4px;padding:2px 4px}
.manual-list{list-style:none;padding:0;margin:0;max-width:760px}
.manual-list li{padding:12px 0;border-bottom:1px solid var(--grey-200)}
.manual-list a{font-weight:500}
.manual-sub{list-style:none;padding:8px 0 0 20px;margin:0}
.manual-sub li{padding:6px 0;border:0}
.manual-sub a{font-weight:400}
.manual-foot{margin-top:40px;border-top:1px solid var(--grey-200);padding-top:16px}

/* Animated product mockups (GATE-203 addendum 7 item 3): SVG includes, text alternative in title and desc */
.shot.mock-wrap{min-height:0;padding:0;overflow:hidden;background:var(--surface)}
.shot.mock-wrap svg{display:block;width:100%;height:auto}

/* Product modules (Flow): four cards, not bullets */
.mods{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:16px 0}
.mod{display:flex;flex-direction:column;gap:4px;padding:14px 16px;border:1px solid var(--grey-300);border-radius:var(--radius-4);text-decoration:none;color:var(--ink);background:var(--surface)}
.mod b{font-weight:500;font-size:14px;color:var(--action)}
.mod span{font-size:13px;line-height:18px;color:var(--quiet)}
.mod:hover{background:var(--grey-100)}
@media (max-width:760px){.mods{grid-template-columns:1fr}}

/* One-line caption under each mockup: what the scene shows */
.cap{font-size:13px;line-height:18px;color:var(--quiet);margin:8px 0 0}

/* Focus ring (finding 17): 2 px action, visible on keyboard focus */
a:focus-visible,button:focus-visible,summary:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--action);outline-offset:2px;border-radius:2px}
/* What is Lean PlanDo as three labelled lines (finding 8) */
.what{max-width:760px;margin:0 0 8px}.what dt{font-size:12px;letter-spacing:.06em;text-transform:uppercase;color:var(--quiet);margin-top:12px}.what dd{margin:4px 0 0;font-size:16px;line-height:24px}
/* The buyer's own line on a solutions page (finding 15) */
.voice{font-size:18px;line-height:26px;color:var(--action);font-weight:500;max-width:640px;margin:-8px 0 16px}
.cards.three{grid-template-columns:1fr 1fr 1fr}@media (max-width:760px){.cards.three{grid-template-columns:1fr}}

/* Customer logo strip (GATE-203 add. 19 finding 7; permissions on file, notes/2026-10-12-site-claims.md) */
.logos{padding:8px 0 28px;border-bottom:1px solid var(--grey-200)}.logos ul{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:16px 56px;align-items:center}.logos li{margin:0}.logos img{display:block;height:44px;width:auto}
@media (max-width:760px){.logos ul{gap:12px 32px}.logos img{height:34px}}
/* Legal page: the Annex A table */
table.legal{border-collapse:collapse;width:100%;font-size:14px;line-height:20px;margin:8px 0 16px}table.legal th,table.legal td{border:1px solid var(--grey-300);padding:6px 10px;text-align:left;vertical-align:top}table.legal th{background:var(--grey-100);font-weight:600}
/* Customer card logos */
.card img.logo{display:block;height:44px;width:auto;margin:2px 0 10px}
/* Cards that are links: the whole card is the target. Hover lifts 2px and warms the border; press settles back. Reduced motion: colour only. */
a.card.link{display:block;color:var(--ink);text-decoration:none;position:relative;transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease}
a.card.link .more{display:inline-block;margin-top:10px;font-size:14px;color:var(--action);font-weight:600;transition:transform .18s ease}
a.card.link:hover,a.card.link:focus-visible{border-color:var(--action);box-shadow:0 6px 18px 0 rgba(43,28,20,.10);transform:translateY(-2px)}
a.card.link:hover .more,a.card.link:focus-visible .more{transform:translateX(3px)}
a.card.link:hover h3{color:var(--action)}
a.card.link:active{transform:translateY(0) scale(.995);box-shadow:0 2px 8px 0 rgba(43,28,20,.10);transition-duration:.08s}
a.card.link:focus-visible{outline:2px solid var(--action);outline-offset:2px}
@media (prefers-reduced-motion:reduce){a.card.link,a.card.link .more{transition:none}a.card.link:hover,a.card.link:active{transform:none}}
