/* TechCiência 3.1.15 — movimento científico suave */
.science-progress {
    position: fixed;
    inset: 0 0 auto;
    z-index: 100;
    height: 3px;
    pointer-events: none;
    background: rgba(16, 82, 174, .06);
}
.science-progress span {
    display: block;
    width: calc(var(--page-progress, 0) * 100%);
    height: 100%;
    transform-origin: left center;
    background: linear-gradient(90deg, #75dce6 0%, #2ca8e7 45%, #0757b7 100%);
    box-shadow: 0 0 16px rgba(31, 158, 226, .48);
    transition: width .16s linear;
}

.site-header {
    transition: box-shadow .35s ease, background .35s ease, transform .35s ease;
}
.site-header.is-scrolled {
    background: rgba(255,255,255,.93);
    box-shadow: 0 12px 34px rgba(8, 51, 116, .08);
}

.science-section {
    position: relative;
    isolation: isolate;
    overflow: clip;
}
.science-section > .container,
.science-section > .service-dossier,
.science-section > article,
.science-section > nav {
    position: relative;
    z-index: 2;
}
.science-section::after {
    content: '';
    position: absolute;
    z-index: 1;
    left: 50%;
    bottom: 0;
    width: min(1180px, calc(100% - 40px));
    height: 1px;
    transform: translateX(-50%) scaleX(.3);
    transform-origin: center;
    opacity: 0;
    background: linear-gradient(90deg, transparent, rgba(35, 154, 222, .24), rgba(17, 79, 178, .18), transparent);
    transition: opacity 1.15s ease, transform 1.7s cubic-bezier(.16, 1, .3, 1);
}
.science-section.is-science-active::after {
    opacity: 1;
    transform: translateX(-50%) scaleX(1);
}

.science-canvas {
    position: absolute;
    inset: 0;
    z-index: 0;
    width: 100%;
    height: 100%;
    pointer-events: none;
    opacity: .72;
    mix-blend-mode: multiply;
    mask-image: linear-gradient(to bottom, transparent 0, #000 12%, #000 88%, transparent 100%);
}
.hero-home .science-canvas,
.page-hero .science-canvas,
.service-detail-hero .science-canvas { opacity: .82; }
.impact-band .science-canvas,
.contact-band .science-canvas,
.contact-cta-panel .science-canvas {
    opacity: .58;
    mix-blend-mode: screen;
    mask-image: linear-gradient(to right, transparent, #000 14%, #000 86%, transparent);
}

.science-reveal {
    opacity: 0;
    filter: blur(7px);
    transform: translate3d(0, 30px, 0) scale(.985);
    transition:
        opacity 1.15s cubic-bezier(.16, 1, .3, 1) var(--reveal-delay, 0ms),
        transform 1.35s cubic-bezier(.16, 1, .3, 1) var(--reveal-delay, 0ms),
        filter 1.15s ease var(--reveal-delay, 0ms);
    will-change: transform, opacity;
}
.science-reveal.is-science-visible {
    opacity: 1;
    filter: none;
    transform: translate3d(0, 0, 0) scale(1);
}

.science-image-frame {
    position: relative;
    overflow: hidden;
    isolation: isolate;
}
.science-image-frame::before {
    content: '';
    position: absolute;
    inset: -35% -55%;
    z-index: 2;
    pointer-events: none;
    opacity: 0;
    transform: translate3d(-45%, 0, 0) rotate(16deg);
    background: linear-gradient(90deg, transparent 40%, rgba(255,255,255,.36) 50%, transparent 60%);
    transition: opacity .4s ease;
}
.science-image-frame::after {
    content: '';
    position: absolute;
    z-index: 3;
    inset: 0;
    pointer-events: none;
    border-radius: inherit;
    background:
        radial-gradient(circle at 18% 24%, rgba(126, 215, 229, .14), transparent 26%),
        radial-gradient(circle at 82% 74%, rgba(10, 87, 184, .12), transparent 24%),
        linear-gradient(180deg, rgba(56, 187, 231, .04), transparent 22%, transparent 78%, rgba(6, 65, 156, .06));
    opacity: .72;
}
.science-image-frame:hover::before,
.science-section.is-science-active .media-card.science-image-frame::before,
.science-section.is-science-active .page-hero__media.science-image-frame::before {
    opacity: 1;
    animation: science-image-scan 12s ease-in-out infinite;
}
.science-image-motion {
    transform: translate3d(0, var(--image-parallax-y, 0px), 0) scale(var(--image-parallax-scale, 1.035));
    transform-origin: center;
    transition: transform .22s linear, filter .6s ease;
    will-change: transform;
}
.science-image-frame:hover .science-image-motion {
    filter: saturate(1.06) contrast(1.025);
}
@keyframes science-image-scan {
    0%, 15% { transform: translate3d(-48%, 0, 0) rotate(16deg); }
    55%, 100% { transform: translate3d(48%, 0, 0) rotate(16deg); }
}

.science-depth-card {
    --card-rx: 0deg;
    --card-ry: 0deg;
    --card-light-x: 50%;
    --card-light-y: 50%;
    position: relative;
    transform: perspective(1000px) rotateX(var(--card-rx)) rotateY(var(--card-ry)) translateZ(0);
    transform-style: preserve-3d;
    transition: transform .42s ease, box-shadow .5s ease, border-color .5s ease;
    will-change: transform;
}
.science-depth-card::after {
    content: '';
    position: absolute;
    inset: 0;
    z-index: 5;
    pointer-events: none;
    border-radius: inherit;
    opacity: 0;
    background: radial-gradient(circle at var(--card-light-x) var(--card-light-y), rgba(101, 220, 231, .14), transparent 38%);
    transition: opacity .25s ease;
}
.science-depth-card:hover {
    border-color: rgba(39, 152, 220, .28);
    box-shadow: 0 24px 52px rgba(8, 66, 145, .13);
}
.science-depth-card:hover::after { opacity: 1; }
.science-depth-card > * { position: relative; z-index: 1; }

.science-button {
    --button-x: 50%;
    --button-y: 50%;
    position: relative;
    overflow: hidden;
    isolation: isolate;
}
.science-button::before {
    content: '';
    position: absolute;
    z-index: -1;
    width: 10px;
    height: 10px;
    left: var(--button-x);
    top: var(--button-y);
    border-radius: 50%;
    opacity: 0;
    transform: translate(-50%, -50%) scale(0);
    background: rgba(255,255,255,.26);
    transition: transform .9s ease, opacity .45s ease;
}
.science-button:hover::before {
    opacity: 1;
    transform: translate(-50%, -50%) scale(18);
}
.science-button span[aria-hidden="true"] {
    display: inline-block;
    transition: transform .45s ease;
}
.science-button:hover span[aria-hidden="true"] { transform: translateX(4px); }

.hero-home__copy,
.page-hero__grid > div:first-child,
.service-detail-hero__copy { position: relative; }
.hero-home__copy::before,
.page-hero__grid > div:first-child::before,
.service-detail-hero__copy::before {
    content: '';
    position: absolute;
    z-index: -1;
    width: 210px;
    height: 210px;
    left: -90px;
    top: -65px;
    border-radius: 50%;
    background: radial-gradient(circle, rgba(94, 211, 224, .16), rgba(43, 155, 231, .04) 52%, transparent 72%);
    animation: science-ambient-pulse 11s ease-in-out infinite;
}
@keyframes science-ambient-pulse {
    0%, 100% { transform: scale(.9); opacity: .55; }
    50% { transform: scale(1.18); opacity: 1; }
}

.impact-band__stats article {
    position: relative;
    overflow: hidden;
}
.impact-band__stats article::before {
    content: '';
    position: absolute;
    inset: auto 15% 0;
    height: 2px;
    transform: scaleX(0);
    transform-origin: left;
    background: linear-gradient(90deg, #77e0e8, #fff);
    transition: transform .8s cubic-bezier(.16, 1, .3, 1);
}
.impact-band.is-science-active .impact-band__stats article::before { transform: scaleX(1); }
.impact-band__stats article:nth-child(2)::before { transition-delay: .12s; }
.impact-band__stats article:nth-child(3)::before { transition-delay: .24s; }
.impact-band__stats article:nth-child(4)::before { transition-delay: .36s; }
.impact-band__stats article:nth-child(5)::before { transition-delay: .48s; }

.service-process__timeline article::before {
    transition: transform .75s cubic-bezier(.16, 1, .3, 1), opacity .5s ease;
}
.service-process.is-science-active .service-process__timeline article::before {
    animation: science-process-pulse 5.8s ease-in-out infinite;
}
@keyframes science-process-pulse {
    0%, 100% { box-shadow: 0 0 0 0 rgba(34, 158, 222, .14); }
    50% { box-shadow: 0 0 0 9px rgba(34, 158, 222, 0); }
}

.faq-preview__list details[open] {
    border-color: rgba(34, 146, 215, .32);
    box-shadow: 0 14px 32px rgba(12, 73, 151, .08);
}
.faq-preview__list summary::after {
    content: '+';
    float: right;
    color: #1472c6;
    transition: transform .48s ease;
}
.faq-preview__list details[open] summary::after { transform: rotate(45deg); }

@media (max-width: 760px) {
    .science-canvas { opacity: .5; }
    .science-reveal {
        filter: blur(4px);
        transform: translate3d(0, 20px, 0) scale(.992);
    }
    .science-depth-card { transform: none !important; }
    .hero-home__copy::before,
    .page-hero__grid > div:first-child::before,
    .service-detail-hero__copy::before { width: 140px; height: 140px; left: -60px; }
}

@media (prefers-reduced-motion: reduce) {
    .science-progress span { transition: none; }
    .science-canvas { opacity: .28; }
    .science-reveal,
    .science-reveal.is-science-visible {
        opacity: 1;
        filter: none;
        transform: none;
        transition: none;
    }
    .science-image-motion { transform: none; transition: none; }
    .science-image-frame::before { display: none; }
    .science-depth-card { transform: none; transition: none; }
    .science-button::before { display: none; }
    .hero-home__copy::before,
    .page-hero__grid > div:first-child::before,
    .service-detail-hero__copy::before { animation: none; }
    .service-process.is-science-active .service-process__timeline article::before { animation: none; }
}


.science-mouse-bubble-layer {
    position: fixed;
    inset: 0;
    z-index: 46;
    pointer-events: none;
    overflow: hidden;
}
.science-mouse-bubble {
    position: fixed;
    z-index: 1;
    display: block;
    margin-left: -5px;
    margin-top: -5px;
    border: 1px solid rgba(43, 155, 231, .28);
    border-radius: 50%;
    background: rgba(126, 215, 229, .08);
    box-shadow: inset 0 0 10px rgba(255, 255, 255, .28), 0 3px 14px rgba(43, 155, 231, .08);
    transform: translate3d(-50%, -50%, 0) scale(.45);
    animation: science-mouse-bubble-float 1.05s ease-out forwards;
    will-change: transform, opacity;
}
.science-mouse-bubble--emphasis {
    border-color: rgba(43, 155, 231, .34);
    background: rgba(126, 215, 229, .1);
    animation-duration: 1.25s;
}
@keyframes science-mouse-bubble-float {
    0% {
        opacity: .72;
        transform: translate3d(-50%, -50%, 0) scale(.45);
    }
    58% { opacity: .38; }
    100% {
        opacity: 0;
        transform: translate3d(
            calc(-50% + var(--bubble-drift-x, 0px)),
            calc(-50% + var(--bubble-drift-y, -24px)),
            0
        ) scale(1.45);
    }
}
@media (max-width: 1024px), (pointer: coarse) {
    .science-mouse-bubble-layer { display: none; }
}


/* TechCiência 3.1.21 — fundo sem grade quadriculada */
html,
body,
main,
.hero-home,
.intro-panel,
.services-overview,
.news-section,
.faq-preview,
.page-hero,
.capability-section,
.institution-method,
.services-catalog,
.contact-page,
.article-page__shell,
.legal-page__shell {
    background-image: none !important;
}

.lab-ruler::before {
    display: none !important;
}

