/* ═══════════════════════════════════════════════════════════════════════
   INNER PAGES PREMIUM MOTION — Task #1144097
   Extends the animation system to ALL inner pages.
   Covers: settlements, categories, pricing, law-firms, employers, veterans,
   guides, tools, auth, search, eligibility, deadlines, how-to-file, api, advertise.

   Principles:
   · GPU-only: transform + opacity only (no width/height/top/left in animations)
   · IntersectionObserver-driven — no janky scroll listeners
   · prefers-reduced-motion: all motion disabled
   · No CLS — elements have final dimensions before animation
   · Easing: cubic-bezier(0.16, 1, 0.3, 1) — premium spring feel
   · Animates ONCE per page load — IntersectionObserver unobserves after fire
   ═══════════════════════════════════════════════════════════════════════ */

/* ── Keyframes ──────────────────────────────────────────────────────── */

@keyframes ip-fade-up {
  from { opacity: 0; transform: translateY(20px); }
  to   { opacity: 1; transform: translateY(0); }
}

@keyframes ip-fade-in {
  from { opacity: 0; }
  to   { opacity: 1; }
}

@keyframes ip-scale-in {
  from { opacity: 0; transform: scale(0.96); }
  to   { opacity: 1; transform: scale(1); }
}

@keyframes ip-slide-left {
  from { opacity: 0; transform: translateX(-16px); }
  to   { opacity: 1; transform: translateX(0); }
}

@keyframes ip-slide-right {
  from { opacity: 0; transform: translateX(16px); }
  to   { opacity: 1; transform: translateX(0); }
}

