.hanjo-footer{width:100%;max-width:none;margin:0;padding:0;background:var(--hf-bg);color:var(--hf-text);font-family:inherit;font-size:14px;line-height:1.8;text-align:left;clear:both;isolation:isolate}
.hanjo-footer *{box-sizing:border-box}.hanjo-footer .hf-wrap{width:min(1180px,100%);margin:0 auto;padding:0 30px}.hanjo-footer a{color:inherit;text-decoration:none;box-shadow:none}.hanjo-footer a:hover{text-decoration:underline}.hanjo-footer a:focus-visible{outline:3px solid var(--hf-accent);outline-offset:4px}
.hanjo-footer h2,.hanjo-footer h3{background:none;border:0;border-radius:0;box-shadow:none;color:inherit;font-family:inherit;letter-spacing:normal;position:static;transform:none}.hanjo-footer h2:before,.hanjo-footer h2:after,.hanjo-footer h3:before,.hanjo-footer h3:after{content:none;display:none}
.hanjo-footer .hf-top{background:var(--hf-light);color:#163958;padding:38px 0 25px}.hanjo-footer .hf-top h2{font-size:clamp(21px,2.5vw,28px);font-weight:700;line-height:1.5;margin:0 0 10px;padding:0}.hanjo-footer .hf-intro{margin:0 0 22px;font-size:15px}.hanjo-footer .hf-actions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.hanjo-footer .hf-action{display:flex;flex-direction:column;min-width:0;padding:22px;background:#fff;color:#163958;border:1px solid #d5e2ed;border-radius:10px;text-decoration:none;transition:box-shadow .15s}.hanjo-footer .hf-action:hover{box-shadow:0 4px 15px #123b631a;text-decoration:none}.hanjo-footer .hf-action strong{font-size:18px;font-weight:700;line-height:1.6}.hanjo-footer .hf-detail{font-size:13px;display:block;margin:8px 0 18px}.hanjo-footer .hf-button{display:block;margin-top:auto;padding:11px 14px;text-align:center;background:var(--hf-accent);color:#123450;border-radius:6px;font-weight:700;line-height:1.6}.hanjo-footer .hf-action-2 .hf-button{background:#06C755!important;color:#ffffff!important}.hanjo-footer .hf-action-3 .hf-button{background:#e9f2f9;border:1px solid #b7cde0}.hanjo-footer .hf-condition{font-size:12px;margin:14px 0 0}.hanjo-footer .hf-banner{display:block;max-width:100%;width:100%;height:auto;margin:auto}
.hanjo-footer .hf-main{display:grid;grid-template-columns:1.25fr 1fr 1fr;gap:45px;padding-top:42px;padding-bottom:42px}.hanjo-footer .hf-brand{display:block;font-size:32px;font-weight:800;letter-spacing:2px;line-height:1.4}.hanjo-footer .hf-brand img{display:block;width:auto;max-width:240px;max-height:80px;height:auto;object-fit:contain;margin:0}.hanjo-footer .hf-tagline{font-size:18px;font-weight:700;margin:18px 0 10px}.hanjo-footer .hf-description{font-size:14px;margin:0;overflow-wrap:anywhere}.hanjo-footer .hf-main h3{font-size:15px;font-weight:700;margin:0 0 12px;padding:0 0 10px;border-bottom:1px solid currentColor;line-height:1.6}
.hanjo-footer .hf-links,.hanjo-footer .hf-inline{list-style:none;margin:0;padding:0}.hanjo-footer li{list-style:none;margin:0;padding:0;border:0}.hanjo-footer li:before{content:none}.hanjo-footer .hf-links a{display:block;padding:7px 0;font-size:14px;overflow-wrap:anywhere;line-height:1.7}.hanjo-footer .hf-bottom{background:#0003;padding:24px 0}.hanjo-footer .hf-inline{display:flex;flex-wrap:wrap;gap:4px 22px}.hanjo-footer .hf-inline a{display:block;font-size:13px;padding:6px 0}.hanjo-footer .hf-partner-title{font-size:12px;margin:20px 0 4px}.hanjo-footer .hf-bottom small{display:block;text-align:center;font-size:12px;margin-top:22px;overflow-wrap:anywhere}
@media(max-width:900px){.hanjo-footer .hf-main{gap:25px;grid-template-columns:1fr 1fr}.hanjo-footer .hf-brand-area{grid-column:1/-1}.hanjo-footer .hf-actions{gap:10px}.hanjo-footer .hf-action{padding:16px}.hanjo-footer .hf-action strong{font-size:16px}}
@media(max-width:600px){.hanjo-footer .hf-wrap{padding-left:20px;padding-right:20px}.hanjo-footer .hf-actions,.hanjo-footer .hf-main{grid-template-columns:1fr}.hanjo-footer .hf-action{padding:20px}.hanjo-footer .hf-main{padding-top:30px;padding-bottom:30px;gap:28px}.hanjo-footer .hf-links a,.hanjo-footer .hf-inline a{min-height:44px;display:flex;align-items:center}.hanjo-footer .hf-brand{font-size:28px}.hanjo-footer .hf-top{padding-top:28px}.hanjo-footer .hf-banner{max-width:360px}}
@media(prefers-reduced-motion:reduce){.hanjo-footer .hf-action{transition:none}}

/* v1.2: brand alignment and quieter navigation */
.hanjo-footer .hf-brand,.hanjo-footer .hf-tagline{text-align:center}
.hanjo-footer .hf-brand img{margin-left:auto;margin-right:auto}
.hanjo-footer .hf-main nav{min-width:0}
.hanjo-footer .hf-main h3{border-bottom:1px solid #ffffff26;padding:0 0 16px;margin-bottom:12px;letter-spacing:.035em}
.hanjo-footer .hf-main h3:before{content:"";display:inline-block;position:static;transform:none;width:4px;height:15px;margin:0 10px 0 0;background:var(--hf-accent);vertical-align:-2px;border:0;border-radius:2px;box-shadow:none}
.hanjo-footer .hf-links a{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:9px 10px;border-radius:5px;transition:background .15s}
.hanjo-footer .hf-links a:after{content:"›";position:static;transform:none;background:none;border:0;box-shadow:none;flex-shrink:0;font-size:20px;line-height:1;opacity:.55}
.hanjo-footer .hf-links a:hover{background:#ffffff0d;text-decoration:none}
@media(prefers-reduced-motion:reduce){.hanjo-footer .hf-links a{transition:none}}
