/* The footer stays aligned to the viewport; the About panel unfolds above it. */
.site-footer{z-index:25;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);isolation:isolate}
.site-footer .footer-links{grid-column:1;grid-row:1;justify-self:start;justify-content:flex-start;gap:clamp(10px,1.05vw,20px);margin:0;white-space:nowrap}
.footer-divider{color:#66665f;font-size:10px;line-height:1;font-weight:300;pointer-events:none;user-select:none}
.footer-about{grid-column:2;grid-row:1;position:relative;justify-self:center;display:flex;align-items:center;justify-content:center;height:100%;z-index:2}
.site-footer .footer-name{display:inline-flex;align-items:center;justify-content:center;min-width:88px;min-height:44px;padding:0 12px;font-family:inherit;font-size:13px;font-weight:600;line-height:1;letter-spacing:.07em;color:var(--muted);position:relative}
.footer-about-trigger::after{content:'';position:absolute;bottom:8px;left:12px;right:12px;height:1px;background:currentColor;transform:scaleX(0);transform-origin:center;transition:transform .4s cubic-bezier(.2,.7,.2,1)}
.footer-about:hover .footer-about-trigger,.footer-about.is-open .footer-about-trigger{color:var(--paper)}
.footer-about:hover .footer-about-trigger::after,.footer-about.is-open .footer-about-trigger::after,.footer-about-trigger:focus-visible::after{transform:scaleX(1)}
.site-footer .footer-links .sound-toggle{flex:0 0 28px;width:28px;min-width:28px;min-height:44px;padding:0;gap:0;justify-content:center}
.sound-icon{display:block;width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.sound-toggle[aria-pressed="true"] .sound-muted,.sound-toggle[aria-pressed="false"] .sound-wave{display:none}
.footer-about-panel{position:absolute;bottom:100%;left:50%;width:max-content;max-width:calc(100vw - 2 * var(--pad));padding:0 0 10px;margin:0;z-index:30;visibility:hidden;opacity:0;pointer-events:none;transform:translate(var(--about-panel-x,-50%),12px);transform-origin:center bottom;clip-path:inset(100% 0 0);transition:clip-path .56s cubic-bezier(.22,.8,.25,1),transform .56s cubic-bezier(.22,.8,.25,1),opacity .3s ease,visibility 0s .56s;color:var(--paper);text-align:left;letter-spacing:normal}
.footer-about.is-open .footer-about-panel{visibility:visible;opacity:1;pointer-events:auto;transform:translate(var(--about-panel-x,-50%),0);clip-path:inset(0 0 0);transition-delay:0s}
.footer-about-frame{background:#101010;border:1px solid #343431;border-radius:5px;box-shadow:none;max-height:calc(100dvh - 150px);overflow:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#44443f transparent}
.footer-about-heading{display:flex;align-items:center;justify-content:space-between;padding:2px 20px;border-bottom:1px solid var(--line)}
.footer-about-heading h2{font-size:9px;font-weight:400;letter-spacing:.12em;color:#bfbeb6}
.footer-about-close{display:flex;align-items:center;justify-content:center;width:40px;min-height:40px;color:#a7a69f;transition:color .25s,transform .35s}
.footer-about-close span{font:300 21px/1 var(--sans)}
.footer-about-close:hover{transform:rotate(90deg);color:var(--paper)}
/* Both panels hug the artwork and longest line; only the viewport can constrain the text. */
.about-dialog{width:max-content;max-width:calc(100vw - 2 * var(--pad));max-height:calc(100dvh - 32px);border-color:#343431;border-radius:5px;background:#101010;overflow:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#44443f transparent}
.about-dialog::backdrop{background:rgba(0,0,0,.24);backdrop-filter:none}
.about-dialog .dialog-top{padding:2px 20px;background:#101010;gap:16px;font-size:9px}
.about-dialog .dialog-top h2{font-size:9px;letter-spacing:.12em;color:#bfbeb6}
.about-dialog .dialog-top button{font-size:9px;min-height:40px;gap:10px}
.about-dialog .dialog-top button span{font-size:21px}
.footer-about-content .about-layout,.about-dialog .about-layout{padding:20px;gap:20px;grid-template-columns:104px minmax(0,max-content);align-items:center}
.footer-about-content .about-copy,.about-dialog .about-copy{min-width:0}
.footer-about-content .about-art,.about-dialog .about-art{width:104px;max-width:100%;padding:0}
.footer-about-content .about-copy p,.about-dialog .about-copy p{font-size:12px;line-height:1.75;margin-top:12px}
.footer-about-content .about-copy .about-lead,.about-dialog .about-copy .about-lead{font-size:17px;margin-top:0;margin-bottom:14px;line-height:1.6}
.footer-about-content .about-copy .about-signature,.about-dialog .about-copy .about-signature{font-size:9px;margin-top:18px;letter-spacing:.12em}
.footer-about-content .about-copy p{transform:translateX(9px);opacity:0;transition:transform .5s cubic-bezier(.2,.7,.2,1),opacity .4s}
.footer-about.is-open .about-copy p{transform:translateX(0);opacity:1;transition-delay:.14s}
.footer-about.is-open .about-copy p:nth-child(2){transition-delay:.19s}
.footer-about.is-open .about-copy p:nth-child(3){transition-delay:.24s}
.footer-about.is-open .about-copy p:nth-child(4){transition-delay:.29s}
@media(min-width:1600px){.footer-divider{font-size:11px}.site-footer .footer-name{font-size:15px}}
@media(max-width:640px){
 .site-footer{grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);grid-template-rows:44px 45px;gap:0;align-content:start}
 .site-footer .footer-links{grid-column:1/-1;grid-row:1;justify-self:start;gap:14px}
 .site-footer .footer-links a,.site-footer .footer-links button{font-size:9px;letter-spacing:.06em}
 .footer-about{grid-column:1;grid-row:2;justify-self:start;justify-content:flex-start}
 .site-footer .footer-name{font-size:12px;letter-spacing:.06em;min-width:82px;min-height:42px;justify-content:flex-start;padding-left:0}
 .footer-about-trigger::after{left:0}
 .footer-about-panel{left:0;--about-panel-x:0%;transform-origin:left bottom}
 .footer-about-frame{max-height:calc(100dvh - 110px)}
 .footer-about-heading,.about-dialog .dialog-top{padding:2px 16px}
 .footer-about-content .about-layout,.about-dialog .about-layout{padding:18px 16px;grid-template-columns:60px minmax(0,max-content);gap:14px}
 .footer-about-content .about-art,.about-dialog .about-art{width:60px;max-width:100%}
 .footer-about-content .about-copy .about-lead,.about-dialog .about-copy .about-lead{font-size:16px;margin-bottom:12px}
 .footer-about-content .about-copy p,.about-dialog .about-copy p{font-size:12px;line-height:1.7;margin-top:10px}
 .footer-about-content .about-copy .about-signature,.about-dialog .about-copy .about-signature{font-size:9px;margin-top:15px;letter-spacing:.08em}
}
@media(max-width:360px){.site-footer .footer-links{gap:12px}.site-footer .footer-links a,.site-footer .footer-links button{font-size:8px}}
@media(max-width:340px){.footer-about-content .about-layout,.about-dialog .about-layout{grid-template-columns:55px minmax(0,max-content);gap:12px}.footer-about-content .about-art,.about-dialog .about-art{width:55px}.footer-about-content .about-copy .about-lead,.about-dialog .about-copy .about-lead{font-size:15px}}
@media(max-height:670px) and (max-width:640px){.site-footer{grid-template-rows:42px 40px}}
@media(max-height:600px) and (min-width:641px){.footer-about-frame{max-height:calc(100dvh - 95px)}}
@media(prefers-reduced-motion:reduce){.footer-about-panel,.footer-about-content .about-copy p,.footer-about-trigger::after,.footer-about-close{transition:none!important;transform:none}.footer-about-panel,.footer-about.is-open .footer-about-panel{transform:translateX(var(--about-panel-x,-50%))}.footer-about-content .about-copy p{transform:none}}
