.footer-mail{width:min(calc(100% - 2 * var(--site-padding,4%)),var(--site-width,1400px));margin:0 auto 42px;display:flex;align-items:flex-end;flex-direction:column;gap:8px}.copy-mail{display:grid;overflow:hidden;position:relative;border:0;border-bottom:1px solid #0005;border-radius:0;background:transparent;color:inherit;padding:12px 0;font-family:var(--poppins,Arial,sans-serif);font-size:clamp(13px,1.6vw,22px);cursor:pointer;max-width:100%;text-align:right}.copy-mail span{grid-area:1/1;transition:transform .3s ease,opacity .3s ease;overflow-wrap:anywhere}.copy-mail__action{transform:translateY(150%);opacity:0}.copy-mail:focus-visible{outline:2px solid #ed2222;outline-offset:5px}.copy-mail:focus-visible .copy-mail__address,.copy-mail.is-copied .copy-mail__address{transform:translateY(-150%);opacity:0}.copy-mail:focus-visible .copy-mail__action,.copy-mail.is-copied .copy-mail__action{transform:translateY(0);opacity:1}.copy-mail__status{font-size:12px;min-height:1.3em}@media(hover:hover){.copy-mail:hover .copy-mail__address{transform:translateY(-150%);opacity:0}.copy-mail:hover .copy-mail__action{transform:translateY(0);opacity:1}}
.portfolio__link{scroll-margin-top:100px}.portfolio__open{transition:transform .3s ease,background .3s ease,color .3s ease}.portfolio__link:hover .portfolio__open,.portfolio__link:focus-visible .portfolio__open{transform:rotate(45deg);background:#ed2222;color:white}.portfolio__link:focus-visible{outline:2px solid #ed2222;outline-offset:6px;border-radius:20px}.portfolio__link img{transition:transform .55s ease}.portfolio__link:hover img{transform:scale(1.025)}
@media(prefers-reduced-motion:reduce){.copy-mail span,.portfolio__open,.portfolio__link img{transition:none}.portfolio__link:hover img{transform:none}}

/* Header email replaces the geometric decoration; the footer retains its original layout. */
.header-mail{grid-column:3;grid-row:1;justify-self:end;position:relative;min-width:0;color:#eee}.header-mail .copy-mail{font-size:clamp(10px,.85vw,14px);border-color:#fff5;text-align:right;white-space:nowrap}.header-mail .copy-mail__status{position:absolute;right:0;top:100%;font-size:10px;white-space:nowrap;color:#aaa}.passion-logo-layer{position:absolute;inset:0;pointer-events:none;z-index:1;overflow:hidden}.passion-logo-layer img{position:absolute;left:0;top:0;object-fit:contain;transform-origin:center;filter:drop-shadow(0 0 2px #ffffff55);max-width:none}.passion-physics canvas{position:relative;z-index:2}.passion-physics button{z-index:3}
@media(max-width:900px){.header-mail .copy-mail{font-size:10px}.header__nav{gap:10px}.nav__page-button{padding-inline:10px}}
@media(max-width:600px){.header-mail{position:absolute;top:0;right:0;max-width:calc(100% - 42px)}.header-mail .copy-mail{font-size:10px;padding:6px 0}.header-mail .copy-mail__status{display:none}.header__nav>.nav__logo{align-self:flex-start}.header__nav{gap:8px}}

/* The label changes in place; the address keeps the button width steady. */
.header-mail .copy-mail{border:0!important;box-shadow:none!important;background:none!important;padding-block:6px;color:#bcbcbc;letter-spacing:0;font-weight:400}
.header-mail .copy-mail span{transform:none!important;transition:opacity .18s ease;grid-area:1/1;justify-self:end}
.header-mail .copy-mail__action{opacity:0}
.header-mail .copy-mail__status{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.header-mail .copy-mail:focus-visible .copy-mail__address,.header-mail .copy-mail.is-copied .copy-mail__address{opacity:0}
.header-mail .copy-mail:focus-visible .copy-mail__action,.header-mail .copy-mail.is-copied .copy-mail__action{opacity:1}
@media(hover:hover){.header-mail .copy-mail:hover .copy-mail__address{opacity:0}.header-mail .copy-mail:hover .copy-mail__action{opacity:1}}
@media(prefers-reduced-motion:reduce){.header-mail .copy-mail span{transition:none}}

/* Center the replacement label inside the space reserved by the email. */
.header-mail .copy-mail__action{justify-self:stretch!important;text-align:center}
