/* =========================================================================
   RepuUp marketing site — modern blue SaaS design system
   Self-contained stylesheet for the rebuilt marketing pages.
   ========================================================================= */

:root {
    --blue:        #2563eb;
    --blue-600:    #2563eb;
    --blue-700:    #1d4ed8;
    --blue-800:    #1e40af;
    --blue-50:     #eff4ff;
    --blue-100:    #dbe6ff;
    --navy:        #0b1f4d;   /* dark sections / footer */
    --navy-900:    #081634;

    --ink:         #0f1b33;   /* headings */
    --text:        #475069;   /* body */
    --muted:       #6b7488;
    --line:        #e9edf4;
    --line-2:      #dde3ee;
    --bg:          #ffffff;
    --bg-soft:     #f6f8fc;
    --bg-blue:     #f3f7ff;

    --green:       #16a34a;
    --amber:       #f59e0b;

    --r-sm: 10px; --r-md: 14px; --r-lg: 20px; --r-xl: 28px; --r-pill: 999px;
    --sh-sm: 0 1px 2px rgba(15,27,51,.06);
    --sh-md: 0 6px 20px -8px rgba(15,27,51,.12), 0 2px 6px -4px rgba(15,27,51,.08);
    --sh-lg: 0 22px 48px -18px rgba(15,27,51,.22), 0 8px 18px -12px rgba(15,27,51,.12);
    --sh-blue: 0 14px 30px -12px rgba(37,99,235,.5);

    --maxw: 1140px;
    --font: 'Montserrat', system-ui, -apple-system, 'Segoe UI', Roboto, sans-serif;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
    margin: 0; font-family: var(--font); color: var(--text);
    background: var(--bg); -webkit-font-smoothing: antialiased; line-height: 1.6;
    overflow-x: hidden; /* safety net: never allow horizontal scroll on mobile */
}
img { max-width: 100%; height: auto; display: block; }
a { color: inherit; text-decoration: none; }

.wrap { max-width: var(--maxw); margin: 0 auto; padding: 0 24px; }
.section { padding: 84px 0; }
.section-soft { background: var(--bg-soft); }
.center { text-align: center; }

/* ---- Type --------------------------------------------------------------- */
h1,h2,h3,h4 { color: var(--ink); margin: 0; line-height: 1.15; letter-spacing: -.02em; font-weight: 800; }
.h1 { font-size: clamp(30px, 3.4vw, 40px); }
.h2 { font-size: clamp(24px, 2.5vw, 30px); }
.h3 { font-size: 17px; font-weight: 700; letter-spacing: -.01em; }
.lead { font-size: 16.5px; color: var(--text); }
.eyebrow {
    display: inline-block; font-size: 12px; font-weight: 700; letter-spacing: .12em;
    text-transform: uppercase; color: var(--blue); margin-bottom: 14px;
}
.text-blue { color: var(--blue); }
.muted { color: var(--muted); }

.section-head { max-width: 640px; margin: 0 auto 52px; text-align: center; }
.section-head .h2 { margin-bottom: 14px; }
.section-head p { font-size: 17px; margin: 0; }

/* ---- Buttons ------------------------------------------------------------ */
.btn { display: inline-flex; align-items: center; justify-content: center; gap: 9px;
    font-weight: 600; font-size: 15px; border-radius: var(--r-pill); padding: 13px 24px;
    cursor: pointer; border: 1.5px solid transparent; transition: all .2s cubic-bezier(.2,.7,.2,1); white-space: nowrap; }
