/* ===== LSN SUPPORT – colours: change here ===== */
:root{
  --blue:#0D6DB7; --blue-d:#095590; --green:#58B33E; --green-d:#459a2d; --navy:#03111A; --ink:#12212b;
  --muted:#5b6b77; --tint:#eaf3fb; --line:#dfe7ee; --bg:#f6f9fc; --white:#fff;
  --warn:#e08a00; --bad:#d23b3b; --r:16px;
  --sh:0 10px 30px rgba(3,17,26,.08);
}
@font-face{font-family:Inter;font-weight:400;font-display:swap;src:url(fonts/inter-latin-400-normal.woff2) format("woff2")}
@font-face{font-family:Inter;font-weight:500;font-display:swap;src:url(fonts/inter-latin-500-normal.woff2) format("woff2")}
@font-face{font-family:Inter;font-weight:600;font-display:swap;src:url(fonts/inter-latin-600-normal.woff2) format("woff2")}
@font-face{font-family:Inter;font-weight:700;font-display:swap;src:url(fonts/inter-latin-700-normal.woff2) format("woff2")}
@font-face{font-family:Poppins;font-weight:500;font-display:swap;src:url(fonts/poppins-500.woff2) format("woff2")}
@font-face{font-family:Poppins;font-weight:700;font-display:swap;src:url(fonts/poppins-700.woff2) format("woff2")}
*{box-sizing:border-box;margin:0}
html{scroll-behavior:smooth}
body{font:400 16px/1.6 Inter,system-ui,sans-serif;color:var(--ink);background:var(--white);-webkit-font-smoothing:antialiased}
h1,h2,h3,h4{font-family:Poppins,Inter,sans-serif;font-weight:700;line-height:1.15;color:var(--navy);letter-spacing:-.01em}
h1{font-size:clamp(32px,5.4vw,56px)} h2{font-size:clamp(26px,3.4vw,38px)} h3{font-size:20px} h4{font-size:16px;font-weight:500}
a{color:var(--blue);text-decoration:none} img{max-width:100%;display:block}
.hidden{display:none!important}
.wrap{width:min(1180px,100% - 40px);margin-inline:auto}
.sec{padding:76px 0} .sec.alt{background:var(--bg)} .sec.tint{background:var(--tint)}
.eyebrow{display:inline-block;font:700 12px/1 Inter;letter-spacing:.14em;text-transform:uppercase;color:var(--green-d);margin-bottom:14px}
.lead{color:var(--muted);font-size:18px;max-width:640px}
.sec-head{margin-bottom:38px} .sec-head.center{text-align:center} .sec-head.center .lead{margin-inline:auto}
.sec-head h2{margin-bottom:10px}