@keyframes ip-count-glow {
  0%   { color: inherit; }
  50%  { color: #2563eb; text-shadow: 0 0 12px rgba(37,99,235,0.35); }
  100% { color: inherit; text-shadow: none; }
}

@keyframes ip-shimmer {
  from { background-position: -200% center; }
  to   { background-position: 200% center; }
}

@keyframes ip-shake {
  0%, 100% { transform: translateX(0); }
  15%       { transform: translateX(-6px); }
  30%       { transform: translateX(6px); }
  45%       { transform: translateX(-4px); }
  60%       { transform: translateX(4px); }
  75%       { transform: translateX(-2px); }
  90%       { transform: translateX(2px); }
}

@keyframes ip-check-in {
  0%   { opacity: 0; transform: scale(0) rotate(-45deg); }
  60%  { opacity: 1; transform: scale(1.2) rotate(5deg); }
  100% { opacity: 1; transform: scale(1) rotate(0deg); }
}

@keyframes ip-pulse-ring {
  0%   { opacity: 0; transform: scale(0.9); }
  50%  { opacity: 0.6; }
  100% { opacity: 0; transform: scale(1.3); }
}

/* ══════════════════════════════════════════════════════════════════════
   1. SCROLL-REVEAL BASE CLASSES
   Used by inner-pages-premium-1144097.js for all pages
   ══════════════════════════════════════════════════════════════════════ */

/* Standard fade-up reveal */
.ip-reveal {
  opacity: 0;
  transform: translateY(20px);
  transition: opacity 0.45s cubic-bezier(0.16, 1, 0.3, 1),
              transform 0.45s cubic-bezier(0.16, 1, 0.3, 1);
  will-change: opacity, transform;
}
.ip-reveal.ip-visible {
  opacity: 1;
  transform: translateY(0);
}

/* Stagger delays — JS sets these via data-delay or sibling index */
.ip-reveal.ip-d1  { transition-delay: 80ms; }
.ip-reveal.ip-d2  { transition-delay: 160ms; }
.ip-reveal.ip-d3  { transition-delay: 240ms; }
.ip-reveal.ip-d4  { transition-delay: 320ms; }
.ip-reveal.ip-d5  { transition-delay: 400ms; }
.ip-reveal.ip-d6  { transition-delay: 480ms; }
.ip-reveal.ip-d7  { transition-delay: 560ms; }
.ip-reveal.ip-d8  { transition-delay: 640ms; }
.ip-reveal.ip-d9  { transition-delay: 720ms; }
.ip-reveal.ip-d10 { transition-delay: 800ms; }

/* Scale-in variant for cards */
.ip-reveal-scale {
  opacity: 0;
  transform: scale(0.97) translateY(12px);
  transition: opacity 0.4s cubic-bezier(0.16, 1, 0.3, 1),
              transform 0.4s cubic-bezier(0.16, 1, 0.3, 1);
  will-change: opacity, transform;
}
.ip-reveal-scale.ip-visible {
  opacity: 1;
  transform: scale(1) translateY(0);
}
.ip-reveal-scale.ip-d1  { transition-delay: 80ms; }
.ip-reveal-scale.ip-d2  { transition-delay: 160ms; }
.ip-reveal-scale.ip-d3  { transition-delay: 240ms; }
.ip-reveal-scale.ip-d4  { transition-delay: 320ms; }
.ip-reveal-scale.ip-d5  { transition-delay: 400ms; }
.ip-reveal-scale.ip-d6  { transition-delay: 480ms; }
.ip-reveal-scale.ip-d7  { transition-delay: 560ms; }
.ip-reveal-scale.ip-d8  { transition-delay: 640ms; }

/* Slide-in from left */
.ip-reveal-left {
  opacity: 0;
  transform: translateX(-16px);
  transition: opacity 0.4s cubic-bezier(0.16, 1, 0.3, 1),
              transform 0.4s cubic-bezier(0.16, 1, 0.3, 1);
  will-change: opacity, transform;
}
.ip-reveal-left.ip-visible {
  opacity: 1;
  transform: translateX(0);
}

/* ══════════════════════════════════════════════════════════════════════
   2. HERO ENTRANCE — CSS-only (no IntersectionObserver needed)
   All inner page heroes animate on page load via CSS animations.
   Matches: .dir-hero, .pricing-hero, .emp-hero, .vet-hero, .ei-hero,
   .twd-hero, .sci-hero, .lf-hero, .htf-hero, .api-hero, etc.
   ══════════════════════════════════════════════════════════════════════ */

/* Hero heading */
.dir-hero h1, .dir-h1,
.pricing-hero h1,
.emp-hero h1,
.vet-headline,
.ei-hero h1,
.twd-headline,
.sci-h1,
.lf-hero h1, .lf-hero-headline,
.api-hero h1, .api-hero-headline,
.adv-hero h1, .adv-hero-headline,
.htf-hero h1, .htf-hero-headline,
.contact-hero h1,
.search-hero h1,
.employers-hero h1 {
  animation: ip-fade-up 0.5s cubic-bezier(0.16, 1, 0.3, 1) both;
}

/* Hero subheading / intro text */
.dir-hero-sub, .dir-hero p,
.pricing-hero .sp-hero-sub,
.emp-hero-sub, .emp-hero p,
.vet-subhead,
.ei-hero p, .ei-intro,
.twd-intro,
.sci-intro,
.lf-hero-sub, .lf-hero p,
.api-hero-sub, .api-hero p,
.adv-hero-sub, .adv-hero p,
.htf-hero-sub, .htf-hero p,
.search-hero p,
.employers-hero p {
  animation: ip-fade-up 0.5s cubic-bezier(0.16, 1, 0.3, 1) 0.1s both;
}

/* Hero badges / eyebrows */
.dir-hero .dir-badge, .dir-hero .badge,
.pricing-hero .sp-hero-badge,
.emp-eyebrow,
.vet-eyebrow, .vet-eyebrow-wrap,
.ei-badge,
.twd-badge,
.sci-badge,
.lf-badge, .lf-intro-bar-badge,
.api-badge,
.adv-badge {
  animation: ip-scale-in 0.4s cubic-bezier(0.16, 1, 0.3, 1) both;
}

/* Hero CTA buttons */
.dir-hero-actions,
.pricing-hero .sp-hero-ctas,
.emp-hero-btns,
.vet-ctas,
.ei-hero-ctas, .ei-cta-row,
.twd-cta-row,
.sci-cta-strip,
.lf-hero-ctas,
.api-hero-ctas,
.adv-hero-ctas {
  animation: ip-fade-up 0.5s cubic-bezier(0.16, 1, 0.3, 1) 0.18s both;
}

/* Hero stats row */
.dir-hero-stats,
.pricing-hero .sp-social-proof,
.vet-hero-stats, .vet-stats,
.ei-hero-stats,
.twd-hero-stats,
.lf-hero-stats {
  animation: ip-fade-up 0.5s cubic-bezier(0.16, 1, 0.3, 1) 0.24s both;
}

/* Breadcrumbs */
.dir-breadcrumb,
.sci-breadcrumb,
.twd-breadcrumb,
.ei-breadcrumb,
.htf-breadcrumb {
  animation: ip-fade-in 0.35s ease 0.05s both;
}

/* ══════════════════════════════════════════════════════════════════════
   3. ENHANCED CARD HOVER SYSTEM — all inner page card types
   Premium lift + shadow deepening on hover
   ══════════════════════════════════════════════════════════════════════ */

/* Settlement listing cards */
.rs-settlement-card,
.sr-settlement-card,
.settlement-card,
.dir-listing-item,
.dir-results-item {
  transition: transform 0.25s cubic-bezier(0.16, 1, 0.3, 1),
              box-shadow 0.25s ease;
}
.rs-settlement-card:hover,
.sr-settlement-card:hover,
.settlement-card:hover,
.dir-listing-item:hover,
.dir-results-item:hover {
  transform: translateY(-4px);
  box-shadow: 0 12px 36px rgba(0,0,0,0.1), 0 4px 12px rgba(0,0,0,0.06) !important;
}

/* Settlement category cards */
.sci-cat-card {
  transition: transform 0.25s cubic-bezier(0.16, 1, 0.3, 1),
              box-shadow 0.25s ease,
              border-color 0.2s ease !important;
}
.sci-cat-card:hover {
  transform: translateY(-4px) !important;
  box-shadow: 0 12px 40px rgba(37,99,235,0.12), 0 4px 16px rgba(0,0,0,0.06) !important;
  border-color: rgba(37,99,235,0.25) !important;
}

/* Pricing cards */
.prc-card {
  transition: transform 0.28s cubic-bezier(0.16, 1, 0.3, 1),
              box-shadow 0.28s ease !important;
}
.prc-card:hover {
  transform: translateY(-5px) !important;
  box-shadow: 0 16px 44px rgba(0,0,0,0.12), 0 6px 18px rgba(0,0,0,0.06) !important;
}
/* Pro (recommended) card — deeper shadow, slight glow */
.prc-card--pro:hover,
.prc-card--recommended:hover {
  box-shadow: 0 20px 60px rgba(37,99,235,0.2), 0 8px 24px rgba(37,99,235,0.12) !important;
  transform: translateY(-6px) scale(1.01) !important;
}
/* Pricing card CTA glow on hover */
.prc-card--pro .prc-cta:hover,
.prc-card--recommended .prc-cta:hover {
  box-shadow: 0 8px 32px rgba(37,99,235,0.4) !important;
}

/* Guide cards */
.guide-card {
  transition: transform 0.25s cubic-bezier(0.16, 1, 0.3, 1),
              box-shadow 0.25s ease !important;
}
.guide-card:hover {
  transform: translateY(-4px) !important;
  box-shadow: 0 12px 36px rgba(0,0,0,0.1) !important;
}
/* Guide card image zoom */
.guide-card:hover .guide-card-img,
.guide-card:hover .guide-img,
.guide-card:hover img {
  transform: scale(1.05);
}
.guide-card .guide-card-img,
.guide-card .guide-img,
.guide-card img {
  transition: transform 0.4s cubic-bezier(0.16, 1, 0.3, 1);
  overflow: hidden;
}

/* Tool cards */
.tool-card {
  transition: transform 0.25s cubic-bezier(0.16, 1, 0.3, 1),
              box-shadow 0.25s ease !important;
}
.tool-card:hover {
  transform: translateY(-4px) !important;
  box-shadow: 0 12px 36px rgba(0,0,0,0.1) !important;
}

/* Veterans benefit cards */
.vet-benefit-card, .vet-card {
  transition: transform 0.25s cubic-bezier(0.16, 1, 0.3, 1),
              box-shadow 0.25s ease;
}
.vet-benefit-card:hover, .vet-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 12px 36px rgba(0,0,0,0.12);
}

