@font-face{font-family:Poppins;font-weight:300;font-display:swap;src:url(fonts/poppins-300.woff2) format('woff2')}
@font-face{font-family:Poppins;font-weight:400;font-display:swap;src:url(fonts/poppins-400.woff2) format('woff2')}
@font-face{font-family:Poppins;font-weight:600;font-display:swap;src:url(fonts/poppins-600.woff2) format('woff2')}
:root{--navy:#002141;--blue:#004181;--red:#d9171e;--ink:#1b1f24;--muted:#5e6670;--line:#dfe3e8;--bg:#f4f6f8}
*{box-sizing:border-box}body{margin:0;font-family:Poppins,system-ui,Arial,sans-serif;font-weight:300;color:var(--ink);line-height:1.6}
img{max-width:100%;display:block}a{color:var(--blue)}h1,h2,h3{color:var(--navy);font-weight:600;line-height:1.25;margin:0 0 .5em}
h1{font-size:clamp(1.7rem,4vw,2.8rem)}h2{font-size:clamp(1.4rem,2.6vw,2rem)}
.wrap{max-width:1180px;margin:0 auto;padding:0 20px}.narrow{max-width:820px}
.top{background:var(--navy);color:#cfd8e3;font-size:.8rem;padding:6px 0}
header{border-bottom:1px solid var(--line);background:#fff;position:sticky;top:0;z-index:10}
.hd{display:flex;align-items:center;justify-content:space-between;min-height:66px;padding:8px 0}
.logo{display:flex;gap:10px;align-items:center;text-decoration:none;color:var(--navy);font-size:1.3rem;font-weight:400}.logo b{color:var(--red)}
nav a{margin-left:22px;text-decoration:none;color:var(--ink);font-weight:400}nav a.on,nav a:hover{color:var(--red)}
.mt{display:none;font-size:1.6rem;background:none;border:0}
.pend{background:#fff3cd;color:#7a5b00;padding:1px 6px;border-radius:3px;font-size:.85em}
.hero{position:relative;height:min(78vh,620px);overflow:hidden;background:var(--navy)}
.sl{position:absolute;inset:0;opacity:0;transition:opacity .8s}.sl.on{opacity:1;z-index:1}
.sl img{width:100%;height:100%;object-fit:cover}
.cap{position:absolute;left:0;right:0;bottom:70px;color:#fff}.cap h1{color:#fff;max-width:620px}.cap p{max-width:560px;font-size:1.1rem}
.step{display:inline-block;background:var(--red);padding:2px 10px;font-size:.8rem;margin-bottom:10px;border-radius:2px}
.dots{position:absolute;bottom:24px;left:0;right:0;text-align:center;z-index:2}.dots button{width:11px;height:11px;border-radius:50%;border:0;margin:0 4px;background:#ffffff80;cursor:pointer}.dots .on{background:#fff}
.ar{position:absolute;top:45%;z-index:2;background:#0006;color:#fff;border:0;font-size:2rem;width:44px;height:56px;cursor:pointer}.pv{left:0}.nx{right:0}
.btn{display:inline-block;background:var(--red);color:#fff;padding:11px 22px;border-radius:3px;text-decoration:none;font-weight:400;border:0;cursor:pointer;font:inherit}.btn:hover{background:#b51218;color:#fff}
.btn.ghost{background:transparent;border:1px solid #fff}.btn.sm{padding:7px 14px;font-size:.9rem}
.sec{padding:56px 20px}.lead{font-size:1.1rem;color:var(--muted);max-width:820px}
.cg{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:18px;margin-top:26px}
.cc{border:1px solid var(--line);padding:0;overflow:hidden;text-decoration:none;color:var(--ink);border-top:4px solid var(--navy);transition:.2s}.cc:hover{border-top-color:var(--red);box-shadow:0 6px 20px #0001}.cc span{color:var(--red);font-weight:400}.cc-img{aspect-ratio:4/3;overflow:hidden;background:#e8eef4}.cc-img img{width:100%;height:100%;object-fit:cover}.cc h3,.cc p,.cc span{padding-left:22px;padding-right:22px}.cc h3{margin-top:16px}.cc p{margin:0 0 8px}.cc span{display:inline-block;padding-bottom:18px}
.band{background:var(--bg);padding:46px 0}.three{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}
.cta{text-align:center}
.ph{background:linear-gradient(120deg,var(--navy),#0b4f86);color:#fff;padding:44px 0}.ph h1{color:#fff}
.chips a{display:inline-block;margin:4px 6px 0 0;padding:4px 12px;border:1px solid #fff8;color:#fff;text-decoration:none;border-radius:20px;font-size:.9rem}
.pc{padding:40px 0 10px;scroll-margin-top:80px}.pg{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:18px}
.card{border:1px solid var(--line);padding:20px;display:flex;flex-direction:column;overflow:hidden}.card-img{margin:-20px -20px 14px;aspect-ratio:4/3;overflow:hidden;background:#e8eef4;border-bottom:1px solid var(--line)}.card-img img{width:100%;height:100%;object-fit:cover}
dl{margin:0 0 10px;font-size:.92rem}dt{font-weight:600;color:var(--navy);margin-top:6px}dd{margin:0}
.org{list-style:none;padding:10px 0 0;margin:0 0 14px;border-top:1px dashed var(--line);font-size:.9rem;flex:1}.org em{color:#8a6d00}
.card .btn{align-self:flex-start}
.note{font-size:.88rem;color:var(--muted);margin:30px 0}.warn{background:#fff3cd;padding:12px 16px;border-left:4px solid #e0a800}
.form{display:grid;grid-template-columns:1fr 1fr;gap:14px}.form label{display:flex;flex-direction:column;font-weight:400;font-size:.92rem}.form .full{grid-column:1/-1}
input,select,textarea{font:inherit;padding:9px;border:1px solid #c6ccd3;border-radius:3px;margin-top:4px}
footer{background:var(--navy);color:#cfd8e3;padding:40px 0 20px;margin-top:40px}footer a{display:block;color:#cfd8e3;text-decoration:none;font-size:.9rem}footer b{color:#fff}
.fg{display:grid;grid-template-columns:2fr 1fr 1fr;gap:30px}.legal{font-size:.78rem;border-top:1px solid #ffffff22;margin-top:24px;padding-top:14px;opacity:.8}

.logo .brand{display:flex;flex-direction:column;line-height:1.15}
.logo .brand small{font-size:.72rem;font-weight:300;color:var(--muted);letter-spacing:.02em}
.tag,.tagline{color:#9ec3e0;font-size:1rem;margin:0 0 8px;font-weight:400}
.card .code{display:inline-block;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.82rem;font-weight:600;letter-spacing:.04em;background:#eef3f8;color:var(--navy);padding:3px 8px;border-radius:3px;margin-bottom:8px;border:1px solid var(--line)}
.card-note{font-size:.85rem;color:#8a6d00;margin:0 0 12px}
.contact-card p{margin:.4em 0}
footer .tag{color:#9ec3e0;margin:0 0 8px}

@media(max-width:760px){.mt{display:block}nav{display:none;position:absolute;top:66px;left:0;right:0;background:#fff;border-bottom:1px solid var(--line);padding:10px 20px}.mo nav{display:block}nav a{display:block;margin:10px 0}
.three,.fg,.form{grid-template-columns:1fr}.hero{height:520px}.cap{bottom:56px}.cap p{font-size:.95rem}.ar{display:none}.top{display:none}}

.img-ph{display:flex;align-items:center;justify-content:center;min-height:180px;background:repeating-linear-gradient(45deg,#eef2f5,#eef2f5 12px,#e2e8ee 12px,#e2e8ee 24px);color:#5b6b7a;font:600 13px/1.4 system-ui,sans-serif;text-align:center;border:1px dashed #b9c6d2;border-radius:8px;padding:16px}
.backlink{margin:24px auto;max-width:1100px;padding:0 16px}
