/* Original Ibex styling with motion patterns studied on BillingMate. */
:root{--fx-ease:cubic-bezier(.22,1,.36,1)}
.site-header{transition:box-shadow .3s,background .3s}
.site-header.is-scrolled{background:#fffffff5;box-shadow:0 6px 28px #1426500c;backdrop-filter:blur(12px)}
.site-header::after{content:"";position:absolute;left:0;right:0;bottom:0;height:2px;background:linear-gradient(90deg,#087d99,#5fdcf2);transform:scaleX(var(--page-progress,0));transform-origin:left;pointer-events:none}
.ibex-motion .fx-reveal{opacity:0;translate:0 26px;transition:opacity .8s var(--fx-ease) var(--fx-delay,0ms),translate .8s var(--fx-ease) var(--fx-delay,0ms),transform .45s var(--fx-ease),background .4s,color .35s,box-shadow .45s var(--fx-ease),border-color .35s}
.ibex-motion .fx-reveal.fx-in{opacity:1;translate:0 0}
.ibex-motion .hero-copy>*{animation:none}
.ibex-motion .national-hero::before{background-image:radial-gradient(ellipse at 85% 35%,#b7edf88c,transparent 57%),radial-gradient(ellipse at 6% 90%,#d9eafa66,transparent 51%);background-size:120% 120%;animation:fx-ambient 14s ease-in-out 4 alternate}
.hero-copy>.eyebrow{display:inline-flex;align-items:center;gap:9px;border:1px solid #c8e3ec;border-radius:999px;background:#f1fbfd;padding:8px 13px;font-size:8px;letter-spacing:.09em}
.hero-copy>.eyebrow::before{content:"";width:6px;height:6px;flex:none;background:#0f9aae;border-radius:50%;box-shadow:0 0 0 4px #27b9df14}
.ibex-motion .hero-copy>.eyebrow::before{animation:fx-ping 1.8s ease-out 4}
.ibex-motion .hero-float.float-a{animation:fx-float-a 7s ease-in-out 6}
.ibex-motion .hero-float.float-b{animation:fx-float-b 8s ease-in-out .6s 5}
.ibex-motion .hero-halo::after{border-style:dashed;animation:fx-halo-breathe 8s ease-in-out 5}
.ibex-motion .viz-trend-symbol{animation:fx-trend 4.5s ease-in-out 5}
.ibex-motion :is(.button,.nav-cta,.quote-button,.faq-call-button){transition:transform .35s var(--fx-ease),box-shadow .35s var(--fx-ease),background .3s,color .3s,border-color .3s}
:is(.button,.nav-cta,.quote-button,.faq-call-button) :is(svg,span[aria-hidden]){transition:transform .35s var(--fx-ease)}
.service-card,.specialty-card{position:relative;isolation:isolate;overflow:hidden;border-radius:24px}
.service-card::before,.specialty-card::before{content:"";position:absolute;z-index:-1;width:210px;height:210px;right:-100px;top:-105px;pointer-events:none;border-radius:50%;background:radial-gradient(circle,#47d7f53d,transparent 70%);opacity:0;scale:.8;transition:opacity .5s,scale .5s var(--fx-ease)}
.service-card>svg{width:48px;height:48px;padding:10px;border-radius:13px;background:#e7f5fa;transition:color .4s,background .4s,transform .45s var(--fx-ease)}
:is(.service-card,.specialty-card) :is(h3,p,.view-link,.spec-icon){transition:color .35s,background .4s,transform .45s var(--fx-ease)}
.software-card,.resource-card,.audit-preview-grid article,.pillar-grid article{transition:transform .45s var(--fx-ease),box-shadow .45s var(--fx-ease),border-color .35s,background .35s}
.software-card .vendor-logo img{transition:transform .8s var(--fx-ease)}
.coverage-strip>a{transition:background .35s,box-shadow .4s,transform .4s var(--fx-ease)}
.coverage-strip>a>span[aria-hidden]{transition:transform .35s var(--fx-ease)}
.journey-tabs::after{content:"";position:absolute;left:0;right:0;bottom:0;height:3px;background:#54d9ee;transform:scaleX(var(--journey-progress,.2));transform-origin:left;transition:transform .6s var(--fx-ease);pointer-events:none}
.journey-tabs .journey-number{transition:transform .45s var(--fx-ease),background .35s,color .35s,box-shadow .45s}
.insight-tabs button>svg{transition:transform .4s var(--fx-ease)}
.ibex-motion [data-tab-panel].panel-enter{animation:fx-panel .55s var(--fx-ease) both}
.ibex-motion .board-stage{animation:none}
.ibex-motion .panel-enter .board-stage{animation:fx-stage .6s var(--fx-ease) both}
.ibex-motion .panel-enter .board-stage:nth-child(2){animation-delay:.09s}
.ibex-motion .panel-enter .board-stage:nth-child(3){animation-delay:.18s}
.ibex-motion details[open] .faq-answer{animation:none}
.ibex-motion details[data-fx-open="false"] .faq-toggle{transform:rotate(0);background:#f0f3f8;color:var(--navy)}
.ibex-motion details[data-fx-open="true"] .faq-toggle{transform:rotate(45deg);background:var(--navy);color:#fff}
.ibex-motion .faq-toggle{transition:transform .45s var(--fx-ease),background .35s,color .35s}
.inquiry-form :is(input,select,textarea){transition:border-color .25s,box-shadow .3s,background .3s}
.inquiry-form :is(input,select,textarea):focus{border-color:#159bb6;box-shadow:0 0 0 4px #27b9df12;background:#fff}
.practice-ribbon{padding:0 0 46px;overflow:hidden}
.practice-ribbon-label{display:block;text-align:center;font-size:8px;letter-spacing:.14em;font-weight:800;color:#5a7187;margin:0 0 18px}
.ribbon-viewport{position:relative;overflow:hidden;padding:5px 0;mask-image:linear-gradient(90deg,transparent,#000 7%,#000 93%,transparent)}
.ribbon-track{display:flex;width:max-content;gap:16px}
.ribbon-group{display:flex;align-items:center;gap:16px;flex:none}
.ribbon-pill{display:flex;align-items:center;gap:9px;white-space:nowrap;border:1px solid #d5e7ef;background:#f7fbfd;border-radius:999px;padding:11px 17px;color:#2c4968;font-size:11px;font-weight:700}
.ribbon-pill svg{width:18px;height:18px;color:#087d99}
.ibex-motion .ribbon-track{animation:fx-ribbon 40s linear infinite;animation-play-state:paused}
.ibex-motion .practice-ribbon.fx-running .ribbon-track{animation-play-state:running}
.ibex-motion .ribbon-viewport:is(:hover,:focus,:focus-within) .ribbon-track{animation-play-state:paused}
.ribbon-viewport:focus-visible{outline:2px solid #159bb6;outline-offset:-2px;border-radius:12px}
@media(hover:hover) and (pointer:fine){
 :is(.button,.nav-cta,.quote-button,.faq-call-button):hover{transform:translateY(-3px);box-shadow:0 14px 30px #14265024}
 :is(.button,.nav-cta,.quote-button,.faq-call-button):hover :is(svg,span[aria-hidden]){transform:translate(4px,-1px)}
 .button.secondary:hover{background:var(--navy);color:#fff;border-color:var(--navy)}
 :is(.service-card,.specialty-card):is(:hover,:focus-visible){transform:translateY(-8px);background:#142650;border-color:#142650;box-shadow:0 24px 48px #14265026}
 :is(.service-card,.specialty-card):is(:hover,:focus-visible)::before{opacity:1;scale:1.3}
 :is(.service-card,.specialty-card):is(:hover,:focus-visible) h3{color:#fff}
 :is(.service-card,.specialty-card):is(:hover,:focus-visible) p{color:#dbe7f5}
 :is(.service-card,.specialty-card):is(:hover,:focus-visible) .view-link{color:#7de3f5}
 :is(.service-card,.specialty-card):is(:hover,:focus-visible) .view-link>span{transform:translateX(5px)}
 .service-card:is(:hover,:focus-visible)>svg,.specialty-card:is(:hover,:focus-visible) .spec-icon{background:#ffffff18;color:#81e8f7;transform:translateY(-2px) rotate(-4deg)}
 .software-card:hover{transform:translateY(-6px);background:#f1fbfe;border-color:#85cfe0;box-shadow:0 20px 38px #14265014}
 .software-card:hover .vendor-logo img{transform:scale(1.04)}
 :is(.resource-card,.audit-preview-grid article,.pillar-grid article):hover{transform:translateY(-6px);box-shadow:0 18px 35px #14265013;border-color:#a8d8e6}
 .coverage-strip>a:hover{transform:translateY(-4px);box-shadow:0 12px 25px #1426500d}
 .coverage-strip>a:hover>span[aria-hidden]{transform:translate(3px,-2px)}
 .journey-tabs button:hover .journey-number{transform:translateY(-3px) scale(1.07);box-shadow:0 6px 18px #27b9df24}
 .insight-tabs button:hover>svg{transform:translateY(-3px)}
}
@keyframes fx-ambient{from{background-position:0% 0%}to{background-position:100% 70%}}
@keyframes fx-ping{50%{box-shadow:0 0 0 7px #27b9df00}100%{box-shadow:0 0 0 4px #27b9df14}}
@keyframes fx-float-a{0%,100%{transform:translate(0,0)}50%{transform:translate(-3px,-11px)}}
@keyframes fx-float-b{0%,100%{transform:translate(0,0)}50%{transform:translate(4px,9px)}}
@keyframes fx-halo-breathe{0%,100%{opacity:.45}50%{opacity:1}}
@keyframes fx-trend{0%,100%{transform:translateY(0)}50%{transform:translateY(-5px)}}
@keyframes fx-panel{from{opacity:.2;translate:0 12px}to{opacity:1;translate:0 0}}
@keyframes fx-stage{from{opacity:0;translate:0 10px}to{opacity:1;translate:0 0}}
@keyframes fx-ribbon{to{transform:translateX(calc(-50% - 8px))}}
@media(max-width:650px){.hero-copy>.eyebrow{font-size:7px;padding:7px 11px;letter-spacing:.055em}.ibex-motion .fx-reveal{translate:0 18px}.ibex-motion .fx-reveal.fx-in{translate:0 0}.practice-ribbon{padding-bottom:32px}.practice-ribbon-label{font-size:7px;margin-bottom:13px}.ribbon-pill{font-size:10px;padding:10px 14px}.ribbon-pill svg{width:16px;height:16px}.service-card,.specialty-card{border-radius:20px}}
@media(prefers-reduced-motion:reduce){.fx-reveal{opacity:1!important;translate:none!important}.site-header::after{display:none}.ribbon-track{animation:none!important;transform:none!important;width:auto}.ribbon-group{flex-wrap:wrap;justify-content:center}.ribbon-group[aria-hidden]{display:none}.ribbon-viewport{mask-image:none;padding-inline:20px}.practice-ribbon-label{margin-bottom:15px}.ribbon-pill{white-space:normal}}
.motion-paused .fx-reveal{opacity:1!important;translate:none!important}
