/* EIGER brand layer: shared tokens, Elementor helper classes, blog and article layouts. */

:root {
	--eg-navy:#04151e;
	--eg-deep:#071d28;
	--eg-panel:#0b2532;
	--eg-line:#1c3a49;
	--eg-orange:#ff7900;
	--eg-orange-dark:#e06800;
	--eg-ink:#0c1821;
	--eg-muted:#53616d;
	--eg-soft:#b9c9d4;
	--eg-light:#f5f7f8;
	--eg-white:#fff;
	--eg-radius:6px;
	--eg-wrap:1200px;
	--eg-head:"Poppins", "Inter", Arial, sans-serif;
	--eg-body:"Inter", Arial, sans-serif;
}

body { font-family:var(--eg-body); color:var(--eg-ink); background:var(--eg-white); }
h1, h2, h3, h4, .elementor-heading-title { font-family:var(--eg-head); }
a { transition:color .2s, background-color .2s, border-color .2s, transform .2s; }
:focus-visible { outline:3px solid var(--eg-orange); outline-offset:2px; }
.screen-reader-text { position:absolute !important; width:1px; height:1px; overflow:hidden; clip:rect(1px, 1px, 1px, 1px); white-space:nowrap; }

/* Let our own templates run edge to edge inside Astra's wrapper. */
.blog .site-content > .ast-container,
.archive .site-content > .ast-container,
.search .site-content > .ast-container,
.single-post .site-content > .ast-container,
.page-template-elementor_header_footer .site-content > .ast-container { max-width:none; padding:0; display:block; }
.single-post #primary, .blog #primary { margin:0; padding:0; }

/* ---------- Elementor helper classes (set in Advanced → CSS Classes) ---------- */
.eg-eyebrow .elementor-heading-title,
.eiger-eyebrow { display:inline-flex; align-items:center; gap:12px; color:var(--eg-orange) !important; font:600 12px/1.4 var(--eg-body) !important; letter-spacing:1.2px; text-transform:uppercase; margin:0 0 10px; }
.eg-eyebrow .elementor-heading-title::before,
.eiger-eyebrow::before { content:""; width:34px; height:2px; background:var(--eg-orange); flex:none; }
.eg-accent { color:var(--eg-orange); }

.eg-dark { color:var(--eg-soft); }
.eg-texture { background-image:radial-gradient(circle at 20% 0, rgba(255,121,0,.08), transparent 40%), linear-gradient(180deg, var(--eg-navy), var(--eg-deep)); }