/* Employers feature cards */
.emp-feature-card, .emp-card, .emp-benefit-card {
  transition: transform 0.25s cubic-bezier(0.16, 1, 0.3, 1),
              box-shadow 0.25s ease;
}
.emp-feature-card:hover, .emp-card:hover, .emp-benefit-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 12px 36px rgba(0,0,0,0.12);
}

/* Law firms cards */
.lf-feature-card, .lf-plan-card, .b2b-card {
  transition: transform 0.25s cubic-bezier(0.16, 1, 0.3, 1),
              box-shadow 0.25s ease;
}
.lf-feature-card:hover, .lf-plan-card:hover, .b2b-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 12px 36px rgba(0,0,0,0.12);
}

/* This-weeks-deadlines cards */
.twd-card, .deadline-card, .twd-settlement-card {
  transition: transform 0.25s cubic-bezier(0.16, 1, 0.3, 1),
              box-shadow 0.25s ease;
}
.twd-card:hover, .deadline-card:hover, .twd-settlement-card:hover {
  transform: translateY(-3px);
  box-shadow: 0 8px 24px rgba(0,0,0,0.1);
}

/* API / Advertise feature cards */
.api-feature-card, .adv-card, .adv-feature-card {
  transition: transform 0.25s cubic-bezier(0.16, 1, 0.3, 1),
              box-shadow 0.25s ease;
}
.api-feature-card:hover, .adv-card:hover, .adv-feature-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 12px 36px rgba(0,0,0,0.1);
}

