/* Slow luxury: local presentation additions, no scroll interception. */
:root{--motion-ease:cubic-bezier(.22,.61,.36,1)}
.upper-footer{position:relative;isolation:isolate;overflow:hidden;padding:72px 6vw;background:#0b100f;border-top:1px solid #c9b69726}
.upper-footer::before{content:'';position:absolute;inset:0;z-index:-1;pointer-events:none;background:radial-gradient(ellipse at 75% 45%,#c9b69712,transparent 68%)}
.upper-footer-inner{max-width:1440px;margin:auto;display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);align-items:center;gap:6vw}
.upper-footer-copy{min-width:0;position:relative;z-index:1}
.upper-footer .eyebrow{margin:0 0 20px}
.upper-footer h2{font:clamp(30px,3.3vw,50px)/1.15 var(--serif);letter-spacing:-.025em;margin:0 0 23px;overflow-wrap:anywhere;text-transform:none}
.upper-footer-description{max-width:470px;margin:0 0 30px;font-size:15px;line-height:1.8;color:#b5bcb4}
.upper-footer .button{min-height:48px;max-width:100%;min-width:0;font-size:11px;letter-spacing:.12em;gap:22px;line-height:1.6;border-color:#c9b69778;text-align:left}
.upper-footer .button span{flex-shrink:0}
.upper-footer-art{min-width:0;overflow:hidden;position:relative;border:1px solid #c9b69720;background:#101310;box-shadow:0 24px 55px #0003}
.upper-footer-art img{width:100%;height:auto;aspect-ratio:3/2;object-fit:contain;display:block;opacity:.9}
.footer-top{gap:32px;align-items:center}
.footer-links .footer-list{align-items:center}
.footer-bottom{line-height:1.8}
/* Continuous tonal joins, without moving content across section boundaries. */
.reference-home::after{background:linear-gradient(180deg,#080c0e35 0%,#080c0e25 48%,#080c0e 100%)}
.mood-hero:not(.collection-villa)::after{background:linear-gradient(180deg,#060b0f55,#060b0f25 50%,#101211 100%)}
.reference-home::before,.mood-hero::before{transform:translate3d(0,var(--hero-shift,0px),0) scale(var(--hero-scale,1));transform-origin:center;backface-visibility:hidden}
:is(.button,.filter,.gallery-buttons button,.gallery-thumbs button,.expand-image,.close-image){transition:background-color 180ms ease,border-color 180ms ease,color 180ms ease,box-shadow 220ms ease,transform 180ms var(--motion-ease)}
:is(.button,.filter):focus-visible{outline:2px solid var(--accent);outline-offset:5px}
.text-link{transition:color 180ms ease,border-color 180ms ease,transform 180ms var(--motion-ease)}
.gallery #gallery-image{transition:transform 600ms var(--motion-ease),object-position 600ms var(--motion-ease)}
.image-dialog[open]{animation:dialog-reveal 220ms var(--motion-ease) both}
.image-dialog[open]::backdrop{animation:backdrop-reveal 180ms ease both}
.site-menu[open] .nav{animation:menu-reveal 220ms var(--motion-ease) both}
@keyframes dialog-reveal{from{opacity:.25;transform:translateY(8px)}to{opacity:1;transform:none}}
@keyframes backdrop-reveal{from{opacity:0}to{opacity:1}}
@keyframes menu-reveal{from{opacity:0;transform:translateY(-5px)}to{opacity:1;transform:none}}
@media(hover:hover) and (pointer:fine){
 .car-card{transition:transform 280ms var(--motion-ease),border-color 220ms ease,background-color 220ms ease,box-shadow 280ms ease}
 .car-card:hover{transform:translateY(-3px);box-shadow:0 14px 30px #0003}
 .car-card:active,.car-card.press-feedback{transform:translateY(1px) scale(.995)}
 .button:hover{box-shadow:0 5px 18px #0002;border-color:var(--accent)}
 .button.secondary:hover{background:#c9b69715;color:var(--ink)}
 .text-link:hover{color:#e3c8a5;border-color:#e3c8a5}
}
@media(max-width:699px){
 .upper-footer{padding:52px 24px 42px}
 .upper-footer-inner{grid-template-columns:minmax(0,1fr);gap:32px;text-align:center;justify-items:center}
 .upper-footer-copy{width:100%;max-width:480px}
 .upper-footer .eyebrow{margin-bottom:17px}
 .upper-footer h2{font-size:clamp(29px,7.2vw,38px);line-height:1.18;margin-bottom:20px}
 .upper-footer-description{margin:0 auto 25px;max-width:380px;font-size:14px}
 .upper-footer .button{justify-content:center;text-align:center;margin-inline:auto;letter-spacing:.09em;padding:13px 17px}
 .upper-footer-art{width:100%;max-width:440px}
 .footer-top{flex-direction:column;justify-content:center;align-items:center;text-align:center}
 .footer-links,.footer-links .footer-list{justify-content:center;text-align:center;gap:16px 24px}
 .footer-bottom{justify-content:center;text-align:center;margin-top:36px;gap:18px}
 .footer-bottom>p{width:100%;max-width:340px;margin:0 auto;overflow-wrap:anywhere}
 .footer-legal,.footer-legal .footer-list{justify-content:center;gap:12px 20px}
 .gallery-controls{gap:12px;flex-wrap:wrap}
 .gallery-thumbs{flex-wrap:wrap}
 .detail-summary{padding:22px}
 .performance-specs{min-width:0}
 .performance-specs>div{min-width:0;overflow-wrap:anywhere}
}
@media(prefers-reduced-motion:no-preference){
 @view-transition{navigation:auto}
 ::view-transition-old(root){animation:page-away 130ms ease both}
 ::view-transition-new(root){animation:page-arrive 220ms ease both}
 @keyframes page-away{to{opacity:0}}
 @keyframes page-arrive{from{opacity:0}to{opacity:1}}
}
@media(prefers-reduced-motion:reduce){
 html{scroll-behavior:auto}
 *,*::before,*::after{animation:none!important;transition:none!important}
 .reference-home::before,.mood-hero::before{transform:none!important}
 .car-card:hover,.car-card:active,.car-card.press-feedback{transform:none}
}
