/* Layout: a test-coverage matrix as the hero thesis; the page reads like an engineering run sheet — left-aligned, ruled sections, mono metadata. */
:root{
  --bg:#F1F7FD;
  --surface:#FFFFFF;
  --ink:#0C1D2E;
  --muted:#4A6178;
  --line:#D2E3F2;
  --teal:#1E7FCB;       /* bridged: work VerticalQA covers */
  --teal-soft:#DCEEFC;
  --amber:#C27D0E;      /* gap */
  --amber-soft:#F7EBD5;
  --cell:#1C3756;       /* covered by client team */
  --on-teal:#FFFFFF;
  --f-display:"Archivo","Arial Narrow",system-ui,sans-serif;
  --f-body:"IBM Plex Sans",system-ui,-apple-system,"Segoe UI",sans-serif;
  --f-mono:"JetBrains Mono",ui-monospace,"Cascadia Mono",Consolas,monospace;
  --wrap:1180px;
}
@media (prefers-color-scheme: dark){:root:not([data-theme="light"]){
  --bg:#09141F;--surface:#0F1E2D;--ink:#E5F0FA;--muted:#93AABF;--line:#1F344A;
  --teal:#6FC2F7;--teal-soft:#123553;--amber:#E7A73C;--amber-soft:#3A2C12;--cell:#A3BBD3;--on-teal:#04121E;color-scheme:dark}}
:root[data-theme="dark"]{
  --bg:#09141F;--surface:#0F1E2D;--ink:#E5F0FA;--muted:#93AABF;--line:#1F344A;
  --teal:#6FC2F7;--teal-soft:#123553;--amber:#E7A73C;--amber-soft:#3A2C12;--cell:#A3BBD3;--on-teal:#04121E;color-scheme:dark}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
section[id]{scroll-margin-top:72px}
@media (prefers-reduced-motion: reduce){html{scroll-behavior:auto}}
body{background:var(--bg);color:var(--ink);font-family:var(--f-body);font-size:1rem;line-height:1.6;-webkit-font-smoothing:antialiased}
a{color:inherit}
:focus-visible{outline:2px solid var(--teal);outline-offset:3px;border-radius:2px}
.wrap{max-width:var(--wrap);margin-inline:auto;padding-inline:clamp(16px,4vw,40px)}
h1,h2,h3{font-family:var(--f-display);text-wrap:balance;margin:0;letter-spacing:-.01em}
p{margin:0}
.eyebrow{font-family:var(--f-mono);font-size:.75rem;letter-spacing:.12em;text-transform:uppercase;color:var(--teal)}
.mono{font-family:var(--f-mono)}

/* Header */
header.site{position:sticky;top:env(safe-area-inset-top,0px);z-index:10;background:color-mix(in srgb,var(--bg) 88%,transparent);backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}
.nav{display:flex;align-items:center;justify-content:space-between;gap:16px;padding-block:14px}
.logo{display:flex;align-items:center;gap:10px;text-decoration:none}
.logo-mark{height:40px;width:auto;aspect-ratio:850/670;flex:none;overflow:visible}
.logo-word{font-family:var(--f-display);font-weight:800;font-stretch:112%;font-size:1.2rem;letter-spacing:-.02em}
.logo-word b{color:var(--teal);font-weight:800}
.nav-links{display:flex;gap:22px;list-style:none;margin:0;padding:0;font-size:.92rem}
.nav-links a{text-decoration:none;color:var(--muted)}
.nav-links a:hover{color:var(--ink)}
.btn{display:inline-flex;align-items:center;gap:8px;font:600 .95rem/1 var(--f-body);padding:13px 20px;border-radius:6px;text-decoration:none;border:1.5px solid var(--ink);cursor:pointer;transition:transform .15s,background .15s}
.btn-primary{background:var(--teal);border-color:var(--teal);color:var(--on-teal)}
.btn-primary:hover{transform:translateY(-1px);background:color-mix(in srgb,var(--teal) 88%,var(--ink))}
.btn-ghost{background:transparent;color:var(--ink)}
.btn-ghost:hover{background:var(--surface)}
.btn-sm{padding:10px 16px;font-size:.88rem}


/* Hero */
.hero{padding-block:clamp(20px,3vw,36px) clamp(48px,6vw,80px)}
.hero-grid{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:clamp(32px,5vw,72px);align-items:start}
.hero h1{font-weight:800;font-stretch:88%;font-size:clamp(2.4rem,5.4vw,4.4rem);line-height:1.02;margin-top:14px}
.hero h1 em{font-style:normal;color:var(--teal)}
.hero .lede{margin-top:22px;font-size:1.14rem;color:var(--muted);max-width:56ch}
.hero .ctas{display:flex;flex-wrap:wrap;gap:12px;margin-top:32px}
.position{margin-top:36px;display:flex;align-items:center;gap:12px;font-family:var(--f-mono);font-size:.8rem;color:var(--muted);letter-spacing:.04em}
.position::before{content:"";width:28px;height:1.5px;background:var(--amber)}
@media (max-width:900px){.hero-grid{grid-template-columns:minmax(0,1fr)}}

/* Coverage matrix */
.matrix{background:var(--surface);border:1px solid var(--line);border-radius:10px;padding:22px;box-shadow:0 24px 48px -32px color-mix(in srgb,var(--ink) 45%,transparent)}
.matrix-head{display:flex;justify-content:space-between;align-items:baseline;gap:12px;flex-wrap:wrap;font-family:var(--f-mono);font-size:.74rem;color:var(--muted)}
.matrix-head strong{color:var(--ink);font-weight:500}
.cov{display:flex;align-items:baseline;gap:14px;margin-top:14px}
.cov-num{font-family:var(--f-display);font-weight:800;font-stretch:80%;font-size:3.4rem;line-height:1;font-variant-numeric:tabular-nums}
.cov-label{font-size:.85rem;color:var(--muted)}
.bar{height:6px;background:var(--line);border-radius:3px;margin-top:12px;overflow:hidden}
.bar i{display:block;height:100%;width:58%;background:var(--teal);transition:width .2s linear}
.grid-wrap{overflow-x:auto;margin-top:18px}
table.cells{border-collapse:separate;border-spacing:4px;font-family:var(--f-mono);font-size:.66rem;color:var(--muted);width:100%}
table.cells th{font-weight:400;text-align:left;white-space:nowrap;padding-right:6px}
table.cells thead th{text-align:center;padding:0}
table.cells td{height:20px;min-width:16px;border-radius:3px;background:var(--cell);transition:background .35s,box-shadow .35s}
table.cells td.gap{background:var(--amber-soft);box-shadow:inset 0 0 0 1.5px var(--amber)}
table.cells td.bridged{background:var(--teal);box-shadow:none}
.legend{display:flex;flex-wrap:wrap;gap:16px;margin-top:14px;font-size:.78rem;color:var(--muted)}
.legend span{display:inline-flex;align-items:center;gap:7px}
.legend i{width:12px;height:12px;border-radius:2px;display:inline-block}
.lg-team{background:var(--cell)}
.lg-gap{background:var(--amber-soft);box-shadow:inset 0 0 0 1.5px var(--amber)}
.lg-ai{background:var(--teal)}
.matrix-foot{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-top:16px;padding-top:14px;border-top:1px dashed var(--line);font-family:var(--f-mono);font-size:.72rem;color:var(--muted);flex-wrap:wrap}
.replay{background:none;border:1px solid var(--line);color:var(--ink);font:inherit;padding:6px 10px;border-radius:4px;cursor:pointer}
.replay:hover{border-color:var(--teal);color:var(--teal)}

/* Sections */
section.block{padding-block:clamp(64px,9vw,112px);border-top:1px solid var(--line)}
.sec-head{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.3fr);gap:clamp(24px,5vw,64px);align-items:end;margin-bottom:clamp(36px,5vw,56px)}
.sec-head h2{font-weight:800;font-stretch:92%;font-size:clamp(1.9rem,3.6vw,2.9rem);line-height:1.06;margin-top:12px}
.sec-head p{color:var(--muted);font-size:1.05rem;max-width:60ch}
@media (max-width:800px){.sec-head{grid-template-columns:minmax(0,1fr)}}

/* Gaps list */
.gaps{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,210px),1fr));gap:1px;background:var(--line);border:1px solid var(--line);border-radius:10px;overflow:hidden}
.gap-item{background:var(--bg);padding:24px 22px;display:flex;flex-direction:column;gap:10px}
.gap-item .tag{font-family:var(--f-mono);font-size:.7rem;color:var(--amber);letter-spacing:.08em;text-transform:uppercase}
.gap-item h3{font-size:1.12rem;font-weight:700;font-stretch:100%}
.gap-item p{font-size:.92rem;color:var(--muted)}
.gap-item .fix{margin-top:auto;padding-top:10px;font-size:.86rem;color:var(--teal);font-weight:500}
.gap-item .fix::before{content:"→ "}