/* ══════════════════════════════════════════════════════════════════════
   4. GLOBAL BUTTON HOVER ENHANCEMENT
   All primary CTAs across all pages get consistent lift + shadow
   ══════════════════════════════════════════════════════════════════════ */

/* Any primary-colored CTA not already covered by premium-restyle-1143949 */
.dir-cta-primary,
.sci-btn-primary,
.emp-cta-primary,
.vet-cta-primary,
.ei-cta-primary,
.twd-cta-primary,
.lf-cta-btn,
.api-cta-btn,
.adv-cta-btn,
.htf-cta-btn,
[class*="-cta-btn"]:not([class*="secondary"]):not([class*="ghost"]) {
  transition: transform 0.2s cubic-bezier(0.16, 1, 0.3, 1),
              box-shadow 0.2s ease,
              background-color 0.15s ease !important;
  will-change: transform;
}
.dir-cta-primary:hover,
.sci-btn-primary:hover,
.vet-cta-primary:hover,
.ei-cta-primary:hover,
.lf-cta-btn:hover,
.api-cta-btn:hover,
.adv-cta-btn:hover {
  transform: translateY(-2px) scale(1.02) !important;
}

/* ══════════════════════════════════════════════════════════════════════
   5. LINK UNDERLINE SLIDE — content links across all pages
   ══════════════════════════════════════════════════════════════════════ */

/* Content area links with animated underline slide */
.ip-link-animated {
  text-decoration: none;
  background-image: linear-gradient(currentColor, currentColor);
  background-position: 0% 100%;
  background-repeat: no-repeat;
  background-size: 0% 1.5px;
  transition: background-size 0.3s cubic-bezier(0.16, 1, 0.3, 1);
  padding-bottom: 1px;
}
.ip-link-animated:hover {
  background-size: 100% 1.5px;
}

/* ══════════════════════════════════════════════════════════════════════
   6. ACCORDION / FAQ SMOOTH TOGGLE
   Applied to FAQ items that use the details/summary pattern or js toggle
   ══════════════════════════════════════════════════════════════════════ */

