/* Shared interaction timing and natural-scroll inner page choreography. */
.site-page:not(.page-home){overflow-x:clip}
.inner-motion-pending .site-page:not(.page-home) h1{visibility:hidden}
.site-page:not(.page-home) .inner-split-title{display:block!important;text-box-trim:none;overflow:visible}
.site-page:not(.page-home) .inner-title-line-mask{padding:.18em .06em .2em!important;margin:-.18em -.06em -.2em!important}
.site-page:not(.page-home) .inner-title-line{display:block;will-change:auto}
.site-page:not(.page-home) .media-image{overflow:hidden}
.site-page:not(.page-home) .motion-image-layer,.site-page:not(.page-home) .inner-image-scale{display:block;position:absolute;inset:0;pointer-events:none}
.site-page:not(.page-home) .inner-image-scale>img{display:block;position:absolute;width:100%;height:100%;max-width:none;object-fit:cover}
.site-page:not(.page-home) .inner-image-scale{transition:scale .45s cubic-bezier(.22,.8,.2,1)}
.site-page:not(.page-home) .brand-wordmark{overflow:visible}
.site-page:not(.page-home) .is-motion-hover .inner-image-scale{scale:1.035}
.site-page:not(.page-home) [data-motion-hover]{transition:background-color .3s,color .3s,box-shadow .3s;isolation:isolate}
.site-page:not(.page-home) [data-motion-hover]:is(:hover,:focus-within){box-shadow:inset 0 0 0 1px #6f8e7e66}
.site-page:not(.page-home) .solution-card{outline:1px solid #6f8e7e33;outline-offset:-1px;background-color:#1b3f32!important}
.site-page:not(.page-home) .solution-card:is(:hover,:focus-within){background-color:#315c49!important}
.site-page:not(.page-home) .solution-card .content-text{opacity:1!important}
.site-page:not(.page-home) .action-link{transition:background-color .25s,color .25s}
.site-page:not(.page-home) .action-link:is(:hover,:focus-visible){background-color:#6f8e7e22}
.site-page:not(.page-home) .action-link .rv-ui-icon,.site-page:not(.page-home) .person-about-arrow{transition:translate .25s}
.site-page:not(.page-home) .action-link:hover .rv-ui-icon,.site-page:not(.page-home) .person-card:is(:hover,:focus-within) .person-about-arrow{translate:3px 0}
.site-page:not(.page-home) .office{overflow:hidden;overflow-anchor:none}
.site-page:not(.page-home) .office summary{z-index:1}
/* Native horizontal regions remain fully usable with motion dependencies blocked. */
.related-insights{background:#0f2b22;color:#fff;padding:clamp(48px,5vw,96px) var(--gutter);position:relative;min-width:0}
.related-insights>h2{font-size:var(--fs-48);line-height:1.15;font-weight:500;margin:0 0 40px}
.related-insights-track,.capability-track{display:flex;gap:clamp(16px,1.25vw,24px);overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x proximity;scroll-padding:1px;touch-action:pan-x pan-y;min-width:0;scrollbar-width:thin;scrollbar-color:#6f8e7e transparent;padding-bottom:12px}
.related-insights-track>.news-card{flex:0 0 clamp(260px,25vw,460px);scroll-snap-align:start}
.related-insights .news-photo{height:clamp(320px,25vw,480px)}
.related-insights .news-category{min-height:48px;height:auto;padding:16px 0;border-color:#547260;font-size:14px}
.related-insights .news-caption{background:#0f2b22;color:#fff;width:82%;padding:20px;min-height:160px;gap:20px}
.related-insights .news-caption h3{font-size:var(--fs-24);line-height:1.3;font-weight:500;flex-shrink:0}
.related-insights .news-caption time{padding-right:28px;line-height:1.25}
.related-insights .news-caption>span{width:20px;height:20px;background:currentColor;mask:url('../images/revenis/ui-arrow.svg') center/contain no-repeat}
.motion-carousel-actions{display:flex;gap:10px;justify-content:flex-end;margin-top:24px}
.motion-carousel-actions>button{display:grid;place-items:center;width:48px;height:48px;border:1px solid #6f8e7e;border-radius:50%;color:inherit;background:transparent;transition:opacity .2s,background-color .2s}
.motion-carousel-actions>button:not(:disabled):hover{background:#6f8e7e33}
.motion-carousel-actions>button:disabled{opacity:.3;cursor:default}
.motion-carousel-actions .rv-ui-icon{width:20px;height:20px}
.motion-carousel-progress{height:2px;background:#6f8e7e33;position:absolute;right:var(--gutter);top:clamp(32px,5vw,96px);width:100px;overflow:hidden}
.motion-carousel-progress>span{display:block;width:100%;height:100%;background:currentColor;transform-origin:left;transform:scaleX(.25)}
[data-motion-track].is-dragging{cursor:grabbing;user-select:none;scroll-snap-type:none}
[data-motion-track] img{-webkit-user-drag:none}
[data-motion-track]:focus-visible{outline:2px solid #6f8e7e;outline-offset:4px}
.rintelligence-capabilities{display:grid!important;grid-template-columns:minmax(0,1fr)!important;grid-template-rows:auto auto!important;gap:40px!important;padding:clamp(48px,5vw,96px) var(--gutter)!important;min-height:760px!important;height:auto!important;position:relative;isolation:isolate;overflow:hidden!important}
.rintelligence-capabilities>.media-image,.rintelligence-capabilities>.decorative-artwork{position:absolute!important;inset:0!important;width:100%!important;height:100%!important;grid-area:auto!important;z-index:-1}
.rintelligence-capabilities__ai-capabilities-copy{grid-area:1/1!important;position:relative!important;inset:auto!important;width:100%!important;min-height:0!important;text-align:center!important;justify-self:stretch!important;gap:24px!important}
.rintelligence-capabilities__ai-capabilities-copy-title{width:100%!important;white-space:normal!important}
.rintelligence-capabilities__description{width:min(620px,100%)!important;justify-self:center!important}
.capability-carousel{grid-area:2/1;min-width:0;position:relative;color:#163e2e}
.capability-card{flex:0 0 clamp(270px,27vw,420px);min-height:400px;padding:32px;background:#f2efea;display:flex;flex-direction:column;gap:24px;scroll-snap-align:start}
.capability-number{display:grid;place-items:center;width:32px;height:32px;border-radius:50%;background:#3e6b5a;color:white;font-size:12px}
.capability-card h3{font-size:var(--fs-32);font-weight:500;line-height:1.15}
.capability-card p{font-size:1rem;line-height:1.5}
.capability-card .capability-icon{width:88px;height:88px;color:#6f8e7e;margin-top:auto}
.capability-carousel .motion-carousel-progress{top:auto;bottom:22px;left:0;right:auto}
.site-page:not(.page-home) input,.site-page:not(.page-home) textarea,.site-page:not(.page-home) select{transition:border-color .2s,box-shadow .2s}
.site-page:not(.page-home) :is(input,textarea,select):focus{outline:1px solid #6f8e7e;outline-offset:3px}
.submit-form button{transition:opacity .2s,background-color .2s}
.submit-form button:disabled{opacity:.55;cursor:wait}
.form-message:not(:empty){animation:revenis-feedback .25s ease-out}
@keyframes revenis-feedback{from{opacity:0;translate:0 4px}to{opacity:1;translate:0 0}}
/* Public overlays share one short CSS entrance and an interruptible 160ms exit. */
.mega-menu,#mobile-menu,#search-dialog,#language-panel{opacity:1;translate:0 0;transition:opacity .12s ease-out,translate .16s cubic-bezier(.2,.65,.3,1)}
.menu-shade{opacity:1;transition:opacity .12s ease-out}
@starting-style{.mega-menu:not([hidden]),#mobile-menu:not([hidden]),#search-dialog:not([hidden]),#language-panel:not([hidden]){opacity:0;translate:0 -4px}.menu-shade:not([hidden]){opacity:0}}
@supports(transition-behavior:allow-discrete){
 .mega-menu,#mobile-menu,#search-dialog,#language-panel{transition:opacity .12s ease-out,translate .16s cubic-bezier(.2,.65,.3,1),display .16s allow-discrete}
 .menu-shade{transition:opacity .12s ease-out,display .16s allow-discrete}
 .mega-menu[hidden],#mobile-menu[hidden],#search-dialog[hidden],#language-panel[hidden]{opacity:0;translate:0 -4px;pointer-events:none;transition:opacity .16s ease-in,translate .16s ease-in,display .16s allow-discrete}
 .menu-shade[hidden]{opacity:0;pointer-events:none;transition:opacity .16s ease-in,display .16s allow-discrete}
}
/* Keep the underline node alive so hover -> focus cannot recreate/restart it. */
.desktop-nav>a::after,.desktop-nav>.nav-trigger::after{content:'';position:absolute;left:0;right:0;bottom:-8px;height:1px;background:var(--accent);scale:0 1;transform-origin:left;transition:scale .14s ease-out}
.desktop-nav>.is-nav-active::after,.desktop-nav>.nav-trigger[aria-expanded=true]::after{scale:1}
.desktop-nav>a,.desktop-nav>.nav-trigger{transition:color .12s ease-out}
.desktop-nav>.is-nav-active{color:var(--accent)}
.about-menu-layout>div:first-child>a,.practice-menu>a,.solutions-menu>a{padding-left:0;background:transparent;transition:padding-left .16s cubic-bezier(.2,.65,.3,1),background-color .12s ease-out,color .12s ease-out}
.about-menu-layout>div:first-child>a::before,.practice-menu>a::before,.solutions-menu>a::before{content:'';position:absolute;left:calc(16*var(--design-unit));width:16px;height:16px;background:url('../images/revenis/vector-223fa97d2ec58917.svg') center/contain no-repeat;opacity:0;transform:translateX(-5px);transition:opacity .12s ease-out,transform .16s cubic-bezier(.2,.65,.3,1)}
.about-menu-layout>div:first-child>a.menu-active,.practice-menu>a.menu-active{padding-left:calc(40*var(--design-unit));background-color:var(--paper)}
.solutions-menu>a.menu-active{padding-left:calc(64*var(--design-unit));background-color:var(--paper)}
.solutions-menu>a::before{width:32px;height:32px}
.about-menu-layout>div:first-child>a.menu-active::before,.practice-menu>a.menu-active::before,.solutions-menu>a.menu-active::before{opacity:1;transform:translateX(0)}
@media(max-width:1199px){
 .rintelligence-capabilities{min-height:0!important;padding:48px var(--gutter)!important;gap:32px!important}
 .related-insights .news-caption{width:90%;min-height:160px}
 .site-page:not(.page-home) [class*='site-contact-cta__title']{white-space:nowrap!important;width:max-content!important;max-width:none!important}
}
@media(prefers-reduced-motion:reduce){
 .site-page:not(.page-home) *, .mega-menu,#mobile-menu,#search-dialog,#language-panel,.menu-shade{transition:none!important;animation:none!important;scroll-behavior:auto!important}
 .inner-motion-pending .site-page h1{visibility:visible}
}
/* Card emphasis moves with hover/focus; each sibling keeps the same resting treatment. */
.site-page:not(.page-home) .solution-card>:first-child{transition:translate .35s cubic-bezier(.22,.8,.2,1)}
.site-page:not(.page-home) .solution-card:is(:hover,:focus-within)>:first-child{translate:0 -6px}
.solutions-products__practice-areas-copy,.practice-areas-services__practice-areas-copy{display:flex!important;align-items:center!important;gap:32px!important;width:max-content!important;max-width:100%}
.solutions-products__practice-areas-copy>.content-text,.practice-areas-services__practice-areas-copy>.content-text{width:auto!important;flex:none}
@media(prefers-reduced-motion:reduce){.site-page:not(.page-home) .solution-card:is(:hover,:focus-within)>:first-child{translate:none}}
.site-page:not(.page-home) .inner-footer-link{position:relative!important;display:block!important;width:100%!important;min-width:max-content;padding:0 0 8px!important;font-size:var(--fs-32)!important;line-height:1.2!important;font-weight:400!important;color:#6f8e7e;background:none!important;outline:0;text-decoration:none}
.inner-footer-text{display:block;transition:translate .3s,color .3s}
.inner-footer-link:before{content:'';position:absolute;left:0;top:.15em;width:.8em;height:.8em;background:currentColor;mask:url('../images/revenis/ui-arrow.svg') center/contain no-repeat;opacity:0;translate:-6px 0;transition:opacity .3s,translate .3s}
.inner-footer-link:after{content:'';position:absolute;left:0;right:0;bottom:0;height:2px;background:currentColor;scale:0 1;transform-origin:left;transition:scale .3s}
.site-page:not(.page-home) .inner-footer-link:is(:hover,:focus-visible){color:#0f2b22}
.inner-footer-link:is(:hover,:focus-visible) .inner-footer-text{translate:1em 0}
.inner-footer-link:is(:hover,:focus-visible):before{opacity:1;translate:0 0}
.inner-footer-link:is(:hover,:focus-visible):after{scale:1}

.site-page:not(.page-home) .inner-split-title.inner-lines-ready{display:flex!important;flex-direction:column;align-items:stretch}
.site-page:not(.page-home) .person-card .person-about-label{position:static!important;width:auto!important;height:auto!important;overflow:visible!important;clip-path:none!important;opacity:0;translate:-6px 0;transition:opacity .25s,translate .25s}
.site-page:not(.page-home) .person-card:is(:hover,:focus-within) .person-about-label{opacity:1;translate:0 0}
.inner-expert-about{position:absolute;right:clamp(64px,5vw,96px);bottom:clamp(24px,2vw,40px);font-size:14px;color:#6f8e7e;opacity:0;translate:-6px 0;pointer-events:none;transition:opacity .25s,translate .25s}
[data-person]:is(:hover,:focus-within)>.inner-expert-about{opacity:1;translate:0 0}
@media(hover:none){.site-page:not(.page-home) .person-card .person-about-label,.inner-expert-about{opacity:1;translate:none}}

@media(prefers-reduced-motion:reduce){.desktop-nav>*,.desktop-nav>*::after,.mega-menu a,.mega-menu a::before{transition:none!important}}
