:root {--blue:#1b4e94;--navy:#17345e;--grey:#5a6b7e;--line:#e3e9f0}
*{box-sizing:border-box}
html,body{margin:0;min-height:100%}
body{font-family:Arial,Helvetica,sans-serif;background:#fff;color:var(--navy)}
.topline{height:6px;background:var(--blue)}
header{background:#fff;border-bottom:1px solid var(--line)}
.header-inner{max-width:1080px;margin:auto;display:flex;align-items:center;gap:22px;padding:20px 24px}
.mchs{width:65px;height:84px;object-fit:contain;flex:none}
.fullname{font-size:clamp(13px,1.5vw,17px);font-weight:700;line-height:1.55;letter-spacing:.05px}
main{min-height:calc(100svh - 180px);display:flex;align-items:center;justify-content:center}
.hero{text-align:center;padding:54px 24px 70px;max-width:920px;width:100%}
.kicker{font-size:12px;font-weight:700;letter-spacing:.17em;text-transform:uppercase;color:var(--blue);margin:0 0 16px}
.badge{display:block;width:min(350px,76vw);height:auto;margin:0 auto 20px;filter:drop-shadow(0 10px 16px rgba(15,29,50,.09))}
h1{font-size:clamp(28px,4vw,40px);line-height:1.15;font-weight:800;margin:4px 0 18px;letter-spacing:.015em}
.rule{width:58px;height:3px;background:var(--blue);margin:0 auto 22px}
.desc{font-size:clamp(16px,2vw,19px);color:var(--grey);line-height:1.7;margin:0}
footer{border-top:1px solid var(--line);padding:19px 24px;text-align:center;font-size:12px;color:#5a6b7e}
@media(max-width:640px){.header-inner{gap:12px;padding:16px}.mchs{width:49px;height:64px}.fullname{font-size:12px;line-height:1.4}.hero{padding:40px 16px 55px}.badge{width:min(295px,78vw)}.kicker{font-size:10px;letter-spacing:.10em}main{min-height:calc(100svh - 155px)}}
.fullname{min-width:0;overflow-wrap:break-word}
.button{display:inline-block;margin-top:24px;padding:13px 24px;background:var(--blue);color:#fff;border-radius:4px;text-decoration:none;font-weight:700}
.button:hover{background:var(--navy)}
.button:focus-visible{outline:3px solid #9b7428;outline-offset:4px}
.error h1{font-size:64px}.error .badge{width:min(220px,70vw)}

