/* Quiet motion: cobalt highlights, deliberate depth, no continuous loops. */
.hero,.portfolio-hero{overflow:clip}
.portrait-motion{border-radius:var(--radius);overflow:hidden;background:var(--pale)}
.motion-depth{transform:perspective(1100px) rotateX(var(--rx,0deg)) rotateY(var(--ry,0deg));transition:transform .3s ease-out,box-shadow .3s ease-out}
.portrait-motion img,.portfolio-portrait img{transform:translateY(var(--parallax,0px)) scale(1.045);border:0;transition:transform .15s linear}
.expertise article.flip-card{padding:0;display:flex;flex-direction:column;perspective:1200px;overflow:visible;transition:border-color .25s,box-shadow .25s}
.flip-stage{display:grid;flex:1;transform-style:preserve-3d;transition:transform .65s cubic-bezier(.22,.7,.2,1)}
.flip-face{grid-area:1/1;min-width:0;padding:27px;backface-visibility:hidden;-webkit-backface-visibility:hidden;background:#192b47;border-radius:var(--radius) var(--radius) 0 0}
.flip-front{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;transform:rotateY(0deg)}
.flip-front .tags{margin-top:auto;padding-top:12px}
.flip-back{transform:rotateY(180deg)}
.expertise .flip-back h3{margin-top:0;font-size:1.25rem}
.flip-back p{margin-bottom:0}
.is-flipped .flip-stage{transform:rotateY(180deg)}
.flip-toggle{position:relative;z-index:1;display:block;width:calc(100% - 54px);margin:0 27px 22px;padding:14px 0 0;border:0;border-top:1px solid #496080;background:transparent;color:#c4d6ff;text-align:left;cursor:pointer;font-size:.9375rem;font-weight:600;min-height:44px}
.flip-toggle:hover{color:white}
.flip-card:focus-within{border-color:#a8c1ff}
nav>a:not(.nav-contact){text-underline-offset:7px;text-decoration-thickness:2px}
nav>a:not(.nav-contact):hover{text-decoration:underline}
.button{transition:transform .22s ease,background .22s,box-shadow .22s}
.button span,.portfolio-index a>span:last-child{transition:transform .22s}
.button:hover:not(:disabled){transform:translateY(-3px)}
.button:hover span{transform:translate(2px,-2px)}
.button:active:not(:disabled){transform:translateY(0) scale(.985)}
.service-option,.publication,.role-card,.work-card{transition:border-color .25s,box-shadow .25s}
@media(hover:hover) and (pointer:fine){
.motion-depth:hover{box-shadow:0 24px 48px #101f3a24}
.flip-card:hover{border-color:#7b9bce;box-shadow:0 16px 34px #0002}
.publication:hover,.work-card:hover{box-shadow:0 14px 32px #101f3a12;border-color:#86a6ea}
.role-card:hover{border-color:#7b9bce}
.portfolio-index a:hover>span:last-child{transform:translate(3px,3px)}
}
@media(max-width:600px){.flip-face{padding:22px}.flip-toggle{width:calc(100% - 44px);margin-left:22px;margin-right:22px}.expertise article.flip-card{padding:0}}
@media(prefers-reduced-motion:reduce){
html{scroll-behavior:auto}
*,*::before,*::after{animation:none!important;transition:none!important}
.motion-depth,.portrait-motion img,.portfolio-portrait img,.button:hover:not(:disabled),.button:active:not(:disabled){transform:none}
.flip-stage,.is-flipped .flip-stage,.flip-face{transform:none}
.flip-face[aria-hidden=true]{visibility:hidden}
}
@media print{.flip-stage,.is-flipped .flip-stage,.flip-face{transform:none}.flip-stage{display:block}.flip-face{visibility:visible!important}.flip-toggle{display:none}}