.eg-btn-outline .elementor-button { background:transparent !important; border:1px solid rgba(255,255,255,.55) !important; color:#fff !important; }
.eg-btn-outline .elementor-button:hover { border-color:var(--eg-orange) !important; color:var(--eg-orange) !important; }
.elementor-button { transition:background-color .2s, transform .2s; }
.elementor-button:hover { transform:translateY(-1px); }

/* Hero */
.eg-hero { position:relative; overflow:hidden; }
.eg-hero-side { position:absolute; left:40px; top:50%; transform:translateY(-50%); border-right:2px solid var(--eg-orange); padding-right:14px; }
.eg-hero-side p { margin:0; color:#e7edf1; font:600 11px/1.9 var(--eg-body); letter-spacing:1.4px; text-transform:uppercase; }
.eg-q2-badge { display:flex; align-items:center; gap:12px; }
.eg-q2-badge .q2 { display:inline-grid; place-items:center; width:44px; height:44px; border:2px solid #fff; border-radius:4px; font:700 18px/1 var(--eg-head); color:#fff; }

/* Trust strip */
.eg-trust > .e-con-inner, .eg-trust { gap:0 !important; }
.eg-trust-item { border-right:1px solid var(--eg-line); }
.eg-trust-item:first-child { border-right:0; }
.eg-trust-item .elementor-icon-box-title { font:600 13px/1.3 var(--eg-body) !important; color:#fff !important; margin:0 0 2px !important; }
.eg-trust-item .elementor-icon-box-description { font-size:12px !important; color:var(--eg-soft) !important; line-height:1.4 !important; }

/* Image collage */
.eg-collage img { border-radius:var(--eg-radius); box-shadow:0 18px 40px rgba(0,0,0,.35); }
.eg-collage-main img { aspect-ratio:4/3.2; object-fit:cover; }
.eg-collage-small img { aspect-ratio:4/3; object-fit:cover; border:3px solid rgba(255,255,255,.08); }

/* Service cards */
.eg-svc { position:relative; overflow:hidden; border-radius:var(--eg-radius); border:1px solid var(--eg-line); background:var(--eg-deep); transition:transform .25s, border-color .25s; }
.eg-svc:hover { transform:translateY(-4px); border-color:var(--eg-orange); }
.eg-svc img { aspect-ratio:4/3.4; object-fit:cover; width:100%; border-radius:0 !important; transition:transform .4s; }
.eg-svc:hover img { transform:scale(1.05); }
.eg-svc-num .elementor-heading-title { font:600 14px/1 var(--eg-body) !important; color:#fff !important; opacity:.85; }
.eg-svc-arrow .elementor-icon { width:30px; height:30px; border:1px solid rgba(255,255,255,.5); border-radius:50%; display:grid !important; place-items:center; font-size:12px !important; }
.eg-svc:hover .eg-svc-arrow .elementor-icon { background:var(--eg-orange); border-color:var(--eg-orange); }

/* Q2 feature */
.eg-q2-block { background:linear-gradient(145deg, #3a3631, #15130f); border:1px solid #5b5248; border-radius:6px; box-shadow:0 30px 60px rgba(0,0,0,.55), inset 0 1px 0 rgba(255,255,255,.12); transform:perspective(900px) rotateY(-12deg); }
.eg-q2-block .eg-q2-big .elementor-heading-title { font:800 120px/1 var(--eg-head) !important; background:linear-gradient(180deg, #d4c7b4, #7d6f5e); -webkit-background-clip:text; background-clip:text; color:transparent !important; }
.eg-list-orange { border-right:2px solid var(--eg-orange); padding-right:14px !important; }
.eg-list-orange p { margin:0; color:#e7edf1; font:600 11px/2 var(--eg-body); letter-spacing:1.3px; text-transform:uppercase; }

/* Feature columns with dividers */
.eg-feature { border-right:1px solid var(--eg-line); padding-right:22px !important; }
.eg-feature:first-child { border-right:0; padding-right:0 !important; }

/* Stats */
.eg-stat .elementor-heading-title { line-height:1.1 !important; }
.eg-stat-value .elementor-heading-title { color:var(--eg-orange) !important; font:700 34px/1.1 var(--eg-head) !important; }

/* Value list (icon list) */
.eg-values .elementor-icon-list-item { padding:12px 0 !important; border-bottom:1px solid var(--eg-line); }
.eg-values .elementor-icon-list-text { color:#fff !important; font:600 12px/1.3 var(--eg-body) !important; letter-spacing:1.2px; text-transform:uppercase; }

/* Light cards on white pages */
.eg-card-light { background:#fff; border:1px solid #e1e7eb; border-radius:var(--eg-radius); transition:box-shadow .25s, transform .25s; }
.eg-card-light:hover { box-shadow:0 16px 34px rgba(4,21,30,.1); transform:translateY(-3px); }
.eg-check .elementor-icon-list-icon i, .eg-check .elementor-icon-list-icon svg { color:var(--eg-orange) !important; fill:var(--eg-orange) !important; }

/* ---------- Latest insights shortcode (home) ---------- */
.eiger-latest { display:grid; grid-template-columns:repeat(3, 1fr); gap:22px; }
.eiger-latest__item { display:grid; grid-template-columns:42% 1fr; background:var(--eg-deep); border:1px solid var(--eg-line); border-radius:var(--eg-radius); overflow:hidden; }
.eiger-latest__item img { width:100%; height:100%; min-height:128px; object-fit:cover; display:block; }
.eiger-latest__item > div { padding:16px; }
.eiger-latest__item time { color:var(--eg-soft); font-size:12px; }
.eiger-latest__item h3 { margin:6px 0 10px; font-size:15px; line-height:1.35; }
.eiger-latest__item h3 a { color:#fff; text-decoration:none; }
.eiger-latest__item h3 a:hover { color:var(--eg-orange); }
.eiger-more { color:var(--eg-orange) !important; font-weight:600; font-size:13px; text-decoration:none; }
.eiger-more:hover { text-decoration:underline; }

/* ---------- Blog / article templates ---------- */
.eiger-wrap { max-width:var(--eg-wrap); margin:0 auto; padding:0 24px; }
.eiger-hero { position:relative; padding:70px 0 64px; background:linear-gradient(90deg, rgba(0,18,30,.96) 0%, rgba(0,18,30,.82) 45%, rgba(0,18,30,.25) 100%), var(--hero) center/cover no-repeat, var(--eg-navy); color:#fff; }
.eiger-hero h1 { color:#fff; font-size:clamp(32px, 4.6vw, 54px); line-height:1.12; max-width:720px; margin:0 0 18px; }
.eiger-hero h1 span { color:var(--eg-orange); }
.eiger-hero__lead { max-width:620px; color:#dae2e8; font-size:17px; line-height:1.6; margin:0; }
.eiger-crumbs { font-size:13px; color:#c9d4db; margin-bottom:18px; }
.eiger-crumbs a { color:#c9d4db; text-decoration:none; }
.eiger-crumbs a:hover { color:var(--eg-orange); }
.eiger-crumbs [aria-current] { color:#fff; }

.eiger-catbar { background:var(--eg-navy); border-top:1px solid var(--eg-line); }
.eiger-catbar .eiger-wrap { display:flex; overflow-x:auto; scrollbar-width:thin; }
.eiger-catbar a { display:flex; align-items:center; gap:10px; padding:20px 22px; color:#e7edf1; font-size:13px; font-weight:600; text-decoration:none; white-space:nowrap; border-left:1px solid var(--eg-line); }
.eiger-catbar a:last-child { border-left:0; }
.eiger-catbar a i { color:var(--eg-orange); font-size:16px; }
.eiger-catbar a:hover, .eiger-catbar a.is-active { background:var(--eg-orange); color:#fff; }
.eiger-catbar a:hover i, .eiger-catbar a.is-active i { color:#fff; }

.eiger-meta-bar { background:var(--eg-navy); border-top:1px solid var(--eg-line); }
.eiger-meta-bar .eiger-wrap { display:flex; flex-wrap:wrap; gap:28px; padding-top:16px; padding-bottom:16px; color:#e7edf1; font-size:14px; }
.eiger-meta-bar i { color:var(--eg-orange); margin-left:6px; }

.eiger-section { padding:56px 0 72px; }
.eiger-light { background:var(--eg-light); }
.eiger-layout { display:grid; grid-template-columns:minmax(0, 1fr) 320px; gap:36px; align-items:start; }
.eiger-h2 { font-size:clamp(26px, 3vw, 34px); margin:0 0 26px; color:var(--eg-ink); }

.eiger-grid { display:grid; grid-template-columns:repeat(3, 1fr); gap:22px; }
.eiger-card { background:#fff; border:1px solid #e1e7eb; border-radius:var(--eg-radius); overflow:hidden; display:flex; flex-direction:column; transition:box-shadow .25s, transform .25s; }
.eiger-card:hover { box-shadow:0 16px 34px rgba(4,21,30,.12); transform:translateY(-3px); }
.eiger-card__media { position:relative; display:block; }
.eiger-card__media img { width:100%; aspect-ratio:16/10; object-fit:cover; display:block; }
.eiger-badge { position:absolute; right:14px; bottom:-11px; background:var(--eg-orange); color:#fff; font-size:10.5px; font-weight:700; letter-spacing:.6px; text-transform:uppercase; padding:5px 9px; border-radius:3px; max-width:calc(100% - 28px); white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.eiger-card__body { padding:22px 18px 18px; display:flex; flex-direction:column; flex:1; }
.eiger-card__body time { font-size:12px; color:var(--eg-muted); }
.eiger-card__body h3 { font-size:17px; line-height:1.32; margin:6px 0 10px; }
.eiger-card__body h3 a { color:var(--eg-ink); text-decoration:none; }
.eiger-card__body h3 a:hover { color:var(--eg-orange); }
.eiger-card__body p { color:var(--eg-muted); font-size:14px; line-height:1.55; margin:0 0 14px; flex:1; }

.eiger-pagination ul { list-style:none; display:flex; justify-content:center; gap:8px; margin:36px 0 0; padding:0; }
.eiger-pagination a, .eiger-pagination span { display:grid; place-items:center; min-width:40px; height:40px; padding:0 10px; border:1px solid #d7dfe4; border-radius:4px; background:#fff; color:var(--eg-ink); text-decoration:none; font-weight:600; }
.eiger-pagination .current { background:var(--eg-orange); border-color:var(--eg-orange); color:#fff; }
.eiger-pagination a:hover { border-color:var(--eg-orange); color:var(--eg-orange); }

.eiger-sidebar { display:grid; gap:22px; position:sticky; top:24px; }
.eiger-widget { background:#fff; border:1px solid #e1e7eb; border-radius:var(--eg-radius); padding:22px; }
.eiger-widget__title { font-size:19px; margin:0 0 14px; color:var(--eg-ink); }
.eiger-search { display:flex; }
.eiger-search input[type=search] { flex:1; min-width:0; border:1px solid #d7dfe4; border-left:0; border-radius:0 4px 4px 0; padding:11px 14px; font-size:14px; }
.eiger-search button { background:var(--eg-navy); color:#fff; border:0; padding:0 16px; border-radius:4px 0 0 4px; cursor:pointer; }
.eiger-search button:hover { background:var(--eg-orange); }
.eiger-cats { list-style:none; margin:0; padding:0; }
.eiger-cats li { border-bottom:1px solid #eef2f4; }
.eiger-cats li:last-child { border-bottom:0; }
.eiger-cats a { display:flex; align-items:center; gap:12px; padding:10px 6px; color:var(--eg-ink); text-decoration:none; font-size:14px; }
.eiger-cats a i { color:var(--eg-ink); width:18px; text-align:center; }
.eiger-cats a span { margin-right:auto; color:var(--eg-muted); font-size:12px; }
.eiger-cats li.is-active a, .eiger-cats a:hover { color:var(--eg-orange); }
.eiger-cats li.is-active { border-right:3px solid var(--eg-orange); background:#fff6ee; }
.eiger-cats li.is-active a i, .eiger-cats a:hover i { color:var(--eg-orange); }
.eiger-mini { list-style:none; margin:0; padding:0; display:grid; gap:14px; }
.eiger-mini a { display:grid; grid-template-columns:76px 1fr; gap:12px; text-decoration:none; align-items:center; }
.eiger-mini img { width:76px; height:60px; object-fit:cover; border-radius:4px; }
.eiger-mini strong { display:block; color:var(--eg-ink); font-size:13.5px; line-height:1.35; }
.eiger-mini a:hover strong { color:var(--eg-orange); }
.eiger-mini time { display:block; color:var(--eg-muted); font-size:12px; margin-top:3px; }
.eiger-widget--dark { background:var(--eg-navy); border-color:var(--eg-navy); color:var(--eg-soft); }
.eiger-widget--dark h2 { color:#fff; font-size:23px; margin:0 0 10px; }
.eiger-widget--dark p { font-size:14px; line-height:1.55; }

.eiger-btn { display:inline-flex; align-items:center; gap:8px; background:var(--eg-orange); color:#fff !important; font-weight:700; font-size:14px; padding:13px 22px; border-radius:4px; text-decoration:none; }
.eiger-btn:hover { background:var(--eg-orange-dark); transform:translateY(-1px); }

.eiger-article { background:#fff; border:1px solid #e1e7eb; border-radius:var(--eg-radius); padding:0 0 28px; overflow:hidden; }
.eiger-article__image { margin:0; }
.eiger-article__image img { width:100%; max-height:460px; object-fit:cover; display:block; }
.eiger-article__content { padding:26px 32px 0; font-size:16.5px; line-height:1.75; color:#2a3944; }
.eiger-article__content h2 { font-size:26px; margin:34px 0 12px; color:var(--eg-ink); }
.eiger-article__content h3 { font-size:20px; margin:26px 0 10px; color:var(--eg-ink); }
.eiger-article__content a { color:var(--eg-orange-dark); }
.eiger-article__content img { border-radius:var(--eg-radius); height:auto; }
.eiger-article__content ul li::marker { color:var(--eg-orange); }
.eiger-article__content table { border-collapse:collapse; width:100%; font-size:14.5px; }
.eiger-article__content th, .eiger-article__content td { border:1px solid #e1e7eb; padding:9px 12px; }
.eiger-article__content th { background:var(--eg-light); }
.eiger-quote-box { margin:34px 32px 0; display:flex; align-items:center; gap:18px; background:#fff6ee; border:1px solid #ffd9b8; border-radius:var(--eg-radius); padding:20px 22px; }
.eiger-quote-box > i { font-size:30px; color:var(--eg-orange); }
.eiger-quote-box h2 { font-size:19px; margin:0 0 4px; }
.eiger-quote-box p { margin:0; color:var(--eg-muted); font-size:14px; }
.eiger-quote-box .eiger-btn { margin-right:auto; white-space:nowrap; }
.eiger-share { margin:26px 32px 0; display:flex; align-items:center; gap:10px; }
.eiger-share strong { margin-left:8px; font-size:14px; }
.eiger-share a, .eiger-share button { display:grid; place-items:center; width:36px; height:36px; border-radius:4px; background:var(--eg-navy); color:#fff; border:0; cursor:pointer; text-decoration:none; }
.eiger-share a:hover, .eiger-share button:hover { background:var(--eg-orange); }
.eiger-author { margin:26px 32px 0; display:flex; gap:18px; align-items:center; border:1px solid #e1e7eb; border-radius:var(--eg-radius); padding:18px; }
.eiger-author img { width:72px; height:72px; object-fit:contain; }
.eiger-author h2 { font-size:17px; margin:0 0 4px; }
.eiger-author p { margin:0; color:var(--eg-muted); font-size:14px; line-height:1.55; }

/* ---------- Header & footer (Elementor Header & Footer Builder) ---------- */
.eg-header { position:relative; z-index:50; }
.eg-header .hfe-nav-menu__layout-horizontal .menu-item a.hfe-menu-item { position:relative; }
.eg-header .hfe-nav-menu__layout-horizontal .current-menu-item > a.hfe-menu-item::after,
.eg-header .hfe-nav-menu__layout-horizontal .current-menu-ancestor > a.hfe-menu-item::after { content:""; position:absolute; right:12px; left:12px; bottom:2px; height:2px; background:var(--eg-orange); }
.eg-header .hfe-nav-menu .sub-menu { border-top:2px solid var(--eg-orange); }
.eg-footer a { color:var(--eg-soft); text-decoration:none; }
.eg-footer a:hover { color:var(--eg-orange); }
.eg-footer .elementor-icon-list-text { color:var(--eg-soft) !important; }
.eg-footer .elementor-icon-list-item:hover .elementor-icon-list-text { color:var(--eg-orange) !important; }

/* Forms (Fluent Forms) */
.eg-form .ff-el-form-control { border-radius:4px; border-color:#d0d9df; padding:12px 14px; }
.eg-form .ff-el-form-control:focus { border-color:var(--eg-orange); box-shadow:0 0 0 3px rgba(255,121,0,.18); }
.eg-form .ff-btn-submit { background:var(--eg-orange) !important; border-color:var(--eg-orange) !important; font-weight:700; padding:13px 26px; }
.eg-form .ff-btn-submit:hover { background:var(--eg-orange-dark) !important; }

/* ---------- Responsive ---------- */
@media (max-width: 1100px) {
	.eiger-layout { grid-template-columns:1fr; }
	.eiger-sidebar { position:static; grid-template-columns:repeat(2, 1fr); }
	.eiger-latest { grid-template-columns:1fr; }
	.eg-hero-side { display:none; }
}
@media (max-width: 1024px) {
	.eg-feature { border-right:0; padding-right:0 !important; }
	.eg-trust-item { border-right:0; }
	.eg-q2-block { transform:none; }
}
@media (max-width: 860px) {
	.eiger-grid { grid-template-columns:repeat(2, 1fr); }
}
@media (max-width: 640px) {
	.eiger-grid, .eiger-sidebar { grid-template-columns:1fr; }
	.eiger-hero { padding:48px 0; }
	.eiger-article__content { padding:20px 18px 0; font-size:16px; }
	.eiger-quote-box, .eiger-share, .eiger-author { margin-right:18px; margin-left:18px; }
	.eiger-quote-box { flex-direction:column; align-items:flex-start; }
	.eiger-quote-box .eiger-btn { margin-right:0; }
	.eiger-latest__item { grid-template-columns:38% 1fr; }
	.eg-q2-block .eg-q2-big .elementor-heading-title { font-size:84px !important; }
}
@media (prefers-reduced-motion: reduce) {
	*, *::before, *::after { transition:none !important; animation:none !important; }
}

/* Process step numbers */
.eg-step-head > .elementor-widget-heading:first-child .elementor-heading-title { display:grid; place-items:center; width:42px; height:42px; border-radius:50%; background:var(--eg-orange); color:#fff !important; font-size:15px !important; }

/* Quote form: two-column fields on wider screens */
.eg-form .fluentform form fieldset { display:flex !important; flex-wrap:wrap; column-gap:4%; }
.eg-form .fluentform form fieldset > * { width:100%; }
.eg-form .fluentform form fieldset > .ff-half { width:48%; }
.eg-form .ff-el-input--label label { font-weight:600; color:var(--eg-ink); font-size:14px; }
.eg-form .ff_gdpr_field + span, .eg-form .ff-el-tc label { font-size:13.5px; color:var(--eg-muted); }
@media (max-width: 640px) { .eg-form .fluentform form fieldset > .ff-half { width:100%; } }

/* Certificates and logos */
.eg-cert-img img { box-shadow:0 22px 50px rgba(0,0,0,.35); border:1px solid rgba(255,255,255,.15); cursor:zoom-in; transition:transform .25s; }
.eg-cert-img a:hover img, .eg-cert-img a:focus-visible img { transform:scale(1.02); }
.eg-logo-chip { flex:none; }
.eg-logo-chip img { display:block; }
.eg-lineart img { opacity:.35; mix-blend-mode:multiply; margin-top:10px; }
