/* Contact card and small, one-time movements using local resources only. */
.hero-composition .hero-rings{display:block;width:100%;height:auto;overflow:visible}
.contact-direct .save-contact{display:inline-flex;align-items:center;justify-content:space-between;gap:28px;min-height:48px;max-width:100%;padding:12px 18px;margin-top:10px;border:1px solid var(--mint);border-radius:18px 3px 18px 3px;color:var(--mint);font-size:12px;font-weight:600;line-height:1.5}
.save-contact .arrow{width:20px;height:20px}
.contact-direct .contact-save-hint{max-width:360px;font-size:10px;line-height:1.65;color:#c3b6d0}

@media(prefers-reduced-motion:no-preference){
 :root{--entrance-distance:36px;--entrance-duration:.85s;--ring-travel:18px;--ring-turn:7deg;--ring-duration:1.25s;--art-travel:28px}
 .art-enter .ring-left{transform-box:fill-box;transform-origin:center;animation:ring-left-arrive var(--ring-duration) cubic-bezier(.16,.8,.2,1) both}
 .art-enter .ring-right{transform-box:fill-box;transform-origin:center;animation:ring-right-arrive var(--ring-duration) .08s cubic-bezier(.16,.8,.2,1) both}
 .will-reveal{opacity:0;transform:translate(var(--reveal-x,0px),var(--entrance-distance));transition:opacity var(--entrance-duration) ease,transform var(--entrance-duration) cubic-bezier(.16,.8,.2,1);transition-delay:var(--reveal-delay,0ms)}
 .will-reveal.revealed{opacity:1;transform:none}.will-reveal:focus-within{opacity:1;transform:none;transition:none}
 .hero-lead{--reveal-delay:60ms}.hero-big{--reveal-delay:160ms}.hero-copy{--reveal-delay:260ms}.hero-action{--reveal-delay:360ms}
 .service:nth-child(2){--reveal-delay:65ms}.service:nth-child(3){--reveal-delay:130ms}.service:nth-child(4){--reveal-delay:195ms}.service:nth-child(5){--reveal-delay:260ms}
 .sector:nth-child(2){--reveal-delay:150ms}.founder:first-child{--reveal-x:-28px}.founder:nth-child(2){--reveal-x:28px;--reveal-delay:150ms}
 .ai-areas>li:nth-child(2){--reveal-delay:120ms}.ai-areas>li:nth-child(3){--reveal-delay:240ms}
 .topic:nth-child(2){--reveal-delay:50ms}.topic:nth-child(3){--reveal-delay:100ms}.topic:nth-child(4){--reveal-delay:150ms}.topic:nth-child(5){--reveal-delay:200ms}.topic:nth-child(6){--reveal-delay:250ms}
 .contact-channels{--reveal-delay:120ms}
 .art-enter .illustration-back,.art-enter .illustration-front{animation:graphic-arrive .95s cubic-bezier(.16,.8,.2,1) both}
 .art-enter .market-panel{transform-box:fill-box;transform-origin:center;animation:graphic-arrive .95s cubic-bezier(.16,.8,.2,1) both}
 .art-enter .markets-art>g:nth-child(2)>.market-panel{animation-delay:.18s}.art-enter .markets-art>g:nth-child(3)>.market-panel{animation-delay:.36s}
 .art-enter .proof-art-labels>span{animation:graphic-arrive .7s .1s ease both}.art-enter .proof-art-labels>span:nth-child(2){animation-delay:.28s}.art-enter .proof-art-labels>span:nth-child(3){animation-delay:.46s}
 .sector.revealed .sector-graphic{animation:icon-arrive .9s cubic-bezier(.16,.8,.2,1) both}
 .service[open] .service-body,.faq-item[open]>p{animation:detail-open .45s ease both}.service[open] .service-symbol{animation:icon-open .5s ease both}
 .method-symbol,.service-symbol,.save-contact{transition:transform .25s ease,background .2s,color .2s}
 .save-contact:focus-visible{background:var(--mint);color:var(--ink)}.button:active,.save-contact:active{transform:translateY(1px)}
 .service summary:focus-visible .service-symbol{transform:translateY(-3px)}.button:focus-visible>.arrow{transform:translate(3px,-3px)}
}
@media(hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference){
 .service summary:hover .service-symbol,.ai-areas>li:hover .method-symbol{transform:translateY(-4px) rotate(-5deg)}
 .button:hover{transform:translateY(-3px)}.button:hover>.arrow{transform:translate(3px,-3px)}
 .save-contact:hover{background:var(--mint);color:var(--ink)}.save-contact:hover .arrow{transform:translateY(3px)}
}
/* Shorter, simpler entrances for small screens and touch input. */
@media(max-width:1024px),(pointer:coarse){
 :root{--entrance-distance:14px;--entrance-duration:.55s;--ring-travel:7px;--ring-turn:0deg;--ring-duration:.8s;--art-travel:10px}
 .will-reveal,.founder.will-reveal{--reveal-x:0px;transition-delay:0ms}
 .art-enter .market-panel,.art-enter .proof-art-labels>span,.sector.revealed .sector-graphic{animation-delay:0s;animation-duration:.6s}
 .art-enter .markets-art>g:nth-child(2)>.market-panel,.art-enter .proof-art-labels>span:nth-child(2){animation-delay:.08s}
 .art-enter .markets-art>g:nth-child(3)>.market-panel,.art-enter .proof-art-labels>span:nth-child(3){animation-delay:.16s}
}
@keyframes ring-left-arrive{from{transform:translate(calc(-1 * var(--ring-travel)),3px) rotate(calc(-1 * var(--ring-turn)));opacity:.1}to{transform:none;opacity:1}}
@keyframes ring-right-arrive{from{transform:translate(var(--ring-travel),-3px) rotate(var(--ring-turn));opacity:.1}to{transform:none;opacity:1}}
@keyframes graphic-arrive{from{transform:translateY(var(--art-travel)) scale(.94);opacity:0}to{transform:none;opacity:1}}
@keyframes icon-arrive{from{transform:translateY(12px) rotate(-9deg) scale(.9);opacity:.3}to{transform:none;opacity:1}}
@keyframes detail-open{from{transform:translateY(9px);opacity:0}to{transform:none;opacity:1}}
@keyframes icon-open{0%{transform:rotate(-6deg) scale(.92)}65%{transform:rotate(2deg)}100%{transform:none}}
@media(prefers-reduced-motion:reduce){
 .will-reveal{opacity:1;transform:none;transition:none}.scroll-progress{display:none}
 .text-link:hover .arrow,.save-contact:active,.save-contact:hover .arrow,.service summary:hover .service-symbol,.service summary:focus-visible .service-symbol,.button:hover,.button:active,.button:hover>.arrow,.button:focus-visible>.arrow,.ai-areas>li:hover .method-symbol{transform:none}
}
