/* CSS for index_reimbursement_service_newww.html */

/* -- Font Fallback -- */
@font-face { font-family:'Inter Fallback'; src:local('Arial'); size-adjust:107.64%; ascent-override:90%; descent-override:22.43%; line-gap-override:0%; }
body,.font-inter { font-family:'Inter','Inter Fallback',system-ui,sans-serif; }

/* -- Hero -- */
.gradient-hero { background:#fff; position:relative; overflow:hidden; }
.hero-blob { position:absolute; border-radius:50%; filter:blur(100px); opacity:.8; pointer-events:none; z-index:0; }
.hero-blob-1 { width:600px; height:600px; background:rgba(4,107,252,.35); top:-200px; left:-150px; }
.hero-blob-2 { width:500px; height:500px; background:rgba(255,153,0,.25); top:50px; right:-100px; }
.hero-blob-3 { width:400px; height:400px; background:rgba(4,107,252,.25); bottom:-100px; left:30%; }
.hero-grid { position:absolute; top:0; left:0; right:0; bottom:0; background-image:linear-gradient(rgba(4,107,252,.03) 1px, transparent 1px), linear-gradient(90deg, rgba(4,107,252,.03) 1px, transparent 1px); background-size:60px 60px; pointer-events:none; z-index:1; }
@media(max-width:768px){ .hero-blob{opacity:.35;filter:blur(120px)} .hero-blob-1{width:300px;height:300px} .hero-blob-2{width:250px;height:250px} .hero-blob-3{width:200px;height:200px} .hero-grid{display:none} }
.hero-content { position:relative; z-index:10; }

/* -- Hero Rotating Text -- */
.rotating-text-container { height:2em; line-height:2em; }
h1 .rotating-text-container { height:1.15em; line-height:1.15em; }
.rotating-word { position:absolute; left:0; top:0; width:100%; opacity:0; transform:translateY(100%); transition:opacity .5s cubic-bezier(.16,1,.3,1), transform .5s cubic-bezier(.16,1,.3,1); }
.rotating-word.active { opacity:1; transform:translateY(0); }
.rotating-word.out { opacity:0; transform:translateY(-100%); }
@media(prefers-reduced-motion:reduce){ .rotating-word,.rotating-word.out,.rotating-word.active { animation:none!important; transition:none!important; opacity:1!important; transform:none!important; } }

/* -- Buttons -- */
.btn-pill { border-radius:50px; transition:all .3s cubic-bezier(.4,0,.2,1); }
.btn-pill:hover { transform:translateY(-2px); }
.btn-pill:active { transform:scale(.97); }

/* -- Accessibility -- */
.sr-only { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); clip-path:inset(50%); white-space:nowrap; border-width:0; }
:focus-visible { outline:2px solid #046bfc; outline-offset:2px; border-radius:4px; }
.btn-pill:focus-visible { outline-offset:3px; border-radius:50px; }

/* -- Scroll Reveal -- */
.reveal { opacity:0; transform:translateY(32px); transition:opacity .7s cubic-bezier(.16,1,.3,1), transform .7s cubic-bezier(.16,1,.3,1); }
.reveal-left { opacity:0; transform:translateX(-40px); transition:opacity .7s cubic-bezier(.16,1,.3,1), transform .7s cubic-bezier(.16,1,.3,1); }
.reveal-right { opacity:0; transform:translateX(40px); transition:opacity .7s cubic-bezier(.16,1,.3,1), transform .7s cubic-bezier(.16,1,.3,1); }
.reveal.visible, .reveal-left.visible, .reveal-right.visible { opacity:1; transform:translate(0,0); }
.reveal-delay-1 { transition-delay:.1s; }
.reveal-delay-2 { transition-delay:.2s; }
.reveal-delay-3 { transition-delay:.3s; }
.reveal-delay-4 { transition-delay:.4s; }
.reveal-delay-5 { transition-delay:.5s; }
.reveal-delay-6 { transition-delay:.6s; }

/* -- Section scroll anchor offset + performance -- */
section[id] { scroll-margin-top:140px; content-visibility:auto; contain-intrinsic-size:auto 600px; }

/* -- Sticky CTA Desktop -- */
.sticky-cta-desktop { position:fixed; bottom:0; left:0; right:0; z-index:50; background:rgba(255,255,255,.97); -webkit-backdrop-filter:blur(10px); backdrop-filter:blur(10px); border-top:1px solid #e2e8f0; box-shadow:0 -4px 16px -4px rgba(0,0,0,.06); transform:translateY(100%); transition:transform .4s ease-out; display:none; }
@media(min-width:768px){ .sticky-cta-desktop{display:block} }
.sticky-cta-desktop.visible { transform:translateY(0); }

/* -- Submenu -- */
.submenu { position:fixed; top:72px; left:0; right:0; z-index:40; background:rgba(4,20,61,.95); -webkit-backdrop-filter:blur(10px); backdrop-filter:blur(10px); border-bottom:1px solid rgba(255,255,255,.1); transform:translateY(calc(-100% - 80px)); opacity:0; pointer-events:none; transition:transform .3s ease, opacity .3s ease; }
.submenu.visible { transform:translateY(0); opacity:1; pointer-events:auto; }
.submenu-link { color:rgba(255,255,255,.85); font-size:13px; font-weight:500; padding:14px 16px; min-height:44px; display:flex; align-items:center; transition:color .2s; white-space:nowrap; position:relative; }
.submenu-link:hover, .submenu-link.active { color:white; }
.submenu-link.active::after { content:''; position:absolute; bottom:0; left:16px; right:16px; height:2px; background:#046bfc; border-radius:2px; }
.progress-bar { position:absolute; bottom:0; left:0; height:2px; background:linear-gradient(90deg,#046bfc,#3d8bfd); width:0%; transition:width .1s linear; }

/* -- Macrobox Dark (unused — kept minimal for backward compat) -- */

/* -- FAQ Accordion + Tabs -- */
.faq-answer { max-height:0; overflow:hidden; transition:max-height .4s cubic-bezier(.4,0,.2,1); }
.faq-item.active .faq-icon { transform:rotate(45deg); background:#046bfc; color:#fff; }
.faq-item.active .faq-toggle { color:#046bfc; }
.faq-tab { padding:10px 20px; border:2px solid #e2e8f0; border-radius:30px; background:#fff; font-size:14px; font-weight:600; color:#64748b; cursor:pointer; transition:all .3s ease; display:flex; align-items:center; gap:8px; }
.faq-tab:hover { border-color:#046bfc; color:#046bfc; }
.faq-tab.active { background:#046bfc; border-color:#046bfc; color:#fff; }
.faq-category { display:none; }
.faq-category.active { display:block; }

/* -- Contact Form -- */
.form-input.error { border-color:#ef4444; box-shadow:0 0 0 3px rgba(239,68,68,.15); }

/* -- Sticky CTA (Mobile) -- */
.sticky-cta-mobile { transition:transform .4s cubic-bezier(.16,1,.3,1); padding-bottom:env(safe-area-inset-bottom); }
.sticky-cta-mobile.visible { transform:translateY(0)!important; }

/* -- Exit-Intent Overlay -- */
.exit-intent-overlay { position:fixed; inset:0; z-index:9999; background:rgba(0,0,0,.6); backdrop-filter:blur(6px); display:flex; align-items:center; justify-content:center; opacity:0; pointer-events:none; transition:opacity .3s ease; }
.exit-intent-overlay.visible { opacity:1; pointer-events:auto; }
.exit-intent-card { background:#fff; border-radius:20px; max-width:540px; width:92vw; position:relative; box-shadow:0 25px 60px rgba(0,0,0,.3); }
.exit-intent-close { position:absolute; top:14px; right:14px; width:32px; height:32px; background:#f1f5f9; border:none; border-radius:50%; display:flex; align-items:center; justify-content:center; cursor:pointer; transition:all .2s; color:#64748b; }
.exit-intent-close:hover { background:#e2e8f0; color:#1e293b; }
.exit-intent-email { width:100%; padding:10px 12px 10px 36px; border:2px solid #e2e8f0; border-radius:10px; font-size:14px; transition:border-color .2s; height:44px; }
.exit-intent-email:focus { border-color:#046bfc; outline:none; }
.exit-intent-form { display:flex;gap:.5rem;flex-wrap:wrap;margin-bottom:1rem }
.form-error-msg { font-size:.75rem;color:#ef4444;margin:-.5rem 0 .75rem;display:none }
.form-error-msg.visible { display:block }
.m-stat-card { background:#fff;border-radius:.5rem;padding:.5rem .375rem;text-align:center;border:1px solid rgba(226,232,240,.8) }
.m-row-card { background:#fff;border-radius:.375rem;padding:.375rem .5rem;display:flex;align-items:center;justify-content:space-between;border:1px solid rgba(226,232,240,.8) }
.m-row-inner { display:flex;align-items:center;gap:.375rem }
.m-meta-slate { font-size:.5625rem;color:#64748b }
.m-meta-navy { font-size:.5625rem;font-weight:700;color:#04143d }
.m-icon-check-sm { width:1rem;height:1rem;color:#10b981;flex-shrink:0;margin-top:2px }
.m-benefit-row { display:flex;align-items:flex-start;gap:.5rem;font-size:.875rem;color:#475569 }

/* -- Back to Top -- */
.back-to-top { position:fixed; bottom:5rem; right:1.5rem; z-index:60; width:44px; height:44px; border-radius:50%; background:#046bfc; border:none; box-shadow:0 4px 12px rgba(4,107,252,.3); display:flex; align-items:center; justify-content:center; color:#fff; cursor:pointer; opacity:0; pointer-events:none; transition:opacity .3s,background .2s,color .2s; }
.back-to-top.visible { opacity:1; pointer-events:auto; }
.back-to-top:hover { background:#0350c7; }
@media(max-width:767px){ .back-to-top { bottom:5.5rem; right:1rem; } }
@supports(height:100dvh) { .back-to-top { bottom:calc(5rem + env(safe-area-inset-bottom,0px)); } @media(max-width:767px){ .back-to-top { bottom:calc(5.5rem + env(safe-area-inset-bottom,0px)); } } }

/* -- Mobile blobs — lighter on small screens -- */
@media(max-width:767px){
    .hero-blob { opacity:.35!important; filter:blur(120px)!important; }
    .hero-blob-1 { width:350px!important; height:350px!important; }
    .hero-blob-2 { width:300px!important; height:300px!important; }
    .hero-blob-3 { width:250px!important; height:250px!important; }
}

/* -- Reduced Motion -- */
@media(prefers-reduced-motion:reduce){
    *, *::before, *::after { animation-duration:.01ms!important; animation-iteration-count:1!important; transition-duration:.01ms!important; scroll-behavior:auto!important; }
    .reveal, .reveal-left, .reveal-right { opacity:1!important; transform:none!important; will-change:auto; }
}