/* V29 spacing and motion. Remove this link to restore V28 spacing/hover states. */
:root{--rhythm-section:96px;--rhythm-label:20px;--rhythm-copy:32px}
/* Keep the complete Home opening and first Services boundary untouched. */
main>.section,main>.apple,main>.brief,main>.film-showcase,main>.project-detail{padding-block:var(--rhythm-section)}
.page-home .home-opening+section{padding-top:16px}
main>.section .section-label,main>.apple .eyebrow,main>.brief .section-label,main>.film-showcase .section-label{margin-bottom:var(--rhythm-label)}
main>.section h2,main>.apple h2,main>.brief h2,main>.film-showcase h2,main>.project-detail h2{margin-bottom:24px}
.section-copy,.apple-copy,.brief-copy{margin-bottom:var(--rhythm-copy)}
.work-grid,.screen-grid,.player-grid{gap:24px}
/* No lateral row movement or padding animation: keep the hit target stable. */
.music-row,.music-row:hover{transform:none;padding-left:0;padding-right:0}
.music-row{transition:background-color 180ms ease}
.service-card,.service-detail,.card,.work-card,.screen-credit,.film-card{transition:transform 220ms cubic-bezier(.2,.7,.3,1),box-shadow 220ms ease,border-color 180ms ease}
.service-card:hover,.service-detail:hover,.card:hover,.work-card:hover,.screen-credit:hover,.film-card:hover{transform:none;opacity:1}
.work-image:hover,.project-image:hover{transform:none;filter:none;opacity:1}
.primary,.text-link,.footer-link,.nav-link,.social,.gallery-tools button{transition:color 180ms ease,background-color 180ms ease,border-color 180ms ease,transform 220ms cubic-bezier(.2,.7,.3,1)}
@media(hover:hover) and (pointer:fine){
.work-card:hover,.screen-credit:hover{transform:translateY(-2px);box-shadow:0 8px 20px #102a430d}
.primary:hover{transform:translateY(-1px)}
}
@media(max-width:767px){:root{--rhythm-section:64px;--rhythm-label:16px;--rhythm-copy:28px}.work-grid,.screen-grid,.player-grid{gap:24px}.page-home .home-opening+section{padding-top:16px}}
@media(hover:none){.primary:hover,.text-link:hover,.footer-link:hover,.social:hover,.gallery-tools button:hover{transform:none}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}.primary:hover,.work-card:hover,.screen-credit:hover{transform:none!important}}
/* V32 Home Services: uniform panels, no offset gutters or hover shadows. */
.page-home .home-services-grid{background:transparent;border:0;gap:24px}
.page-home .home-services-grid .service-card{margin:0;padding:28px;min-height:0;border:1px solid var(--line);background:var(--bg);box-shadow:none;transform:none}
.page-home .home-services-grid .wide-service{grid-column:auto}
.page-home .home-services-grid :is(.service-no,.service-title,.service-copy){padding-left:0}
.page-home .home-services-grid .service-card:hover{box-shadow:none;transform:none}

/* V33a selected Option 2, scoped to Home Services only. */
.page-home .home-services-grid{background:transparent;gap:24px;border:0}
.page-home .home-services-grid .service-card{background:#f3f5f5;border:0;border-radius:0;margin:0;padding:28px 32px;box-shadow:none}
.page-home .home-services-grid .service-title{color:#102a43}
.page-home .home-services-grid .service-copy{color:#5b6570}
.page-home .home-services-grid .service-no{color:#2f6f68}

/* v97: hover translate/scale removed on header, footer, buttons, arrows, socials and small links site-wide - sub-pixel hover motion softened text on the user's desktop ("text gets blurry on hover everywhere, even the header"). Hover feedback stays color-based; the approved card grow uses blur-free zoom in card-glass.css. */
.nav-link:hover,.footer-link:hover,.text-link:hover,.primary:hover,a.primary:hover,.social:hover,.socials .social:hover,.music-arrow:hover,.screen-credit:hover{transform:none}
