/* Studio hero: light responds to the pointer; the photograph stays still. */
body .ma-hero .portrait-visual{position:relative;isolation:isolate}
body .ma-hero .portrait-frame{border-radius:18px;border:1px solid #f4ffe46b;transform:none!important;transition:box-shadow .5s;box-shadow:0 24px 60px #0007;z-index:2}
body .ma-hero .portrait-frame>img{transform:none!important;transition:none!important}
body .ma-hero .portrait-visual>.portrait-outline{inset:13px -15px -13px 15px;border:1px solid #d3f49b66;border-radius:19px;transform:rotate(-5deg);background:linear-gradient(135deg,#c7f5800d,#94e6e107);transition:translate .65s cubic-bezier(.22,1,.36,1),border-color .4s,opacity .4s;box-shadow:none!important;z-index:0}
body .ma-hero .portrait-outline::after{animation:none!important;box-shadow:none;opacity:0}
body .ma-hero .portrait-halo{position:absolute;inset:-3px;overflow:hidden;border-radius:21px;background:#c9f58a22;z-index:1;pointer-events:none;opacity:.75;transition:opacity .5s}
body .ma-hero .portrait-halo::before{content:"";position:absolute;inset:-40%;background:conic-gradient(from 10deg,transparent 0 20%,#ceff82 26%,#a6f2e2 34%,transparent 42% 70%,#cfff8d99 79%,transparent 87%);transform:rotate(0deg);animation:studio-rim 7s linear infinite;animation-play-state:paused}
body .ma-hero .portrait-caption{bottom:25px;left:23px;right:23px}
body .ma-hero .portrait-project{position:relative;left:auto;right:auto;top:auto;bottom:auto;display:flex;width:max-content;max-width:100%;gap:11px;margin:22px 0 0 auto;padding:12px 16px;transform:rotate(-3deg);background:#f0f0e8;color:#182012;border:1px solid #ffffff85;border-radius:11px;box-shadow:0 8px 24px #0003;cursor:default;z-index:3}
body .ma-hero .portrait-project .capability-logo{display:block;flex:0 0 34px;width:34px;height:34px;object-fit:contain;border-radius:8px;transform:none;filter:none}
body .ma-hero .portrait-project .capability-copy{gap:2px;line-height:1.5}
body .ma-hero .portrait-project .capability-copy small{font:400 12px/1.5 Manrope,sans-serif;color:#505749;letter-spacing:0}
body .ma-hero .portrait-project .capability-copy b{font:650 14px/1.45 Grotesk,Manrope,sans-serif;color:#192213;letter-spacing:-.15px}
body .ma-hero .portrait-coordinate{margin-top:17px;line-height:1.6}
body .ma-hero .hero-pointer-light,body .ma-hero .hero-pointer-core{position:absolute;left:0;top:0;pointer-events:none;z-index:0;opacity:0;will-change:transform;transition:opacity .55s,transform .22s cubic-bezier(.22,1,.36,1);contain:layout style paint}
body .ma-hero .hero-pointer-light{width:640px;height:640px;background:radial-gradient(circle,#c6ff7a20 0,#b5f88213 25%,#8be8d40a 45%,transparent 68%)}
body .ma-hero .hero-pointer-core{width:300px;height:300px;background:radial-gradient(circle,#89f1e714 0,transparent 67%);transition:opacity .5s,transform .12s cubic-bezier(.22,1,.36,1)}
@media(hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference){
 body .ma-hero.hero-pointer-active .hero-pointer-light,body .ma-hero.hero-pointer-active .hero-pointer-core{opacity:1}
 body .ma-hero.hero-pointer-active .portrait-halo{opacity:1}
 body .ma-hero.hero-pointer-active .portrait-halo::before{animation-play-state:running}
 body .ma-hero.portrait-pointer-active .portrait-frame{box-shadow:0 24px 60px #0005,0 0 30px #c5f68c24}
 body .ma-hero.portrait-pointer-active .portrait-outline{border-color:#d3f49bba}
}
@keyframes studio-rim{to{transform:rotate(360deg)}}
@media(hover:none) and (prefers-reduced-motion:no-preference){body .ma-hero .portrait-halo::before{animation:studio-rim-arrive 1.8s cubic-bezier(.22,1,.36,1) 1.6s both}@keyframes studio-rim-arrive{from{transform:rotate(-35deg)}to{transform:rotate(325deg)}}}
@media(max-width:767px){body .ma-hero .portrait-frame{border-radius:15px}body .ma-hero .portrait-halo{border-radius:17px}body .ma-hero .portrait-visual>.portrait-outline{inset:10px -11px -10px 11px;border-radius:16px}body .ma-hero .portrait-project{padding:11px 14px;margin-top:20px;gap:10px}body .ma-hero .portrait-caption{left:17px;right:17px;bottom:21px}body .ma-hero .portrait-project .capability-logo{width:31px;height:31px;flex-basis:31px}body .ma-hero .portrait-project .capability-copy small{font-size:11px}body .ma-hero .portrait-project .capability-copy b{font-size:13px}}
@media(prefers-reduced-motion:reduce){body .ma-hero .portrait-halo::before{animation:none!important}body .ma-hero .portrait-visual>.portrait-outline{transition:none!important;translate:none!important}.hero-pointer-light,.hero-pointer-core{display:none!important}}
/* No rules or borders crossing the product imagery. */
body :is(.showcase-art,.project-art,.row-preview):has(.brand-cover) .editorial-footer{border-top:0!important;padding-top:0;bottom:4.5%;opacity:.78}
body :is(.showcase-art,.project-art,.row-preview):has(.brand-cover) .school-architecture span{border:0!important;box-shadow:none;background:#c3b27b0a}

/* Card motion is composited; the photograph itself is never warped. */
body .ma-hero .portrait-visual{transform-style:preserve-3d;transition:transform .65s cubic-bezier(.22,1,.36,1)}
body .ma-hero .portrait-project{transition:scale .45s cubic-bezier(.22,1,.36,1),box-shadow .4s;transform-origin:center}
@media(hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference){body .ma-hero.hero-pointer-active .portrait-project{animation:studio-badge-float 4.8s ease-in-out infinite}body .ma-hero .portrait-project:hover{scale:1.035;box-shadow:0 14px 30px #0004}}
@keyframes studio-badge-float{0%,100%{transform:translate3d(0,0,0) rotate(-3deg)}50%{transform:translate3d(0,-6px,0) rotate(-1.5deg)}}
@media(hover:none) and (prefers-reduced-motion:no-preference){body .ma-hero .portrait-project{animation:studio-badge-arrive .9s cubic-bezier(.22,1,.36,1) 1.8s both}@keyframes studio-badge-arrive{from{transform:translate3d(0,12px,0) rotate(-1deg);opacity:.5}to{transform:translate3d(0,0,0) rotate(-3deg);opacity:1}}}
@media(prefers-reduced-motion:reduce){body .ma-hero .portrait-visual{transform:none!important;transition:none!important}body .ma-hero .portrait-project{animation:none!important;transition:none!important;scale:none!important}}
