@font-face{font-family:Montserrat;font-weight:400;font-display:swap;src:url(assets/fonts/montserrat-400.woff2) format("woff2")}
@font-face{font-family:Montserrat;font-weight:600;font-display:swap;src:url(assets/fonts/montserrat-600.woff2) format("woff2")}
@font-face{font-family:Montserrat;font-weight:700;font-display:swap;src:url(assets/fonts/montserrat-700.woff2) format("woff2")}
@font-face{font-family:Montserrat;font-weight:800;font-display:swap;src:url(assets/fonts/montserrat-800.woff2) format("woff2")}
:root{--g:#272D2D;--b:#6883BA;--r:#ff3643;--p:#CEDADA;--w:#FFFCF9;--bd:#4a6296}
*{box-sizing:border-box}html{scroll-behavior:smooth}
body{margin:0;font-family:Montserrat,Arial,sans-serif;color:var(--g);background:var(--w);line-height:1.6;font-size:17px}
img{max-width:100%;height:auto;display:block}
a{color:var(--bd)}a:focus-visible,.btn:focus-visible{outline:3px solid var(--b);outline-offset:3px}
.skip{position:absolute;left:-999px}.skip:focus{left:1rem;top:1rem;background:var(--w);padding:.5rem;z-index:9}
.wrap{max-width:1120px;margin:0 auto;padding:0 1.25rem}
header.top{background:var(--g);color:var(--w)}
header.top .wrap{display:flex;justify-content:space-between;align-items:center;padding-top:1rem;padding-bottom:1rem;gap:1rem}
.brand{font-weight:800;letter-spacing:.04em;color:var(--w);text-decoration:none;font-size:1.15rem}.brand span{color:var(--p);font-weight:600;font-size:.85rem;margin-left:.5rem}
nav a{color:var(--w);text-decoration:none;font-weight:600;font-size:.9rem;margin-left:1.2rem}
section{padding:4.5rem 0}
h1,h2,h3{line-height:1.2;margin:0 0 1rem}h1{font-size:clamp(2rem,5vw,3.3rem);font-weight:800}
h2{font-size:clamp(1.6rem,3.4vw,2.3rem);font-weight:800}h3{font-size:1.15rem;font-weight:700}
.kicker{text-transform:uppercase;letter-spacing:.12em;font-size:.8rem;font-weight:700;color:var(--bd);margin-bottom:.6rem}
.hero{background:var(--g);color:var(--w);padding:5rem 0 5.5rem;border-bottom:6px solid var(--r)}
.hero .kicker{color:var(--p)}.hero p.lead{font-size:1.2rem;max-width:46rem;color:#e9efef}
.hero-grid{display:grid;grid-template-columns:1.6fr 1fr;gap:3rem;align-items:center}
.hero-logo{border-radius:16px;background:var(--w);padding:1rem;max-width:300px;justify-self:end}
.ctas{display:flex;flex-wrap:wrap;gap:1rem;margin:2rem 0 1rem}
.btn{display:inline-block;padding:.9rem 1.5rem;border-radius:6px;font-weight:700;text-decoration:none;border:2px solid transparent}
.btn-red{background:var(--r);color:#fff}.btn-red:hover{background:#e62a37}
.btn-ghost{border-color:var(--w);color:var(--w)}.btn-ghost:hover{background:rgba(255,255,255,.1)}
.btn-dark{border-color:var(--g);color:var(--g)}.btn-dark:hover{background:var(--p)}
.note{font-size:.9rem;color:var(--p)}
.alt{background:#eef3f3}
.problem p{max-width:48rem;font-size:1.1rem}
.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem;margin-top:2rem}
.card{background:#fff;border:1px solid var(--p);border-top:5px solid var(--b);border-radius:8px;padding:1.6rem}
.card p{margin:0}
.flow{list-style:none;padding:0;margin:2rem 0 3rem;display:flex;flex-wrap:wrap;gap:.6rem;counter-reset:s}
.flow li{background:var(--g);color:var(--w);padding:.6rem 1rem;border-radius:6px;font-weight:600;font-size:.95rem;position:relative}
.flow li:not(:last-child)::after{content:"→";margin-left:.7rem;color:var(--r);font-weight:800}
.gallery{display:grid;grid-template-columns:repeat(2,1fr);gap:1.5rem}
figure{margin:0;background:#fff;border:1px solid var(--p);border-radius:8px;overflow:hidden}
figure img{width:100%;aspect-ratio:16/11;object-fit:cover;object-position:top left;border-bottom:1px solid var(--p)}
figcaption{padding:.8rem 1rem;font-weight:600;font-size:.92rem}
.nis{background:var(--b);color:#fff}.nis .kicker{color:var(--w)}.nis p{max-width:48rem;font-size:1.15rem}
.nis h2,.nis p{color:#fff}.nis{background:var(--bd)}
.steps{list-style:none;padding:0;display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem;margin:2rem 0 1rem}
.steps li{background:#fff;border:1px solid var(--p);border-radius:8px;padding:1.5rem}
.steps .n{display:inline-flex;width:2.4rem;height:2.4rem;border-radius:50%;background:var(--r);color:#fff;font-weight:800;align-items:center;justify-content:center;margin-bottom:.8rem}
.tag{display:inline-block;background:var(--p);padding:.4rem .9rem;border-radius:999px;font-weight:600;font-size:.9rem}
.demo{background:var(--g);color:var(--w)}.demo .kicker{color:var(--p)}.demo p{max-width:42rem;font-size:1.1rem}
.partners .box{border:2px solid var(--g);border-radius:10px;padding:2rem;display:flex;justify-content:space-between;align-items:center;gap:2rem;flex-wrap:wrap}
.partners p{margin:0;max-width:40rem}
footer{background:var(--g);color:var(--p);padding:2.5rem 0;font-size:.92rem}
footer a{color:var(--w)}footer .wrap,footer .footer-grid{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1.25rem}
footer strong{color:var(--w)}
.btn-footer{background:var(--b);color:#fff;border-color:var(--b);white-space:nowrap}.btn-footer:hover{background:var(--bd);color:#fff}
.footer-links{margin:.4rem 0 0}
@media(max-width:820px){.hero-grid,.cards,.steps,.gallery{grid-template-columns:1fr}.hero-logo{display:none}nav{display:none}section{padding:3.2rem 0}.btn{width:100%;text-align:center}}
.legal h1{font-size:2rem}.legal h2{font-size:1.3rem;margin-top:2rem}.todo{background:#fff1f2;border:1px dashed var(--r);padding:0 .3rem;font-weight:700}