/* demo ribbon */
.demo{background:var(--green);color:#fff;text-align:center;font-size:13px;padding:7px 16px}
.demo b{font-weight:700}

/* top bar + header */
.topbar{background:var(--navy);color:#cfe0ec;font-size:13px}
.topbar .wrap{display:flex;justify-content:space-between;gap:16px;align-items:center;min-height:40px;flex-wrap:wrap}
.topbar a{color:#fff;font-weight:500} .topbar .grp{display:flex;gap:22px;flex-wrap:wrap}
.topbar svg{width:14px;height:14px;vertical-align:-2px;margin-right:6px;stroke:var(--green)}
header.main{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.96);backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}
header.main .wrap{display:flex;align-items:center;justify-content:space-between;min-height:76px;gap:20px}
.logo{display:flex;align-items:center;gap:12px;color:var(--navy)}
.logo img{height:46px;width:auto}
.logo-mark{width:46px;height:46px;border-radius:50%;background:var(--blue);display:grid;place-items:center;color:#fff;position:relative}
.logo-mark svg{width:28px;height:28px;color:#fff}
.logo-mark::after{content:"";position:absolute;inset:-3px;border-radius:50%;border:2px solid var(--green);opacity:.9}
.logo-text{font:700 17px/1.05 Poppins,sans-serif;color:var(--navy)}
.logo-text small{display:block;font:500 11px Inter;letter-spacing:.08em;text-transform:uppercase;color:var(--blue);margin-top:3px}
nav.menu{display:flex;gap:4px;align-items:center}
nav.menu a{color:var(--navy);font-weight:600;font-size:15px;padding:10px 14px;border-radius:10px}
nav.menu a:hover{background:var(--tint);color:var(--blue)} nav.menu a.on{color:var(--blue);background:var(--tint)}
.burger{display:none;background:none;border:0;width:44px;height:44px;border-radius:10px;cursor:pointer}
.burger svg{width:26px;height:26px;stroke:var(--navy)}

/* buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;font:600 15px/1 Inter;padding:15px 24px;border-radius:999px;border:2px solid transparent;cursor:pointer;transition:.18s;text-align:center}
.btn svg{width:19px;height:19px;flex:none}
.btn-blue{background:var(--blue);color:#fff} .btn-blue:hover{background:var(--blue-d)}
.btn-green{background:var(--green);color:#fff} .btn-green:hover{background:var(--green-d)}
.btn-wa{background:#25D366;color:#06371b} .btn-wa:hover{background:#1fbd5b}
.btn-line{background:transparent;border-color:var(--blue);color:var(--blue)} .btn-line:hover{background:var(--blue);color:#fff}
.btn-white{background:#fff;color:var(--navy)} .btn-ghost{background:rgba(255,255,255,.14);color:#fff;border-color:rgba(255,255,255,.5)}
.btn-ghost:hover{background:#fff;color:var(--navy)}
.btn-row{display:flex;gap:12px;flex-wrap:wrap}

/* hero */
.hero{position:relative;color:#fff;background:var(--navy) center/cover no-repeat;overflow:hidden}
.hero::before{content:"";position:absolute;inset:0;background:linear-gradient(100deg,rgba(3,17,26,.92) 0%,rgba(3,17,26,.78) 46%,rgba(13,109,183,.35) 100%)}
.hero .wrap{position:relative;padding:96px 0 110px;display:grid;grid-template-columns:1.15fr .85fr;gap:48px;align-items:center}
.hero h1{color:#fff;margin-bottom:18px} .hero h1 em{font-style:normal;color:var(--green)}
.hero p.lead{color:#d3e2ec;margin-bottom:28px}
.hero.small .wrap{grid-template-columns:1fr;padding:64px 0 72px} .hero.small h1{font-size:clamp(30px,4.4vw,46px)}
.crumbs{font-size:13px;color:#b7cddb;margin-bottom:14px} .crumbs a{color:#fff}
.finder{background:#fff;color:var(--ink);border-radius:20px;padding:26px;box-shadow:0 24px 60px rgba(0,0,0,.35)}
.finder h3{margin-bottom:4px} .finder p{color:var(--muted);font-size:14px;margin-bottom:16px}
.finder label{font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--muted)}
.finder input{width:100%;margin:6px 0 12px;padding:15px 16px;font:600 17px Inter;border:2px solid var(--line);border-radius:12px;text-transform:uppercase;letter-spacing:.05em;color:var(--navy)}
.finder input:focus{outline:0;border-color:var(--blue)}
.finder .btn{width:100%} .finder .hint{font-size:12.5px;color:var(--muted);margin-top:12px}
.finder .hint a{font-weight:600} .finder .err{color:var(--bad);font-size:13px;margin:-4px 0 10px;min-height:0}

/* stats strip */
.stats{margin-top:-52px;position:relative;z-index:3}
.stats .wrap{background:#fff;border-radius:20px;box-shadow:var(--sh);display:grid;grid-template-columns:repeat(4,1fr);padding:10px}
.stat{padding:22px 24px;border-right:1px solid var(--line)} .stat:last-child{border:0}
.stat b{display:block;font:700 34px/1 Poppins;color:var(--blue)} .stat span{font-size:14px;color:var(--muted)}

/* cards & grids */
.grid{display:grid;gap:22px} .g2{grid-template-columns:repeat(2,1fr)} .g3{grid-template-columns:repeat(3,1fr)} .g4{grid-template-columns:repeat(4,1fr)}
.card{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:26px;transition:.2s}
a.card{color:inherit;display:block} a.card:hover,.card.hov:hover{transform:translateY(-4px);box-shadow:var(--sh);border-color:#c5d8e8}
.ico{width:54px;height:54px;border-radius:14px;background:var(--tint);color:var(--blue);display:grid;place-items:center;margin-bottom:16px}
.ico svg{width:28px;height:28px} .ico.g{background:#eaf6e5;color:var(--green-d)}
.card h3{margin-bottom:8px} .card p{color:var(--muted);font-size:15px}
.card .more{display:inline-block;margin-top:14px;font-weight:600;font-size:14px}
.tag{display:inline-block;font:700 11px/1 Inter;letter-spacing:.06em;text-transform:uppercase;padding:6px 10px;border-radius:999px;background:var(--tint);color:var(--blue)}
.tag.ok{background:#e6f5e0;color:#2c7a17} .tag.due{background:#fff3d9;color:#a15d00} .tag.overdue{background:#fde6e6;color:#b02727}
.tag.urgent{background:#fde6e6;color:#b02727} .tag.check{background:#fff3d9;color:#a15d00}

/* split */
.split{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:center}
.split img{border-radius:22px;box-shadow:var(--sh);width:100%;height:100%;object-fit:cover;max-height:460px}
.ticks{list-style:none;padding:0;display:grid;gap:12px;margin:20px 0 26px}
.ticks li{position:relative;padding-left:32px;font-weight:500}
.ticks li::before{content:"";position:absolute;left:0;top:3px;width:20px;height:20px;border-radius:50%;background:var(--green) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='3.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 12.5l4 4 8-9'/%3E%3C/svg%3E") center/13px no-repeat}
.ticks.x li::before{background-color:var(--bad);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='3.4' stroke-linecap='round'%3E%3Cpath d='M7 7l10 10M17 7L7 17'/%3E%3C/svg%3E")}
.ticks.t li::before{background-color:var(--blue);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M14.7 6.3a4 4 0 0 0-5.4 5.4L3 18l3 3 6.3-6.3a4 4 0 0 0 5.4-5.4l-2.5 2.5-2.4-.6-.6-2.4Z'/%3E%3C/svg%3E")}

/* CTA band */
.cta{background:linear-gradient(110deg,var(--blue),var(--blue-d));color:#fff;border-radius:26px;padding:48px;display:flex;justify-content:space-between;gap:28px;align-items:center;flex-wrap:wrap;position:relative;overflow:hidden}
.cta::after{content:"";position:absolute;right:-60px;top:-60px;width:260px;height:260px;border-radius:50%;border:34px solid rgba(88,179,62,.35)}
.cta h2{color:#fff;font-size:clamp(24px,3vw,34px);margin-bottom:6px} .cta p{color:#d6e8f6} .cta>*{position:relative;z-index:1}

/* steps */
.steps{counter-reset:s;display:grid;grid-template-columns:repeat(4,1fr);gap:22px}
.step{position:relative;padding:26px;background:#fff;border:1px solid var(--line);border-radius:var(--r)}
.step::before{counter-increment:s;content:counter(s);display:grid;place-items:center;width:40px;height:40px;border-radius:50%;background:var(--green);color:#fff;font:700 18px Poppins;margin-bottom:14px}
.step h4{margin-bottom:6px;font-weight:700} .step p{font-size:14.5px;color:var(--muted)}

/* chips */
.chips{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:26px}
.chip{font:600 14px Inter;padding:11px 18px;border-radius:999px;border:2px solid var(--line);background:#fff;color:var(--navy);cursor:pointer}
.chip:hover{border-color:var(--blue)} .chip[aria-pressed=true]{background:var(--blue);border-color:var(--blue);color:#fff}

/* accordion */
details.acc{background:#fff;border:1px solid var(--line);border-radius:14px;margin-bottom:12px;overflow:hidden}
details.acc summary{list-style:none;cursor:pointer;padding:18px 22px;font:600 16px Inter;color:var(--navy);display:flex;justify-content:space-between;gap:16px;align-items:center}
details.acc summary::-webkit-details-marker{display:none}
details.acc summary::after{content:"+";font:500 24px/1 Inter;color:var(--blue)} details.acc[open] summary::after{content:"–"}
details.acc .body{padding:0 22px 22px;color:var(--muted)}
details.acc[open]{border-color:#bcd5e8}
.prob summary{gap:14px;justify-content:flex-start} .prob summary .ico{margin:0;width:44px;height:44px;flex:none} .prob summary .ico svg{width:22px;height:22px}
.prob summary span.t{flex:1} .prob summary::after{margin-left:auto}
.prob .body h4{margin:16px 0 8px;color:var(--navy);font-weight:700}
.prob .body .call{margin-top:16px;background:var(--tint);border-radius:12px;padding:14px 16px;color:var(--navy);font-weight:500;font-size:15px}
.prob.emerg{border-color:#f0b4b4} .prob.emerg .ico{background:#fde6e6;color:var(--bad)}

/* system card */
.sysbox{background:#fff;color:var(--ink);border-radius:22px;padding:26px;box-shadow:0 24px 60px rgba(0,0,0,.3)}
.sysbox .top{display:flex;justify-content:space-between;gap:12px;align-items:flex-start;margin-bottom:6px}
.sysbox h3{font-size:22px} .sysbox .sub{color:var(--muted);font-size:14px}
.sid{font:700 13px Poppins;background:var(--navy);color:#fff;padding:7px 12px;border-radius:999px;letter-spacing:.06em;white-space:nowrap}
.specs{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:18px 0}
.spec{background:var(--bg);border-radius:12px;padding:12px 14px} .spec small{display:block;color:var(--muted);font-size:11px;text-transform:uppercase;letter-spacing:.07em;font-weight:600}
.spec b{font-weight:600;font-size:15px;color:var(--navy)}
.bar{height:10px;border-radius:99px;background:var(--line);overflow:hidden;margin:6px 0 4px} .bar i{display:block;height:100%;background:var(--green);border-radius:99px}
.bar.due i{background:var(--warn)} .bar.overdue i{background:var(--bad)}
table.det{width:100%;border-collapse:collapse} table.det td{padding:13px 0;border-bottom:1px solid var(--line);font-size:15px;vertical-align:top}
table.det td:first-child{color:var(--muted);width:42%} table.det td:last-child{font-weight:600;color:var(--navy)}
.timeline{display:grid;gap:0;margin-top:6px} .tl{display:flex;gap:14px;padding:0 0 22px;position:relative}
.tl::before{content:"";position:absolute;left:9px;top:20px;bottom:0;width:2px;background:var(--line)} .tl:last-child::before{display:none}
.tl i{width:20px;height:20px;border-radius:50%;background:var(--green);border:4px solid #dff1d8;flex:none;margin-top:2px} .tl.next i{background:var(--blue);border-color:#cfe3f3}
.tl b{display:block;color:var(--navy)} .tl span{font-size:14px;color:var(--muted)}

/* forms */
.form{display:grid;gap:16px} .form .row2{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.form label{font-size:13px;font-weight:600;color:var(--navy);display:block;margin-bottom:6px}
.form input,.form select,.form textarea{width:100%;font:500 16px Inter;padding:14px 16px;border:2px solid var(--line);border-radius:12px;background:#fff;color:var(--ink)}
.form input:focus,.form select:focus,.form textarea:focus{outline:0;border-color:var(--blue)} .form textarea{min-height:120px;resize:vertical}
.note{font-size:13px;color:var(--muted)} .panel{background:#fff;border:1px solid var(--line);border-radius:22px;padding:32px;box-shadow:var(--sh)}

/* plans */
.plan{display:flex;flex-direction:column} .plan.feat{border:2px solid var(--green);position:relative}
.plan.feat::before{content:"Most popular";position:absolute;top:-13px;left:24px;background:var(--green);color:#fff;font:700 11px Inter;letter-spacing:.08em;text-transform:uppercase;padding:6px 12px;border-radius:99px}
.plan ul{margin:16px 0 22px;padding:0;list-style:none;display:grid;gap:10px;flex:1} .plan li{padding-left:26px;position:relative;font-size:15px}
.plan li::before{content:"✓";position:absolute;left:0;color:var(--green-d);font-weight:700} .plan .for{font-size:13px;color:var(--blue);font-weight:600}

/* schedule table */
.tbl{width:100%;border-collapse:collapse;background:#fff;border-radius:var(--r);overflow:hidden;border:1px solid var(--line)}
.tbl th{background:var(--navy);color:#fff;text-align:left;font:600 13px Inter;padding:14px 18px;letter-spacing:.04em} .tbl td{padding:14px 18px;border-top:1px solid var(--line);font-size:15px}
.tbl tr:nth-child(even) td{background:var(--bg)}

/* tabs */
.tabs{display:flex;gap:8px;overflow-x:auto;padding-bottom:6px;margin-bottom:26px;scrollbar-width:thin}
.tab{flex:none;font:600 14px Inter;padding:12px 18px;border-radius:12px;border:2px solid var(--line);background:#fff;color:var(--navy);cursor:pointer;white-space:nowrap}
.tab[aria-selected=true]{background:var(--navy);border-color:var(--navy);color:#fff}
.tp{display:none} .tp.on{display:block}
.cols3{display:grid;grid-template-columns:repeat(3,1fr);gap:22px} .cols3 .card h4{font-weight:700;margin-bottom:6px}
.warn{background:#fff6f6;border:1px solid #f0c2c2;border-radius:var(--r);padding:20px 24px;display:flex;gap:16px;align-items:flex-start}
.warn svg{width:28px;height:28px;color:var(--bad);flex:none;margin-top:2px} .warn h4{color:#8a1f1f;font-weight:700;margin-bottom:4px} .warn p{font-size:15px;color:#6b3030}

/* footer */
footer.main{background:var(--navy);color:#a9bfce;padding:64px 0 0;margin-top:0}
footer.main .cols{display:grid;grid-template-columns:1.4fr 1fr 1fr 1.2fr;gap:40px}
footer.main h4{color:#fff;margin-bottom:16px;font-weight:700} footer.main a{color:#a9bfce;display:block;padding:5px 0;font-size:15px} footer.main a:hover{color:#fff}
footer.main p{font-size:15px;margin-bottom:8px}
footer .logo-text{color:#fff} footer .brand{margin-bottom:16px}
footer .legal{border-top:1px solid rgba(255,255,255,.1);margin-top:44px;padding:20px 0;font-size:13px;display:flex;justify-content:space-between;flex-wrap:wrap;gap:8px}
.wa-float{position:fixed;right:18px;bottom:18px;z-index:60;width:58px;height:58px;border-radius:50%;background:#25D366;display:grid;place-items:center;box-shadow:0 10px 26px rgba(0,0,0,.3);color:#fff}
.wa-float svg{width:30px;height:30px}

/* responsive */
@media(max-width:980px){
  .hero .wrap{grid-template-columns:1fr;padding:64px 0 84px;gap:32px} .split{grid-template-columns:1fr;gap:28px}
  .g3,.g4,.cols3{grid-template-columns:repeat(2,1fr)} .steps{grid-template-columns:repeat(2,1fr)}
  .stats .wrap{grid-template-columns:repeat(2,1fr)} .stat:nth-child(2){border-right:0} .stat:nth-child(-n+2){border-bottom:1px solid var(--line)}
  footer.main .cols{grid-template-columns:1fr 1fr}
  .burger{display:block} nav.menu{display:none;position:absolute;left:0;right:0;top:100%;background:#fff;border-bottom:1px solid var(--line);flex-direction:column;align-items:stretch;padding:12px 20px 20px;box-shadow:var(--sh)}
  nav.menu.open{display:flex} nav.menu a{padding:14px}
}
@media(max-width:620px){
  .sec{padding:54px 0} .g2,.g3,.g4,.cols3,.steps,.form .row2{grid-template-columns:1fr} .cta{padding:32px 24px}
  .topbar .grp:last-child{display:none} .hero .wrap{padding:48px 0 76px} .stat{padding:16px} .stat b{font-size:26px}
  footer.main .cols{grid-template-columns:1fr} .btn{width:100%} .btn-row{flex-direction:column} .panel{padding:22px}
  .tbl th,.tbl td{padding:11px 12px;font-size:13.5px} .logo-text small{display:none}
}
@media print{.topbar,header.main,.demo,.wa-float,footer.main,.cta{display:none}}
