.footer{background:var(--color-bg);color:var(--color-ink);padding:3rem 0 1.75rem;font-size:0.875rem;text-align:left;}.footer__container{max-width:var(--layout-max);margin:0 auto;padding:0 var(--layout-padding-end) 0 var(--layout-padding-start);}.footer__grid{display:grid;grid-template-columns:minmax(0, 1fr) minmax(0, 1.15fr);gap:2.5rem 3rem;align-items:start;}.footer__aside{display:flex;flex-direction:column;min-width:0;}.footer__brand{display:flex;flex-direction:column;align-items:flex-start;gap:1rem;}.footer__logo{display:inline-flex;align-items:center;gap:0.65rem;text-decoration:none;color:inherit;max-width:100%;}.footer__logo-mark{width:2rem;height:2rem;flex-shrink:0;display:block;object-fit:contain;}.footer__logo-text{display:flex;flex-direction:column;align-items:flex-start;gap:0.2rem;min-width:0;}.footer .logo__name{font-family:var(--font-sans);font-weight:800;font-size:1.05rem;line-height:1.2;letter-spacing:0.01em;color:var(--color-ink);}.footer .logo__title{font-family:var(--font-sans);font-size:0.68rem;font-weight:600;letter-spacing:0.28em;text-transform:uppercase;color:var(--color-logo-title);line-height:1.3;}.footer__list--contact{width:100%;}.footer__contact-line, .footer__nav{display:flex;flex-wrap:wrap;align-items:center;}.footer__nav-group{display:flex;flex-direction:column;gap:0.75rem;width:100%;}.footer__contact-line a:not(:last-child)::after, .footer__nav a:not(:last-child)::after{content:"";display:inline-block;width:0;height:0.9em;margin-inline:0.65rem;border-right:1px solid var(--color-border-brand-strong);vertical-align:-0.08em;pointer-events:none;}.footer__list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:0.55rem;}.footer__list a{color:var(--color-prose);font-weight:400;line-height:1.45;text-decoration:none;transition:color 0.2s ease;}.footer__nav a{color:var(--color-prose);font-weight:400;line-height:1.45;text-decoration:none;transition:color 0.2s ease;}.footer__list a:hover, .footer__list a:focus-visible, .footer__nav a:hover, .footer__nav a:focus-visible{color:var(--color-brand);}.footer__legal{display:flex;flex-direction:column;gap:1rem;color:var(--color-ink-soft);font-size:0.8125rem;line-height:1.65;}.footer__legal p{margin:0;}.footer__bar{display:flex;justify-content:center;text-align:center;margin-top:2.25rem;padding-top:1.25rem;border-top:0.0625rem solid var(--color-border-brand-mid);font-size:0.8125rem;color:var(--color-ink-soft);}.footer__bar a{color:var(--color-prose);font-weight:600;text-decoration:none;transition:color 0.2s ease;}.footer__bar a:hover, .footer__bar a:focus-visible{color:var(--color-brand);}@media (max-width:900px){.footer__container{padding-left:max(var(--layout-padding-inline-mobile), env(safe-area-inset-left, 0px));padding-right:max(var(--layout-padding-inline-mobile-end), env(safe-area-inset-right, 0px));}}@media (max-width:56rem){.footer__grid{grid-template-columns:1fr;gap:2rem;}}@media (max-width:36rem){.footer{padding:2.5rem 0 max(1.5rem, env(safe-area-inset-bottom, 0px));}.footer__contact-line, .footer__nav{flex-direction:column;align-items:flex-start;gap:0.4rem;}.footer__contact-line a:not(:last-child)::after, .footer__nav a:not(:last-child)::after{display:none;}.footer .logo__title{letter-spacing:0.16em;font-size:0.62rem;}.footer__legal{font-size:0.78rem;}}
