/* A single centered identity, independent of the document language. */
body .site-header{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;height:92px;padding-block:0;direction:ltr}
body .site-header>.language-toggle{grid-column:1;grid-row:1;justify-self:start;z-index:2}
body .site-header .header-actions{grid-column:3;grid-row:1;justify-self:end}
body .site-header .brand{grid-column:2;grid-row:1;display:grid;place-items:center;width:76px;max-width:none;height:54px;margin:0;padding:8px 6px;animation:none;opacity:1;text-shadow:none;line-height:1}
.brand-mark{display:block;width:64px;height:auto;max-width:100%;animation:ma-mark-arrive 1.8s cubic-bezier(.22,.61,.36,1) both;transform-origin:center}
.page-home .brand-mark,.page-about .brand-mark{filter:invert(1)}
.menu-open .brand-mark{filter:none}
body .nav-overlay{direction:ltr}
body .nav-overlay ul{margin-left:auto;margin-right:0;right:0;left:auto}
html[dir=rtl] .nav-overlay ul{direction:rtl;text-align:right}
@keyframes ma-mark-arrive{0%{opacity:0;transform:translateY(10px) scale(.88);clip-path:inset(0 100% 0 0)}45%{opacity:1;clip-path:inset(0 0 0 0)}100%{opacity:1;transform:translateY(0) scale(1);clip-path:inset(0 0 0 0)}}
.hero-identity{position:absolute;z-index:6;bottom:24px;left:50%;transform:translateX(-50%);width:min(720px,84%);text-align:center;color:white;pointer-events:none;text-shadow:0 1px 12px #0006}
.hero-owner{font:400 clamp(28px,3vw,44px)/1.4 var(--sans);letter-spacing:.08em;margin:0}
.hero-role{font:400 clamp(17px,1.5vw,22px)/1.6 var(--sans);margin:5px 0 8px;letter-spacing:.08em}
.hero-scroll{display:inline-grid;place-items:center;width:44px;height:44px;color:inherit;pointer-events:auto}
.hero-scroll svg{width:19px;height:27px;fill:none;stroke:currentColor;stroke-width:1.2;stroke-linecap:round;stroke-linejoin:round;transition:transform .25s}
.hero-scroll:hover svg{transform:translateY(4px)}
#about{scroll-margin-top:80px}
body.page-home .hero #home-title{max-width:30%;font-size:13px}
#home-stage .stage-arrow{position:absolute;z-index:5;pointer-events:auto;cursor:pointer}
#home-stage .stage-link{z-index:1}
@media(max-width:767px){body .site-header{height:80px}body .site-header .brand{width:64px;height:48px;max-width:none;margin:0}.brand-mark{width:52px}.page-about .brand-mark{filter:none}.hero-identity{bottom:92px;width:82%}.hero-owner{font-size:clamp(23px,6.1vw,32px)}.hero-role{font-size:17px;margin-top:4px}.hero-scroll{height:40px}body.page-home .hero #home-title{max-width:65%;font-size:12px}body .nav-overlay ul{width:100%}}
@media(max-height:480px) and (orientation:landscape){.hero-identity{bottom:12px}.hero-owner{font-size:24px}.hero-role{margin:2px 0}.hero-scroll{height:28px}}
@media(prefers-reduced-motion:reduce){.brand-mark{animation:none}.hero-scroll svg{transition:none}html{scroll-behavior:auto}}

@media (hover:hover) and (pointer:fine){#home-stage .arrow-prev{cursor:url("../images/brand/cursor-prev.svg?v=2") 24 24,w-resize}#home-stage .arrow-next{cursor:url("../images/brand/cursor-next.svg?v=2") 24 24,e-resize}}

/* Shared, centered footer across both languages. */
body .site-footer{width:100%;max-width:none;margin:0;padding:64px 24px 28px;display:flex;flex-direction:column;align-items:center;gap:0;text-align:center;background:#fff;color:#000}
body .site-footer .footer-contact{display:flex;flex-direction:row;justify-content:center;align-items:center;flex-wrap:nowrap;gap:16px;margin:0 0 32px;padding:0;direction:ltr}
body .site-footer .footer-contact a{display:grid;place-items:center;flex:0 0 44px;width:44px;height:44px;min-width:44px;min-height:44px;margin:0;padding:0;color:#000}
body .site-footer .footer-contact svg{display:block;width:22px;height:22px}
body .site-footer .footer-contact a:not(.contact-icon) svg{fill:currentColor}
body .site-footer .footer-brand{display:block;width:88px;margin:0 auto 20px;padding:0}
body .site-footer .footer-brand img{display:block;width:88px;height:auto}
body .site-footer .footer-copy{margin:0;font-size:11px;line-height:1.8;letter-spacing:.035em;text-align:center}
body .site-footer .owner-entry{align-self:center;margin:20px 0 0;font-size:10px;opacity:.6}
@media(max-width:767px){body .site-footer{padding:48px 20px 24px}body .site-footer .footer-contact{gap:12px;margin-bottom:28px}}
