/* =====================================================================
   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; right:-120%; width:60%; height:100%; background:linear-gradient(100deg, transparent, rgba(255,255,255,.45), transparent); transform:skewX(-20deg); transition:right .7s var(--eg-ease); }
.eg-btn-solid .elementor-button:hover::after, .eiger-btn:hover::after { right: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; right: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; left: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; right: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; right:50%; top:7px; width:4px; height:8px; margin-right:-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 16px 10px 14px !important; border-radius:6px 0 0 6px; }

/* Eyebrow line draws in */
.eg-eyebrow .elementor-heading-title::before, .eiger-eyebrow::before { transform-origin:right; 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; right:0; top:0; height:3px; width:100%;
	background:linear-gradient(90deg, var(--eg-orange), transparent);
	transform:scaleX(.25); transform-origin:right; 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:right !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:right; 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-right: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-right:0 !important; padding-left:0 !important; }
	.eg-trust-intro { width:100%; }
	.eg-trust > .elementor-widget-text-editor { text-align:right; 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 { left: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; right: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-right:14px; }
.eiger-card__cat::before { content:""; position:absolute; right: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 0 0 8px !important; } }
