:root{
  --ink:#0E2340; --paper:#FFFFFF; --slate:#4A5568; --rule:#DCE1E8; --tint:#F4F6F9; --accent:#0E2340;
  --navy:#0E2340; --navy-2:#16315A; --gold:#A8873E; --gold-soft:#CDB57E; --on-navy:#F5F3EE;
  --maxw:1080px;
}
@media (prefers-color-scheme: dark){
  :root{ --ink:#ECEFF4; --paper:#0A1628; --slate:#A6B0BF; --rule:#22324A; --tint:#0F1F38; --accent:#BB9C58; --navy:#0F1F38; --navy-2:#16315A; --gold:#BB9C58; }
}
*{box-sizing:border-box}
html{color-scheme:light dark}
body{margin:0;background:var(--paper);color:var(--ink);font-family:"IBM Plex Sans",system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;font-size:17px;line-height:1.6;-webkit-font-smoothing:antialiased}
a{color:var(--accent)}
a:focus-visible,button:focus-visible{outline:2px solid var(--accent);outline-offset:3px}
.wrap{max-width:var(--maxw);margin:0 auto;padding:0 1.5rem}

/* header */
.site-header{border-bottom:1px solid var(--rule)}
.site-header .wrap{display:flex;align-items:center;justify-content:space-between;gap:1.5rem;min-height:72px;flex-wrap:wrap}
.brand{display:flex;align-items:center;gap:.6rem;text-decoration:none;color:var(--ink);font-weight:600;font-size:1.1rem;letter-spacing:-.01em}
.brand svg{flex:none;color:var(--gold)}
.nav{display:flex;align-items:center;gap:1.75rem;flex-wrap:wrap}
.nav ul{list-style:none;display:flex;gap:1.5rem;margin:0;padding:0;flex-wrap:wrap}
.nav ul a{color:var(--slate);text-decoration:none;font-size:.95rem;padding:.25rem 0;border-bottom:2px solid transparent}
.nav ul a:hover{color:var(--ink)}
.nav ul a[aria-current="page"]{color:var(--ink);border-bottom-color:var(--gold)}
.lang{font-size:.85rem;color:var(--slate);border:1px solid var(--rule);border-radius:4px;padding:.2rem .55rem;text-decoration:none}
.lang:hover{color:var(--ink);border-color:var(--slate)}

/* hero */
.hero{background:var(--navy);color:var(--on-navy);border-bottom:3px solid var(--gold)}
.hero .wrap{display:grid;grid-template-columns:1.1fr 1fr;gap:3rem;align-items:center;padding-top:5rem;padding-bottom:5rem}
.hero h1{font-size:clamp(2.2rem,4.6vw,3.4rem);line-height:1.1;letter-spacing:-.025em;font-weight:600;margin:0 0 1.25rem;max-width:16ch}
.hero p{font-size:1.15rem;color:#C5CCD8;margin:0 0 2rem;max-width:42ch}
.btn{display:inline-block;background:var(--gold);color:var(--navy);text-decoration:none;font-weight:500;padding:.8rem 1.4rem;border-radius:4px}
.btn:hover{filter:brightness(1.08)}
.btn-navy{background:var(--navy);color:var(--on-navy)}
@media (prefers-color-scheme: dark){ .btn-navy{background:var(--gold);color:#0A1628} }
.chart{width:100%;height:auto;color:var(--gold)}
.chart .grid line{stroke:rgba(255,255,255,.12);stroke-width:1}
.chart .line{fill:none;stroke:currentColor;stroke-width:2.5;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:900;stroke-dashoffset:900;animation:draw 1.6s ease-out .2s forwards}
.chart .area{fill:currentColor;opacity:.12}
.chart .dot{fill:currentColor;opacity:0;animation:appear .3s ease-out 1.7s forwards}
@keyframes draw{to{stroke-dashoffset:0}}
@keyframes appear{to{opacity:1}}
@media (prefers-reduced-motion: reduce){ .chart .line{animation:none;stroke-dashoffset:0} .chart .dot{animation:none;opacity:1} }

/* sections */
.section{padding:4.5rem 0}
.section h2{font-size:1.75rem;letter-spacing:-.015em;font-weight:600;margin:0 0 .5rem}
.section .intro{color:var(--slate);margin:0 0 2.5rem;max-width:56ch}
.services{border-top:2px solid var(--gold)}
.service{display:grid;grid-template-columns:1fr 2fr;gap:2rem;padding:1.75rem 0;border-bottom:1px solid var(--rule)}
.service h3{margin:0;font-size:1.2rem;font-weight:600}
.service p{margin:0;color:var(--slate);max-width:60ch}

.page-head{background:var(--navy);color:var(--on-navy);border-bottom:3px solid var(--gold)}
.page-head .wrap{padding-top:3.5rem;padding-bottom:3rem}
.page-head h1{line-height:1.15;font-size:clamp(2rem,4vw,2.8rem);letter-spacing:-.02em;font-weight:600;margin:0 0 .5rem}
.page-head p{color:#C5CCD8;margin:0;max-width:56ch;font-size:1.1rem}

.contact-row{display:grid;grid-template-columns:1fr 2fr;gap:2rem;padding:1.5rem 0;border-top:2px solid var(--gold);border-bottom:1px solid var(--rule)}
.contact-row dt{font-weight:600}
.contact-row dd{margin:0;font-size:1.25rem}
.note{border-left:3px solid var(--gold);padding:.25rem 0 .25rem 1rem;color:var(--slate);max-width:60ch}

.cta-band{background:var(--tint);border-top:1px solid var(--rule)}
.cta-band .wrap{display:flex;justify-content:space-between;align-items:center;gap:2rem;flex-wrap:wrap;padding-top:3rem;padding-bottom:3rem}
.cta-band p{margin:0;font-size:1.3rem;font-weight:500;max-width:36ch}

.site-footer{border-top:1px solid var(--rule)}
.site-footer .wrap{display:flex;justify-content:space-between;flex-wrap:wrap;gap:1rem;padding-top:1.75rem;padding-bottom:2.5rem;color:var(--slate);font-size:.9rem}

@media (max-width:760px){
  .hero .wrap{grid-template-columns:1fr;padding-top:3rem;padding-bottom:3rem;gap:2rem}
  .service,.contact-row{grid-template-columns:1fr;gap:.5rem}
}

/* images & icons */
.hero{background:#06243C}
.hero-img{width:100%;height:auto;display:block;border-radius:2px}
.svc-title{display:flex;align-items:center;gap:.9rem}
.icon{width:40px;height:40px;flex:none;fill:none;stroke:var(--navy);stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}
.icon .g{stroke:var(--gold)}
.icon .gf{fill:var(--gold);stroke:var(--gold)}
@media (prefers-color-scheme: dark){ .icon{stroke:#ECEFF4} }
.about-grid{display:grid;grid-template-columns:1.2fr 1fr;gap:2.5rem;align-items:center}
.about-img{width:100%;height:auto;display:block;border-radius:2px;border:1px solid var(--rule)}
@media (max-width:760px){ .about-grid{grid-template-columns:1fr} }

/* logo */
.brand img{height:30px;width:auto;display:block}
@media (max-width:480px){ .brand img{height:24px} }

/* example project */
.example{padding-top:0}
.ex-card{display:flex;justify-content:space-between;align-items:center;gap:2rem;flex-wrap:wrap;border:1px solid var(--rule);border-left:4px solid var(--gold);padding:1.75rem 2rem;background:var(--tint)}
.ex-card h3{margin:0 0 .35rem;font-size:1.25rem;font-weight:600}
.ex-card p{margin:0;color:var(--slate);max-width:56ch}

/* products & Toxum page */
.example .ex-card + .ex-card{margin-top:1rem}
.steps{list-style:none;counter-reset:s;margin:1.5rem 0 0;padding:0;display:grid;grid-template-columns:repeat(4,1fr);gap:0;border-top:2px solid var(--gold)}
.steps li{counter-increment:s;padding:1.25rem 1.25rem 1.25rem 0}
.steps li+li{padding-left:1.25rem;border-left:1px solid var(--rule)}
.steps li::before{content:counter(s);display:block;font-size:.9rem;font-weight:600;color:var(--gold);margin-bottom:.4rem}
.steps h3{margin:0 0 .35rem;font-size:1.05rem;font-weight:600}
.steps p{margin:0;color:var(--slate);font-size:.95rem}
@media (max-width:860px){.steps{grid-template-columns:1fr 1fr}.steps li:nth-child(3){padding-left:0;border-left:0}}
@media (max-width:520px){.steps{grid-template-columns:1fr}.steps li+li{padding-left:0;border-left:0;border-top:1px solid var(--rule)}}
.form-section{background:var(--tint);border-top:1px solid var(--rule)}
.req-form{max-width:720px;background:var(--paper);border:1px solid var(--rule);border-top:4px solid var(--gold);padding:2rem}
.req-form .row2{display:grid;grid-template-columns:1fr 1fr;gap:1rem}
@media (max-width:620px){.req-form .row2{grid-template-columns:1fr}.req-form{padding:1.25rem}}
.req-form .field{display:block;margin-bottom:1rem}
.req-form .field span{display:block;font-size:.9rem;font-weight:500;margin-bottom:.35rem}
.req-form input,.req-form select,.req-form textarea{width:100%;padding:.65rem .75rem;font:inherit;border:1px solid var(--rule);border-radius:4px;background:var(--paper);color:var(--ink)}
.req-form textarea{resize:vertical;min-height:9rem}
.req-form input:focus,.req-form select:focus,.req-form textarea:focus{outline:none;border-color:var(--gold);box-shadow:0 0 0 3px rgba(168,135,62,.2)}
.req-form button{border:0;cursor:pointer;font:inherit;font-weight:500}
.form-error{color:#b42318;font-size:.9rem;margin:0 0 .75rem}
.form-note{color:var(--slate);font-size:.85rem;margin:1rem 0 0}

/* footer + info pages */
.site-footer .f-left{display:flex;gap:1.25rem;flex-wrap:wrap}
.site-footer .f-links{display:flex;gap:1.25rem;flex-wrap:wrap}
.site-footer .f-links a{color:var(--slate)}
.site-footer .f-links a:hover{color:var(--ink)}
.ex-more{margin:.6rem 0 0 !important;font-size:.92rem}
.info-note{color:var(--slate);margin:1.75rem 0 0;font-size:.95rem}

/* facts strip, apps, about */
.facts{border-bottom:1px solid var(--rule)}
.facts-row{display:grid;grid-template-columns:repeat(3,1fr)}
.fact{padding:1.5rem 1.5rem 1.5rem 0;display:flex;flex-direction:column;gap:.15rem}
.fact+.fact{padding-left:1.5rem;border-left:1px solid var(--rule)}
.fact-k{font-size:1.5rem;font-weight:600;letter-spacing:-.02em;color:var(--ink)}
.fact-v{color:var(--slate);font-size:.95rem}
@media (max-width:760px){.facts-row{grid-template-columns:1fr}.fact+.fact{padding-left:0;border-left:0;border-top:1px solid var(--rule)}}
.apps{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));border-top:2px solid var(--gold)}
.app{padding:1.25rem 1.25rem 1.25rem 0}
.app+.app{padding-left:1.25rem;border-left:1px solid var(--rule)}
.app h3{margin:0 0 .3rem;font-size:1.1rem;font-weight:600}
.app p{margin:0;color:var(--slate)}
@media (max-width:760px){.apps{grid-template-columns:1fr}.app+.app{padding-left:0;border-left:0;border-top:1px solid var(--rule)}}
.apps-sec{padding-bottom:1rem}
.price-sec{padding-top:1rem}
.about-text{margin:0 0 1rem;max-width:60ch}
.sub-h{font-size:1.1rem;font-weight:600;margin:1.5rem 0 .4rem}
.contact-row-2{border-top:0 !important}
.app-link{margin:.6rem 0 0 !important;font-size:.92rem}

/* cookie banner */
.ck-banner{position:fixed;left:1rem;right:1rem;bottom:1rem;z-index:50;max-width:720px;margin:0 auto;background:var(--paper);color:var(--ink);border:1px solid var(--rule);border-top:3px solid var(--gold);box-shadow:0 8px 24px rgba(14,35,64,.18);padding:1rem 1.25rem;display:flex;gap:1rem;align-items:center;flex-wrap:wrap}
.ck-banner[hidden]{display:none}
.ck-banner p{margin:0;flex:1 1 320px;font-size:.92rem;color:var(--slate)}
.ck-actions{display:flex;gap:.5rem}
.ck-actions button{font:inherit;font-size:.9rem;padding:.55rem 1rem;border-radius:4px;cursor:pointer}
.ck-no{background:transparent;color:var(--ink);border:1px solid var(--rule)}
.ck-yes{background:var(--navy);color:var(--on-navy);border:1px solid var(--navy)}
@media (prefers-color-scheme: dark){.ck-yes{background:var(--gold);color:#0A1628;border-color:var(--gold)}}

/* hero v2 */
.hero-btns{display:flex;gap:.75rem;flex-wrap:wrap}
.btn-ghost{background:transparent;color:var(--on-navy);border:1px solid rgba(255,255,255,.35)}
.btn-ghost:hover{border-color:var(--gold);filter:none}
.hero-shot{display:block;position:relative;text-decoration:none;border:1px solid rgba(255,255,255,.12);border-radius:6px;overflow:hidden;box-shadow:0 18px 40px rgba(0,0,0,.35)}
.hero-shot img{display:block;width:100%;height:auto}
.hero-shot span{position:absolute;right:.6rem;bottom:.6rem;background:rgba(14,35,64,.85);color:#E7DBBE;font-size:.75rem;padding:.2rem .5rem;border-radius:3px}
.hero h1{max-width:18ch}
/* services packages */
.pk-data{margin:.5rem 0 0 !important;font-size:.9rem}
.pk-data strong{font-weight:500;color:var(--ink)}
.pk-more{margin:.4rem 0 0 !important;font-size:.92rem}
/* burger (mobile) */
.burger{display:none;background:none;border:1px solid var(--rule);border-radius:4px;padding:.45rem .5rem;cursor:pointer}
.burger span{display:block;width:20px;height:2px;background:var(--ink);margin:4px 0}
@media (max-width:760px){
  .site-header .wrap{flex-wrap:nowrap;min-height:64px}
  .burger{display:block;margin-left:auto}
  .nav{display:none;position:absolute;left:0;right:0;top:64px;background:var(--paper);border-bottom:1px solid var(--rule);padding:1rem 1.5rem 1.25rem;flex-direction:column;align-items:flex-start;gap:1rem;z-index:40}
  .nav.open{display:flex}
  .nav ul{flex-direction:column;gap:.85rem}
  .site-header{position:relative}
}

/* language switcher */
.langs{display:flex;gap:.35rem}
.langs .lang{min-width:2.2rem;text-align:center}
.langs .lang.is-current{background:var(--navy);color:var(--on-navy);border-color:var(--navy)}
@media (prefers-color-scheme: dark){.langs .lang.is-current{background:var(--gold);color:#0A1628;border-color:var(--gold)}}
.hp{position:absolute !important;left:-9999px !important;width:1px;height:1px;opacity:0}
.form-ok{color:#2f6b3a;font-size:.95rem;margin:0 0 .75rem;font-weight:500}
@media (prefers-color-scheme: dark){.form-ok{color:#8fcf9a}}

/* blog */
.posts{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:1rem}
.post-card{display:flex;flex-direction:column;gap:.5rem;padding:1.5rem;border:1px solid var(--rule);border-top:3px solid var(--gold);background:var(--paper);color:var(--ink);text-decoration:none}
.post-card:hover{border-color:var(--slate);border-top-color:var(--gold)}
.post-card h2{margin:0;font-size:1.2rem;font-weight:600;letter-spacing:-.01em}
.post-card p{margin:0;color:var(--slate);font-size:.95rem}
.post-card span{margin-top:auto;color:var(--gold);font-weight:500;font-size:.92rem}
.kicker{font-size:.9rem !important;margin:0 0 .6rem !important}
.kicker a{color:#E7DBBE}
.prose{max-width:68ch}
.prose h2{font-size:1.3rem;font-weight:600;margin:2rem 0 .6rem;letter-spacing:-.01em}
.prose p,.prose li{color:var(--ink);line-height:1.75}
.prose ul{padding-left:1.2rem}
.prose li{margin-bottom:.6rem}
.formula{font-family:"IBM Plex Mono",ui-monospace,Menlo,monospace;font-size:.95rem;background:var(--tint);border-left:3px solid var(--gold);padding:.8rem 1rem}
.article-cta{margin-top:2.5rem;max-width:68ch}

/* service visuals */
.vz-sec{padding-bottom:0}
.vz-card{border:1px solid var(--rule);border-top:3px solid var(--gold);background:var(--paper);padding:1.5rem 1.75rem;box-shadow:0 10px 30px rgba(14,35,64,.06)}
.vz-card h3{margin:0 0 1rem;font-size:1.05rem;font-weight:600}
.vz-note{color:var(--slate);font-size:.85rem;margin:.6rem 0 0}
.vz-cap{color:var(--slate);font-size:.85rem;margin:.75rem 0 0}
.vz-table{width:100%;border-collapse:collapse;font-size:.95rem}
.vz-table th{text-align:left;font-weight:500;color:var(--slate);border-bottom:1px solid var(--ink);padding:.5rem .75rem .5rem 0}
.vz-table td{border-bottom:1px solid var(--rule);padding:.6rem .75rem .6rem 0}
.risk{display:inline-block;padding:.1rem .55rem;border-radius:999px;font-size:.82rem;font-weight:500}
.risk.hi{background:#FBE4E1;color:#9B2C1F}.risk.mid{background:#F6EDD8;color:#7A5C14}.risk.lo{background:#E3F0E5;color:#2F6B3A}
@media (prefers-color-scheme: dark){.risk.hi{background:#3A1E1B;color:#F0A69A}.risk.mid{background:#33291A;color:#E2C47F}.risk.lo{background:#1C3022;color:#9BD3A5}}
.vz-bars{list-style:none;margin:0;padding:0;display:grid;gap:.8rem}
.vz-bars li{display:grid;grid-template-columns:minmax(120px,30%) 1fr 3rem;gap:.75rem;align-items:center;font-size:.95rem}
.vz-track{position:relative;height:14px;background:var(--tint)}
.vz-fill{position:absolute;inset:0 auto 0 0;background:var(--navy)}
.vz-fill.bad{background:#B4432F}
.vz-one{position:absolute;top:-4px;bottom:-4px;border-left:2px dashed var(--gold)}
@media (prefers-color-scheme: dark){.vz-fill{background:#7FA3CF}}
.heat{display:grid;grid-template-columns:2.5rem repeat(var(--cols),1fr);gap:3px;font-size:.72rem;color:var(--slate)}
.hm-h{text-align:center}.hm-day{align-self:center}
.hm-c{height:20px;background:var(--navy);border-radius:2px}
@media (prefers-color-scheme: dark){.hm-c{background:#BB9C58}}
.hm-leg{display:inline-block;width:14px;height:10px;background:var(--navy);vertical-align:middle}.hm-leg.lo{opacity:.15}
.funnel{list-style:none;margin:0;padding:0;display:grid;gap:.6rem}
.funnel li{display:grid;grid-template-columns:minmax(120px,26%) 1fr auto;gap:.75rem;align-items:center;font-size:.95rem}
.fn-bar{display:block;background:var(--navy);color:var(--on-navy);padding:.35rem .6rem;min-width:3rem;font-variant-numeric:tabular-nums;font-size:.85rem}
.fn-drop{color:#B4432F;font-size:.85rem;white-space:nowrap}
@media (prefers-color-scheme: dark){.fn-bar{background:#2F5583}.fn-drop{color:#F0A69A}}
.chat{display:flex;flex-direction:column;gap:.75rem;max-width:620px}
.msg{padding:.75rem 1rem;border-radius:10px;font-size:.95rem;line-height:1.55;max-width:85%}
.msg.me{align-self:flex-end;background:var(--navy);color:var(--on-navy)}
.msg.bot{align-self:flex-start;background:var(--tint);border:1px solid var(--rule)}
.sd-input{width:100%;padding:.75rem .9rem;font:inherit;font-size:1rem;border:1px solid var(--rule);border-radius:4px;background:var(--paper);color:var(--ink)}
.sd-input:focus{outline:none;border-color:var(--gold);box-shadow:0 0 0 3px rgba(168,135,62,.2)}
.sd-try{font-size:.88rem;color:var(--slate);margin:.75rem 0 1rem;display:flex;flex-wrap:wrap;gap:.4rem;align-items:center}
.chip{font:inherit;font-size:.85rem;padding:.2rem .6rem;border:1px solid var(--rule);border-radius:999px;background:var(--paper);color:var(--ink);cursor:pointer}
.chip:hover{border-color:var(--gold)}
.sd-cols{display:grid;grid-template-columns:1fr 1fr;gap:1rem}
@media (max-width:620px){.sd-cols{grid-template-columns:1fr}}
.sd-col{border:1px solid var(--rule);padding:1rem;min-height:9rem}
.sd-col.smart{border-color:var(--gold);background:var(--tint)}
.sd-col h4{margin:0 0 .25rem;font-size:.95rem;font-weight:600}
.sd-count{margin:0 0 .5rem;font-size:.85rem;color:var(--slate)}.sd-count.none{color:#B4432F}
.sd-list{margin:0;padding-left:1.1rem;font-size:.95rem}
/* plan */
.plan{margin-top:2.5rem}
.plan h2{font-size:1.3rem;font-weight:600;margin:0 0 1rem}
.plan-steps{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(5,1fr);border-top:2px solid var(--gold)}
.plan-steps li{padding:1rem 1rem 1rem 0;display:flex;flex-direction:column;gap:.2rem;position:relative}
.plan-steps li+li{padding-left:1rem;border-left:1px solid var(--rule)}
.pl-n{width:1.7rem;height:1.7rem;border-radius:50%;background:var(--navy);color:var(--on-navy);display:grid;place-items:center;font-size:.8rem;font-weight:600;margin-bottom:.35rem}
@media (prefers-color-scheme: dark){.pl-n{background:var(--gold);color:#0A1628}}
.plan-steps strong{font-weight:600;font-size:.98rem}
.plan-steps span:last-child{color:var(--slate);font-size:.88rem}
@media (max-width:860px){.plan-steps{grid-template-columns:1fr 1fr}.plan-steps li:nth-child(odd){padding-left:0;border-left:0}}
@media (max-width:520px){.plan-steps{grid-template-columns:1fr}.plan-steps li{padding-left:0 !important;border-left:0 !important;border-top:1px solid var(--rule)}}

/* value: without / with */
.val-sec{padding-bottom:0}
.val{display:grid;grid-template-columns:1fr auto 1fr;gap:1rem;align-items:stretch}
.val-col{border:1px solid var(--rule);padding:1.25rem 1.5rem}
.val-col h3{margin:0 0 .6rem;font-size:1rem;font-weight:600;display:flex;align-items:center;gap:.5rem}
.val-col ul{margin:0;padding-left:1.1rem}
.val-col li{margin-bottom:.45rem}
.val-col.bad{background:#FBF1EF;border-color:#EBCFC9}
.val-col.bad h3::before{content:"✕";color:#B4432F}
.val-col.good{background:#EEF5EF;border-color:#C9DFCD}
.val-col.good h3::before{content:"✓";color:#2F6B3A}
@media (prefers-color-scheme: dark){.val-col.bad{background:#2A1A18;border-color:#4A2A25}.val-col.good{background:#16261B;border-color:#2A4A33}}
.val-arrow{align-self:center;font-size:1.6rem;color:var(--gold)}
@media (max-width:760px){.val{grid-template-columns:1fr}.val-arrow{transform:rotate(90deg);justify-self:center}}
.val-m{margin-top:1rem;display:flex;flex-wrap:wrap;gap:.5rem;align-items:center;font-size:.92rem}
.val-m-h{color:var(--slate);margin-right:.25rem}
.kpi-tag{border:1px solid var(--gold);color:var(--ink);padding:.2rem .65rem;border-radius:999px;background:var(--paper)}
/* pipeline */
.pp-sec{padding-bottom:0}
.pp{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1.25rem;counter-reset:pp}
.pp-step{position:relative;border:1px solid var(--rule);background:var(--paper);padding:1.1rem 1.1rem 1rem;display:flex;flex-direction:column;gap:.35rem}
.pp-step::after{content:"→";position:absolute;right:-1.05rem;top:50%;transform:translateY(-50%);color:var(--gold);font-size:1.1rem}
.pp-step:last-child::after{content:none}
.pp-n{width:1.6rem;height:1.6rem;border-radius:50%;background:var(--navy);color:var(--on-navy);display:grid;place-items:center;font-size:.78rem;font-weight:600}
@media (prefers-color-scheme: dark){.pp-n{background:var(--gold);color:#0A1628}}
.pp-step strong{font-size:.98rem;font-weight:600}
.pp-d{color:var(--slate);font-size:.88rem;line-height:1.5}
.pp-ex{margin-top:auto;font-family:"IBM Plex Mono",ui-monospace,Menlo,monospace;font-size:.8rem;background:var(--tint);border-left:3px solid var(--gold);padding:.4rem .55rem;color:var(--ink);white-space:normal}
@media (max-width:620px){.pp-step::after{content:"↓";right:auto;left:50%;top:auto;bottom:-1.2rem;transform:translateX(-50%)}}
/* search trace */
.sd-trace{border:1px dashed var(--gold);padding:.9rem 1rem;margin:0 0 1rem;background:var(--paper)}
.sd-trace h4{margin:0 0 .5rem;font-size:.9rem;font-weight:600}
.sd-trace ol{margin:0;padding-left:1.2rem;display:grid;gap:.3rem;font-size:.9rem}
.sd-trace li span{display:inline-block;min-width:11rem;color:var(--slate)}
.sd-trace code{font-family:"IBM Plex Mono",ui-monospace,Menlo,monospace;font-size:.85rem;background:var(--tint);padding:.05rem .4rem}
.pp{grid-template-columns:repeat(4,1fr)}
.pp-step:nth-child(4n)::after{content:none}
@media (max-width:1000px){.pp{grid-template-columns:repeat(2,1fr)}.pp-step:nth-child(4n)::after{content:"→"}.pp-step:nth-child(2n)::after{content:none}}
@media (max-width:620px){.pp{grid-template-columns:1fr}.pp-step::after,.pp-step:nth-child(2n)::after,.pp-step:nth-child(4n)::after{content:"↓"}.pp-step:last-child::after{content:none}}

/* scroll story */
.story .intro{margin-bottom:2rem}
.st-grid{display:grid;grid-template-columns:1fr 1fr;gap:3rem;align-items:start}
.st-steps{list-style:none;margin:0;padding:0}
.st-step{min-height:62vh;display:flex;flex-direction:column;justify-content:center;padding:1rem 0 1rem 1.25rem;border-left:3px solid var(--rule);opacity:.4;transition:opacity .4s ease,border-color .4s ease}
.st-step.on{opacity:1;border-left-color:var(--gold)}
.st-step:first-child{min-height:40vh;justify-content:flex-start}
.st-step:last-child{min-height:50vh}
.st-n{font-size:.85rem;font-weight:600;color:var(--gold);margin-bottom:.3rem}
.st-step h3{margin:0 0 .5rem;font-size:1.35rem;font-weight:600;letter-spacing:-.01em}
.st-step p{margin:0;color:var(--slate);max-width:44ch}
.st-stage{position:sticky;top:calc(50vh - 180px)}
.st-frame{position:relative;height:360px;border:1px solid var(--rule);border-top:3px solid var(--gold);background:var(--tint);overflow:hidden;box-shadow:0 14px 36px rgba(14,35,64,.08)}
.st-panel{position:absolute;inset:0;padding:1.5rem;display:flex;flex-direction:column;justify-content:center;gap:1rem;opacity:0;transform:translateY(14px);transition:opacity .45s ease,transform .45s ease}
.st-panel.on{opacity:1;transform:none}
.rcs{display:grid;grid-template-columns:1fr 1fr;gap:.75rem}
.rc{background:var(--paper);border:1px dashed var(--slate);padding:.7rem .8rem;font-family:"IBM Plex Mono",ui-monospace,monospace;font-size:.78rem;display:flex;flex-direction:column;gap:.2rem}
.st-tbl{width:100%;border-collapse:collapse;background:var(--paper);font-size:.9rem}
.st-tbl th,.st-tbl td{padding:.5rem .6rem;border-bottom:1px solid var(--rule);text-align:left}
.st-tbl th{color:var(--slate);font-weight:500}
.st-clean{align-self:flex-start;font-size:.8rem;color:#2F6B3A;border:1px solid #C9DFCD;background:#EEF5EF;padding:.15rem .55rem;border-radius:999px}
.sks{display:grid;grid-template-columns:repeat(3,1fr);gap:.6rem}
.sk{background:var(--paper);border:1px solid var(--rule);padding:.7rem}
.sk span{display:block;font-size:.78rem;color:var(--slate)}
.sk b{font-size:1.25rem;font-weight:600}
.st-bars{display:flex;align-items:flex-end;gap:6px;height:110px;background:var(--paper);border:1px solid var(--rule);padding:.6rem}
.st-bars span{flex:1;background:var(--navy);border-radius:2px 2px 0 0}
.tgm{align-self:center;width:min(320px,100%);background:#fff;color:#0E2340;border-radius:14px;padding:1rem 1.1rem;box-shadow:0 8px 24px rgba(0,0,0,.12);font-size:.92rem;display:flex;flex-direction:column;gap:.25rem}
.tgh{font-weight:600;margin-bottom:.3rem}
.st-cta{margin-top:2rem}
@media (prefers-color-scheme: dark){.st-bars span{background:#7FA3CF}.st-clean{background:#16261B;border-color:#2A4A33;color:#9BD3A5}}
@media (max-width:860px){
  .st-grid{grid-template-columns:1fr;gap:1rem}
  .st-stage{top:64px;z-index:5;order:-1}
  .st-frame{height:240px}
  .st-step{min-height:55vh}
  .rcs{grid-template-columns:1fr 1fr}.rc:nth-child(n+3){display:none}
}
@media (prefers-reduced-motion: reduce){.st-panel,.st-step{transition:none}.st-panel{transform:none}}

/* ---------- neon gold lines ---------- */
:root{--neon:#D9B45A;--neon-glow:rgba(217,180,90,.75);--neon-soft:rgba(217,180,90,.4)}
@media (prefers-color-scheme: dark){:root{--neon:#E8C46C;--neon-glow:rgba(232,196,108,.75);--neon-soft:rgba(232,196,108,.4)}}
/* lines along the bottom edge */
.hero,.page-head{border-bottom-color:var(--neon) !important;box-shadow:0 2px 0 var(--neon-soft),0 4px 14px -2px var(--neon-glow)}
/* lines along the top edge */
.services,.contact-row,.steps,.apps,.plan-steps,.kpis,.vz-card,.post-card,.req-form,.ck-banner,.st-frame{border-top-color:var(--neon) !important}
.services,.contact-row,.steps,.apps,.plan-steps{box-shadow:0 -4px 12px -6px var(--neon-glow)}
.vz-card,.post-card,.req-form,.st-frame{box-shadow:0 -4px 12px -6px var(--neon-glow),0 10px 30px rgba(14,35,64,.06)}
.ck-banner{box-shadow:0 -4px 12px -6px var(--neon-glow),0 8px 24px rgba(14,35,64,.18)}
/* lines along the left edge */
.ex-card,.note,.formula,.pp-ex,.st-step.on{border-left-color:var(--neon) !important}
.ex-card{box-shadow:-4px 0 12px -6px var(--neon-glow)}
.st-step.on{box-shadow:-4px 0 12px -6px var(--neon-glow)}
/* small accents */
.nav ul a[aria-current="page"]{border-bottom-color:var(--neon);box-shadow:0 4px 8px -4px var(--neon-glow)}
.kpi-tag,.sd-col.smart,.sd-trace{border-color:var(--neon)}
.sd-col.smart{box-shadow:0 0 0 1px var(--neon-soft),0 0 14px -4px var(--neon-glow)}
.val-arrow,.pp-step::after{color:var(--neon);text-shadow:0 0 8px var(--neon-glow)}
@media (prefers-reduced-transparency: reduce){.hero,.page-head,.services,.contact-row,.steps,.apps,.plan-steps,.ex-card,.st-step.on{box-shadow:none}}

/* WhatsApp */
.wa-float{position:fixed;right:1rem;bottom:1rem;z-index:45;display:flex;align-items:center;gap:.5rem;background:#1F8F4E;color:#fff;text-decoration:none;font-weight:500;font-size:.92rem;padding:.7rem 1rem;border-radius:999px;box-shadow:0 8px 22px rgba(0,0,0,.22)}
.wa-float:hover{background:#18733E}
.wa-float:focus-visible{outline:2px solid var(--neon);outline-offset:3px}
@media (max-width:620px){.wa-float span{display:none}.wa-float{padding:.8rem}}
.ck-banner:not([hidden])~.wa-float{bottom:7.5rem}
.wa-alt{display:flex;justify-content:space-between;align-items:center;gap:1rem;flex-wrap:wrap;max-width:720px;border:1px solid #BFE0CB;background:#EEF7F1;padding:1rem 1.25rem;margin:0 0 1.25rem}
.wa-alt strong{display:block;font-weight:600}
.wa-alt span{color:var(--slate);font-size:.95rem}
.wa-btn{display:inline-flex;align-items:center;gap:.45rem;background:#1F8F4E;color:#fff}
@media (prefers-color-scheme: dark){.wa-alt{background:#16261B;border-color:#2A4A33}}
/* WhatsApp only on phones and tablets */
.wa-only{display:none !important}
html.is-mobile .wa-float.wa-only{display:flex !important}
html.is-mobile .wa-alt.wa-only{display:flex !important}
html.is-mobile .contact-row.wa-only{display:grid !important}

/* site chat (desktop only) */
html.is-mobile .chat-only{display:none !important}
.chat-fab{position:fixed;right:1rem;bottom:1rem;z-index:46;display:flex;align-items:center;gap:.5rem;background:var(--navy);color:var(--on-navy);border:1px solid var(--neon);border-radius:999px;padding:.7rem 1.05rem;font:inherit;font-weight:500;font-size:.92rem;cursor:pointer;box-shadow:0 0 0 1px var(--neon-soft),0 8px 22px rgba(0,0,0,.22),0 0 14px -4px var(--neon-glow)}
.ck-banner:not([hidden])~.chat-fab,.chat-fab:has(~.ck-banner:not([hidden])){bottom:7.5rem}
.chat-box{position:fixed;right:1rem;bottom:4.75rem;z-index:47;width:min(380px,calc(100vw - 2rem));max-height:min(600px,calc(100vh - 6.5rem));display:flex;flex-direction:column;background:var(--paper);color:var(--ink);border:1px solid var(--rule);border-top:3px solid var(--neon);box-shadow:0 18px 44px rgba(14,35,64,.25)}
.chat-box[hidden]{display:none}
.cb-head{display:flex;justify-content:space-between;align-items:center;padding:.75rem 1rem;background:var(--navy);color:var(--on-navy)}
.cb-x{background:none;border:0;color:inherit;font-size:1.4rem;line-height:1;cursor:pointer}
.cb-chat,.cb-form{display:flex;flex-direction:column;min-height:0;flex:1}
.cb-chat[hidden],.cb-form[hidden]{display:none}
.cb-log{flex:1;overflow-y:auto;padding:1rem;display:flex;flex-direction:column;gap:.6rem;min-height:220px}
.cb-msg{max-width:88%;padding:.6rem .8rem;border-radius:10px;font-size:.93rem;line-height:1.5;white-space:pre-wrap}
.cb-msg.user{align-self:flex-end;background:var(--navy);color:var(--on-navy)}
.cb-msg.bot{align-self:flex-start;background:var(--tint);border:1px solid var(--rule)}
.cb-msg.typing{color:var(--slate);font-style:italic}
.cb-in{display:flex;gap:.4rem;padding:.6rem .75rem;border-top:1px solid var(--rule)}
.cb-in input{flex:1;font:inherit;font-size:.93rem;padding:.55rem .7rem;border:1px solid var(--rule);border-radius:4px;background:var(--paper);color:var(--ink)}
.cb-in button,.cb-send{font:inherit;font-size:.9rem;background:var(--navy);color:var(--on-navy);border:0;border-radius:4px;padding:.55rem .85rem;cursor:pointer}
.cb-leave,.cb-back{background:none;border:0;color:var(--accent);font:inherit;font-size:.88rem;text-decoration:underline;cursor:pointer;padding:.25rem 1rem;text-align:left}
.cb-note{margin:0;padding:.25rem 1rem .75rem;font-size:.75rem;color:var(--slate)}
.cb-form{padding:.5rem 1rem 1rem;gap:.55rem;overflow-y:auto}
.cb-form label span{display:block;font-size:.82rem;font-weight:500;margin-bottom:.2rem}
.cb-form input,.cb-form textarea{width:100%;font:inherit;font-size:.92rem;padding:.5rem .65rem;border:1px solid var(--rule);border-radius:4px;background:var(--paper);color:var(--ink)}
.cb-form .cb-back{padding-left:0}
.cb-status{margin:0;font-size:.85rem}.cb-status.good{color:#2F6B3A}.cb-status.bad{color:#B4432F}
.cb-send{align-self:flex-start}
@media (prefers-color-scheme: dark){.cb-status.good{color:#9BD3A5}.cb-in button,.cb-send{background:var(--gold);color:#0A1628}}

/* conversion CTA */
.cta-box{border:1px solid var(--rule);border-top:3px solid var(--neon);background:var(--tint);padding:2rem 2.25rem;box-shadow:0 -4px 12px -6px var(--neon-glow)}
.cta-box h2{margin:0 0 .5rem;font-size:1.5rem;font-weight:600;letter-spacing:-.015em}
.cta-lead{margin:0 0 1.5rem;color:var(--slate);max-width:62ch}
.cta-steps{list-style:none;margin:0 0 1.5rem;padding:0;display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}
.cta-steps li{display:flex;flex-direction:column;gap:.2rem}
.cta-steps strong{font-weight:600}
.cta-steps span:last-child{color:var(--slate);font-size:.92rem}
@media (max-width:760px){.cta-steps{grid-template-columns:1fr}}
.cta-actions{display:flex;flex-wrap:wrap;gap:.75rem;align-items:center}
.cta-actions button{font:inherit;border:0;cursor:pointer}
.btn-ghost-dark{background:transparent;color:var(--ink);border:1px solid var(--ink)}
.btn-ghost-dark:hover{border-color:var(--neon);filter:none}
.cta-mail{font-size:.92rem;color:var(--slate)}
html.is-mobile .wa-btn.wa-only{display:inline-flex !important}
/* tiers */
.tiers{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}
@media (max-width:860px){.tiers{grid-template-columns:1fr}}
.tier{border:1px solid var(--rule);border-top:3px solid var(--neon);background:var(--paper);padding:1.4rem;display:flex;flex-direction:column;gap:.5rem}
.tier h3{margin:0;font-size:1.2rem;font-weight:600}
.tier p{margin:0;color:var(--slate)}
.tier-ex{font-size:.9rem;font-style:italic}
.tier-act{margin-top:auto;padding-top:.5rem}
.tier-act button{font:inherit;cursor:pointer}

/* hero: larger dashboard screenshot (text on top, image full width below) */
.hero .wrap{grid-template-columns:1fr;gap:2.5rem;padding-top:4rem;padding-bottom:4rem;max-width:1240px}
.hero h1{max-width:22ch}
.hero p{max-width:60ch}
.hero-shot{width:100%;border-radius:8px}
.hero-shot span{font-size:.85rem;padding:.3rem .65rem;right:.9rem;bottom:.9rem}
@media (min-width:1000px){
  .hero .wrap{grid-template-columns:minmax(0,.8fr) minmax(0,1.6fr);align-items:center;gap:3rem}
  .hero h1{font-size:clamp(2.2rem,3.6vw,3rem)}
}
@media (min-width:1000px){
  .hero .wrap{grid-template-columns:1fr;gap:2.25rem}
  .hero .wrap>div:first-child{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);column-gap:3rem;align-items:end}
  .hero .wrap>div:first-child h1{grid-column:1;grid-row:1 / span 2;margin:0}
  .hero .wrap>div:first-child p{grid-column:2;grid-row:1;margin:0 0 1.25rem}
  .hero .wrap>div:first-child .hero-btns{grid-column:2;grid-row:2}
}
.page-head + .example{padding-top:3rem}

/* header CTA */
.nav-cta{background:var(--navy);color:var(--on-navy);text-decoration:none;font-size:.88rem;font-weight:500;padding:.45rem .85rem;border-radius:4px;border:1px solid var(--neon);box-shadow:0 0 10px -4px var(--neon-glow);white-space:nowrap}
.nav-cta:hover{filter:brightness(1.1)}
@media (prefers-color-scheme: dark){.nav-cta{background:var(--gold);color:#0A1628}}
/* demo builder */
.demo-grid{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:2.5rem;align-items:start}
@media (max-width:900px){.demo-grid{grid-template-columns:1fr}}
.demo-form fieldset{border:0;padding:0;margin:0 0 1.5rem}
.demo-form legend{font-weight:600;font-size:1.05rem;margin-bottom:.6rem}
.chips{display:flex;flex-wrap:wrap;gap:.5rem}
.chipbox{position:relative}
.chipbox input{position:absolute;opacity:0;pointer-events:none}
.chipbox span{display:inline-block;padding:.45rem .85rem;border:1px solid var(--rule);border-radius:999px;background:var(--paper);cursor:pointer;font-size:.92rem;transition:border-color .15s,background .15s}
.chipbox input:checked+span{background:var(--navy);color:var(--on-navy);border-color:var(--neon);box-shadow:0 0 10px -4px var(--neon-glow)}
.chipbox input:focus-visible+span{outline:2px solid var(--neon);outline-offset:2px}
@media (prefers-color-scheme: dark){.chipbox input:checked+span{background:var(--gold);color:#0A1628}}
.demo-form .row2{display:grid;grid-template-columns:1fr 1fr;gap:.75rem}
@media (max-width:620px){.demo-form .row2{grid-template-columns:1fr}}
.demo-form .field{display:block;margin-bottom:.75rem}
.demo-form .field span{display:block;font-size:.88rem;font-weight:500;margin-bottom:.3rem}
.demo-form input:not([type=radio]):not([type=checkbox]),.demo-form textarea{width:100%;padding:.6rem .75rem;font:inherit;border:1px solid var(--rule);border-radius:4px;background:var(--paper);color:var(--ink)}
.demo-form button{border:0;cursor:pointer;font:inherit;font-weight:500}
.demo-pv{position:sticky;top:5rem}
.pv-frame{border:1px solid var(--rule);border-top:3px solid var(--neon);background:#0F1F38;color:#E8ECF2;padding:1.1rem;min-height:320px;box-shadow:0 -4px 12px -6px var(--neon-glow),0 14px 34px rgba(14,35,64,.18)}
.pv-top{display:flex;justify-content:space-between;align-items:baseline;gap:1rem;margin-bottom:.9rem;font-size:.9rem}
.pv-top span{color:#A6B0BF;font-size:.8rem}
.pv-empty{color:#A6B0BF;font-size:.9rem;margin:3rem 0;text-align:center}
.pv-tiles{display:grid;grid-template-columns:1fr 1fr;gap:.6rem}
.pv-tile{background:#16294A;border:1px solid #22324A;border-radius:6px;padding:.6rem .7rem;display:flex;flex-direction:column;gap:.4rem;color:#BB9C58;animation:pvIn .3s ease}
.pv-tile[hidden]{display:none}
.pv-tile>span{color:#E8ECF2;font-size:.78rem}
.pv-tile svg{width:100%;height:36px}
.pv-kpis{display:flex;gap:.8rem;color:#E8ECF2;font-size:1.05rem}
.pv-heat{display:grid;grid-template-columns:repeat(8,1fr);gap:2px}.pv-heat i{height:12px;background:#BB9C58;border-radius:2px}
.pv-hbars{display:flex;flex-direction:column;gap:4px}.pv-hbars i{height:7px;background:#7FA3CF;border-radius:2px}.pv-hbars i.bad{background:#E07A66}
.pv-vbars{display:flex;align-items:flex-end;gap:5px;height:36px}.pv-vbars i{flex:1;background:#7FA3CF;border-radius:2px 2px 0 0}
.pv-out{margin-top:.9rem;font-size:.8rem;color:#A6B0BF}
@keyframes pvIn{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}
@media (prefers-reduced-motion: reduce){.pv-tile{animation:none}}
@media (max-width:760px){.nav-cta{align-self:flex-start}}
.fs-p{color:var(--slate);font-size:.9rem;margin:-.2rem 0 .8rem}
.mgroup{margin-bottom:.9rem}
.mgroup[hidden],.chipbox[hidden]{display:none}
.mgroup h4{margin:0 0 .4rem;font-size:.82rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--slate)}
.cust{display:flex;gap:.5rem;margin-top:.5rem}
.cust input{flex:1}
.cust button{font:inherit;cursor:pointer;padding:.5rem .9rem}
#dCustList{margin-top:.5rem}
.cust-chip{font:inherit;font-size:.88rem;padding:.4rem .8rem;border-radius:999px;border:1px dashed var(--neon);background:var(--tint);color:var(--ink);cursor:pointer}
.pv-tile.cust-t{border-style:dashed}
