/* CMS public site. Brand colours come from CSS variables set in the layout from Site Settings. */
:root{--brand:#00346e;--brand-dark:#00244d;--accent:#02a635;--accent-on-dark:color-mix(in srgb,var(--accent) 50%,#fff);--accent-deep:color-mix(in srgb,var(--accent) 55%,#000);--ink-dark:color-mix(in srgb,var(--brand) 22%,#060d18);--ink-dark-2:color-mix(in srgb,var(--brand) 55%,#060d18);--ink-darker:color-mix(in srgb,var(--brand) 14%,#040a14);--ink:#0f1b2d;--muted:#5b677a;--line:#e4e9f0;--soft:#f4f7fb;--radius:14px;--shadow:0 10px 30px rgba(15,27,45,.08)}
*{box-sizing:border-box}html{scroll-behavior:smooth}
body.cms{margin:0;font-family:Inter,system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;color:var(--ink);background:#fff;line-height:1.6;-webkit-font-smoothing:antialiased}
.cms img{max-width:100%;height:auto;display:block}.cms a{color:inherit;text-decoration:none}
.cms-wrap{width:100%;max-width:1180px;margin:0 auto;padding:0 24px}
.cms h1,.cms h2,.cms h3,.cms h4{line-height:1.15;margin:0 0 .5em;letter-spacing:-.02em;font-weight:700}
.cms h1{font-size:clamp(2.2rem,5vw,3.6rem)}.cms h2{font-size:clamp(1.7rem,3.2vw,2.5rem)}.cms h3{font-size:1.25rem}
.cms p{margin:0 0 1em}.lead{font-size:1.15rem;color:var(--muted)}
.eyebrow{display:inline-block;font-size:.78rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--accent);margin-bottom:.9rem}
/* buttons */
.btn-c{display:inline-flex;align-items:center;gap:.5rem;padding:.8rem 1.5rem;border-radius:10px;font-weight:600;font-size:.97rem;border:2px solid transparent;cursor:pointer;transition:.18s;font-family:inherit}
.btn-c.primary{background:var(--brand);color:#fff}.btn-c.primary:hover{background:var(--brand-dark);transform:translateY(-1px)}
.btn-c.accent{background:var(--accent);color:#fff}.btn-c.outline{border-color:var(--brand);color:var(--brand);background:transparent}.btn-c.outline:hover{background:var(--brand);color:#fff}
.btn-c.light{background:#fff;color:var(--brand)}.btn-c.ghost-light{border-color:rgba(255,255,255,.5);color:#fff}.btn-c.ghost-light:hover{background:#fff;color:var(--brand)}
/* announcement + header */
.cms-announce{background:var(--accent);color:#fff;text-align:center;padding:.55rem 1rem;font-size:.9rem}.cms-announce a{text-decoration:underline;font-weight:600}
.cms-header{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.96);backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}
.cms-header .bar{display:flex;align-items:center;justify-content:space-between;height:72px;gap:1.5rem}
.cms-logo img{height:40px;width:auto}.cms-logo span{font-weight:800;font-size:1.3rem;color:var(--brand)}
.cms-nav{display:flex;align-items:center;gap:.25rem}.cms-nav>li{list-style:none;position:relative}.cms-nav,.cms-foot ul{margin:0;padding:0}
.cms-nav>li>a{display:flex;align-items:center;gap:.3rem;padding:.55rem .85rem;font-weight:500;font-size:.95rem;border-radius:8px}.cms-nav>li>a:hover{background:var(--soft)}
.cms-nav .caret{font-size:.6rem;opacity:.6}
.cms-drop{position:absolute;top:100%;left:0;min-width:300px;background:#fff;border:1px solid var(--line);border-radius:12px;box-shadow:var(--shadow);padding:.5rem;display:none}
.cms-nav>li:hover>.cms-drop,.cms-nav>li:focus-within>.cms-drop{display:block}
.cms-drop a{display:block;padding:.65rem .8rem;border-radius:8px}.cms-drop a:hover{background:var(--soft)}.cms-drop b{display:block;font-size:.93rem}.cms-drop small{color:var(--muted);font-size:.8rem}
.cms-actions{display:flex;gap:.6rem;align-items:center}.cms-actions .btn-c{padding:.55rem 1.1rem;font-size:.9rem}
.cms-burger{display:none;background:none;border:0;font-size:1.6rem;cursor:pointer;color:var(--ink)}
@media(max-width:960px){.cms-burger{display:block}.cms-nav,.cms-actions{display:none}
 .cms-header.open .cms-nav{display:flex;flex-direction:column;align-items:stretch;position:absolute;top:72px;left:0;right:0;background:#fff;padding:1rem 24px;border-bottom:1px solid var(--line);max-height:75vh;overflow:auto}
 .cms-header.open .cms-drop{display:block;position:static;box-shadow:none;border:0;padding:0 0 0 .8rem}.cms-header.open .cms-actions{display:flex;position:absolute;top:calc(72px + 0px);right:24px;display:none}}
/* sections */
.cms-sec{padding:5rem 0}.bg-soft{background:var(--soft)}.bg-brand{background:var(--brand);color:#fff}.bg-dark{background:var(--ink-dark);color:#fff}
.bg-brand .lead,.bg-dark .lead,.bg-brand p,.bg-dark p{color:rgba(255,255,255,.82)}.bg-brand .eyebrow,.bg-dark .eyebrow{color:var(--accent-on-dark)}
.sec-head{max-width:720px;margin:0 auto 3rem;text-align:center}.sec-head h2{margin-bottom:.6rem}
/* hero */
.hero{padding:4.5rem 0 5rem;overflow:hidden}.hero .grid{display:grid;grid-template-columns:1.05fr .95fr;gap:3.5rem;align-items:center}
.hero.rev .grid{direction:rtl}.hero.rev .grid>*{direction:ltr}
.hero h1{margin-bottom:1.1rem}.hero .cta-row{display:flex;gap:.8rem;flex-wrap:wrap;margin:1.8rem 0 1.4rem}
.hero .points{display:flex;gap:1.3rem;flex-wrap:wrap;font-size:.9rem;color:var(--muted);list-style:none;padding:0;margin:0}.hero .points li:before{content:"✓";color:var(--accent);font-weight:800;margin-right:.4rem}
.bg-brand .points,.bg-dark .points{color:rgba(255,255,255,.85)}
.hero .media img{border-radius:18px;box-shadow:0 25px 60px color-mix(in srgb,var(--brand-dark) 22%,transparent);width:100%;aspect-ratio:4/3;object-fit:cover}
.hero.centered .grid{grid-template-columns:1fr;text-align:center}.hero.centered .cta-row,.hero.centered .points{justify-content:center}.hero.centered .media{max-width:980px;margin:1rem auto 0}
.hero.background{background-size:cover;background-position:center;color:#fff;position:relative}.hero.background:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,color-mix(in srgb,var(--brand-dark) 92%,transparent),color-mix(in srgb,var(--brand-dark) 55%,transparent))}.hero.background .wrap{position:relative}
.hero.background .grid{grid-template-columns:1fr;max-width:720px}.hero.background p,.hero.background .points{color:rgba(255,255,255,.88)}
@media(max-width:900px){.hero .grid{grid-template-columns:1fr;gap:2rem}.cms-sec{padding:3.5rem 0}}
.page-head{padding:4.5rem 0 3.5rem;background:linear-gradient(135deg,#f4f7fb,#e8f0fa);position:relative;overflow:hidden}.page-head.has-img{background-size:cover;background-position:center;color:#fff}.page-head.has-img:before{content:"";position:absolute;inset:0;background:color-mix(in srgb,var(--brand-dark) 78%,transparent)}
.page-head .cms-wrap{position:relative}.page-head.center{text-align:center}.page-head .lead{max-width:680px}.page-head.center .lead{margin:0 auto}.page-head.has-img .lead{color:rgba(255,255,255,.88)}
/* logos / stats */
.logos{padding:2.8rem 0;border-bottom:1px solid var(--line)}.logos h4{text-align:center;font-size:.8rem;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin-bottom:1.6rem}
.logo-row{display:flex;flex-wrap:wrap;gap:1.2rem 3rem;align-items:center;justify-content:center}.logo-row img{height:34px;width:auto;filter:grayscale(1);opacity:.7;transition:.2s}.logo-row img:hover{filter:none;opacity:1}.logo-row .ph{font-weight:700;color:var(--muted)}
.stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:2rem;text-align:center}.stats b{display:block;font-size:2.7rem;letter-spacing:-.03em;color:var(--brand)}.bg-brand .stats b,.bg-dark .stats b{color:var(--accent-on-dark)}.stats span{color:var(--muted)}.bg-brand .stats span,.bg-dark .stats span{color:rgba(255,255,255,.8)}
/* grids/cards */
.grid-n{display:grid;gap:1.6rem}.grid-n.c2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-n.c3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-n.c4{grid-template-columns:repeat(4,minmax(0,1fr))}
@media(max-width:960px){.grid-n.c3,.grid-n.c4{grid-template-columns:repeat(2,1fr)}}@media(max-width:620px){.grid-n.c2,.grid-n.c3,.grid-n.c4{grid-template-columns:1fr}}
.card-c{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:1.7rem;transition:.2s;height:100%;display:flex;flex-direction:column;color:var(--ink)}.card-c:hover{box-shadow:var(--shadow);transform:translateY(-3px)}
.bg-dark .card-c,.bg-brand .card-c{background:rgba(255,255,255,.07);border-color:rgba(255,255,255,.15);color:#fff}
.card-c .ico{width:48px;height:48px;border-radius:12px;background:color-mix(in srgb,var(--accent) 12%,transparent);color:var(--accent);display:grid;place-items:center;font-size:1.5rem;margin-bottom:1.1rem}
.card-c p{color:var(--muted);flex:1}.bg-dark .card-c p,.bg-brand .card-c p{color:rgba(255,255,255,.8)}.card-c .more{font-weight:600;color:var(--brand)}.bg-dark .more,.bg-brand .more{color:var(--accent-on-dark)}
.card-img{padding:0;overflow:hidden}.card-img img{width:100%;aspect-ratio:16/10;object-fit:cover}.card-img .body{padding:1.5rem;display:flex;flex-direction:column;flex:1}.tag{font-size:.74rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--accent);margin-bottom:.5rem}
/* tabs */
.tabs{display:flex;gap:.4rem;flex-wrap:wrap;justify-content:center;margin-bottom:2.5rem;border-bottom:1px solid var(--line);padding-bottom:1rem}
.tabs button{border:0;background:none;padding:.6rem 1.2rem;border-radius:99px;font:600 .95rem Inter,sans-serif;color:var(--muted);cursor:pointer}.tabs button.on{background:var(--brand);color:#fff}
.tab-pane{display:none}.tab-pane.on{display:grid}.tab-pane{grid-template-columns:1fr 1.1fr;gap:3.5rem;align-items:center}.tab-pane img{border-radius:16px;box-shadow:var(--shadow);width:100%;aspect-ratio:4/3;object-fit:cover}
@media(max-width:860px){.tab-pane.on{grid-template-columns:1fr;gap:1.5rem}}
.ticks{list-style:none;padding:0;margin:1rem 0 1.5rem}.ticks li{padding-left:1.8rem;position:relative;margin-bottom:.5rem}.ticks li:before{content:"✓";position:absolute;left:0;color:var(--accent);font-weight:800}
/* split */
.split{display:grid;grid-template-columns:1fr 1fr;gap:4rem;align-items:center}.split.left .media{order:-1}.split .media img{border-radius:18px;box-shadow:var(--shadow);width:100%;aspect-ratio:4/3;object-fit:cover}
@media(max-width:860px){.split{grid-template-columns:1fr;gap:2rem}.split.left .media{order:0}}
.rt{font-size:1.05rem}.rt h2{margin-top:2rem;font-size:1.6rem}.rt h3{margin-top:1.6rem}.rt ul,.rt ol{padding-left:1.4rem;margin-bottom:1em}.rt li{margin-bottom:.4rem}.rt a{color:var(--brand);text-decoration:underline}.rt-narrow{max-width:780px;margin:0 auto}.rt blockquote{border-left:4px solid var(--accent);padding:.2rem 1.2rem;color:var(--muted);margin:1.5rem 0}.rt img{border-radius:12px;margin:1rem 0}.rt table{border-collapse:collapse;width:100%}.rt td,.rt th{border:1px solid var(--line);padding:.5rem .7rem}
/* steps */
.steps{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:2rem;counter-reset:s}.step{position:relative;padding-top:3.4rem}.step:before{counter-increment:s;content:counter(s);position:absolute;top:0;left:0;width:2.6rem;height:2.6rem;border-radius:50%;background:var(--accent);color:#fff;font-weight:800;display:grid;place-items:center}.step p{color:var(--muted)}.bg-dark .step p,.bg-brand .step p{color:rgba(255,255,255,.8)}
/* testimonials */
.quote p{font-size:1.05rem;color:var(--ink)}.bg-dark .quote p,.bg-brand .quote p{color:#fff}.quote .who{display:flex;align-items:center;gap:.8rem;margin-top:auto}.quote .who img{width:46px;height:46px;border-radius:50%;object-fit:cover}.quote small{display:block;color:var(--muted)}.bg-dark .quote small,.bg-brand .quote small{color:rgba(255,255,255,.7)}.quote .mark{font-size:2.4rem;color:var(--accent);line-height:1;font-family:Georgia,serif}
.person img{width:100%;aspect-ratio:1;object-fit:cover;border-radius:var(--radius);margin-bottom:1rem}.person small{color:var(--accent);font-weight:600}
/* pricing */
.billing{display:flex;justify-content:center;gap:.5rem;margin-bottom:2.2rem}.billing button{border:1px solid var(--line);background:#fff;padding:.5rem 1.2rem;border-radius:99px;font:600 .9rem Inter,sans-serif;cursor:pointer}.billing button.on{background:var(--brand);color:#fff;border-color:var(--brand)}
.plan{text-align:left}.plan .price{font-size:2.6rem;font-weight:800;letter-spacing:-.03em;margin:.4rem 0}.plan .price small{font-size:.95rem;font-weight:500;color:var(--muted)}.plan.hot{border:2px solid var(--accent);position:relative}.plan.hot:before{content:attr(data-badge);position:absolute;top:-13px;left:1.5rem;background:var(--accent);color:#fff;font-size:.72rem;font-weight:700;padding:.25rem .7rem;border-radius:99px}
.plan .ticks{flex:1}.yearly{display:none}.show-yearly .yearly{display:inline}.show-yearly .monthly{display:none}
/* faq */
.faq{max-width:820px;margin:0 auto}.faq details{border:1px solid var(--line);border-radius:12px;padding:1.1rem 1.3rem;margin-bottom:.8rem;background:#fff;color:var(--ink)}.faq summary{font-weight:600;cursor:pointer;list-style:none;display:flex;justify-content:space-between;gap:1rem}.faq summary::after{content:"+";font-size:1.4rem;line-height:1;color:var(--accent)}.faq details[open] summary::after{content:"–"}.faq details p{margin:.8rem 0 0;color:var(--muted)}
/* cta */
.cta-box{border-radius:22px;padding:3.5rem 2rem;text-align:center;background:var(--brand);color:#fff}.cta-box.dark{background:var(--ink-dark)}.cta-box.soft{background:var(--soft);color:var(--ink)}.cta-box p{color:inherit;opacity:.88;max-width:620px;margin:0 auto 1.6rem}.cta-box .row{display:flex;gap:.8rem;justify-content:center;flex-wrap:wrap}
/* forms */
.contact-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:3.5rem}@media(max-width:860px){.contact-grid{grid-template-columns:1fr}}
.info-item{display:flex;gap:.9rem;margin-bottom:1.3rem}.info-item i{font-size:1.4rem;color:var(--accent);margin-top:.15rem}.info-item b{display:block}.info-item span{color:var(--muted)}
.form-card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:2rem;box-shadow:var(--shadow);color:var(--ink)}
.f-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem}@media(max-width:560px){.f-row{grid-template-columns:1fr}}
.cms label{display:block;font-weight:600;font-size:.88rem;margin-bottom:.35rem}.cms input[type=text],.cms input[type=email],.cms input[type=tel],.cms textarea{width:100%;padding:.8rem 1rem;border:1px solid #cfd8e3;border-radius:10px;font:inherit;margin-bottom:1rem;background:#fff}.cms input:focus,.cms textarea:focus{outline:2px solid var(--brand);border-color:transparent}
.hp{position:absolute;left:-9999px}.f-msg{padding:.9rem 1rem;border-radius:10px;margin-bottom:1rem;display:none}.f-msg.ok{display:block;background:#e7f8ec;color:#0b6b2a}.f-msg.err{display:block;background:#fdecea;color:#a12622}
.map iframe{width:100%;height:320px;border:0;border-radius:var(--radius);margin-top:1.5rem}.video{position:relative;max-width:900px;margin:0 auto;border-radius:16px;overflow:hidden;box-shadow:var(--shadow);aspect-ratio:16/9;background:#000}.video iframe,.video video{position:absolute;inset:0;width:100%;height:100%;border:0}
.gal img{border-radius:12px;width:100%;aspect-ratio:4/3;object-fit:cover}.gal figcaption{font-size:.85rem;color:var(--muted);margin-top:.4rem}.gal{margin:0}
.news{display:flex;gap:.7rem;max-width:520px;margin:1.4rem auto 0}.news input{margin:0!important}@media(max-width:560px){.news{flex-direction:column}}
.cms-error{background:#fff3cd;padding:1rem;margin:1rem;border-radius:8px}.draft-bar{background:#b45309;color:#fff;text-align:center;padding:.4rem;font-size:.85rem;font-weight:600}
/* footer */
.cms-foot{background:var(--ink-dark);color:#c9d3e0;padding:4rem 0 1.5rem;margin-top:0}.cms-foot a:hover{color:#fff}.cms-foot .cols{display:grid;grid-template-columns:1.6fr repeat(3,1fr);gap:2.5rem}.cms-foot h5{color:#fff;font-size:.85rem;letter-spacing:.1em;text-transform:uppercase;margin:0 0 1rem}.cms-foot li{list-style:none;margin-bottom:.55rem;font-size:.93rem}
.cms-foot .about img{height:38px;margin-bottom:1rem}.cms-foot .about p{font-size:.93rem;max-width:340px}.cms-foot .soc{display:flex;gap:.6rem;margin-top:1rem}.cms-foot .soc a{width:38px;height:38px;border-radius:50%;background:rgba(255,255,255,.1);display:grid;place-items:center;font-size:1.1rem}
.cms-foot .base{border-top:1px solid rgba(255,255,255,.12);margin-top:3rem;padding-top:1.4rem;display:flex;justify-content:space-between;flex-wrap:wrap;gap:1rem;font-size:.85rem}.cms-foot .base ul{display:flex;gap:1.3rem}
@media(max-width:860px){.cms-foot .cols{grid-template-columns:1fr 1fr}}@media(max-width:520px){.cms-foot .cols{grid-template-columns:1fr}}
.cookie{position:fixed;bottom:16px;left:16px;right:16px;max-width:560px;background:var(--ink-dark);color:#fff;border-radius:14px;padding:1rem 1.2rem;z-index:80;display:none;gap:1rem;align-items:center;font-size:.88rem;box-shadow:var(--shadow)}.cookie.show{display:flex}.cookie button{white-space:nowrap;background:var(--accent);color:#fff;border:0;border-radius:8px;padding:.5rem 1rem;font-weight:600;cursor:pointer}
/* blog */
.post-meta{color:var(--muted);font-size:.88rem}.pagination{display:flex;gap:.4rem;justify-content:center;margin-top:2.5rem;list-style:none;padding:0}.pagination a,.pagination span{padding:.5rem .9rem;border:1px solid var(--line);border-radius:8px;display:block}.pagination .active span{background:var(--brand);color:#fff;border-color:var(--brand)}
.chips{display:flex;gap:.5rem;flex-wrap:wrap;margin-bottom:2rem}.chips a{padding:.4rem 1rem;border:1px solid var(--line);border-radius:99px;font-size:.88rem}.chips a.on{background:var(--brand);color:#fff;border-color:var(--brand)}

/* ===== v2: AlfaTalent-style look (green actions, navy structure, soft gradients) ===== */
:root{--accent-dark:color-mix(in srgb,var(--accent) 80%,#000);--accent-soft:color-mix(in srgb,var(--accent) 12%,#fff);--blue:#0c7af1;--blue-soft:#eaf3fe;--font-head:'Plus Jakarta Sans','Inter',system-ui,sans-serif}
.cms h1,.cms h2,.cms h3,.cms h4{font-family:var(--font-head)}
.btn-c.primary{background:var(--accent);color:#fff;box-shadow:0 8px 20px -10px var(--accent)}.btn-c.primary:hover{background:var(--accent-dark)}
.btn-c.outline{border-color:#cfd8e3;color:var(--ink);background:#fff}.btn-c.outline:hover{background:var(--brand);border-color:var(--brand);color:#fff}
.cms-actions .btn-c.outline{border-color:var(--ink)}
.eyebrow.pill{background:var(--accent-soft);color:var(--accent-dark);padding:.32rem .8rem;border-radius:99px;letter-spacing:.04em;text-transform:none;font-size:.82rem}.eyebrow.pill:before{content:"";display:inline-block;width:7px;height:7px;border-radius:50%;background:var(--accent);margin-right:.5rem}
.hero{background:radial-gradient(900px 420px at 85% 0%,color-mix(in srgb,var(--accent) 14%,transparent),transparent 70%),linear-gradient(180deg,#f7fafd,#fff)}.hero.bg-soft{background:radial-gradient(900px 420px at 85% 0%,color-mix(in srgb,var(--accent) 14%,transparent),transparent 70%),linear-gradient(180deg,#f3f7fc,#fff)}
.hero h1{color:var(--brand)}.hero.bg-brand h1,.hero.bg-dark h1,.hero.background h1{color:#fff}
.note-bar{border-left:3px solid var(--accent);padding:.3rem 0 .3rem 1rem;font-weight:600;color:var(--brand)!important;margin:1.2rem 0 0}
.hero .media.is-mock img{box-shadow:none}
/* product preview */
.mock{background:#fff;border:1px solid var(--line);border-radius:16px;box-shadow:0 30px 60px -28px color-mix(in srgb,var(--brand) 35%,transparent);overflow:hidden;position:relative}
.mock-bar{display:flex;align-items:center;gap:6px;padding:.55rem .8rem;border-bottom:1px solid var(--line);background:#fafcfe}.mock-bar i{width:9px;height:9px;border-radius:50%;background:#f87171}.mock-bar i:nth-child(2){background:#fbbf24}.mock-bar i:nth-child(3){background:#34d399}.mock-bar span{margin-left:.6rem;font-size:.68rem;color:var(--muted);background:#fff;border:1px solid var(--line);border-radius:6px;padding:.1rem .6rem;flex:1;max-width:240px}
.mock-body{display:grid;grid-template-columns:54px 1fr}.mock-side{background:var(--brand);padding:.9rem 0;display:flex;flex-direction:column;align-items:center;gap:.8rem}.mock-side b{width:28px;height:28px;border-radius:8px;background:#fff;color:var(--brand);display:grid;place-items:center;font-size:.85rem}.mock-side i{width:22px;height:5px;border-radius:3px;background:rgba(255,255,255,.28)}.mock-side i.on{background:var(--accent)}
.mock-main{padding:1rem 1.1rem}.mock-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:.8rem}.mock-head strong{font-family:var(--font-head);font-size:1rem}
.chip{font-size:.68rem;font-weight:700;padding:.18rem .6rem;border-radius:99px;white-space:nowrap}.chip.ok{background:#e4f6ea;color:#0b7a30}.chip.info{background:var(--blue-soft);color:#0a58b8}.chip.warn{background:#fff3d6;color:#8a5a00}
.mock-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:.55rem;margin-bottom:.8rem}.mock-stats div{border:1px solid var(--line);border-radius:10px;padding:.5rem .6rem}.mock-stats small{display:block;font-size:.62rem;color:var(--muted)}.mock-stats b{font-family:var(--font-head);font-size:.92rem}.mock-stats .dark{background:var(--brand);border-color:var(--brand);color:#fff}.mock-stats .dark small{color:rgba(255,255,255,.7)}.mock-stats .green{background:var(--accent-soft);border-color:transparent}
.mock-bars{display:flex;align-items:flex-end;gap:.45rem;height:70px;border:1px solid var(--line);border-radius:10px;padding:.5rem .7rem;margin-bottom:.8rem;background:#fcfdff}.mock-bars i{flex:1;background:#d5dde8;border-radius:4px 4px 0 0}.mock-bars i.b{background:#bcd5f6}.mock-bars i.hot{background:linear-gradient(180deg,var(--accent),var(--accent-dark))}
.mock-row{display:flex;align-items:center;gap:.6rem;padding:.4rem 0;border-top:1px solid #eef2f8;font-size:.78rem}.mock-row .av{width:24px;height:24px;border-radius:50%;background:var(--blue-soft);color:#0a58b8;font-size:.62rem;font-weight:700;display:grid;place-items:center}.mock-row .lb{flex:1}
.mock-note{font-size:.62rem;color:var(--muted);text-align:right;padding:.3rem .8rem .5rem}
.tab-pane .is-mock,.split .is-mock{min-width:0}
/* chip strip */
.chips-strip{padding:2rem 0;border-bottom:1px solid var(--line);text-align:center;background:#fff}.chips-strip h4{font-size:.78rem;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin-bottom:1rem}.chip-row{display:flex;flex-wrap:wrap;gap:.6rem;justify-content:center}.chip-row span{display:inline-flex;align-items:center;gap:.5rem;background:#fff;border:1px solid var(--line);border-radius:99px;padding:.4rem 1rem;font-size:.85rem;font-weight:600;color:var(--brand);box-shadow:0 4px 12px -8px color-mix(in srgb,var(--brand) 30%,transparent)}.chip-row i{width:7px;height:7px;border-radius:50%;background:var(--accent)}
/* segmented tabs */
.tabs{display:inline-flex;margin:0 auto 2.5rem;border:1px solid var(--line);border-radius:14px;padding:.3rem;background:#f4f7fb;gap:.15rem;border-bottom:1px solid var(--line);flex-wrap:wrap;justify-content:center}[data-tabs]>.tabs{display:flex;width:max-content;max-width:100%}
.tabs button{border-radius:10px;padding:.55rem 1.1rem;font-size:.9rem}.tabs button.on{background:var(--brand);box-shadow:0 6px 14px -8px var(--brand)}
.tab-pane.on{background:linear-gradient(135deg,#fff,#f4f9ff);border:1px solid var(--line);border-radius:22px;padding:2.4rem}
/* cards: tinted icons + closing cta card */
.card-c{border-radius:16px}.card-c .ico{border-radius:12px}.grid-n .card-c:nth-child(3n+2) .ico{background:var(--blue-soft);color:var(--blue)}.grid-n .card-c:nth-child(3n) .ico{background:#f1edff;color:#6d4aff}
.card-c.cta-card{background:linear-gradient(145deg,var(--accent),var(--accent-dark));color:#fff;border:0;justify-content:flex-end}.card-c.cta-card p{color:rgba(255,255,255,.88)}.card-c.cta-card .more{color:#fff}.card-c.cta-card:hover{transform:translateY(-3px)}
/* steps: circles on a connecting line */
.steps{position:relative;text-align:center;gap:1.5rem}.step{padding-top:4rem}.step:before{left:50%;transform:translateX(-50%);width:3rem;height:3rem;background:#fff;border:2px solid var(--accent);color:var(--accent);font-family:var(--font-head);z-index:1}.step:nth-child(2):before{border-color:var(--blue);color:var(--blue)}.step:nth-child(3):before{background:var(--brand);border-color:var(--brand);color:#fff}
.step:after{content:"";position:absolute;top:1.5rem;left:calc(50% + 2rem);right:calc(-50% + 2rem);border-top:2px dashed #cdd8e6}.step:last-child:after{display:none}
.bg-dark .step:before,.bg-brand .step:before{background:transparent}
@media(max-width:700px){.step:after{display:none}}
/* cta banner */
.cta-box{background:linear-gradient(120deg,var(--brand),color-mix(in srgb,var(--brand) 60%,var(--blue)));text-align:left;display:flex;align-items:center;justify-content:space-between;gap:2rem;padding:3rem 3rem;border-radius:24px;box-shadow:0 30px 60px -30px color-mix(in srgb,var(--brand) 60%,transparent)}.cta-box h2{margin:0 0 .4rem}.cta-box p{margin:0;max-width:560px}.cta-box .row{flex-wrap:nowrap;flex:none}.cta-box.dark{background:linear-gradient(120deg,var(--ink-dark),var(--ink-dark-2))}.cta-box.soft{background:var(--soft)}
@media(max-width:820px){.cta-box{flex-direction:column;text-align:center;padding:2.4rem 1.4rem}.cta-box .row{flex-wrap:wrap;justify-content:center}.cta-box p{margin:0 auto}}
/* footer polish */
.cms-foot{border-top:3px solid var(--accent);background:linear-gradient(180deg,var(--ink-dark),var(--ink-darker))}
.cms-header .cms-nav>li>a{font-weight:600;color:var(--ink)}
.stats b{font-family:var(--font-head)}
/* compatibility for older public views (blog, jobs) rendered inside the CMS layout */
.cms .container{width:100%;max-width:1180px;margin:0 auto;padding:0 24px}
.cms .row{display:flex;flex-wrap:wrap;margin:0 -12px}.cms .row>[class*=col-]{padding:0 12px;box-sizing:border-box;width:100%}
@media(min-width:992px){.cms .col-lg-8{width:66.666%}.cms .col-lg-4{width:33.333%}.cms .col-lg-6{width:50%}.cms .col-lg-3{width:25%}.cms .col-lg-9{width:75%}}
@media(min-width:768px){.cms .col-md-6{width:50%}.cms .col-md-4{width:33.333%}.cms .col-md-3{width:25%}}
.cms .form-control{width:100%;padding:.7rem .9rem;border:1px solid #cfd8e3;border-radius:10px;font:inherit}.cms .btn{display:inline-block;padding:.65rem 1.2rem;border-radius:10px;border:1px solid transparent;cursor:pointer}.cms .btn-primary{background:var(--accent);color:#fff}
/* jobs board */
.job-filter{display:grid;grid-template-columns:2fr 1fr 1fr auto;gap:1rem;align-items:end;background:#fff;border:1px solid var(--line);border-radius:16px;padding:1.2rem;box-shadow:var(--shadow);margin-bottom:2rem}.job-filter label{margin-bottom:.3rem}.job-filter input,.job-filter select{width:100%;padding:.75rem .9rem;border:1px solid #cfd8e3;border-radius:10px;font:inherit;background:#fff;margin:0!important}.job-filter .act{display:flex;gap:.5rem}
@media(max-width:900px){.job-filter{grid-template-columns:1fr}}
.job-count{color:var(--muted);margin-bottom:1.2rem}.job-co{color:var(--muted);margin-top:.7rem}.job-meta{list-style:none;padding:0;margin:.3rem 0 .7rem;display:flex;flex-wrap:wrap;gap:.3rem 1rem;font-size:.85rem;color:var(--muted)}.job-meta i{margin-right:.3rem;color:var(--accent)}.job-skills{display:flex;flex-wrap:wrap;gap:.4rem;margin:.2rem 0 1rem}.job-skills span{background:var(--soft);border-radius:99px;padding:.15rem .7rem;font-size:.76rem;font-weight:600;color:var(--brand)}
.job-empty{text-align:center;padding:4rem 1rem}.job-empty>i{font-size:3rem;color:var(--accent)}.cms-pager nav{display:flex;justify-content:center;gap:.5rem;margin-top:2rem}.cms-pager svg{width:18px}.cms-pager a,.cms-pager span{padding:.45rem .9rem;border:1px solid var(--line);border-radius:8px}
.blog-tools{display:flex;justify-content:space-between;align-items:center;gap:1rem;flex-wrap:wrap;margin-bottom:2rem}.blog-tools .chips{margin:0}.blog-search{display:flex;gap:.4rem}.blog-search input{margin:0!important;min-width:220px}
/* ===== hero slider ===== */
.hs{position:relative;overflow:hidden}.hs.bg-soft,.hs{background:radial-gradient(900px 420px at 85% 0%,color-mix(in srgb,var(--accent) 14%,transparent),transparent 70%),linear-gradient(180deg,#f3f7fc,#fff)}.hs.bg-brand{background:var(--brand)}.hs.bg-dark{background:var(--ink-dark)}
.hs-track{display:grid}.hs-slide{grid-area:1/1;opacity:0;visibility:hidden;transition:opacity .6s ease,visibility .6s;background:none!important;padding-bottom:5.2rem}.hs-slide.on{opacity:1;visibility:visible;z-index:1}
.hs-ctrl{position:absolute;left:0;right:0;bottom:1.4rem;display:flex;justify-content:space-between;align-items:center;z-index:3;pointer-events:none}.hs-ctrl>*{pointer-events:auto}
.hs-dots{display:flex;gap:.5rem}.hs-dots button{width:10px;height:10px;border-radius:99px;border:0;background:#c3cfdf;cursor:pointer;padding:0;transition:.25s}.hs-dots button.on{width:30px;background:var(--accent)}
.hs-arrows{display:flex;gap:.5rem}.hs-arrows button{width:42px;height:42px;border-radius:50%;border:1px solid var(--line);background:#fff;color:var(--brand);cursor:pointer;font-size:1.1rem;display:grid;place-items:center;box-shadow:0 6px 16px -8px color-mix(in srgb,var(--brand) 40%,transparent);transition:.2s}.hs-arrows button:hover{background:var(--brand);color:#fff}
@media(max-width:700px){.hs-arrows{display:none}.hs-slide{padding-bottom:4rem}}
@media(prefers-reduced-motion:reduce){.hs-slide{transition:none}}
/* ===== scrolling strip (marquee) ===== */
.chips-strip{overflow:hidden}.marquee{position:relative;overflow:hidden;-webkit-mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent)}
.marquee-track{display:flex;width:max-content;animation:cms-marquee var(--loop,30s) linear infinite}.marquee:hover .marquee-track{animation-play-state:paused}
.marquee-set{display:flex;gap:.8rem;padding-right:.8rem;flex:none}
@keyframes cms-marquee{from{transform:translateX(0)}to{transform:translateX(-50%)}}
@media(prefers-reduced-motion:reduce){.marquee-track{animation:none;flex-wrap:wrap;width:auto;justify-content:center}.marquee-set[aria-hidden]{display:none}}
.chip-i{display:inline-flex;align-items:center;gap:.55rem;background:#fff;border:1px solid var(--line);border-radius:99px;padding:.45rem 1.1rem;font-size:.88rem;font-weight:600;color:var(--brand);box-shadow:0 4px 12px -8px color-mix(in srgb,var(--brand) 30%,transparent);white-space:nowrap;text-decoration:none}
.chip-i>i{width:7px;height:7px;border-radius:50%;background:var(--accent);display:inline-block}.chip-i img{height:26px;width:auto;max-width:120px;object-fit:contain}.chip-i em{font-style:normal}
.chips-strip.is-logo .chip-i{background:none;border:0;box-shadow:none;padding:.4rem 1.4rem}.chips-strip.is-logo .chip-i img{height:38px;max-width:150px;filter:grayscale(1);opacity:.75;transition:.2s}.chips-strip.is-logo .chip-i:hover img{filter:none;opacity:1}
.chips-strip .chip-row span.chip-i{margin:0}

/* product screenshots: shown whole in a browser frame, never cropped */
.shot{background:#fff;border:1px solid var(--line);border-radius:14px;box-shadow:0 30px 60px -28px color-mix(in srgb,var(--brand) 40%,transparent);overflow:hidden}
.shot-bar{display:flex;align-items:center;gap:6px;padding:.5rem .8rem;border-bottom:1px solid var(--line);background:#fafcfe}.shot-bar i{width:9px;height:9px;border-radius:50%;background:#f87171}.shot-bar i:nth-child(2){background:#fbbf24}.shot-bar i:nth-child(3){background:#34d399}.shot-bar span{margin-left:.6rem;font-size:.68rem;color:var(--muted);background:#fff;border:1px solid var(--line);border-radius:6px;padding:.1rem .6rem;flex:1;max-width:240px}
.cms .shot img,.hero .media .shot img,.tab-pane .shot img,.split .media .shot img{width:100%;height:auto;aspect-ratio:auto;object-fit:initial;border-radius:0;box-shadow:none;display:block}
/* ===== tables ===== */
.tbl-wrap{overflow-x:auto;border:1px solid var(--line);border-radius:16px;background:#fff;box-shadow:var(--shadow)}
.tbl{width:100%;border-collapse:collapse;min-width:560px;color:var(--ink)}
.tbl th,.tbl td{padding:.95rem 1.1rem;text-align:center;border-bottom:1px solid var(--line);font-size:.95rem}
.tbl thead th{background:var(--brand);color:#fff;font-family:var(--font-head);font-weight:700;font-size:.9rem;letter-spacing:.01em;border-bottom:0;position:sticky;top:0}
.tbl thead th:first-child{text-align:left}.tbl tbody th{text-align:left;font-weight:600;color:var(--ink);background:#fafcfe;position:sticky;left:0}
.tbl tbody tr:last-child th,.tbl tbody tr:last-child td{border-bottom:0}.tbl tbody tr:hover td,.tbl tbody tr:hover th{background:#f3f8ff}
.tbl .hl{background:color-mix(in srgb,var(--accent) 9%,#fff)}.tbl thead th.hl{background:var(--accent)}
.tbl .tick-y{color:var(--accent);font-size:1.2rem;font-weight:700}.tbl .tick-n{color:#b4bfcd;font-size:1.1rem}
.tbl-note{color:var(--muted);font-size:.85rem;margin:.9rem 0 0;text-align:center}
.bg-dark .tbl,.bg-brand .tbl{color:var(--ink)}
/* ===== laptop frame for product screenshots (replaces the browser frame) ===== */
.laptop{width:100%;max-width:640px;margin:0 auto;filter:drop-shadow(0 28px 34px color-mix(in srgb,var(--brand-dark) 28%,transparent))}
.laptop-screen{position:relative;background:#0e1626;border-radius:16px 16px 5px 5px;padding:2.6% 2.6% 3.2%;border:1px solid #2a3550}
.laptop-screen .cam{position:absolute;top:1.1%;left:50%;width:5px;height:5px;margin-left:-2.5px;border-radius:50%;background:#3b4766}
.laptop-screen img{display:block;width:100%;height:auto;aspect-ratio:auto;object-fit:initial;border-radius:4px;box-shadow:none}
.laptop-base{position:relative;height:15px;width:112%;margin-left:-6%;background:linear-gradient(180deg,#e7ebf1 0%,#bcc5d2 62%,#97a2b2 100%);border-radius:2px 2px 16px 16px;box-shadow:inset 0 1px 0 #fff}
.laptop-base i{position:absolute;left:50%;top:0;width:17%;height:6px;margin-left:-8.5%;background:#aab4c3;border-radius:0 0 8px 8px}
.hero .media .laptop img,.tab-pane .laptop img,.split .media .laptop img,.cms .laptop img{width:100%;height:auto;aspect-ratio:auto;object-fit:initial;border-radius:4px;box-shadow:none}
.tab-pane .is-mock .laptop,.split .is-mock .laptop{max-width:none}

/* ===== v3: compact slider (all slides one height) ===== */
.hs-slide.hero{padding:2.6rem 0 4.6rem}
.hs-slide .grid{min-height:clamp(360px,44vh,440px);align-items:center;gap:3rem}
.hs-slide h1,.hs-slide h2{font-size:clamp(1.9rem,3.2vw,2.85rem);line-height:1.1;margin-bottom:.8rem}
.hs-slide .lead{font-size:1.05rem;line-height:1.55;margin-bottom:.4rem}
.hs-slide .eyebrow{margin-bottom:.7rem}
.hs-slide .note-bar{margin:.8rem 0 0;font-size:.95rem;line-height:1.45}
.hs-slide .cta-row{margin:1.2rem 0 .9rem;gap:.7rem}.hs-slide .cta-row .btn-c{padding:.7rem 1.3rem;font-size:.95rem}
.hs-slide .points{gap:.4rem 1.1rem;font-size:.85rem}
.hs-slide .media .laptop{max-width:540px}
.hs-ctrl{bottom:1.1rem}
@media(max-width:900px){.hs-slide .grid{min-height:0;gap:1.6rem}.hs-slide.hero{padding:2rem 0 4rem}.hs-slide .media .laptop{max-width:420px}}

/* ===== v3: feature grid redesign ===== */
.fg.bg-soft{background-color:#f4f8fd;background-image:radial-gradient(#d9e4f1 1px,transparent 1.2px);background-size:24px 24px}
.fg .sec-head h2{font-size:clamp(1.8rem,3.2vw,2.6rem)}
.fg .grid-n{gap:1.5rem}
.fg .card-c{position:relative;overflow:hidden;padding:2rem 1.8rem 1.8rem;border-radius:22px;border:1px solid #e1e9f3;background:#fff;box-shadow:0 1px 0 color-mix(in srgb,var(--brand) 4%,transparent),0 14px 30px -22px color-mix(in srgb,var(--brand) 35%,transparent);transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease}
.fg .card-c:before{content:"";position:absolute;left:0;right:0;top:0;height:4px;background:linear-gradient(90deg,var(--accent),var(--blue));transform:scaleX(0);transform-origin:left;transition:transform .35s ease}
.fg .card-c:hover{transform:translateY(-7px);border-color:color-mix(in srgb,var(--accent) 35%,#e1e9f3);box-shadow:0 30px 55px -26px color-mix(in srgb,var(--brand) 45%,transparent)}
.fg .card-c:hover:before{transform:scaleX(1)}
.fg .card-c .ico{width:56px;height:56px;border-radius:17px;margin-bottom:1.35rem;font-size:1.65rem;color:#fff;background:linear-gradient(140deg,var(--accent),color-mix(in srgb,var(--accent) 60%,var(--accent-deep)));box-shadow:0 14px 24px -12px var(--accent)}
.fg .grid-n .card-c:nth-child(3n+2) .ico{background:linear-gradient(140deg,#2c8cf6,#0a58b8);box-shadow:0 14px 24px -12px #2c8cf6;color:#fff}
.fg .grid-n .card-c:nth-child(3n) .ico{background:linear-gradient(140deg,#8b6bff,#5a3ad6);box-shadow:0 14px 24px -12px #7a5af8;color:#fff}
.fg .card-c h3{font-size:1.2rem;margin-bottom:.55rem;letter-spacing:-.015em}
.fg .card-c p{font-size:.97rem;line-height:1.6;color:#55627a;margin-bottom:0}
.fg .card-c .more{margin-top:1.1rem;display:inline-flex;align-items:center;gap:.35rem;font-weight:700}
/* closing call-to-action card */
.fg .card-c.cta-card{background:linear-gradient(150deg,var(--accent) 0%,color-mix(in srgb,var(--accent) 55%,var(--brand)) 100%);border:0;color:#fff;justify-content:center;box-shadow:0 30px 55px -26px color-mix(in srgb,var(--accent) 70%,#000)}
.fg .card-c.cta-card:before{display:none}
.fg .card-c.cta-card:after{content:"";position:absolute;right:-70px;bottom:-70px;width:220px;height:220px;border-radius:50%;background:rgba(255,255,255,.12)}
.fg .card-c.cta-card:hover{transform:translateY(-7px)}
.fg .card-c.cta-card h3{font-size:1.5rem;line-height:1.2;color:#fff;position:relative;z-index:1}
.fg .card-c.cta-card p{color:rgba(255,255,255,.92);font-size:1rem;flex:0;margin:.4rem 0 0;position:relative;z-index:1}
.fg .card-c.cta-card .more{background:#fff;color:color-mix(in srgb,var(--accent) 75%,#000);padding:.75rem 1.4rem;border-radius:99px;width:max-content;box-shadow:0 12px 24px -12px rgba(0,0,0,.45);position:relative;z-index:1;margin-top:1.4rem}
.fg .card-c.cta-card .more:hover{transform:translateX(3px)}
@media(prefers-reduced-motion:reduce){.fg .card-c,.fg .card-c:before{transition:none}}

/* ===== v4: tight slider - content vertically centred in an equal-height frame ===== */
.hs-slide.hero{display:flex;align-items:center;padding:1.8rem 0 3.6rem}
.hs-slide .wrap{width:100%}
.hs-slide .grid{min-height:0;gap:2.4rem;grid-template-columns:1.1fr .9fr}
.hs-slide h1,.hs-slide h2{font-size:clamp(1.8rem,2.9vw,2.6rem);margin-bottom:.65rem}
.hs-slide .lead{font-size:1rem;margin-bottom:.2rem}
.hs-slide .cta-row{margin:1rem 0 .8rem}
.hs-slide .media .laptop{max-width:500px}
.hs-ctrl{bottom:.9rem}
@media(max-width:900px){
  .hs-slide.hero{padding:1.4rem 0 3.4rem}
  .hs-slide .points,.hs-slide .note-bar{display:none}
  .hs-slide .lead{font-size:.95rem}
  .hs-slide .media .laptop{max-width:330px}
  .hs-slide h1,.hs-slide h2{font-size:1.7rem}
}

/* feature grid: closing card becomes a full-width banner when it would otherwise sit alone on a row */
@media(min-width:900px){
 .fg .card-c.cta-card.wide{grid-column:1/-1;display:grid;grid-template-columns:1fr auto;grid-template-areas:"h b" "p b";column-gap:2.5rem;row-gap:.3rem;align-items:center;padding:2.3rem 2.7rem}
 .fg .card-c.cta-card.wide h3{grid-area:h;font-size:1.7rem;margin:0;align-self:end}
 .fg .card-c.cta-card.wide p{grid-area:p;margin:0;max-width:640px;align-self:start;flex:none}
 .fg .card-c.cta-card.wide .more{grid-area:b;margin:0;justify-self:end}
 .fg .card-c.cta-card.wide:after{right:-40px;bottom:-110px;width:300px;height:300px}
}
.hs-slide.hero{padding-bottom:4.2rem}

/* =====================================================================
   MOBILE (<= 960px): header panel, hero, tabs, tables, touch targets
   ===================================================================== */
html{-webkit-text-size-adjust:100%}
body.menu-open{overflow:hidden}
@media(max-width:960px){
  .cms-header .bar{height:64px}
  .cms-logo img{height:34px}
  .cms-burger{display:grid;place-items:center;width:46px;height:46px;margin-right:-8px;border-radius:12px;font-size:1.75rem}
  .cms-burger:active{background:var(--soft)}
  /* full-screen menu panel */
  .cms-nav,.cms-actions{display:none}
  .cms-header.open .cms-nav{display:block;position:fixed;top:var(--hh,64px);left:0;right:0;bottom:calc(86px + env(safe-area-inset-bottom));overflow-y:auto;-webkit-overflow-scrolling:touch;background:#fff;padding:.4rem 20px 1.2rem;margin:0;z-index:60}
  .cms-header.open .cms-nav>li{border-bottom:1px solid var(--line)}
  .cms-header.open .cms-nav>li>a{min-height:54px;padding:.9rem .2rem;font-size:1.05rem;font-weight:700;border-radius:0;justify-content:space-between}
  .cms-nav>li>a .caret{font-size:.95rem;opacity:.7;transition:transform .2s}
  .cms-header.open .cms-nav>li.sub-open>a .caret{transform:rotate(180deg)}
  .cms-header.open .cms-drop{display:none;position:static;min-width:0;box-shadow:none;border:0;padding:0 0 .7rem .2rem;background:transparent}
  .cms-header.open .cms-nav>li.sub-open>.cms-drop{display:block}
  .cms-header.open .cms-drop a{padding:.7rem .8rem;border-radius:10px;min-height:48px}
  .cms-header.open .cms-drop b{font-size:.98rem}.cms-header.open .cms-drop small{font-size:.82rem}
  .cms-header.open .cms-actions{display:flex;position:fixed;left:0;right:0;bottom:0;gap:.7rem;padding:.9rem 20px calc(.9rem + env(safe-area-inset-bottom));background:#fff;border-top:1px solid var(--line);z-index:61}
  .cms-header.open .cms-actions .btn-c{flex:1;justify-content:center;padding:.85rem 1rem;font-size:1rem}
  /* page rhythm */
  .cms-wrap{padding-left:max(20px,env(safe-area-inset-left));padding-right:max(20px,env(safe-area-inset-right))}
  .cms h2{font-size:1.65rem}.cms h3{font-size:1.12rem}
  .cms-sec{padding:3rem 0}.sec-head{margin-bottom:2rem}
  .lead{font-size:1.02rem}
  .card-c{padding:1.4rem}
  .page-head{padding:3rem 0 2.4rem}.page-head h1{font-size:1.9rem}
  .stats{grid-template-columns:1fr 1fr;gap:1.4rem}.stats b{font-size:2.1rem}
  .cta-box{padding:2rem 1.3rem}.cta-box h2{font-size:1.5rem}
  .cta-row,.cta-box .row{flex-direction:column;align-items:stretch}.cta-row .btn-c,.cta-box .row .btn-c{justify-content:center;width:100%}
  .chips-strip h4{letter-spacing:.08em;font-size:.72rem;padding:0 8px}.chip-i{padding:.4rem .9rem;font-size:.82rem}
  /* hero (single + slider): one column, text first, device below */
  .hero{padding:2.2rem 0 2.6rem}.hero .grid{grid-template-columns:1fr!important;gap:1.6rem}
  .hero h1{font-size:2rem;line-height:1.12}.hero .lead{font-size:1.02rem}
  .hero .media{order:2}.hero.rev .grid{direction:ltr}
  .laptop{max-width:100%}.laptop-base{width:108%;margin-left:-4%}
  .hs-slide.hero{padding:1.6rem 0 3.6rem;display:block}
  .hs-slide .grid{grid-template-columns:1fr!important;min-height:0;gap:1.3rem}
  .hs-slide h1,.hs-slide h2{font-size:1.85rem}
  .hs-slide .cta-row{flex-direction:row;flex-wrap:wrap;margin:1.1rem 0 .4rem}.hs-slide .cta-row .btn-c{flex:1 1 150px;width:auto;white-space:nowrap}
  .hs-slide .points,.hs-slide .note-bar{display:none}
  .hs-slide .media .laptop{max-width:340px}
  .hs-ctrl{bottom:.7rem}
  .hs-dots{gap:.1rem}.hs-dots button{box-sizing:content-box;width:10px;height:10px;padding:10px;background-clip:content-box}.hs-dots button.on{width:28px}
  /* tabs: single swipeable row */
  .tabs,[data-tabs]>.tabs{display:flex;flex-wrap:nowrap;overflow-x:auto;justify-content:flex-start;width:100%;max-width:100%;-webkit-overflow-scrolling:touch;scroll-snap-type:x proximity;scrollbar-width:none;margin-bottom:1.6rem}
  .tabs::-webkit-scrollbar{display:none}.tabs button{flex:none;scroll-snap-align:start;min-height:44px;white-space:nowrap}
  .tab-pane.on{padding:1.3rem;gap:1.4rem;border-radius:18px}.tab-pane h3{font-size:1.4rem!important}
  /* pricing */
  .billing button{min-height:44px;padding:.6rem 1.4rem}
  .plan .price{font-size:2.2rem}
  /* feature grid / steps / split */
  .fg .card-c{padding:1.5rem 1.4rem}.fg .card-c .ico{width:50px;height:50px;margin-bottom:1rem}
  .fg .card-c.cta-card h3{font-size:1.4rem}
  .split{gap:1.6rem}.step{padding-top:3.6rem}
  /* tables: scroll hint via edge shadows, compact cells */
  .tbl-wrap{background:linear-gradient(to right,#fff 30%,rgba(255,255,255,0)) 0 0/36px 100% no-repeat local,linear-gradient(to left,#fff 30%,rgba(255,255,255,0)) 100% 0/36px 100% no-repeat local,linear-gradient(to right,color-mix(in srgb,var(--brand) 16%,transparent),color-mix(in srgb,var(--brand) 0%,transparent)) 0 0/14px 100% no-repeat scroll,linear-gradient(to left,color-mix(in srgb,var(--brand) 16%,transparent),color-mix(in srgb,var(--brand) 0%,transparent)) 100% 0/14px 100% no-repeat scroll,#fff}
  .tbl{min-width:520px}.tbl th,.tbl td{padding:.7rem .75rem;font-size:.86rem}.tbl tbody th{min-width:128px;max-width:150px}
  .tbl-note::before{content:"Swipe sideways to see more. ";font-weight:600}
  /* forms: 16px stops iOS zoom; comfortable height */
  .cms input[type=text],.cms input[type=email],.cms input[type=tel],.cms textarea,.cms select{font-size:16px;min-height:48px}
  .form-card{padding:1.4rem}
  .job-filter{padding:1rem}
  /* footer: compact 2-column links, bigger taps */
  .cms-foot{padding:2.6rem 0 1.4rem}
  .cms-foot .cols{grid-template-columns:1fr 1fr;gap:1.8rem 1.2rem}.cms-foot .about{grid-column:1/-1}
  .cms-foot li{margin-bottom:0}.cms-foot li a{display:block;padding:.5rem 0}
  .cms-foot .soc a{width:44px;height:44px}
  .cms-foot .base{flex-direction:column;align-items:flex-start}.cms-foot .base ul{flex-wrap:wrap;gap:.2rem 1.2rem}.cms-foot .base a{display:inline-block;padding:.45rem 0}
  /* cookie notice + announcement */
  .cookie{left:10px;right:10px;bottom:calc(10px + env(safe-area-inset-bottom));flex-direction:column;align-items:stretch;gap:.7rem}.cookie button{min-height:44px}
  .cms-announce{font-size:.82rem;padding:.5rem .8rem}
  /* blog */
  .blog-tools{flex-direction:column;align-items:stretch}.blog-search input{min-width:0;flex:1}.chips{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none}.chips a{white-space:nowrap;min-height:40px;display:inline-flex;align-items:center}
}
@media(max-width:380px){.hero h1,.hs-slide h1,.hs-slide h2{font-size:1.65rem}.cms-wrap{padding-left:16px;padding-right:16px}}
@media(max-width:960px){
  .blog-tools>*{min-width:0;max-width:100%}.blog-search{width:100%}.blog-search .btn-c{flex:none;min-height:48px;min-width:52px;justify-content:center}
  .chips{max-width:100%;padding-bottom:.25rem}
  .cms-foot .about a[href^=mailto]{display:inline-block;padding:.5rem 0}
}
/* A backdrop-filter on the header makes it the containing block for position:fixed children, which breaks the
   full-screen mobile menu panel (it was sized against the 64px header). No blur on phones. */
@media(max-width:960px){.cms-header{background:#fff;-webkit-backdrop-filter:none;backdrop-filter:none}}
@media(max-width:960px){.cms-header.open .cms-actions{top:auto;right:0;left:0;bottom:0;height:auto}.cms-header.open .cms-nav{right:0;left:0}}
@media(max-width:960px){.cms-header.open .cms-nav{bottom:0;padding-bottom:calc(104px + env(safe-area-inset-bottom))}}
