/* Foundifi — brand stylesheet. Palette and type are locked in BRAND.md.
   Rhythm: every section is a full-width band (white, mist or navy) with a visible edge, one idea per band,
   the same head pattern (eyebrow, H2, signal rule) on each. One gradient, used on the mark and the rule. */
:root {
  --navy:#0A2D5C; --navy-deep:#001A40; --blue:#0077F7; --blue-deep:#0E5CC8; --teal:#00C2CF; --teal-ink:#067088;
  --ink:#0F1F3D; --slate:#4A5B78; --line:#DAE1E9; --mist:#EEF4FB; --white:#FFFFFF;
  --signal:linear-gradient(135deg,#0077F7,#00C2CF);
  --display:"Poppins","Helvetica Neue",Arial,sans-serif;
  --body:"Source Sans 3","Helvetica Neue",Arial,sans-serif;
}
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { background:var(--white); color:var(--ink); font-family:var(--body); font-size:18px; line-height:1.55; margin:0; }
.wrap { max-width:1140px; margin:0 auto; padding-left:max(20px,env(safe-area-inset-left,0px)); padding-right:max(20px,env(safe-area-inset-right,0px)); }
h1,h2,h3 { font-family:var(--display); font-weight:600; letter-spacing:-.015em; margin:0; text-wrap:balance; color:var(--navy); }
h1 { font-size:clamp(36px,5.4vw,60px); line-height:1.05; font-weight:700; letter-spacing:-.02em; }
h2 { font-size:clamp(28px,3.4vw,40px); line-height:1.12; }
h3 { font-size:21px; line-height:1.25; }
p { margin:0; }
a { color:var(--blue-deep); }
img, svg { max-width:100%; }
ul { margin:0; padding:0; list-style:none; }
.eyebrow { display:inline-block; font:600 13px/1.3 var(--body); letter-spacing:.14em; text-transform:uppercase; color:var(--teal-ink); margin-bottom:14px; }
.on-dark { color:var(--white); }
.on-dark h1, .on-dark h2, .on-dark h3 { color:var(--white); }
.on-dark .eyebrow { color:var(--teal); }
.on-dark p { color:#D7E3F4; }
.lede { font-size:20px; color:var(--slate); max-width:60ch; margin-top:16px; }
.muted { color:var(--slate); }
.hl { background:var(--signal); -webkit-background-clip:text; background-clip:text; color:transparent; }
.btn { display:inline-flex; align-items:center; justify-content:center; gap:8px; font:600 16px/1 var(--display); padding:15px 24px; border-radius:10px; border:2px solid transparent; cursor:pointer; text-decoration:none; transition:background .12s ease,border-color .12s ease,transform .12s ease; }
.btn:active { transform:scale(.98); }
.btn-primary { background:var(--blue-deep); color:var(--white); }
.btn-primary:hover { background:var(--navy); }
.on-dark .btn-primary { background:var(--blue); }
.on-dark .btn-primary:hover { background:var(--blue-deep); }
.btn-white { background:var(--white); color:var(--navy); }
.btn-white:hover { background:var(--mist); }
.btn-ghost { background:transparent; color:var(--navy); border-color:var(--line); }
.btn-ghost:hover { border-color:var(--blue-deep); }
.on-dark .btn-ghost { color:var(--white); border-color:rgba(255,255,255,.35); }
.on-dark .btn-ghost:hover { border-color:var(--teal); }
:focus-visible { outline:3px solid var(--teal); outline-offset:3px; }

/* ---------- header ---------- */
.site-header { position:sticky; top:0; z-index:20; background:rgba(255,255,255,.95); backdrop-filter:blur(8px); border-bottom:1px solid var(--line); }
.site-header .wrap { display:flex; align-items:center; justify-content:space-between; gap:18px; padding-block:10px; }
.brand { display:inline-block; text-decoration:none; line-height:0; }
.brand img { height:60px; width:auto; }
.site-footer .brand img { height:56px; }
.topbar { background:var(--navy-deep); color:#D7E3F4; font-size:14px; }
.topbar .wrap { display:flex; justify-content:space-between; gap:16px; padding-block:8px; }
.topbar a { color:var(--teal); font-weight:600; text-decoration:none; white-space:nowrap; }
@media (max-width:640px) { .topbar span { display:none; } .topbar .wrap { justify-content:center; } }
.brand .wm { display:inline-flex; align-items:baseline; font:700 30px/1 var(--display); letter-spacing:-.03em; }
.brand .pin { height:.86em; width:auto; align-self:center; margin:0 -.02em 0 -.01em; transform:translateY(.1em); }
.brand .ifi { background:var(--signal); -webkit-background-clip:text; background-clip:text; color:transparent; }
.brand small { font:600 10.5px/1 var(--body); letter-spacing:.1em; text-transform:uppercase; color:var(--slate); padding-left:2px; }
.site-nav { display:flex; gap:24px; font-weight:600; font-size:16px; align-items:center; }
.site-nav a { text-decoration:none; color:var(--slate); }
.site-nav a:hover, .site-nav a.active { color:var(--navy); }
.site-header .btn { padding:13px 20px; font-size:15px; border-radius:999px; background:linear-gradient(135deg,#0E5CC8,#0077F7); box-shadow:0 8px 20px rgba(0,119,247,.28); }
.header-phone { font-weight:600; text-decoration:none; color:var(--navy); }
.mnav { display:none; position:relative; }
.mnav summary { list-style:none; cursor:pointer; width:42px; height:42px; border:1px solid var(--line); border-radius:10px; display:grid; place-items:center; }
.mnav summary::-webkit-details-marker { display:none; }
.mnav summary span, .mnav summary span::before, .mnav summary span::after { display:block; width:18px; height:2px; background:var(--navy); border-radius:2px; position:relative; content:""; }
.mnav summary span::before { position:absolute; top:-6px; } .mnav summary span::after { position:absolute; top:6px; }
.mnav nav { position:absolute; right:0; top:52px; background:var(--white); border:1px solid var(--line); border-radius:14px; padding:10px; display:grid; min-width:200px; box-shadow:0 18px 40px rgba(10,45,92,.14); }
.mnav nav a { padding:10px 12px; text-decoration:none; color:var(--navy); font-weight:600; border-radius:8px; }
.mnav nav a:hover { background:var(--mist); }
@media (max-width:900px) { .site-nav, .header-phone { display:none; } .mnav { display:block; } .site-header .btn { display:none; } }

/* ---------- hero ---------- */
.hero { background:linear-gradient(160deg,var(--navy) 0%,var(--navy-deep) 100%); position:relative; overflow:hidden; }
.hero::before { content:""; position:absolute; right:-10%; bottom:-45%; width:60%; aspect-ratio:1; border-radius:50%; background:radial-gradient(closest-side,rgba(0,194,207,.2),transparent 70%); pointer-events:none; }
.hero .wrap { position:relative; display:grid; grid-template-columns:1.1fr .9fr; gap:48px; align-items:center; padding-block:72px 80px; }
.hero .lede { color:#D7E3F4; }
.hero .actions { display:flex; flex-wrap:wrap; gap:12px; margin-top:30px; }
.facts { display:flex; flex-wrap:wrap; gap:10px 22px; margin-top:32px; font-weight:600; font-size:15px; color:#D7E3F4; }
.facts li { display:flex; align-items:center; gap:8px; }
.facts svg { width:18px; height:18px; flex:none; color:var(--teal); fill:none; stroke:currentColor; stroke-width:2.4; stroke-linecap:round; stroke-linejoin:round; }
@media (max-width:860px) { .hero .wrap { grid-template-columns:1fr; padding-block:48px 56px; } }

/* the map-pack illustration */
.pack { background:var(--white); color:var(--ink); border-radius:18px; padding:14px; box-shadow:0 30px 60px rgba(0,10,40,.35); max-width:440px; justify-self:end; width:100%; }
.pack .map { position:relative; height:110px; border-radius:12px; overflow:hidden; background:#E6EEF8 repeating-linear-gradient(0deg,transparent 0 22px,rgba(10,45,92,.07) 22px 23px), repeating-linear-gradient(90deg,transparent 0 22px,rgba(10,45,92,.07) 22px 23px); background-blend-mode:normal; }
.pack .map::before { content:""; position:absolute; left:-10%; top:40%; width:120%; height:14px; background:#FFFFFF; transform:rotate(-8deg); opacity:.9; }
.pack .map::after { content:""; position:absolute; left:55%; top:-10%; width:12px; height:120%; background:#FFFFFF; transform:rotate(12deg); opacity:.9; }
.pack .dot { position:absolute; width:14px; height:14px; border-radius:50%; background:var(--slate); opacity:.45; z-index:1; }
.pack .d1 { left:22%; top:28%; } .pack .d2 { left:74%; top:62%; }
.pack .you { position:absolute; left:46%; top:18%; width:34px; z-index:2; filter:drop-shadow(0 6px 10px rgba(0,30,80,.35)); }
.pack .you::after { content:""; position:absolute; left:50%; top:100%; width:26px; height:8px; transform:translate(-50%,-2px); border-radius:50%; background:rgba(0,119,247,.25); }
.pack .search { display:flex; align-items:center; gap:10px; border:1px solid var(--line); border-radius:999px; padding:10px 16px; font-size:16px; color:var(--slate); margin-top:12px; }
.pack .search::before { content:""; width:14px; height:14px; border:2px solid var(--slate); border-radius:50%; box-shadow:5px 5px 0 -3px var(--slate); flex:none; }
.pack ul { margin-top:10px; display:grid; gap:8px; }
.pack li { display:grid; grid-template-columns:28px 1fr auto; gap:12px; align-items:center; padding:11px 14px; border-radius:12px; border:1px solid var(--line); }
.pack li.top { border-color:var(--blue); background:var(--mist); }
.pack li .n { font-weight:600; font-family:var(--display); font-size:16px; color:var(--navy); }
.pack li .m { font-size:14px; color:var(--slate); }
.pack li .stars { color:#F2A900; letter-spacing:.05em; font-size:14px; }
.pack li .pin { width:22px; height:auto; }
.pack li .ghost { width:22px; height:22px; border-radius:50%; background:var(--line); }
.pack .cap { margin-top:10px; font-size:13px; color:var(--slate); text-align:center; }
@media (max-width:860px) { .pack { justify-self:stretch; max-width:none; } }

/* ---------- bands ---------- */
.band { padding-block:80px; border-top:1px solid var(--line); }
.band.alt { background:var(--mist); }
.band.dark { background:var(--navy); border-top:0; }
.band.dark.deep { background:linear-gradient(160deg,var(--navy) 0%,var(--navy-deep) 100%); }
.head { max-width:68ch; margin-bottom:40px; }
.head h2::after { content:""; display:block; width:56px; height:4px; border-radius:2px; background:var(--signal); margin-top:16px; }
.head.center { margin-inline:auto; text-align:center; }
.head.center h2::after { margin-inline:auto; }
.head .lede { margin-top:14px; font-size:19px; }
.grid { display:grid; gap:18px; }
.g2 { grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr)); }
.g3 { grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr)); }
.g4 { grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr)); }
.g5 { grid-template-columns:repeat(auto-fit,minmax(min(100%,180px),1fr)); }
.card { background:var(--white); border:1px solid var(--line); border-radius:16px; padding:24px; min-width:0; }
.card h3 { margin-bottom:8px; }
.card p { color:var(--slate); font-size:17px; }
.card.featured { border-color:var(--blue); box-shadow:0 12px 32px rgba(10,45,92,.08); }
.card .tag { display:inline-block; font:600 12px/1 var(--body); letter-spacing:.12em; text-transform:uppercase; color:var(--teal-ink); margin-bottom:12px; }
.ico { width:40px; height:40px; border-radius:11px; background:var(--mist); display:grid; place-items:center; margin-bottom:16px; color:var(--blue-deep); flex:none; }
.ico svg { width:22px; height:22px; fill:none; stroke:currentColor; stroke-width:1.9; stroke-linecap:round; stroke-linejoin:round; }
.card a.more { display:inline-block; margin-top:14px; font-weight:600; text-decoration:none; }
.card a.more:hover { text-decoration:underline; }
.band-foot { margin-top:28px; display:flex; flex-wrap:wrap; gap:12px; align-items:center; }

/* channels: beyond the search bar */
.channels .card { background:rgba(255,255,255,.06); border-color:rgba(255,255,255,.14); color:var(--white); }
.channels .card h3 { color:var(--white); font-size:18px; }
.channels .card p { color:#C7D5EA; font-size:16px; }
.channels .ico { background:rgba(255,255,255,.1); color:var(--teal); }

/* industries */
.tiles .card { display:flex; align-items:center; gap:14px; padding:18px 20px; text-decoration:none; color:var(--navy); font:600 17px/1.25 var(--display); transition:border-color .12s ease,transform .12s ease; }
.tiles .card .ico { margin:0; width:42px; height:42px; }
.tiles .card:hover { border-color:var(--blue); transform:translateY(-2px); }

/* regions */
.region .card h3 { display:flex; align-items:center; gap:10px; font-size:24px; }
.region .card h3 .ico { margin:0; width:34px; height:34px; border-radius:9px; }
.chips { display:flex; flex-wrap:wrap; gap:8px; margin-top:14px; }
.chips li { border:1px solid var(--line); background:var(--white); border-radius:999px; padding:7px 14px; font-weight:600; font-size:15px; color:var(--navy); }
.alt .chips li { background:var(--white); }
.region .also { margin-top:18px; color:var(--slate); }

/* process */
.steps { counter-reset:step; }
.steps .card { position:relative; padding-top:30px; }
.steps .card::before { counter-increment:step; content:counter(step); position:absolute; top:-17px; left:22px; width:34px; height:34px; border-radius:50%; background:var(--signal); color:var(--white); font:700 15px/34px var(--display); text-align:center; }

/* compare */
.compare { width:100%; border-collapse:separate; border-spacing:0; background:var(--white); border:1px solid var(--line); border-radius:16px; overflow:hidden; font-size:17px; }
.compare th, .compare td { padding:16px 20px; text-align:left; vertical-align:top; border-bottom:1px solid var(--line); }
.compare tr:last-child td { border-bottom:0; }
.compare th { font:600 14px/1.3 var(--body); letter-spacing:.1em; text-transform:uppercase; color:var(--slate); background:var(--mist); }
.compare th.us { color:var(--white); background:var(--navy); }
.compare td.us { font-weight:600; color:var(--navy); background:#F6FAFF; }
.compare td.them { color:var(--slate); }
.compare td.what { font-weight:600; }
.tscroll { overflow-x:auto; }
@media (max-width:720px) { .compare { font-size:15px; } .compare th, .compare td { padding:12px 14px; } }

/* reviews / faq */
.reviews blockquote { margin:0; border-left:4px solid var(--teal); padding:4px 0 4px 18px; }
.reviews cite { display:block; margin-top:8px; font-style:normal; font-weight:600; color:var(--navy); }
.faq .qa { display:grid; gap:14px; max-width:72ch; }
.faq details { border:1px solid var(--line); border-radius:12px; padding:16px 20px; background:var(--white); }
.faq summary { cursor:pointer; font:600 18px/1.3 var(--display); color:var(--navy); list-style:none; display:flex; justify-content:space-between; gap:14px; }
.faq summary::-webkit-details-marker { display:none; }
.faq summary::after { content:"+"; color:var(--blue-deep); font-size:22px; line-height:1; flex:none; }
.faq details[open] summary::after { content:"\2013"; }
.faq details p { margin-top:10px; color:var(--slate); }

/* cta with form */
.cta { padding-block:80px; }
.cta .wrap { display:grid; grid-template-columns:1fr 1fr; gap:48px; align-items:center; }
.cta h2 { max-width:20ch; }
.cta .lede { color:#D7E3F4; }
.cta .form { background:var(--white); border-radius:18px; padding:26px; color:var(--ink); box-shadow:0 30px 60px rgba(0,10,40,.35); }
.cta .form h3 { margin-bottom:14px; }
.cta .form .small { font-size:13px; color:var(--slate); margin-top:10px; }
.cta .actions { display:flex; flex-wrap:wrap; gap:12px; margin-top:26px; }
@media (max-width:860px) { .cta .wrap { grid-template-columns:1fr; } }

/* ---------- footer ---------- */
.site-footer { background:var(--navy-deep); color:#B9C8DE; padding-block:56px 28px; font-size:16px; }
.site-footer .cols { display:grid; grid-template-columns:1.5fr 1fr 1fr 1fr; gap:32px; }
.site-footer h2 { font-size:14px; color:var(--white); letter-spacing:.1em; text-transform:uppercase; margin-bottom:12px; }
.site-footer ul { display:grid; gap:6px; }
.site-footer a { color:#D7E3F4; text-decoration:none; }
.site-footer a:hover { color:var(--teal); }
.site-footer .brand { color:var(--white); margin-bottom:12px; }
.site-footer .brand small { color:#9FB3D1; }
.site-footer .desc { max-width:36ch; }
.footer-legal { margin-top:40px; padding-top:18px; border-top:1px solid rgba(255,255,255,.12); font-size:14px; display:flex; flex-wrap:wrap; gap:8px 18px; }
@media (max-width:860px) { .site-footer .cols { grid-template-columns:1fr 1fr; } }
@media (max-width:520px) { .site-footer .cols { grid-template-columns:1fr; } }

/* ---------- inner pages and forms ---------- */
.page-head { padding-block:56px 20px; }
.page-head h1 { max-width:22ch; font-size:clamp(32px,4.6vw,52px); }
.prose { max-width:68ch; display:grid; gap:16px; }
.prose p { color:var(--ink); }
.prose ul { padding-left:20px; list-style:disc; display:grid; gap:8px; }
.form { display:grid; gap:14px; max-width:560px; }
.form .row { display:grid; grid-template-columns:1fr 1fr; gap:14px; }
@media (max-width:520px) { .form .row { grid-template-columns:1fr; } }
.form label { display:grid; gap:6px; font-weight:600; color:var(--navy); font-size:15px; }
.form input, .form select, .form textarea { font:inherit; padding:11px 13px; border:1px solid var(--line); border-radius:10px; background:var(--white); color:var(--ink); width:100%; }
.form textarea { min-height:110px; }
.form-error { background:#FDECEA; color:#8A1C12; border-radius:10px; padding:12px 14px; max-width:560px; }
.recaptcha-notice { font-size:13px; color:var(--slate); margin-top:12px; }
@media (prefers-reduced-motion: reduce) { html { scroll-behavior:auto; } .btn, .tiles .card { transition:none; } }


/* =========================================================================
   HOMEPAGE, rebuilt 16 Oct 2026 to follow ChatGPT homepage mockup 1.
   Light, bright, layered. Colored icon tiles, soft gradients, a few handwritten notes.
   ========================================================================= */
.btn svg, .more svg { width:18px; height:18px; fill:none; stroke:currentColor; stroke-width:2.2; stroke-linecap:round; stroke-linejoin:round; }
.btn-lg { padding:17px 28px; font-size:17px; border-radius:999px; }
.home .btn-primary { background:linear-gradient(135deg,#0E5CC8,#0077F7); box-shadow:0 10px 24px rgba(0,119,247,.3); border-radius:999px; }
.home .btn-primary:hover { background:var(--navy); }
.home .btn-ghost { background:var(--white); border-radius:999px; }
.home .eyebrow { color:var(--blue-deep); letter-spacing:.18em; }
.scribble { font:600 26px/1.05 "Caveat",cursive; color:var(--navy); display:inline-block; transform:rotate(-6deg); }

/* tints for icon tiles */
.sico { width:52px; height:52px; border-radius:14px; display:grid; place-items:center; flex:none; color:var(--white); box-shadow:0 8px 18px rgba(10,45,92,.14); }
.sico svg { width:26px; height:26px; fill:none; stroke:currentColor; stroke-width:2; stroke-linecap:round; stroke-linejoin:round; }
.tint-blue   { --t1:#2F8BFF; --t2:#0E5CC8; --bg:#EAF3FF; }
.tint-teal   { --t1:#19D3C5; --t2:#0A9BA8; --bg:#E6FAF8; }
.tint-purple { --t1:#9D7BFF; --t2:#6B46E5; --bg:#F1ECFF; }
.tint-orange { --t1:#FFB547; --t2:#F27A1A; --bg:#FFF4E6; }
.tint-pink   { --t1:#FF7FA8; --t2:#E2457A; --bg:#FFEEF3; }
.tint-green  { --t1:#3BD68A; --t2:#13A35F; --bg:#E8FAF1; }
.sico[class*=tint-], [class*=tint-] > .sico { background:linear-gradient(135deg,var(--t1),var(--t2)); }

/* hero */
.h-hero { position:relative; overflow:hidden; background:radial-gradient(60% 70% at 85% 30%,#DCEBFF 0%,rgba(220,235,255,0) 70%),radial-gradient(40% 50% at 10% 90%,#E3F8FA 0%,rgba(227,248,250,0) 70%),linear-gradient(180deg,#F7FAFF,#EEF4FB); }
.h-hero .wrap { display:grid; grid-template-columns:1.08fr 1fr; gap:40px; align-items:center; padding-block:64px 84px; }
.h-hero h1 { font-size:clamp(34px,3.7vw,50px); line-height:1.04; color:var(--navy-deep); }
.h-hero .lede { color:var(--slate); font-size:19px; }
.h-hero .actions { display:flex; flex-wrap:wrap; gap:14px; margin-top:30px; }
.checks { display:flex; flex-wrap:wrap; gap:10px 24px; margin-top:28px; font-weight:600; font-size:15px; color:var(--navy); }
.checks li { display:flex; align-items:center; gap:8px; }
.checks svg, .ticks svg, .b-list svg, .art-list svg { width:20px; height:20px; flex:none; padding:3px; border-radius:50%; background:#DCEBFF; color:var(--blue-deep); fill:none; stroke:currentColor; stroke-width:3; stroke-linecap:round; stroke-linejoin:round; }

.h-art { position:relative; min-height:470px; }
.art-search, .art-map, .art-leads, .art-list { position:absolute; background:var(--white); border-radius:18px; box-shadow:0 24px 50px rgba(10,45,92,.14),0 2px 6px rgba(10,45,92,.06); }
.art-search { left:2%; top:4%; width:54%; z-index:3; display:flex; align-items:center; gap:12px; padding:12px 12px 12px 18px; border-radius:999px; font-size:16px; color:var(--ink); }
.art-search .g { font:700 20px/1 var(--display); background:conic-gradient(from -45deg,#EA4335 0 25%,#FBBC05 0 50%,#34A853 0 75%,#4285F4 0); -webkit-background-clip:text; background-clip:text; color:transparent; }
.art-search .q { flex:1; }
.art-search .mag { width:38px; height:38px; border-radius:50%; background:var(--blue-deep); display:grid; place-items:center; color:#fff; }
.art-search .mag svg { width:18px; height:18px; fill:none; stroke:currentColor; stroke-width:2.4; }
.art-map { left:0; top:12%; width:70%; height:300px; z-index:1; overflow:hidden; background:#E9F0F8; }
.art-map .road { position:absolute; background:#fff; border-radius:8px; }
.art-map .r1 { left:-10%; top:46%; width:130%; height:16px; transform:rotate(-9deg); }
.art-map .r2 { left:58%; top:-10%; width:14px; height:130%; transform:rotate(14deg); }
.art-map .r3 { left:18%; top:-10%; width:10px; height:130%; transform:rotate(-20deg); opacity:.8; }
.art-map::after { content:""; position:absolute; right:-8%; bottom:-12%; width:46%; height:46%; border-radius:40%; background:#CFE6D8; opacity:.7; }
.mp { position:absolute; width:26px; z-index:2; filter:drop-shadow(0 6px 8px rgba(0,40,100,.3)); }
.mp.p1 { left:16%; top:30%; } .mp.p2 { left:46%; top:24%; width:34px; } .mp.p3 { left:78%; top:40%; }
.art-biz { position:absolute; left:6%; right:6%; bottom:6%; z-index:3; background:#fff; border-radius:14px; padding:14px; box-shadow:0 12px 30px rgba(10,45,92,.16); display:grid; grid-template-columns:auto 1fr; gap:4px 14px; align-items:center; }
.art-biz .thumb { width:58px; height:58px; border-radius:12px; background:linear-gradient(135deg,#2F8BFF,#0E5CC8); display:grid; place-items:center; color:#fff; grid-row:span 1; }
.art-biz .thumb svg { width:28px; height:28px; fill:none; stroke:currentColor; stroke-width:2; }
.art-biz .n { font:700 17px/1.2 var(--display); color:var(--navy-deep); }
.art-biz .r { font-size:14px; color:var(--slate); }
.art-biz .stars { color:#F5A300; letter-spacing:.04em; }
.art-biz .open { color:#13A35F; font-weight:600; }
.art-biz .acts { grid-column:1/-1; display:flex; justify-content:space-around; border-top:1px solid var(--line); margin-top:10px; padding-top:10px; font-size:13px; font-weight:600; color:var(--blue-deep); }
.art-biz .acts span { display:flex; align-items:center; gap:6px; }
.art-biz .acts svg { width:16px; height:16px; fill:none; stroke:currentColor; stroke-width:2; }
.art-leads { right:0; top:0; width:42%; z-index:2; padding:18px; }
.art-leads .lt { font:600 13px/1 var(--body); color:var(--slate); text-transform:uppercase; letter-spacing:.1em; }
.art-leads .bars { display:flex; align-items:flex-end; gap:5px; height:92px; margin:14px 0; }
.art-leads .bars i { flex:1; border-radius:4px 4px 0 0; background:linear-gradient(180deg,#00C2CF,#0077F7); }
.art-leads ul { display:grid; gap:8px; font-size:14px; font-weight:600; color:var(--navy); }
.art-leads li { display:flex; align-items:center; gap:8px; }
.art-leads li svg { width:16px; height:16px; fill:none; stroke:var(--blue-deep); stroke-width:2; }
.art-list { right:4%; bottom:4%; z-index:4; padding:16px 20px; display:grid; gap:10px; font-weight:600; font-size:15px; color:var(--navy); }
.art-list div { display:flex; align-items:center; gap:10px; }
.h-art .scribble { position:absolute; left:6%; bottom:-6%; z-index:4; }
.h-art .scribble .arrow { position:absolute; right:-52px; top:-40px; width:54px; height:44px; fill:none; stroke:var(--navy); stroke-width:2.4; stroke-linecap:round; stroke-linejoin:round; transform:rotate(6deg); }
@media (max-width:960px) { .h-hero .wrap { grid-template-columns:1fr; padding-block:44px 64px; } .h-art { min-height:440px; } }
@media (max-width:560px) { .h-art { min-height:520px; } .art-search { width:94%; } .art-map { width:100%; top:12%; } .art-leads { top:auto; bottom:12%; left:0; width:56%; } .art-list { bottom:12%; } .h-art .scribble { display:none; } }

/* trust strip */
.h-strip { background:var(--white); border-block:1px solid var(--line); }
.h-strip .wrap { display:flex; flex-wrap:wrap; align-items:center; gap:14px 32px; padding-block:22px; }
.h-strip .lbl { font:600 12px/1.3 var(--body); letter-spacing:.16em; text-transform:uppercase; color:var(--slate); }
.plats { display:flex; flex-wrap:wrap; gap:12px 34px; flex:1; justify-content:space-between; }
.plats li { display:flex; align-items:center; gap:10px; font:600 17px/1 var(--display); color:var(--navy); }
.plats svg { width:24px; height:24px; fill:none; stroke:var(--blue); stroke-width:2; stroke-linecap:round; stroke-linejoin:round; }

/* sections */
.h-sec { padding-block:88px; background:var(--white); }
.h-sec.tight { padding-block:24px 88px; }
.h-sec.soft { background:linear-gradient(180deg,#F5F9FF,#EEF4FB); }
.h-head { margin-bottom:40px; max-width:62ch; }
.h-head.split { max-width:none; display:grid; grid-template-columns:1.1fr 1fr; gap:32px; align-items:end; }
.h-head.split > p { color:var(--slate); font-size:18px; }
.home h2 { font-size:clamp(28px,3.3vw,42px); line-height:1.12; color:var(--navy-deep); }
@media (max-width:860px) { .h-head.split { grid-template-columns:1fr; gap:14px; } }

/* services */
.svc-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:20px; }
.svc { display:block; text-decoration:none; border-radius:20px; padding:28px; background:linear-gradient(180deg,var(--bg) 0%,#fff 75%); border:1px solid rgba(10,45,92,.08); transition:transform .15s ease,box-shadow .15s ease; }
.svc:hover { transform:translateY(-4px); box-shadow:0 22px 44px rgba(10,45,92,.12); }
.svc h3 { margin:20px 0 8px; font-size:21px; color:var(--navy-deep); }
.svc p { color:var(--slate); font-size:16px; }
.svc .more { display:inline-flex; align-items:center; gap:6px; margin-top:16px; font-weight:600; color:var(--blue-deep); }
@media (max-width:900px) { .svc-grid { grid-template-columns:1fr 1fr; } }
@media (max-width:560px) { .svc-grid { grid-template-columns:1fr; } }

/* beyond the search bar */
.beyond { display:grid; grid-template-columns:1fr 1.1fr auto; gap:32px; align-items:center; background:linear-gradient(135deg,#F3F8FF,#ECF7FB); border:1px solid rgba(10,45,92,.08); border-radius:28px; padding:44px; }
.b-copy p { color:var(--slate); margin:16px 0 26px; }
.orbit { position:relative; aspect-ratio:1.25; min-height:300px; }
.orbit .ring { position:absolute; inset:12% 14%; border:2px dashed #B9D3F2; border-radius:50%; }
.orbit .core { position:absolute; left:50%; top:50%; width:44%; transform:translate(-50%,-50%); background:#fff; padding:14px 18px; border-radius:18px; box-shadow:0 18px 40px rgba(10,45,92,.14); }
.node { position:absolute; display:grid; justify-items:center; gap:6px; font:600 14px/1.15 var(--display); color:var(--navy); text-align:center; transform:translate(-50%,-50%); }
.node small { font:400 12px/1 var(--body); color:var(--slate); }
.node b { width:52px; height:52px; border-radius:50%; background:#fff; display:grid; place-items:center; box-shadow:0 10px 24px rgba(10,45,92,.14); }
.node b svg { width:26px; height:26px; fill:none; stroke-width:2.1; stroke-linecap:round; stroke-linejoin:round; }
.c-blue svg { stroke:#2F7BEF; } .c-green svg { stroke:#13A35F; } .c-purple svg { stroke:#6B46E5; } .c-orange svg { stroke:#F27A1A; } .c-teal svg { stroke:#0A9BA8; }
.n1 { left:50%; top:9%; } .n2 { left:12%; top:36%; } .n3 { left:88%; top:36%; } .n4 { left:24%; top:90%; } .n5 { left:76%; top:90%; }
.b-list { background:#fff; border-radius:18px; padding:22px 24px; display:grid; gap:16px; font-weight:600; color:var(--navy); box-shadow:0 14px 34px rgba(10,45,92,.08); }
.b-list li { display:flex; align-items:center; gap:10px; white-space:nowrap; }
@media (max-width:1060px) { .beyond { grid-template-columns:1fr 1fr; } .b-list { grid-column:1/-1; grid-template-columns:repeat(auto-fit,minmax(200px,1fr)); } }
@media (max-width:760px) { .beyond { grid-template-columns:1fr; padding:28px 20px; } }

/* beyond: one question, five surfaces (21 Oct 2026) */
.surfaces { background:linear-gradient(135deg,#F3F8FF,#ECF7FB); border:1px solid rgba(10,45,92,.08); border-radius:28px; padding:36px; }
.sf-q { display:inline-flex; align-items:center; gap:10px; background:#fff; border-radius:999px; padding:8px 18px 8px 8px; font:600 17px/1.2 var(--display); color:var(--navy); box-shadow:0 10px 26px rgba(10,45,92,.08); margin-bottom:22px; }
.sf-grid { list-style:none; margin:0; padding:0; display:grid; grid-template-columns:repeat(5,1fr); gap:16px; }
.sf { background:#fff; border:1px solid rgba(10,45,92,.08); border-radius:18px; padding:12px 14px 18px; min-width:0; display:flex; flex-direction:column; }
.sf h3 { font-size:16px; margin:14px 0 4px; color:var(--navy-deep); }
.sf p { color:var(--slate); font-size:14.5px; }
.sf-mock { border-radius:12px; padding:12px; font-size:13px; line-height:1.35; min-height:100px; display:grid; align-content:start; gap:4px; }
.sf-mock b { font:600 14px/1.25 var(--display); color:var(--navy-deep); }
.sf-mock small { font-size:12.5px; color:var(--slate); line-height:1.35; }
.sf-google { background:#F7FAFE; } .sf-google .url { color:#1A7F3C; font-size:12px; } .sf-google b { color:#1A0DAB; }
.sf-maps { background:#EAF3FF; grid-template-columns:30px 1fr; column-gap:10px; }
.sf-maps .pinmark { grid-row:1/3; width:30px; height:30px; border-radius:50%; background:var(--blue-deep); color:#fff; font:700 14px/30px var(--display); text-align:center; }
.sf-ov { background:#F1F6FF; } .sf-gpt { background:#F6F2FF; }
.sf-mock .ovt { display:flex; align-items:center; gap:8px; font:600 13px/1 var(--body); color:var(--navy); margin-bottom:2px; }
.sf-mock .ovt .ai-dot { width:20px; height:20px; } .sf-mock .ovt .ai-dot svg { width:12px; height:12px; }
.sf-mock mark { background:#DDEBFF; color:var(--navy-deep); padding:0 3px; border-radius:3px; font-weight:600; }
.sf-voice { background:#1A1F2E; } .sf-voice small { color:#B9C3D6; } .sf-voice b { color:#fff; }
.sf-voice .mic { width:26px; height:26px; border-radius:50%; background:linear-gradient(135deg,#FF6B9A,#7B61FF); display:grid; place-items:center; color:#fff; }
.sf-voice .mic svg { width:14px; height:14px; fill:none; stroke:currentColor; stroke-width:2; stroke-linecap:round; }
.sf-note { margin-top:18px; font-size:13.5px; color:var(--slate); }
@media (max-width:1060px) { .sf-grid { grid-template-columns:repeat(3,1fr); } }
@media (max-width:700px) { .sf-grid { grid-template-columns:1fr 1fr; } .surfaces { padding:22px 16px; } .sf-q { font-size:15px; } }
@media (max-width:460px) { .sf-grid { grid-template-columns:1fr; } }

/* websites */
.web { display:grid; grid-template-columns:1.05fr 1fr; gap:56px; align-items:center; }
.web-copy { position:relative; }
.web-copy p { color:var(--slate); margin:16px 0 20px; }
.ticks { display:grid; gap:12px; margin-bottom:28px; font-weight:600; color:var(--navy); }
.ticks li { display:flex; gap:10px; align-items:center; }
.web-copy .scribble { position:absolute; right:-10px; bottom:-18px; }
.devices { position:relative; min-height:380px; }
.laptop { position:absolute; left:0; top:20px; width:86%; }
.laptop .scr { aspect-ratio:16/10; background:#0B1E3F; border:10px solid #1C2B45; border-radius:14px 14px 0 0; overflow:hidden; display:grid; grid-template-rows:auto 1fr auto; }
.laptop .base { height:16px; margin:0 -6%; background:linear-gradient(180deg,#D5DCE6,#A9B4C4); border-radius:0 0 14px 14px; }
.mini-nav { display:flex; align-items:center; gap:8px; padding:10px 14px; background:#fff; }
.mini-nav b { width:60px; height:12px; border-radius:4px; background:var(--navy); margin-right:auto; }
.mini-nav i { width:34px; height:7px; border-radius:4px; background:#C8D3E2; }
.mini-nav em { width:56px; height:16px; border-radius:999px; background:var(--blue); }
.mini-hero { display:grid; grid-template-columns:1.2fr 1fr; gap:14px; padding:18px; background:linear-gradient(135deg,#0A2D5C,#0E5CC8); }
.mini-hero span { display:block; border-radius:5px; background:#fff; margin-bottom:8px; }
.mini-hero .t1 { width:90%; height:16px; } .mini-hero .t2 { width:70%; height:16px; } .mini-hero .t3 { width:80%; height:8px; opacity:.5; }
.mini-hero .mbtn { width:44%; height:18px; background:#00C2CF; border-radius:999px; margin-top:12px; }
.mini-hero .ph { border-radius:10px; background:rgba(255,255,255,.12); display:grid; place-items:center; color:#fff; }
.mini-hero .ph svg { width:44px; height:44px; fill:none; stroke:currentColor; stroke-width:1.6; }
.mini-row { display:grid; grid-template-columns:repeat(3,1fr); gap:10px; padding:12px 18px 16px; background:#fff; }
.mini-row i { height:36px; border-radius:8px; background:#EEF4FB; }
.phone { position:absolute; right:2%; bottom:0; width:26%; aspect-ratio:9/18; background:#1C2B45; border-radius:26px; padding:8px; box-shadow:0 24px 50px rgba(10,45,92,.25); }
.phone .scr { height:100%; border-radius:19px; background:#fff; padding:14px 10px; display:grid; align-content:start; gap:7px; }
.phone b { width:50%; height:9px; border-radius:4px; background:var(--navy); }
.phone span { display:block; height:9px; border-radius:4px; background:#C8D3E2; } .phone .t2 { width:70%; }
.phone .mbtn { height:16px; border-radius:999px; background:var(--blue); width:70%; margin-top:4px; }
.phone i { height:44px; border-radius:8px; background:#EEF4FB; margin-top:6px; }
.float-card { position:absolute; right:22%; top:0; background:#fff; border-radius:16px; padding:14px 16px; display:flex; gap:12px; align-items:center; box-shadow:0 18px 40px rgba(10,45,92,.16); }
.float-card .sico { width:42px; height:42px; }
.float-card b { display:block; font:700 15px/1.2 var(--display); color:var(--navy); } .float-card small { color:var(--slate); }
@media (max-width:900px) { .web { grid-template-columns:1fr; } .devices { min-height:320px; } .web-copy .scribble { display:none; } }

/* process */
.steps4 { list-style:none; margin:0; padding:0; display:grid; grid-template-columns:repeat(4,1fr); gap:20px; counter-reset:none; }
.steps4 li { position:relative; background:#fff; border:1px solid rgba(10,45,92,.08); border-radius:20px; padding:30px 24px 26px; box-shadow:0 12px 30px rgba(10,45,92,.06); }
.steps4 li:not(:last-child)::after { content:"\203A"; position:absolute; right:-17px; top:44%; font:600 28px/1 var(--display); color:#9DB4D3; }
.steps4 .num { position:absolute; top:-16px; left:24px; width:34px; height:34px; border-radius:50%; background:linear-gradient(135deg,#2F8BFF,#0E5CC8); color:#fff; font:700 15px/34px var(--display); text-align:center; box-shadow:0 0 0 5px #fff; }
.steps4 h3 { margin:18px 0 6px; font-size:20px; color:var(--navy-deep); }
.steps4 .when { display:block; font:600 11.5px/1 var(--body); letter-spacing:.1em; text-transform:uppercase; color:var(--teal-ink); margin-top:16px; }
.steps4 .when + h3 { margin-top:6px; }
.steps4 p { color:var(--slate); font-size:16px; }
@media (max-width:900px) { .steps4 { grid-template-columns:1fr 1fr; row-gap:34px; } .steps4 li::after { display:none; } }
@media (max-width:520px) { .steps4 { grid-template-columns:1fr; } }

/* industries */
.ind-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:16px; }
.ind { display:flex; flex-direction:column; align-items:center; text-align:center; gap:12px; padding:24px 14px; background:#fff; border:1px solid rgba(10,45,92,.08); border-radius:18px; text-decoration:none; font:600 16px/1.25 var(--display); color:var(--navy); transition:transform .15s ease,box-shadow .15s ease; }
.ind:hover { transform:translateY(-3px); box-shadow:0 16px 34px rgba(10,45,92,.1); }
.ind span { width:56px; height:56px; border-radius:50%; background:#EAF3FF; display:grid; place-items:center; color:var(--blue-deep); }
.ind svg { width:28px; height:28px; fill:none; stroke:currentColor; stroke-width:1.9; stroke-linecap:round; stroke-linejoin:round; }
@media (max-width:760px) { .ind-grid { grid-template-columns:1fr 1fr; } }

/* why */
.why { display:grid; grid-template-columns:.8fr 1.2fr; gap:48px; align-items:center; }
.why-copy { position:relative; }
.why-copy p { color:var(--slate); margin-top:16px; }
.why-copy .scribble { margin-top:30px; color:var(--blue-deep); }
.vs { width:100%; border-collapse:separate; border-spacing:0; background:#fff; border-radius:20px; overflow:hidden; box-shadow:0 18px 44px rgba(10,45,92,.1); border:1px solid rgba(10,45,92,.08); font-size:16px; }
.vs th, .vs td { padding:15px 20px; border-bottom:1px solid #EDF1F6; text-align:center; }
.vs th:first-child, .vs td:first-child { text-align:left; font-weight:600; color:var(--navy); }
.vs th { font:600 13px/1.2 var(--body); letter-spacing:.08em; text-transform:uppercase; color:var(--slate); background:#F7FAFE; }
.vs th.us { background:linear-gradient(135deg,#0E5CC8,#0077F7); }
.vs th.us img { height:30px; width:auto; vertical-align:middle; }
.vs td.no { color:#E2574C; font-size:22px; font-weight:700; }
.vs td.yes { background:#F4F9FF; }
.vs td.yes svg { width:24px; height:24px; padding:4px; border-radius:50%; background:#13A35F; color:#fff; fill:none; stroke:currentColor; stroke-width:3; stroke-linecap:round; stroke-linejoin:round; vertical-align:middle; }
.vs tr:last-child td { border-bottom:0; }
@media (max-width:900px) { .why { grid-template-columns:1fr; } }

/* regions */
.regions { display:grid; grid-template-columns:1fr 1fr; gap:20px; }
.reg { background:#fff; border-radius:20px; padding:26px; border:1px solid rgba(10,45,92,.08); box-shadow:0 12px 30px rgba(10,45,92,.06); }
.reg h3 { display:flex; align-items:center; gap:14px; font-size:24px; color:var(--navy-deep); }
.reg .sico { width:44px; height:44px; }
.home .also { margin-top:18px; color:var(--slate); }
@media (max-width:700px) { .regions { grid-template-columns:1fr; } }

/* faq + plan form */
.closer { display:grid; grid-template-columns:1fr 1fr; gap:48px; align-items:start; }
.faq-col h2 { margin-bottom:24px; }
.faq-col .qa { display:grid; gap:12px; }
.faq-col details { border:1px solid rgba(10,45,92,.1); border-radius:14px; padding:16px 20px; background:#fff; box-shadow:0 6px 16px rgba(10,45,92,.04); }
.faq-col summary { cursor:pointer; font:600 17px/1.3 var(--display); color:var(--navy); list-style:none; display:flex; justify-content:space-between; gap:14px; }
.faq-col summary::-webkit-details-marker { display:none; }
.faq-col summary::after { content:"+"; color:var(--blue-deep); font-size:22px; line-height:1; flex:none; }
.faq-col details[open] summary::after { content:"\2013"; }
.faq-col details p { margin-top:10px; color:var(--slate); font-size:16px; }
.plan { position:relative; display:grid; gap:12px; padding:36px; border-radius:24px; color:#fff; background:radial-gradient(80% 80% at 100% 0%,rgba(0,194,207,.55),rgba(0,194,207,0) 60%),linear-gradient(135deg,#0E5CC8,#0077F7 60%,#00A9D6); box-shadow:0 30px 60px rgba(0,90,200,.3); }
.plan .eyebrow { color:#BFF4F7; }
.plan h2 { color:#fff; }
.plan p { color:#E2EEFF; margin-bottom:8px; }
.plan .scribble { position:absolute; right:26px; top:26px; color:#fff; font-size:24px; }
.plan .row { display:grid; grid-template-columns:1fr 1fr; gap:12px; }
.plan input, .plan select { font:inherit; font-size:16px; padding:13px 15px; border:0; border-radius:10px; background:#fff; color:var(--ink); width:100%; }
.plan .btn-white { width:100%; margin-top:6px; background:#fff; color:var(--blue-deep); border-radius:999px; }
.plan .btn-white:hover { background:var(--mist); }
.plan small { color:#D6E6FF; font-size:13px; text-align:center; }
@media (max-width:900px) { .closer { grid-template-columns:1fr; } }
@media (max-width:520px) { .plan { padding:26px 20px; } .plan .row { grid-template-columns:1fr; } .plan .scribble { display:none; } }

/* homepage, phone fixes */
.beyond > *, .web > *, .why > *, .closer > * { min-width:0; }
@media (max-width:760px) {
  .beyond { grid-template-columns:minmax(0,1fr); }
  .orbit { margin-inline:6%; min-height:260px; }
  .n2 { left:16%; } .n3 { left:82%; }
  .node { font-size:12.5px; } .node b { width:44px; height:44px; } .node b svg { width:22px; height:22px; }
  .b-list li { white-space:normal; }
  .h-strip .wrap { display:block; }
  .plats { display:grid; grid-template-columns:1fr 1fr; gap:14px 18px; margin-top:14px; }
  .plats li { font-size:15px; }
}
@media (max-width:560px) {
  .h-art { min-height:610px; }
  .art-map { top:9%; height:270px; }
  .art-leads { top:auto; bottom:0; left:0; width:52%; }
  .art-list, .art-ai { bottom:0; right:0; }
  .art-ai { width:58%; }
}

/* AI: hero answer card, and the AI band (added 16 Oct 2026, Katie: lean into AI) */
.art-ai { position:absolute; right:0; bottom:2%; width:56%; z-index:4; background:#fff; border-radius:18px; padding:16px; box-shadow:0 24px 50px rgba(60,40,140,.18),0 2px 6px rgba(10,45,92,.06); border:1px solid #E6DEFF; }
.ai-top, .chat-head { display:flex; align-items:center; gap:8px; font:600 13px/1 var(--body); letter-spacing:.06em; text-transform:uppercase; color:#6B46E5; }
.ai-dot { width:26px; height:26px; border-radius:50%; display:grid; place-items:center; color:#fff; background:linear-gradient(135deg,#9D7BFF,#0077F7); flex:none; }
.ai-dot svg { width:15px; height:15px; fill:none; stroke:currentColor; stroke-width:2; stroke-linejoin:round; }
.ai-q { margin:12px 0 8px auto; width:fit-content; max-width:92%; background:#EEF4FB; color:var(--navy); border-radius:14px 14px 4px 14px; padding:8px 12px; font-size:14px; font-weight:600; }
.ai-a { font-size:14px; line-height:1.45; color:var(--ink); background:#F6F2FF; border-radius:14px 14px 14px 4px; padding:10px 12px; }
.ai-a b { color:#6B46E5; }
.h-art .scribble { bottom:-8%; }

.h-ai { position:relative; overflow:hidden; padding-block:96px; color:#fff; background:radial-gradient(50% 60% at 90% 10%,rgba(157,123,255,.35),rgba(157,123,255,0) 70%),radial-gradient(45% 55% at 0% 100%,rgba(0,194,207,.25),rgba(0,194,207,0) 70%),linear-gradient(160deg,#0A2D5C,#001A40); }
.ai-wrap { display:grid; grid-template-columns:1.05fr .95fr; gap:56px; align-items:center; }
.h-ai .eyebrow { color:#7FE7EE; }
.h-ai h2 { color:#fff; }
.ai-copy > p { color:#D7E3F4; margin:16px 0 28px; font-size:19px; max-width:58ch; }
.ai-how { display:grid; gap:18px; margin-bottom:32px; }
.ai-how li { display:flex; gap:16px; align-items:flex-start; color:#C7D5EA; font-size:16px; }
.ai-how b { display:block; font:600 18px/1.3 var(--display); color:#fff; margin-bottom:2px; }
.ai-how .sico { width:46px; height:46px; box-shadow:none; }
.chat { position:relative; background:#fff; color:var(--ink); border-radius:24px; padding:22px; box-shadow:0 40px 80px rgba(0,0,0,.35); max-width:480px; justify-self:end; width:100%; }
.chat .bubble { margin-top:14px; border-radius:16px; padding:12px 16px; font-size:15px; line-height:1.45; }
.chat .me { margin-left:auto; max-width:85%; background:linear-gradient(135deg,#0E5CC8,#0077F7); color:#fff; border-bottom-right-radius:4px; }
.chat .bot { background:#F6F2FF; border-bottom-left-radius:4px; }
.chat .pick { display:flex; gap:12px; align-items:center; background:#fff; border-radius:12px; padding:10px 12px; margin-top:10px; box-shadow:0 6px 16px rgba(60,40,140,.1); border:2px solid #9D7BFF; }
.chat .pick.dim { border-color:transparent; opacity:.6; }
.chat .pick b { font:600 16px/1.2 var(--display); color:var(--navy-deep); display:block; }
.chat .pick small { color:var(--slate); font-size:13px; }
.chat .rank { width:28px; height:28px; border-radius:50%; background:#6B46E5; color:#fff; display:grid; place-items:center; font:700 14px/1 var(--display); flex:none; }
.chat .dim .rank { background:#B8C2D3; }
.chat-in { margin-top:16px; display:flex; justify-content:space-between; align-items:center; border:1px solid var(--line); border-radius:999px; padding:10px 10px 10px 18px; color:#9AA6BA; font-size:15px; }
.chat-in span { width:34px; height:34px; border-radius:50%; background:var(--navy); color:#fff; display:grid; place-items:center; }
.chat-in svg { width:16px; height:16px; fill:none; stroke:currentColor; stroke-width:2.4; }
.chat .s5 { position:absolute; left:-40px; bottom:-56px; color:#fff; }
@media (max-width:960px) { .ai-wrap { grid-template-columns:minmax(0,1fr); } .chat { justify-self:stretch; max-width:none; } .chat .s5 { display:none; } }
.h-hero h1 .hl { white-space:nowrap; }

/* =========================================================================
   DENSITY PASS (16 Oct 2026): closer to the mockups. Wider page, tighter
   sections, smaller type, more side-by-side layouts.
   ========================================================================= */
.wrap { max-width:1240px; }
.home .h-sec { padding-block:64px; }
.home .h-sec.tight { padding-block:8px 64px; }
.home .h-ai { padding-block:72px; }
.home h2 { font-size:clamp(26px,2.5vw,36px); }
.home .h-head { margin-bottom:28px; }
.home .h-head p { color:var(--slate); font-size:16.5px; margin-top:12px; }
.home .lede { font-size:17.5px; }
.home .eyebrow { font-size:12px; margin-bottom:10px; }
.home .btn-lg { padding:15px 24px; font-size:16px; }
.h-hero .wrap { padding-block:48px 64px; }
.h-art { min-height:440px; }

/* strip: platforms + facts */
.h-strip .wrap { display:flex; justify-content:space-between; align-items:center; gap:24px 40px; flex-wrap:wrap; padding-block:20px; }
.strip-l { display:flex; align-items:center; gap:14px 26px; flex-wrap:wrap; }
.h-strip .plats { flex:none; gap:10px 26px; justify-content:flex-start; }
.h-strip .plats li { font-size:16px; color:#3C4D6B; }
.h-strip .plats svg { width:20px; height:20px; }
.facts4 { display:flex; }
.facts4 li { padding:2px 22px; border-left:1px solid var(--line); text-align:center; }
.facts4 b { display:block; font:700 22px/1.1 var(--display); color:var(--navy-deep); }
.facts4 span { font-size:13px; color:var(--slate); }
@media (max-width:760px) { .facts4 { display:grid; grid-template-columns:1fr 1fr; gap:14px 0; width:100%; } .facts4 li:nth-child(odd) { border-left:0; } }

/* services: one row of six on wide screens */
.svc-grid { grid-template-columns:repeat(6,1fr); gap:16px; }
.svc { padding:22px 20px; border-radius:18px; }
.svc .sico { width:46px; height:46px; }
.svc h3 { font-size:17.5px; margin:16px 0 6px; }
.svc p { font-size:14.5px; line-height:1.5; }
.svc .more { font-size:14.5px; margin-top:12px; }
@media (max-width:1180px) { .svc-grid { grid-template-columns:repeat(3,1fr); } }
@media (max-width:760px) { .svc-grid { grid-template-columns:1fr 1fr; } }
@media (max-width:480px) { .svc-grid { grid-template-columns:1fr; } }

/* side layout: heading left, content right */
.side { display:grid; grid-template-columns:minmax(0,320px) minmax(0,1fr); gap:44px; align-items:center; }
.side .h-head { margin:0; }
.link-arrow { display:inline-flex; align-items:center; gap:6px; margin-top:16px; font-weight:600; text-decoration:none; }
.link-arrow svg { width:16px; height:16px; fill:none; stroke:currentColor; stroke-width:2.2; }
@media (max-width:960px) { .side { grid-template-columns:minmax(0,1fr); gap:28px; } }
.steps4 { gap:16px; }
.steps4 li { padding:26px 18px 20px; }
.steps4 .sico { width:44px; height:44px; }
.steps4 h3 { font-size:17px; margin-top:14px; }
.steps4 p { font-size:14.5px; }
.ind-grid { gap:14px; }
.ind { padding:18px 10px; font-size:14.5px; border-radius:16px; }
.ind span { width:48px; height:48px; }

/* results band */
.results { display:grid; grid-template-columns:1fr 1.15fr 1fr; gap:28px; align-items:center; background:linear-gradient(135deg,#F3F8FF,#F4F1FF); border:1px solid rgba(10,45,92,.08); border-radius:28px; padding:36px; }
.r-copy p { color:var(--slate); margin:12px 0 22px; font-size:16.5px; }
.metrics { display:grid; grid-template-columns:1fr 1fr; gap:14px; }
.metrics li { background:#fff; border-radius:16px; padding:16px; box-shadow:0 10px 26px rgba(10,45,92,.07); display:grid; gap:4px; }
.metrics .sico { width:40px; height:40px; margin-bottom:8px; }
.metrics .sico svg { width:20px; height:20px; }
.metrics b { font:600 16px/1.2 var(--display); color:var(--navy-deep); }
.metrics small { color:var(--slate); font-size:13px; }
.report { background:#fff; border-radius:18px; padding:18px; box-shadow:0 20px 44px rgba(10,45,92,.12); }
.rp-head { display:flex; justify-content:space-between; align-items:center; margin-bottom:12px; }
.rp-head img { height:28px; width:auto; }
.rp-head span { font:600 12px/1 var(--body); letter-spacing:.1em; text-transform:uppercase; color:var(--slate); }
.rp-chart { height:130px; border-radius:10px; background:repeating-linear-gradient(0deg,transparent 0 25px,#EEF2F7 25px 26px); }
.rp-chart svg { width:100%; height:100%; display:block; }
.rp-legend { display:flex; gap:16px; margin-top:10px; font-size:13px; color:var(--slate); }
.rp-legend i { display:inline-block; width:14px; height:3px; border-radius:2px; vertical-align:middle; margin-right:6px; }
.rp-legend .l1 { background:#0077F7; } .rp-legend .l2 { background:#00C2CF; }
@media (max-width:1060px) { .results { grid-template-columns:1fr 1fr; } .r-copy { grid-column:1/-1; } }
@media (max-width:700px) { .results { grid-template-columns:minmax(0,1fr); padding:24px 18px; } }

/* other sections, tighter */
.beyond { padding:36px; }
.web { gap:44px; }
.why { gap:40px; }
.vs th, .vs td { padding:12px 18px; font-size:15px; }
.reg { padding:22px; }
.plan { padding:30px; }
.faq-col details { padding:14px 18px; }
.faq-col summary { font-size:16px; }

/* =========================================================================
   INNER PAGES (16 Oct 2026): same look as the homepage. Gradient page head,
   soft bands, card-style sections, check bullets, blue closing form.
   ========================================================================= */
main:not(.home) h2 { font-size:clamp(26px,2.5vw,36px); color:var(--navy-deep); }
main:not(.home) .eyebrow { color:var(--blue-deep); letter-spacing:.18em; font-size:12px; }
main:not(.home) .btn-primary { background:linear-gradient(135deg,#0E5CC8,#0077F7); box-shadow:0 10px 24px rgba(0,119,247,.28); border-radius:999px; }
main:not(.home) .btn-primary:hover { background:var(--navy); }
main:not(.home) .btn-ghost { border-radius:999px; }
.page-head { position:relative; overflow:hidden; padding-block:64px 56px; background:radial-gradient(55% 80% at 90% 20%,#DCEBFF 0%,rgba(220,235,255,0) 70%),radial-gradient(40% 60% at 5% 100%,#E3F8FA 0%,rgba(227,248,250,0) 70%),linear-gradient(180deg,#F7FAFF,#EEF4FB); border-bottom:1px solid var(--line); }
.page-head::after { content:""; position:absolute; right:6%; top:50%; width:150px; height:186px; transform:translateY(-50%) rotate(8deg); background:url("../images/pin-mark.svg") center/contain no-repeat; opacity:.13; pointer-events:none; }
.page-head h1 { color:var(--navy-deep); }
.page-head .lede { font-size:18.5px; }
main:not(.home) .band { padding-block:64px; border-top:0; }
main:not(.home) .band.alt { background:linear-gradient(180deg,#F5F9FF,#EEF4FB); }
main:not(.home) .band .grid.g2 { background:#fff; border:1px solid rgba(10,45,92,.08); border-radius:24px; padding:36px; box-shadow:0 16px 40px rgba(10,45,92,.07); gap:36px; align-items:start; }
main:not(.home) .band .head h2::after { width:48px; height:4px; }
main:not(.home) ul.prose { list-style:none; padding-left:0 !important; gap:12px; }
main:not(.home) ul.prose li { position:relative; padding-left:34px; color:var(--ink); font-size:17px; }
main:not(.home) ul.prose li::before { content:""; position:absolute; left:0; top:3px; width:22px; height:22px; border-radius:50%; background:#DCEBFF url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230E5CC8' stroke-width='3.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 12.5l4 4 8-9'/%3E%3C/svg%3E") center/14px no-repeat; }
main:not(.home) .card { border-radius:18px; border-color:rgba(10,45,92,.08); box-shadow:0 12px 30px rgba(10,45,92,.06); }
main:not(.home) .ico { background:linear-gradient(135deg,#2F8BFF,#0E5CC8); color:#fff; border-radius:12px; }
main:not(.home) .chips li { background:#EAF3FF; border-color:transparent; color:var(--navy); }
@media (max-width:700px) { main:not(.home) .band .grid.g2 { padding:24px 20px; } .page-head::after { display:none; } }

/* closing form band, every inner page: the bright blue card from the homepage */
main:not(.home) .cta.band.dark.deep { background:var(--white); padding-block:64px; }
main:not(.home) .cta .wrap { background:radial-gradient(70% 90% at 100% 0%,rgba(0,194,207,.55),rgba(0,194,207,0) 60%),linear-gradient(135deg,#0E5CC8,#0077F7 60%,#00A9D6); border-radius:28px; padding:44px; box-shadow:0 30px 60px rgba(0,90,200,.28); max-width:1240px; margin-inline:auto; }
main:not(.home) .cta .eyebrow { color:#BFF4F7; }
main:not(.home) .cta .lede { color:#E2EEFF; }
main:not(.home) .cta .form { border-radius:20px; }
main:not(.home) .cta .form .btn-primary { width:100%; }
@media (max-width:860px) { main:not(.home) .cta .wrap { padding:28px 20px; border-radius:20px; margin-inline:16px; } }
/* contact and about: two-column with a side card */
.contact-grid, .about-grid { display:grid; grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr); gap:32px; align-items:start; }
.contact-card, .about-card { background:#fff; border:1px solid rgba(10,45,92,.08); border-radius:24px; padding:36px; box-shadow:0 16px 40px rgba(10,45,92,.07); }
.contact-card .form { max-width:none; }
.contact-card .form .btn-primary { width:100%; }
.next-card { background:radial-gradient(80% 80% at 100% 0%,rgba(157,123,255,.18),rgba(157,123,255,0) 60%),linear-gradient(135deg,#F3F8FF,#ECF7FB); border:1px solid rgba(10,45,92,.08); border-radius:24px; padding:32px; position:sticky; top:110px; }
.next-card h2 { margin:4px 0 18px; font-size:26px !important; }
.next { list-style:none; margin:0; padding:0; display:grid; gap:16px; counter-reset:n; }
.next li { position:relative; padding-left:46px; color:var(--slate); font-size:15.5px; }
.next li::before { counter-increment:n; content:counter(n); position:absolute; left:0; top:0; width:32px; height:32px; border-radius:50%; background:linear-gradient(135deg,#2F8BFF,#0E5CC8); color:#fff; font:700 14px/32px var(--display); text-align:center; }
.next b { display:block; font:600 16.5px/1.3 var(--display); color:var(--navy-deep); margin-bottom:2px; }
.next-checks { display:flex; flex-wrap:wrap; gap:8px; margin-top:22px; }
.next-checks li { background:#fff; border-radius:999px; padding:7px 14px; font-weight:600; font-size:14px; color:var(--navy); box-shadow:0 4px 12px rgba(10,45,92,.06); }
.next-checks.col { display:grid; gap:10px; margin:0 0 24px; }
.next-checks.col li { border-radius:12px; padding:11px 14px 11px 44px; position:relative; }
.next-checks.col li::before { content:""; position:absolute; left:12px; top:50%; transform:translateY(-50%); width:22px; height:22px; border-radius:50%; background:#DCEBFF url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230E5CC8' stroke-width='3.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 12.5l4 4 8-9'/%3E%3C/svg%3E") center/14px no-repeat; }
.about-card p { font-size:17.5px; }
.details { margin-top:28px; background:#fff; border:1px solid rgba(10,45,92,.08); border-radius:20px; padding:26px 28px; box-shadow:0 12px 30px rgba(10,45,92,.06); }
.details h2 { font-size:24px !important; margin:4px 0 14px; }
.details dl { margin:0; display:grid; gap:10px; }
.details dl > div { display:grid; grid-template-columns:140px 1fr; gap:12px; font-size:16px; }
.details dt { color:var(--slate); font-weight:600; }
.details dd { margin:0; color:var(--ink); }
@media (max-width:520px) { .details dl > div { grid-template-columns:1fr; gap:2px; } .details { padding:20px 18px; } }
@media (max-width:900px) { .contact-grid, .about-grid { grid-template-columns:minmax(0,1fr); } .next-card { position:static; } .contact-card, .about-card { padding:24px 20px; } }

/* =========================================================================
   FREE AI CHECK (lead magnet), /ai-check and the homepage teaser band
   ========================================================================= */
@media (min-width:961px) { .chk-top { grid-template-columns:1.05fr .95fr !important; } }
.chk-hero h1 { font-size:clamp(32px,3.6vw,48px) !important; }
.scan-form { background:#fff; border-radius:24px; padding:30px; box-shadow:0 30px 60px rgba(10,45,92,.16); display:grid; gap:14px; border:1px solid #E6DEFF; }
.sf-badge { display:inline-flex; align-items:center; gap:8px; font:600 13px/1 var(--body); letter-spacing:.06em; text-transform:uppercase; color:#6B46E5; }
.scan-form label { display:grid; gap:6px; font-weight:600; color:var(--navy); font-size:14.5px; }
.scan-form input { font:inherit; font-size:17px; padding:14px 16px; border:1.5px solid var(--line); border-radius:12px; width:100%; }
.scan-form input:focus { border-color:var(--blue); outline:none; box-shadow:0 0 0 4px rgba(0,119,247,.12); }
.scan-form .row { display:grid; grid-template-columns:1fr 1fr; gap:12px; }
.scan-form .btn { width:100%; }
.scan-form small { color:var(--slate); font-size:13px; text-align:center; }
.scan-err { max-width:none; }
@media (max-width:520px) { .scan-form { padding:22px 18px; } .scan-form .row { grid-template-columns:1fr; } }

.report-top { display:grid; grid-template-columns:auto 1fr; gap:40px; align-items:center; background:#fff; border:1px solid rgba(10,45,92,.08); border-radius:28px; padding:36px; box-shadow:0 18px 44px rgba(10,45,92,.08); }
.ring { --c:#13A35F; width:190px; height:190px; border-radius:50%; display:grid; place-items:center; background:conic-gradient(var(--c) calc(var(--p)*1%), #EEF2F7 0); }
.ring.mid { --c:#F29A1A; } .ring.bad { --c:#E2574C; }
.ring > div { width:150px; height:150px; border-radius:50%; background:#fff; display:grid; place-items:center; align-content:center; text-align:center; }
.ring b { font:700 52px/1 var(--display); color:var(--navy-deep); }
.ring small { color:var(--slate); font-size:13px; }
.rt-copy p { color:var(--slate); margin:10px 0 18px; }
.subs { display:grid; gap:10px; max-width:560px; }
.sub { display:grid; grid-template-columns:220px 1fr 36px; gap:12px; align-items:center; font-weight:600; color:var(--navy); font-size:15px; }
.sub span { display:flex; align-items:center; gap:8px; }
.sub svg { width:18px; height:18px; fill:none; stroke:var(--blue-deep); stroke-width:2; }
.sub .bar { height:10px; border-radius:99px; background:#EEF2F7; overflow:hidden; }
.sub .bar i { display:block; height:100%; border-radius:99px; background:#13A35F; }
.sub.mid .bar i { background:#F29A1A; } .sub.bad .bar i { background:#E2574C; }
.sub b { text-align:right; }
@media (max-width:760px) { .report-top { grid-template-columns:1fr; justify-items:center; padding:26px 18px; text-align:left; } .sub { grid-template-columns:1fr 34px; } .sub .bar { grid-column:1/-1; grid-row:2; } }

.findings { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px; margin-top:24px; }
.fgroup { background:#fff; border:1px solid rgba(10,45,92,.08); border-radius:22px; padding:22px; box-shadow:0 12px 30px rgba(10,45,92,.06); }
.fgroup h3 { font-size:18px; margin-bottom:12px; color:var(--navy-deep); }
.fgroup ul { display:grid; gap:12px; }
.fgroup li { display:grid; grid-template-columns:28px 1fr; gap:10px; padding:12px; border-radius:14px; }
.fgroup li.no { background:#FFF3F1; }
.fgroup li.ok { background:#F2FBF6; }
.fgroup .mark { width:26px; height:26px; border-radius:50%; display:grid; place-items:center; color:#fff; font:700 14px/1 var(--display); }
.fgroup .no .mark { background:#E2574C; } .fgroup .ok .mark { background:#13A35F; }
.fgroup b { display:block; font:600 15px/1.3 var(--display); color:var(--navy-deep); }
.fgroup p { font-size:14px; color:var(--slate); margin-top:3px; line-height:1.45; }
@media (max-width:1000px) { .findings { grid-template-columns:minmax(0,1fr); } }

.gate { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:40px; align-items:center; margin-top:32px; background:linear-gradient(135deg,#F3F8FF,#F4F1FF); border:1px solid rgba(10,45,92,.08); border-radius:28px; padding:40px; }
.gate-copy p { color:var(--slate); margin:12px 0 22px; }
.ai-how.small li { color:var(--slate); font-size:15px; }
.ai-how.small b { color:var(--navy-deep); font-size:16.5px; }
.svc-grid.three { grid-template-columns:repeat(3,1fr); }
@media (max-width:900px) { .gate { grid-template-columns:minmax(0,1fr); padding:24px 18px; } .svc-grid.three { grid-template-columns:1fr; } }

/* homepage teaser band */
.teaser { background:linear-gradient(135deg,#0A2D5C,#0E5CC8 70%,#6B46E5); color:#fff; border-radius:28px; padding:34px 40px; display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1.1fr); gap:32px; align-items:center; box-shadow:0 30px 60px rgba(10,45,92,.22); position:relative; overflow:hidden; }
.teaser::after { content:""; position:absolute; right:-60px; top:-80px; width:260px; height:260px; border-radius:50%; background:radial-gradient(closest-side,rgba(0,194,207,.45),transparent); }
.teaser .eyebrow { color:#BFF4F7 !important; }
.teaser h2 { color:#fff !important; }
.teaser p { color:#D7E3F4; margin-top:10px; }
.teaser form { position:relative; z-index:1; display:flex; gap:10px; background:#fff; border-radius:999px; padding:8px; }
.teaser input { flex:1; min-width:0; border:0; font:inherit; font-size:17px; padding:10px 16px; border-radius:999px; color:var(--ink); }
.teaser input:focus { outline:none; }
.teaser .btn { white-space:nowrap; }
.teaser .fine { grid-column:2; font-size:13px; color:#BFD3F2; margin-top:-20px; position:relative; z-index:1; }
@media (max-width:900px) { .teaser { grid-template-columns:minmax(0,1fr); padding:26px 20px; } .teaser .fine { grid-column:1; margin-top:-12px; } }
@media (max-width:520px) { .teaser form { flex-direction:column; border-radius:18px; } .teaser .btn { width:100%; } }
.fgroup li.wait { background:#F4F1FF; border:1.5px dashed #9D7BFF; }
.fgroup .wait .mark { background:#6B46E5; }
.teaser input[type=email] { border-left:1px solid var(--line); border-radius:0; }
@media (max-width:520px) { .teaser input[type=email] { border-left:0; border-top:1px solid var(--line); } }

/* =========================================================================
   PRICING
   ========================================================================= */
.pr-top { display:block !important; text-align:center; max-width:860px; padding-block:56px 60px !important; }
.pr-top .lede { margin-inline:auto; }
.pr-jump { display:flex; flex-wrap:wrap; justify-content:center; gap:10px; margin-top:26px; }
.center-head { text-align:center; margin-inline:auto; }
.web-price { display:grid; grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr); gap:40px; align-items:center; }
.wp-copy p { color:var(--slate); margin:12px 0 20px; }
.tiers { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px; align-items:start; }
.tier { position:relative; background:#fff; border:1px solid rgba(10,45,92,.1); border-radius:24px; padding:30px 26px; box-shadow:0 14px 34px rgba(10,45,92,.07); display:grid; gap:10px; }
.tier.pop { border:2px solid var(--blue); box-shadow:0 26px 56px rgba(0,119,247,.2); transform:translateY(-8px); }
.tier.solo { border:2px solid var(--blue); box-shadow:0 26px 56px rgba(0,119,247,.18); }
.t-ribbon, .t-badge { position:absolute; top:-14px; left:26px; background:linear-gradient(135deg,#0E5CC8,#0077F7); color:#fff; font:600 12px/1 var(--body); letter-spacing:.1em; text-transform:uppercase; padding:8px 12px; border-radius:999px; }
.tier h3 { font-size:24px; color:var(--navy-deep); margin-top:6px; }
.t-tag { color:var(--blue-deep); font-weight:600; font-size:15px; margin-top:-4px; }
.t-price { display:flex; flex-wrap:wrap; align-items:baseline; gap:4px 8px; margin:6px 0 2px; }
.t-price .from { width:100%; font-size:13px; color:var(--slate); text-transform:uppercase; letter-spacing:.08em; font-weight:600; }
.t-price .amt { font:700 46px/1 var(--display); color:var(--navy-deep); letter-spacing:-.02em; }
.t-price .amt.quote { font-size:28px; }
.t-price .per { color:var(--slate); font-weight:600; }
.t-for { color:var(--slate); font-size:15px; }
.tier .btn { width:100%; margin:6px 0 8px; }
.tier small { color:var(--slate); font-size:13px; text-align:center; }
.tier ul { display:grid; gap:10px; border-top:1px solid var(--line); padding-top:16px; }
.tier li { display:grid; grid-template-columns:20px 1fr; gap:10px; font-size:15px; color:var(--ink); align-items:start; }
.tier li.lead { display:block; font-weight:600; color:var(--navy); }
.tier li svg { width:20px; height:20px; padding:3px; border-radius:50%; background:#DCEBFF; color:var(--blue-deep); fill:none; stroke:currentColor; stroke-width:3; stroke-linecap:round; stroke-linejoin:round; }
.every { display:flex; flex-wrap:wrap; justify-content:center; align-items:center; gap:12px 26px; margin-top:34px; padding:18px 24px; background:#fff; border-radius:18px; border:1px solid rgba(10,45,92,.08); font-size:15px; color:var(--navy); font-weight:600; }
.every b { font:700 15px/1 var(--display); color:var(--navy-deep); }
.every span { display:flex; align-items:center; gap:8px; }
.every svg { width:20px; height:20px; padding:3px; border-radius:50%; background:#DCEBFF; color:var(--blue-deep); fill:none; stroke:currentColor; stroke-width:3; }
.pricing .teaser form { flex-wrap:nowrap; }
@media (max-width:980px) { .tiers { grid-template-columns:minmax(0,1fr); max-width:520px; margin-inline:auto; } .tier.pop { transform:none; } .web-price { grid-template-columns:minmax(0,1fr); } }
.t-price .host { width:100%; font-size:13.5px; color:var(--slate); font-weight:600; margin-top:4px; }

/* =========================================================================
   LIVE AI ANSWER (ai-check results): a chat window that types itself out
   ========================================================================= */
.ai-stage { padding-block:56px 24px; background:radial-gradient(50% 60% at 85% 0%,rgba(157,123,255,.35),rgba(157,123,255,0) 70%),radial-gradient(45% 55% at 0% 100%,rgba(0,194,207,.25),rgba(0,194,207,0) 70%),linear-gradient(160deg,#0A2D5C,#001A40); scroll-margin-top:90px; }
.chatbox { max-width:760px; margin:0 auto; background:#fff; border-radius:26px; box-shadow:0 40px 80px rgba(0,0,0,.35); overflow:hidden; scroll-margin-top:100px; }
.cb-top { display:flex; align-items:center; gap:10px; padding:16px 22px; border-bottom:1px solid #EEF2F7; }
.cb-top b { font:600 16px/1 var(--display); color:var(--navy-deep); }
.cb-top small { margin-left:auto; color:#13A35F; font-weight:600; font-size:13px; display:flex; align-items:center; gap:6px; }
.cb-top small::before { content:""; width:8px; height:8px; border-radius:50%; background:#13A35F; box-shadow:0 0 0 4px rgba(19,163,95,.18); }
.cb-body { padding:22px; display:grid; gap:14px; min-height:220px; align-content:start; }
.msg.me { justify-self:end; max-width:85%; background:linear-gradient(135deg,#0E5CC8,#0077F7); color:#fff; padding:12px 18px; border-radius:20px 20px 4px 20px; font-size:17px; font-weight:600; }
.msg.bot { justify-self:start; max-width:94%; background:#F6F2FF; color:var(--ink); padding:14px 18px; border-radius:20px 20px 20px 4px; font-size:16px; line-height:1.55; }
.msg.bot p + p { margin-top:10px; }
.msg.bot mark { background:#FFE58A; color:inherit; padding:0 3px; border-radius:4px; }
.dots { display:none; gap:5px; padding:6px 2px; }
.dots i { width:8px; height:8px; border-radius:50%; background:#9D7BFF; animation:dot 1s infinite ease-in-out; }
.dots i:nth-child(2) { animation-delay:.15s; } .dots i:nth-child(3) { animation-delay:.3s; }
@keyframes dot { 0%,80%,100% { opacity:.3; transform:translateY(0); } 40% { opacity:1; transform:translateY(-4px); } }
.verdict { margin:0 22px 18px; padding:16px 18px; border-radius:16px; display:grid; gap:4px; transition:opacity .4s ease, transform .4s ease; }
.verdict b { font:700 19px/1.3 var(--display); }
.verdict span { color:var(--slate); font-size:15px; }
.verdict.no { background:#FFF1EF; border:1.5px solid #F4B4AC; } .verdict.no b { color:#C23A2E; }
.verdict.yes { background:#ECFAF2; border:1.5px solid #9BDDB9; } .verdict.yes b { color:#0F8A50; }
.see-more { display:flex; margin:0 22px 22px; width:calc(100% - 44px); background:var(--navy) !important; color:#fff !important; border-radius:999px; transition:opacity .4s ease; }
.see-more:hover { background:var(--blue-deep) !important; }
.hide { opacity:0; transform:translateY(8px); pointer-events:none; }
#report { scroll-margin-top:90px; }
@media (max-width:600px) { .ai-stage { padding-block:28px 16px; } .chatbox { border-radius:18px; } .cb-body { padding:16px; } .msg.me { font-size:16px; } .verdict, .see-more { margin-inline:14px; } .see-more { width:calc(100% - 28px); } }
@media (prefers-reduced-motion: reduce) { .dots i { animation:none; } }
.cb-top small.demo { color:#B4690E; } .cb-top small.demo::before { background:#F29A1A; box-shadow:0 0 0 4px rgba(242,154,26,.2); }
.msg.bot form.need { display:grid; gap:10px; margin-top:12px; }
.msg.bot form.need input { font:inherit; font-size:16px; padding:12px 14px; border:1.5px solid #D9CCFF; border-radius:12px; background:#fff; width:100%; }
.msg.bot form.need .btn { justify-self:start; }
.fgroup li { align-items:center; }
.fgroup .fixlink { display:inline-block; margin-top:3px; font-size:13.5px; font-weight:600; color:#C23A2E; text-decoration:none; }
.fgroup .wait .fixlink { color:#6B46E5; }
.fgroup .fixlink:hover { text-decoration:underline; }
#fix { scroll-margin-top:100px; }
.legal h2 { font-size:22px !important; margin-top:12px; }
.legal ul { list-style:disc; padding-left:22px; display:grid; gap:8px; }
.legal li b { color:var(--navy-deep); }

/* =========================================================================
   HERO, v5 (16 Oct 2026): AI chat and search scenes instead of the map
   ========================================================================= */
.chat-art { min-height:480px; }
.chat-art > div { position:absolute; }
.ca-google { left:0; top:0; width:64%; z-index:2; display:grid; gap:10px; }
.ca-google .art-search { position:relative; left:auto; top:auto; width:100%; }
.ca-overview { background:#fff; border-radius:18px; padding:16px 18px; box-shadow:0 24px 50px rgba(10,45,92,.14); border:1px solid #DCE8FB; }
.ov-top { display:flex; align-items:center; gap:8px; font:600 13px/1 var(--body); letter-spacing:.06em; text-transform:uppercase; color:#1A73E8; }
.ai-dot.g2 { background:conic-gradient(from 210deg,#4285F4,#34A853,#FBBC05,#EA4335,#4285F4); }
.ca-overview p { margin:10px 0 10px; font-size:15px; line-height:1.5; color:var(--ink); }
.ca-overview mark { background:#FFE58A; padding:0 3px; border-radius:4px; }
.ov-src { display:flex; gap:8px; flex-wrap:wrap; }
.ov-src span { font-size:12px; color:var(--slate); background:#F1F5FB; border-radius:999px; padding:5px 10px; }
.ca-gpt { right:0 !important; bottom:6% !important; top:auto !important; width:58% !important; z-index:3 !important; }
.ca-gpt .ai-a b { color:#6B46E5; }
.ca-voice { right:2%; top:2%; z-index:1; display:flex; align-items:center; gap:12px; background:#fff; border-radius:999px; padding:10px 18px 10px 10px; box-shadow:0 16px 36px rgba(10,45,92,.14); max-width:52%; }
.ca-voice .mic { width:40px; height:40px; border-radius:50%; flex:none; display:grid; place-items:center; color:#fff; background:linear-gradient(135deg,#FF7FA8,#6B46E5); }
.ca-voice .mic svg { width:20px; height:20px; fill:none; stroke:currentColor; stroke-width:2; }
.ca-voice small { display:block; font-size:12px; color:var(--slate); }
.ca-voice b { font:600 14px/1.2 var(--display); color:var(--navy-deep); }
.ca-badge { left:6%; top:58%; z-index:4; display:flex; align-items:center; gap:8px; background:#13A35F; color:#fff; font:600 14px/1 var(--display); padding:10px 16px; border-radius:999px; box-shadow:0 14px 30px rgba(19,163,95,.35); transform:rotate(-3deg); }
.ca-badge svg { width:18px; height:18px; fill:none; stroke:currentColor; stroke-width:3; }
.chat-art .scribble { left:2% !important; bottom:-4% !important; font-size:30px; }
.h-art .scribble .arrow { right:-118px !important; top:-74px !important; width:112px !important; height:84px !important; stroke-width:2.8 !important; }
@media (max-width:960px) { .chat-art { min-height:520px; } }
@media (max-width:560px) {
  .chat-art { min-height:640px; }
  .ca-google { width:100%; }
  .ca-voice { top:auto; bottom:38%; left:0; right:auto; max-width:90%; }
  .ca-gpt { width:92% !important; bottom:0 !important; }
  .ca-badge { top:44%; left:auto; right:0; }
}

/* =========================================================================
   CASE STUDY
   ========================================================================= */
.cs-top { grid-template-columns:1.1fr .9fr !important; }
.cs-hero h1 { font-size:clamp(34px,3.8vw,52px) !important; }
.cs-stats { display:grid; grid-template-columns:1fr 1fr; gap:14px; }
.cs-stat { background:#fff; border-radius:20px; padding:20px; box-shadow:0 18px 40px rgba(10,45,92,.1); border:1px solid rgba(10,45,92,.08); }
.cs-stat.big { grid-column:1/-1; background:linear-gradient(135deg,#6B46E5,#0E5CC8); color:#fff; border:0; }
.cs-stat b { display:block; font:700 46px/1 var(--display); color:var(--navy-deep); letter-spacing:-.02em; }
.cs-stat.big b { color:#fff; font-size:64px; }
.cs-stat span { display:block; margin-top:8px; font-weight:600; color:var(--slate); font-size:15px; line-height:1.35; }
.cs-stat.big span { color:#E6DEFF; font-size:17px; }
.cs-stat small { color:var(--blue-deep); font-weight:700; }
.on-dark-head h2 { color:#fff !important; } .on-dark-head p { color:#C7D5EA !important; } .on-dark-head .eyebrow { color:#7FE7EE !important; }
.cs-chat { padding-block:72px; }
.cs-grid { display:grid; grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr); gap:40px; align-items:start; }
.cs-chart { display:flex; align-items:flex-end; gap:10px; height:300px; margin-top:24px; padding:20px 18px 0; background:#fff; border:1px solid rgba(10,45,92,.08); border-radius:22px; box-shadow:0 14px 34px rgba(10,45,92,.07); }
.cs-chart .col { flex:1; height:100%; display:flex; flex-direction:column; justify-content:flex-end; align-items:center; gap:6px; }
.cs-chart i { width:100%; max-width:46px; border-radius:8px 8px 0 0; background:linear-gradient(180deg,#00C2CF,#0077F7); }
.cs-chart .v { font:700 13px/1 var(--display); color:var(--navy-deep); }
.cs-chart .m { font-size:13px; color:var(--slate); padding:8px 0 12px; }
.cs-ranks ul { display:grid; gap:12px; margin-top:20px; }
.cs-ranks li { display:flex; gap:14px; align-items:center; background:#fff; border:1px solid rgba(10,45,92,.08); border-radius:16px; padding:14px 16px; box-shadow:0 8px 20px rgba(10,45,92,.05); font-size:15px; color:var(--slate); }
.cs-ranks b { display:block; color:var(--navy-deep); font:600 15px/1.2 var(--display); }
.rk { width:48px; height:48px; flex:none; border-radius:14px; display:grid; place-items:center; font:700 18px/1 var(--display); color:#fff; background:linear-gradient(135deg,#2F8BFF,#0E5CC8); }
.rk.gold { background:linear-gradient(135deg,#FFB547,#F27A1A); }
.cs-teaser { display:grid; grid-template-columns:minmax(0,1.2fr) minmax(0,1fr); gap:28px; align-items:center; text-decoration:none; color:inherit; background:linear-gradient(135deg,#F4F1FF,#EEF4FB); border:1px solid rgba(10,45,92,.08); border-radius:28px; padding:34px 40px; transition:transform .15s ease, box-shadow .15s ease; }
.cs-teaser:hover { transform:translateY(-3px); box-shadow:0 24px 50px rgba(10,45,92,.12); }
.cs-teaser p { color:var(--slate); margin-top:10px; }
.cs-mini { display:grid; grid-template-columns:repeat(3,1fr); gap:12px; }
.cs-mini div { background:#fff; border-radius:18px; padding:18px 12px; text-align:center; box-shadow:0 12px 28px rgba(10,45,92,.08); }
.cs-mini b { display:block; font:700 34px/1 var(--display); color:#6B46E5; }
.cs-mini small { display:block; margin-top:6px; color:var(--slate); font-weight:600; font-size:13px; }
@media (max-width:960px) { .cs-top { grid-template-columns:minmax(0,1fr) !important; } .cs-grid, .cs-teaser { grid-template-columns:minmax(0,1fr); } .cs-teaser { padding:26px 20px; } }
@media (max-width:520px) { .cs-chart { gap:5px; padding-inline:10px; } .cs-chart .v { font-size:10px; } .cs-stat.big b { font-size:52px; } }

/* =========================================================================
   SERVICES PAGE, rebuilt 16 Oct 2026
   ========================================================================= */
.sv-top { display:block !important; text-align:center; max-width:960px; padding-block:56px 52px !important; }
.sv-top .lede { margin-inline:auto; }
.sv-jump { display:flex; flex-wrap:wrap; justify-content:center; gap:10px; margin-top:28px; }
.sv-jump a { display:inline-flex; align-items:center; gap:10px; padding:8px 16px 8px 8px; background:#fff; border-radius:999px; text-decoration:none; color:var(--navy); font:600 15px/1 var(--display); box-shadow:0 8px 20px rgba(10,45,92,.08); border:1px solid rgba(10,45,92,.06); transition:transform .15s ease; }
.sv-jump a:hover { transform:translateY(-2px); }
.sv-jump .sico { width:32px; height:32px; border-radius:50%; box-shadow:none; }
.sv-jump .sico svg { width:17px; height:17px; }
.sv-row { scroll-margin-top:90px; }
.sv-split { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:56px; align-items:center; }
.sv-split.flip .sv-copy { order:2; }
.sv-label { display:inline-flex; align-items:center; gap:10px; font:600 13px/1 var(--body); letter-spacing:.12em; text-transform:uppercase; color:var(--navy); margin-bottom:14px; }
.sv-label .sico { width:38px; height:38px; border-radius:12px; }
.sv-label .sico svg { width:20px; height:20px; }
.sv-copy > p { color:var(--slate); margin:14px 0 20px; font-size:17.5px; }
.sv-copy .ticks { margin-bottom:26px; }
.sv-cta { display:flex; flex-wrap:wrap; align-items:center; gap:14px 20px; }
.sv-price { font:600 15px/1 var(--display); color:var(--blue-deep); text-decoration:none; background:#EAF3FF; padding:11px 16px; border-radius:999px; }
.sv-price:hover { background:#DCEBFF; }
.sv-vis { position:relative; min-height:340px; display:grid; place-items:center; }
.sv-vis .laptop { position:relative; left:auto; top:auto; width:88%; }
.vcard { position:relative; width:min(100%,420px); background:#fff; border-radius:22px; padding:20px; box-shadow:0 30px 60px rgba(10,45,92,.14); border:1px solid rgba(10,45,92,.06); }
.vf { position:absolute; z-index:3; background:#fff; border-radius:16px; padding:12px 16px; box-shadow:0 18px 40px rgba(10,45,92,.16); display:grid; gap:2px; }
.vf b { font:700 16px/1.2 var(--display); color:var(--navy-deep); }
.vf small { color:var(--slate); font-size:12.5px; }
.vf.ok b { color:#0F8A50; }
.vf-a { right:0; bottom:6%; } .vf-b { left:0; bottom:4%; }
.serp .art-search { position:relative; left:auto; top:auto; width:100%; box-shadow:none; border:1px solid var(--line); }
.serp .pack { display:grid; gap:8px; margin-top:12px; }
.pk { display:flex; gap:12px; align-items:center; padding:10px 12px; border:1px solid var(--line); border-radius:12px; }
.pk.top { border:2px solid var(--blue); background:#F4F9FF; }
.pk b { display:block; font:600 15px/1.2 var(--display); color:var(--navy-deep); } .pk small { color:var(--slate); font-size:12.5px; }
.pn { width:28px; height:28px; border-radius:50%; background:#EEF2F7; display:grid; place-items:center; font:700 13px/1 var(--display); color:var(--slate); flex:none; }
.pk.top .pn { background:var(--blue); color:#fff; }
.chatv .ai-q { margin-top:14px; } .chatv .ai-a b { color:#6B46E5; }
.gbp { display:grid; gap:6px; }
.gb-photo { height:120px; border-radius:14px; background:linear-gradient(135deg,#FFB547,#F27A1A); display:grid; place-items:center; color:#fff; margin-bottom:8px; }
.gb-photo svg { width:46px; height:46px; fill:none; stroke:currentColor; stroke-width:1.6; }
.gbp > b { font:700 19px/1.2 var(--display); color:var(--navy-deep); }
.gbp .stars { color:#F5A300; } .gbp .stars span { color:var(--slate); }
.gb-acts { display:flex; justify-content:space-around; border-block:1px solid var(--line); padding:10px 0; margin:6px 0; font-size:13px; font-weight:600; color:var(--blue-deep); }
.gb-acts span { display:flex; align-items:center; gap:6px; } .gb-acts svg { width:16px; height:16px; fill:none; stroke:currentColor; stroke-width:2; }
.gb-post { background:#FFF4E6; border-radius:12px; padding:10px 12px; font-size:14px; color:var(--ink); } .gb-post small { display:block; color:#B4690E; font-weight:600; }
.blog { display:grid; gap:10px; }
.blog .tag { color:#E2457A; font-weight:600; }
.blog > b { font:700 20px/1.25 var(--display); color:var(--navy-deep); }
.blog .ln { height:9px; border-radius:5px; background:#EEF2F7; } .blog .ln.s { width:60%; }
.blog .faq { margin-top:6px; background:#FFEEF3; border-radius:12px; padding:10px 12px; font-size:14px; font-weight:600; color:var(--navy); } .blog .faq small { display:block; color:#E2457A; }
.brand { display:grid; gap:14px; }
.brand .sw { display:flex; gap:8px; } .brand .sw i { flex:1; height:46px; border-radius:12px; }
.cardmock { background:var(--navy); color:#fff; border-radius:12px; padding:18px; } .cardmock b { display:block; font:700 18px/1.2 var(--display); } .cardmock small { color:#9FB3D1; }
.video { height:110px; border-radius:12px; background:linear-gradient(135deg,#19D3C5,#0A9BA8); display:grid; place-items:center; }
.video span { width:48px; height:48px; border-radius:50%; background:rgba(255,255,255,.9); display:grid; place-items:center; color:#0A9BA8; }
.video svg { width:22px; height:22px; fill:none; stroke:currentColor; stroke-width:2; }
.rep .rp-kpis { display:flex; gap:8px; margin-top:12px; } .rep .rp-kpis span { flex:1; text-align:center; background:#E8FAF1; color:#0F8A50; border-radius:10px; padding:8px 4px; font-size:13px; }
@media (max-width:900px) { .sv-split { grid-template-columns:minmax(0,1fr); gap:30px; } .sv-split.flip .sv-copy { order:0; } .sv-vis { min-height:300px; } }
@media (max-width:520px) { .vf { display:none; } .sv-jump a { font-size:14px; } }
.msg.bot form.need label { display:grid; gap:6px; font-weight:600; font-size:14.5px; color:var(--navy); }
.msg.bot form.need .guess { color:var(--slate); font-size:13px; }

/* =========================================================================
   OUR WORK (anonymised portfolio)
   ========================================================================= */
.work-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:22px; }
.wk { display:grid; grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr); gap:0; background:#fff; border:1px solid rgba(10,45,92,.08); border-radius:24px; overflow:hidden; box-shadow:0 14px 34px rgba(10,45,92,.07); }
.wk.feature { grid-column:1/-1; border:2px solid #9D7BFF; }
.wk-vis { background:linear-gradient(135deg,var(--bg),#fff); display:grid; place-items:center; padding:22px; }
.wk-browser { width:100%; max-width:300px; background:#fff; border-radius:14px; box-shadow:0 16px 34px rgba(10,45,92,.14); overflow:hidden; }
.wk-browser .dots { display:flex; gap:5px; padding:8px 10px; background:#EEF2F7; }
.wk-browser .dots i { width:7px; height:7px; border-radius:50%; background:#C8D3E2; }
.wk-hero { padding:14px; background:linear-gradient(135deg,var(--t2),var(--t1)); display:grid; gap:7px; }
.wk-hero .sico { width:34px; height:34px; border-radius:10px; background:rgba(255,255,255,.22) !important; box-shadow:none; }
.wk-hero .sico svg { width:18px; height:18px; }
.wk-hero span:not(.sico) { display:block; height:9px; border-radius:5px; background:rgba(255,255,255,.85); }
.wk-hero .l1 { width:80%; } .wk-hero .l2 { width:55%; opacity:.7; } .wk-hero .mbtn { width:38%; height:14px !important; border-radius:999px !important; background:#fff !important; margin-top:4px; }
.wk-row { display:grid; grid-template-columns:repeat(3,1fr); gap:6px; padding:10px; } .wk-row i { height:26px; border-radius:6px; background:#EEF4FB; }
.wk-body { padding:24px; display:grid; gap:10px; align-content:center; }
.wk-area { display:inline-flex; align-items:center; gap:6px; font:600 13px/1 var(--body); letter-spacing:.06em; text-transform:uppercase; color:var(--blue-deep); }
.wk-area svg { width:15px; height:15px; fill:none; stroke:currentColor; stroke-width:2.2; }
.wk-body h2 { font-size:22px !important; line-height:1.2; color:var(--navy-deep); }
.wk-body p { color:var(--slate); font-size:15.5px; }
.wk-tags { display:flex; flex-wrap:wrap; gap:6px; }
.wk-tags li { background:#EEF4FB; color:var(--navy); font-weight:600; font-size:12.5px; padding:5px 10px; border-radius:999px; }
.wk .btn { justify-self:start; margin-top:4px; }
.wk.feature .wk-body h2 { font-size:28px !important; }
@media (max-width:980px) { .work-grid { grid-template-columns:minmax(0,1fr); } }
@media (max-width:600px) { .wk { grid-template-columns:minmax(0,1fr); } }
.masked { background:#1C2B45; color:#1C2B45; border-radius:4px; padding:0 4px; user-select:none; }
/* teaser bars: the two follow-up questions appear inline */
.teaser form.expanded { flex-wrap:wrap; border-radius:22px; padding:10px; }
.teaser .more-q { flex:1 1 100%; display:grid; grid-template-columns:1fr 1fr; gap:8px; padding:6px 4px 2px; animation:qin .35s ease; }
.teaser .more-q p { grid-column:1/-1; margin:0 0 2px; font-size:14px; font-weight:600; color:var(--navy); }
.teaser .more-q input { border:1.5px solid var(--line); border-radius:12px; padding:12px 14px; }
.teaser form.expanded .btn { flex:1 1 100%; }
@keyframes qin { from { transform:translateY(-6px); } to { transform:none; } }   /* no opacity fade: a paused animation must never leave the fields invisible */
@media (max-width:520px) { .teaser .more-q { grid-template-columns:1fr; } }
.teaser .more-q p { color:var(--navy) !important; font-size:14.5px; }
.teaser .more-q input { border:1.5px solid #C9D6E8 !important; color:var(--ink); background:#F7FAFE; font-size:16px; }
.teaser .more-q input::placeholder { color:#6B7A93; }
.teaser .more-q input:focus { border-color:var(--blue) !important; background:#fff; }
/* header: 7 menu items now, keep them on one line at laptop widths */
.site-nav a, .site-header .btn { white-space:nowrap; }
@media (max-width:1180px) { .site-nav { gap:16px; font-size:15px; } .site-header .btn { padding:11px 16px; font-size:14px; } }
@media (max-width:1040px) { .site-header .btn { display:none; } }
.teaser .more-q .found { grid-column:1/-1; color:#0F8A50; font-size:12.5px; font-weight:600; }

/* hero chat-art, tablet and phone: a clean stack instead of floating cards (16 Oct 2026, Katie: "a mess on mobile") */
@media (max-width:960px) {
  .chat-art { min-height:0 !important; display:grid; gap:14px; max-width:560px; width:100%; margin-inline:auto; }
  .chat-art > div, .chat-art .ca-gpt { position:static !important; width:auto !important; max-width:none !important; transform:none !important; inset:auto !important; }
  .chat-art .ca-voice { justify-self:start; border-radius:18px; }
  .chat-art .ca-badge { justify-self:start; order:-1; }
  .chat-art .scribble { display:none !important; }
  .chat-art .art-search { box-shadow:0 10px 24px rgba(10,45,92,.1); }
}
/* phone overflow fixes */
@media (max-width:600px) {
  .orbit { aspect-ratio:auto !important; height:300px; min-height:0 !important; margin-inline:0 !important; width:100%; }
  .h-hero h1 .hl { white-space:normal; }
}
/* phone hero: one card only, the ChatGPT answer. Tablets keep Google + ChatGPT. (Katie: "still too much") */
@media (max-width:960px) { .chat-art .ca-voice, .chat-art .ca-badge { display:none !important; } }
@media (max-width:600px) { .chat-art .ca-google { display:none !important; } .h-hero .wrap { padding-block:32px 40px !important; } }

/* =========================================================================
   "BAD ASS" PASS (16 Oct 2026, Katie): darker, bolder, glowing.
   Dark hero with light glows and a faint grid, huge type, glassy cards,
   glowing buttons, gently floating cards. Revert: main-before-badass.css in 07-Archive.
   ========================================================================= */
.h-hero:not(.pr-hero):not(.cs-hero):not(.sv-hero):not(.chk-hero) {
  background:
    radial-gradient(40% 50% at 78% 18%, rgba(0,119,247,.45), transparent 70%),
    radial-gradient(35% 45% at 95% 80%, rgba(157,123,255,.40), transparent 70%),
    radial-gradient(30% 40% at 8% 95%, rgba(0,194,207,.28), transparent 70%),
    linear-gradient(160deg, #061A3A 0%, #020C1F 100%);
  color:#fff;
}
.h-hero:not(.pr-hero):not(.cs-hero):not(.sv-hero):not(.chk-hero)::before {
  content:""; position:absolute; inset:0; pointer-events:none;
  background-image:linear-gradient(rgba(255,255,255,.05) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.05) 1px, transparent 1px);
  background-size:48px 48px;
  mask-image:radial-gradient(70% 70% at 60% 40%, #000 30%, transparent 80%);
  -webkit-mask-image:radial-gradient(70% 70% at 60% 40%, #000 30%, transparent 80%);
}
.home .h-hero:not(.pr-hero):not(.cs-hero):not(.sv-hero):not(.chk-hero) h1 { color:#fff; font-size:clamp(36px,3.7vw,56px) !important; letter-spacing:-.035em; line-height:1.02; }
.home .h-hero:not(.pr-hero):not(.cs-hero):not(.sv-hero):not(.chk-hero) .hl { background:linear-gradient(90deg,#3FA2FF,#00E0D1 45%,#B69CFF); -webkit-background-clip:text; background-clip:text; color:transparent; filter:drop-shadow(0 0 22px rgba(0,194,207,.35)); }
.home .h-hero:not(.pr-hero):not(.cs-hero):not(.sv-hero):not(.chk-hero) .eyebrow { color:#7FE7EE; }
.home .h-hero:not(.pr-hero):not(.cs-hero):not(.sv-hero):not(.chk-hero) .lede { color:#B9C9E4; }
.home .h-hero:not(.pr-hero):not(.cs-hero):not(.sv-hero):not(.chk-hero) .checks { color:#E6EEFA; }
.home .h-hero:not(.pr-hero):not(.cs-hero):not(.sv-hero):not(.chk-hero) .checks svg { background:rgba(0,224,209,.16); color:#00E0D1; }
.home .h-hero:not(.pr-hero):not(.cs-hero):not(.sv-hero):not(.chk-hero) .btn-ghost { background:rgba(255,255,255,.06); color:#fff; border-color:rgba(255,255,255,.25); backdrop-filter:blur(6px); }
.home .h-hero:not(.pr-hero):not(.cs-hero):not(.sv-hero):not(.chk-hero) .btn-ghost:hover { border-color:#00E0D1; }
.home .h-hero .scribble { color:#E6EEFA; }
.h-art .scribble .arrow { stroke:#E6EEFA !important; }
/* glowing primary buttons, everywhere */
.home .btn-primary, main:not(.home) .btn-primary { background:linear-gradient(135deg,#0077F7,#5B5BF7 60%,#9D7BFF); box-shadow:0 0 0 1px rgba(255,255,255,.08) inset, 0 12px 30px rgba(0,119,247,.45), 0 0 40px rgba(157,123,255,.25); }
.home .btn-primary:hover, main:not(.home) .btn-primary:hover { background:linear-gradient(135deg,#1A86FF,#6B6BFF 60%,#AE90FF); transform:translateY(-1px); }
/* cards in the dark hero: glassy edges and a glow */
.chat-art .ca-overview, .chat-art .ca-gpt, .chat-art .ca-voice, .chat-art .art-search { border:1px solid rgba(255,255,255,.65); box-shadow:0 30px 60px rgba(0,0,0,.45), 0 0 50px rgba(0,119,247,.18); }
/* gentle float */
@media (prefers-reduced-motion: no-preference) and (min-width:961px) {
  .chat-art .ca-google { animation:float1 7s ease-in-out infinite; }
  .chat-art .ca-gpt { animation:float2 8s ease-in-out infinite; }
  .chat-art .ca-voice { animation:float1 9s ease-in-out infinite reverse; }
  .chat-art .ca-badge { animation:float2 6s ease-in-out infinite; }
}
@keyframes float1 { 0%,100% { translate:0 0; } 50% { translate:0 -10px; } }
@keyframes float2 { 0%,100% { translate:0 0; } 50% { translate:0 8px; } }
/* blinking cursor in the hero search box */
.chat-art .art-search .q::after { content:""; display:inline-block; width:2px; height:1.05em; margin-left:3px; vertical-align:-2px; background:#0E5CC8; animation:blink 1s steps(1) infinite; }
@keyframes blink { 50% { opacity:0; } }
/* bolder section headings sitewide */
.home h2, main:not(.home) h2 { letter-spacing:-.03em; font-weight:700; }
.home .eyebrow::before, main:not(.home) .eyebrow::before { content:""; display:inline-block; width:8px; height:8px; border-radius:50%; margin-right:9px; vertical-align:1px; background:linear-gradient(135deg,#00C2CF,#9D7BFF); box-shadow:0 0 12px rgba(0,194,207,.7); }
/* the dark AI band and the teaser: stronger glow */
.h-ai { background:radial-gradient(45% 60% at 92% 8%,rgba(157,123,255,.45),transparent 70%),radial-gradient(40% 55% at 0% 100%,rgba(0,194,207,.30),transparent 70%),linear-gradient(160deg,#061A3A,#020C1F) !important; }
.teaser { background:radial-gradient(60% 120% at 100% 0%,rgba(157,123,255,.55),transparent 60%),linear-gradient(135deg,#061A3A,#0E3E8C 55%,#3B2C9E) !important; box-shadow:0 30px 70px rgba(6,26,58,.45), 0 0 0 1px rgba(255,255,255,.06) inset !important; }
/* header sits on the dark hero as a crisp bar */
.topbar { background:#020C1F; }
/* Siri bubble sat on top of the search button (Ryan, 18 Oct): lift it above the search bar */
@media (min-width:961px) { .chat-art .ca-voice { top:-58px; right:0; } }

/* ---- Ownership check (29 Oct 2026) ---------------------------------- */
.svc-grid.four { grid-template-columns:repeat(4,minmax(0,1fr)); }
@media (max-width:1000px) { .svc-grid.four { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media (max-width:560px) { .svc-grid.four { grid-template-columns:minmax(0,1fr); } }
.findings.two { grid-template-columns:repeat(2,minmax(0,1fr)); }
@media (max-width:1000px) { .findings.two { grid-template-columns:minmax(0,1fr); } }
.fgroup li > div { min-width:0; }
.scan-form .opt { font-weight:400; color:var(--slate); }
.ok-note { display:flex; gap:8px; align-items:center; color:#0E7A47 !important; font-weight:600; }
.ok-note svg { width:18px; height:18px; flex:none; }
.letter { display:grid; gap:12px; min-width:0; }
.letter textarea { width:100%; font:15px/1.5 var(--body, inherit); color:var(--ink); padding:16px; border:1.5px solid var(--line); border-radius:14px; background:#fff; resize:vertical; }
.letter .btn { justify-self:start; }
@media (max-width:560px) { .letter .btn { justify-self:stretch; } }

/* ---- Homepage: hero call line, free tools, people (29 Oct 2026) ---- */
.hero-call { margin-top:14px; color:var(--slate); font-size:16px; }
.hero-call a { font-weight:600; color:var(--blue-deep, #0E5CC8); white-space:nowrap; }
.tools-row { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; margin-top:18px; }
.tool-card { display:grid; grid-template-columns:auto minmax(0,1fr); gap:14px; align-items:center; padding:18px 20px; background:#fff; border:1px solid rgba(10,45,92,.1); border-radius:18px; text-decoration:none; color:var(--ink); box-shadow:0 10px 24px rgba(10,45,92,.06); transition:transform .15s, box-shadow .15s; }
.tool-card:hover, .tool-card:focus-visible { transform:translateY(-2px); box-shadow:0 16px 32px rgba(10,45,92,.12); }
.tool-card b { display:block; font:600 17px/1.3 var(--display); color:var(--navy-deep); }
.tool-card span:not(.sico) { display:block; color:var(--slate); font-size:15px; margin-top:2px; }
@media (max-width:760px) { .tools-row { grid-template-columns:minmax(0,1fr); } }
.people { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:20px; margin-top:8px; }
.person { display:grid; grid-template-columns:auto minmax(0,1fr); gap:18px; align-items:start; background:#fff; border:1px solid rgba(10,45,92,.08); border-radius:22px; padding:24px; }
.person .avatar { width:64px; height:64px; border-radius:50%; display:grid; place-items:center; background:linear-gradient(135deg,#0077F7,#00C2CF); color:#fff; font:700 26px/1 var(--display); }
.person h3 { font-size:20px; color:var(--navy-deep); }
.person .role { display:block; color:#067088; font-weight:600; font-size:14px; letter-spacing:.04em; text-transform:uppercase; margin:2px 0 8px; }
.person p { color:var(--slate); }
@media (max-width:760px) { .people { grid-template-columns:minmax(0,1fr); } .person { padding:20px 18px; } }
@media (prefers-reduced-motion: reduce) { .tool-card { transition:none; } }

/* ---- Missed-call calculator (29 Oct 2026) ---- */
.calc .suffix { position:relative; display:block; }
.calc .suffix i { position:absolute; top:50%; transform:translateY(-50%); right:16px; font-style:normal; color:var(--slate); pointer-events:none; }
.calc .suffix input { padding-right:40px; }
.calc .suffix.pre i { right:auto; left:16px; }
.calc .suffix.pre input { padding-right:16px; padding-left:32px; }
.calc input[type=number] { -moz-appearance:textfield; appearance:textfield; }
.calc input[type=number]::-webkit-inner-spin-button, .calc input[type=number]::-webkit-outer-spin-button { -webkit-appearance:none; margin:0; }
.calc-out { display:grid; grid-template-columns:1fr 1fr; gap:12px; margin-top:4px; }
.calc-out > div { background:var(--mist); border-radius:14px; padding:14px 16px; display:grid; gap:2px; min-width:0; }
.calc-out small { color:var(--slate); font-size:13.5px; text-align:left; }
.calc-out b { font:700 26px/1.15 var(--display); color:var(--navy-deep); font-variant-numeric:tabular-nums; overflow-wrap:anywhere; }
.calc-out .big { grid-column:1 / -1; background:var(--navy); }
.calc-out .big small { color:#C9D6EA; }
.calc-out .big b { color:#fff; font-size:clamp(30px,6vw,40px); }
.topbar .tb-links { display:flex; gap:18px; flex-wrap:wrap; justify-content:center; }
@media (max-width:640px) { .topbar .tb-links { display:flex; } }
.about-card .people { grid-template-columns:minmax(0,1fr); margin:8px 0; }

/* ---- QA fixes (29 Oct 2026) ---- */
/* Our own arrow on every dropdown, inset clear of the rounded corner, with room reserved so text never runs under it. */
form select { -webkit-appearance:none; appearance:none; background-color:#fff; background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 14 9'%3E%3Cpath d='M1 1l6 6 6-6' fill='none' stroke='%230A2D5C' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") !important; background-repeat:no-repeat !important; background-position:right 18px center !important; background-size:14px 9px !important; padding-right:46px !important; }
/* Dark text on light buttons and badges, always: white on this green measured 3.3:1. */
.ca-badge { color:var(--navy-deep) !important; background:#5FD39A !important; }
.ca-badge svg { stroke:var(--navy-deep); }

/* The form card in the closing band is white: its heading must be dark (was white on white). */
.cta form h3 { color:var(--navy-deep) !important; }
/* On a .home page the ghost button turns white, which made the closing band's white "Call" text invisible. */
.cta.on-dark .btn-ghost { background:transparent !important; color:#fff !important; border-color:rgba(255,255,255,.45) !important; }
/* White check marks need a darker green and red to reach 4.5:1 (were 3.3:1 and 3.6:1). */
.fgroup .ok .mark { background:#0E7A47; } .fgroup .no .mark { background:#C23A2E; }

/* Hero art: the approved stacked answer cards (Katie, 30 Oct 2026). Transparent image on the hero background. */
.hero-stack { min-height:0; display:grid; align-items:center; }
.hero-stack picture { display:block; }
.hero-stack img { display:block; width:112%; max-width:none; margin-left:-6%; height:auto; filter:drop-shadow(0 24px 40px rgba(0,0,0,.35)); }
.hero-stack .scribble { left:2%; bottom:-10%; font-size:30px; }
@media (max-width:1320px) { .hero-stack img { width:100%; margin-left:0; } }
@media (max-width:960px) { .hero-stack img { width:100%; margin-left:0; } .hero-stack .scribble { display:none; } }

/* AI fact check */
.fact-score { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:14px; margin:22px 0; }
.fact-score div { background:#fff; border:1px solid rgba(10,45,92,.08); border-radius:18px; padding:16px 18px; }
.fact-score b { display:block; font:700 30px/1 var(--display); color:var(--navy-deep); }
.fact-score span { font-size:14px; color:var(--slate); }
.fact-fix { background:#fff; border:1px solid rgba(10,45,92,.08); border-radius:22px; padding:22px; margin-top:18px; }
.fact-fix h3 { font-size:18px; color:var(--navy-deep); margin-bottom:6px; }
.fact-sources { margin-top:14px; font-size:14px; color:var(--slate); }
.fact-sources a { overflow-wrap:anywhere; }
@media (max-width:560px) { .fact-score { grid-template-columns:minmax(0,1fr); } }
/* The "Rather talk?" line sits on the dark home hero: it was slate on navy, too faint to read. */
.home .h-hero .hero-call { color:#B9C9E4; }
.home .h-hero .hero-call a { color:#7FE7EE; }
.scan-form select { width:100%; padding:14px 44px 14px 16px; font:inherit; font-size:17px; color:var(--navy-deep); background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='9' fill='none' stroke='%230A2D5C' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M1 1l6 6 6-6'/%3E%3C/svg%3E") no-repeat right 18px center; border:1.5px solid var(--line); border-radius:12px; -webkit-appearance:none; appearance:none; }
