/*
 * Aasti Infra — styles for the Elementor layout kit (a-el-* classes).
 * Every class here is attached through Elementor's "CSS Classes" field, so pages remain
 * fully editable in the Elementor editor; Style-tab settings you change override these.
 */

/* ---------- Base ---------- */
.a-el-section, .a-el-hero, .a-el-footer, .a-el-header, .a-el-topbar, .a-el-prop-body, .a-el-post-body { --a-el-gap: 28px; }
.e-con.a-el-section { position: relative; }
.a-el-section .elementor-heading-title, .a-el-hero .elementor-heading-title, .a-el-card .elementor-heading-title {
	font-family: var(--a-font-head); color: var(--a-ink); letter-spacing: -.01em; line-height: 1.2;
}
.a-el-section h2.elementor-heading-title { font-size: clamp(1.75rem, 3vw, 2.5rem); font-weight: 800; }
.a-el-section h3.elementor-heading-title, .a-el-card h3.elementor-heading-title { font-size: 1.2rem; font-weight: 700; }
.a-el-section h4.elementor-heading-title { font-size: 1.02rem; font-weight: 700; }
.a-el-section .elementor-widget-text-editor, .a-el-card .elementor-widget-text-editor { color: var(--a-slate); }
.a-el-section .elementor-widget-text-editor p:last-child, .a-el-card .elementor-widget-text-editor p:last-child { margin-bottom: 0; }
.e-con.a-el-section--dark .elementor-heading-title, .e-con.a-el-section--dark .elementor-widget-text-editor { color: #fff; }
.e-con.a-el-section--dark .elementor-widget-text-editor { color: rgba(255,255,255,.78); }

.a-el-eyebrow .elementor-heading-title {
	font-family: var(--a-font-body) !important; font-size: .78rem !important; font-weight: 700 !important;
	letter-spacing: .14em !important; text-transform: uppercase; color: var(--a-brass) !important;
}
.a-el-lead, .a-el-lead p { font-size: 1.12rem; line-height: 1.7; color: var(--a-slate); }
.a-el-muted, .a-el-muted p { color: var(--a-muted); }
.a-el-small, .a-el-small p { font-size: .88rem; color: var(--a-muted); }

.a-el-head { max-width: 760px; }
.a-el-head--center { margin-inline: auto; text-align: center; align-items: center; }
.a-el-head--center .elementor-heading-title { text-align: center; }
.e-con.a-el-head-split { align-items: flex-end; }

/* ---------- Hero ---------- */
.e-con.a-el-hero { color: #fff; }
.a-el-hero .elementor-heading-title { color: #fff !important; }
.a-el-hero h1.elementor-heading-title, .a-el-hero .elementor-widget-theme-post-title .elementor-heading-title, .a-el-hero .elementor-widget-theme-archive-title .elementor-heading-title {
	font-family: var(--a-font-head); font-size: clamp(2.1rem, 4.6vw, 3.6rem); font-weight: 800; line-height: 1.08; max-width: 860px; letter-spacing: -.02em;
}
.a-el-hero--lg h1.elementor-heading-title { font-size: clamp(2.4rem, 5.4vw, 4.2rem); }
.a-el-hero .a-el-lead, .a-el-hero .a-el-lead p { color: rgba(255,255,255,.86); max-width: 680px; font-size: 1.18rem; }
.a-el-hero .a-el-eyebrow .elementor-heading-title { color: #e2c690 !important; }
.a-el-hero .a-breadcrumb, .a-el-hero .breadcrumb { --bs-breadcrumb-divider-color: rgba(255,255,255,.6); margin: 0; }
.a-el-hero .breadcrumb-item, .a-el-hero .breadcrumb-item a { color: rgba(255,255,255,.75); font-size: .86rem; }
.a-el-hero .breadcrumb-item.active { color: #fff; }
.a-el-hero .breadcrumb-item + .breadcrumb-item::before { color: rgba(255,255,255,.5); }
.a-el-hero .elementor-widget-aasti-breadcrumbs { margin-bottom: 6px; }
.a-el-hero-search { width: 100%; max-width: 1040px; margin-top: 12px; }
.a-el-hero--article .a-el-post-cat .elementor-icon-list-text, .a-el-hero--article .a-el-post-cat a { background: var(--a-brass); color: #fff !important; padding: 4px 12px; border-radius: 999px; font-size: .78rem; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; }
.a-el-hero--article .a-el-post-cat .elementor-icon-list-icon { display: none; }
.a-el-hero .a-el-post-meta .elementor-icon-list-text, .a-el-hero .a-el-post-meta a, .a-el-hero .a-el-post-meta .elementor-icon-list-icon i { color: rgba(255,255,255,.82) !important; }

/* ---------- Buttons ---------- */
.a-el-btn .elementor-button {
	font-family: var(--a-font-body); font-weight: 600; font-size: .96rem; border-radius: var(--a-radius);
	padding: 14px 24px; line-height: 1.2; border: 2px solid transparent; transition: background .2s, color .2s, border-color .2s, transform .2s;
}
.a-el-btn .elementor-button:hover { transform: translateY(-1px); }
.a-el-btn--steel .elementor-button { background: var(--a-steel); color: #fff; }
.a-el-btn--steel .elementor-button:hover { background: var(--a-steel-dark); color: #fff; }
.a-el-btn--brass .elementor-button { background: var(--a-brass); color: #fff; }
.a-el-btn--brass .elementor-button:hover { background: var(--a-brass-dark); color: #fff; }
.a-el-btn--light .elementor-button { background: transparent; color: #fff; border-color: rgba(255,255,255,.7); }
.a-el-btn--light .elementor-button:hover { background: #fff; color: var(--a-ink); }
.a-el-btn--outline .elementor-button { background: transparent; color: var(--a-steel); border-color: var(--a-steel); }
.a-el-btn--outline .elementor-button:hover { background: var(--a-steel); color: #fff; }
.a-el-btn--wa .elementor-button { background: var(--a-wa-dark); color: #fff; }
.a-el-btn--wa .elementor-button:hover { background: #0e6f3b; color: #fff; }
.a-el-btn--link .elementor-button { background: none; color: var(--a-steel); padding: 0; border: 0; font-weight: 700; }
.a-el-btn--link .elementor-button:hover { color: var(--a-brass-dark); transform: none; }
.e-con.a-el-btn-row { width: auto; }
.a-el-btn-row > .elementor-widget { width: auto; }

/* ---------- Cards ---------- */
.e-con.a-el-card {
	background: #fff; border: 1px solid var(--a-line); border-radius: var(--a-radius-lg);
	box-shadow: var(--a-shadow); height: 100%; transition: transform .25s, box-shadow .25s;
}
.e-con.a-el-card--soft { background: var(--a-concrete); box-shadow: none; }
.e-con.a-el-card--line { box-shadow: none; }
.e-con.a-el-card--dark { background: var(--a-ink); border-color: var(--a-ink); color: #fff; }
.a-el-card--dark .elementor-heading-title { color: #fff !important; }
.a-el-card--dark .elementor-widget-text-editor, .a-el-card--dark .elementor-icon-list-text { color: rgba(255,255,255,.82) !important; }
.a-el-card--dark .elementor-icon-list-icon i { color: var(--a-brass) !important; }
.a-el-card--dark a:hover .elementor-icon-list-text { color: #fff !important; }
.a-el-section--dark .e-con.a-el-card { background: rgba(255,255,255,.04); border-color: rgba(255,255,255,.12); box-shadow: none; }
.a-el-section--dark .a-el-card .elementor-heading-title { color: #fff; }
.a-el-section--dark .a-el-card .elementor-widget-text-editor { color: rgba(255,255,255,.75); }
.a-el-card__img img { width: 100%; aspect-ratio: 16 / 10; object-fit: cover; border-radius: var(--a-radius); }
.e-con.a-el-service-card:hover { transform: translateY(-4px); box-shadow: var(--a-shadow-lg); }
.e-con.a-el-service-card .a-el-btn { margin-top: auto; }
.a-el-pill .elementor-heading-title {
	display: inline-block; background: var(--a-steel-light); color: var(--a-steel) !important; border-radius: 999px;
	padding: 4px 12px; font-family: var(--a-font-body) !important; font-size: .74rem !important; font-weight: 700 !important; letter-spacing: .06em; text-transform: uppercase;
}

/* Numbers */
.a-el-num .elementor-heading-title {
	width: 46px; height: 46px; display: grid; place-items: center; border-radius: 12px;
	background: var(--a-steel-light); color: var(--a-steel) !important; font-family: var(--a-font-head); font-weight: 800; font-size: 1rem !important;
}
.a-el-num--text .elementor-heading-title { background: none; width: auto; height: auto; display: block; color: var(--a-brass) !important; font-size: 2rem !important; }
.a-el-section--dark .a-el-num .elementor-heading-title { background: rgba(255,255,255,.08); color: #e2c690 !important; }

/* Feature (icon box) */
.a-el-feature .elementor-icon-box-wrapper { text-align: left; }
.a-el-feature .elementor-icon-box-icon { margin-bottom: 14px !important; }
.a-el-feature .elementor-icon { background-color: var(--a-steel-light) !important; fill: var(--a-steel) !important; color: var(--a-steel) !important; font-size: 22px !important; padding: .7em !important; border-radius: 12px !important; }
.a-el-feature .elementor-icon-box-title { font-family: var(--a-font-head); font-weight: 700; font-size: 1.12rem; color: var(--a-ink); margin: 0 0 6px; }
.a-el-feature .elementor-icon-box-title a { color: inherit; }
.a-el-feature .elementor-icon-box-description { color: var(--a-slate); margin: 0; }
.a-el-feature--dark .elementor-icon { background-color: rgba(255,255,255,.08) !important; color: #e2c690 !important; fill: #e2c690 !important; }
.a-el-feature--dark .elementor-icon-box-title { color: #fff; }
.a-el-feature--dark .elementor-icon-box-description { color: rgba(255,255,255,.75); }
.elementor-widget.a-el-feature--link, .elementor-widget.a-el-path {
	background: #fff; border: 1px solid var(--a-line); border-radius: var(--a-radius-lg); padding: 22px; box-shadow: var(--a-shadow); transition: transform .2s, box-shadow .2s, border-color .2s;
}
.elementor-widget.a-el-feature--link:hover, .elementor-widget.a-el-path:hover { transform: translateY(-3px); box-shadow: var(--a-shadow-lg); border-color: var(--a-steel); }

/* Paths (home hero) */
.e-con.a-el-paths { margin-top: 8px; }
.a-el-path .elementor-icon-box-wrapper { display: flex; align-items: center; gap: 14px; text-align: left; }
.a-el-path .elementor-icon-box-icon { margin: 0 !important; }
.a-el-path .elementor-icon { background-color: var(--a-steel) !important; color: #fff !important; fill: #fff !important; font-size: 18px !important; padding: .7em !important; border-radius: 10px !important; }
.a-el-path .elementor-icon-box-title { font-size: 1rem; font-weight: 700; margin: 0 0 2px; font-family: var(--a-font-head); }
.a-el-path .elementor-icon-box-title a { color: var(--a-ink); }
.a-el-path .elementor-icon-box-description { font-size: .86rem; color: var(--a-muted); margin: 0; }

/* Check lists */
.a-el-checklist .elementor-icon-list-item { align-items: flex-start !important; padding-bottom: 8px !important; }
.a-el-checklist .elementor-icon-list-icon { padding-top: 5px; flex-shrink: 0; }
.a-el-contact-list .elementor-icon-list-icon, .a-el-footer__contact .elementor-icon-list-icon { flex-shrink: 0; }
.a-el-checklist .elementor-icon-list-icon i { color: var(--a-positive) !important; font-size: 14px !important; }
.a-el-checklist .elementor-icon-list-icon svg { fill: var(--a-positive) !important; width: 14px !important; }
.a-el-checklist .elementor-icon-list-text { color: var(--a-slate); }
.a-el-checklist--sm .elementor-icon-list-text { font-size: .92rem; }
.a-el-checklist--light .elementor-icon-list-text { color: rgba(255,255,255,.85) !important; }
.a-el-checklist--light .elementor-icon-list-icon i { color: #e2c690 !important; }
.a-el-checklist--cols .elementor-icon-list-items { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: 24px; }
@media (max-width: 767px) { .a-el-checklist--cols .elementor-icon-list-items { grid-template-columns: 1fr; } }

/* Tags */
.a-el-tags .elementor-icon-list-items { display: flex; flex-wrap: wrap; gap: 8px; }
.a-el-tags .elementor-icon-list-item { margin: 0 !important; padding: 6px 14px !important; background: var(--a-steel-light); border-radius: 999px; }
.a-el-tags .elementor-icon-list-item::after { display: none !important; }
.a-el-tags .elementor-icon-list-text { color: var(--a-steel) !important; font-size: .86rem; font-weight: 600; padding-left: 4px !important; }
.a-el-tags .elementor-icon-list-icon i { color: var(--a-steel) !important; font-size: 12px !important; }
.a-el-tags a:hover .elementor-icon-list-text { color: var(--a-brass-dark) !important; }

/* Link list */
.a-el-link-list .elementor-icon-list-item { padding: 6px 0 !important; border-bottom: 1px solid var(--a-line); }
.a-el-link-list .elementor-icon-list-item:last-child { border-bottom: 0; }
.a-el-link-list .elementor-icon-list-text { color: var(--a-ink); font-weight: 500; }
.a-el-link-list .elementor-icon-list-icon i { color: var(--a-brass) !important; }

/* Contact list */
.a-el-contact-list .elementor-icon-list-item { align-items: flex-start !important; padding-bottom: 12px !important; }
.a-el-contact-list .elementor-icon-list-icon { padding-top: 4px; }
.a-el-contact-list .elementor-icon-list-text { white-space: pre-line; }

/* Steps & lifecycle */
.e-con.a-el-step { position: relative; }
.e-con.a-el-lifecycle { counter-reset: life; }
.e-con.a-el-life {
	background: #fff; border: 1px solid var(--a-line); border-radius: var(--a-radius); padding: 18px 12px; text-align: center; align-items: center; gap: 6px; height: 100%;
}
.a-el-life__num .elementor-heading-title { color: var(--a-brass) !important; font-family: var(--a-font-head); font-weight: 800; font-size: 1.4rem !important; text-align: center; }
.a-el-life__label .elementor-heading-title { font-size: .92rem !important; text-align: center; }
.a-el-section--dark .e-con.a-el-life { background: rgba(255,255,255,.05); border-color: rgba(255,255,255,.12); }
.a-el-section--dark .a-el-life__label .elementor-heading-title { color: #fff; }

/* Images */
.a-el-img img { width: 100%; border-radius: var(--a-radius-lg); box-shadow: var(--a-shadow-lg); object-fit: cover; }
.a-el-img--tilt img { aspect-ratio: 4 / 3; }
.a-el-img--portrait img { aspect-ratio: 4 / 5; }

/* Quote */
.e-con.a-el-quote { border-left: 4px solid var(--a-brass); }
.a-el-quote-text, .a-el-quote-text p { font-family: var(--a-font-head); font-size: 1.22rem; line-height: 1.6; color: var(--a-ink) !important; font-weight: 600; }
.a-el-quote-by .elementor-heading-title { color: var(--a-steel) !important; }
.a-el-quote-org p { color: var(--a-muted); font-size: .9rem; }

/* Tables */
.a-el-table-wrap { overflow-x: auto; }
.a-el-table { width: 100%; border-collapse: collapse; background: #fff; border-radius: var(--a-radius); overflow: hidden; font-size: .95rem; min-width: 560px; }
.a-el-table th { background: var(--a-ink); color: #fff; text-align: left; padding: 12px 16px; font-weight: 600; }
.a-el-table td { padding: 12px 16px; border-bottom: 1px solid var(--a-line); vertical-align: top; color: var(--a-slate); }
.a-el-table tr:last-child td { border-bottom: 0; }

/* FAQ (accordion) */
.a-el-faq .elementor-accordion-item { border: 1px solid var(--a-line) !important; border-radius: var(--a-radius); margin-bottom: 10px; background: #fff; overflow: hidden; }
.a-el-faq .elementor-tab-title { padding: 18px 20px !important; font-family: var(--a-font-head); font-weight: 700; }
.a-el-faq .elementor-tab-title a, .a-el-faq .elementor-accordion-icon { color: var(--a-ink) !important; }
.a-el-faq .elementor-tab-title.elementor-active a, .a-el-faq .elementor-tab-title.elementor-active .elementor-accordion-icon { color: var(--a-steel) !important; }
.a-el-faq .elementor-tab-content { border-top: 1px solid var(--a-line) !important; padding: 16px 20px !important; color: var(--a-slate); }

/* CTA */
.e-con.a-el-cta { background-image: linear-gradient(110deg, #1f4e79, #163a5c); }
.e-con.a-el-cta .elementor-heading-title { color: #fff !important; }
.e-con.a-el-cta .elementor-widget-text-editor { color: rgba(255,255,255,.82); }
.a-el-cta-cols > .e-con:last-child { align-items: flex-end; }
@media (max-width: 767px) { .a-el-cta-cols > .e-con:last-child { align-items: flex-start; } }

/* Columns */
.e-con.a-el-cols--sidebar { align-items: flex-start; }
.e-con.a-el-cols--sidebar > .e-con:first-child { gap: 28px; }
@media (max-width: 1024px) { .e-con.a-el-cols--sidebar { flex-direction: column; } .e-con.a-el-cols--sidebar > .e-con { width: 100% !important; } }

/* Prose (legal pages, post content) */
.a-el-prose { color: var(--a-slate); font-size: 1.04rem; line-height: 1.8; }
.a-el-prose h2, .a-el-prose h3, .a-el-prose h4 { font-family: var(--a-font-head); color: var(--a-ink); margin: 1.8em 0 .6em; font-weight: 800; }
.a-el-prose h2 { font-size: 1.6rem; } .a-el-prose h3 { font-size: 1.28rem; }
.a-el-prose ul, .a-el-prose ol { padding-left: 1.3em; margin-bottom: 1.2em; }
.a-el-prose li { margin-bottom: .35em; }
.a-el-prose a { color: var(--a-steel); text-decoration: underline; text-underline-offset: 3px; }
.a-el-prose blockquote { border-left: 4px solid var(--a-brass); padding: 4px 0 4px 18px; color: var(--a-ink); font-weight: 500; }
.a-el-prose img { border-radius: var(--a-radius); height: auto; }
.a-el-prose table { width: 100%; border-collapse: collapse; margin: 1.4em 0; }
.a-el-prose th, .a-el-prose td { border: 1px solid var(--a-line); padding: 10px 12px; text-align: left; }
.a-el-prose th { background: var(--a-concrete); }

/* Map */
.a-el-map iframe { border-radius: var(--a-radius-lg); display: block; filter: grayscale(.25); }

/* Social */
.a-el-social .elementor-social-icon { background: var(--a-steel-light) !important; transition: background .2s, transform .2s; }
.a-el-social .elementor-social-icon i { color: var(--a-steel) !important; }
.a-el-social .elementor-social-icon svg { fill: var(--a-steel) !important; }
.a-el-social .elementor-social-icon:hover { background: var(--a-brass) !important; transform: translateY(-2px); }
.a-el-social .elementor-social-icon:hover i { color: #fff !important; }
.a-el-social .elementor-social-icon:hover svg { fill: #fff !important; }
.a-el-social .elementor-social-icon { font-size: 15px !important; }
.a-el-card--dark .a-el-social .elementor-social-icon, .a-el-social--footer .elementor-social-icon, .a-el-social--sm .elementor-social-icon { background: rgba(255,255,255,.1) !important; }
.a-el-card--dark .a-el-social .elementor-social-icon i, .a-el-social--footer .elementor-social-icon i, .a-el-social--sm .elementor-social-icon i { color: #fff !important; }
.a-el-card--dark .a-el-social .elementor-social-icon svg, .a-el-social--footer .elementor-social-icon svg, .a-el-social--sm .elementor-social-icon svg { fill: #fff !important; }
.a-el-social--sm .elementor-social-icon { font-size: 12px !important; padding: .45em !important; }
.a-el-social--sm .elementor-grid { gap: 6px; }

/* ---------- Pro Form ---------- */
.a-el-form .elementor-field-group { margin-bottom: 14px; }
.a-el-form .elementor-field-label { font-weight: 600; font-size: .88rem; color: var(--a-ink); margin-bottom: 6px; }
.a-el-form .elementor-field-group .elementor-field:not(.elementor-select-wrapper),
.a-el-form .elementor-field-group .elementor-select-wrapper select {
	border: 1px solid #cfcbc2 !important; border-radius: var(--a-radius) !important; background: #fff !important;
	padding: 11px 14px !important; font-size: .96rem !important; color: var(--a-ink) !important; min-height: 46px; box-shadow: none;
	transition: border-color .2s, box-shadow .2s;
}
.a-el-form textarea.elementor-field { min-height: 110px; }
.a-el-form .elementor-field:focus, .a-el-form .elementor-select-wrapper select:focus {
	border-color: var(--a-steel) !important; box-shadow: 0 0 0 3px rgba(31,78,121,.15) !important; outline: none;
}
.a-el-form .elementor-field-subgroup .elementor-field-option label { font-size: .92rem; color: var(--a-slate); }
.a-el-form .elementor-field-type-acceptance label, .a-el-form .elementor-field-type-acceptance { font-size: .84rem; color: var(--a-muted); }
.a-el-form .elementor-field-type-acceptance a { color: var(--a-steel); text-decoration: underline; }
.a-el-form .elementor-button[type="submit"] {
	background: var(--a-steel) !important; color: #fff !important; border-radius: var(--a-radius) !important;
	font-weight: 600; font-size: 1rem; padding: 14px 28px !important; transition: background .2s;
}
.a-el-form .elementor-button[type="submit"]:hover { background: var(--a-steel-dark) !important; }
.a-el-form .elementor-mark-required .elementor-field-label::after { color: var(--a-alert); }
.a-el-form .elementor-message { font-size: .95rem; padding: 12px 14px; border-radius: var(--a-radius); margin-top: 12px; }
.a-el-form .elementor-message.elementor-message-success { background: #e7f4ee; color: #1f6046; }
.a-el-form .elementor-message.elementor-message-danger { background: #f8e9e9; color: #8a2f2f; }
.a-el-form--compact .elementor-field-group { margin-bottom: 10px; }
.a-el-form--compact .elementor-button[type="submit"] { width: 100%; }
.e-con.a-el-form-card { border-top: 4px solid var(--a-steel); scroll-margin-top: 110px; }
.e-con.a-el-form-card--side { border-top-color: var(--a-brass); }

/* ---------- Posts ---------- */
.a-el-posts .elementor-post__card { border-radius: var(--a-radius-lg) !important; border: 1px solid var(--a-line); box-shadow: var(--a-shadow) !important; overflow: hidden; transition: transform .2s, box-shadow .2s; }
.a-el-posts .elementor-post__card:hover { transform: translateY(-3px); box-shadow: var(--a-shadow-lg) !important; }
.a-el-posts .elementor-post__title, .a-el-posts .elementor-post__title a { font-family: var(--a-font-head); font-weight: 700; color: var(--a-ink) !important; font-size: 1.12rem; line-height: 1.35; }
.a-el-posts .elementor-post__excerpt p { color: var(--a-slate); font-size: .95rem; }
.a-el-posts .elementor-post__read-more { color: var(--a-steel) !important; font-weight: 700; font-size: .9rem; text-transform: none; }
.a-el-posts .elementor-post__badge { background: var(--a-brass) !important; border-radius: 999px !important; font-weight: 700; letter-spacing: .04em; }
.a-el-posts .elementor-pagination { margin-top: 32px; text-align: center; font-weight: 600; }
.a-el-posts .elementor-pagination .page-numbers { display: inline-block; padding: 6px 12px; border-radius: 6px; }
.a-el-posts .elementor-pagination .page-numbers.current { background: var(--a-steel); color: #fff; }

/* ---------- Header (Theme Builder) ---------- */
.e-con.a-el-topbar { font-size: .84rem; }
.a-el-topbar__info .elementor-icon-list-text, .a-el-topbar__info .elementor-icon-list-icon i { color: rgba(255,255,255,.8) !important; font-size: .84rem; }
.a-el-topbar__info .elementor-icon-list-icon i { color: #e2c690 !important; font-size: 12px !important; }
.a-el-topbar__info a:hover .elementor-icon-list-text { color: #fff !important; }
.e-con.a-el-header { box-shadow: 0 1px 0 var(--a-line); transition: box-shadow .25s; }
.e-con.a-el-header.elementor-sticky--effects { box-shadow: 0 6px 24px rgba(20,32,43,.1); }
.e-con.a-el-header > .e-con-inner > .elementor-widget-nav-menu { flex: 1 1 auto; }
.a-el-logo img { max-height: 54px; width: auto; }
.a-el-nav .elementor-nav-menu--main .elementor-item { font-family: var(--a-font-body); }
.a-el-nav .elementor-nav-menu--main .elementor-nav-menu { justify-content: center; }
.a-el-nav .elementor-nav-menu--dropdown { border-radius: 0 0 var(--a-radius) var(--a-radius); box-shadow: var(--a-shadow-lg); border-top: 3px solid var(--a-brass); }
.a-el-nav .elementor-nav-menu--main .elementor-nav-menu--dropdown a { padding: 11px 18px; font-size: .92rem; }
.a-el-nav .elementor-menu-toggle { background: var(--a-steel-light); border-radius: 8px; }
.a-el-nav .elementor-menu-toggle i, .a-el-nav .elementor-menu-toggle svg { color: var(--a-steel); fill: var(--a-steel); }
.a-el-header__cta { width: auto !important; flex: 0 0 auto; }
.a-el-header__cta .elementor-button { padding: 11px 18px !important; font-size: .9rem !important; white-space: nowrap; }

/* ---------- Footer (Theme Builder) ---------- */
.e-con.a-el-footer { color: rgba(255,255,255,.72); }
.a-el-footer .elementor-widget-text-editor, .a-el-footer .elementor-widget-text-editor p { color: rgba(255,255,255,.7); font-size: .94rem; }
.a-el-footer__title .elementor-heading-title { color: #fff !important; font-family: var(--a-font-head); font-size: 1rem !important; font-weight: 700; letter-spacing: .02em; }
.a-el-footer__logo img { max-width: 200px; height: auto; }
.a-el-footer__tagline p { color: #e2c690 !important; font-weight: 600; font-size: .9rem !important; }
.a-el-footer__menu .elementor-nav-menu a { padding-left: 0 !important; }
.a-el-footer__menu .elementor-nav-menu a:hover { color: #fff !important; }
.a-el-footer__menu .elementor-menu-toggle { display: none !important; }
.a-el-footer__menu .elementor-nav-menu--main { display: block !important; }
.a-el-footer__contact .elementor-icon-list-item { align-items: flex-start !important; padding-bottom: 10px !important; }
.a-el-footer__contact .elementor-icon-list-text { color: rgba(255,255,255,.72) !important; white-space: pre-line; font-size: .94rem; }
.a-el-footer__contact .elementor-icon-list-icon { padding-top: 4px; }
.a-el-footer__contact .elementor-icon-list-icon i { color: #e2c690 !important; }
.a-el-footer__contact a:hover .elementor-icon-list-text { color: #fff !important; }
.a-el-footer__disclaimer p { font-size: .82rem !important; line-height: 1.7; color: rgba(255,255,255,.5) !important; border-top: 1px solid rgba(255,255,255,.1); padding-top: 24px; }
.a-el-footer__disclaimer a { color: rgba(255,255,255,.8); text-decoration: underline; }
.e-con.a-el-footer__bottom { background: rgba(0,0,0,.25); }
.a-el-footer__copy p { font-size: .84rem !important; margin: 0; color: rgba(255,255,255,.6) !important; }
.a-el-footer__legal .elementor-icon-list-text { color: rgba(255,255,255,.7) !important; font-size: .84rem; }
.a-el-footer__legal .elementor-icon-list-icon { display: none; }
.a-el-footer__legal a:hover .elementor-icon-list-text { color: #fff !important; }
@media (max-width: 1024px) { .a-el-footer__brand { grid-column: 1 / -1; } }

/* ---------- Single Partner Project (Theme Builder) ---------- */
.a-el-project-section .a-prop-head .container, .a-el-project-section .a-prop-nav .container, .a-el-project-section .a-prop-gallery .container, .a-el-project-section .a-section .container { max-width: 1240px; }
.e-con.a-el-prop-nav { background: #fff; }
.e-con.a-el-prop-nav.elementor-sticky--active { box-shadow: 0 6px 18px rgba(20,32,43,.08); }
.e-con.a-el-prop-nav .a-prop-nav { position: static !important; }
.a-el-prop-main .a-block { margin-bottom: 28px; }
.a-el-prop-side { gap: 24px; }
.a-el-prop-side .a-sticky { position: static; }
.e-con.a-el-tour .a-block { margin-bottom: 0; border-bottom-left-radius: 0; border-bottom-right-radius: 0; border-bottom: 0; }
.e-con.a-el-tour > .elementor-widget-form { background: #fff; border: 1px solid var(--a-line); border-top: 0; border-radius: 0 0 var(--a-radius-lg) var(--a-radius-lg); padding: 0 28px 28px; margin-bottom: 28px; }
@media (max-width: 1024px) { .e-con.a-el-prop-body > .e-con { width: 100% !important; } }

/* ---------- Single Insight ---------- */
.e-con.a-el-share { gap: 14px; }
.a-el-share .elementor-heading-title { font-size: .95rem !important; margin: 0; }
.a-el-post-nav .elementor-post-navigation { border-color: var(--a-line) !important; padding: 18px 0; }
.a-el-post-nav .post-navigation__prev--label, .a-el-post-nav .post-navigation__next--label { color: var(--a-brass); font-size: .78rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
.a-el-post-nav .post-navigation__prev--title, .a-el-post-nav .post-navigation__next--title { color: var(--a-ink); font-weight: 600; font-family: var(--a-font-head); }
@media (max-width: 1024px) { .e-con.a-el-post-body > .e-con { width: 100% !important; } }

/* ---------- Listing ---------- */
.a-el-section--listing { background: var(--a-concrete); }

/* ---------- Editor helpers ---------- */
.elementor-editor-active .a-el-hero { min-height: 320px; }
.elementor-editor-active .a-builder-note { margin: 16px; }

/* Responsive grids defined in the Elementor JSON fall back gracefully on very small screens */
@media (max-width: 575px) {
	.e-con.a-el-paths { grid-template-columns: 1fr !important; }
	.a-el-hero .a-el-btn-row > .elementor-widget { width: 100%; }
	.a-el-hero .a-el-btn-row .elementor-button { width: 100%; justify-content: center; }
}

/* Elementor's global `img { height:auto }` would leave gaps in the project gallery. */
.elementor .a-gallery__item img, .elementor-widget-aasti-project-section .a-gallery__item img { height: 100% !important; max-width: none; }
.elementor-widget-aasti-project-section img { max-width: 100%; }
.e-con.a-el-tour > .elementor-widget-aasti-project-section .a-block { box-shadow: none; border: 1px solid var(--a-line); border-bottom: 0; }

/* Icon lists render inline SVG icons (Elementor "Inline Font Icons"): colour them too. */
.a-el-card--dark .elementor-icon-list-icon svg, .a-el-topbar__info .elementor-icon-list-icon svg, .a-el-footer__contact .elementor-icon-list-icon svg, .a-el-checklist--light .elementor-icon-list-icon svg { fill: #e2c690 !important; }
.a-el-tags .elementor-icon-list-icon svg { fill: var(--a-steel) !important; width: 11px; }
.a-el-link-list .elementor-icon-list-icon svg { fill: var(--a-brass) !important; }
.a-el-hero .a-el-post-meta .elementor-icon-list-icon svg { fill: rgba(255,255,255,.82) !important; }
.a-el-feature .elementor-icon svg { fill: currentColor; }
/* Acceptance checkbox inline with its text */
.a-el-form .elementor-field-type-acceptance .elementor-field-subgroup { display: block; }
.a-el-form .elementor-field-type-acceptance .elementor-field-option { display: flex; gap: 8px; align-items: flex-start; }
.a-el-form .elementor-field-type-acceptance input[type="checkbox"] { margin-top: 4px; flex: 0 0 auto; }