/* Smooth max-height accordion */
.ip-accordion-body {
  overflow: hidden;
  transition: max-height 0.35s cubic-bezier(0.16, 1, 0.3, 1),
              opacity 0.25s ease;
}

/* Smooth details[open] summary + content reveal */
details.ip-details summary {
  cursor: pointer;
  list-style: none;
  display: flex;
  justify-content: space-between;
  align-items: center;
}
details.ip-details summary::-webkit-details-marker { display: none; }
details.ip-details summary::after {
  content: '+';
  font-size: 1.2em;
  font-weight: 300;
  color: #6b7280;
  transition: transform 0.3s cubic-bezier(0.16, 1, 0.3, 1), color 0.2s ease;
  flex-shrink: 0;
  margin-left: 1rem;
}
details.ip-details[open] summary::after {
  transform: rotate(45deg);
  color: #2563eb;
}

/* FAQ item accordion toggle (generic pattern) */
.faq-item .faq-answer,
.faq-item [class*="-answer"],
[class*="faq-item"] [class*="-answer"],
[class*="accordion-item"] [class*="-content"],
[class*="accordion-item"] [class*="-body"] {
  overflow: hidden;
  transition: max-height 0.35s cubic-bezier(0.16, 1, 0.3, 1),
              opacity 0.25s ease;
}

/* FAQ/accordion toggle arrow rotation */
.faq-item .faq-toggle,
.faq-item [class*="-toggle"],
[class*="faq-item"] [class*="-toggle"],
[class*="accordion-item"] [class*="-toggle"] {
  transition: transform 0.3s cubic-bezier(0.16, 1, 0.3, 1), color 0.2s ease;
}
.faq-item.is-open .faq-toggle,
.faq-item.open .faq-toggle,
.faq-item.active .faq-toggle,
[class*="faq-item"].is-open [class*="-toggle"],
[class*="accordion-item"].is-open [class*="-toggle"] {
  transform: rotate(180deg);
  color: #2563eb;
}

/* ══════════════════════════════════════════════════════════════════════
   7. FORM ANIMATIONS — focus glow, error shake, success state
   ══════════════════════════════════════════════════════════════════════ */

/* Input focus ring + glow */
.ip-form-input,
input.ip-form-input,
textarea.ip-form-input,
select.ip-form-input {
  transition: border-color 0.2s ease,
              box-shadow 0.2s ease,
              outline-color 0.2s ease !important;
}
.ip-form-input:focus,
input.ip-form-input:focus,
textarea.ip-form-input:focus,
select.ip-form-input:focus {
  border-color: #2563eb !important;
  box-shadow: 0 0 0 3px rgba(37,99,235,0.12) !important;
  outline: none !important;
}

/* Error state: border glow + shake */
.ip-form-error {
  border-color: #dc2626 !important;
  box-shadow: 0 0 0 3px rgba(220,38,38,0.12) !important;
  animation: ip-shake 0.45s ease;
}

/* Success state */
.ip-form-success {
  border-color: #16a34a !important;
  box-shadow: 0 0 0 3px rgba(22,163,74,0.12) !important;
}

/* Success checkmark animation */
.ip-success-check {
  animation: ip-check-in 0.45s cubic-bezier(0.34, 1.56, 0.64, 1) both;
}

/* Loading spinner (pure CSS) */
.ip-spinner {
  width: 20px;
  height: 20px;
  border: 2px solid rgba(255,255,255,0.3);
  border-top-color: #fff;
  border-radius: 50%;
  animation: ip-spin 0.7s linear infinite;
}
@keyframes ip-spin {
  to { transform: rotate(360deg); }
}

/* ══════════════════════════════════════════════════════════════════════
   8. SKELETON LOADING SHIMMER — for async content placeholders
   ══════════════════════════════════════════════════════════════════════ */