.btn-primary { background: var(--blue); color: #fff; box-shadow: var(--sh-blue); }
.btn-primary:hover { background: var(--blue-700); transform: translateY(-2px); }
.btn-light { background: #fff; color: var(--ink); border-color: var(--line-2); }
.btn-light:hover { border-color: var(--blue); color: var(--blue); transform: translateY(-2px); }
.btn-ghost-white { background: rgba(255,255,255,.1); color:#fff; border-color: rgba(255,255,255,.25); }
.btn-ghost-white:hover { background: rgba(255,255,255,.18); }
.btn-white { background:#fff; color: var(--blue); }
.btn-white:hover { transform: translateY(-2px); }
.btn-sm { padding: 10px 18px; font-size: 14px; }

/* ---- Header ------------------------------------------------------------- */
.hdr { position: sticky; top: 0; z-index: 50; background: rgba(255,255,255,.88);
    backdrop-filter: saturate(180%) blur(12px); border-bottom: 1px solid var(--line); }
.hdr-inner { display: flex; align-items: center; justify-content: space-between; height: 70px; }
.brand { display: flex; align-items: center; gap: 10px; font-weight: 800; color: var(--ink); font-size: 19px; }
.brand-mark { width: 34px; height: 34px; border-radius: 9px; background: var(--blue);
    display: grid; place-items: center; color: #fff; box-shadow: var(--sh-blue); }
.brand-mark svg { width: 18px; height: 18px; }
.nav { display: flex; gap: 30px; }
.nav a { font-size: 15px; font-weight: 500; color: var(--text); transition: color .15s; }
.nav a:hover, .nav a.active { color: var(--blue); }
.hdr-cta { display: flex; align-items: center; gap: 18px; }
.hdr-cta .login { font-size: 15px; font-weight: 500; color: var(--text); }
.menu-btn { display: none; background: none; border: 0; cursor: pointer; color: var(--ink); }
@media (max-width: 900px) {
    .nav, .hdr-cta .login, .hdr-cta .btn { display: none; }
    .menu-btn { display: block; }
}

/* ---- Hero --------------------------------------------------------------- */
.hero { padding: 64px 0 72px; background:
    radial-gradient(800px 360px at 88% -8%, rgba(37,99,235,.08), transparent 60%),
    linear-gradient(180deg,#fff, #fbfdff); }
.hero-grid { display: grid; grid-template-columns: 1fr 1.12fr; gap: 56px; align-items: center; }
@media (max-width: 980px) { .hero-grid { grid-template-columns: 1fr; gap: 40px; } }
.pill { display:inline-flex; align-items:center; gap:8px; background: var(--blue-50);
    color: var(--blue-700); font-weight:600; font-size:13px; padding:7px 14px; border-radius: var(--r-pill);
    border:1px solid var(--blue-100); margin-bottom: 22px; }
.hero h1 { margin-bottom: 18px; }
.hero .lead { margin: 0 0 28px; max-width: 460px; }
.hero-actions { display:flex; gap: 14px; flex-wrap: wrap; margin-bottom: 26px; }
.hero-assure { display:flex; gap: 22px; flex-wrap: wrap; color: var(--muted); font-size: 14px; margin-bottom: 22px; }
.hero-assure span { display:flex; align-items:center; gap:7px; }
.hero-assure svg { width:16px; height:16px; color: var(--blue); }
.hero-social { display:flex; align-items:center; gap: 12px; }
.avatars { display:flex; }
.avatars span { width: 34px; height:34px; border-radius:50%; border:2px solid #fff; margin-left:-9px;
    background: linear-gradient(135deg,#c7d7ff,#93b4ff); display:grid; place-items:center; font-size:12px; font-weight:700; color:#1e40af; }
.avatars span:first-child { margin-left:0; }
.hero-social .stars { color: var(--amber); font-size: 14px; }
.hero-social small { display:block; color: var(--muted); font-size: 13px; }

/* hero dashboard mockup */
.hero-visual { position: relative; }
.dash { background:#fff; border:1px solid var(--line); border-radius: var(--r-lg); box-shadow: var(--sh-lg); overflow: hidden; }
.dash-top { display:flex; align-items:center; gap:7px; padding: 12px 16px; border-bottom:1px solid var(--line); background:#fcfdff; }
.dot { width:11px;height:11px;border-radius:50%; }
.dot.r{background:#ff5f57}.dot.y{background:#febc2e}.dot.g{background:#28c840}
.dash-body { padding: 18px; }
.dash-row { display:flex; justify-content:space-between; align-items:center; margin-bottom: 16px; }
.dash-row h4 { font-size:15px; }
.gpill { display:flex; align-items:center; gap:8px; background:#fff; border:1px solid var(--line); border-radius:10px; padding:6px 10px; font-size:12px; box-shadow: var(--sh-sm); }
.kpis { display:grid; grid-template-columns: repeat(3,1fr); gap:12px; margin-bottom: 16px; }
@media (max-width:420px){ .kpis{ grid-template-columns:1fr 1fr; } }
.kpi { background: var(--bg-soft); border:1px solid var(--line); border-radius: 12px; padding: 12px; }
.kpi .lbl { font-size:11px; color: var(--muted); }
.kpi .val { font-size:20px; font-weight:800; color: var(--ink); }
.kpi .up { font-size:11px; color: var(--green); font-weight:600; }
.chartbox { background: var(--bg-soft); border:1px solid var(--line); border-radius:12px; padding:14px; height:120px; position:relative; overflow:hidden; }
.chartbox svg { width:100%; height:100%; }
.float-card { position:absolute; background:#fff; border:1px solid var(--line); border-radius:12px; box-shadow: var(--sh-lg); padding:10px 13px; display:flex; gap:10px; align-items:center; font-size:12.5px; }
.float-card .ic { width:30px;height:30px;border-radius:8px;display:grid;place-items:center;flex:none; }
.float-tl { top: -18px; left: -26px; }
.float-br { bottom: -20px; right: -22px; }
@media (max-width: 980px){ .float-tl,.float-br{ position:static; margin-top:12px; } }

/* ---- Trusted-by strip + stats ------------------------------------------ */
.trust { padding: 40px 0; border-top:1px solid var(--line); border-bottom:1px solid var(--line); }
.trust-inner { display:flex; align-items:center; justify-content:space-between; gap:40px; flex-wrap:wrap; }
.trust-label { font-size:12px; letter-spacing:.1em; text-transform:uppercase; color:var(--muted); font-weight:700; width:100%; text-align:center; margin-bottom:18px; }
.logos { display:flex; gap:40px; align-items:center; flex-wrap:wrap; flex:1; justify-content:center; }
.logos span { font-weight:800; color:#9aa3b5; font-size:17px; font-style:italic; letter-spacing:-.01em; }
.tstats { display:flex; gap:36px; }
.tstat .n { font-size:24px; font-weight:800; color:var(--blue); }
.tstat .l { font-size:12.5px; color:var(--muted); }
@media (max-width: 900px){ .tstats{ width:100%; justify-content:center; } }

/* ---- Feature grid ------------------------------------------------------- */
.feat-grid { display:grid; grid-template-columns: repeat(2,1fr); gap: 22px; }
@media (max-width: 860px){ .feat-grid{ grid-template-columns:1fr; } }
.feat {
    display:grid; grid-template-columns: 1fr 1fr; gap: 18px; align-items:center;
    background:#fff; border:1px solid var(--line); border-radius: var(--r-lg);
    padding: 24px; box-shadow: var(--sh-sm); transition: transform .25s cubic-bezier(.2,.7,.2,1), box-shadow .25s, border-color .25s;
}
.feat:hover { transform: translateY(-4px); box-shadow: var(--sh-lg); border-color: var(--line-2); }
.feat-ic { width:42px;height:42px;border-radius:11px;display:grid;place-items:center;margin-bottom:14px; }
.feat-ic svg { width:21px;height:21px;color:#fff; }
.ic-blue{background:var(--blue)} .ic-cyan{background:#0891b2} .ic-green{background:#16a34a}
.ic-orange{background:#ea580c} .ic-pink{background:#db2777} .ic-indigo{background:#4f46e5}
.feat h3 { margin-bottom:8px; }
.feat p { font-size:14.5px; margin:0 0 12px; }
.feat .more { color:var(--blue); font-weight:600; font-size:14px; display:inline-flex; gap:5px; align-items:center; }
.feat-visual { background:var(--bg-soft); border:1px solid var(--line); border-radius:12px; padding:12px; min-height:120px; font-size:11.5px; }
/* real mockup image (image only, no panel) — handles any proportion */
.feat-img { display:flex; align-items:center; justify-content:center; min-height:170px; }
.feat-img picture { display:block; line-height:0; width:100%; }
.feat-img img { display:block; width:100%; height:auto; max-height:270px; object-fit:contain; object-position:center; }
@media (max-width: 520px){ .feat{ grid-template-columns:1fr; } .feat-img img{ max-height:300px; } }

/* Lucide pastel icon chips (per brief): soft rounded square, thin outline icon */
.licon { display:inline-flex; align-items:center; justify-content:center;
    width:44px; height:44px; border-radius:14px; flex:none; }
.licon svg { width:22px; height:22px; }
.licon-sm { width:38px; height:38px; border-radius:11px; }
.licon-sm svg { width:19px; height:19px; }
.licon-lg { width:56px; height:56px; border-radius:16px; }
.licon-lg svg { width:26px; height:26px; }
.lc-blue   { background:#eff4ff; color:#2563eb; }
.lc-emerald{ background:#ecfdf5; color:#059669; }
.lc-orange { background:#fff7ed; color:#ea580c; }
.lc-pink   { background:#fdf2f8; color:#db2777; }
.lc-purple { background:#f5f3ff; color:#7c3aed; }
.lc-cyan   { background:#ecfeff; color:#0891b2; }
.lc-amber  { background:#fffbeb; color:#d97706; }

/* mini visual helpers */
.mini-row { display:flex; align-items:center; gap:8px; padding:7px 0; border-bottom:1px solid var(--line); }
.mini-row:last-child{ border-bottom:0; }
.mini-ava { width:22px;height:22px;border-radius:50%; background:#dbe6ff; flex:none; display:grid;place-items:center; font-size:9px;font-weight:700;color:#1e40af; }
.mini-stars{ color:var(--amber); margin-left:auto; font-size:10px; }
.qr-box { background:#fff;border:1px solid var(--line);border-radius:10px;padding:12px;text-align:center; }
.qr-box .qr { width:60px;height:60px;margin:6px auto; background:
   linear-gradient(45deg,#111 25%,transparent 25%,transparent 75%,#111 75%),
   linear-gradient(45deg,#111 25%,transparent 25%,transparent 75%,#111 75%) #fff;
   background-size:12px 12px; background-position:0 0,6px 6px; border-radius:6px; }
.bar { height:6px; border-radius:4px; background:var(--blue); }
.tag-ok { background:#e7f6ee;color:#16794a;border-radius:6px;padding:2px 8px;font-weight:700;font-size:10px; }

/* ---- How it works ------------------------------------------------------- */
.how { display:grid; grid-template-columns: repeat(3,1fr); gap: 18px; position:relative; }
@media (max-width:780px){ .how{ grid-template-columns:1fr; } }
.how-step { text-align:center; padding: 8px 16px; }
.how-num { width:32px;height:32px;border-radius:50%; background:var(--blue); color:#fff; font-weight:800; display:grid;place-items:center; margin:0 auto 18px; font-size:15px; box-shadow:var(--sh-blue); }
.how-ic { width:96px;height:96px;border-radius:24px; background:#fff; border:1px solid var(--line); box-shadow:var(--sh-md); display:grid;place-items:center; margin:0 auto 18px; }
.how-ic svg{ width:40px;height:40px;color:var(--blue); }
/* real step images with rounded border frame */
.how-img { display:inline-flex; align-items:center; justify-content:center; margin:0 auto 18px;
    border:1px solid var(--line); border-radius:20px; overflow:hidden; box-shadow:var(--sh-sm); background:#fff; }
.how-img picture { display:block; line-height:0; }
.how-img img { display:block; width:auto; height:auto; max-width:180px; max-height:150px; object-fit:contain; }
.how-step h3{ margin-bottom:8px; }
.how-step p{ font-size:14.5px;margin:0; }

/* ---- Built-for audience ------------------------------------------------- */
.aud { display:grid; grid-template-columns: repeat(3,1fr); gap:22px; }
@media (max-width:820px){ .aud{ grid-template-columns:1fr; } }
.aud-card { background:#fff;border:1px solid var(--line);border-radius:var(--r-lg);padding:26px; box-shadow:var(--sh-sm); transition:transform .25s, box-shadow .25s; }
.aud-card:hover{ transform:translateY(-4px); box-shadow:var(--sh-lg); }
.aud-ic{ width:48px;height:48px;border-radius:13px;display:grid;place-items:center;margin-bottom:16px;font-size:22px; }
.aud-card h3{ margin-bottom:14px; }
/* audience image inline with the title */
.aud-head{ display:flex; align-items:center; gap:12px; margin-bottom:14px; }
.aud-head h3{ margin:0; }
.aud-img{ flex:none; }
.aud-img picture{ display:block; line-height:0; }
.aud-img img{ display:block; width:48px; height:48px; object-fit:contain; }
.aud-list{ list-style:none;padding:0;margin:0; }
.aud-list li{ display:flex;gap:9px;align-items:flex-start;font-size:14.5px;margin-bottom:9px;color:var(--text); }
.aud-list svg{ width:17px;height:17px;color:var(--green);flex:none;margin-top:2px; }

/* ---- Dark testimonials band -------------------------------------------- */
.dark { background: linear-gradient(180deg,var(--navy),var(--navy-900)); color:#fff; }
.dark .h2 { color:#fff; }
.dark .eyebrow { color:#7da6ff; }
.tcards { display:grid; grid-template-columns:repeat(3,1fr); gap:22px; }
@media (max-width:860px){ .tcards{ grid-template-columns:1fr; } }
.tcard { background:#fff; border-radius:var(--r-lg); padding:24px; box-shadow:var(--sh-lg); }
.tcard .stars{ color:var(--amber); margin-bottom:12px; }
.tcard p{ color:var(--ink); font-size:15px; font-weight:500; margin:0 0 18px; }
.tcard .who{ display:flex;align-items:center;gap:11px; }
.tcard .who .a{ width:38px;height:38px;border-radius:50%;background:linear-gradient(135deg,#c7d7ff,#93b4ff);display:grid;place-items:center;font-weight:700;color:#1e40af; }
.tcard .who b{ color:var(--ink);font-size:14px;display:block; }
.tcard .who small{ color:var(--muted);font-size:12.5px; }

/* ---- Results / impact stats -------------------------------------------- */
.impact-grid{ display:grid; grid-template-columns: 1.1fr .9fr; gap:32px; align-items:center; }
@media (max-width:860px){ .impact-grid{ grid-template-columns:1fr; } }
.stat4{ display:grid;grid-template-columns:repeat(4,1fr);gap:16px; }
@media (max-width:560px){ .stat4{ grid-template-columns:repeat(2,1fr); } }
.stat4 .s .n{ font-size:30px;font-weight:800;color:var(--blue); }
.stat4 .s .l{ font-size:13px;color:var(--muted); }
.case{ background:#fff;border:1px solid var(--line);border-radius:var(--r-lg);padding:24px;box-shadow:var(--sh-md); }
.case .badge{ font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--blue); }
.case h3{ margin:8px 0; }
.case .ph{ height:120px;border-radius:12px;background:linear-gradient(135deg,#e7efff,#dbe6ff);display:grid;place-items:center;color:#5b76b3;font-weight:700;margin:14px 0; }

/* ---- Integrations + white label ---------------------------------------- */
.duo{ display:grid;grid-template-columns:1fr 1fr;gap:28px; }
@media (max-width:820px){ .duo{ grid-template-columns:1fr; } }
.panel{ background:#fff;border:1px solid var(--line);border-radius:var(--r-lg);padding:30px;box-shadow:var(--sh-sm); }
.intg{ display:flex;gap:16px;flex-wrap:wrap;margin-top:18px; }
.intg .l{ width:56px;height:56px;display:grid;place-items:center;font-weight:800;color:var(--blue);transition:transform .2s; }
.intg .l:hover{ transform:translateY(-3px); }
.intg .l img{ width:52px;height:52px;object-fit:contain;display:block; }
.intg .l-more{ width:auto;font-size:13px;color:var(--muted);font-weight:700; }
.wl-mock{ background:var(--navy);border-radius:14px;padding:16px;color:#fff;margin-top:18px;position:relative; }
.wl-mock .tag{ position:absolute;top:12px;right:12px;background:var(--blue);font-size:11px;padding:4px 10px;border-radius:6px; }

/* ---- CTA band ----------------------------------------------------------- */
.cta-band{ background:linear-gradient(120deg,var(--blue-700),var(--blue)); border-radius:var(--r-xl); padding:48px; color:#fff;
    display:flex;align-items:center;justify-content:space-between;gap:30px;flex-wrap:wrap; box-shadow:var(--sh-lg); }
.cta-band .h2{ color:#fff;margin-bottom:8px; }
.cta-band p{ color:rgba(255,255,255,.9);margin:0; }
.cta-actions{ display:flex;gap:14px;flex-wrap:wrap; }
.cta-checks{ display:flex;gap:20px;flex-wrap:wrap;margin-top:14px;font-size:14px;color:rgba(255,255,255,.92); }
.cta-checks span{ display:flex;gap:7px;align-items:center; }
.cta-checks svg{ width:16px;height:16px; }

/* ---- Footer ------------------------------------------------------------- */
.ft{ background:var(--navy-900); color:rgba(255,255,255,.66); padding:60px 0 30px; }
.ft-grid{ display:grid;grid-template-columns:1.6fr repeat(4,1fr);gap:30px; }
@media (max-width:820px){ .ft-grid{ grid-template-columns:1fr 1fr; } }
.ft h4{ color:#fff;font-size:14px;margin-bottom:14px; }
.ft ul{ list-style:none;padding:0;margin:0; }
.ft li{ margin-bottom:9px; }
.ft a{ color:rgba(255,255,255,.6);font-size:14px;transition:color .15s; }
.ft a:hover{ color:#fff; }
.ft .brand{ color:#fff;margin-bottom:14px; }
.ft .blurb{ font-size:14px;max-width:260px; }
.ft-bottom{ border-top:1px solid rgba(255,255,255,.1);margin-top:40px;padding-top:24px;display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;font-size:13px;color:rgba(255,255,255,.5); }
.ft-bottom a{ color:rgba(255,255,255,.5); }

/* =========================================================================
   Compatibility aliases — let the existing marketing pages (features,
   pricing, industries, how-it-works, contact) that use the older class
   names render correctly under this design system.
   ========================================================================= */
.container { max-width: var(--maxw); margin: 0 auto; padding: 0 24px; }
.hero { padding: 80px 0 56px; }
.hero-content { max-width: 760px; margin: 0 auto; }
.hero-title { font-size: clamp(30px,3.4vw,40px); color: var(--ink); }
.hero-subtitle { font-size: 16.5px; color: var(--text); }
.body-large { font-size: 16.5px; color: var(--text); }
.body { font-size: 15.5px; color: var(--text); }
.body-small { font-size: 14px; color: var(--muted); }
.section-gray { background: var(--bg-soft); border-top:1px solid var(--line); border-bottom:1px solid var(--line); }
.section-header { max-width: 660px; margin: 0 auto 48px; text-align: center; }
.section-header .h2 { margin-bottom: 12px; }
.section-label { display:inline-block;font-size:12px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--blue);margin-bottom:14px; }

/* old buttons → new pill style */
.btn-primary { display:inline-flex;align-items:center;justify-content:center;gap:9px;background:var(--blue);color:#fff;font-weight:600;border-radius:var(--r-pill);padding:13px 24px;border:1.5px solid var(--blue);box-shadow:var(--sh-blue);transition:all .2s cubic-bezier(.2,.7,.2,1); }
.btn-primary:hover { background:var(--blue-700);transform:translateY(-2px); }
.btn-outline { display:inline-flex;align-items:center;justify-content:center;gap:9px;background:#fff;color:var(--ink);font-weight:600;border-radius:var(--r-pill);padding:13px 24px;border:1.5px solid var(--line-2);transition:all .2s; }
.btn-outline:hover { border-color:var(--blue);color:var(--blue);transform:translateY(-2px); }
.btn-white { background:#fff;color:var(--blue);border-radius:var(--r-pill);padding:13px 24px;font-weight:600;display:inline-flex;align-items:center;gap:9px; }

/* old feature-card / features-grid → card style */
.features-grid { display:grid;grid-template-columns:repeat(3,1fr);gap:22px; }
@media (max-width:900px){ .features-grid{ grid-template-columns:1fr; } }
.feature-card { background:#fff;border:1px solid var(--line);border-radius:var(--r-lg);padding:26px;box-shadow:var(--sh-sm);transition:transform .25s cubic-bezier(.2,.7,.2,1),box-shadow .25s,border-color .25s; }
.feature-card:hover { transform:translateY(-4px);box-shadow:var(--sh-lg);border-color:var(--line-2); }
.feature-card .h3, .feature-card h3 { margin:14px 0 8px;color:var(--ink); }
.feature-icon-box { width:48px;height:48px;border-radius:13px;display:grid;place-items:center;background:var(--blue-50);color:var(--blue); }
.feature-icon-box svg{ width:24px;height:24px; }
.feature-icon-blue{background:#e7efff;color:#2563eb}.feature-icon-cyan{background:#e3f5fb;color:#0e7490}
.feature-icon-green{background:#e6f6ef;color:#0f766e}.feature-icon-orange{background:#fdeee6;color:#c2410c}
.feature-icon-pink{background:#fdeaf1;color:#be185d}.feature-icon-purple{background:#e7efff;color:#2563eb}
.features-list{ list-style:none;padding:0;margin:8px 0 0; }
.features-list li{ display:flex;gap:9px;align-items:flex-start;font-size:14.5px;color:var(--text);margin-bottom:8px; }
.features-list li::before{ content:"✓";color:var(--green);font-weight:800;flex:none; }

/* ---- Niche accordion (full-width rows) --------------------------------- */
.niche-accordion{ max-width:900px;margin:0 auto;display:flex;flex-direction:column;gap:14px; }
.niche-item{ background:#fff;border:1px solid var(--line);border-radius:var(--r-lg);box-shadow:var(--sh-sm);overflow:hidden;transition:border-color .2s,box-shadow .2s; }
.niche-item.open{ border-color:var(--line-2);box-shadow:var(--sh-md); }
.niche-trigger{ width:100%;display:flex;align-items:center;gap:16px;padding:20px 24px;background:none;border:0;cursor:pointer;text-align:left;font-family:inherit; }
.niche-trigger:hover .niche-name{ color:var(--blue); }
.niche-trigger .feature-icon-box{ width:42px;height:42px;border-radius:11px;flex:none; }
.niche-trigger .feature-icon-box svg{ width:21px;height:21px; }
.niche-name{ flex:1;font-size:17px;font-weight:700;letter-spacing:-.01em;color:var(--ink);transition:color .15s; }
.niche-chevron{ width:20px;height:20px;color:var(--muted);flex:none;transition:transform .25s ease; }
.niche-item.open .niche-chevron{ transform:rotate(180deg);color:var(--blue); }
.niche-body{ padding:0 24px 24px;border-top:1px solid var(--line); }
.niche-body p{ font-size:15px;line-height:1.7;color:var(--text);margin:18px 0 14px; }
.niche-body .features-list{ margin-top:4px; }

/* ---- Mini cards (centred, professional) -------------------------------- */
.mini-grid{ display:grid;grid-template-columns:repeat(4,1fr);gap:22px;max-width:1080px;margin:0 auto; }
@media (max-width:980px){ .mini-grid{ grid-template-columns:repeat(2,1fr);max-width:680px; } }
@media (max-width:560px){ .mini-grid{ grid-template-columns:1fr;max-width:380px; } }
.mini-card{ background:#fff;border:1px solid var(--line);border-radius:var(--r-lg);padding:32px 24px;box-shadow:var(--sh-sm);text-align:center;display:flex;flex-direction:column;align-items:center;transition:transform .25s cubic-bezier(.2,.7,.2,1),box-shadow .25s,border-color .25s; }
.mini-card:hover{ transform:translateY(-5px);box-shadow:var(--sh-lg);border-color:var(--line-2); }
.mini-card .feature-icon-box{ margin-bottom:6px; }
.mini-card .h3{ margin:14px 0 8px;color:var(--ink);font-size:18px; }
.mini-text{ font-size:14.5px;line-height:1.65;color:var(--text);margin:0; }

/* centred check list used inside centred cards */
.mini-card .features-list{ margin:16px 0 0;width:100%;border-top:1px solid var(--line);padding-top:16px;text-align:left; }
.mini-card .features-list li{ font-size:13.5px;margin-bottom:9px; }
.mini-card .features-list li:last-child{ margin-bottom:0; }

/* ---- Price tiers (centred, premium) ------------------------------------ */
.price-tiers{ display:grid;grid-template-columns:repeat(3,1fr);gap:24px;align-items:stretch;max-width:1000px;margin:0 auto; }
@media (max-width:860px){ .price-tiers{ grid-template-columns:1fr;max-width:420px; } }
.price-tier{ background:#fff;border:1px solid var(--line);border-radius:var(--r-xl);padding:38px 30px;box-shadow:var(--sh-sm);text-align:center;display:flex;flex-direction:column;align-items:center;transition:transform .25s cubic-bezier(.2,.7,.2,1),box-shadow .25s,border-color .25s; }
.price-tier:hover{ transform:translateY(-6px);box-shadow:var(--sh-lg); }
.price-tier-featured{ border:1.5px solid var(--blue);box-shadow:var(--sh-blue); }
@media (min-width:861px){ .price-tier-featured{ transform:scale(1.04);z-index:1; } .price-tier-featured:hover{ transform:scale(1.04) translateY(-6px); } }
.price-tier-amount{ font-size:46px;font-weight:800;letter-spacing:-.03em;color:var(--ink);line-height:1; }
.price-tier-amount span{ font-size:22px;font-weight:700;color:var(--muted); }
.price-tier-tag{ display:inline-block;margin:16px 0;font-size:11.5px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;padding:6px 14px;border-radius:var(--r-pill); }
.price-tag-green{ background:#e6f6ef;color:#0f766e; }
.price-tag-orange{ background:#fdeee6;color:#c2410c; }
.price-tag-pink{ background:#fdeaf1;color:#be185d; }
.price-tier .mini-text{ margin-bottom:4px; }
.price-tier .features-list{ margin:18px 0 0;width:100%;border-top:1px solid var(--line);padding-top:18px;text-align:left; }
.price-tier .features-list li{ font-size:13.5px;margin-bottom:10px; }
.price-tier .features-list li:last-child{ margin-bottom:0; }
.price-tier{ position:relative; }
.price-tier-badge{ position:absolute;top:-13px;left:50%;transform:translateX(-50%);background:var(--blue);color:#fff;
    font-size:11px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;padding:6px 16px;border-radius:var(--r-pill);box-shadow:var(--sh-blue);white-space:nowrap; }

/* 3-column mini grid variant */
.mini-grid-3{ grid-template-columns:repeat(3,1fr);max-width:1000px; }
@media (max-width:900px){ .mini-grid-3{ grid-template-columns:1fr;max-width:420px; } }

/* ---- Soft reflective CTA band ------------------------------------------ */
.cta-soft{ position:relative; overflow:hidden; display:flex; align-items:center; gap:28px; flex-wrap:wrap;
    border-radius:var(--r-xl); padding:40px 44px; border:1px solid var(--blue-100);
    background:
        radial-gradient(600px 240px at 12% -40%, rgba(37,99,235,.12), transparent 60%),
        radial-gradient(500px 200px at 95% 140%, rgba(37,99,235,.10), transparent 60%),
        linear-gradient(120deg,#eef4ff,#f6f9ff);
    box-shadow:var(--sh-md); }
.cta-soft-icon{ width:60px;height:60px;border-radius:16px;flex:none;display:grid;place-items:center;
    background:var(--blue);color:#fff;box-shadow:var(--sh-blue); }
.cta-soft-icon svg{ width:28px;height:28px; }
.cta-soft-text{ flex:1;min-width:260px; }
.cta-soft-text .h2{ font-size:24px;margin-bottom:6px; }
.cta-soft-text .muted{ margin:0;font-size:15px; }
.cta-soft-actions{ display:flex;gap:12px;flex-wrap:wrap; }
@media (max-width:680px){ .cta-soft{ flex-direction:column;align-items:flex-start;text-align:left;padding:32px 26px; } }

/* old pricing classes (already mostly fine; ensure rounded + blue featured) */
.pricing-grid{ display:grid;grid-template-columns:repeat(3,1fr);gap:24px;align-items:start; }
@media (max-width:900px){ .pricing-grid{ grid-template-columns:1fr; } }
.pricing-card{ background:#fff;border:1px solid var(--line);border-radius:var(--r-lg);padding:30px;box-shadow:var(--sh-sm);position:relative;transition:transform .25s,box-shadow .25s; }
.pricing-card:hover{ transform:translateY(-5px);box-shadow:var(--sh-lg); }
.pricing-card-featured{ border:1.5px solid var(--blue);box-shadow:var(--sh-blue);transform:scale(1.02); }
.pricing-badge{ position:absolute;top:-12px;left:50%;transform:translateX(-50%);background:var(--blue);color:#fff;font-size:12px;font-weight:700;padding:5px 14px;border-radius:var(--r-pill);box-shadow:var(--sh-blue); }
.pricing-name{ font-size:20px;font-weight:800;color:var(--ink); }
.pricing-description{ color:var(--muted);font-size:14px;margin:4px 0 14px; }
.pricing-amount{ font-size:38px;font-weight:800;color:var(--ink); }
.pricing-period{ color:var(--muted);font-size:14px;margin-left:4px; }
.pricing-note{ font-size:13px;color:var(--muted);margin:6px 0 0; }
.pricing-features{ margin:18px 0;display:flex;flex-direction:column;gap:10px; }
.pricing-feature{ display:flex;gap:9px;align-items:flex-start;font-size:14.5px;color:var(--text); }
.pricing-feature svg{ width:18px;height:18px;color:var(--green);flex:none;margin-top:1px; }
.pricing-cta{ width:100%;margin-top:6px; }
.currency-switcher{ display:inline-flex;background:#eef3fc;border-radius:var(--r-pill);padding:4px;gap:2px;border:1px solid var(--line); }
.currency-btn{ border:none;background:transparent;cursor:pointer;padding:8px 16px;border-radius:var(--r-pill);font-weight:600;font-size:13px;color:var(--muted);transition:all .18s; }
.currency-btn.active{ background:#fff;color:var(--blue);box-shadow:var(--sh-sm); }

/* contact / demo grid + forms */
.demo-grid{ display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:start; }
@media (max-width:820px){ .demo-grid{ grid-template-columns:1fr; } }
.demo-form-card{ background:#fff;border:1px solid var(--line);border-radius:var(--r-lg);padding:30px;box-shadow:var(--sh-lg); }
.form-group{ margin-bottom:16px; }
.form-label{ display:block;font-size:14px;font-weight:600;color:var(--ink);margin-bottom:6px; }
.form-label-optional{ color:var(--muted);font-weight:400; }
.form-input{ width:100%;padding:11px 14px;border:1.5px solid var(--line-2);border-radius:10px;font-family:inherit;font-size:15px;transition:border-color .15s,box-shadow .15s; }
.form-input:focus{ outline:none;border-color:var(--blue);box-shadow:0 0 0 4px rgba(37,99,235,.12); }
.form-submit{ width:100%;margin-top:4px; }
.form-disclaimer{ font-size:12.5px;color:var(--muted);margin-top:12px;text-align:center; }
.checklist{ display:flex;flex-direction:column;gap:12px;margin-top:20px; }
.checklist-item{ display:flex;gap:10px;align-items:center;font-size:15px;color:var(--text); }
.checklist-icon{ width:20px;height:20px;color:var(--green);flex:none; }
.demo-trust{ display:flex;align-items:center;gap:10px;margin-top:8px; }
.demo-stars{ color:var(--amber); }
.demo-rating{ color:var(--muted);font-size:14px; }

/* legal */
.legal-hero{ padding:120px 0 36px;background:var(--bg-soft);border-bottom:1px solid var(--line); }
.legal-wrap{ max-width:760px;margin:0 auto;padding:48px 24px 80px; }
.legal-wrap h2{ font-size:21px;font-weight:700;color:var(--ink);margin:34px 0 12px; }
.legal-wrap h2:first-child{ margin-top:0; }
.legal-wrap p,.legal-wrap li{ color:var(--text);line-height:1.7;font-size:15.5px; }
.legal-wrap p{ margin:0 0 14px; }
.legal-wrap ul{ margin:0 0 16px;padding-left:20px; }
.legal-wrap a{ color:var(--blue);text-decoration:underline; }
.legal-updated{ color:var(--muted);font-size:14px;margin-top:8px; }

/* greeting/stat (ROI calc, economics) */
.greeting-stats{ display:grid;grid-template-columns:repeat(3,1fr);gap:14px; }
@media (max-width:560px){ .greeting-stats{ grid-template-columns:1fr; } }
.greeting-stat{ background:#fff;border:1px solid var(--line);border-radius:12px;padding:18px;box-shadow:var(--sh-sm); }
.greeting-stat-label{ font-size:12px;color:var(--muted); }
.greeting-stat-value{ font-size:26px;font-weight:800;color:var(--ink); }
.greeting-stat-value-blue{ color:var(--blue); }
.greeting-stat-value-green{ color:#0f766e; }
.greeting-stat-value-purple{ color:var(--blue); }

/* =========================================================================
   Page hero — centred, reflective gradient (Industries / Solutions etc.)
   ========================================================================= */
.page-hero { position:relative; overflow:hidden; padding: 76px 0 72px; text-align:center; background:
    radial-gradient(900px 420px at 84% -12%, rgba(37,99,235,.12), transparent 62%),
    radial-gradient(760px 380px at 12% 8%, rgba(37,99,235,.06), transparent 60%),
    linear-gradient(180deg,#eef4ff 0%, #f6f9ff 48%, #ffffff 100%); }
/* soft reflective wave streaks */
.page-hero::before, .page-hero::after { content:""; position:absolute; pointer-events:none;
    border-radius:50%; border:1px solid rgba(37,99,235,.10); }
.page-hero::before { width:1200px; height:1200px; left:-280px; top:-820px;
    box-shadow: 0 60px 0 -1px rgba(37,99,235,.07), 0 120px 0 -1px rgba(37,99,235,.05); }
.page-hero::after { width:900px; height:900px; right:-360px; bottom:-640px;
    border-color:rgba(37,99,235,.08);
    box-shadow: 0 -50px 0 -1px rgba(37,99,235,.05); }
.page-hero .wrap { position:relative; z-index:1; }
.page-hero-inner { max-width: 760px; margin: 0 auto; }
.page-hero .pill { margin-bottom: 20px; }
.page-hero h1 { margin-bottom: 18px; font-size: clamp(32px,3.8vw,46px); }
.page-hero .lead { max-width: 600px; margin: 0 auto 28px; }
.page-hero .hero-actions { justify-content:center; }

/* =========================================================================
   Features page — reference layout components
   ========================================================================= */

/* hero with product (book) mockup — plain white, no gradient */
.feat-hero { padding: 56px 0 60px; background: #ffffff; }
.feat-hero .pill { margin-bottom:18px; }
.feat-hero h1 { margin-bottom:16px; }
.feat-hero .lead { max-width:440px; margin:0 0 24px; }

/* the "Business Kit" book mockup */
.kit-book-wrap { position:relative; display:grid; place-items:center; min-height:300px; }
.kit-book { width:230px; height:300px; border-radius:6px 14px 14px 6px;
    background:linear-gradient(135deg,#fff 0%,#eef3fc 100%); border:1px solid var(--line);
    box-shadow: -10px 0 0 -2px #dbe6ff, -20px 0 0 -4px #eef3fc, var(--sh-lg);
    padding:30px 26px; transform:rotate(2deg); position:relative; }
.kit-book .km { width:42px;height:42px;border-radius:11px;background:var(--blue);display:grid;place-items:center;color:#fff;box-shadow:var(--sh-blue);margin-bottom:auto; }
.kit-book .label { font-size:11px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--blue);margin:18px 0 8px; }
.kit-book h3 { font-size:24px;line-height:1.15;color:var(--ink); }
.kit-book .blue { color:var(--blue); }
.kit-book .sub { font-size:11px;color:var(--muted);margin-top:10px; }
.kit-book .checks { margin-top:18px;display:flex;flex-direction:column;gap:6px; }
.kit-book .checks span { display:flex;gap:6px;align-items:center;font-size:11px;color:var(--text); }
.kit-book .checks svg { width:13px;height:13px;color:#16a34a; }
.book-float { position:absolute; background:#fff; border:1px solid var(--line); border-radius:12px;
    box-shadow:var(--sh-lg); padding:9px 12px; display:flex;gap:9px;align-items:center;font-size:12px; }
.book-float .ic { width:28px;height:28px;border-radius:8px;display:grid;place-items:center;flex:none; }
.book-float.bf1 { top:8px; right:0; }
.book-float.bf2 { bottom:18px; left:-8px; }

/* real-image hero kit (replaces .kit-book)
   bg is colour-matched to the hero (#f8fafe) so the image blends seamlessly */
.kit-book-wrap picture { display:block; line-height:0; width:100%; max-width:480px; }
.kit-img { display:block; width:100%; height:auto; }
@media (max-width:980px){ .kit-book-wrap picture { max-width:380px; margin:0 auto; } }

/* centered section head variant (smaller) */
.fsec-head { max-width:620px;margin:0 auto 40px;text-align:center; }
.fsec-head h2 { margin-bottom:10px; }
.fsec-head p { font-size:16px;color:var(--muted);margin:0; }

/* 3-up compact feature cards */
.f3 { display:grid;grid-template-columns:repeat(3,1fr);gap:20px; }
@media (max-width:820px){ .f3{ grid-template-columns:1fr; } }
.fcard { background:#fff;border:1px solid var(--line);border-radius:var(--r-md);padding:24px;box-shadow:var(--sh-sm);transition:transform .22s,box-shadow .22s,border-color .22s; }
.fcard:hover { transform:translateY(-3px);box-shadow:var(--sh-lg);border-color:var(--line-2); }
.fcard h3 { font-size:15.5px;margin:14px 0 8px; }
.fcard p { font-size:13.5px;margin:0; }

/* QR band (tinted) is just .section-soft + .f3 */

/* split 2-column row: text+checklist | visual mockup */
.split { display:grid;grid-template-columns:1fr 1.1fr;gap:48px;align-items:center; }
.split.rev { grid-template-columns:1.1fr 1fr; }
@media (max-width:860px){ .split,.split.rev{ grid-template-columns:1fr;gap:28px; } }
.split h2 { margin-bottom:10px; }
.split .sub { font-size:16px;color:var(--muted);margin:0 0 18px; }
.checklist2 { list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:11px; }
.checklist2 li { display:flex;gap:10px;align-items:flex-start;font-size:14.5px;color:var(--text); }
.checklist2 li .ck { color:#16a34a;flex:none;margin-top:1px; }
.checklist2 li .ck svg { width:18px;height:18px; }

/* right-side mockup container */
.vmock { background:#fff;border:1px solid var(--line);border-radius:var(--r-lg);padding:20px;box-shadow:var(--sh-lg); }
.vmock.soft { background:var(--bg-soft); }

/* table tents trio */
.tents { display:flex;gap:16px;align-items:flex-end;justify-content:center;flex-wrap:wrap; }
.tent { width:120px;background:#fff;border:1px solid var(--line);border-radius:10px;box-shadow:var(--sh-md);padding:14px 10px;text-align:center; }
.tent .g { font-weight:800;color:#4285F4;font-size:13px; }
.tent .stars { color:var(--amber);font-size:12px;margin:4px 0; }
.tent .qr { width:46px;height:46px;margin:6px auto;background:
   linear-gradient(45deg,#111 25%,transparent 25%,transparent 75%,#111 75%),
   linear-gradient(45deg,#111 25%,transparent 25%,transparent 75%,#111 75%) #fff;
   background-size:10px 10px;background-position:0 0,5px 5px;border-radius:4px; }
.tent.t2 { background:#0b1f4d;color:#fff; }
.tent.dark-circle { background:#0b1f4d;color:#fff;border-radius:50%;width:100px;height:100px;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:0; }

/* real-image print collateral lockup — large, no panel, on the page */
.mock-lockup { padding:0; background:none; border:0; box-shadow:none; }
.tents-img { display:flex; align-items:center; justify-content:center; gap:8px; }
.tents-img picture { display:block; line-height:0; flex:0 1 auto; }
.tents-img picture:nth-child(1) { width:42%; max-width:260px; }
.tents-img picture:nth-child(2) { width:36%; max-width:220px; }
.tents-img picture:nth-child(3) { width:34%; max-width:210px; }
.tent-img { display:block; width:100%; height:auto; transition:transform .25s cubic-bezier(.2,.7,.2,1); }
.tents-img picture:hover .tent-img { transform:translateY(-5px); }
@media (max-width:560px){
    .tents-img { gap:4px; }
    .tents-img picture:nth-child(1) { max-width:160px; }
    .tents-img picture:nth-child(2) { max-width:135px; }
    .tents-img picture:nth-child(3) { max-width:130px; }
}

/* dashboard feature mini-grid (for AI / dashboards right side) */
.mgrid { display:grid;grid-template-columns:1fr 1fr;gap:12px; }
@media (max-width:380px){ .mgrid{ grid-template-columns:1fr; } }
.mgrid .mc { background:#fff;border:1px solid var(--line);border-radius:10px;padding:13px; }
.mgrid .mc .licon { width:30px;height:30px;border-radius:8px;margin-bottom:8px; }
.mgrid .mc .licon svg { width:15px;height:15px; }
.mgrid .mc b { font-size:12.5px;color:var(--ink);display:block;margin-bottom:3px; }
.mgrid .mc span { font-size:11px;color:var(--muted);line-height:1.4;display:block; }

/* leaderboard mockup */
.lb-row { display:flex;align-items:center;gap:10px;padding:10px 0;border-bottom:1px solid var(--line); }
.lb-row:last-child{ border-bottom:0; }
.lb-row .a { width:30px;height:30px;border-radius:50%;background:#dbe6ff;display:grid;place-items:center;font-size:11px;font-weight:700;color:#1e40af;flex:none; }
.lb-row .nm b { font-size:13px;color:var(--ink);display:block; }
.lb-row .nm span { font-size:11px;color:var(--muted); }
.lb-row .st { margin-left:auto;color:var(--amber);font-size:12px; }

/* email flow mockup */
.eflow { display:flex;flex-direction:column;gap:10px; }
.eflow .node { display:flex;align-items:center;gap:10px;background:var(--bg-soft);border:1px solid var(--line);border-radius:10px;padding:11px 13px;font-size:12.5px;color:var(--ink);font-weight:600; }
.eflow .node .licon { width:28px;height:28px;border-radius:8px; }
.eflow .node .licon svg { width:15px;height:15px; }

/* reviews hub mockup */
.hub { }
.hub .head { display:flex;align-items:center;gap:10px;margin-bottom:12px; }
.hub .head .big { font-size:26px;font-weight:800;color:var(--ink); }
.hub .head .stars { color:var(--amber); }
.hub .head .src { margin-left:auto;display:flex;gap:6px; }
.hub .head .src span { width:24px;height:24px;border-radius:6px;background:var(--bg-soft);border:1px solid var(--line);display:grid;place-items:center;font-size:11px;font-weight:800; }
.hub .rev { background:var(--bg-soft);border:1px solid var(--line);border-radius:10px;padding:11px;margin-bottom:8px; }
.hub .rev .stars { color:var(--amber);font-size:11px; }
.hub .rev p { font-size:11.5px;color:var(--text);margin:4px 0 6px;line-height:1.5; }
.hub .rev .who { font-size:11px;color:var(--muted);font-weight:600; }

/* white-label dark dashboard */
.wl-dash { background:var(--navy);border-radius:var(--r-lg);overflow:hidden;box-shadow:var(--sh-lg);display:grid;grid-template-columns:150px 1fr; }
@media (max-width:520px){ .wl-dash{ grid-template-columns:1fr; } }
.wl-dash .side { background:rgba(255,255,255,.04);padding:16px 12px;color:rgba(255,255,255,.7); }
.wl-dash .side .b { display:flex;align-items:center;gap:7px;color:#fff;font-weight:800;font-size:13px;margin-bottom:16px; }
.wl-dash .side a { display:flex;align-items:center;gap:7px;padding:7px 9px;border-radius:7px;font-size:12px;color:rgba(255,255,255,.65);margin-bottom:2px; }
.wl-dash .side a svg { width:14px;height:14px; }
.wl-dash .side a.on { background:rgba(255,255,255,.1);color:#fff; }
.wl-dash .main { background:#fff;padding:16px; }
.wl-dash .main .k3 { display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:12px; }

/* =========================================================================
   Pricing page — reference layout components
   ========================================================================= */

/* hero assurance row */
.assure-row { display:flex; gap:26px; justify-content:center; flex-wrap:wrap; margin-top:18px; color:var(--muted); font-size:14px; }
.assure-row span { display:flex; align-items:center; gap:7px; }
.assure-row .licon { width:26px; height:26px; border-radius:8px; }
.assure-row .licon svg { width:14px; height:14px; }

/* billing toggle pill */
.toggle-pill { display:inline-flex; background:#eef3fc; border:1px solid var(--line); border-radius:var(--r-pill); padding:4px; gap:2px; }
.toggle-pill button { border:0; background:transparent; cursor:pointer; padding:8px 20px; border-radius:var(--r-pill); font-weight:600; font-size:13.5px; color:var(--muted); transition:all .18s; }
.toggle-pill button.on { background:#fff; color:var(--blue); box-shadow:var(--sh-sm); }

/* pricing cards — reference style (icon top-left, name, price, check list) */
.pr-grid { display:grid; grid-template-columns: repeat(3,1fr); gap:24px; align-items:start; max-width:1000px; margin:0 auto; }
@media (max-width:900px){ .pr-grid{ grid-template-columns:1fr; max-width:420px; } }
.pr-card { background:#fff; border:1px solid var(--line); border-radius:var(--r-lg); padding:28px; box-shadow:var(--sh-sm); position:relative; transition:transform .25s cubic-bezier(.2,.7,.2,1), box-shadow .25s, border-color .25s; }
.pr-card:hover { transform:translateY(-4px); box-shadow:var(--sh-lg); }
.pr-card.pr-featured { border:2px solid var(--blue); box-shadow:var(--sh-blue); }
.pr-badge { position:absolute; top:-13px; left:50%; transform:translateX(-50%); background:var(--blue); color:#fff; font-size:12px; font-weight:700; padding:5px 16px; border-radius:var(--r-pill); box-shadow:var(--sh-blue); }
.pr-card .pr-name { font-size:19px; font-weight:800; color:var(--ink); margin:14px 0 4px; }
.pr-card .pr-tag { font-size:13.5px; color:var(--muted); margin-bottom:16px; }
.pr-price { display:flex; align-items:baseline; gap:8px; margin-bottom:20px; flex-wrap:wrap; }
.pr-price .amt { font-size:36px; font-weight:800; color:var(--ink); letter-spacing:-.02em; }
.pr-price .per { font-size:13.5px; color:var(--muted); }
.pr-list { list-style:none; padding:0; margin:0 0 22px; display:flex; flex-direction:column; gap:11px; }
.pr-list li { display:flex; gap:9px; align-items:flex-start; font-size:14px; color:var(--text); }
.pr-list li .ck { color:#16a34a; flex:none; margin-top:1px; }
.pr-list li .ck svg { width:17px; height:17px; }
.pr-cta { display:block; width:100%; text-align:center; }
.pr-disclaimer { text-align:center; color:var(--muted); font-size:13.5px; margin-top:26px; display:flex; align-items:center; justify-content:center; gap:7px; }

/* Do the maths calculator */
.calc-wrap { display:grid; grid-template-columns: .8fr 1.2fr; gap:40px; align-items:center; max-width:1000px; margin:0 auto; }
@media (max-width:820px){ .calc-wrap{ grid-template-columns:1fr; } }
.calc-wrap > * { min-width:0; }
.calc-panel { background:#fff; border:1px solid var(--line); border-radius:var(--r-lg); padding:28px; box-shadow:var(--sh-md); min-width:0; }
@media (max-width:480px){ .calc-panel{ padding:20px; } }
.calc-field { margin-bottom:22px; }
.calc-field .lab { display:flex; justify-content:space-between; font-weight:700; color:var(--ink); font-size:14.5px; margin-bottom:10px; }
.calc-field .lab .v { color:var(--blue); }
.calc-field input[type=range] { width:100%; -webkit-appearance:none; appearance:none; height:6px; border-radius:6px; background:#e2e8f3; outline:none; }
.calc-field input[type=range]::-webkit-slider-thumb { -webkit-appearance:none; width:20px; height:20px; border-radius:50%; background:var(--blue); cursor:pointer; box-shadow:var(--sh-blue); border:3px solid #fff; }
.calc-field input[type=range]::-moz-range-thumb { width:18px; height:18px; border-radius:50%; background:var(--blue); cursor:pointer; border:3px solid #fff; }
.calc-res { display:grid; grid-template-columns:repeat(3,1fr); gap:12px; }
@media (max-width:480px){ .calc-res{ grid-template-columns:1fr; } }
.calc-res .r { background:var(--bg-soft); border:1px solid var(--line); border-radius:12px; padding:14px; text-align:center; min-width:0; }
.calc-res .r .l { font-size:11.5px; color:var(--muted); margin-bottom:4px; }
.calc-res .r .n { font-size:22px; font-weight:800; word-break:break-word; }
.calc-res .r.g .n { color:#16a34a; }
.calc-res .r.b .n { color:var(--blue); }
.calc-res .r.p .n { color:#7c3aed; }
.calc-note { font-size:12px; color:var(--muted); text-align:center; margin-top:14px; }

/* what partner gets — 5-card grid */
.partner-grid { display:grid; grid-template-columns:repeat(5,1fr); gap:18px; }
@media (max-width:960px){ .partner-grid{ grid-template-columns:repeat(3,1fr); } }
@media (max-width:620px){ .partner-grid{ grid-template-columns:1fr 1fr; } }
.partner-card { background:#fff; border:1px solid var(--line); border-radius:var(--r-md); padding:22px; box-shadow:var(--sh-sm); transition:transform .22s, box-shadow .22s, border-color .22s; }
.partner-card:hover { transform:translateY(-3px); box-shadow:var(--sh-lg); border-color:var(--line-2); }
.partner-card h3 { font-size:14.5px; margin:14px 0 7px; }
.partner-card p { font-size:13px; margin:0; color:var(--text); }

/* FAQ accordion (single column, bordered rows) */
.faq-acc { max-width:760px; margin:0 auto; border:1px solid var(--line); border-radius:var(--r-md); overflow:hidden; background:#fff; box-shadow:var(--sh-sm); }
.faq-item { border-bottom:1px solid var(--line); }
.faq-item:last-child { border-bottom:0; }
.faq-q { width:100%; text-align:left; background:none; border:0; cursor:pointer; padding:18px 22px; display:flex; justify-content:space-between; align-items:center; gap:16px; font-weight:600; font-size:15px; color:var(--ink); font-family:inherit; }
.faq-q svg { width:20px; height:20px; flex:none; color:var(--muted); transition:transform .2s; }
.faq-a { padding:0 22px 18px; font-size:14px; color:var(--text); line-height:1.6; }

/* CTA with kit mockup */
.cta-kit { display:grid; grid-template-columns:.55fr 1fr; gap:30px; align-items:center;
    background:linear-gradient(180deg,#f3f7ff,#eef3fc); border:1px solid var(--line);
    border-radius:var(--r-xl); padding:38px; }
@media (max-width:760px){ .cta-kit{ grid-template-columns:1fr; text-align:center; } }
.kit-mock { position:relative; display:grid; place-items:center; min-height:170px; }
.kit-box { width:150px; height:185px; background:#fff; border:1px solid var(--line); border-radius:14px;
    box-shadow:var(--sh-lg); display:flex; flex-direction:column; align-items:center; justify-content:center; gap:10px; position:relative; transform:rotate(-4deg); }
.kit-box .km { width:46px; height:46px; border-radius:12px; background:var(--blue); display:grid; place-items:center; color:#fff; box-shadow:var(--sh-blue); }
.kit-box .kt { font-weight:800; color:var(--ink); font-size:14px; }
.kit-box .ks { font-size:11px; color:var(--muted); }
.kit-float { position:absolute; width:40px; height:40px; border-radius:11px; background:#fff; border:1px solid var(--line); box-shadow:var(--sh-md); display:grid; place-items:center; color:var(--blue); }
.kit-float.f1 { top:18px; left:6px; }
.kit-float.f2 { bottom:22px; left:20px; color:#f59e0b; }
.cta-kit .cta-actions { margin-top:18px; }
.cta-kit .cta-checks { margin-top:14px; color:var(--muted); }
.cta-kit .cta-checks svg { color:#16a34a; }

/* =========================================================================
   How It Works page — reference layout components
   ========================================================================= */

/* hero with mockup (reuse .hero-grid) */
.hiw-hero { padding: 56px 0 64px; background:
    radial-gradient(800px 340px at 85% 0%, rgba(37,99,235,.07), transparent 60%),
    linear-gradient(180deg,#fff,#fbfdff); }
.hiw-hero h1 { margin-bottom: 16px; }
.hiw-hero .lead { max-width: 460px; margin: 0 0 26px; }

/* compact numbered step cards (Path to launch / Cutting a client live) */
.steprow { display:grid; grid-template-columns: repeat(4,1fr); gap: 18px; }
@media (max-width:900px){ .steprow{ grid-template-columns:repeat(2,1fr); } }
@media (max-width:520px){ .steprow{ grid-template-columns:1fr; } }
.stepcard { background:#fff; border:1px solid var(--line); border-radius: var(--r-lg);
    padding: 22px; box-shadow: var(--sh-sm); transition: transform .25s cubic-bezier(.2,.7,.2,1), box-shadow .25s, border-color .25s; }
.stepcard:hover { transform: translateY(-4px); box-shadow: var(--sh-lg); border-color: var(--line-2); }
.stepcard .top { display:flex; align-items:center; justify-content:space-between; margin-bottom:16px; }
.stepcard .num { font-size:13px; font-weight:800; color:var(--muted); }
.stepcard h3 { font-size:15px; margin-bottom:7px; }
.stepcard p { font-size:13.5px; margin:0; color:var(--text); }

/* tight 6-card grid for the "engine"/"you" sections */
.grid6 { display:grid; grid-template-columns: repeat(3,1fr); gap: 18px; }
@media (max-width:820px){ .grid6{ grid-template-columns:1fr 1fr; } }
@media (max-width:540px){ .grid6{ grid-template-columns:1fr; } }
.minicard { background:#fff; border:1px solid var(--line); border-radius:var(--r-md);
    padding:22px; box-shadow:var(--sh-sm); transition:transform .22s, box-shadow .22s, border-color .22s; }
.minicard:hover { transform:translateY(-3px); box-shadow:var(--sh-lg); border-color:var(--line-2); }
.minicard h3 { font-size:15px; margin:14px 0 7px; }
.minicard p { font-size:13.5px; margin:0; }

/* horizontal connected flow (30-second review flow) */
.flow { display:flex; align-items:flex-start; justify-content:space-between; gap:8px; flex-wrap:wrap; }
.flow-step { flex:1; min-width:120px; text-align:center; padding:0 6px; }
.flow-step .licon { margin:0 auto 12px; }
.flow-step h4 { font-size:13.5px; margin:0 0 5px; }
.flow-step p { font-size:12px; margin:0; color:var(--muted); }
.flow-arrow { align-self:center; color:var(--line-2); flex:none; margin-top:18px; }
.flow-arrow svg { width:22px; height:22px; }
@media (max-width:820px){ .flow-arrow{ display:none; } .flow-step{ min-width:45%; margin-bottom:20px; } }

/* dashboard panel (run every client) */
.dashpanel { background:var(--navy); border-radius:var(--r-lg); overflow:hidden; box-shadow:var(--sh-lg); display:grid; grid-template-columns:170px 1fr; }
@media (max-width:760px){ .dashpanel{ grid-template-columns:1fr; } }
.dashpanel .side { background:rgba(255,255,255,.04); padding:18px 14px; color:rgba(255,255,255,.7); }
.dashpanel .side .b { display:flex;align-items:center;gap:8px;color:#fff;font-weight:800;margin-bottom:18px;font-size:14px; }
.dashpanel .side a { display:block;padding:8px 10px;border-radius:8px;font-size:12.5px;color:rgba(255,255,255,.65);margin-bottom:3px; }
.dashpanel .side a.on { background:rgba(255,255,255,.1);color:#fff; }
.dashpanel .main { background:#fff; padding:20px; }
.dashpanel .k4 { display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:16px; }
.dashpanel .k4 .kpi .val{ font-size:18px; }

/* faq grid */
.faqgrid { display:grid; grid-template-columns:repeat(2,1fr); gap:16px; }
@media (max-width:760px){ .faqgrid{ grid-template-columns:1fr; } }
.faqcard { background:#fff;border:1px solid var(--line);border-radius:var(--r-md);padding:22px;box-shadow:var(--sh-sm); }
.faqcard h3 { font-size:15px;margin-bottom:8px; }
.faqcard p { font-size:13.5px;margin:0; }

/* ---- reveal ------------------------------------------------------------- */
[data-reveal]{ opacity:0;transform:translateY(20px);transition:opacity .6s cubic-bezier(.2,.7,.2,1),transform .6s cubic-bezier(.2,.7,.2,1); }
[data-reveal].vis{ opacity:1;transform:none; }
[data-stagger]>*{ opacity:0;transform:translateY(16px);transition:opacity .55s cubic-bezier(.2,.7,.2,1),transform .55s cubic-bezier(.2,.7,.2,1); }
[data-stagger].vis>*{ opacity:1;transform:none; }
[data-stagger].vis>*:nth-child(2){transition-delay:.07s}
[data-stagger].vis>*:nth-child(3){transition-delay:.14s}
[data-stagger].vis>*:nth-child(4){transition-delay:.21s}
[data-stagger].vis>*:nth-child(5){transition-delay:.28s}
[data-stagger].vis>*:nth-child(6){transition-delay:.35s}
[data-stagger].vis>*:nth-child(7){transition-delay:.42s}
[data-stagger].vis>*:nth-child(8){transition-delay:.49s}
@media (prefers-reduced-motion: reduce){
    [data-reveal],[data-stagger]>*{opacity:1!important;transform:none!important;transition:none}
    .feat:hover,.aud-card:hover,.pricing-card:hover,.btn:hover{transform:none}
}
