/* Minerva motion, 2026-11-14. No font, logo or palette replacements. */
:root{--motion-ease:cubic-bezier(.2,.75,.25,1)}
/* The title itself is the heading inside each original branded card. */
.story .cover h3.cover-title{font-size:clamp(28px,3vw,43px);font-family:var(--serif);font-weight:400;line-height:1.18;letter-spacing:-.035em;margin:30px 0;max-width:100%}
.story>.story-description{margin-top:18px}
.story>.story-meta{margin-top:14px}
.story>.story-date time{margin-top:9px}
.card-title-accessible{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip-path:inset(50%)!important;white-space:nowrap!important;border:0!important}
.hero-copy h1 .hero-line{display:block}
.hero-copy h1 em.hero-line{position:relative}
.hero-copy h1 em.hero-line::after{content:"";display:block;position:absolute;left:0;bottom:-8px;width:100%;height:4px;background:var(--refresh-accent);transform-origin:left}
.hero-art{position:relative;isolation:isolate}
.hero-connections{position:absolute;left:0;bottom:36px;width:47%;height:auto;overflow:visible;pointer-events:none;color:var(--refresh-accent);opacity:.75}
.hero-connections path{fill:none;stroke:currentColor;stroke-width:1;vector-effect:non-scaling-stroke}
.hero-connections circle{fill:currentColor}
.motion-ready .hero-line{animation:hero-line-in .85s var(--motion-ease) both}
.motion-ready .hero-line:nth-child(2){animation-delay:.18s}
.motion-ready .hero-copy>p{animation:hero-copy-in .8s .38s var(--motion-ease) both}
.motion-ready .search-hero-actions{animation:hero-copy-in .7s .62s var(--motion-ease) both}
.motion-ready .statue-stage{animation:statue-arrive 1.6s var(--motion-ease) both}
.motion-ready .hero-copy h1 em.hero-line::after{animation:connection-draw 1.15s .4s var(--motion-ease) both}
.motion-ready .hero>.eyebrow .square{animation:neon-illuminate 1.4s var(--motion-ease) both}
.motion-ready .hero-connections path{stroke-dasharray:1;stroke-dashoffset:0;animation:connection-trace 1.5s .35s var(--motion-ease) both}
.motion-ready .hero-connections circle{animation:node-appear .7s .95s ease both}
.hero-foot,.hero-rule,.service-route ol,.process-steps>li{position:relative}
.hero-foot::before,.hero-rule::before{content:"";position:absolute;left:0;top:-1px;width:100%;height:2px;background:var(--refresh-accent);transform-origin:left}
.motion-ready .hero-foot::before{animation:connection-draw 1.2s .65s var(--motion-ease) both}
.motion-ready .motion-drawn.hero-rule::before,.motion-ready .motion-drawn.service-route ol::before{animation:connection-draw .75s var(--motion-ease) both}
.motion-ready .process-steps>li.motion-drawn::after{animation:process-draw .7s var(--motion-ease) both}
.motion-ready .minerva-enter{animation:none}
.button,.minerva-portfolio .button,.filter-button,.motion-control{transition:transform .22s var(--motion-ease),background-color .22s ease,color .22s ease,border-color .22s ease,box-shadow .22s ease}
.button span[aria-hidden],.text-link span[aria-hidden],.card-open,.card-cta span{display:inline-block;transition:transform .3s var(--motion-ease)}
.project-card-link{border-radius:1px;transition:transform .35s var(--motion-ease),box-shadow .35s ease}
.minerva-portfolio .project-card{transition:border-color .3s ease}
.minerva-portfolio .card-image{transition:transform .55s var(--motion-ease)}
.cover{transition:transform .35s var(--motion-ease),box-shadow .35s ease}
.site-header nav a:after{transition:transform .28s var(--motion-ease)}
.site-header nav a:focus-visible:after{transform:scaleX(1)}
@media(hover:hover) and (pointer:fine){
 .button:hover{transform:translateY(-2px);box-shadow:0 6px 18px #00000012}
 .button:hover span[aria-hidden],.text-link:hover span[aria-hidden]{transform:translate(3px,-2px)}
 .project-card-link:hover,.cover:hover{transform:translateY(-5px);box-shadow:0 14px 28px -18px #00000065}
 .minerva-portfolio .project-card:has(.project-card-link:hover){border-color:var(--refresh-accent)}
 .minerva-portfolio .project-card-link:hover .card-image{transform:scale(1.02)}
 .project-card-link:hover .card-open{transform:translate(2px,-2px)}
}
.project-card-link:focus-visible,.cover:focus-visible{box-shadow:0 0 0 4px var(--refresh-accent);outline:2px solid #111;outline-offset:5px}
.button:active,.cover:active,.project-card-link:active{transform:translateY(1px);box-shadow:0 0 0 3px var(--refresh-accent)}
button:active{transform:translateY(1px)}
:where(a,button,input,textarea,select,summary):focus-visible{outline:2px solid #111;outline-offset:5px;box-shadow:0 0 0 7px var(--refresh-accent)}
.minerva-portfolio .site-header a:focus-visible{outline-color:#fff}
@keyframes hero-line-in{from{opacity:.38;transform:translateY(24px)}to{opacity:1;transform:none}}
@keyframes hero-copy-in{from{opacity:.62;transform:translateY(15px)}to{opacity:1;transform:none}}
@keyframes statue-arrive{from{opacity:.55;transform:translateY(12px)}to{opacity:1;transform:none}}
@keyframes connection-draw{from{transform:scaleX(0)}to{transform:scaleX(1)}}
@keyframes connection-trace{from{stroke-dashoffset:1;opacity:.1}to{stroke-dashoffset:0;opacity:1}}
@keyframes node-appear{from{opacity:0}to{opacity:1}}
@keyframes neon-illuminate{from{opacity:.35;box-shadow:0 0 0 transparent}50%{box-shadow:0 0 18px #e1ff0066}to{opacity:1;box-shadow:0 0 0 transparent}}
@keyframes process-draw{from{transform:scaleY(0)}to{transform:scaleY(1)}}
@keyframes page-arrive{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
@keyframes page-hold{from{opacity:1}to{opacity:1}}
@media(prefers-reduced-motion:no-preference){
 @view-transition{navigation:auto}
 ::view-transition-old(root),::view-transition-new(root){mix-blend-mode:normal}
 ::view-transition-old(root){animation:page-hold .3s linear both}
 ::view-transition-new(root){animation:page-arrive .3s var(--motion-ease) both}
 ::view-transition-group(root){animation-duration:.3s}
 ::view-transition{pointer-events:none}
}
html.minerva-reduced-motion ::view-transition-group(*),html.minerva-reduced-motion ::view-transition-old(*),html.minerva-reduced-motion ::view-transition-new(*){animation:none!important}
.minerva-reduced-motion .project-card-link,.minerva-reduced-motion .cover,.minerva-reduced-motion .button,.minerva-reduced-motion .card-image,.minerva-reduced-motion button,.minerva-reduced-motion .card-open,.minerva-reduced-motion .arrow{transform:none!important}
@media(max-width:740px){.story .cover h3.cover-title{font-size:39px;max-width:450px}.story>.story-description{margin-top:16px}.hero-connections{width:42%}}
@media(max-width:360px){.story .cover h3.cover-title{font-size:34px}}
@media(prefers-reduced-motion:reduce){
 .hero-connections{display:none}
 .project-card-link,.cover,.button,.card-image,.card-open,.arrow,button{transform:none!important}
 ::view-transition-group(*),::view-transition-old(*),::view-transition-new(*){animation:none!important}
}
@media print{.hero-connections,.motion-controls{display:none}}

.statue-stage{position:relative;overflow:hidden;background:#111}.statue-stage>video{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;opacity:0;transition:opacity .35s ease;filter:grayscale(1)}.statue-stage>video.is-visible{opacity:1}.statue-control{position:absolute;z-index:2;bottom:12px;right:12px;min-width:44px;min-height:44px;border:1px solid #888;border-radius:50%;background:#111c;color:white;font-size:22px;line-height:1}.statue-control:hover{border-color:var(--refresh-accent);color:var(--refresh-accent)}.minerva-reduced-motion .statue-stage>video{opacity:0!important}@media(prefers-reduced-motion:reduce){.statue-stage>video{opacity:0!important}}