/* Services */
.services{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
@media (max-width:960px){.services{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:620px){.services{grid-template-columns:minmax(0,1fr)}}
.svc{background:var(--surface);border:1px solid var(--line);border-radius:10px;padding:26px;display:flex;flex-direction:column;gap:12px}
.svc-top{display:flex;justify-content:space-between;align-items:center}
.svc-ico{width:40px;height:40px;border-radius:8px;background:var(--teal-soft);color:var(--teal);display:grid;place-items:center}
.svc-ico svg{width:22px;height:22px}
.svc-code{font-family:var(--f-mono);font-size:.7rem;color:var(--muted)}
.svc h3{font-size:1.2rem;font-weight:700}
.svc p{font-size:.94rem;color:var(--muted)}
.svc ul{margin:4px 0 0;padding:0;list-style:none;display:flex;flex-wrap:wrap;gap:6px}
.svc li{font-family:var(--f-mono);font-size:.7rem;padding:4px 8px;border:1px solid var(--line);border-radius:4px;color:var(--muted)}
/* Service cards: 6-col grid laid out 2 / 3 / 2 so no card sits alone */
.svc-cards{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:20px}
.svc-card{grid-column:span 2;position:relative;background:var(--surface);border:1px solid var(--line);border-radius:10px;padding:28px 26px 26px;display:flex;flex-direction:column;gap:14px;transition:transform .2s,border-color .2s,box-shadow .2s}
.svc-card:nth-child(1),.svc-card:nth-child(2),.svc-card:nth-child(6),.svc-card:nth-child(7){grid-column:span 3}
.svc-card:hover{transform:translateY(-3px);border-color:var(--teal);box-shadow:0 18px 36px -26px color-mix(in srgb,var(--ink) 50%,transparent)}
.svc-card .n{font-family:var(--f-display);font-weight:800;font-stretch:75%;font-size:2.6rem;line-height:1;color:var(--teal)}
.svc-card .name{display:flex;flex-direction:column;align-items:flex-start;gap:8px}
.svc-card h3{font-size:1.3rem;font-weight:800;font-stretch:95%;line-height:1.15}
.svc-card .chip{position:absolute;top:28px;right:26px;font-family:var(--f-mono);font-size:.66rem;letter-spacing:.08em;text-transform:uppercase;padding:4px 8px;border-radius:4px;background:var(--teal);color:var(--on-teal)}
.svc-card p{font-size:.95rem;color:var(--muted)}
.svc-card ul{margin:auto 0 0;padding:12px 0 0;border-top:1px dashed var(--line);list-style:none;display:flex;flex-wrap:wrap;gap:6px}
.svc-card li{font-family:var(--f-mono);font-size:.7rem;padding:4px 8px;border:1px solid var(--line);border-radius:4px;color:var(--muted)}
.svc-card:nth-child(-n+2){background:linear-gradient(160deg,var(--teal-soft),var(--surface) 60%)}
@media (max-width:900px){.svc-cards{grid-template-columns:repeat(2,minmax(0,1fr))}.svc-card,.svc-card:nth-child(n){grid-column:span 1}.svc-card:last-child{grid-column:1/-1}}
@media (max-width:600px){.svc-cards{grid-template-columns:minmax(0,1fr)}.svc-card:last-child{grid-column:auto}}
@media (prefers-reduced-motion: reduce){.svc-card{transition:none}.svc-card:hover{transform:none}}

/* Process */
.steps{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0;counter-reset:s;position:relative}
@media (max-width:900px){.steps{grid-template-columns:repeat(2,minmax(0,1fr));row-gap:36px}}
@media (max-width:540px){.steps{grid-template-columns:minmax(0,1fr)}}
.step{padding:0 24px 0 0;position:relative}
.step-n{display:flex;align-items:center;gap:12px;margin-bottom:18px}
.step-n b{width:44px;height:44px;border-radius:50%;border:1.5px solid var(--teal);color:var(--teal);display:grid;place-items:center;font-family:var(--f-mono);font-weight:500;flex:none;background:var(--bg)}
.step-n::after{content:"";flex:1;height:1.5px;background:repeating-linear-gradient(90deg,var(--teal) 0 6px,transparent 6px 11px)}
.step:last-child .step-n::after{background:none}
.step h3{font-size:1.25rem;font-weight:700}
.step .when{font-family:var(--f-mono);font-size:.72rem;color:var(--muted);margin-top:4px}
.step p{margin-top:10px;font-size:.94rem;color:var(--muted)}

/* AI section */
.ai{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(28px,5vw,64px);align-items:start}
@media (max-width:900px){.ai{grid-template-columns:minmax(0,1fr)}}
.ai-list{display:flex;flex-direction:column}
.ai-row{display:grid;grid-template-columns:auto minmax(0,1fr);gap:18px;padding-block:20px;border-bottom:1px solid var(--line)}
.ai-row:first-child{border-top:1px solid var(--line)}
.ai-row .k{font-family:var(--f-mono);font-size:.74rem;color:var(--teal);padding-top:4px;width:5.5ch}
.ai-row h3{font-size:1.08rem;font-weight:700;font-stretch:100%}
.ai-row p{font-size:.93rem;color:var(--muted);margin-top:4px}
.console{background:#0A1828;color:#C8DCEE;border-radius:10px;padding:22px;font-family:var(--f-mono);font-size:.8rem;line-height:1.75;overflow-x:auto;border:1px solid var(--line)}
.console .c-dim{color:#6B88A4}
.console .c-ok{color:#7CCBFA}
.console .c-warn{color:#F0B652}
.console .c-head{color:#FFFFFF}
.console pre{margin:0;white-space:pre}
.principle{margin-top:20px;padding:18px 20px;border-left:3px solid var(--amber);background:var(--amber-soft);border-radius:0 8px 8px 0;font-size:.95rem}
.principle strong{font-family:var(--f-display);font-weight:700}

/* Why */
.why-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;background:var(--line);border:1px solid var(--line);border-radius:10px;overflow:hidden}
@media (max-width:900px){.why-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:560px){.why-grid{grid-template-columns:minmax(0,1fr)}}
.why-item{background:var(--surface);padding:26px 24px;display:flex;flex-direction:column;gap:8px}
.why-k{font-family:var(--f-mono);font-size:.7rem;letter-spacing:.1em;text-transform:uppercase;color:var(--teal)}
.why-item h3{font-size:1.15rem;font-weight:700;font-stretch:100%}
.why-item p{font-size:.93rem;color:var(--muted)}
.compare-wrap{overflow-x:auto;margin-top:40px}
table.compare{width:100%;min-width:560px;border-collapse:collapse;font-size:.95rem}
.compare th,.compare td{text-align:left;padding:14px 16px;border-bottom:1px solid var(--line);vertical-align:top}
.compare thead th{font-family:var(--f-mono);font-size:.72rem;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);font-weight:500;border-bottom:1.5px solid var(--ink)}
.compare thead th:last-child{color:var(--teal)}
.compare tbody th{font-weight:600;width:22%}
.compare td{color:var(--muted)}
.compare td:last-child{color:var(--ink);font-weight:500;background:var(--teal-soft)}

/* Case studies */
.cases{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
@media (max-width:960px){.cases{grid-template-columns:minmax(0,1fr)}}
.case{background:var(--surface);border:1px solid var(--line);border-radius:10px;padding:26px;display:flex;flex-direction:column;gap:16px}
.case-top{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap}
.case-ind{font-family:var(--f-mono);font-size:.72rem;color:var(--teal);letter-spacing:.04em}
.case-tag{font-family:var(--f-mono);font-size:.64rem;letter-spacing:.08em;text-transform:uppercase;padding:3px 7px;border:1px dashed var(--amber);color:var(--amber);border-radius:4px}
.case h3{font-size:1.25rem;font-weight:800;font-stretch:95%;line-height:1.2}
.case dl{margin:0;display:flex;flex-direction:column;gap:6px;font-size:.92rem}
.case dt{font-family:var(--f-mono);font-size:.7rem;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);margin-top:6px}
.case dd{margin:0}
.case-out{margin-top:auto;display:grid;grid-template-columns:1fr 1fr;gap:12px;padding-top:16px;border-top:1px dashed var(--line)}
.case-out b{display:block;font-family:var(--f-display);font-weight:800;font-stretch:80%;font-size:1.7rem;line-height:1.1;color:var(--teal);font-variant-numeric:tabular-nums}
.case-out span{font-size:.8rem;color:var(--muted)}
.case-svc{font-family:var(--f-mono);font-size:.7rem;color:var(--muted)}

/* Mobile menu */
.menu-btn{display:none;background:none;border:1px solid var(--line);color:var(--ink);font:500 .85rem/1 var(--f-body);padding:9px 12px;border-radius:6px;cursor:pointer}
.nav-right{display:flex;align-items:center;gap:10px}
@media (max-width:1240px){
  .menu-btn{display:inline-block}
  .nav{flex-wrap:wrap}
  .nav-links{display:none;order:3;width:100%;flex-direction:column;gap:0;padding-top:8px}
  .nav-links.open{display:flex}
  .nav-links a{display:block;padding:12px 0;border-top:1px solid var(--line)}
}
@media (max-width:520px){.nav-right .btn{display:none}}

/* Engagement */
.models{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
@media (max-width:900px){.models{grid-template-columns:minmax(0,1fr)}}
.model{border:1px solid var(--line);border-radius:10px;padding:28px;display:flex;flex-direction:column;gap:14px;background:var(--bg)}
.model.feature{background:var(--surface);border-color:var(--teal);box-shadow:0 0 0 1px var(--teal)}
.model .badge{align-self:flex-start;font-family:var(--f-mono);font-size:.68rem;letter-spacing:.08em;text-transform:uppercase;padding:4px 8px;border-radius:4px;background:var(--teal);color:var(--on-teal)}
.model h3{font-size:1.4rem;font-weight:800;font-stretch:95%}
.model .fit{font-size:.93rem;color:var(--muted)}
.model dl{margin:6px 0 0;display:grid;grid-template-columns:auto minmax(0,1fr);gap:8px 16px;font-size:.88rem}
.model dt{font-family:var(--f-mono);font-size:.72rem;color:var(--muted);padding-top:2px}
.model dd{margin:0}

/* Metrics */
.metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-top:1.5px solid var(--ink)}
@media (max-width:860px){.metrics{grid-template-columns:repeat(2,minmax(0,1fr))}}
.metric{padding:22px 20px 22px 0;border-bottom:1px solid var(--line)}
.metric .abbr{font-family:var(--f-display);font-weight:800;font-stretch:80%;font-size:2.2rem;line-height:1}
.metric h3{font-size:.98rem;font-weight:700;font-stretch:100%;margin-top:10px}
.metric p{font-size:.88rem;color:var(--muted);margin-top:4px}

/* Stack */
.stack{display:flex;flex-wrap:wrap;gap:10px;margin-top:36px}
.stack span{font-family:var(--f-mono);font-size:.78rem;padding:8px 12px;border:1px solid var(--line);border-radius:999px;background:var(--surface)}

/* FAQ */
.faq{max-width:860px}
.faq details{border-bottom:1px solid var(--line)}
.faq details:first-child{border-top:1px solid var(--line)}
.faq summary{cursor:pointer;list-style:none;padding:20px 40px 20px 0;font-family:var(--f-display);font-weight:700;font-size:1.1rem;position:relative}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";position:absolute;right:4px;top:16px;font-family:var(--f-mono);font-size:1.3rem;color:var(--teal)}
.faq details[open] summary::after{content:"−"}
.faq details p{padding-bottom:20px;color:var(--muted);max-width:68ch}

/* Contact */
.contact{background:var(--ink);color:var(--bg);border-radius:14px;padding:clamp(28px,5vw,56px);display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);gap:clamp(28px,5vw,56px)}
@media (max-width:900px){.contact{grid-template-columns:minmax(0,1fr)}}
.contact h2{font-weight:800;font-stretch:90%;font-size:clamp(1.9rem,3.6vw,2.8rem);line-height:1.06;margin-top:12px}
.contact .eyebrow{color:var(--teal-soft)}
.contact .sub{margin-top:16px;opacity:.78;max-width:46ch}
.contact .reach{margin-top:28px;font-family:var(--f-mono);font-size:.85rem;display:flex;flex-direction:column;gap:6px;opacity:.9}
form{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:14px}
form .full{grid-column:1/-1}
@media (max-width:540px){form{grid-template-columns:minmax(0,1fr)}}
label{display:flex;flex-direction:column;gap:6px;font-size:.8rem;font-family:var(--f-mono);letter-spacing:.03em;opacity:.85}
input,select,textarea{font:400 .95rem/1.4 var(--f-body);padding:12px 14px;border-radius:6px;border:1px solid color-mix(in srgb,var(--bg) 25%,transparent);background:color-mix(in srgb,var(--bg) 7%,transparent);color:var(--bg);width:100%}
select option{color:#0E1B24;background:#fff}
input::placeholder,textarea::placeholder{color:color-mix(in srgb,var(--bg) 45%,transparent)}
input:focus,select:focus,textarea:focus{outline:2px solid var(--teal);outline-offset:1px;border-color:transparent}
textarea{min-height:110px;resize:vertical}
.form-msg{grid-column:1/-1;font-size:.9rem;padding:12px 14px;border-radius:6px;background:color-mix(in srgb,var(--teal) 25%,transparent);border:1px solid var(--teal)}

/* Footer */
footer{padding-block:48px 40px;margin-top:clamp(64px,8vw,96px);border-top:1px solid var(--line)}
.foot{display:flex;justify-content:space-between;gap:32px;flex-wrap:wrap}
.foot .tag{margin-top:10px;color:var(--muted);font-size:.92rem}
.foot nav{display:flex;gap:48px;flex-wrap:wrap}
.foot h4{font-family:var(--f-mono);font-size:.72rem;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);margin:0 0 12px;font-weight:500}
.foot ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px;font-size:.92rem}
.foot ul a{text-decoration:none}
.foot ul a:hover{color:var(--teal)}
.legal{margin-top:40px;display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;font-family:var(--f-mono);font-size:.74rem;color:var(--muted)}

/* Multi-page additions */
body{margin:0}
img{max-width:100%}
[hidden]{display:none!important}
.nav-links a[aria-current="page"]{color:var(--ink);font-weight:600;box-shadow:inset 0 -2px 0 var(--teal)}
@media (max-width:1240px){.nav-links a[aria-current="page"]{box-shadow:inset 3px 0 0 var(--teal);padding-left:12px}}
section.block.first{border-top:0;padding-top:clamp(48px,7vw,88px)}
.page-title{font-weight:800;font-stretch:88%;font-size:clamp(2.3rem,4.8vw,3.8rem);line-height:1.03;margin-top:14px}
.first-contact{padding-block:clamp(40px,6vw,72px) 0}
.cta-band{display:grid;grid-template-columns:minmax(0,1.3fr) auto;gap:32px;align-items:center;padding:clamp(28px,4vw,44px);border-radius:14px;background:var(--teal-soft);border:1px solid var(--line)}
.cta-band h2{font-weight:800;font-stretch:92%;font-size:clamp(1.6rem,3vw,2.3rem);line-height:1.1;margin-top:10px}
.cta-band p{color:var(--muted);margin-top:10px;max-width:58ch}
.cta-actions{display:flex;flex-direction:column;gap:10px}
@media (max-width:800px){.cta-band{grid-template-columns:minmax(0,1fr)}.cta-actions{flex-direction:row;flex-wrap:wrap}}

/* Hero process diagram */
.flow{margin:0;background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:22px 24px 24px;box-shadow:0 24px 48px -32px color-mix(in srgb,var(--ink) 45%,transparent)}
.flow-head{display:flex;justify-content:space-between;align-items:baseline;gap:12px;flex-wrap:wrap;font-family:var(--f-mono);font-size:.74rem;color:var(--muted);letter-spacing:.04em;padding-bottom:14px;margin-bottom:6px;border-bottom:1px dashed var(--line)}
.flow-head a{color:var(--teal);text-decoration:none}
.flow-head a:hover{text-decoration:underline}
.flow-list{list-style:none;margin:0;padding:0;position:relative}
.flow-list li{display:grid;grid-template-columns:40px minmax(0,1fr);gap:16px;padding-block:12px;position:relative}
.flow-list li:not(:last-child)::before{content:"";position:absolute;left:19px;top:44px;bottom:-12px;width:2px;background:repeating-linear-gradient(180deg,var(--teal) 0 5px,transparent 5px 9px)}
.flow-list .dot{width:40px;height:40px;border-radius:50%;display:grid;place-items:center;font-family:var(--f-mono);font-weight:500;font-size:.9rem;border:1.5px solid var(--teal);color:var(--teal);background:var(--surface);position:relative;z-index:1;transition:background .3s,color .3s,transform .3s}
.flow-list h3{font-size:1.08rem;font-weight:800;font-stretch:95%}
.flow-list p{font-size:.88rem;color:var(--muted);margin-top:2px}
.flow-row{display:flex;justify-content:space-between;align-items:baseline;gap:10px;flex-wrap:wrap}
.flow-row .when{font-family:var(--f-mono);font-size:.7rem;color:var(--muted)}
.flow-step .out{display:inline-block;margin-top:8px;font-family:var(--f-mono);font-size:.68rem;padding:3px 8px;border-radius:4px;background:var(--teal-soft);color:var(--teal)}
.flow-start .dot{border-style:dashed;border-color:var(--amber);color:var(--amber);background:var(--amber-soft)}
.flow-start h3{color:var(--amber)}
.flow-finish .dot{background:var(--teal);color:var(--on-teal)}
.flow-step.active .dot{background:var(--teal);color:var(--on-teal);transform:scale(1.08)}
@media (prefers-reduced-motion: reduce){.flow-list .dot{transition:none}.flow-step.active .dot{transform:none}}

/* Logo tagline + hero positioning line */
.logo-text{display:flex;flex-direction:column;line-height:1.05}
.logo-tag{font-family:var(--f-mono);font-size:.62rem;letter-spacing:.1em;text-transform:uppercase;color:var(--teal);margin-top:3px}
.hero-eyebrow{display:inline-flex;align-items:center;gap:10px;padding:6px 12px;border-radius:999px;background:var(--teal-soft);font-weight:500}
.hero-eyebrow::before{content:"";width:7px;height:7px;border-radius:50%;background:var(--teal)}

/* Expertise ecosystem */
.inline-link{color:var(--teal);font-weight:500;text-decoration:none;white-space:nowrap}
.inline-link:hover{text-decoration:underline}
.eco{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px}
@media (max-width:1000px){.eco{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:560px){.eco{grid-template-columns:minmax(0,1fr)}}
.eco-col{background:var(--surface);border:1px solid var(--line);border-radius:10px;padding:24px;display:flex;flex-direction:column;gap:16px;transition:border-color .2s}
.eco-col:hover{border-color:var(--teal)}
.eco-head{display:flex;align-items:center;gap:12px;padding-bottom:14px;border-bottom:1.5px solid var(--ink)}
.eco-ico{width:38px;height:38px;border-radius:8px;background:var(--teal-soft);color:var(--teal);display:grid;place-items:center;flex:none}
.eco-ico svg{width:20px;height:20px}
.eco-head h3{font-size:1.3rem;font-weight:800;font-stretch:95%}
.eco-col ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column}
.eco-col li{display:flex;flex-direction:column;gap:2px;padding-block:10px;border-bottom:1px dashed var(--line)}
.eco-col li:last-child{border-bottom:0;padding-bottom:0}
.eco-col li b{font-weight:600;font-size:.98rem}
.eco-col li span{font-size:.84rem;color:var(--muted)}

/* Expertise: tools band */
.tools{margin-top:20px;display:grid;grid-template-columns:minmax(0,200px) minmax(0,1fr);gap:24px;align-items:center;padding:24px;border-radius:10px;background:var(--teal-soft);border:1px solid var(--line)}
.tools-title{display:flex;align-items:center;gap:12px}
.tools-title .eco-ico{background:var(--surface)}
.tools-title h3{font-size:1.3rem;font-weight:800;font-stretch:95%}
.tools-groups{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.6fr);gap:24px}
.tools-group{display:flex;flex-direction:column;gap:10px;min-width:0}
.tools-label{font-family:var(--f-mono);font-size:.7rem;letter-spacing:.1em;text-transform:uppercase;color:var(--teal)}
.tools-group ul{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:8px}
.tools-group li{font-weight:600;font-size:.9rem;padding:8px 14px;border-radius:999px;background:var(--surface);border:1px solid var(--line)}
@media (max-width:900px){.tools,.tools-groups{grid-template-columns:minmax(0,1fr)}}
.hero-grid > div:first-child{padding-top:clamp(8px,2vw,24px)}

/* Services ↔ home alignment */
.gap-item a.fix{text-decoration:none}
.gap-item a.fix:hover{text-decoration:underline}
.svc-card .closes{font-family:var(--f-mono);font-size:.72rem;letter-spacing:.04em;color:var(--amber);margin-top:-4px}
.svc-card{scroll-margin-top:88px}
.badge-soft{background:var(--teal-soft);color:var(--teal)}
.model{scroll-margin-top:88px}

/* Why page: three pillars matching the brand lines */
.pillars{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
@media (max-width:960px){.pillars{grid-template-columns:minmax(0,1fr)}}
.pillar{background:var(--surface);border:1px solid var(--line);border-top:3px solid var(--teal);border-radius:10px;padding:26px;display:flex;flex-direction:column;gap:12px}
.pillar h3{font-size:1.3rem;font-weight:800;font-stretch:95%;line-height:1.15}
.pillar ul{list-style:none;margin:4px 0 0;padding:0;display:flex;flex-direction:column}
.pillar li{font-size:.93rem;color:var(--muted);padding-block:11px;border-top:1px dashed var(--line)}
.pillar li b{color:var(--ink);font-weight:600}
.metric-link{display:inline-block;margin-top:10px;font-family:var(--f-mono);font-size:.68rem;color:var(--teal)}
.why-tools{margin-top:36px}
.tools-groups-3{grid-template-columns:repeat(3,minmax(0,1fr))}
@media (max-width:900px){.tools-groups-3{grid-template-columns:minmax(0,1fr)}}

/* Approach page */
.journey{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin-bottom:40px;font-size:.92rem}
.journey-end{padding:10px 14px;border-radius:8px;font-weight:500}
.journey-from{background:var(--amber-soft);color:var(--ink);border:1.5px dashed var(--amber)}
.journey-to{background:var(--teal);color:var(--on-teal)}
.journey-arrow{flex:1;min-width:40px;height:2px;background:repeating-linear-gradient(90deg,var(--teal) 0 6px,transparent 6px 11px);position:relative}
.journey-arrow::after{content:"";position:absolute;right:-2px;top:-5px;border:6px solid transparent;border-left:8px solid var(--teal)}
.step-meta{margin:16px 0 0;padding-top:12px;border-top:1px dashed var(--line);display:grid;grid-template-columns:auto minmax(0,1fr);gap:6px 12px;font-size:.84rem}
.step-meta dt{font-family:var(--f-mono);font-size:.68rem;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);padding-top:2px}
.step-meta dd{margin:0;line-height:1.5}
.ai-svc{display:inline-block;margin-top:8px;font-family:var(--f-mono);font-size:.68rem;padding:3px 8px;border-radius:4px;background:var(--teal-soft);color:var(--teal)}
.ai-models{padding-top:20px;display:flex;flex-direction:column;gap:10px}
.ai-models ul{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:8px}
.ai-models li{font-weight:600;font-size:.85rem;padding:6px 12px;border-radius:999px;background:var(--surface);border:1px solid var(--line)}

/* About page */
.about-story{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:clamp(28px,5vw,64px);align-items:start}
@media (max-width:900px){.about-story{grid-template-columns:minmax(0,1fr)}}
.about-mission{margin:0;padding:clamp(24px,4vw,40px);border-radius:12px;background:var(--teal-soft);border:1px solid var(--line);display:flex;flex-direction:column;gap:14px}
.about-mission p{font-family:var(--f-display);font-weight:800;font-stretch:90%;font-size:clamp(1.5rem,2.6vw,2rem);line-height:1.15;text-wrap:balance}
.about-copy{display:flex;flex-direction:column;gap:14px;max-width:62ch}
.about-copy h3{font-size:1.3rem;font-weight:800;font-stretch:95%}
.about-copy p{color:var(--muted)}
.values{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px}
@media (max-width:960px){.values{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:560px){.values{grid-template-columns:minmax(0,1fr)}}
.value{background:var(--surface);border:1px solid var(--line);border-radius:10px;padding:24px;display:flex;flex-direction:column;gap:10px}
.value .n{font-family:var(--f-display);font-weight:800;font-stretch:75%;font-size:2.2rem;line-height:1;color:var(--teal)}
.value h3{font-size:1.15rem;font-weight:800;font-stretch:95%}
.value p{font-size:.92rem;color:var(--muted)}
.serve{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px;padding-top:20px;border-top:1.5px solid var(--ink)}
@media (max-width:900px){.serve{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:480px){.serve{grid-template-columns:minmax(0,1fr)}}
.serve-group{display:flex;flex-direction:column;gap:10px;min-width:0}
.serve-group ul{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:8px}
.serve-group li{font-weight:600;font-size:.88rem;padding:6px 12px;border-radius:999px;background:var(--surface);border:1px solid var(--line)}

/* Six services: 3 x 2 grid; six gaps: 3 x 2 grid */
.svc-cards .svc-card,.svc-cards .svc-card:nth-child(n){grid-column:span 2}
@media (max-width:900px){.svc-cards .svc-card,.svc-cards .svc-card:nth-child(n),.svc-cards .svc-card:last-child{grid-column:span 1}}
@media (max-width:600px){.svc-cards .svc-card:nth-child(n){grid-column:auto}}
.gaps{grid-template-columns:repeat(3,minmax(0,1fr))}
@media (max-width:900px){.gaps{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:560px){.gaps{grid-template-columns:minmax(0,1fr)}}

/* Home hero: fit the whole first view on a laptop screen (~1366 x 630 visible) */
.hero{padding-block:clamp(20px,3vw,36px) clamp(40px,5vw,64px)}
.hero-grid{align-items:center}
.hero-grid > div:first-child{padding-top:0}
.hero h1{font-size:clamp(2.2rem,4vw,3.5rem);line-height:1.04;margin-top:14px}
.hero .lede{font-size:1.05rem;margin-top:16px;max-width:54ch}
.hero .ctas{margin-top:24px}
.flow{padding:16px 20px 16px}
.flow-head{padding-bottom:10px;margin-bottom:4px}
.flow-list li{grid-template-columns:32px minmax(0,1fr);gap:14px;padding-block:7px;align-items:center}
.flow-list li:not(:last-child)::before{left:15px;top:39px;bottom:-7px}
.flow-list .dot{width:32px;height:32px;font-size:.8rem}
.flow-list h3{font-size:1rem}
.flow-list p{font-size:.84rem;margin-top:0}
.flow-step > div{display:flex;flex-wrap:wrap;align-items:center;gap:4px 10px}
.flow-step .flow-row{display:contents}
.flow-step h3{order:1}
.flow-step .out{order:2;margin-top:0}
.flow-step .when{order:3;margin-left:auto}
.flow-step p{display:none}

/* Home hero, balanced: fills the first view and scales with the screen */
.hero{min-height:min(calc(100vh - 70px),860px);min-height:min(calc(100svh - 70px),860px);display:flex;align-items:center;padding-block:28px 44px}
.hero > .wrap{width:100%}
.hero-grid{grid-template-columns:minmax(0,1.08fr) minmax(0,.92fr);gap:clamp(32px,5vw,80px)}
.hero h1{font-size:clamp(2.3rem,4.3vw,4.3rem);line-height:1.03;margin-top:16px}
.hero .lede{font-size:clamp(1.02rem,1.25vw,1.22rem);line-height:1.6;margin-top:18px;max-width:56ch}
.hero .ctas{margin-top:clamp(22px,2.4vw,32px)}
.hero .btn{padding:15px 24px;font-size:1rem}
.hero-eyebrow{font-size:.78rem}
.flow{padding:clamp(16px,1.6vw,24px) clamp(18px,1.8vw,26px)}
.flow-head{font-size:.78rem;padding-bottom:12px;margin-bottom:6px}
.flow-list li{grid-template-columns:36px minmax(0,1fr);gap:16px;padding-block:clamp(7px,.8vw,11px)}
.flow-list li:not(:last-child)::before{left:17px;top:calc(50% + 20px);bottom:calc(-50% + 20px)}
.flow-list .dot{width:36px;height:36px;font-size:.85rem}
.flow-list h3{font-size:clamp(1rem,1.15vw,1.15rem)}
.flow-list p{font-size:clamp(.84rem,.95vw,.92rem)}
.flow-step .out{font-size:clamp(.66rem,.75vw,.74rem);padding:4px 9px}
.flow-step .when{font-size:.72rem}
@media (max-width:900px){.hero{min-height:0;display:block;padding-block:28px 48px}}
/* Hero fine-tune: steps on two even lines; headline capped at three lines */
.hero{min-height:min(calc(100vh - 70px),780px);min-height:min(calc(100svh - 70px),780px)}
.hero h1{font-size:clamp(2.3rem,4.3vw,3.75rem)}
.flow-step > div{display:block}
.flow-step .flow-row{display:flex;justify-content:space-between;align-items:baseline;gap:10px}
.flow-step .out{display:inline-block;margin-top:5px}
.flow-step .when{margin-left:0}
.flow-list li{padding-block:clamp(6px,.65vw,9px)}
@media (max-width:900px){.hero{min-height:0}}

/* Inner pages: heading stands alone at the top */
.sec-head-solo{grid-template-columns:minmax(0,1fr);margin-bottom:clamp(32px,4.5vw,52px)}
.sec-head-solo .page-title{margin-top:0;max-width:24ch}
section.block.first{padding-top:clamp(36px,4.5vw,60px)}
.sec-head-solo .page-title{max-width:none;font-size:clamp(2.1rem,3.8vw,3.3rem)}

/* Giving back: home band, About section, footer line */
.impact-band{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:clamp(20px,3.5vw,44px);align-items:center;padding:clamp(24px,3.5vw,40px);border-radius:14px;background:var(--surface);border:1px solid var(--line);border-left:4px solid var(--teal)}
.impact-big{font-family:var(--f-display);font-weight:800;font-stretch:78%;font-size:clamp(3.2rem,6vw,5rem);line-height:.9;color:var(--teal)}
.impact-band h2{font-weight:800;font-stretch:92%;font-size:clamp(1.4rem,2.4vw,1.9rem);line-height:1.15;margin-top:8px}
.impact-band p:not(.eyebrow){color:var(--muted);margin-top:8px;max-width:60ch}
@media (max-width:800px){.impact-band{grid-template-columns:minmax(0,1fr)}}
.impact-band-wrap{padding-block:clamp(32px,5vw,56px)}
.impact-band-wrap + section.block{border-top:0}
.impact-flow{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;counter-reset:none}
@media (max-width:900px){.impact-flow{grid-template-columns:minmax(0,1fr)}}
.impact-flow li{background:var(--surface);border:1px solid var(--line);border-radius:10px;padding:24px;display:flex;flex-direction:column;gap:8px;position:relative}
.impact-n{font-family:var(--f-display);font-weight:800;font-stretch:80%;font-size:2rem;line-height:1;color:var(--teal)}
.impact-flow h3{font-size:1.15rem;font-weight:800;font-stretch:95%}
.impact-flow p{font-size:.93rem;color:var(--muted)}
.impact-note{margin-top:24px;font-family:var(--f-display);font-weight:700;font-size:1.15rem}
.foot-impact{margin-top:8px;font-size:.88rem}
.foot-impact a{color:var(--teal);text-decoration:none}
.foot-impact a:hover{text-decoration:underline}
#impact{scroll-margin-top:88px}

/* Story / talent pipeline: highlighted full-width band */
section.block.story{background:var(--surface);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
section.block.story + section.block{border-top:0}
.pipeline{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(16px,2.4vw,32px);position:relative}
.pipeline li{position:relative;display:flex;flex-direction:column;gap:8px;padding:24px;border-radius:10px;background:var(--bg);border:1px solid var(--line)}
.pipeline li:not(:last-child)::after{content:"";position:absolute;top:44px;right:calc(-1 * clamp(16px,2.4vw,32px));width:clamp(16px,2.4vw,32px);height:2px;background:repeating-linear-gradient(90deg,var(--teal) 0 5px,transparent 5px 9px)}
.pipe-k{font-family:var(--f-display);font-weight:800;font-stretch:78%;font-size:2.2rem;line-height:1;color:var(--teal)}
.pipeline h3{font-size:1.15rem;font-weight:800;font-stretch:95%}
.pipeline p{font-size:.93rem;color:var(--muted)}
.pipeline .pipe-end{background:var(--teal);border-color:var(--teal)}
.pipeline .pipe-end .pipe-k,.pipeline .pipe-end h3,.pipeline .pipe-end p{color:var(--on-teal)}
.pipeline .pipe-end p{opacity:.85}
@media (max-width:900px){.pipeline{grid-template-columns:repeat(2,minmax(0,1fr))}.pipeline li:nth-child(2)::after{display:none}}
@media (max-width:560px){.pipeline{grid-template-columns:minmax(0,1fr)}.pipeline li::after{display:none}}
/* Three-step pipeline */
.pipeline{grid-template-columns:repeat(3,minmax(0,1fr))}
@media (max-width:900px){.pipeline{grid-template-columns:minmax(0,1fr)}.pipeline li::after{display:none}}

/* Approach: CRM + AI challenges, challenge → solution rows */
.chal-list{border-top:1.5px solid var(--ink)}
.chal-head,.chal{display:grid;grid-template-columns:3.2rem minmax(0,1fr) minmax(0,1fr);gap:clamp(16px,3vw,40px)}
.chal-head{padding-block:12px;font-family:var(--f-mono);font-size:.72rem;letter-spacing:.1em;text-transform:uppercase;border-bottom:1px solid var(--line)}
.chal-head span:nth-child(2){color:var(--amber)}
.chal-head span:nth-child(3){color:var(--teal)}
.chal{padding-block:22px;border-bottom:1px solid var(--line);align-items:start}
.chal-n{font-family:var(--f-display);font-weight:800;font-stretch:78%;font-size:1.8rem;line-height:1;color:var(--muted)}
.chal-q h3{font-size:1.12rem;font-weight:800;font-stretch:96%;line-height:1.25}
.chal-q p{font-size:.92rem;color:var(--muted);margin-top:6px}
.chal-a{padding:14px 16px;border-radius:8px;background:var(--teal-soft);display:flex;flex-direction:column;gap:8px}
.chal-a p{font-size:.93rem;color:var(--ink)}
.chal-a .inline-link{font-size:.85rem}
@media (max-width:820px){
  .chal-head{display:none}
  .chal{grid-template-columns:2.4rem minmax(0,1fr);row-gap:12px}
  .chal-a{grid-column:2}
}
#challenges{scroll-margin-top:88px}

/* AI-era QA metrics */
.qm-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
@media (max-width:960px){.qm-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:600px){.qm-grid{grid-template-columns:minmax(0,1fr)}}
.qm{background:var(--surface);border:1px solid var(--line);border-top:3px solid var(--teal);border-radius:10px;padding:24px;display:flex;flex-direction:column;gap:10px}
.qm-old{font-family:var(--f-mono);font-size:.72rem;letter-spacing:.04em;color:var(--muted)}
.qm-old s{color:var(--amber);text-decoration-thickness:1.5px}
.qm h3{font-size:1.25rem;font-weight:800;font-stretch:95%}
.qm p:not(.qm-old):not(.qm-why){font-size:.94rem;color:var(--muted)}
.qm-why{margin-top:auto;padding-top:12px;border-top:1px dashed var(--line);font-size:.88rem;font-weight:500;color:var(--teal)}
.qm-note{margin-top:24px;font-family:var(--f-display);font-weight:700;font-size:1.08rem}
#metrics{scroll-margin-top:88px}

/* Hero: bridging-the-quality-gap illustration */
.bridge-fig{margin:0;background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:clamp(16px,1.6vw,24px) clamp(16px,1.8vw,26px);box-shadow:0 24px 48px -32px color-mix(in srgb,var(--ink) 45%,transparent)}
.bridge-head{display:flex;justify-content:space-between;align-items:baseline;gap:12px;flex-wrap:wrap;font-family:var(--f-mono);font-size:.78rem;color:var(--muted);padding-bottom:12px;border-bottom:1px dashed var(--line)}
.bridge-head a{color:var(--teal);text-decoration:none}
.bridge-head a:hover{text-decoration:underline}
.bridge-svg{display:block;width:100%;height:auto;max-height:52vh;margin-top:10px}
.bridge-fig figcaption{margin-top:10px;font-size:.9rem;color:var(--muted);text-align:center}
.b-gap{fill:var(--amber-soft);stroke:var(--amber);stroke-width:1.5;stroke-dasharray:6 5}
.b-gap-k{font-family:var(--f-mono);font-size:12px;letter-spacing:2.5px;font-weight:500;fill:var(--amber)}
.b-gap-t{font-family:var(--f-body);font-size:11px;fill:var(--muted)}
.b-arch{fill:none;stroke:var(--teal);stroke-width:4;stroke-linecap:round}
.b-cable{stroke:var(--teal);stroke-width:1.5;stroke-dasharray:4 4;opacity:.7}
.b-badge{fill:var(--surface);stroke:var(--teal);stroke-width:1.5}
.b-badge-t{font-family:var(--f-body);font-size:12px;font-weight:600;fill:var(--ink)}
.b-lbl text{font-family:var(--f-body);font-size:12px;font-weight:600;fill:var(--ink);text-anchor:middle}
.b-deck rect{fill:url(#plankG)}
.b-left{fill:var(--ink)}
.b-left-t{font-family:var(--f-display);font-size:15px;font-weight:800;fill:var(--bg)}
.b-left-s{font-family:var(--f-mono);font-size:10px;letter-spacing:1.5px;fill:var(--bg);opacity:.7;text-transform:uppercase}
.b-warn{fill:var(--amber)}
.b-warn-t{font-family:var(--f-display);font-size:14px;font-weight:800;fill:var(--ink)}
.b-right{fill:var(--teal)}
.b-right-t{font-family:var(--f-display);font-size:15px;font-weight:800;fill:var(--on-teal)}
.b-right-s{font-family:var(--f-body);font-size:9.5px;fill:var(--on-teal);opacity:.85}
.b-ok{fill:var(--on-teal)}
.b-ok-t{fill:none;stroke:var(--teal);stroke-width:2.5;stroke-linecap:round;stroke-linejoin:round}
.b-release rect{fill:var(--amber)}
.b-release text{font-family:var(--f-mono);font-size:9.5px;font-weight:500;fill:#1A1205}
.b-release{animation:release-cross 5s ease-in-out infinite}
@keyframes release-cross{0%,12%{transform:translateX(0)}70%,100%{transform:translateX(370px)}}
@keyframes release-color{0%,40%{fill:var(--amber)}60%,100%{fill:#7CCBFA}}
.b-release rect{animation:release-color 5s ease-in-out infinite}
@media (prefers-reduced-motion: reduce){.b-release,.b-release rect{animation:none}}
.bridge-svg{max-height:none}
.b-lbl text{font-size:12.5px}
.b-right-s{font-family:var(--f-mono);font-size:10px;letter-spacing:1.5px;text-transform:uppercase;opacity:.8}
.b-lbl text{font-size:13.5px}
.b-badge-t{font-size:13px}
.b-gap-k{font-size:13px}
.b-gap-t{font-size:12px}
.b-left-t,.b-right-t{font-size:16.5px}
.b-release text{font-size:10.5px}

/* =====================================================================
   v2: services portfolio, pain points, evolution, agentic framework,
   platforms, engagement, why, service pages, resources
   ===================================================================== */
.ico{width:22px;height:22px;flex:none}
.ico-sm{width:16px;height:16px;flex:none;vertical-align:-3px}
.page-lede{font-size:1.1rem;color:var(--muted);max-width:68ch;margin-top:-12px;margin-bottom:clamp(32px,4vw,48px)}
.fine{margin-top:20px;font-size:.8rem;color:var(--muted)}

/* Nav: services dropdown + highlighted Agentic link */
.nav-links{gap:18px;font-size:.9rem;align-items:center}
.has-drop{position:relative}
.nav-drop-btn{display:inline-flex;align-items:center;gap:4px;background:none;border:0;padding:0;font:inherit;color:var(--muted);cursor:pointer}
.nav-drop-btn:hover,.nav-drop-btn.is-current{color:var(--ink)}
.nav-drop-btn.is-current{font-weight:600;box-shadow:inset 0 -2px 0 var(--teal)}
.chev{width:14px;height:14px;transition:transform .2s}
.has-drop:hover .chev,.nav-drop-btn[aria-expanded="true"] .chev{transform:rotate(180deg)}
.drop{list-style:none;margin:0;padding:8px;position:absolute;top:calc(100% + 14px);left:-16px;width:330px;background:var(--surface);border:1px solid var(--line);border-radius:12px;box-shadow:0 24px 48px -24px color-mix(in srgb,var(--ink) 50%,transparent);opacity:0;visibility:hidden;transform:translateY(-4px);transition:opacity .15s,transform .15s,visibility .15s;z-index:20}
.drop::before{content:"";position:absolute;top:-16px;left:0;right:0;height:16px}
.has-drop:hover .drop,.has-drop:focus-within .drop,.nav-drop-btn[aria-expanded="true"] + .drop{opacity:1;visibility:visible;transform:none}
.drop a{display:flex;align-items:center;gap:10px;padding:9px 10px;border-radius:8px;color:var(--ink)!important;text-decoration:none;font-size:.9rem}
.drop a .ico{width:18px;height:18px;color:var(--teal)}
.drop a:hover,.drop a[aria-current="page"]{background:var(--teal-soft);box-shadow:none}
.drop-all{border-top:1px solid var(--line);margin-top:6px;padding-top:6px}
.drop-all a{font-weight:600;color:var(--teal)!important}
.nav-hot{color:var(--teal)!important;font-weight:600}
@media (max-width:1240px){
  .nav-links{gap:0}
  .nav-drop-btn{display:flex;width:100%;justify-content:space-between;padding:12px 0;border-top:1px solid var(--line)}
  .drop{position:static;width:auto;opacity:1;visibility:visible;transform:none;box-shadow:none;border:0;padding:0 0 8px 8px;background:none;display:none}
  .nav-drop-btn[aria-expanded="true"] + .drop{display:block}
  .drop::before{display:none}
  .drop a{padding:9px 8px;border-top:0!important}
}

/* Three-gap legend */
.gap-legend{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:-12px 0 28px}
.gap-legend span{font-size:.88rem;color:var(--muted);padding:12px 14px;border-radius:8px;background:var(--surface);border:1px solid var(--line)}
.gap-legend b{display:block;font-family:var(--f-mono);font-size:.72rem;letter-spacing:.08em;text-transform:uppercase;color:var(--teal);margin-bottom:4px;font-weight:500}
@media (max-width:760px){.gap-legend{grid-template-columns:minmax(0,1fr)}}

/* Pain points */
.pain-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
@media (max-width:960px){.pain-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:600px){.pain-grid{grid-template-columns:minmax(0,1fr)}}
.pain{background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:22px;display:flex;flex-direction:column;gap:10px;transition:border-color .2s,transform .2s}
.pain:hover{border-color:var(--teal);transform:translateY(-2px)}
.pain-ico{width:42px;height:42px;border-radius:10px;display:grid;place-items:center;background:var(--amber-soft);color:var(--amber)}
.pain h3{font-size:1.12rem;font-weight:800;font-stretch:96%}
.pain-q,.pain-a{font-size:.92rem}
.pain-q{color:var(--muted)}
.pain-q span,.pain-a span{display:block;font-family:var(--f-mono);font-size:.66rem;letter-spacing:.1em;text-transform:uppercase;margin-bottom:2px}
.pain-q span{color:var(--amber)}
.pain-a{margin-top:auto;padding:10px 12px;border-radius:8px;background:var(--teal-soft);color:var(--ink);text-decoration:none;font-weight:600}
.pain-a span{color:var(--teal);font-weight:500}
.pain-a .ico-sm{color:var(--teal);transition:transform .2s}
.pain-a:hover .ico-sm{transform:translateX(3px)}

/* Service cards */
.s-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.s-grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}
@media (max-width:960px){.s-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:640px){.s-grid,.s-grid-2{grid-template-columns:minmax(0,1fr)}}
.s-card{position:relative;background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:24px;display:flex;flex-direction:column;gap:10px;transition:border-color .2s,box-shadow .2s,transform .2s}
.s-card:hover{border-color:var(--teal);transform:translateY(-3px);box-shadow:0 18px 36px -26px color-mix(in srgb,var(--ink) 50%,transparent)}
.s-card-hot{background:linear-gradient(160deg,var(--teal-soft),var(--surface) 65%)}
.s-top{display:flex;justify-content:space-between;align-items:center;gap:10px}
.s-ico{width:44px;height:44px;border-radius:10px;display:grid;place-items:center;background:var(--teal-soft);color:var(--teal)}
.s-gap{font-family:var(--f-mono);font-size:.66rem;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);border:1px solid var(--line);border-radius:999px;padding:3px 9px}
.s-card h3{font-size:1.22rem;font-weight:800;font-stretch:95%;line-height:1.2}
.s-card h3 a{text-decoration:none;color:inherit}
.s-card h3 a::after{content:"";position:absolute;inset:0;border-radius:12px}
.s-head{font-weight:600;color:var(--teal);font-size:.95rem}
.s-desc{font-size:.92rem;color:var(--muted)}
.s-caps{list-style:none;margin:4px 0 0;padding:0;display:flex;flex-wrap:wrap;gap:6px}
.s-caps li{font-size:.76rem;padding:4px 9px;border-radius:6px;border:1px solid var(--line);color:var(--muted)}
.s-more{margin-top:auto;padding-top:8px;display:inline-flex;align-items:center;gap:6px;font-weight:600;font-size:.9rem;color:var(--teal);text-decoration:none}
.s-more .ico-sm{transition:transform .2s}
.s-card:hover .s-more .ico-sm,.res:hover .s-more .ico-sm{transform:translateX(3px)}

/* Evolution diagram */
.evo{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(20px,3vw,40px);position:relative}
.evo::before{content:"";position:absolute;top:27px;left:28px;right:28px;height:3px;border-radius:2px;background:linear-gradient(90deg,var(--line),var(--teal) 55%,#1AB0FF)}
.evo-stage{position:relative;background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:0 22px 22px;display:flex;flex-direction:column;gap:8px}
.evo-top{display:flex;align-items:center;justify-content:space-between;padding-top:6px}
.evo-n{width:44px;height:44px;border-radius:50%;display:grid;place-items:center;font-family:var(--f-display);font-weight:800;font-size:1.2rem;background:var(--bg);border:2px solid var(--teal);color:var(--teal);position:relative;z-index:1;animation:evo-pulse 6s infinite}
.evo-2 .evo-n{animation-delay:2s}
.evo-3 .evo-n{animation-delay:4s;background:var(--teal);color:var(--on-teal)}
@keyframes evo-pulse{0%,30%,100%{box-shadow:0 0 0 0 transparent}10%{box-shadow:0 0 0 8px color-mix(in srgb,var(--teal) 25%,transparent)}}
.evo-tag{font-family:var(--f-mono);font-size:.66rem;letter-spacing:.08em;text-transform:uppercase;padding:3px 8px;border-radius:999px;background:var(--amber-soft);color:var(--amber)}
.evo-k{font-family:var(--f-mono);font-size:.7rem;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);margin-top:6px}
.evo h3{font-size:1.18rem;font-weight:800;font-stretch:95%}
.evo ul{list-style:none;margin:6px 0 0;padding:0;display:flex;flex-direction:column;gap:8px}
.evo ul li{display:flex;gap:8px;align-items:flex-start;font-size:.92rem;color:var(--muted)}
.evo ul .ico-sm{color:var(--teal);margin-top:2px}
.evo-3{border-color:var(--teal);box-shadow:0 0 0 1px var(--teal)}
@media (max-width:860px){
  .evo{grid-template-columns:minmax(0,1fr)}
  .evo::before{top:28px;bottom:28px;left:43px;right:auto;width:3px;height:auto;background:linear-gradient(180deg,var(--line),var(--teal) 55%,#1AB0FF)}
}
@media (prefers-reduced-motion: reduce){.evo-n{animation:none}}

/* Agentic framework */
.af{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:20px}
.af-q{border-radius:14px;padding:26px;display:flex;flex-direction:column;gap:10px;position:relative}
.af-q1{background:var(--teal);color:var(--on-teal)}
.af-q2{background:var(--surface);border:1.5px solid var(--teal)}
.af-k{font-family:var(--f-mono);font-size:.7rem;letter-spacing:.12em;text-transform:uppercase;opacity:.8}
.af-q2 .af-k{color:var(--teal);opacity:1}
.af-q h3{font-size:clamp(1.3rem,2.2vw,1.65rem);font-weight:800;font-stretch:92%;line-height:1.15}
.af-q > p{font-size:.95rem;opacity:.9}
.af-q2 > p{color:var(--muted);opacity:1}
.af-q ul{list-style:none;margin:4px 0 6px;padding:0;display:flex;flex-wrap:wrap;gap:6px}
.af-q li{font-size:.8rem;font-weight:600;padding:5px 10px;border-radius:999px}
.af-q1 li{background:color-mix(in srgb,var(--on-teal) 14%,transparent)}
.af-q2 li{background:var(--teal-soft);color:var(--ink)}
.af-q1 .inline-link{color:var(--on-teal);text-decoration:underline;text-underline-offset:3px}
.af-q .inline-link{margin-top:auto}
.af-q::after{content:"";position:absolute;bottom:-21px;left:50%;width:2px;height:20px;background:var(--teal)}
.af-base{grid-column:1/-1;display:flex;flex-wrap:wrap;align-items:center;gap:6px 16px;padding:16px 20px;border-radius:12px;background:var(--teal-soft);border:1px dashed var(--teal)}
.af-base-k{font-family:var(--f-display);font-weight:800;font-size:1.05rem}
.af-base-items{font-size:.9rem;color:var(--muted)}
.af-mon{grid-column:1/-1;display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:18px;align-items:center;padding:20px 22px;border-radius:12px;background:var(--surface);border:1px solid var(--line)}
.af-mon-ico{width:46px;height:46px;border-radius:50%;display:grid;place-items:center;background:var(--amber-soft);color:var(--amber)}
.af-mon-ico .ico{animation:spin 8s linear infinite}
@keyframes spin{to{transform:rotate(360deg)}}
.af-mon h3{font-size:1.12rem;font-weight:800}
.af-mon p{font-size:.92rem;color:var(--muted);margin-top:4px;max-width:62ch}
.af-loop{list-style:none;margin:0;padding:0;display:flex;gap:6px;flex-wrap:wrap}
.af-loop li{font-family:var(--f-mono);font-size:.68rem;padding:5px 8px;border-radius:6px;border:1px solid var(--line);white-space:nowrap}
.af-loop li:not(:last-child)::after{content:" \2192";color:var(--teal)}
@media (max-width:900px){.af{grid-template-columns:minmax(0,1fr)}.af-q::after{display:none}.af-mon{grid-template-columns:auto minmax(0,1fr)}.af-loop{grid-column:1/-1}}
@media (prefers-reduced-motion: reduce){.af-mon-ico .ico{animation:none}}

/* Platforms ecosystem */
.eco{display:grid;gap:22px}
.eco-fig{background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:clamp(12px,2vw,24px)}
.eco-svg{display:block;width:100%;height:auto;max-width:760px;margin:0 auto}
.eco-lines path{stroke:var(--teal);stroke-width:2;stroke-dasharray:6 6;fill:none;animation:dash 1.6s linear infinite}
@keyframes dash{to{stroke-dashoffset:-24}}
.eco-node rect{fill:var(--bg);stroke:var(--line);stroke-width:1.5}
.eco-node text{font-family:var(--f-body);font-size:15px;font-weight:600;fill:var(--ink);text-anchor:middle}
.eco-hub rect{fill:var(--teal)}
.eco-hub-t{font-family:var(--f-display);font-size:17px;font-weight:800;fill:var(--on-teal);text-anchor:middle}
.eco-hub-s{font-family:var(--f-mono);font-size:12px;fill:var(--on-teal);text-anchor:middle;opacity:.9}
.eco-cap{font-family:var(--f-body);font-size:13px;fill:var(--muted);text-anchor:middle}
@media (prefers-reduced-motion: reduce){.eco-lines path{animation:none}}
.plat-chips{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:10px}
.plat-chips li{display:flex;align-items:center;gap:10px;padding:12px 14px;border-radius:10px;background:var(--surface);border:1px solid var(--line);font-weight:600;font-size:.9rem}
.plat-chips .ico{color:var(--teal)}
.plat-grid{margin-top:24px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.plat-grid .plat:last-child{grid-column:1/-1}
@media (max-width:900px){.plat-grid{grid-template-columns:minmax(0,1fr)}}
.plat{background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:22px;display:flex;flex-direction:column;gap:8px}
.plat-ico{width:28px;height:28px;color:var(--teal)}
.plat h3{font-size:1.15rem;font-weight:800}
.plat p{font-size:.92rem;color:var(--muted)}

/* Engagement */
.spectrum{display:flex;align-items:center;gap:14px;margin-bottom:18px;font-family:var(--f-mono);font-size:.72rem;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
.sp-bar{flex:1;height:8px;border-radius:4px;background:linear-gradient(90deg,var(--teal-soft),var(--teal))}
.eng-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
@media (max-width:900px){.eng-grid{grid-template-columns:minmax(0,1fr)}.spectrum{display:none}}
.eng{background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:24px;display:flex;flex-direction:column;gap:10px;border-top:4px solid color-mix(in srgb,var(--teal) 40%,var(--line))}
.eng-2{border-top-color:color-mix(in srgb,var(--teal) 70%,var(--line))}
.eng-3{border-top-color:var(--teal)}
.eng-ico{width:42px;height:42px;border-radius:10px;display:grid;place-items:center;background:var(--teal-soft);color:var(--teal)}
.eng-k{font-family:var(--f-mono);font-size:.68rem;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
.eng h3{font-size:1.25rem;font-weight:800;font-stretch:95%}
.eng p{font-size:.93rem;color:var(--muted)}
.eng .btn{margin-top:auto;align-self:flex-start}

/* Why (home) */
.why5{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:16px}
@media (max-width:1100px){.why5{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (max-width:700px){.why5{grid-template-columns:minmax(0,1fr)}}
.why5-i{padding:20px;border-radius:12px;background:var(--surface);border:1px solid var(--line);display:flex;flex-direction:column;gap:8px}
.why5-ico{width:26px;height:26px;color:var(--teal)}
.why5-i h3{font-size:1.02rem;font-weight:800;line-height:1.25}
.why5-i p{font-size:.88rem;color:var(--muted)}

/* Compare (3 AI services) */
.cmp3{min-width:720px}
.cmp3 thead th a{color:var(--teal);text-decoration:none}
.cmp3 thead th{text-transform:none;letter-spacing:0;font-family:var(--f-display);font-size:.98rem;font-weight:800;color:var(--ink)}
.cmp3 td:last-child{background:transparent;font-weight:400;color:var(--muted)}
.cmp3 tbody th{width:18%}

/* Service detail page */
.crumbs{display:flex;gap:8px;font-size:.85rem;color:var(--muted);margin-bottom:18px}
.crumbs a{color:var(--teal);text-decoration:none}
.svc-hero-grid{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:clamp(28px,4vw,64px);align-items:center}
@media (max-width:900px){.svc-hero-grid{grid-template-columns:minmax(0,1fr)}}
.eyebrow-pill{display:inline-flex;align-items:center;gap:8px;padding:6px 12px;border-radius:999px;background:var(--teal-soft);font-weight:500}
.svc-hero .page-title{margin-top:14px}
.svc-hero .lede{margin-top:16px;font-size:1.08rem;color:var(--muted);max-width:60ch}
.svc-hero .ctas{display:flex;flex-wrap:wrap;gap:12px;margin-top:24px}
.svc-note{margin-top:16px;padding:12px 14px;border-left:3px solid var(--amber);background:var(--amber-soft);border-radius:0 8px 8px 0;font-size:.92rem}
.sflow{margin:0;background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:22px}
.sflow-h{font-family:var(--f-mono);font-size:.76rem;letter-spacing:.04em;color:var(--muted);padding-bottom:12px;border-bottom:1px dashed var(--line)}
.sflow-steps{list-style:none;margin:14px 0 0;padding:0;display:flex;flex-direction:column;gap:10px;position:relative}
.sflow-steps::before{content:"";position:absolute;left:15px;top:16px;bottom:16px;width:2px;background:repeating-linear-gradient(180deg,var(--teal) 0 5px,transparent 5px 9px)}
.sflow-steps li{display:flex;align-items:center;gap:14px;font-weight:600;font-size:.95rem;position:relative}
.sflow-steps li span{width:32px;height:32px;border-radius:50%;display:grid;place-items:center;flex:none;font-family:var(--f-mono);font-size:.8rem;background:var(--bg);border:1.5px solid var(--teal);color:var(--teal);animation:evo-pulse 7.5s infinite}
.sflow-steps li:nth-child(2) span{animation-delay:1.5s}
.sflow-steps li:nth-child(3) span{animation-delay:3s}
.sflow-steps li:nth-child(4) span{animation-delay:4.5s}
.sflow-steps li:last-child span{background:var(--teal);color:var(--on-teal);animation-delay:6s}
.sflow-loop{margin-top:12px;display:inline-flex;align-items:center;gap:6px;font-family:var(--f-mono);font-size:.72rem;color:var(--teal);padding:4px 10px;border-radius:999px;background:var(--teal-soft)}
.sflow-note{margin-top:12px;font-size:.88rem;color:var(--muted)}
@media (prefers-reduced-motion: reduce){.sflow-steps li span{animation:none}}
.prob-grid{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr));gap:14px}
.prob-grid li{display:flex;gap:12px;align-items:flex-start;padding:16px;border-radius:10px;background:var(--surface);border:1px solid var(--line);font-weight:600;font-size:.95rem}
.prob-ico{color:var(--amber)}
.cap-grid{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:14px}
@media (max-width:1000px){.cap-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:560px){.cap-grid{grid-template-columns:minmax(0,1fr)}}
.cap-grid li{padding:20px;border-radius:12px;background:var(--surface);border:1px solid var(--line);border-top:3px solid var(--teal);display:flex;flex-direction:column;gap:10px}
.cap-n{font-family:var(--f-display);font-weight:800;font-stretch:78%;font-size:1.8rem;line-height:1;color:var(--teal)}
.cap-grid h3{font-size:1.02rem;font-weight:700;line-height:1.3}
.out-wrap{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:clamp(24px,4vw,56px);align-items:start}
.out-wrap .sec-head{grid-template-columns:minmax(0,1fr);margin-bottom:0}
@media (max-width:860px){.out-wrap{grid-template-columns:minmax(0,1fr)}}
.out-list{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
@media (max-width:560px){.out-list{grid-template-columns:minmax(0,1fr)}}
.out-list li{display:flex;gap:12px;align-items:center;padding:16px;border-radius:10px;background:var(--teal-soft);font-weight:600}
.out-list .ico{color:var(--teal)}

/* Resources */
.res-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
@media (max-width:900px){.res-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:600px){.res-grid{grid-template-columns:minmax(0,1fr)}}
.res{display:flex;flex-direction:column;gap:8px;padding:22px;border-radius:12px;background:var(--surface);border:1px solid var(--line);text-decoration:none;color:var(--ink);transition:border-color .2s,transform .2s}
.res:hover{border-color:var(--teal);transform:translateY(-2px)}
.res h3{font-size:1.15rem;font-weight:800}
.res p{font-size:.92rem;color:var(--muted)}

/* v2 fixes: platform layout, mobile hero stacking */
.ecosys{display:grid;gap:22px}
@media (max-width:900px){
  .hero{display:block}
  .hero-grid{grid-template-columns:minmax(0,1fr)}
  .bridge-fig{margin-top:8px}
}

/* Free QA audit: lead capture section */
.audit{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(24px,4vw,56px);align-items:center;padding:clamp(24px,4vw,48px);border-radius:16px;background:linear-gradient(140deg,var(--teal-soft),var(--surface) 60%);border:1.5px solid var(--teal)}
@media (max-width:900px){.audit{grid-template-columns:minmax(0,1fr)}}
.audit-offer h2{font-weight:800;font-stretch:92%;font-size:clamp(1.8rem,3.4vw,2.6rem);line-height:1.08;margin-top:10px}
.audit-offer > p:not(.eyebrow){color:var(--muted);margin-top:12px;max-width:52ch}
.audit-list{list-style:none;margin:20px 0 0;padding:0;display:flex;flex-direction:column;gap:10px}
.audit-list li{display:flex;gap:10px;align-items:flex-start;font-weight:500}
.audit-list .ico{color:var(--teal);margin-top:1px}
.audit-free{margin-top:18px;display:inline-block;font-family:var(--f-mono);font-size:.76rem;letter-spacing:.08em;text-transform:uppercase;padding:6px 12px;border-radius:999px;background:var(--amber-soft);color:var(--amber)}
.audit-form{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:14px;padding:clamp(20px,3vw,28px);border-radius:14px;background:var(--surface);border:1px solid var(--line);box-shadow:0 24px 48px -32px color-mix(in srgb,var(--ink) 45%,transparent)}
.audit-form h3{grid-column:1/-1;font-size:1.2rem;font-weight:800}
.audit-form label{color:var(--muted);opacity:1}
.audit-form label:nth-of-type(4){grid-column:1/-1}
.audit-form input,.audit-form select{color:var(--ink);background:var(--bg);border:1px solid var(--line)}
.audit-form input::placeholder{color:var(--muted);opacity:.7}
.audit-form input:focus,.audit-form select:focus{outline:2px solid var(--teal);outline-offset:1px;border-color:transparent}
.audit-form .btn{grid-column:1/-1;justify-content:center;padding:15px 20px;font-size:1rem}
.audit-form .form-msg{grid-column:1/-1;color:var(--ink);background:var(--teal-soft);border-color:var(--teal)}
@media (max-width:540px){.audit-form{grid-template-columns:minmax(0,1fr)}}
#audit{scroll-margin-top:80px}
.audit-wrap + section.block{border-top:0}
.audit-form label:nth-of-type(3){grid-column:1/-1}

/* =====================================================================
   v3: CRM & enterprise positioning: platforms, pillars, technology,
   API workflow, CRM examples, platform & technology pages
   ===================================================================== */

/* Hero platform strip */
.hero-plats{list-style:none;margin:16px 0 0;padding:0;display:flex;flex-wrap:wrap;gap:8px}
.hero-plats li{font-size:.82rem;font-weight:600;padding:5px 11px;border-radius:999px;border:1px solid var(--line);background:var(--surface)}
.hero-plats .hp-ai{border-color:var(--teal);color:var(--teal)}
@media (min-width:901px) and (max-height:820px){.hero .lede{font-size:1rem}.hero-plats{margin-top:12px}.hero h1{font-size:clamp(2.2rem,min(4.2vw,8.2vh),3.6rem)}}

/* Platform monogram tile */
.mono-tile{display:inline-grid;place-items:center;min-width:48px;height:48px;padding:0 8px;border-radius:12px;font-family:var(--f-display);font-weight:800;font-size:1rem;letter-spacing:-.01em;color:var(--on-teal);background:linear-gradient(140deg,#1490F3,#1AB0FF)}
.mono-sm{min-width:28px;height:28px;padding:0 5px;border-radius:7px;font-size:.66rem}
.drop .mono-sm{min-width:26px;height:22px;font-size:.6rem}

/* Home: platform cards */
.pc-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:16px}
@media (max-width:1100px){.pc-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (max-width:700px){.pc-grid{grid-template-columns:minmax(0,1fr)}}
.pc{position:relative;display:flex;flex-direction:column;gap:10px;padding:22px;border-radius:14px;background:var(--surface);border:1px solid var(--line);transition:transform .2s,border-color .2s,box-shadow .2s}
.pc:hover{transform:translateY(-4px);border-color:var(--teal);box-shadow:0 20px 40px -28px color-mix(in srgb,var(--ink) 55%,transparent)}
.pc h3{font-size:1.12rem;font-weight:800;line-height:1.2}
.pc h3 a{color:inherit;text-decoration:none}
.pc h3 a::after{content:"";position:absolute;inset:0;border-radius:14px}
.pc p{font-size:.88rem;color:var(--muted)}
.pc-cta{margin-top:auto;font-weight:600;font-size:.86rem;color:var(--teal);display:inline-flex;gap:6px;align-items:center}
.pc:hover .pc-cta .ico-sm{transform:translateX(3px)}
.pc-cta .ico-sm{transition:transform .2s}

/* Pain points (single problem line) */
.pain-q{color:var(--muted)}

/* Three pillars */
.pil-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
@media (max-width:900px){.pil-grid{grid-template-columns:minmax(0,1fr)}}
.pil{display:flex;flex-direction:column;gap:8px;padding:26px;border-radius:16px;background:var(--surface);border:1px solid var(--line);position:relative;overflow:hidden}
.pil::before{content:"";position:absolute;inset:0 0 auto 0;height:4px;background:linear-gradient(90deg,#1490F3,#1AB0FF)}
.pil-3{background:linear-gradient(165deg,var(--teal-soft),var(--surface) 70%)}
.pil-ico{width:46px;height:46px;border-radius:12px;display:grid;place-items:center;background:var(--teal-soft);color:var(--teal)}
.pil-k{font-family:var(--f-mono);font-size:.68rem;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);margin-top:4px}
.pil h3{font-size:1.3rem;font-weight:800;font-stretch:94%;line-height:1.15}
.pil-h{font-weight:600;color:var(--teal)}
.pil-t{font-size:.92rem;color:var(--muted)}
.pil-list{list-style:none;margin:8px 0 0;padding:12px 0 0;border-top:1px dashed var(--line);display:flex;flex-direction:column;gap:8px}
.pil-list a{display:flex;gap:8px;align-items:center;font-weight:600;font-size:.92rem;color:var(--ink);text-decoration:none}
.pil-list a:hover{color:var(--teal)}
.pil-list .ico-sm{color:var(--teal)}

/* Services grid: 7 cards, CRM featured (4 columns: 2+1+1 / 1+1+1+1) */
.s-grid-7{grid-template-columns:repeat(4,minmax(0,1fr))}
.s-grid-7 .s-crm{grid-column:span 2;background:linear-gradient(160deg,var(--teal-soft),var(--surface) 65%)}
@media (max-width:1100px){.s-grid-7{grid-template-columns:repeat(2,minmax(0,1fr))}.s-grid-7 .s-crm{grid-column:1/-1}}
@media (max-width:640px){.s-grid-7{grid-template-columns:minmax(0,1fr)}}
.s-gap{font-size:.6rem;text-align:right}
.svc-group + .svc-group{margin-top:clamp(36px,5vw,56px)}
.svc-group-h{display:flex;flex-wrap:wrap;align-items:baseline;gap:6px 16px;margin-bottom:18px;padding-bottom:12px;border-bottom:1.5px solid var(--ink)}
.svc-group-h h2{font-size:clamp(1.3rem,2.4vw,1.7rem);font-weight:800;font-stretch:94%}
.svc-group-h p{color:var(--teal);font-weight:600}
.svc-group .s-grid-2 > :only-child{grid-column:1/-1}

/* Technology cards */
.tc-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
@media (max-width:960px){.tc-grid{grid-template-columns:minmax(0,1fr)}}
.tc{position:relative;display:flex;flex-direction:column;gap:10px;padding:26px;border-radius:16px;background:var(--surface);border:1px solid var(--line);transition:transform .2s,border-color .2s}
.tc:hover{transform:translateY(-3px);border-color:var(--teal)}
.tc-top{display:flex;gap:14px;align-items:center}
.tc-mark{width:52px;height:52px;border-radius:14px;display:grid;place-items:center;font-family:var(--f-display);font-weight:800;font-size:1.5rem;color:var(--on-teal);background:var(--ink);flex:none}
.tc-provar .tc-mark{background:linear-gradient(140deg,#1490F3,#1AB0FF)}
.tc-playwright .tc-mark{background:#2E8B57;color:#fff}
.tc-selenium .tc-mark{background:#43B02A;color:#fff}
.tc-mark-sm{width:22px;height:22px;border-radius:6px;font-size:.75rem;display:inline-grid;color:var(--on-teal);background:var(--teal)}
.tc h3{font-size:1.35rem;font-weight:800}
.tc h3 a{color:inherit;text-decoration:none}
.tc h3 a::after{content:"";position:absolute;inset:0;border-radius:16px}
.tc-tag{font-weight:600;color:var(--teal);font-size:.92rem}
.tc > p{font-size:.93rem;color:var(--muted)}
.tc-k{font-family:var(--f-mono);font-size:.66rem;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);margin-top:4px}
.tc-uses{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:6px}
.tc-uses li{font-size:.78rem;font-weight:600;padding:4px 10px;border-radius:999px;background:var(--teal-soft)}
.tc-caps{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}
.tc-caps li{display:flex;gap:8px;align-items:flex-start;font-size:.9rem}
.tc-caps .ico-sm{color:var(--teal);margin-top:2px}

/* API workflow visual */
.apif{margin:0;background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:22px}
.apif-chain{list-style:none;margin:16px 0 0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
.apif-chain li{position:relative;display:flex;flex-direction:column;gap:2px;padding:12px 10px;border-radius:10px;background:var(--bg);border:1.5px solid var(--teal);text-align:center}
.apif-chain li:not(:last-child)::after{content:"";position:absolute;right:-14px;top:50%;width:14px;height:2px;background:var(--teal)}
.apif-chain b{font-family:var(--f-display);font-size:.98rem}
.apif-chain span{font-size:.72rem;color:var(--muted)}
.apif-layers{margin-top:14px;display:flex;flex-direction:column;gap:8px}
.apif-l{border-radius:8px;font-size:.78rem;font-weight:600;padding:7px 10px;color:var(--ink)}
.apif-l span{position:relative;z-index:1}
.apif-l.l1{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;padding:0;background:none}
.apif-l.l1 span{grid-column:1/-1;font-family:var(--f-mono);font-size:.66rem;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);font-weight:500}
.apif-l.l1 i{height:6px;border-radius:3px;background:var(--teal-soft);border:1px solid var(--teal)}
.apif-l.l2{margin:0 12%;background:color-mix(in srgb,var(--teal) 25%,var(--surface))}
.apif-l.l3{margin:0 5%;background:color-mix(in srgb,var(--teal) 45%,var(--surface))}
.apif-l.l4{background:var(--teal);color:var(--on-teal)}
@media (max-width:560px){.apif-chain{grid-template-columns:repeat(2,minmax(0,1fr))}.apif-chain li:nth-child(2)::after{display:none}.apif-l.l1{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* Service extras */
.spec-grid{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
@media (max-width:860px){.spec-grid{grid-template-columns:minmax(0,1fr)}}
.spec-grid li{display:flex;gap:12px;align-items:center;padding:16px;border-radius:10px;background:var(--surface);border:1px solid var(--line);font-weight:600}
.spec-grid .ico{color:var(--teal)}
.uc-grid{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:12px}
@media (max-width:960px){.uc-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (max-width:560px){.uc-grid{grid-template-columns:minmax(0,1fr)}}
.uc-grid li{display:flex;flex-direction:column;gap:6px;padding:16px;border-radius:10px;background:var(--teal-soft);font-weight:700}
.uc-grid span{font-family:var(--f-display);font-weight:800;font-size:1.4rem;color:var(--teal)}
.ax{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:20px}
@media (max-width:860px){.ax{grid-template-columns:minmax(0,1fr)}}
.ax-req,.ax-eval{padding:24px;border-radius:14px;border:1px solid var(--line);background:var(--surface);display:flex;flex-direction:column;gap:12px}
.ax-req .af-k,.ax-eval .af-k{color:var(--teal);opacity:1}
.ax-msg{display:flex;gap:10px;align-items:flex-start;padding:14px;border-radius:10px;background:var(--bg);font-weight:600;font-size:1rem}
.ax-msg .ico{color:var(--teal);margin-top:2px}
.ax-note{font-size:.9rem;color:var(--muted)}
.ax-eval ol{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
@media (max-width:560px){.ax-eval ol{grid-template-columns:minmax(0,1fr)}}
.ax-eval li{display:flex;gap:8px;align-items:flex-start;padding:10px 12px;border-radius:8px;background:var(--teal-soft);font-weight:600;font-size:.9rem}
.ax-eval .ico-sm{color:var(--teal);margin-top:2px}

/* Detail pages */
.cap-grid{grid-template-columns:repeat(auto-fill,minmax(min(100%,190px),1fr))}
.lk-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr));gap:18px}
.plat-tests{list-style:none;margin:14px 0 0;padding:0;display:flex;flex-direction:column;gap:9px}
.plat-tests li{display:flex;gap:10px;align-items:flex-start;font-weight:600;font-size:.94rem}
.plat-tests .ico-sm{color:var(--teal);margin-top:2px}
.plat-tools{margin-top:12px;display:flex;gap:8px;flex-wrap:wrap}
.plat-tools a{font-family:var(--f-mono);font-size:.74rem;padding:5px 10px;border-radius:999px;background:var(--teal-soft);color:var(--teal);text-decoration:none;font-weight:500}
.plat-tools a:hover{text-decoration:underline}
.plat-chips li a{display:flex;align-items:center;gap:10px;color:inherit;text-decoration:none;width:100%}
.plat-chips li:hover{border-color:var(--teal)}
.legal{flex-wrap:wrap}
.foot nav{gap:36px}
.pc .mono-tile{align-self:flex-start}
.prob-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,190px),1fr))}

/* Footer v2: brand column + four link columns + bottom bar */
footer.site-foot{margin-top:0;padding-block:clamp(48px,6vw,72px) 28px;background:var(--surface);border-top:1px solid var(--line)}
.fgrid{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,3fr);gap:clamp(32px,5vw,64px)}
.fbrand{display:flex;flex-direction:column;align-items:flex-start;gap:14px;max-width:340px}
.fpos{color:var(--muted);font-size:.92rem;line-height:1.55}
.fbrand .foot-impact{margin-top:4px;font-size:.84rem}
.fnav{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,1fr) minmax(0,.8fr) minmax(0,.9fr);gap:24px}
.fcol h4{font-family:var(--f-mono);font-size:.7rem;letter-spacing:.12em;text-transform:uppercase;color:var(--teal);margin:0 0 14px;font-weight:500}
.fcol ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px}
.fcol a{font-size:.88rem;color:var(--ink);text-decoration:none;opacity:.88;line-height:1.35}
.fcol a:hover{color:var(--teal);opacity:1}
.fbar{margin-top:clamp(36px,5vw,56px);padding-top:20px;border-top:1px solid var(--line);display:flex;justify-content:space-between;gap:10px 24px;flex-wrap:wrap;font-size:.78rem;color:var(--muted)}
@media (max-width:1000px){.fgrid{grid-template-columns:minmax(0,1fr)}.fbrand{max-width:none}}
@media (max-width:700px){.fnav{grid-template-columns:repeat(2,minmax(0,1fr));row-gap:32px}}
.audit-wrap{padding-bottom:clamp(64px,8vw,96px)}
.pc-ico{width:48px;height:48px;border-radius:12px;display:grid;place-items:center;background:var(--teal-soft);color:var(--teal)}
#audit{scroll-margin-top:110px}

/* About: giving back with our mentor */
.mentor{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.6fr);gap:20px;align-items:stretch}
@media (max-width:960px){.mentor{grid-template-columns:minmax(0,1fr)}}
.mentor-card{display:flex;flex-direction:column;gap:12px;padding:26px;border-radius:14px;background:var(--bg);border:1px solid var(--line)}
.mentor-card p{color:var(--muted);font-size:.95rem}
.mentor-top{display:flex;gap:14px;align-items:center}
.mentor-photo{width:64px;height:64px;border-radius:50%;flex:none;display:grid;place-items:center;font-family:var(--f-display);font-weight:800;font-size:1.3rem;color:var(--on-teal);background:linear-gradient(140deg,#1490F3,#1AB0FF)}
.mentor-card h3{font-size:1.3rem;font-weight:800}
.mentor-role{font-weight:600;color:var(--teal);font-size:.92rem}
.mentor-how{display:flex;flex-direction:column;gap:16px}
.mentor-steps{grid-template-columns:repeat(3,minmax(0,1fr))}
@media (max-width:700px){.mentor-steps{grid-template-columns:minmax(0,1fr)}.mentor-steps li::after{display:none}}
.mentor-facts{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.mentor-facts li{display:flex;flex-direction:column;gap:2px;padding:14px 16px;border-radius:10px;background:var(--teal-soft)}
.mentor-facts b{font-family:var(--f-display);font-weight:800;font-size:1.5rem;color:var(--teal);line-height:1.1}
.mentor-facts span{font-size:.85rem;color:var(--muted)}
@media (max-width:480px){.mentor-facts{grid-template-columns:minmax(0,1fr)}}
#community{scroll-margin-top:88px}

/* =====================================================================
   Warm, easy-to-read theme (inspired by the rural education artwork):
   cream paper, navy ink, brand blue for actions, soft terracotta accents.
   One light look for every visitor; the higher-specificity selector
   overrides the earlier light/dark token blocks.
   ===================================================================== */
:root:not(#vq), :root[data-theme]:not(#vq){
  --bg:#FBF6EC;          /* cream paper */
  --surface:#FFFDF8;     /* card white */
  --ink:#1B2A44;         /* navy ink */
  --muted:#5A6476;
  --line:#EADFCB;        /* warm hairline */
  --teal:#1F6DB5;        /* brand blue, readable on cream */
  --teal-soft:#E4EEF8;
  --amber:#B85A28;       /* terracotta */
  --amber-soft:#F8E6D6;
  --cell:#1B2A44;
  --on-teal:#FFFFFF;
  color-scheme:light;
}
body{font-size:1.02rem;line-height:1.65}
header.site{background:color-mix(in srgb,var(--bg) 92%,transparent)}
section.block{border-top-color:var(--line)}

/* Softer, friendlier cards */
.pc,.pain,.s-card,.tc,.eng,.why5-i,.pil,.res,.evo-stage,.cap-grid li,.prob-grid li,.spec-grid li,.sflow,.apif,.bridge-fig,.qm,.chal-a,.mentor-card,.plat,.ax-req,.ax-eval{border-radius:18px;box-shadow:0 10px 30px -22px rgba(120,90,40,.35)}
.s-card:hover,.pc:hover,.tc:hover,.pain:hover,.res:hover{box-shadow:0 18px 40px -24px rgba(120,90,40,.45)}
.btn{border-radius:999px}
.btn-ghost{border-color:var(--ink)}
.eyebrow{color:var(--amber)}
.hero-eyebrow{color:var(--teal)}
.hero h1 em{color:var(--teal)}
.story,section.block.story{background:#F6EEDF}
.cta-band{background:linear-gradient(135deg,#F8E6D6,#FDF3E7);border-color:#EED9C2}
.af-q1{background:var(--ink);color:#FFFDF8}
.af-q1 li{background:rgba(255,253,248,.12)}
.af-q1 .inline-link{color:#FFFDF8}
footer.site-foot{background:#F3EADA}

/* Giving back with artwork */
.giving{background:#F6EEDF}
.giving-grid{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:clamp(28px,4vw,56px);align-items:center}
@media (max-width:900px){.giving-grid{grid-template-columns:minmax(0,1fr)}}
.giving-img{margin:0;border-radius:20px;overflow:hidden;background:#FBF6EC;box-shadow:0 20px 44px -28px rgba(120,90,40,.5)}
.giving-img img{display:block;width:100%;height:auto}
.giving-text h2{font-weight:800;font-stretch:94%;font-size:clamp(1.8rem,3.2vw,2.5rem);line-height:1.1;margin-top:10px}
.giving-text > p{color:var(--muted);margin-top:14px;max-width:56ch}
.giving-list{list-style:none;margin:18px 0 0;padding:0;display:flex;flex-direction:column;gap:10px}
.giving-list li{position:relative;padding-left:28px;font-weight:600}
.giving-list li::before{content:"";position:absolute;left:0;top:.35em;width:16px;height:16px;border-radius:50%;background:#7DB35A;box-shadow:inset 0 0 0 4px #E3F0D8}
.giving-mentor{margin-top:22px;display:flex;gap:14px;align-items:center;padding:16px 18px;border-radius:16px;background:var(--surface);border:1px solid var(--line)}
.giving-mentor p{font-size:.95rem;color:var(--muted)}
.giving-mentor b{color:var(--ink)}
.giving-mentor .mentor-photo{width:52px;height:52px;font-size:1.05rem}

/* =====================================================================
   Nature theme: lighter, fresh palette with sky, meadow and leaf tones.
   Overrides the warm theme tokens (same high-specificity selector).
   ===================================================================== */
:root:not(#vq), :root[data-theme]:not(#vq){
  --bg:#FCFCF7;          /* light morning paper */
  --surface:#FFFFFF;
  --ink:#1F2F3A;         /* deep slate */
  --muted:#5A6A62;       /* mossy grey */
  --line:#E3EADB;        /* soft leaf hairline */
  --teal:#2A72B8;        /* brand blue (actions) */
  --teal-soft:#E8F2FB;   /* sky tint */
  --amber:#C66B36;       /* clay */
  --amber-soft:#FCEDE0;
  --leaf:#4F9443;        /* leaf green */
  --leaf-soft:#EAF5E3;
  --sage:#F3F8EE;        /* meadow band */
  --sky:#EAF4FB;
  --sun:#F7CD63;
  --cell:#1F2F3A;
  --on-teal:#FFFFFF;
  color-scheme:light;
}
body{background:var(--bg)}
header.site{background:color-mix(in srgb,#FFFFFF 88%,transparent);border-bottom-color:var(--line)}

/* Alternating meadow bands */
main > section.block:nth-of-type(even){background:var(--sage)}
main > section.block{border-top:0}
.story,section.block.story,.giving{background:var(--sage)}

/* Hero: sky, sun and hills */
.hero{position:relative;overflow:hidden;background:linear-gradient(180deg,var(--sky) 0%,#F4F9F1 62%,var(--sage) 100%)}
.hero::before{content:"";position:absolute;top:-120px;right:6%;width:360px;height:360px;border-radius:50%;background:radial-gradient(circle,rgba(247,205,99,.55) 0%,rgba(247,205,99,.18) 45%,transparent 70%);pointer-events:none}
.hero::after{content:"";position:absolute;left:0;right:0;bottom:0;height:130px;pointer-events:none;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1440 130' preserveAspectRatio='none'%3E%3Cpath d='M0 70 Q200 20 420 62 T860 52 T1240 40 T1440 48 V130 H0Z' fill='%23DCEBCF'/%3E%3Cpath d='M0 100 Q260 60 560 92 T1100 84 T1440 88 V130 H0Z' fill='%23F3F8EE'/%3E%3C/svg%3E") bottom/100% 100% no-repeat}
.hero > .wrap{position:relative;z-index:1}
@media (max-width:900px){.hero::after{height:80px}.hero::before{width:220px;height:220px;top:-80px}}

/* Labels with a small leaf */
.eyebrow{color:var(--leaf)}
.eyebrow:not(.hero-eyebrow):not(.eyebrow-pill)::before{content:"";display:inline-block;width:14px;height:14px;margin-right:8px;vertical-align:-2px;background:var(--leaf);-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M20 4C11 4 5 8 5 15c0 1.5.4 3 1 4l-2 2 1 1 2-2c1 .6 2.5 1 4 1 7 0 9-7 9-17zM8 17c2-4 5-7 9-9-3 3-5 6-7 10z'/%3E%3C/svg%3E") center/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M20 4C11 4 5 8 5 15c0 1.5.4 3 1 4l-2 2 1 1 2-2c1 .6 2.5 1 4 1 7 0 9-7 9-17zM8 17c2-4 5-7 9-9-3 3-5 6-7 10z'/%3E%3C/svg%3E") center/contain no-repeat}
.hero-eyebrow{background:#FFFFFF;color:var(--leaf);border:1px solid var(--line)}
.hero-eyebrow::before{background:var(--leaf)}
.hero-plats li{background:#FFFFFF}
.hero-plats .hp-ai{border-color:var(--leaf);color:var(--leaf)}

/* Cards: white on meadow, soft green edges */
.pc,.pain,.s-card,.tc,.eng,.why5-i,.pil,.res,.evo-stage,.cap-grid li,.prob-grid li,.spec-grid li,.sflow,.apif,.bridge-fig,.qm,.mentor-card,.ax-req,.ax-eval,.giving-mentor{background:#FFFFFF;border-color:var(--line);box-shadow:0 12px 30px -24px rgba(60,100,50,.35)}
.s-card:hover,.pc:hover,.tc:hover,.pain:hover,.res:hover{border-color:var(--leaf);box-shadow:0 18px 40px -26px rgba(60,100,50,.45)}
.pc-ico,.pil-ico,.eng-ico{background:var(--leaf-soft);color:var(--leaf)}
.why5-ico,.pil-list .ico-sm,.tc-caps .ico-sm,.evo ul .ico-sm{color:var(--leaf)}
.pil::before{background:linear-gradient(90deg,var(--leaf),#8CC56E)}
.pil-3{background:linear-gradient(165deg,var(--sky),#FFFFFF 70%)}
.s-grid-7 .s-crm,.s-card-hot{background:linear-gradient(160deg,var(--leaf-soft),#FFFFFF 65%)}
.out-list li,.uc-grid li,.ax-eval li,.tc-uses li{background:var(--leaf-soft)}
.out-list .ico,.ax-eval .ico-sm{color:var(--leaf)}
.cta-band{background:linear-gradient(135deg,var(--sky),var(--leaf-soft));border-color:var(--line)}
.gap-legend span,.plat-chips li{background:#FFFFFF}
.giving-list li::before{background:var(--leaf);box-shadow:inset 0 0 0 4px var(--leaf-soft)}

/* Footer with hills */
footer.site-foot{position:relative;background:var(--leaf-soft);border-top:0;margin-top:70px}
footer.site-foot::before{content:"";position:absolute;left:0;right:0;top:-69px;height:70px;pointer-events:none;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1440 70' preserveAspectRatio='none'%3E%3Cpath d='M0 40 Q240 0 520 30 T1040 26 T1440 18 V70 H0Z' fill='%23D7EBC9'/%3E%3Cpath d='M0 58 Q300 26 640 50 T1200 44 T1440 48 V70 H0Z' fill='%23EAF5E3'/%3E%3C/svg%3E") bottom/100% 100% no-repeat}
.fcol h4{color:var(--leaf)}
.fbar{border-top-color:#D3E4C6}

/* Hero illustration: mountain scene */
.b-cliff-t{font-family:var(--f-display);font-size:16px;font-weight:800;fill:#FFFFFF}
.b-cliff-s{font-family:var(--f-mono);font-size:9.5px;letter-spacing:1.5px;fill:#FFFFFF;opacity:.85}
.bridge-svg{border-radius:12px}
.b-gap-k{fill:var(--amber)}
.b-gap-t{fill:var(--muted)}
.b-cliff-t.b-l,.b-cliff-s.b-l{fill:#5A4628}
.b-cliff-t.b-r,.b-cliff-s.b-r{fill:#2E5A24}
.hero-grid > div:first-child > h1:first-child{margin-top:0}

/* Header: keep items on one line with the longer "Book a Free AI Quality Check" button */
header.site .wrap{max-width:1320px}
.nav-links a,.nav-drop-btn,.nav-right .btn{white-space:nowrap}
.logo-tag{white-space:nowrap;letter-spacing:.06em}
@media (min-width:1241px){.nav-links{gap:14px;font-size:.86rem}}

/* Playwright Test Agents: hero card + Playwright page section (site palette) */
.pa-card{margin:0;background:#FFFFFF;border:1px solid var(--line);border-radius:18px;padding:clamp(16px,1.6vw,22px) clamp(16px,1.8vw,24px);box-shadow:0 18px 40px -26px rgba(60,100,50,.4)}
.pa-flow{list-style:none;margin:14px 0 0;padding:0;display:flex;flex-wrap:wrap;align-items:center;gap:6px}
.pa-flow li{font-size:.74rem;font-weight:600;padding:5px 10px;border-radius:999px;border:1px dashed var(--line);color:var(--muted);background:var(--bg)}
.pa-flow li:not(:last-child)::after{content:"→";margin-left:8px;color:var(--muted);font-weight:400}
.pa-flow li{display:inline-flex;align-items:center}
.pa-flow .pa-p{border:1.5px solid var(--leaf);color:var(--leaf);background:var(--leaf-soft)}
.pa-flow .pa-g{border:1.5px solid var(--teal);color:var(--teal);background:var(--teal-soft)}
.pa-flow .pa-h{border:1.5px solid var(--amber);color:var(--amber);background:var(--amber-soft)}
.pa-stages{list-style:none;margin:14px 0 0;padding:0;display:flex;flex-direction:column;gap:10px}
.pa-stage{display:grid;grid-template-columns:40px minmax(0,1fr);gap:12px;align-items:start;padding:12px 14px;border-radius:14px;border:1px solid var(--line);background:var(--bg);border-left:4px solid var(--c);animation:pa-glow 6s infinite}
.pa-1{--c:var(--leaf);--cs:var(--leaf-soft)}
.pa-2{--c:var(--teal);--cs:var(--teal-soft);animation-delay:2s}
.pa-3{--c:var(--amber);--cs:var(--amber-soft);animation-delay:4s}
@keyframes pa-glow{0%,28%,100%{box-shadow:none}10%{box-shadow:0 0 0 3px color-mix(in srgb,var(--c) 22%,transparent)}}
.pa-ico{width:40px;height:40px;border-radius:12px;display:grid;place-items:center;background:var(--cs);color:var(--c)}
.pa-ico svg,.pa-ico .ico{width:20px;height:20px}
.pa-k{font-size:.82rem;color:var(--muted)}
.pa-k b{font-family:var(--f-display);font-size:1.02rem;font-weight:800;color:var(--c)}
.pa-t{font-size:.9rem;font-weight:600;color:var(--ink);margin-top:2px;line-height:1.4}
.pa-stage code,.ta code{display:inline-block;margin-top:6px;font-family:var(--f-mono);font-size:.72rem;padding:3px 8px;border-radius:6px;background:#FFFFFF;border:1px solid var(--line);color:var(--c)}
.pa-review{margin-top:12px;display:flex;align-items:center;gap:8px;padding:10px 12px;border-radius:12px;background:var(--leaf-soft);font-size:.86rem;font-weight:600;color:var(--ink)}
.pa-review svg{width:18px;height:18px;flex:none;color:var(--leaf)}
@media (prefers-reduced-motion: reduce){.pa-stage{animation:none}}
@media (min-width:901px) and (max-height:820px){.pa-stage{padding:9px 12px}.pa-t{font-size:.86rem}.pa-flow{margin-top:10px}.pa-stages{gap:8px;margin-top:10px}}

/* Playwright page: full Test Agents section */
#test-agents{scroll-margin-top:88px}
.pa-flow-lg{margin:0 0 22px}
.pa-flow-lg li{font-size:.82rem;padding:7px 12px}
.ta-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
@media (max-width:900px){.ta-grid{grid-template-columns:minmax(0,1fr)}}
.ta{display:flex;flex-direction:column;gap:10px;padding:22px;border-radius:18px;background:#FFFFFF;border:1px solid var(--line);border-top:4px solid var(--c)}
.ta-top{display:flex;gap:12px;align-items:center}
.ta-k{font-family:var(--f-mono);font-size:.68rem;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}
.ta h3{font-size:1.35rem;font-weight:800;line-height:1.1}
.ta-sub{font-weight:700;color:var(--c)}
.ta dl{margin:0;display:flex;flex-direction:column;gap:4px}
.ta dt{font-family:var(--f-mono);font-size:.66rem;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);margin-top:6px}
.ta dd{margin:0;font-size:.92rem}
.ta code{margin-top:auto;align-self:flex-start}
.ta-bottom{margin-top:18px;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);gap:18px}
@media (max-width:900px){.ta-bottom{grid-template-columns:minmax(0,1fr)}}
.ta-code,.ta-how{padding:20px;border-radius:18px;background:#FFFFFF;border:1px solid var(--line)}
.ta-code pre{margin:10px 0 0;font-family:var(--f-mono);font-size:.82rem;line-height:1.7;overflow-x:auto;color:var(--ink)}
.ta-code pre span{color:var(--leaf)}
.ta-how{border-left:4px solid var(--leaf)}
.ta-how ul{list-style:none;margin:10px 0 0;padding:0;display:flex;flex-direction:column;gap:8px}
.ta-how li{display:flex;gap:8px;align-items:flex-start;font-size:.93rem}
.ta-how .ico-sm{color:var(--leaf);margin-top:3px}
.pa-card .pa-stages{margin-top:14px}

/* Hero card: Playwright Test Agents (layout after the reference graphic, site palette) */
.pw-card{--pw:#2E9E44;margin:0;background:#FFFFFF;border:1px solid var(--line);border-radius:18px;padding:clamp(18px,1.8vw,24px);box-shadow:0 18px 40px -26px rgba(60,100,50,.4)}
.pw-title{font-family:var(--f-display);font-weight:800;font-stretch:90%;font-size:clamp(1.5rem,2.3vw,1.95rem);line-height:1.05;letter-spacing:-.01em;text-transform:uppercase;margin:0;color:var(--ink)}
.pw-hl{color:var(--pw);background:linear-gradient(transparent 62%,color-mix(in srgb,var(--pw) 18%,transparent) 62%);padding:0 2px}
.pw-sub{margin-top:6px;font-size:.9rem;color:var(--muted)}
.pw-flow{list-style:none;margin:14px 0 0;padding:10px;display:flex;align-items:center;justify-content:space-between;gap:4px;border-radius:12px;background:var(--bg);border:1px solid var(--line)}
.pw-flow li{display:inline-flex;align-items:center;font-size:.72rem;font-weight:700;padding:5px 8px;border-radius:8px;border:1px dashed var(--line);color:var(--muted);white-space:nowrap}
.pw-flow li:not(:last-child)::after{content:"→";margin-left:6px;font-weight:400;color:var(--muted)}
.pw-flow .pw-p,.pw-flow .pw-g,.pw-flow .pw-h{border-style:solid;border-width:1.5px;text-transform:uppercase;letter-spacing:.04em}
.pw-flow .pw-p{border-color:var(--leaf);color:var(--leaf);background:var(--leaf-soft)}
.pw-flow .pw-g{border-color:var(--teal);color:var(--teal);background:var(--teal-soft)}
.pw-flow .pw-h{border-color:var(--amber);color:var(--amber);background:var(--amber-soft)}
.pw-stages{list-style:none;margin:12px 0 0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.pw-stage{padding:12px;border-radius:12px;background:var(--bg);border:1px solid var(--line);border-top:4px solid var(--c);animation:pa-glow 6s infinite}
.pw-1{--c:var(--leaf)}.pw-2{--c:var(--teal);animation-delay:2s}.pw-3{--c:var(--amber);animation-delay:4s}
.pw-k{font-family:var(--f-mono);font-size:.62rem;letter-spacing:.12em;text-transform:uppercase;color:var(--c);font-weight:500}
.pw-stage h3{font-family:var(--f-display);font-size:1.05rem;font-weight:800;text-transform:uppercase;letter-spacing:.01em;margin-top:2px}
.pw-what{font-size:.8rem;font-weight:700;color:var(--c);margin-top:2px}
.pw-stage dl{margin:8px 0 0;display:flex;flex-direction:column;gap:2px}
.pw-stage dt{font-family:var(--f-mono);font-size:.6rem;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);margin-top:4px}
.pw-stage dd{margin:0;font-size:.78rem;line-height:1.35;color:var(--ink)}
.pw-foot{margin-top:12px;padding-top:10px;border-top:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;gap:8px;flex-wrap:wrap;font-size:.76rem;color:var(--muted)}
.pw-foot a{color:var(--pw);font-weight:700;text-decoration:none}
.pw-foot a:hover{text-decoration:underline}
@media (max-width:560px){.pw-stages{grid-template-columns:minmax(0,1fr)}.pw-flow{flex-wrap:wrap;justify-content:flex-start}}
@media (prefers-reduced-motion: reduce){.pw-stage{animation:none}}
.pw-flow{padding:8px;gap:2px;justify-content:center}
.pw-flow li{font-size:.66rem;padding:4px 6px}
.pw-flow li:not(:last-child)::after{margin-left:4px}

/* Hero card: agentic natural-blue theme */
.pw-card{
  --a1:#5BAEE8;  /* sky blue: Planner */
  --a2:#2A72B8;  /* brand blue: Generator */
  --a3:#1B4F86;  /* deep blue: Healer */
  background:
    radial-gradient(circle at 1px 1px,rgba(42,114,184,.13) 1px,transparent 1.5px) 0 0/16px 16px,
    linear-gradient(160deg,#EEF6FD 0%,#DCEBF8 100%);
  border-color:#C9DEF2;
  box-shadow:0 20px 44px -26px rgba(30,80,140,.45)}
.pw-title{color:#16324F}
.pw-sub{color:#4A6680}
.pw-flow{background:#FFFFFF;border-color:#C9DEF2}
.pw-flow li{border-color:#C9DEF2;color:#4A6680}
.pw-flow .pw-p{border-color:var(--a1);color:#1F6FB0;background:#E6F3FC}
.pw-flow .pw-g{border-color:var(--a2);color:var(--a2);background:#E3EEF9}
.pw-flow .pw-h{border-color:var(--a3);color:var(--a3);background:#E0E9F4}
.pw-stage{background:#FFFFFF;border-color:#C9DEF2}
.pw-1{--c:var(--a1)}.pw-2{--c:var(--a2)}.pw-3{--c:var(--a3)}
.pw-1 .pw-k,.pw-1 .pw-what{color:#1F6FB0}
.pw-stage dt{color:#5B7590}
.pw-foot{border-top-color:#C9DEF2;color:#4A6680}
.pw-foot a{color:var(--a2)}
.pw-card .pw-stage{border-top:4px solid var(--c)}

/* Hero card: lighter blue */
.pw-card{
  background:
    radial-gradient(circle at 1px 1px,rgba(42,114,184,.08) 1px,transparent 1.5px) 0 0/16px 16px,
    linear-gradient(160deg,#F5FAFF 0%,#E9F3FC 100%);
  border-color:#D6E7F6;
  box-shadow:0 18px 40px -28px rgba(30,80,140,.35)}
.pw-flow,.pw-stage{border-color:#D9E8F6}
.pw-foot{border-top-color:#D9E8F6}

/* Hero card: stronger agentic cues */
.pw-card{position:relative;border:1.5px solid transparent;
  background:
    radial-gradient(circle at 1px 1px,rgba(42,114,184,.08) 1px,transparent 1.5px) padding-box 0 0/16px 16px,
    linear-gradient(160deg,#F5FAFF 0%,#E9F3FC 100%) padding-box,
    linear-gradient(135deg,#7FD3F7,#2A72B8 45%,#7C8CF2) border-box;
  box-shadow:0 0 0 4px rgba(127,211,247,.12),0 22px 46px -26px rgba(30,80,140,.45)}
.pw-live{display:inline-flex;align-items:center;gap:8px;margin:0 0 8px;padding:4px 10px;border-radius:999px;background:#FFFFFF;border:1px solid #D6E7F6;font-family:var(--f-mono);font-size:.68rem;letter-spacing:.06em;text-transform:uppercase;color:#2A72B8}
.pw-live i{width:8px;height:8px;border-radius:50%;background:#22B07D;box-shadow:0 0 0 0 rgba(34,176,125,.5);animation:pw-pulse 1.8s infinite}
@keyframes pw-pulse{0%{box-shadow:0 0 0 0 rgba(34,176,125,.55)}70%{box-shadow:0 0 0 7px rgba(34,176,125,0)}100%{box-shadow:0 0 0 0 rgba(34,176,125,0)}}
.pw-agent{display:flex;align-items:center;justify-content:space-between;gap:6px;margin-bottom:8px}
.pw-aico{width:30px;height:30px;border-radius:9px;display:grid;place-items:center;color:#FFFFFF;background:linear-gradient(135deg,var(--c),#7C8CF2);box-shadow:0 4px 12px -4px var(--c)}
.pw-aico svg{width:16px;height:16px}
.pw-tag{display:inline-flex;align-items:center;gap:3px;font-family:var(--f-mono);font-size:.56rem;letter-spacing:.06em;text-transform:uppercase;color:#5B5FC7;background:#EEF0FD;border-radius:999px;padding:2px 6px;white-space:nowrap}
.pw-tag svg{width:9px;height:9px}
.pw-flow{position:relative;overflow:hidden}
.pw-flow::after{content:"";position:absolute;top:50%;left:-12px;width:10px;height:10px;margin-top:-5px;border-radius:50%;background:radial-gradient(circle,#7FD3F7 0%,#2A72B8 60%,transparent 70%);box-shadow:0 0 10px 3px rgba(127,211,247,.7);animation:pw-travel 3.2s linear infinite;pointer-events:none}
@keyframes pw-travel{0%{left:-12px;opacity:0}10%{opacity:1}90%{opacity:1}100%{left:calc(100% + 2px);opacity:0}}
@media (prefers-reduced-motion: reduce){.pw-live i,.pw-flow::after{animation:none}.pw-flow::after{display:none}}
@media (min-width:901px) and (max-height:820px){.pw-stage{padding:10px}.pw-stage dl{margin-top:6px}}

/* Hero: heading starts level with the top of the card */
@media (min-width:901px){
  .hero-grid{align-items:start}
  .hero-grid > div:first-child{padding-top:clamp(14px,1.6vw,22px)}
  .hero h1{line-height:1.02}
  .hero .lede{margin-top:20px}
  .hero-plats{margin-top:20px}
  .hero .ctas{margin-top:28px}
}

/* Hero: platforms / AI / automation rows */
.hero-stack{margin-top:20px;max-width:600px;background:#FFFFFF;border:1px solid var(--line);border-radius:14px;box-shadow:0 10px 28px -22px rgba(30,80,140,.45);overflow:hidden}
.hs-row{display:grid;grid-template-columns:96px minmax(0,1fr);align-items:center;gap:12px;padding:9px 14px}
.hs-row + .hs-row{border-top:1px solid var(--line)}
.hs-k{margin:0;font-family:var(--f-mono);font-size:.66rem;letter-spacing:.08em;text-transform:uppercase;font-weight:500;color:var(--c,#2A72B8);display:flex;align-items:center;gap:6px}
.hs-k::before{content:"";width:7px;height:7px;border-radius:2px;background:var(--c,#2A72B8);flex:none}
.hs-row ul{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:6px}
.hs-row li{font-size:.78rem;font-weight:600;padding:3px 10px;border-radius:999px;border:1px solid var(--bd,#D6E7F6);background:var(--bg2,#F5FAFF);color:var(--ink);white-space:nowrap}
.hs-plat{--c:#2A72B8;--bd:#D6E7F6;--bg2:#F5FAFF}
.hs-ai{--c:#5B5FC7;--bd:#DCDFFA;--bg2:#F4F5FE}
.hs-auto{--c:#2E8A3E;--bd:#D3EAD0;--bg2:#F3FAF1}
@media (min-width:901px){.hero-stack + .ctas{margin-top:24px}}
@media (max-width:520px){.hs-row{grid-template-columns:minmax(0,1fr);gap:6px}}

/* Home: services grouped by pillar */
.pil-svcs{list-style:none;margin:8px 0 0;padding:0;display:flex;flex-direction:column;gap:10px}
.pil-svcs a{display:grid;grid-template-columns:minmax(0,1fr) auto;column-gap:10px;align-items:center;padding:12px 14px;border:1px solid var(--line);border-radius:12px;background:#FFFFFF;color:var(--ink);text-decoration:none;transition:border-color .2s,box-shadow .2s,transform .2s}
.pil-svcs b{font-family:var(--f-display);font-weight:700;font-size:.98rem;line-height:1.25}
.pil-svcs span{grid-column:1;font-size:.85rem;color:var(--muted);margin-top:3px}
.pil-svcs .ico-sm{grid-column:2;grid-row:1 / span 2;color:var(--leaf)}
.pil-svcs a:hover{border-color:var(--teal);box-shadow:0 10px 22px -18px rgba(30,80,140,.5);transform:translateY(-1px)}
.pil-svcs a:hover b{color:var(--teal)}

/* Home: client results */
.rs-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.rs{display:flex;flex-direction:column;gap:8px;padding:24px;border-radius:18px;background:linear-gradient(160deg,var(--sky),#FFFFFF 70%);border:1px solid var(--line);color:var(--ink);text-decoration:none;box-shadow:0 12px 30px -24px rgba(60,100,50,.35);transition:border-color .2s,transform .2s}
.rs b{font-family:var(--f-display);font-weight:800;font-stretch:90%;font-size:clamp(2rem,3.4vw,2.7rem);line-height:1;color:var(--teal)}
.rs span{font-size:.95rem;color:var(--muted)}
.rs:hover{border-color:var(--teal);transform:translateY(-2px)}
@media (max-width:900px){.rs-grid{grid-template-columns:minmax(0,1fr)}}
@media (min-width:901px){
  .hs-row{grid-template-columns:86px minmax(0,1fr);gap:10px;padding:7px 12px}
  .hs-row ul{gap:5px}
  .hs-row li{padding:3px 9px;font-size:.76rem}
}

/* Hero card: what VerticalQA does at each stage */
.pw-stage{display:flex;flex-direction:column}
.pw-vq{margin:auto 0 0;padding-top:8px;border-top:1px dashed #D6E7F6;font-size:.74rem;line-height:1.35;color:#2E5E3A}
.pw-stage dl{margin-bottom:8px}
.pw-vq b{display:flex;align-items:center;gap:4px;font-family:var(--f-mono);font-size:.6rem;letter-spacing:.06em;text-transform:uppercase;color:#2E8A3E;font-weight:600;margin-bottom:2px}
.pw-vq b::before{content:"✓";display:grid;place-items:center;width:13px;height:13px;border-radius:50%;background:#2E8A3E;color:#FFFFFF;font-size:.55rem;letter-spacing:0}
.pw-foot span b{color:#2E8A3E}
.pw-agent{margin-bottom:6px}
@media (min-width:901px){
  .pw-card .pw-head{margin-bottom:0}
  .pw-card .pw-sub{margin-top:4px}
  .pw-card .pw-flow{margin-block:10px}
  .pw-card .pw-stage dl{margin-top:4px;margin-bottom:6px}
  .pw-card .pw-stage dd{margin-bottom:2px}
  .pw-card .pw-what{margin-bottom:2px}
  .pw-foot{flex-wrap:nowrap;gap:10px;padding-top:10px;margin-top:10px}
  .pw-foot span,.pw-foot a{white-space:nowrap;font-size:.74rem}
}

/* Hero card: risk at scale + VerticalQA answer per agent */
.pw-risk{margin:6px 0 8px;font-size:.76rem;line-height:1.35;color:#8A4B23}
.pw-risk span{display:block;font-family:var(--f-mono);font-size:.58rem;letter-spacing:.08em;text-transform:uppercase;color:#C66B36;margin-bottom:2px}
.pw-vq{color:#24402C}

/* Hero card flow: Plan → Generate → Execute → Heal → Report → Tested */
.pw-card .pw-flow{justify-content:space-between;gap:0;padding:7px 8px}
.pw-card .pw-flow li{font-size:.68rem;padding:4px 7px;text-transform:none;letter-spacing:0;border-style:solid;border-width:1.5px}
.pw-card .pw-flow li:not(:last-child)::after{margin-left:5px;color:#8FB3D6}
.pw-card .pw-flow .pw-e{border-color:#7C8CF2;color:#4B55C2;background:#EEF0FD}
.pw-card .pw-flow .pw-r{border-color:#9DB8D6;color:#3E5F80;background:#F2F7FC}
.pw-card .pw-flow .pw-t{border-color:#4F9443;color:#2E7A2E;background:#EAF5E3}
.pw-card .pw-flow .pw-t::before{content:"✓";margin-right:4px}
.pw-card .pw-flow .pw-r{border-color:#4F9443;color:#2E7A2E;background:#EAF5E3}
.pw-card .pw-flow{justify-content:center;gap:6px}

/* Hero card flow: five equal steps, arrows centred in the gaps */
.pw-card .pw-flow{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:16px;padding:8px 10px}
.pw-card .pw-flow li{position:relative;justify-content:center;padding:5px 4px;font-size:.72rem}
.pw-card .pw-flow li:not(:last-child)::after{content:"→";position:absolute;right:-13px;top:50%;transform:translateY(-50%);margin:0;font-size:.75rem;color:#8FB3D6}
@media (max-width:560px){.pw-card .pw-flow{gap:12px;padding:8px}.pw-card .pw-flow li{font-size:.66rem}.pw-card .pw-flow li:not(:last-child)::after{right:-11px}}
.pw-card .pw-flow{--fg:16px;gap:var(--fg)}
.pw-card .pw-flow li:not(:last-child)::after{right:auto;left:100%;width:var(--fg);text-align:center}
@media (max-width:560px){.pw-card .pw-flow{--fg:14px}}

/* Hero card: shorter stage text */
.pw-risk{display:flex;gap:5px;align-items:flex-start;margin:6px 0 8px}
.pw-risk::before{content:"!";flex:none;display:grid;place-items:center;width:13px;height:13px;margin-top:1px;border-radius:50%;background:#C66B36;color:#FFFFFF;font-size:.55rem;font-weight:700}
@media (min-width:901px){.hs-row ul{flex-wrap:nowrap}}
@media (min-width:901px) and (max-width:1199px){.hs-row ul{flex-wrap:wrap}}

/* Hero card: how VerticalQA works with the agents */
.pw-how{display:inline-flex;align-items:center;gap:6px;margin:0 0 8px;padding:4px 6px;border-radius:999px;background:#FFFFFF;border:1px solid #D6E7F6;font-size:.72rem;font-weight:600;white-space:nowrap}
.pw-how-a,.pw-how-v{display:inline-flex;align-items:center;gap:5px;padding:2px 9px;border-radius:999px}
.pw-how-a{background:#EEF0FD;color:#4B55C2}
.pw-how-a i{width:7px;height:7px;border-radius:50%;background:#5B5FC7;animation:pw-pulse 1.8s infinite}
.pw-how-v{background:#EAF5E3;color:#2E7A2E}
.pw-how-v::before{content:"✓";font-weight:700}
.pw-how-x{color:#8FB3D6}
@media (max-width:560px){.pw-how{white-space:normal;flex-wrap:wrap;border-radius:14px}}
@media (prefers-reduced-motion: reduce){.pw-how-a i{animation:none}}
.pw-card .pw-flow{grid-template-columns:repeat(4,minmax(0,1fr));--fg:22px}

/* "New" service label */
.new-tag{display:inline-block;vertical-align:middle;margin-left:4px;padding:1px 7px;border-radius:999px;background:#EEF0FD;color:#4B55C2;border:1px solid #DCDFFA;font-family:var(--f-mono);font-size:.6rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;line-height:1.5}
.new-note{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-top:12px;font-size:.88rem;color:var(--muted)}
.new-note .new-tag{margin-left:0}

/* Free audit: what you get */
.audit-gets{list-style:none;margin:14px 0 0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 18px;max-width:640px}
.audit-gets li{position:relative;padding-left:22px;font-size:.92rem;color:var(--ink)}
.audit-gets li::before{content:"✓";position:absolute;left:0;top:0;width:16px;height:16px;border-radius:50%;background:var(--leaf);color:#FFFFFF;font-size:.62rem;font-weight:700;display:grid;place-items:center;margin-top:3px}
@media (max-width:640px){.audit-gets{grid-template-columns:minmax(0,1fr)}}

/* Hero card: agent avatars + open source / MCP chips */
.pw-card .pw-av{width:46px;height:46px;background:none;box-shadow:none;border-radius:0;color:var(--c)}
.pw-card .pw-av svg{width:46px;height:46px;overflow:visible;filter:drop-shadow(0 4px 8px rgba(30,80,140,.22))}
.pw-ant{animation:pw-ant 2.4s ease-in-out infinite}
@keyframes pw-ant{0%,100%{opacity:1}50%{opacity:.35}}
@media (prefers-reduced-motion: reduce){.pw-ant{animation:none}}
.pw-chips{list-style:none;margin:0;padding:0;display:flex;gap:6px}
.pw-chips li{font-family:var(--f-mono);font-size:.62rem;letter-spacing:.06em;text-transform:uppercase;font-weight:600;padding:3px 8px;border-radius:999px;border:1px solid #D6E7F6;background:#FFFFFF;color:#2A72B8;white-space:nowrap}
.pw-chips li:nth-child(2){border-color:#DCDFFA;background:#EEF0FD;color:#4B55C2}
.pw-chips li:nth-child(3){border-color:#D3EAD0;background:#EAF5E3;color:#2E7A2E}
.pw-card .pw-av,.pw-card .pw-av svg{width:54px;height:54px}
.pw-card .pw-agent{justify-content:flex-start;margin-bottom:4px}
.pw-card .pw-title{white-space:nowrap;font-size:clamp(1.25rem,1.9vw,1.6rem);color:#16324F}
@media (max-width:560px){.pw-card .pw-title{white-space:normal}}
@media (max-width:1199px){.pw-how{white-space:normal;flex-wrap:wrap;border-radius:14px}}

/* Hero card: VerticalQA agents, one colour each */
.pw-card .pw-1{--c:#2A8FD8;--c2:#9AD3F7}
.pw-card .pw-2{--c:#7A5AF8;--c2:#C9BCFD}
.pw-card .pw-3{--c:#E0782F;--c2:#FFC79A}
.pw-card .pw-stage{border-top-color:var(--c)}
.pw-card .pw-stage .pw-what{color:var(--c)}
.pw-card .pw-stage h3{font-size:1.02rem}
.pw-vqn{display:inline-block;padding:0 5px;margin-right:2px;border-radius:5px;background:var(--c);color:#FFFFFF;font-size:.8em;vertical-align:1px}
.pw-plus-k{margin:8px 0 4px;padding-top:7px;border-top:1px dashed #D6E7F6;font-family:var(--f-mono);font-size:.58rem;letter-spacing:.08em;text-transform:uppercase;color:var(--c);font-weight:600}
.pw-plus{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:4px}
.pw-plus li{position:relative;padding-left:17px;font-size:.75rem;line-height:1.35;color:var(--ink)}
.pw-plus li::before{content:"✓";position:absolute;left:0;top:1px;width:12px;height:12px;border-radius:50%;background:var(--c);color:#FFFFFF;font-size:.5rem;font-weight:700;display:grid;place-items:center}
.pw-card .pw-flow .pw-p{border-color:#2A8FD8;color:#1F74B8;background:#E8F4FD}
.pw-card .pw-flow .pw-g{border-color:#7A5AF8;color:#5B3FD9;background:#F1EDFE}
.pw-card .pw-flow .pw-h{border-color:#E0782F;color:#B85A1C;background:#FDF0E6}
.pw-vqn{display:table;margin:0 0 4px}
/* VQ Healer / Run & Repair: light green */
.pw-card .pw-3{--c:#74BC62;--c2:#D8F1CE}
.pw-card .pw-flow .pw-h{border-color:#B2DCA5;color:#4E8F43;background:#F4FBF1}

/* Hero card: fourth agent, VQ Reporter */
.pw-card .pw-4{--c:#1A9AA3;--c2:#A9E3E6}
.pw-card .pw-stages{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}
.pw-card .pw-stage{padding:10px 9px}
.pw-card .pw-av,.pw-card .pw-av svg{width:46px;height:46px}
.pw-card .pw-stage h3{font-size:.9rem}
.pw-card .pw-plus li{font-size:.72rem}
.pw-card .pw-flow .pw-rp{border-color:#1A9AA3;color:#11767D;background:#E7F7F8}
@media (max-width:1199px){.pw-card .pw-stages{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:560px){.pw-card .pw-stages{grid-template-columns:minmax(0,1fr)}}


/* Hero: text block vertically centred against the agents card */
@media (min-width:901px){
  .hero-grid{align-items:center}
  .hero-grid > div:first-child{padding-top:0}
}

/* Playwright page: VQ agents, colours matching the home card */
.pa-1{--c:#2A8FD8;--cs:#E8F4FD}
.pa-2{--c:#7A5AF8;--cs:#F1EDFE}
.pa-3{--c:#5FA84E;--cs:#F4FBF1}
.pa-4{--c:#1A9AA3;--cs:#E7F7F8}
.pa-flow .pa-p{border:1.5px solid #2A8FD8;color:#1F74B8;background:#E8F4FD}
.pa-flow .pa-g{border:1.5px solid #7A5AF8;color:#5B3FD9;background:#F1EDFE}
.pa-flow .pa-h{border:1.5px solid #B2DCA5;color:#4E8F43;background:#F4FBF1}
.pa-flow .pa-r{border:1.5px solid #1A9AA3;color:#11767D;background:#E7F7F8}
.ta-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
@media (max-width:1199px){.ta-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:600px){.ta-grid{grid-template-columns:minmax(0,1fr)}}
.ta h3{font-size:1.2rem}
.ta-vq{display:inline-block;vertical-align:middle;margin-right:2px;padding:2px 6px;border-radius:6px;font-family:var(--f-mono);font-size:.68rem;font-weight:800;letter-spacing:.04em;color:#fff;background:var(--c)}
.ta-how{border-left-color:#2A8FD8}

/* Capability cards fill the row instead of leaving empty columns */
.cap-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,190px),1fr))}

/* Services page: an odd last card spans the full row */
.svc-group .s-grid-2 > :last-child:nth-child(odd){grid-column:1/-1}

/* Home card flow: the moving dot passes behind the step chips */
.pw-card .pw-flow li{z-index:1}
.pw-card .pw-flow::after{z-index:0}
@media (max-width:1199px){.pw-card .pw-flow{--fg:16px}.pw-card .pw-flow li{font-size:.66rem;padding:4px 2px}}

/* Free VQ agents download form (Playwright page) */
.ga-gets{margin-top:18px}
.ga-note{font-size:.8rem;opacity:.75;margin:0}
.contact .ga-gets{grid-template-columns:minmax(0,1fr);gap:8px}
.contact .ga-gets li{color:var(--bg);opacity:.92}

/* Agents card: "Saves tokens" chip next to Free; keep the other chip colours */
.pw-chips{flex-wrap:wrap}
.pw-chips li.pw-tok{border-color:#F3D3BC;background:#FDF0E6;color:#B85A1C}
.pw-chips li:nth-child(3){border-color:#DCDFFA;background:#EEF0FD;color:#4B55C2}
.pw-chips li:nth-child(4){border-color:#D3EAD0;background:#EAF5E3;color:#2E7A2E}

/* Home: seven simple service cards (4 + 3, last row centred) */
.svc7-grid{display:flex;flex-wrap:wrap;justify-content:center;gap:16px}
.svc7{flex:0 1 calc(25% - 12px);display:flex;flex-direction:column;gap:10px;padding:22px;border-radius:18px;background:#FFFFFF;border:1px solid var(--line);box-shadow:0 12px 30px -24px rgba(60,100,50,.35);color:var(--ink);text-decoration:none;transition:transform .2s,box-shadow .2s,border-color .2s}
.svc7:hover{border-color:var(--teal);box-shadow:0 14px 30px -20px rgba(30,80,140,.45);transform:translateY(-2px)}
.svc7 h3{font-size:1.05rem;font-weight:700;line-height:1.25}
.svc7 p{font-size:.92rem;color:var(--muted)}
.svc7-more{margin-top:auto;display:inline-flex;align-items:center;gap:6px;font-size:.88rem;font-weight:600;color:var(--teal)}
.svc7:hover h3{color:var(--teal)}
@media (max-width:1000px){.svc7{flex-basis:calc(50% - 8px)}}
@media (max-width:560px){.svc7{flex-basis:100%}}

/* Home: smaller, simpler technology cards */
.tc7-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.tc7{display:flex;flex-direction:column;gap:10px;padding:20px;border-radius:18px;background:#FFFFFF;border:1px solid var(--line);box-shadow:0 12px 30px -24px rgba(60,100,50,.35);color:var(--ink);text-decoration:none;transition:transform .2s,box-shadow .2s,border-color .2s}
.tc7:hover{border-color:var(--teal);box-shadow:0 14px 30px -20px rgba(30,80,140,.45);transform:translateY(-2px)}
.tc7 h3{font-size:1.1rem;font-weight:700;line-height:1.2}
.tc7:hover h3{color:var(--teal)}
.tc7 > p{font-size:.92rem;color:var(--muted)}
.tc7 .svc7-more{margin-top:auto}
@media (max-width:900px){.tc7-grid{grid-template-columns:minmax(0,1fr)}}

/* ===== Simplified site (rewrite) ===== */
/* Hero label above the heading */
.hero-eyebrow{margin-bottom:12px}
.hero-grid > div:first-child > .hero-eyebrow + h1{margin-top:0}

/* Why: four reasons */
.why5.why4{grid-template-columns:repeat(4,minmax(0,1fr))}
@media (max-width:1100px){.why5.why4{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:600px){.why5.why4{grid-template-columns:minmax(0,1fr)}}

/* Home: how we work, three steps */
.hw-grid{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;counter-reset:none}
@media (max-width:860px){.hw-grid{grid-template-columns:minmax(0,1fr)}}
.hw{position:relative;padding:24px;border-radius:18px;background:#FFFFFF;border:1px solid var(--line);box-shadow:0 12px 30px -24px rgba(60,100,50,.35);display:flex;flex-direction:column;gap:8px}
.hw-n{width:36px;height:36px;border-radius:50%;display:grid;place-items:center;font-family:var(--f-display);font-weight:800;color:#FFFFFF;background:var(--teal);margin-bottom:4px}
.hw h3{font-size:1.12rem;font-weight:700}
.hw p{font-size:.94rem;color:var(--muted)}

/* Service pages: problems and results side by side */
.po-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
@media (max-width:800px){.po-grid{grid-template-columns:minmax(0,1fr)}}
.po{padding:24px;border-radius:18px;background:#FFFFFF;border:1px solid var(--line);box-shadow:0 12px 30px -24px rgba(60,100,50,.35)}
.po h3{font-size:1.12rem;font-weight:700;margin-bottom:12px}
.po ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px}
.po li{display:flex;gap:10px;align-items:flex-start;font-size:.95rem}
.po li .ico-sm{flex:none;margin-top:3px}
.po-before{border-top:4px solid var(--amber)}
.po-before .ico-sm{color:var(--amber)}
.po-after{border-top:4px solid var(--leaf)}
.po-after .ico-sm{color:var(--leaf)}

/* Home metrics strip: cards without the footnote line */
#ai-metrics .qm{border-top-color:var(--teal)}

/* Hero proof row */
.hero-proof{margin-top:26px;padding-top:18px;border-top:1px solid var(--line);max-width:560px}
.hp-k{font-family:var(--f-mono);font-size:.7rem;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}
.hero-proof ul{list-style:none;margin:10px 0 8px;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.hero-proof li{display:flex;flex-direction:column;gap:2px}
.hero-proof b{font-family:var(--f-display);font-weight:800;font-size:clamp(1.25rem,1.8vw,1.55rem);line-height:1.1;color:var(--teal)}
.hero-proof span{font-size:.82rem;color:var(--muted);line-height:1.35}
.hero-proof .inline-link{font-size:.9rem}
@media (max-width:480px){.hero-proof ul{grid-template-columns:minmax(0,1fr)}}

/* Hero card: AI + human collaboration */
.hc-card{margin:0;background:#FFFFFF;border:1px solid #C9DEF2;border-radius:20px;padding:clamp(18px,1.8vw,24px);box-shadow:0 24px 50px -30px rgba(30,80,140,.45);background-image:linear-gradient(180deg,#F4F9FE 0%,#FFFFFF 46%)}
.hc-k{font-family:var(--f-mono);font-size:.7rem;letter-spacing:.12em;text-transform:uppercase;color:var(--teal)}
.hc-title{margin-top:6px;font-family:var(--f-display);font-weight:800;font-size:clamp(1.35rem,2vw,1.75rem);line-height:1.1;color:#16324F}
.hc-title em{font-style:normal;color:var(--leaf)}
.hc-art{display:block;width:100%;height:auto;max-height:190px;margin:12px 0 6px}
.hc-tag{font-family:var(--f-mono);font-size:10px;font-weight:700;letter-spacing:.04em}
.hc-art .hc-ant{animation:hb-blink 2.4s ease-in-out infinite}
@keyframes hb-blink{0%,100%{opacity:1}50%{opacity:.35}}
.hc-steps{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}
.hc-steps li{display:flex;gap:12px;align-items:flex-start;padding:10px 12px;border-radius:12px;background:#FFFFFF;border:1px solid var(--line)}
.hc-n{flex:none;width:26px;height:26px;border-radius:50%;display:grid;place-items:center;font-family:var(--f-display);font-weight:800;font-size:.85rem;color:#FFFFFF}
.hc-1 .hc-n{background:#2A8FD8}.hc-2 .hc-n{background:var(--leaf)}.hc-3 .hc-n{background:#1A9AA3}
.hc-steps h3{font-size:.95rem;font-weight:700;line-height:1.25}
.hc-steps p{font-size:.84rem;color:var(--muted);margin-top:2px}
.hc-foot{display:flex;justify-content:space-between;flex-wrap:wrap;gap:8px;margin-top:12px;font-size:.86rem;font-weight:600}
.hc-foot a{color:var(--teal);text-decoration:none}
.hc-foot a:hover{text-decoration:underline}
@media (min-width:901px) and (max-height:700px){.hc-art{max-height:150px}.hc-steps li{padding:8px 12px}}
@media (prefers-reduced-motion:reduce){.hc-art .hc-ant{animation:none}}

/* Service cards: outcome first, name as a label, proof line */
.s-label{font-family:var(--f-mono);font-size:.68rem;letter-spacing:.08em;text-transform:uppercase;color:var(--teal);line-height:1.35}
.s-top .s-label{flex:1;text-align:left}
.s-card .s-top{justify-content:flex-start;gap:12px}
.svc7 h3{font-size:1.08rem;line-height:1.3}
.s-proof{display:flex;gap:8px;align-items:flex-start;padding:8px 10px;border-radius:10px;background:var(--leaf-soft);font-size:.84rem;font-weight:600;color:#2E6B2A;line-height:1.35}
.s-proof .ico-sm{flex:none;margin-top:2px;color:var(--leaf)}
.svc-proof{display:flex;gap:8px;align-items:flex-start;margin-top:14px;padding:10px 12px;border-radius:12px;background:var(--leaf-soft);font-size:.92rem;color:#2E6B2A;max-width:60ch}
.svc-proof .ico-sm{flex:none;margin-top:3px;color:var(--leaf)}

/* Services page: 2-week starter packages */
.st-h{margin-top:clamp(28px,4vw,44px);font-family:var(--f-display);font-weight:800;font-size:clamp(1.3rem,2.2vw,1.7rem)}
.st-intro{margin:6px 0 18px;color:var(--muted)}
.st-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
@media (max-width:900px){.st-grid{grid-template-columns:minmax(0,1fr)}}
.st{display:flex;flex-direction:column;gap:10px;padding:24px;border-radius:18px;background:#FFFFFF;border:1px solid var(--line);border-top:4px solid var(--c);box-shadow:0 14px 32px -24px rgba(30,80,140,.45)}
.st-1{--c:#2A8FD8}.st-2{--c:var(--leaf)}.st-3{--c:#1A9AA3}
.st-k{align-self:flex-start;font-family:var(--f-mono);font-size:.68rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;padding:3px 9px;border-radius:999px;color:#FFFFFF;background:var(--c)}
.st h3{font-size:1.2rem;font-weight:800}
.st-for{color:var(--muted);font-size:.94rem}
.st-gk{font-family:var(--f-mono);font-size:.66rem;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);margin-top:4px}
.st ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}
.st li{display:flex;gap:8px;align-items:flex-start;font-size:.92rem}
.st li .ico-sm{flex:none;margin-top:3px;color:var(--c)}
.st-svc{font-size:.82rem;color:var(--muted);margin-top:auto;padding-top:8px;border-top:1px dashed var(--line)}
.st-svc a{color:var(--teal);font-weight:600;text-decoration:none}
.st .btn{align-self:flex-start}
.svc7 p.s-label{font-size:.64rem;letter-spacing:.06em;color:var(--teal)}
.svc7 p.s-proof{font-size:.8rem;color:#2E6B2A}

/* Six services: 3 + 3 on desktop */
.svc7{flex-basis:calc(33.333% - 11px)}
@media (max-width:1000px){.svc7{flex-basis:calc(50% - 8px)}}
@media (max-width:560px){.svc7{flex-basis:100%}}

/* Packages: four cards (three 2-week starters + ongoing managed services) */
.st-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
@media (max-width:1180px){.st-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:640px){.st-grid{grid-template-columns:minmax(0,1fr)}}
.st{padding:22px}
.st-4{--c:#16324F}
.st-ongoing{background:linear-gradient(180deg,#F2F7FC 0%,#FFFFFF 55%)}

/* Footer: social links and legal link */
.fsocial{list-style:none;margin:2px 0 0;padding:0;display:flex;gap:10px;flex-wrap:wrap}
.fsocial a{display:inline-flex;align-items:center;gap:8px;padding:7px 12px;border-radius:999px;border:1px solid var(--line);background:#FFFFFF;color:var(--ink);font-size:.84rem;font-weight:600;text-decoration:none;transition:border-color .2s,color .2s}
.fsocial svg{width:17px;height:17px;color:var(--teal)}
.fsocial a:hover{border-color:var(--teal);color:var(--teal)}
.flegal a{color:var(--muted);text-decoration:none}
.flegal a:hover,.flegal a[aria-current]{color:var(--teal);text-decoration:underline}

/* Terms of Use page */
.tou{max-width:860px}
.tou > .eyebrow{margin-bottom:10px}
.tou .sec-head{margin-bottom:18px}
.legal-lede{font-size:1.05rem;color:var(--muted);line-height:1.65}
.legal-meta{margin:24px 0 0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
@media (max-width:700px){.legal-meta{grid-template-columns:repeat(2,minmax(0,1fr))}}
.legal-meta div{padding:12px 14px;border-radius:12px;background:#FFFFFF;border:1px solid var(--line)}
.legal-meta dt{font-family:var(--f-mono);font-size:.66rem;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}
.legal-meta dd{margin:4px 0 0;font-weight:600;font-size:.92rem}
.legal-scope{margin-top:16px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
@media (max-width:700px){.legal-scope{grid-template-columns:minmax(0,1fr)}}
.legal-scope > div{padding:16px 18px;border-radius:12px;background:#FFFFFF;border:1px solid var(--line)}
.legal-in{border-top:3px solid var(--leaf) !important}
.legal-out{border-top:3px solid var(--amber) !important}
.legal-scope h3{font-size:.98rem;font-weight:700;margin-bottom:8px}
.legal-scope ul{margin:0;padding-left:18px;font-size:.92rem;color:var(--muted);display:flex;flex-direction:column;gap:4px}
.legal-list{list-style:none;margin:36px 0 0;padding:0;display:flex;flex-direction:column;gap:28px}
.legal-list > li{padding-top:24px;border-top:1px solid var(--line);scroll-margin-top:90px}
.legal-list h3{display:flex;gap:12px;align-items:baseline;font-size:1.2rem;font-weight:800;margin-bottom:10px}
.legal-list h3 span{font-family:var(--f-mono);font-size:.8rem;color:var(--teal)}
.legal-list p{color:var(--ink);line-height:1.7;margin-top:10px;font-size:.97rem}
.legal-list p:first-of-type{margin-top:0}
.legal-list ul{margin:10px 0 0;padding-left:20px;display:flex;flex-direction:column;gap:6px;font-size:.97rem;line-height:1.6;color:var(--ink)}
.legal-note{padding:12px 14px;border-left:3px solid var(--teal);background:var(--teal-soft);border-radius:0 8px 8px 0}
.legal-addr{font-style:normal;margin-top:10px;line-height:1.8;padding:14px 16px;border-radius:12px;background:#FFFFFF;border:1px solid var(--line);display:inline-block}

/* Footer: company address */
.faddr{font-style:normal;font-size:.84rem;line-height:1.6;color:var(--muted);max-width:320px}
.faddr b{color:var(--ink);font-weight:600}
/* Footer address with a location icon */
.faddr{display:flex;gap:10px;align-items:flex-start;max-width:none}
.faddr-ico{flex:none;width:18px;height:18px;margin-top:2px;color:var(--teal)}

/* Home hero: sit a little higher on the first screen */
@media (min-width:901px){
  .hero{align-items:flex-start;padding-top:clamp(28px,3.2vw,48px)}
}