.ip-skeleton,
.sr-skeleton,
.skeleton-loader,
[class*="skeleton"]:not([class*="ip-"]) {
  background: linear-gradient(
    90deg,
    #f0f0f0 25%,
    #e8e8e8 50%,
    #f0f0f0 75%
  );
  background-size: 200% 100%;
  animation: ip-shimmer 1.6s ease-in-out infinite;
  border-radius: 6px;
  color: transparent !important;
}

/* ══════════════════════════════════════════════════════════════════════
   9. STATS / COUNTER GLOW — fires after count-up completes
   ══════════════════════════════════════════════════════════════════════ */

.ip-count-done {
  animation: ip-count-glow 0.8s ease;
}

/* ══════════════════════════════════════════════════════════════════════
   10. SECTION HEADER REVEAL HELPERS
   Labels and section titles that should animate in
   ══════════════════════════════════════════════════════════════════════ */

/* Section headings — scroll reveal */
.ip-section-header {
  opacity: 0;
  transform: translateY(16px);
  transition: opacity 0.45s cubic-bezier(0.16, 1, 0.3, 1),
              transform 0.45s cubic-bezier(0.16, 1, 0.3, 1);
  will-change: opacity, transform;
}
.ip-section-header.ip-visible {
  opacity: 1;
  transform: translateY(0);
}

/* ══════════════════════════════════════════════════════════════════════
   11. SETTLEMENTS INDEX SPECIFIC
   ══════════════════════════════════════════════════════════════════════ */

/* Stat number count-up glow */
.dir-hero-stat-num.ip-count-done {
  animation: ip-count-glow 0.7s ease;
}

/* ══════════════════════════════════════════════════════════════════════
   12. PRICING PAGE SPECIFIC
   ══════════════════════════════════════════════════════════════════════ */

/* Billing toggle pill smooth slide */
.sp-billing-toggle-pill {
  transition: transform 0.25s cubic-bezier(0.16, 1, 0.3, 1) !important;
}

/* Pricing feature list items — stagger via JS */
.prc-feature-item,
.prc-feat,
.prc-features li {
  opacity: 0;
  transform: translateX(-8px);
  transition: opacity 0.3s ease, transform 0.3s ease;
  will-change: opacity, transform;
}
.prc-feature-item.ip-visible,
.prc-feat.ip-visible,
.prc-features li.ip-visible {
  opacity: 1;
  transform: translateX(0);
}

/* ══════════════════════════════════════════════════════════════════════
   13. VETERANS PAGE SPECIFIC
   Military-themed hero enhancements
   ══════════════════════════════════════════════════════════════════════ */

/* Decorative line draw under vet headline */
.vet-headline-underline,
.vet-headline::after {
  /* Already animating via transition in base CSS — this is just insurance */
  transition: width 0.6s cubic-bezier(0.16, 1, 0.3, 1);
}

/* Veteran badge honor pulse ring (if present) */
.vet-badge-honor::before {
  animation: ip-pulse-ring 2.5s ease-out infinite;
}

/* ══════════════════════════════════════════════════════════════════════
   14. SEARCH PAGE RESULTS STAGGER
   ══════════════════════════════════════════════════════════════════════ */

.search-result-item,
.sr-search-result,
.search-card {
  transition: transform 0.2s ease, box-shadow 0.2s ease;
}
.search-result-item:hover,
.sr-search-result:hover,
.search-card:hover {
  transform: translateX(4px);
  box-shadow: 0 4px 16px rgba(0,0,0,0.08);
}

/* ══════════════════════════════════════════════════════════════════════
   15. HOW-TO-FILE / GUIDES STEP PROGRESSION
   ══════════════════════════════════════════════════════════════════════ */

/* Step number pop-in (insurance — may already be handled by page-animations.js) */
.ip-step-num-anim {
  animation: ip-scale-in 0.36s cubic-bezier(0.34, 1.56, 0.64, 1) both;
}

/* ══════════════════════════════════════════════════════════════════════
   16. GLOBAL IMAGE REVEAL — content images across all pages
   ══════════════════════════════════════════════════════════════════════ */

