:root{--ink:#111827;--muted:#64748b;--brand:#2563EB;--brand2:#38BDF8;--navy:#1E3A8A;--bg:#fff;--alt:#f6f7fb;--line:#e5e7eb}
*{box-sizing:border-box}html{scroll-behavior:smooth}
body{margin:0;font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,sans-serif;color:var(--ink);line-height:1.6;background:var(--bg)}
.wrap{max-width:1140px;margin:0 auto;padding:0 24px}.narrow{max-width:760px}
h1{font-size:clamp(2.2rem,5vw,3.6rem);line-height:1.1;margin:.3em 0;letter-spacing:-.02em}
h2{font-size:clamp(1.7rem,3vw,2.4rem);margin:0 0 .3em;letter-spacing:-.01em}h3{margin:.2em 0}
.muted{color:var(--muted)}.small{font-size:.9rem}.tiny{font-size:.75rem;text-align:right;margin:8px 0 0}
.nav{position:sticky;top:0;background:rgba(255,255,255,.9);backdrop-filter:blur(8px);border-bottom:1px solid var(--line);z-index:10}
.nav-inner{display:flex;align-items:center;justify-content:space-between;height:68px;gap:16px}
.logo{font-weight:700;color:var(--ink);text-decoration:none;white-space:nowrap}
.logo-mark{background:linear-gradient(135deg,var(--brand),var(--brand2));color:#fff;padding:4px 8px;border-radius:8px;margin-right:4px}
.links a{color:var(--ink);text-decoration:none;margin:0 12px;font-size:.95rem}.links a:hover{color:var(--brand)}
.btn{display:inline-block;background:var(--brand);color:#fff;padding:14px 24px;border-radius:10px;text-decoration:none;font-weight:600;border:0;cursor:pointer;font-size:1rem}
.btn:hover{filter:brightness(1.1)}.btn-sm{padding:9px 16px;font-size:.9rem}
.btn-ghost{background:transparent;color:var(--brand);border:1.5px solid var(--brand)}.btn-light{background:#fff;color:var(--brand)}
.hero{padding:88px 0;background:radial-gradient(circle at 85% 20%,#dbeafe,transparent 50%),radial-gradient(circle at 10% 90%,#e0f2fe,transparent 45%)}
.hero-grid{display:grid;grid-template-columns:1.2fr 1fr;gap:56px;align-items:center}
.eyebrow{color:var(--brand);font-weight:600;text-transform:uppercase;letter-spacing:.08em;font-size:.8rem;margin:0}
.lead{font-size:1.15rem;color:#334155;max-width:560px}.cta-row{display:flex;gap:12px;flex-wrap:wrap;margin:28px 0 16px}
.hero-card{background:#fff;border-radius:18px;padding:22px;box-shadow:0 20px 50px rgba(15,23,42,.12);border:1px solid var(--line)}
.chat{display:flex;flex-direction:column;gap:10px}.msg{padding:10px 14px;border-radius:14px;max-width:85%;font-size:.95rem}
.me{align-self:flex-end;background:var(--brand);color:#fff;border-bottom-right-radius:4px}.bot{background:var(--alt);border-bottom-left-radius:4px}
.section{padding:84px 0}.alt{background:var(--alt)}.sub{color:var(--muted);max-width:640px;margin:0 0 36px;font-size:1.05rem}
.grid{display:grid;gap:20px}.g2{grid-template-columns:repeat(2,1fr)}.g3{grid-template-columns:repeat(3,1fr)}.g4{grid-template-columns:repeat(4,1fr)}
.card,.case{background:#fff;border:1px solid var(--line);border-radius:14px;padding:24px}.card p{color:var(--muted);margin:.4em 0 0}
.ic{display:inline-grid;place-items:center;width:40px;height:40px;border-radius:10px;background:#eff6ff;color:var(--brand);font-weight:700;font-size:.85rem}.case ul{padding-left:18px;margin:.6em 0 0;color:#334155}
.steps{list-style:none;padding:0;margin:36px 0 0;display:grid;grid-template-columns:repeat(4,1fr);gap:24px}
.steps span{display:inline-grid;place-items:center;width:40px;height:40px;border-radius:50%;background:linear-gradient(135deg,var(--brand),var(--brand2));color:#fff;font-weight:700}
.steps p{color:var(--muted);margin:.3em 0 0}
.placeholder{margin:0;background:#fff;border:2px dashed #cbd5e1;border-radius:14px;padding:32px;color:var(--muted);font-style:italic}
.placeholder-text{color:#b45309;font-style:italic}
.person{display:flex;gap:20px;background:#fff;border:1px solid var(--line);border-radius:14px;padding:24px;align-items:flex-start}
.person p{margin:.2em 0}.photo{flex:0 0 96px;height:96px;border-radius:50%;background:var(--alt);border:2px dashed #cbd5e1;display:grid;place-items:center;color:var(--muted);font-size:.8rem}
details{background:#fff;border:1px solid var(--line);border-radius:12px;padding:16px 20px;margin-bottom:12px}
summary{cursor:pointer;font-weight:600}details p{color:var(--muted);margin:.6em 0 0}
.cta{background:linear-gradient(135deg,var(--navy),var(--brand) 60%,#0284c7);color:#fff}.cta a:not(.btn){color:#fff}
.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:center}
.form{background:#fff;color:var(--ink);border-radius:16px;padding:28px;display:grid;gap:14px}
.form label{display:grid;gap:6px;font-size:.9rem;font-weight:600}
.form input,.form textarea{font:inherit;padding:10px 12px;border:1px solid var(--line);border-radius:8px;font-weight:400}
.note{margin:0;color:var(--brand)}
.footer{padding:32px 0;background:#0b1530;color:#cbd5e1;font-size:.9rem}.footer .wrap{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}.footer a{color:#7dd3fc}.flogo{height:40px;width:auto;display:block}
@media(max-width:960px){.links{display:none}.g3,.g4,.steps{grid-template-columns:repeat(2,1fr)}.hero-grid,.contact-grid{grid-template-columns:1fr}}
@media(max-width:600px){.g2,.g3,.g4,.steps{grid-template-columns:1fr}.section{padding:60px 0}.hero{padding:56px 0}.person{flex-direction:column}.logo{font-size:.9rem}}

.logo{display:flex;align-items:center}.logo img{height:44px;width:auto;display:block}@media(max-width:600px){.logo img{height:40px}}

/* multi-page additions */
.links a.active{color:var(--brand);font-weight:600}
.page-hero{padding:72px 0 56px;background:radial-gradient(circle at 85% 20%,#dbeafe,transparent 50%),radial-gradient(circle at 10% 90%,#e0f2fe,transparent 45%)}
.page-hero .lead{max-width:720px}
.tiers{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;align-items:stretch}
.tier{background:#fff;border:1px solid var(--line);border-radius:16px;padding:28px;display:flex;flex-direction:column}
.tier.featured{border:2px solid var(--brand);box-shadow:0 20px 40px rgba(37,99,235,.12);position:relative}
.badge{position:absolute;top:-13px;left:28px;background:var(--brand);color:#fff;font-size:.75rem;font-weight:700;padding:4px 10px;border-radius:999px;text-transform:uppercase;letter-spacing:.06em}
.tfor{color:var(--brand);font-weight:700;text-transform:uppercase;font-size:.78rem;letter-spacing:.08em;margin:0}
.price{border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:14px 0;margin:14px 0}
.price .mo{font-size:2.2rem;font-weight:800;letter-spacing:-.02em;line-height:1.1}.price .mo span{font-size:1rem;font-weight:500;color:var(--muted)}
.price .setup{color:#334155;margin-top:4px}
.tier ul{padding-left:20px;margin:0 0 20px;flex:1}.tier li{margin-bottom:6px}
.tier .btn{text-align:center}
.table{width:100%;border-collapse:collapse;background:#fff;border-radius:12px;overflow:hidden;border:1px solid var(--line)}
.table td{padding:14px 18px;border-bottom:1px solid var(--line)}.table td.p{text-align:right;font-weight:700;white-space:nowrap}
.checks{padding-left:20px}.checks li{margin-bottom:8px}
.split{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:center}
.split img,.imgcard{width:100%;border-radius:18px;box-shadow:0 20px 50px rgba(15,23,42,.12);display:block}
.timeline{list-style:none;padding:0;margin:0;display:grid;gap:20px}
.timeline li{display:grid;grid-template-columns:56px 1fr;gap:20px;background:#fff;border:1px solid var(--line);border-radius:14px;padding:24px}
.timeline .n{width:48px;height:48px;border-radius:50%;background:linear-gradient(135deg,var(--brand),var(--brand2));color:#fff;font-weight:700;display:grid;place-items:center;font-size:1.1rem}
.timeline h3{margin-top:0}.timeline p{margin:.3em 0 0;color:var(--muted)}
.roles{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.role{background:#fff;border:1px solid var(--line);border-radius:12px;padding:18px}.role b{display:block;color:var(--navy)}.role span{color:var(--muted);font-size:.95rem}
.band{background:linear-gradient(135deg,var(--navy),var(--brand) 60%,#0284c7);color:#fff;border-radius:20px;padding:44px;display:flex;justify-content:space-between;align-items:center;gap:24px;flex-wrap:wrap}
.band h2{margin:0}.band p{margin:.4em 0 0;opacity:.9}
.foot-grid{display:grid;grid-template-columns:2fr 1fr 1fr;gap:32px;width:100%}
.footer h4{color:#fff;margin:0 0 10px;font-size:.95rem}.footer ul{list-style:none;padding:0;margin:0}.footer li{margin-bottom:6px}.footer .copy{border-top:1px solid #1e2a4a;margin-top:24px;padding-top:16px;width:100%;font-size:.85rem}
.menu-btn{display:none;background:none;border:1px solid var(--line);border-radius:8px;padding:8px 10px;font-size:1.1rem;cursor:pointer}
.info-list{list-style:none;padding:0}.info-list li{margin-bottom:14px}.info-list b{display:block}
@media(max-width:960px){.tiers,.roles{grid-template-columns:1fr}.split{grid-template-columns:1fr}.foot-grid{grid-template-columns:1fr 1fr}
.menu-btn{display:block}.links.open{display:flex;flex-direction:column;position:absolute;top:68px;left:0;right:0;background:#fff;border-bottom:1px solid var(--line);padding:12px 24px}.links.open a{margin:8px 0}.nav .btn-sm{display:none}}
@media(max-width:600px){.foot-grid{grid-template-columns:1fr}.band{padding:28px}.timeline li{grid-template-columns:1fr}.page-hero{padding:48px 0 40px}.price .mo{font-size:1.9rem}}
.steps3{grid-template-columns:repeat(3,1fr)}@media(max-width:600px){.steps3{grid-template-columns:1fr}}
:root{--deep:#0B1530}
.hero-img{background:#0B1530 url(assets/hero-2400x1200.webp) center right/cover no-repeat;color:#fff;padding:110px 0 120px}
.hero-img .hero-copy{max-width:600px}.hero-img .lead{color:#dbeafe}.hero-img .eyebrow{color:#38BDF8}.hero-img .muted{color:#bfdbfe}
.btn-ghost-light{background:transparent;color:#fff;border:1.5px solid rgba(255,255,255,.7)}
.fcard{padding:0;overflow:hidden}.fcard img{width:100%;height:auto;display:block;aspect-ratio:4/3;object-fit:cover}.fcard .ic,.fcard h3,.fcard p{margin-left:24px;margin-right:24px}.fcard .ic{margin-top:18px}.fcard p{margin-bottom:24px}
.stepsimg{width:100%;height:auto;border-radius:18px;display:block;margin-top:24px}
.steplabels{display:grid;grid-template-columns:repeat(3,1fr);text-align:center;font-weight:600;color:var(--navy);margin-top:12px;gap:8px;font-size:.95rem}
.footer{background:#0B1530}
@media(max-width:600px){.hero-img{background-image:url(assets/hero-mobile-1080x1350.webp);background-position:center top;background-size:100% auto;padding:300px 0 56px}.steplabels{font-size:.8rem}}
body,h1,h2,h3{font-family:Inter,system-ui,sans-serif}h1{font-weight:900}h2{font-weight:800}
.roles4{grid-template-columns:repeat(4,1fr)}
.dark{background:#0B1530;color:#e2e8f0}.dark h2{color:#fff}.dark .eyebrow{color:#38BDF8}.dark .tag{color:#38BDF8}
.darkph{background:transparent;border-color:#334155;color:#94a3b8;min-height:260px;display:grid;place-items:center;text-align:center}
.statcard{background:#0B1530;color:#e2e8f0;border-radius:18px;padding:32px}.statcard .big{font-size:4rem;font-weight:900;color:#38BDF8;line-height:1}.statcard a{color:#7dd3fc}
@media(max-width:960px){.roles4{grid-template-columns:1fr 1fr}}@media(max-width:600px){.roles4{grid-template-columns:1fr}}

/* larger header logo (Adam 10/24) */
.logo img{height:64px}@media(max-width:600px){.logo img{height:48px}}
.nav-inner{height:84px}@media(max-width:960px){.nav-inner{height:68px}.logo img{height:52px}}@media(max-width:600px){.logo img{height:48px}}
.workflow-graphic img{width:100%;height:auto;display:block;border-radius:16px;border:1px solid rgba(148,163,184,.25)}
.split:has(.workflow-graphic){grid-template-columns:1fr}.split:has(.workflow-graphic)>div:first-child{max-width:760px}
/* phone spacing pass */
@media(max-width:600px){
.wrap{padding:0 20px}
.section{padding:48px 0}
.page-hero{padding:36px 0 32px}
h1{font-size:clamp(1.9rem,8.4vw,2.4rem);line-height:1.12}
h2{font-size:clamp(1.45rem,6.4vw,1.8rem);line-height:1.2}
.hero-img{padding:calc(108vw + 8px) 0 44px;background-color:#0B1530}
.hero-img .hero-copy{position:relative}
.cta-row{flex-direction:column;align-items:stretch;gap:10px;margin:22px 0 14px}
.cta-row .btn{display:block;width:100%;text-align:center}
.band{padding:26px 22px;gap:18px}
.band>div{width:100%}
.band .btn{display:block;width:100%;text-align:center;white-space:normal}
.foot-grid{gap:24px}
}
@media(max-width:600px){.hero-img{background:linear-gradient(to bottom,rgba(11,21,48,0) 0,rgba(11,21,48,0) 58vw,#0B1530 76vw) no-repeat,#0B1530 url(assets/hero-mobile-1080x1350.webp) center -46vw/100% auto no-repeat;padding:calc(76vw + 8px) 0 44px}}

.privacy h2{font-size:1.35rem;margin:32px 0 10px}.privacy h2:first-child{margin-top:0}.privacy ul{padding-left:20px}.privacy li{margin:6px 0}.privacy p,.privacy li{overflow-wrap:anywhere}
