/* KOTO R3.7.4 — single authoritative public footer stylesheet. */
.koto-main-footer,.koto-main-footer *{box-sizing:border-box}
.koto-main-footer{--kmf-bg:#050606;--kmf-gold:#d8ad59;--kmf-gold2:#f0d08b;clear:both;width:100%;overflow:visible;background:radial-gradient(circle at 74% 16%,rgba(49,35,13,.38),transparent 32%),linear-gradient(180deg,#070808,#030404);border-top:1px solid rgba(216,173,89,.28);padding:54px clamp(24px,4.5vw,78px) 22px;color:#f2f0eb}
.koto-main-footer .kmf-inner{width:min(1500px,100%);margin:auto;display:grid;grid-template-columns:minmax(560px,1.08fr) minmax(500px,.92fr);gap:clamp(52px,7vw,118px);align-items:start}
.koto-main-footer .kmf-links{display:grid;grid-template-columns:1.2fr 1fr .8fr;gap:clamp(34px,4vw,76px);padding:18px 0 0}
.koto-main-footer .kmf-links section{min-width:0}
.koto-main-footer .kmf-links h3{margin:0 0 24px;color:var(--kmf-gold2);font:600 clamp(19px,1.45vw,25px)/1.35 "Noto Serif CJK SC","Noto Serif JP",Georgia,serif;letter-spacing:.08em}
.koto-main-footer .kmf-links a{display:block;width:max-content;max-width:100%;margin:0 0 17px;color:#f2f0eb;font-size:clamp(14px,1vw,17px);line-height:1.35;text-decoration:none;transition:color .2s,transform .2s;overflow-wrap:anywhere}
.koto-main-footer .kmf-links a:hover,.koto-main-footer .kmf-links a:focus-visible{color:var(--kmf-gold2);transform:translateX(3px);outline:none}
.koto-main-footer .kmf-brand{min-width:0;padding:0;text-align:center;border:0;background:transparent;color:var(--kmf-gold)}
.koto-main-footer .kmf-brand h2{margin:0;color:var(--kmf-gold2);font:400 clamp(22px,1.75vw,31px)/1.45 Georgia,"Noto Serif CJK SC","Noto Serif JP",serif;letter-spacing:.12em}
.koto-main-footer .kmf-brand>p{margin:12px 0 30px;color:var(--kmf-gold);font-size:clamp(9px,.75vw,12px);letter-spacing:.48em}
.koto-main-footer .ksf-socials{display:grid;grid-template-columns:repeat(3,minmax(105px,1fr));gap:19px;align-items:start;justify-content:center;width:min(520px,100%);margin:auto}
.koto-main-footer .ksf-item{position:relative;display:flex!important;flex-direction:column;align-items:center;min-width:0}
.koto-main-footer .ksf-icon{appearance:none;width:60px;height:60px;border:1.5px solid var(--kmf-gold)!important;border-radius:50%;background:rgba(5,6,6,.72)!important;color:var(--kmf-gold2)!important;display:grid;place-items:center;padding:16px;cursor:pointer;transition:background .22s,color .22s,box-shadow .22s,transform .22s}
.koto-main-footer .ksf-icon svg{display:block;width:30px;height:30px;fill:currentColor}
.koto-main-footer .ksf-icon:hover,.koto-main-footer .ksf-icon:focus-visible{background:var(--kmf-gold)!important;color:#070707!important;box-shadow:0 0 27px rgba(216,173,89,.27);transform:translateY(-2px);outline:none}
.koto-main-footer .ksf-item em{display:block;margin-top:9px;color:#f2f0eb;font:normal clamp(12px,.95vw,16px)/1.3 Arial,sans-serif}
.koto-main-footer .ksf-pop{position:absolute;z-index:120;left:50%;bottom:calc(100% + 15px);transform:translate(-50%,8px);width:184px;padding:16px;border:1px solid rgba(216,173,89,.78);border-radius:12px;background:#11110f;box-shadow:0 12px 38px rgba(0,0,0,.62);display:grid;justify-items:center;gap:9px;opacity:0;visibility:hidden;pointer-events:none;transition:.2s}
.koto-main-footer .ksf-item:hover .ksf-pop,.koto-main-footer .ksf-item:focus-within .ksf-pop,.koto-main-footer .ksf-item.is-open .ksf-pop{opacity:1;visibility:visible;pointer-events:auto;transform:translate(-50%,0)}
.koto-main-footer .ksf-pop img{display:block;width:140px;height:140px;padding:5px;border-radius:6px;background:#fff;object-fit:contain}
.koto-main-footer .ksf-pop strong{color:var(--kmf-gold2)}
.koto-main-footer .ksf-pop small{color:#f2f0eb;font-size:12px;overflow-wrap:anywhere;text-align:center}
.koto-main-footer .ksf-pop a{color:var(--kmf-gold2);font-size:12px}
.koto-main-footer .ksf-pop-close{display:none;position:absolute;right:5px;top:2px;border:0;background:none;color:#ddd;font-size:22px;cursor:pointer}
.koto-main-footer .kmf-rule{position:relative;width:min(1500px,100%);height:1px;margin:42px auto 20px;background:var(--kmf-gold)}
.koto-main-footer .kmf-rule span{position:absolute;left:50%;top:50%;width:10px;height:10px;border:1px solid var(--kmf-gold);background:var(--kmf-bg);box-shadow:0 0 0 3px var(--kmf-bg);transform:translate(-50%,-50%) rotate(45deg)}
.koto-main-footer .kmf-copy{text-align:center;color:#d8d6d1;font-size:clamp(11px,.85vw,14px)}
.koto-main-footer .kmf-staff{display:block;width:max-content;margin:12px auto 0;color:#b99a5a;font-size:12px;text-decoration:underline;text-underline-offset:3px}
.koto-main-footer .kmf-staff:hover,.koto-main-footer .kmf-staff:focus-visible{color:var(--kmf-gold2);outline:none}
@media(max-width:1100px){.koto-main-footer .kmf-inner{grid-template-columns:1fr;gap:42px}.koto-main-footer .kmf-brand{width:min(680px,100%);margin:auto}.koto-main-footer .kmf-links{padding-top:0}.koto-main-footer .kmf-rule{margin-top:38px}}
@media(max-width:700px){.koto-main-footer{padding:38px 18px 19px}.koto-main-footer .kmf-links{grid-template-columns:repeat(2,minmax(0,1fr));gap:28px 20px}.koto-main-footer .kmf-links section:last-child{grid-column:1/-1}.koto-main-footer .kmf-links h3{margin-bottom:17px}.koto-main-footer .kmf-links a{margin-bottom:13px}.koto-main-footer .kmf-inner{gap:34px}.koto-main-footer .kmf-brand h2{line-height:1.65;letter-spacing:.07em}.koto-main-footer .kmf-brand>p{margin:9px 0 25px;letter-spacing:.28em}.koto-main-footer .ksf-socials{grid-template-columns:repeat(3,minmax(78px,1fr));gap:14px}.koto-main-footer .ksf-icon{width:50px;height:50px;padding:13px}.koto-main-footer .ksf-icon svg{width:27px;height:27px}.koto-main-footer .ksf-pop-close{display:block}.koto-main-footer .ksf-item:hover .ksf-pop:not([aria-hidden="false"]){opacity:0;visibility:hidden;pointer-events:none}.koto-main-footer .kmf-rule{margin-top:32px}}
@media(max-width:390px){.koto-main-footer{padding-inline:12px}.koto-main-footer .kmf-links{gap:19px 14px}.koto-main-footer .ksf-socials{gap:8px}.koto-main-footer .ksf-icon{width:50px;height:50px}.koto-main-footer .ksf-item em{font-size:11px}}
