:root{--blue:#006fb9;--blue-d:#005a97;--sky:#1ebbf0;--ink:#1d1f24;--muted:#555b66;--dark:#1a1c20;--bg:#fff;--soft:#f3f8fc;--line:#dfe8f0}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:"Heebo",Arial,sans-serif;color:var(--ink);background:var(--bg) url(img/bg-mem.png);line-height:1.75;font-size:17px}
img{max-width:100%;height:auto;display:block}
a{color:var(--blue)}
h1,h2,h3,h4{font-family:"Heebo",Arial,sans-serif;line-height:1.3;margin:0 0 .6em}
h1{font-size:clamp(30px,5vw,52px);font-weight:800;color:var(--sky)}
h2{font-size:clamp(24px,3.4vw,36px);font-weight:800;color:var(--sky)}
h3{font-size:22px;font-weight:700}
h4{font-size:19px;font-weight:700}
p{margin:0 0 1em}
.wrap{max-width:1180px;margin:0 auto;padding:0 20px}
/* top bar + header */
.topbar{background:var(--blue-d);color:#fff;font-size:14px}
.topbar .wrap{display:flex;gap:22px;align-items:center;justify-content:space-between;min-height:38px;flex-wrap:wrap}
.topbar a{color:#fff;text-decoration:none}
.topbar .soc{display:flex;gap:8px}
.topbar .soc a{width:26px;height:26px;border-radius:50%;background:var(--sky);display:grid;place-items:center;font-size:12px;font-weight:700}
header.site{background:var(--blue);position:sticky;top:0;z-index:50;box-shadow:0 2px 10px rgba(0,0,0,.15)}
header.site .wrap{display:flex;align-items:center;justify-content:space-between;min-height:84px;gap:20px}
.logo img{height:64px;width:auto}
nav.main>ul{list-style:none;margin:0;padding:0;display:flex;gap:4px;align-items:center}
nav.main a{color:#fff;text-decoration:none;font-weight:600;font-size:16px;padding:10px 12px;display:block;border-radius:4px}
nav.main a:hover,nav.main a.on{background:rgba(255,255,255,.14)}
nav.main li{position:relative}
nav.main li ul{display:none;position:absolute;top:100%;right:0;background:#fff;min-width:300px;list-style:none;margin:0;padding:8px 0;box-shadow:0 8px 24px rgba(0,0,0,.18);border-top:3px solid var(--sky)}
nav.main li:hover>ul,nav.main li:focus-within>ul{display:block}
nav.main li ul a{color:var(--ink);font-weight:500;font-size:15px;padding:8px 18px;border-radius:0}
nav.main li ul a:hover{background:var(--soft);color:var(--blue)}
.has-sub>a::after{content:" ▾";font-size:12px}
.burger{display:none;background:none;border:0;color:#fff;font-size:30px;cursor:pointer;padding:6px 10px}
@media(max-width:1020px){
 .burger{display:block}
 nav.main{display:none;position:absolute;top:100%;right:0;left:0;background:var(--blue);max-height:80vh;overflow:auto}
 nav.main.open{display:block}
 nav.main>ul{flex-direction:column;align-items:stretch;padding:10px 16px 18px}
 nav.main li ul{display:block;position:static;box-shadow:none;border:0;background:rgba(255,255,255,.08);min-width:0;padding:0 0 6px}
 nav.main li ul a{color:#fff;padding-right:28px}
 nav.main li ul a:hover{background:rgba(255,255,255,.12);color:#fff}
 .topbar .addr{display:none}
}
@media(max-width:700px){.topbar .mail,.topbar .soc{display:none}.topbar .wrap{justify-content:center;min-height:34px}header.site .wrap{min-height:68px}.logo img{height:50px}}
/* sections */
section{padding:70px 0}
section.blue{background:var(--blue);color:#fff}
section.blue h2,section.blue h3,section.blue h4{color:#fff}
section.blue a{color:#fff}
section.soft{background:var(--soft)}
.hero{text-align:center;padding:60px 0 30px}
.hero .sub{color:var(--sky);text-transform:none;letter-spacing:.5px;font-weight:500;font-size:18px}
.pagehead{background:linear-gradient(135deg,var(--blue),var(--blue-d));color:#fff;padding:56px 0;text-align:center}
.pagehead h1{color:#fff;margin:0}
.pagehead p{margin:.6em auto 0;max-width:760px;opacity:.95}
.cards{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;margin-top:30px}
.card{text-align:center;text-decoration:none;color:var(--ink);display:flex;flex-direction:column}
.card h3{font-size:21px;min-height:3.2em;display:flex;align-items:center;justify-content:center;text-decoration:underline;text-decoration-color:var(--sky);text-underline-offset:6px;text-decoration-thickness:3px}
.card img{width:100%;aspect-ratio:1/1;object-fit:cover;border-radius:4px;transition:transform .25s}
.card:hover img{transform:scale(1.03)}
.card.star h3{color:var(--blue)}
@media(max-width:900px){.cards{grid-template-columns:repeat(2,1fr)}}
@media(max-width:520px){.cards{grid-template-columns:1fr}}
.split{display:grid;grid-template-columns:1fr 1fr;gap:50px;align-items:center}
.split.rev>.media{order:-1}
.split .media img{width:100%;border-radius:4px}
@media(max-width:860px){.split{grid-template-columns:1fr;gap:28px}.split.rev>.media{order:0}}
.kicker{font-weight:700;font-size:20px;margin-bottom:.6em}
section.blue .kicker{color:#cfeffd}
.btns{display:flex;flex-wrap:wrap;gap:12px;margin-top:20px}
.btn{display:inline-block;padding:12px 22px;font-weight:700;text-decoration:none;border-radius:3px;background:var(--blue);color:#fff!important;border:0;cursor:pointer;font-family:inherit;font-size:16px}
.btn.sky{background:var(--sky)}
.btn.white{background:#fff;color:var(--blue)!important}
.btn.wa{background:#25d366}
.btn:hover{filter:brightness(1.08)}
.links2{display:grid;grid-template-columns:1fr 1fr;gap:6px 24px;margin:10px 0}
.links2 a{font-weight:700;font-size:19px;color:var(--ink);text-decoration:underline;text-decoration-color:var(--sky);text-underline-offset:5px}
section.blue .links2 a{color:#fff}
.notice{background:#fff;border-right:6px solid var(--sky);padding:22px 26px;border-radius:4px;box-shadow:0 4px 20px rgba(0,60,110,.08);color:var(--ink)}
.notice h3{color:var(--blue)}
.grid2{display:grid;grid-template-columns:1fr 1fr;gap:24px}
.grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.grid4{display:grid;grid-template-columns:repeat(4,1fr);gap:22px}
@media(max-width:860px){.grid2,.grid3,.grid4{grid-template-columns:1fr 1fr}}
@media(max-width:560px){.grid2,.grid3,.grid4{grid-template-columns:1fr}}
.box{background:#fff;border:1px solid var(--line);border-radius:6px;padding:22px}
.box h3,.box h4{color:var(--blue)}
.icon{width:54px;height:54px;border-radius:50%;background:var(--sky);color:#fff;display:grid;place-items:center;font-size:24px;font-weight:800;margin-bottom:12px}
ul.check{list-style:none;padding:0;margin:0 0 1em}
ul.check li{position:relative;padding-right:32px;margin-bottom:.55em}
ul.check li::before{content:"✓";position:absolute;right:0;top:0;color:var(--sky);font-weight:900;font-size:20px}
section.blue ul.check li::before{color:#bdeeff}
ul.cross li::before{content:"✕";color:#e05a5a}
.toc{background:var(--soft);border:1px solid var(--line);border-radius:6px;padding:20px 26px;margin-bottom:40px}
.toc ol{margin:0;padding-right:20px}
.toc a{text-decoration:none}
article.doc h2{margin-top:1.6em}
article.doc h3{margin-top:1.2em;color:var(--blue)}
article.doc{max-width:900px;margin:0 auto}
details.faq{background:#fff;border:1px solid var(--line);border-radius:6px;margin-bottom:12px;padding:0 20px}
details.faq summary{cursor:pointer;font-weight:700;font-size:18px;padding:16px 0;list-style:none;color:var(--blue)}
details.faq summary::-webkit-details-marker{display:none}
details.faq summary::before{content:"+";display:inline-block;width:24px;font-weight:900;color:var(--sky)}
details.faq[open] summary::before{content:"−"}
.vs{display:grid;grid-template-columns:1fr 1fr;gap:24px}
.vs .box.good{border-top:5px solid var(--sky)}
.vs .box.bad{border-top:5px solid #c9ced6}
@media(max-width:700px){.vs{grid-template-columns:1fr}}
blockquote.t{background:#fff;border:1px solid var(--line);border-radius:6px;padding:26px;margin:0 0 22px;position:relative}
blockquote.t::before{content:"”";position:absolute;top:-8px;right:18px;font-size:70px;color:var(--sky);line-height:1}
blockquote.t cite{display:block;margin-top:10px;font-style:normal;font-weight:700;color:var(--blue)}
.cta{background:var(--blue);color:#fff;text-align:center;padding:60px 0}
.cta h2{color:#fff}
.cta .big{font-size:30px;font-weight:800;direction:ltr;display:inline-block}
form.contact{display:grid;gap:14px}
form.contact input,form.contact textarea,form.contact select{width:100%;padding:12px 14px;border:1px solid var(--line);border-radius:4px;font-family:inherit;font-size:16px}
form.contact textarea{min-height:130px}
.small{font-size:14px;color:var(--muted)}
.ltr{direction:ltr;unicode-bidi:embed}
footer.site{background:var(--dark);color:#c9ccd3;padding:56px 0 0;font-size:15px}
footer.site h4{color:#fff}
footer.site a{color:#c9ccd3}
footer.site .cols{display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:34px}
@media(max-width:760px){footer.site .cols{grid-template-columns:1fr}}
footer.site .bottom{border-top:1px solid #2c2f36;margin-top:40px;padding:18px 0;text-align:center;font-size:13px}
.wa-float{position:fixed;left:20px;bottom:20px;width:58px;height:58px;border-radius:50%;background:#25d366;display:grid;place-items:center;box-shadow:0 4px 14px rgba(0,0,0,.25);z-index:60}
.wa-float svg{width:32px;height:32px;fill:#fff}
.tag{display:inline-block;background:var(--sky);color:#fff;font-size:13px;font-weight:700;padding:3px 10px;border-radius:20px;margin-bottom:10px}
table.t{width:100%;border-collapse:collapse;margin:1em 0;background:#fff}
table.t th,table.t td{border:1px solid var(--line);padding:10px 12px;text-align:right;vertical-align:top}
table.t th{background:var(--soft);color:var(--blue)}
.posts{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.post{background:#fff;border:1px solid var(--line);border-radius:6px;overflow:hidden;text-decoration:none;color:var(--ink);display:flex;flex-direction:column}
.post img{aspect-ratio:16/10;object-fit:cover;width:100%}
.post div{padding:18px}
.post h3{font-size:19px;color:var(--blue)}
@media(max-width:860px){.posts{grid-template-columns:1fr}}