.ip-img-reveal {
  opacity: 0;
  transform: scale(0.98);
  transition: opacity 0.5s cubic-bezier(0.16, 1, 0.3, 1),
              transform 0.5s cubic-bezier(0.16, 1, 0.3, 1);
  will-change: opacity, transform;
}
.ip-img-reveal.ip-visible {
  opacity: 1;
  transform: scale(1);
}

/* ══════════════════════════════════════════════════════════════════════
   PREFERS-REDUCED-MOTION — kill ALL motion
   ══════════════════════════════════════════════════════════════════════ */

@media (prefers-reduced-motion: reduce) {
  /* Kill all CSS keyframe animations on inner page elements */
  .dir-hero h1, .dir-h1,
  .pricing-hero h1,
  .emp-hero h1,
  .vet-headline,
  .ei-hero h1,
  .twd-headline,
  .sci-h1,
  .dir-hero-sub, .dir-hero p,
  .emp-hero-sub,
  .vet-subhead,
  .dir-hero-actions, .pricing-hero .sp-hero-ctas,
  .emp-hero-btns, .vet-ctas,
  .dir-hero-stats,
  .dir-breadcrumb, .sci-breadcrumb,
  .emp-eyebrow, .vet-eyebrow,
  .ei-badge, .twd-badge, .sci-badge,
  .ip-step-num-anim,
  .vet-badge-honor::before {
    animation: none !important;
    opacity: 1 !important;
    transform: none !important;
  }

  /* Kill scroll-reveal transitions */
  .ip-reveal,
  .ip-reveal-scale,
  .ip-reveal-left,
  .ip-section-header,
  .ip-img-reveal,
  .prc-feature-item,
  .prc-feat,
  .prc-features li {
    opacity: 1 !important;
    transform: none !important;
    transition: none !important;
  }
  .ip-reveal.ip-d1, .ip-reveal.ip-d2, .ip-reveal.ip-d3,
  .ip-reveal.ip-d4, .ip-reveal.ip-d5, .ip-reveal.ip-d6,
  .ip-reveal.ip-d7, .ip-reveal.ip-d8, .ip-reveal.ip-d9,
  .ip-reveal.ip-d10 {
    transition-delay: 0ms !important;
  }

  /* Kill hover transforms */
  .rs-settlement-card:hover,
  .sr-settlement-card:hover,
  .settlement-card:hover,
  .sci-cat-card:hover,
  .prc-card:hover,
  .prc-card--pro:hover,
  .guide-card:hover,
  .tool-card:hover,
  .vet-benefit-card:hover, .vet-card:hover,
  .emp-feature-card:hover,
  .lf-feature-card:hover,
  .twd-card:hover, .deadline-card:hover,
  .api-feature-card:hover,
  .dir-cta-primary:hover,
  .sci-btn-primary:hover,
  .vet-cta-primary:hover,
  .ei-cta-primary:hover {
    transform: none !important;
  }

  /* Kill accordion arrow rotation */
  details.ip-details summary::after,
  .faq-item .faq-toggle,
  [class*="faq-item"] [class*="-toggle"],
  [class*="accordion-item"] [class*="-toggle"] {
    transition: none !important;
  }

  /* Kill shimmer */
  .ip-skeleton, .sr-skeleton, .skeleton-loader, [class*="skeleton"] {
    animation: none !important;
    background: #f0f0f0 !important;
  }

  /* Kill spinner */
  .ip-spinner {
    animation: none !important;
    border-top-color: rgba(255,255,255,0.7);
  }

  /* Kill form transitions */
  .ip-form-input {
    transition: none !important;
  }
  .ip-form-error {
    animation: none !important;
  }
  .ip-success-check {
    animation: none !important;
    opacity: 1 !important;
    transform: none !important;
  }

  /* Kill count glow */
  .ip-count-done {
    animation: none !important;
  }

  /* Kill image reveals */
  .ip-img-reveal {
    opacity: 1 !important;
    transform: none !important;
  }

  /* Kill guide card image zoom */
  .guide-card:hover .guide-card-img,
  .guide-card:hover .guide-img,
  .guide-card:hover img {
    transform: none !important;
  }
}
