/* =====================================================================
   EIGER premium layer: motion, depth and readability.
   Loaded after eiger.css.
   ===================================================================== */
:root { --eg-orange-text: #B85400; --eg-ease: cubic-bezier(.22,.61,.36,1); }
html { scroll-behavior: smooth; }
::selection { background: var(--eg-orange); color: var(--eg-navy); }

/* Readable orange on light backgrounds (WCAG AA). Dark sections keep the bright brand orange. */
.eg-light .eg-eyebrow .elementor-heading-title,
.eiger-light .eiger-eyebrow { color: var(--eg-orange-text) !important; }
.eg-dark .eg-eyebrow .elementor-heading-title, .eg-dark .eiger-eyebrow, .eiger-hero .eiger-eyebrow, .eiger-widget--dark .eiger-eyebrow { color: var(--eg-orange) !important; }
.eg-light .eg-btn-outline-orange .elementor-button { color: var(--eg-orange-text) !important; border-color: var(--eg-orange-text) !important; }
.eg-dark .eg-btn-outline-orange .elementor-button { color: var(--eg-orange) !important; border-color: var(--eg-orange) !important; }
.eg-btn-outline-orange .elementor-button:hover { background: var(--eg-orange) !important; border-color: var(--eg-orange) !important; color: var(--eg-navy) !important; }
.eiger-light .eiger-more, .eiger-card .eiger-more { color: var(--eg-orange-text) !important; }
.eiger-btn, .eiger-badge, .eiger-pagination .current, .eiger-catbar a.is-active, .eiger-catbar a:hover { color: var(--eg-navy) !important; }
.eiger-catbar a.is-active i, .eiger-catbar a:hover i { color: var(--eg-navy) !important; }
.eg-form .ff-btn-submit { color: var(--eg-navy) !important; }
.eg-step-head > .elementor-widget-heading:first-child .elementor-heading-title { color: var(--eg-navy) !important; }
.eiger-article__content a { color: var(--eg-orange-text); }

/* Buttons: sheen sweep + arrow nudge */
.eg-btn-solid .elementor-button, .eiger-btn { position: relative; overflow: hidden; box-shadow: 0 10px 24px -10px rgba(255,121,0,.65); }
.eg-btn-solid .elementor-button::after, .eiger-btn::after { content: ""; position: absolute; top: 0; left: -120%; width: 60%; height: 100%; background: linear-gradient(100deg, transparent, rgba(255,255,255,.45), transparent); transform: skewX(-20deg); transition: left .7s var(--eg-ease); }
.eg-btn-solid .elementor-button:hover::after, .eiger-btn:hover::after { left: 140%; }
.elementor-button .elementor-button-icon, .eiger-btn span[aria-hidden] { transition: transform .3s var(--eg-ease); }
.elementor-button:hover .elementor-button-icon, .eiger-btn:hover span[aria-hidden] { transform: translateX(4px); }
.eg-btn-outline .elementor-button { backdrop-filter: blur(6px); background: rgba(255,255,255,.04) !important; }
.eg-btn-row { flex-wrap: wrap !important; }
.eg-btn-row > .elementor-widget { max-width: 100%; }

/* Sticky glass header that tightens on scroll */
.ehf-header #masthead, header#masthead { position: sticky; top: 0; z-index: 999; }
.eg-header { transition: background-color .35s, padding .35s, box-shadow .35s; }
body.eg-scrolled .eg-header { background-color: rgba(4,21,30,.86) !important; backdrop-filter: saturate(140%) blur(14px); -webkit-backdrop-filter: saturate(140%) blur(14px); box-shadow: 0 10px 30px -12px rgba(0,0,0,.6); padding-top: 8px !important; padding-bottom: 8px !important; }
.admin-bar .ehf-header #masthead { top: 32px; }

/* Scroll progress + back to top */
.eg-progress { position: fixed; top: 0; left: 0; height: 3px; width: 100%; transform-origin: 0 50%; transform: scaleX(0); background: linear-gradient(90deg, var(--eg-orange), #ffb066); z-index: 10000; pointer-events: none; }
.eg-top { position: fixed; right: 22px; bottom: 22px; width: 46px; height: 46px; border-radius: 50%; border: 0; background: var(--eg-orange); color: var(--eg-navy); display: grid; place-items: center; font-size: 16px; cursor: pointer; z-index: 999; opacity: 0; transform: translateY(16px); pointer-events: none; transition: opacity .3s, transform .3s var(--eg-ease); box-shadow: 0 12px 26px -10px rgba(255,121,0,.8); }
.eg-top.is-visible { opacity: 1; transform: none; pointer-events: auto; }
.eg-top:hover { transform: translateY(-3px); }

/* Hero: slow cinematic zoom, warm glow, scroll cue */
/* Elementor draws the hero overlay with ::before, so the slow drift animates background-position instead. */
.eg-hero { background-size: 112% auto !important; animation: egDrift 26s ease-in-out infinite alternate; }
@keyframes egDrift { from { background-position: 30% 50%; } to { background-position: 70% 45%; } }
@media (max-aspect-ratio: 16/10) { .eg-hero { background-size: cover !important; animation: none; } }
.eg-scroll-cue-wrap { position: absolute !important; left: 50%; bottom: 22px; transform: translateX(-50%); width: auto !important; }
.eg-scroll-cue { display: block; width: 24px; height: 38px; border: 2px solid rgba(255,255,255,.55); border-radius: 14px; position: relative; }
.eg-scroll-cue::after { content: ""; position: absolute; left: 50%; top: 7px; width: 4px; height: 8px; margin-left: -2px; border-radius: 2px; background: var(--eg-orange); animation: egCue 1.8s var(--eg-ease) infinite; }
@keyframes egCue { 0% { opacity: 0; transform: translateY(0); } 30% { opacity: 1; } 100% { opacity: 0; transform: translateY(14px); } }
.eg-hero-side { background: rgba(4,21,30,.5); backdrop-filter: blur(4px); padding: 10px 14px 10px 16px !important; border-radius: 0 6px 6px 0; }

/* Eyebrow line draws in */
.eg-eyebrow .elementor-heading-title::before, .eiger-eyebrow::before { transform-origin: left; animation: egLine .9s var(--eg-ease) both; }
@keyframes egLine { from { transform: scaleX(0); } to { transform: scaleX(1); } }

/* Cards: depth, glow and image zoom */
.eg-card-light, .eg-step, .eiger-card, .eiger-widget { transition: transform .35s var(--eg-ease), box-shadow .35s var(--eg-ease), border-color .35s; }
.eg-card-light:hover, .eiger-card:hover { transform: translateY(-6px); box-shadow: 0 24px 48px -18px rgba(4,21,30,.28); border-color: rgba(255,121,0,.45) !important; }
.eg-step:hover { transform: translateY(-5px); border-color: var(--eg-orange) !important; box-shadow: 0 20px 40px -20px rgba(255,121,0,.45); }
.eg-svc:hover { box-shadow: 0 26px 50px -20px rgba(255,121,0,.45); }
.eg-svc::after { content: ""; position: absolute; inset: 0; border-radius: inherit; background: linear-gradient(180deg, transparent 40%, rgba(255,121,0,.12)); opacity: 0; transition: opacity .35s; pointer-events: none; }
.eg-svc:hover::after { opacity: 1; }
.eg-card-light .elementor-widget-image, .eiger-card__media, .eg-collage .elementor-widget-image { overflow: hidden; border-radius: 6px; }
.eg-card-light .elementor-widget-image img, .eiger-card__media img, .eg-collage img { transition: transform .8s var(--eg-ease); }
.eg-card-light:hover .elementor-widget-image img, .eiger-card:hover .eiger-card__media img, .eg-collage .elementor-widget-image:hover img { transform: scale(1.06); }
.elementor-icon-box-icon .elementor-icon { transition: transform .4s var(--eg-ease); }
.elementor-widget-icon-box:hover .elementor-icon { transform: translateY(-3px) rotate(-6deg); }
.eg-trust-item { transition: transform .3s var(--eg-ease); }
.eg-trust-item:hover { transform: translateY(-3px); }
.eg-logo-chip { box-shadow: 0 8px 20px -10px rgba(0,0,0,.6); }

/* Richer texture on the credentials strip */
.eg-texture { background-image: radial-gradient(circle at 15% 0, rgba(255,121,0,.10), transparent 45%), radial-gradient(circle at 90% 100%, rgba(40,110,150,.18), transparent 45%), linear-gradient(180deg, var(--eg-navy), var(--eg-deep)) !important; }

/* Smoother Elementor entrance animations */
.elementor-element.animated { animation-duration: .9s; animation-timing-function: var(--eg-ease); }
@keyframes fadeInUp { from { opacity: 0; transform: translate3d(0, 34px, 0); } to { opacity: 1; transform: none; } }

/* ---------- Glass cards on dark sections (stats, features, trust) ---------- */
.eg-stat-card, .eg-feature-card, .eg-trust-card {
	position: relative; overflow: hidden;
	background: linear-gradient(160deg, rgba(255,255,255,.055), rgba(255,255,255,.015)) !important;
	border: 1px solid rgba(255,255,255,.09); border-radius: 12px;
	transition: transform .35s var(--eg-ease), border-color .35s, box-shadow .35s;
}
.eg-stat-card::before, .eg-feature-card::before {
	content: ""; position: absolute; left: 0; top: 0; height: 3px; width: 100%;
	background: linear-gradient(90deg, var(--eg-orange), transparent);
	transform: scaleX(.25); transform-origin: left; transition: transform .5s var(--eg-ease);
}
.eg-stat-card:hover, .eg-feature-card:hover, .eg-trust-card:hover { transform: translateY(-5px); border-color: rgba(255,121,0,.45); box-shadow: 0 22px 44px -22px rgba(255,121,0,.5); }
.eg-stat-card:hover::before, .eg-feature-card:hover::before { transform: scaleX(1); }

/* Icon chip */
.eg-icon-chip .elementor-icon-wrapper { text-align: left !important; }
.eg-icon-chip .elementor-icon { width: 46px; height: 46px; display: inline-grid !important; place-items: center; border-radius: 12px; background: rgba(255,121,0,.12); border: 1px solid rgba(255,121,0,.3); }
.eg-feature-card .elementor-icon-box-icon .elementor-icon { width: 46px; height: 46px; display: inline-grid !important; place-items: center; border-radius: 12px; background: rgba(255,121,0,.12); border: 1px solid rgba(255,121,0,.3); }
.eg-feature-card .elementor-icon-box-icon .elementor-icon i, .eg-feature-card .elementor-icon-box-icon .elementor-icon svg { font-size: 20px; width: 20px; height: 20px; }

/* Stat values: left aligned, one baseline */
.eg-stat-card .elementor-counter { justify-content: flex-start; align-items: flex-start; }
.eg-stat-card .elementor-counter-number-wrapper { justify-content: flex-start !important; text-align: left; font-family: var(--eg-head); }
.eg-stat-card .elementor-counter-title { display: none; }
.eg-stat-card .elementor-counter-number-wrapper, .eg-stat-card .eg-stat-value .elementor-heading-title { font-size: 32px !important; line-height: 1.1 !important; font-weight: 700 !important; color: var(--eg-orange) !important; letter-spacing: -.5px; }
.eg-stat-card .elementor-widget-text-editor { color: var(--eg-soft); }
.eg-stats-row { align-items: stretch !important; }

/* Trust strip tiles: uniform logo boxes */
.eg-trust { gap: 14px !important; }
.eg-trust-item { border-left: 0 !important; }
.eg-trust-card { padding: 12px 14px !important; box-sizing: border-box; max-width: 100%; }
.eg-trust-intro { flex: 0 0 auto; width: 110px; }
.eg-logo-chip { width: 92px !important; height: 66px; min-width: 92px; padding: 6px !important; border-radius: 10px !important; }
.eg-logo-chip .elementor-widget-image, .eg-logo-chip .elementor-widget-container { height: 100%; width: 100%; }
.eg-logo-chip img { width: 100% !important; height: 54px !important; object-fit: contain; }

@media (max-width: 1024px) {
	.eg-stat-card .elementor-counter-number-wrapper, .eg-stat-card .eg-stat-value .elementor-heading-title { font-size: 28px !important; }
}
@media (max-width: 767px) {
	.eg-trust-card { width: 100% !important; margin: 0 !important; }
	.eg-trust > .e-con-inner, .eg-trust { padding-left: 0 !important; padding-right: 0 !important; }
	.eg-trust-intro { width: 100%; }
	.eg-trust > .elementor-widget-text-editor { text-align: left; width: 100%; }
}

/* Plain pages (privacy) */
.eiger-article--page { max-width: 860px; margin: 0 auto; padding-bottom: 32px; }

@media (max-width: 767px) {
	.eg-scroll-cue-wrap { display: none; }
	.eg-top { right: 14px; bottom: 14px; width: 42px; height: 42px; }
}
@media (prefers-reduced-motion: reduce) {
	html { scroll-behavior: auto; }
	.eg-hero, .eg-scroll-cue::after, .eg-eyebrow .elementor-heading-title::before, .eiger-eyebrow::before { animation: none !important; }
	.elementor-invisible { visibility: visible !important; }
	.elementor-element.animated { animation: none !important; }
}

@media (max-width: 767px) { .eg-trust { width: 100% !important; max-width: 100% !important; flex-wrap: wrap !important; } .eg-trust-card { flex: 1 1 100% !important; } }

/* Plain pages use page.php: full-width hero like the blog templates. */
.page-template-default:not(.elementor-page) .site-content > .ast-container { max-width: none; padding: 0; display: block; }
.page-template-default:not(.elementor-page) #primary { margin: 0; padding: 0; width: 100%; }

/* Trust strip: four equal cards, same height, same chip size */
.eg-trust { align-items: stretch !important; }
.eg-trust-card { flex: 1 1 0 !important; min-height: 92px; align-items: center !important; }
.eg-trust-intro { align-self: center; }
.eg-icon-tile .elementor-icon-wrapper { text-align: center !important; line-height: 0; }
.eg-icon-tile .elementor-icon { font-size: 34px !important; }
.eg-icon-tile .elementor-widget-icon, .eg-icon-tile .elementor-widget-container { display: flex; align-items: center; justify-content: center; height: 100%; }

/* Back-to-top: perfect circle regardless of theme button styles */
button.eg-top { width: 46px !important; height: 46px !important; min-width: 0 !important; min-height: 0 !important; padding: 0 !important; margin: 0 !important; border-radius: 50% !important; line-height: 1 !important; font-size: 16px !important; aspect-ratio: 1 / 1; box-sizing: border-box; display: grid !important; place-items: center; box-shadow: 0 8px 20px -8px rgba(255,121,0,.7) !important; }
button.eg-top i { margin: 0 !important; line-height: 1; }
@media (max-width: 767px) { button.eg-top { width: 42px !important; height: 42px !important; font-size: 15px !important; } }

/* Blog card category tag: fully inside the image so the zoom clip never cuts it */
.eiger-card__media .eiger-badge { top: 14px; bottom: auto !important; left: 14px; z-index: 2; padding: 6px 10px; border-radius: 4px; background: var(--eg-orange); color: var(--eg-navy) !important; font-size: 10.5px; line-height: 1.2; box-shadow: 0 6px 16px -6px rgba(0,0,0,.55); max-width: calc(100% - 28px); }
.eiger-card__body { padding-top: 18px; }

/* Blog card meta: category + date line under the image (no tag over the photo) */
.eiger-card__body { padding-top: 20px !important; }
.eiger-card__meta { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin: 0 0 10px !important; font-size: 12px !important; line-height: 1.4; color: var(--eg-muted); flex: none !important; }
.eiger-card__cat { color: var(--eg-orange-text) !important; font-weight: 700; letter-spacing: .8px; text-transform: uppercase; text-decoration: none; font-size: 11px; position: relative; padding-left: 14px; }
.eiger-card__cat::before { content: ""; position: absolute; left: 0; top: 50%; width: 8px; height: 2px; background: var(--eg-orange); transform: translateY(-50%); }
.eiger-card__cat:hover { color: var(--eg-ink) !important; }
.eiger-card__dot { width: 4px; height: 4px; border-radius: 50%; background: #c3ccd2; }
.eiger-card__meta time { color: var(--eg-muted); font-size: 12px; }
.eiger-card__body h3 { margin-top: 0 !important; }
.eiger-card__meta { flex-direction: column; align-items: flex-start !important; gap: 4px !important; }
.eiger-card__cat { display: block; max-width: 100%; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.eiger-card__dot { display: none; }

/* Share buttons: all four identical squares (theme button styles reset) */
.eiger-share a, .eiger-share button { width: 36px !important; height: 36px !important; min-width: 0 !important; min-height: 0 !important; padding: 0 !important; margin: 0 !important; border: 0 !important; border-radius: 6px !important; line-height: 1 !important; font-size: 15px !important; display: inline-grid !important; place-items: center; box-sizing: border-box; background: var(--eg-navy) !important; color: #fff !important; vertical-align: middle; }
.eiger-share a:hover, .eiger-share button:hover, .eiger-share button:focus-visible { background: var(--eg-orange) !important; color: var(--eg-navy) !important; }
.eiger-share button.is-copied { background: #1f7a4d !important; }
.eiger-share i { margin: 0 !important; line-height: 1; }
.eiger-share { flex-wrap: wrap; }
.eiger-share a, .eiger-share button { flex: 0 0 36px !important; }
.eiger-share strong { flex: 1 0 100%; margin: 0 0 4px !important; }
@media (min-width: 641px) { .eiger-share strong { flex: 0 0 auto; margin: 0 8px 0 0 !important; } }
