.site-footer { overflow: hidden; padding: clamp(64px, 7vw, 110px) clamp(24px, 4vw, 72px) clamp(36px, 4vw, 58px); border-top: 1px solid rgba(255,255,255,.17); background: #1c1c1c; color: #f3f3f3; }
.site-footer .footer-top { display: block; overflow: hidden; padding: 0 0 22px; }
.footer-logo { position: relative; display: block; width: 100%; aspect-ratio: 1929 / 120; overflow: hidden; line-height: 0; }
.footer-logo img { width: 100%; max-width: none; height: auto; filter: brightness(0) invert(1); }
.site-footer .footer-bottom { position: relative; margin-top: 0; padding-top: 22px; border-color: rgba(255,255,255,.17); background: #1c1c1c; color: #dbdbdb; }
.site-footer .footer-socials { flex-wrap:wrap; margin-left: auto; justify-content: flex-end; text-align: right; }
.site-footer .footer-bottom a { transition: color .2s ease; }
.site-footer .footer-bottom a:hover { color: #dfdfdf; }

/* Use the same restrained hamburger menu at every viewport width. */
.site-header .menu-toggle { display: flex; flex-direction: column; justify-content: center; gap: 6px; width: 44px; height: 44px; border: 0; background: transparent; padding: 7px; cursor: pointer; }
.site-header .menu-toggle span { height: 2px; width: 100%; background: var(--ink); transition: transform .24s ease; }
.site-header .menu-toggle[aria-expanded="true"] span:first-child { transform: translateY(4px) rotate(45deg); }
.site-header .menu-toggle[aria-expanded="true"] span:last-child { transform: translateY(-4px) rotate(-45deg); }
.site-header .site-nav { display: none; position: absolute; top: 100%; right: 0; left: auto; width: min(420px, 100vw); padding: 20px clamp(24px, 4.1vw, 46px) 32px; background: var(--paper); box-shadow: 0 20px 36px #1e1e1e24; flex-direction: column; align-items: stretch; gap: 0; }
.site-header .site-nav.is-open { display: flex; animation: site-menu-in .24s ease both; }
.site-header .site-nav > a { padding: 17px 0; border-bottom: 1px solid var(--line); }
.site-header .site-nav .nav-contact { margin-top: 19px; padding: 16px; border: 1px solid var(--ink); }
.site-header, .site-header.is-scrolled { background: #fff; box-shadow: none; }
.site-header .site-nav { background: #fff; box-shadow: none; }

@keyframes site-menu-in { from { opacity:.65; transform:translateY(7px); } to { opacity:1; transform:none; } }
