:root{--brand:#4f46e5;--ink:#0f172a;--ink-soft:#475569;--ink-faint:#94a3b8;--line:#e2e8f0;--surface:#fff;--canvas:#f6f7fb;--radius:16px;--shadow:0 1px 2px #0f172a0a, 0 12px 32px #0f172a0f}*{box-sizing:border-box;margin:0;padding:0}html{-webkit-text-size-adjust:100%}body{background:var(--canvas);min-height:100vh;color:var(--ink);-webkit-font-smoothing:antialiased;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;font-size:16px;line-height:1.55}a{color:inherit}.page{flex-direction:column;min-height:100vh;display:flex}.page>.layout{flex:1}.boot,.notice{text-align:center;min-height:70vh;color:var(--ink-soft);flex-direction:column;justify-content:center;align-items:center;gap:14px;padding:40px 24px;display:flex}.boot-spinner{border:3px solid var(--line);border-top-color:var(--brand);border-radius:50%;width:26px;height:26px;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.notice h1{color:var(--ink);font-size:22px}.notice p{max-width:42ch}.masthead{background:var(--surface);border-bottom:1px solid var(--line)}.masthead-inner{justify-content:space-between;align-items:center;gap:20px;max-width:1080px;margin:0 auto;padding:18px 24px;display:flex}.brand{align-items:center;gap:14px;min-width:0;text-decoration:none;display:flex}.brand img{-o-object-fit:contain;object-fit:contain;max-width:200px;height:40px}.brand .brand-name{letter-spacing:-.01em;white-space:nowrap;text-overflow:ellipsis;font-size:17px;font-weight:650;overflow:hidden}.call-link{border:1px solid var(--line);color:var(--ink);white-space:nowrap;border-radius:999px;align-items:center;gap:8px;padding:9px 16px;font-size:14px;font-weight:600;text-decoration:none;transition:border-color .15s,color .15s;display:inline-flex}.call-link:hover{border-color:var(--brand);color:var(--brand)}.call-link svg{width:16px;height:16px}.hero{background:linear-gradient(180deg, color-mix(in srgb, var(--brand) 8%, #fff) 0%, var(--canvas) 100%)}.hero-inner{max-width:1080px;margin:0 auto;padding:52px 24px 44px}.hero h1{letter-spacing:-.02em;font-size:clamp(28px,4.2vw,38px);font-weight:680;line-height:1.15}.hero p{max-width:56ch;color:var(--ink-soft);margin-top:12px;font-size:17px}.layout{grid-template-columns:minmax(0,1.45fr) minmax(280px,.85fr);align-items:start;gap:32px;max-width:1080px;margin:0 auto;padding:40px 24px 72px;display:grid}@media (width<=900px){.layout{grid-template-columns:minmax(0,1fr);padding-top:28px}}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);padding:32px}@media (width<=520px){.card{padding:22px}.hero-inner{padding:38px 20px 32px}.layout{gap:20px;padding-left:16px;padding-right:16px}.masthead-inner{padding:14px 16px}}.card-title{letter-spacing:.06em;text-transform:uppercase;color:var(--ink-faint);margin-bottom:18px;font-size:13px;font-weight:700}.aside{flex-direction:column;gap:20px;display:flex}.aside .card{padding:24px}.place+.place{border-top:1px solid var(--line);margin-top:18px;padding-top:18px}.place-name{font-size:15px;font-weight:650}.place-line{color:var(--ink-soft);margin-top:4px;font-size:14px}.place-line a{color:var(--brand);text-decoration:none}.place-line a:hover{text-decoration:underline}.place-hint{color:var(--ink-faint);margin-top:12px;font-size:12.5px;line-height:1.45}.more-offices{font:inherit;color:var(--brand);cursor:pointer;background:0 0;border:none;margin-top:16px;padding:0;font-size:13px;font-weight:600;display:block}.more-offices:hover{text-decoration:underline}.aside-cta{background:color-mix(in srgb, var(--brand) 6%, #fff);border-color:color-mix(in srgb, var(--brand) 22%, var(--line))}.aside-cta p{color:var(--ink-soft);margin-bottom:14px;font-size:14px}.aside-cta .call-link{background:var(--brand);border-color:var(--brand);color:#fff;justify-content:center;width:100%;padding:12px 16px}.aside-cta .call-link:hover{color:#fff;opacity:.92}.site-footer{border-top:1px solid var(--line);background:var(--surface)}.site-footer-inner{max-width:1080px;color:var(--ink-faint);flex-wrap:wrap;justify-content:space-between;gap:8px 20px;margin:0 auto;padding:24px;font-size:12.5px;display:flex}.lang{align-items:center;gap:8px;display:inline-flex}.lang-label{color:var(--ink-faint)}.lang select{font:inherit;color:var(--ink-soft);background:var(--surface);border:1px solid var(--line);cursor:pointer;border-radius:8px;padding:4px 8px;font-size:12.5px}.site-footer a{color:var(--ink-faint);text-decoration:none}.site-footer a:hover{color:var(--ink-soft)}
