/* Instituto Anker — V9. Design editorial refinado e movimento progressivo.
   Base V8 preservada. Interações jamais dependem de JS para leitura. */
:root { --ease-editorial:cubic-bezier(.22,1,.36,1); }
html { scroll-padding-top:calc(var(--header-height) + 16px); }
.site-header { transition:box-shadow .3s ease, border-color .3s ease; }
.site-header.is-scrolled { box-shadow:0 6px 24px rgba(16,38,59,.055); border-bottom-color:rgba(29,39,48,.12); }
.footer-privacy { display:inline-flex; margin-top:12px; font-size:12px; color:#e2eff9; border-bottom:1px solid rgba(226,239,249,.42); text-decoration:none; padding-bottom:2px; transition:border-color .2s,color .2s; }
.footer-privacy:hover,.footer-privacy:focus-visible { border-bottom-color:#fff; color:white; }
/* Deliberate keyboard focus visible on blue surfaces. */
.contact a:focus-visible,.footer a:focus-visible { outline:2px solid #fff;outline-offset:5px; }
/* Elevation with restraint: no bouncing or parallax; photography never shifts layout. */
@media (prefers-reduced-motion:no-preference){
 .site-nav a {position:relative; transition:color .24s ease;}
 .site-nav a::after {content:''; position:absolute; bottom:-7px; height:1px; left:0; width:100%; background:var(--blue); transform-origin:left center; transform:scaleX(0);transition:transform .36s var(--ease-editorial);}
 .site-nav a:hover::after,.site-nav a[aria-current="location"]::after {transform:scaleX(1);}
 .site-nav a[aria-current="location"] {color:var(--blue);}
 .site-contact,.hero__primary,.contact-btn {transition:background .26s ease,box-shadow .32s ease,transform .32s var(--ease-editorial);}
 .site-contact:hover,.hero__primary:hover {transform:translateY(-2px);box-shadow:0 9px 20px rgba(3,76,150,.17);}
 .contact-btn:hover {transform:translateY(-2px);box-shadow:0 13px 23px rgba(0,24,52,.16);}
 .site-contact span,.hero__primary span,.hero__secondary span,.contact-btn span {display:inline-block;transition:transform .26s var(--ease-editorial);}
 .site-contact:hover span,.hero__primary:hover span,.hero__secondary:hover span,.contact-btn:hover span {transform:translate(2px,-2px);}
 .hero__secondary { transition:color .23s ease,border-color .23s ease; }
 .hero__kicker {animation:hero-rise .55s var(--ease-editorial) both;}
 .hero__title {animation:hero-rise .75s .09s var(--ease-editorial) both;}
 .hero__description {animation:hero-rise .7s .18s var(--ease-editorial) both;}
 .hero__actions {animation:hero-rise .65s .27s var(--ease-editorial) both;}
 .hero__slogan {animation:hero-soft .8s .35s ease both;}
 @keyframes hero-rise {from{opacity:0;transform:translate3d(0,13px,0)}to{opacity:1;transform:translate3d(0,0,0)}}
 @keyframes hero-soft {from{opacity:0}to{opacity:1}}
 /* JS adds this flag only if an observer actually exists. No JS => all visible. */
 .motion-ready [data-reveal]:not(.is-visible) {opacity:0;transform:translate3d(0,17px,0);}
 .motion-ready [data-reveal="image"]:not(.is-visible) {opacity:0;transform:translate3d(0,12px,0);}
 [data-reveal] {transition:opacity .72s var(--ease-editorial),transform .72s var(--ease-editorial);transition-delay:var(--reveal-delay,0ms);}
 .motion-ready [data-reveal].is-visible {opacity:1;transform:translate3d(0,0,0);}
 /* Hover details are architectural, not floating content cards. */
 .sign-card h3,.feature-title,.process-item h3 {transition:color .26s ease;}
 .sign-card:hover h3,.feature:hover .feature-title,.process-item:hover h3 {color:var(--blue);}
 .sign-card,.feature,.process-item {position:relative;}
 .sign-card::after,.feature::after,.process-item::after {content:'';position:absolute;top:-1px;left:0;width:100%;height:1.5px;background:var(--blue);transform:scaleX(0);transform-origin:left;transition:transform .45s var(--ease-editorial);pointer-events:none;}
 .sign-card:hover::after,.feature:hover::after,.process-item:hover::after {transform:scaleX(1);}
 .modality h3 {transition:color .25s ease;}
 .modality:hover h3 {color:var(--blue);}
 .leadership-media img {transition:transform .9s var(--ease-editorial);}
 .leadership-media:hover img {transform:scale(1.022);}
 .contact-personal a {transition:color .25s ease,border-color .25s ease;}
 .contact-personal a:hover {color:#d0e7ff;}
}
@media (prefers-reduced-motion:reduce){
 html{scroll-behavior:auto}
 .motion-ready [data-reveal],.motion-ready [data-reveal]:not(.is-visible){opacity:1!important;transform:none!important;}
 .hero__kicker,.hero__title,.hero__description,.hero__actions,.hero__slogan{animation:none!important;}
 .leadership-media img{transform:none!important;}
}
/* A small, quiet structure on mobile; no clipping of enlarged text. */
@media (max-width:800px){
 .site-mobile-nav a {transition:color .18s ease,background .18s ease;}
 .site-mobile-nav a:hover,.site-mobile-nav a:focus-visible {background:#f6f8fa;color:var(--blue);}
}
