/* Shared agency header and footer; logo geometry follows branding.kim. */
:root{--header-unit:calc(100vw / 1200);--header-logo-top:18;--header-logo-left:31}
body>header{height:calc(64 * var(--header-unit));min-height:0;padding:0;display:block;position:sticky;top:0;box-sizing:border-box}
body>header>a:first-child{position:absolute;left:calc(var(--header-logo-left) * var(--header-unit));top:calc(var(--header-logo-top) * var(--header-unit));display:block;margin:0;line-height:0}
body>header>a:first-child .logo{display:block;width:calc(92 * var(--header-unit));height:auto;max-width:none;margin:0}
body>header nav{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);display:flex;align-items:center;gap:32px;margin:0;padding:0;font-size:15px;line-height:1.2;white-space:nowrap}
body>header nav a{display:block;margin:0;padding:0;line-height:1.2}
body>header>.button{position:absolute;right:calc(31 * var(--header-unit));top:50%;transform:translateY(-50%);margin:0;padding:13px 18px;font-size:15px;line-height:1.2;min-height:45px;gap:38px;box-sizing:border-box}
body>header>.button:hover{transform:translateY(-50%)}
body>footer.wrap{width:92%;max-width:1440px;margin-inline:auto;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));align-items:center;gap:24px;padding:45px 0;font-size:14px;line-height:1.4}
body>footer>*{margin:0;justify-self:start}
body>footer>:last-child{justify-self:end;text-align:right}
body>footer .logo{width:106px;height:auto;display:block}
body>footer .agency-link{display:inline-flex;align-items:center;gap:8px;white-space:nowrap}
@media(min-width:960px) and (max-width:1199px){:root{--header-unit:calc(100vw / 960);--header-logo-top:28}body>header nav{gap:18px}}
@media(min-width:640px) and (max-width:959px){:root{--header-unit:calc(100vw / 640);--header-logo-top:28}body>header nav{display:none}}
@media(max-width:639px){:root{--header-unit:calc(100vw / 360);--header-logo-top:15;--header-logo-left:17}body>header{height:calc(60 * var(--header-unit))}body>header nav{display:none}body>header>.button{right:calc(17 * var(--header-unit));padding:12px 14px;font-size:14px;gap:16px;min-height:42px}body>footer.wrap{width:calc(100% - 36px);grid-template-columns:1fr 1fr;gap:24px 16px;padding:30px 0;font-size:13px}body>footer>:nth-child(even){justify-self:end;text-align:right}body>footer .logo{width:92px}}
