/* Hand-written additions on top of the generated site.css. Safe to edit. */

/* ---------- background slideshow (replaces Elementor/Swiper slideshow) ---------- */
.sol-bg-slideshow {
	position: absolute;
	inset: 0;
	overflow: hidden;
	z-index: 0;
	border-radius: inherit;
	pointer-events: none;
}
.sol-bg-slide {
	position: absolute;
	inset: 0;
	background-size: cover;
	background-position: center center;
	opacity: 0;
	transition: opacity var(--sol-tdur, 500ms) ease, transform var(--sol-tdur, 500ms) ease;
}
.sol-bg-slide.is-active { opacity: 1; z-index: 1; }
.sol-bg-slide.is-leaving { opacity: 1; z-index: 0; }
.sol-trans-slide_right .sol-bg-slide { opacity: 1; transform: translateX(-100%); }
.sol-trans-slide_right .sol-bg-slide.is-active { transform: translateX(0); }
.sol-trans-slide_right .sol-bg-slide.is-leaving { transform: translateX(100%); }
.sol-trans-slide_left .sol-bg-slide { opacity: 1; transform: translateX(100%); }
.sol-trans-slide_left .sol-bg-slide.is-active { transform: translateX(0); }
.sol-trans-slide_left .sol-bg-slide.is-leaving { transform: translateX(-100%); }
.sol-kb-in.is-active { animation: sol-kb-in 20s linear forwards; }
.sol-kb-out.is-active { animation: sol-kb-out 20s linear forwards; }
@keyframes sol-kb-in { from { transform: scale(1); } to { transform: scale(1.3); } }
@keyframes sol-kb-out { from { transform: scale(1.3); } to { transform: scale(1); } }
[data-bg-slideshow] > :not(.sol-bg-slideshow) { position: relative; z-index: 1; }

/* ---------- page loader ---------- */
.page-loader-container { transition: opacity .5s ease; }

/* ---------- contact form feedback ---------- */
.sol-form-message { margin-top: 15px; font-size: 15px; }
.sol-form-message.is-success { color: #043732; }
.sol-form-message.is-error { color: #F14F44; }

/* ---------- dynamic post body (matches the original text-editor widget colour) ---------- */
.sol-post-body .elementor-widget-text-editor { color: #000; }

.sol-form-message:empty { display: none; }
.sol-post-body > .e-con { --display: flex; max-width: 100%; }

/* ---------- home header: sit 10px higher on tablet/desktop (was top: 31px) ---------- */
@media (min-width: 768px) {
	.elementor-23367 .elementor-element.elementor-element-b5d3a9c { top: 21px; }
}

/* ---------- hero: heading/description fade when the slide changes ---------- */
[data-slide-heading], [data-slide-desc], [data-slide-btn] { transition: opacity .3s ease; }
.sol-slide-text-out { opacity: 0; }

/* ---------- home "Driving Healthcare Innovation" section: same height as About "We See What's Next" ---------- */
.elementor-25817 .elementor-element.elementor-element-b73ce52 { --min-height: 1066px; }
@media (max-width: 767px) {
	.elementor-25817 .elementor-element.elementor-element-b73ce52 { --min-height: 1213px; }
	.elementor-25817 .elementor-element.elementor-element-34144f7 { --padding-left: 20px; --padding-right: 20px; }
}

/* ---------- single post: show the whole featured image (no crop) ---------- */
.single-post .post-media-wrapper img.sol-full-image { width: 100%; height: auto; object-fit: initial; aspect-ratio: auto; max-height: none; }

/* ---------- Industries & Work: cards hug their content (was min-height 450px) ---------- */
.elementor-17194 .elementor-element.elementor-element-a7c65dc,
.elementor-17194 .elementor-element.elementor-element-17a6e5e,
.elementor-17194 .elementor-element.elementor-element-5c56eff,
.elementor-17194 .elementor-element.elementor-element-ed769fb { --min-height: 0px; }

/* Industry Awards "Coming Soon" link: same spacing as "Discover Partnerships" */
.elementor-17194 .elementor-element.elementor-element-f96fa58 > .elementor-widget-container { margin-top: 0; }
/* equal-height cards, "View Project" pinned to the bottom with the card's 20px padding below it */
.elementor-17194 .elementor-element.elementor-element-3d0382f { --align-items: stretch; align-items: stretch; }
.elementor-17194 .elementor-element.elementor-element-354b0c0,
.elementor-17194 .elementor-element.elementor-element-66877df,
.elementor-17194 .elementor-element.elementor-element-483cfe5,
.elementor-17194 .elementor-element.elementor-element-727e414 { --flex-grow: 1; flex-grow: 1; }
.elementor-17194 .elementor-element.elementor-element-6fe1aae,
.elementor-17194 .elementor-element.elementor-element-b9b6858,
.elementor-17194 .elementor-element.elementor-element-2dfe087,
.elementor-17194 .elementor-element.elementor-element-4a9f99b { margin-top: auto; }

/* ---------- home: Smart Living / Aesthetics box backgrounds ---------- */
.elementor-25817 .elementor-element.elementor-element-d8210b5:not(.elementor-motion-effects-element-type-background), .elementor-25817 .elementor-element.elementor-element-d8210b5 > .elementor-motion-effects-container > .elementor-motion-effects-layer { background-image: url("/wp-content/uploads/2026/10/Solaira-Smart-Living.jpg"); }
.elementor-25817 .elementor-element.elementor-element-f3f37c2:not(.elementor-motion-effects-element-type-background), .elementor-25817 .elementor-element.elementor-element-f3f37c2 > .elementor-motion-effects-container > .elementor-motion-effects-layer { background-image: url("/wp-content/uploads/2026/10/Solaira-Aesthetics.jpg"); }

/* ---------- home: "Solaira Business Division" heading above the six boxes (same look as the Driving Healthcare heading) ---------- */
.elementor-25817 .elementor-element.elementor-element-5bd0c01 { --display: flex; --flex-direction: row; --justify-content: center; --align-items: stretch; --gap: 0px 0px; --row-gap: 0px; --column-gap: 0px; --padding-top: 120px; --padding-bottom: 0px; --padding-left: 0px; --padding-right: 0px; --z-index: 1; }
.elementor-25817 .elementor-element.elementor-element-5bd0c02 { --display: flex; --width: 100%; --padding-top: 0px; --padding-bottom: 0px; --padding-left: 90px; --padding-right: 90px; }
.elementor-25817 .elementor-element.elementor-element-5bd0c03 .neuros-heading { text-align: center; font-family: Sora, sans-serif; font-size: 50px; }
.elementor-25817 .elementor-element.elementor-element-5bd0c03 .neuros-subheading:not(:last-child) { margin-bottom: 1px; }
.elementor-25817 .elementor-element.elementor-element-5bd0c04 { text-align: center; font-family: Manrope, sans-serif; font-size: 17px; font-weight: 400; color: rgb(0, 0, 0); max-width: 1160px; margin: 24px auto 0; }
@media (min-width: 1025px) {
	.elementor-25817 .elementor-element.elementor-element-2965d4a { padding-top: 60px; }
}
@media (max-width: 1024px) {
	.elementor-25817 .elementor-element.elementor-element-5bd0c01 { --padding-top: 80px; }
	.elementor-25817 .elementor-element.elementor-element-5bd0c03 .neuros-heading { font-size: 35px; }
}
@media (max-width: 767px) {
	.elementor-25817 .elementor-element.elementor-element-5bd0c02 { --padding-left: 20px; --padding-right: 20px; }
}

/* ---------- green gradient on highlighted title words (per the Home design reference); .sol-grad-text for non-animated text ---------- */
.neuros-heading .neuros-heading-content.has_gradient_color_text del, .sol-grad-text { background-image: linear-gradient(90deg, #065b56 0%, #49a188 100%); -webkit-background-clip: text; background-clip: text; -webkit-text-fill-color: transparent; color: transparent; }

/* ---------- about us: replacement section background images ---------- */
.elementor-2324 .elementor-element.elementor-element-6e4089a:not(.elementor-motion-effects-element-type-background), .elementor-2324 .elementor-element.elementor-element-6e4089a > .elementor-motion-effects-container > .elementor-motion-effects-layer { background-image: url("/wp-content/uploads/2026/10/Built-for-a-Changing-World2.jpg"); }
.elementor-2324 .elementor-element.elementor-element-0ff0f40:not(.elementor-motion-effects-element-type-background), .elementor-2324 .elementor-element.elementor-element-0ff0f40 > .elementor-motion-effects-container > .elementor-motion-effects-layer { background-image: url("/wp-content/uploads/2026/10/Where-Healthcare-Meets-Intelligence2.jpg"); }
.elementor-2324 .elementor-element.elementor-element-28d9aa2:not(.elementor-motion-effects-element-type-background), .elementor-2324 .elementor-element.elementor-element-28d9aa2 > .elementor-motion-effects-container > .elementor-motion-effects-layer { background-image: url("/wp-content/uploads/2026/10/Technology2.jpg"); }

/* ---------- AI retina page: cloned "Maternal Health" column (copy of Corporate & Community Wellness) ---------- */
.elementor-450 .elementor-element.elementor-element-7a41c01 { --display: flex; --gap: 0px 0px; --row-gap: 0px; --column-gap: 0px; border-style: solid; --border-style: solid; border-width: 1px; --border-top-width: 1px; --border-right-width: 1px; --border-bottom-width: 1px; --border-left-width: 1px; border-color: rgb(255, 255, 255); --border-color: #FFFFFF; --border-radius: 25px 25px 25px 25px; --margin-top: 20px; --margin-bottom: 0px; --margin-left: 0px; --margin-right: 0px; --padding-top: 20px; --padding-bottom: 20px; --padding-left: 20px; --padding-right: 20px; }
.elementor-450 .elementor-element.elementor-element-7a41c02 { margin: 0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px; padding: 20px 0px; }
.elementor-450 .elementor-element.elementor-element-7a41c02 .elementor-heading-title { font-family: Sora, sans-serif; font-size: 30px; font-weight: 500; color: rgb(255, 255, 255); }
.elementor-450 .elementor-element.elementor-element-7a41c03 { font-family: Manrope, sans-serif; font-size: 17px; font-weight: 400; color: rgb(255, 255, 255); }
@media (max-width: 767px){
	.elementor-450 .elementor-element.elementor-element-7a41c02 { padding: 0px; }
	.elementor-450 .elementor-element.elementor-element-7a41c02 .elementor-heading-title { font-size: 25px; }
	.elementor-450 .elementor-element.elementor-element-7a41c03 { font-size: 17px; }
}

/* ---------- AI retina page: "AI-Powered Retinal Screening & Risk Assessment" section (copy of See Risk Earlier heading) ---------- */
/* Generated from solaira.my – do not edit by hand; edit custom.css */
.elementor-450 .elementor-element.elementor-element-7a41d01 { --display: flex; --margin-top: 100px; --margin-bottom: 100px; --margin-left: 0px; --margin-right: 0px; }
.elementor-450 .elementor-element.elementor-element-7a41d02 .neuros-heading { text-align: center; font-family: Sora, sans-serif; font-size: 50px; font-weight: 400; line-height: 1.3em; }
.elementor-450 .elementor-element.elementor-element-7a41d02 .neuros-subheading:not(:last-child) { margin-bottom: 2px; }
.elementor-450 .elementor-element.elementor-element-7a41d03 { margin: 040px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px; text-align: center; font-family: Manrope, sans-serif; font-size: 17px; font-weight: 500; color: rgb(0, 0, 0); }
@media (max-width: 767px){
	.elementor-450 .elementor-element.elementor-element-7a41d01 { --margin-top: 70px; --margin-bottom: 100px; --margin-left: 0px; --margin-right: 0px; --padding-top: 0px; --padding-bottom: 0px; --padding-left: 20px; --padding-right: 20px; }
	.elementor-450 .elementor-element.elementor-element-7a41d02 .neuros-heading { font-size: 35px; }
	.elementor-450 .elementor-element.elementor-element-7a41d03 { margin: 0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px; }
}
/* ---------- AI retina page: hero logos (Solaira mark / Airdoc) ---------- */
.elementor-23035 .elementor-element.elementor-element-e354b22 .page-title-container .page-title-logos { display: flex; align-items: center; gap: 16px; margin: 0px 0px 22px; line-height: 1; }
.elementor-23035 .elementor-element.elementor-element-e354b22 .page-title-container .page-title-logos img { margin: 0px; }
.elementor-23035 .elementor-element.elementor-element-e354b22 .page-title-container .page-title-logos .page-title-airdoc-logo { width: auto; height: 33px; align-self: center; }
.page-title-container .page-title-logos .page-title-logos-sep { font-family: Manrope, sans-serif; font-size: 40px; font-weight: 300; line-height: 1; color: rgb(255, 255, 255); }
.elementor-23035 .elementor-element.elementor-element-e354b22 .page-title-container h1.page-title { max-width: none; white-space: nowrap; }
@media (max-width: 375px) { .elementor-23035 .elementor-element.elementor-element-e354b22 .page-title-container h1.page-title { font-size: 31px; } }

/* ---------- AI retina page: AI-Powered Healthcare Solutions card images ---------- */
.elementor-450 .elementor-element.elementor-element-36d63e4:not(.elementor-motion-effects-element-type-background), .elementor-450 .elementor-element.elementor-element-36d63e4 > .elementor-motion-effects-container > .elementor-motion-effects-layer { background-image: url("/wp-content/uploads/2026/10/Category-AI-Fundus-Camera2.jpg"); }
.elementor-450 .elementor-element.elementor-element-68658c7:not(.elementor-motion-effects-element-type-background), .elementor-450 .elementor-element.elementor-element-68658c7 > .elementor-motion-effects-container > .elementor-motion-effects-layer { background-image: url("/wp-content/uploads/2026/10/Category-AI-Stress-Resilience-Monitor2.jpg.jpeg"); }

/* ---------- AI retina page: feature video ---------- */
.elementor-450 .e-con > .e-con-inner > .elementor-element.elementor-element-7a41d04 { flex: 0 0 auto; --container-widget-width: min(1470px, calc(100vw - 80px)); width: min(1470px, calc(100vw - 80px)); max-width: none; align-self: center; margin-top: 40px; }
.elementor-450 .elementor-element.elementor-element-7a41d04, .elementor-450 .elementor-element.elementor-element-7a41d04 > .elementor-widget-container { width: 100%; max-width: 100%; }
.elementor-450 .sol-feature-video { display: block; width: min(100%, calc((100vh - 180px) * 16 / 9)); max-height: calc(100vh - 180px); height: auto; margin: 0 auto; border-radius: 25px; background: #000; }

/* ---------- AI retina page: "Built for Real-World Healthcare" counters (65M+ | 42 Countries | 700+ Hospitals in one row) ---------- */
.elementor-450 .elementor-element.elementor-element-f7c2ef2 { width: 24%; }
.elementor-450 .elementor-element.elementor-element-f7c2ef2 > .elementor-widget-wrap { align-content: center; }
.elementor-450 .elementor-element.elementor-element-ba6abff, .elementor-450 .elementor-element.elementor-element-29b368b { width: 38%; }
.elementor-450 .elementor-element.elementor-element-d0673db .elementor-counter-number-wrapper { background-image: linear-gradient(90deg, #065b56 0%, #49a188 100%); }
.elementor-450 .elementor-element.elementor-element-d0673db { margin: 0px; }
.elementor-450 .elementor-element.elementor-element-8d33f1c > .e-con-inner, .elementor-450 .elementor-element.elementor-element-9b01341 > .e-con-inner { flex-direction: row; align-items: center; gap: 24px; }
.elementor-450 .elementor-element.elementor-element-8d33f1c, .elementor-450 .elementor-element.elementor-element-9b01341 { --margin-top: 0px; }
.elementor-450 .elementor-element.elementor-element-ed98ef4, .elementor-450 .elementor-element.elementor-element-30cf28b { width: 52.6%; flex-shrink: 0; }
.elementor-450 .elementor-element.elementor-element-75c6b4c, .elementor-450 .elementor-element.elementor-element-48b9669 { flex: 1 1 0; width: auto; min-width: 0; }
.elementor-450 .elementor-element.elementor-element-75c6b4c .elementor-counter, .elementor-450 .elementor-element.elementor-element-48b9669 .elementor-counter { flex-direction: column-reverse; align-items: center; text-align: center; }
@media (max-width: 1024px) {
	.elementor-450 .elementor-element.elementor-element-092dca0 { padding-left: 20px; padding-right: 20px; }
	.elementor-450 .elementor-element.elementor-element-092dca0 .elementor-row { flex-wrap: wrap; }
	.elementor-450 .elementor-element.elementor-element-f7c2ef2, .elementor-450 .elementor-element.elementor-element-ba6abff, .elementor-450 .elementor-element.elementor-element-29b368b { width: 100%; }
}
@media (min-width: 901px) and (max-width: 1024px) {
	.elementor-450 .elementor-element.elementor-element-ba6abff, .elementor-450 .elementor-element.elementor-element-29b368b { width: 50%; }
}
@media (max-width: 767px) {
	.elementor-450 .elementor-element.elementor-element-8d33f1c > .e-con-inner, .elementor-450 .elementor-element.elementor-element-9b01341 > .e-con-inner { flex-direction: column; }
	.elementor-450 .elementor-element.elementor-element-ed98ef4, .elementor-450 .elementor-element.elementor-element-30cf28b, .elementor-450 .elementor-element.elementor-element-75c6b4c, .elementor-450 .elementor-element.elementor-element-48b9669 { width: 100%; }
}

/* ---------- industries & work: three industry cards (Technology & AI Innovation removed) ---------- */
@media (min-width: 768px) {
	.elementor-17194 .elementor-element.elementor-element-a7c65dc, .elementor-17194 .elementor-element.elementor-element-17a6e5e, .elementor-17194 .elementor-element.elementor-element-ed769fb { --width: 29.5%; }
}

/* Tablet (768-1024px): use the hamburger/mobile header instead of the squeezed desktop menu. */
@media (min-width: 768px) and (max-width: 1024px) {
	.neuros-breakpoint-mobile .header-menu-container { display: none; }
	.neuros-breakpoint-mobile .menu-trigger, .neuros-breakpoint-mobile .mobile-header-menu-container { display: block; }
	.elementor-widget-site-logo.elementor-hidden-desktop.elementor-hidden-tablet { display: block !important; }
	.sticky-container-on .elementor-hidden-mobile { display: none !important; }
	.sticky-container-on .elementor-widget-site-logo img { width: 150px !important; }
	.sticky-container-on .elementor-inner-section .elementor-row { flex-wrap: nowrap; align-items: center; }
	.sticky-container-on .elementor-inner-section .elementor-row > .elementor-column { width: auto !important; min-width: 0; }
	.sticky-container-on .elementor-inner-section .elementor-row > .elementor-column:first-child { flex: 1 1 0; }
	.sticky-container-on .elementor-inner-section .elementor-row > .elementor-column:nth-child(2) { flex: 0 0 60px; width: 60px !important; }
	.sticky-container-on .elementor-inner-section .elementor-row > .elementor-column:first-child .elementor-widget-wrap { justify-content: flex-start; }
	.sticky-container-on .elementor-widget-neuros_navigation_menu { width: auto !important; }
	.sticky-container-on .elementor-widget-neuros_navigation_menu .menu-trigger { width: auto; }
	/* Home header (flex containers instead of columns) */
	.elementor-element.elementor-element-dc8b6f9 { flex-wrap: nowrap; padding: 20px 30px; }
	.elementor-element.elementor-element-2c445d3 { flex: 1 1 auto !important; width: auto !important; --width: auto; }
	.elementor-element.elementor-element-2c445d3 .elementor-widget-site-logo img { width: 150px !important; }
	.elementor-element.elementor-element-74ffd9a { flex: 0 0 auto !important; width: auto !important; --width: auto; flex-direction: row; justify-content: flex-end; align-items: center; }
	.elementor-element.elementor-element-74ffd9a .elementor-widget-neuros_navigation_menu { width: auto !important; }
	.elementor-element.elementor-element-82f1e48 { display: none !important; }
}
}

/* Round 2 -------------------------------------------------------------- */
/* Gradient highlight words (<del>) in letter-animated headings: the per-letter flex boxes and the
   word clip-path stop background-clip:text from painting, so the words vanished. Keep them inline until the per-letter gradient (main.js) has painted them; then they animate like the black words. */
.elementor-widget-neuros_heading .neuros-heading .neuros-heading-content del:not(.sol-grad-letters) .word { display: inline; clip-path: none; }
.elementor-widget-neuros_heading .neuros-heading .neuros-heading-content del:not(.sol-grad-letters) .word .letter { display: inline; opacity: 1; animation-fill-mode: backwards; }

/* WhatsApp floating button: slightly larger, same position and link. */
.wa-float-btn { width: 64px; height: 64px; }
.wa-float-btn svg { width: 35px; height: 35px; }
.wa-float-msg { right: 76px; bottom: 12px; }
@media (max-width: 1024px) {
	.wa-float-btn { width: 58px; height: 58px; }
	.wa-float-btn svg { width: 32px; height: 32px; }
	.wa-float-msg { right: 70px; bottom: 9px; }
}

/* position:sticky needs a non-scrolling ancestor: clip the horizontal overflow instead of hiding it
   (used by the About Us sticky image and stacked cards). */
.body-container { overflow: hidden; overflow: clip; }

/* ---------- case-study post media: full-width, uncropped images and videos ---------- */
.sol-post-body figure.wp-block-image, .sol-post-body figure.wp-block-video { margin: 30px 0 0; }
.sol-post-body figure.wp-block-image img, .sol-post-body figure.wp-block-video video { display: block; width: 100%; max-width: 100%; height: auto; }

/* case-study post images: balanced 2-column masonry (no cropping; tall photos pair with stacked short ones) */
.sol-post-body .sol-cs-gallery { column-count: 2; column-gap: 20px; margin-top: 30px; }
.sol-post-body .sol-cs-gallery figure.wp-block-image { margin: 0 0 20px; break-inside: avoid; }
@media (max-width: 480px) { .sol-post-body .sol-cs-gallery { column-count: 1; } }
.neuros-heading .neuros-heading-content del.sol-grad-letters { background-image: none !important; }
.neuros-heading .neuros-heading-content del.sol-grad-letters .letter { background-image: var(--sol-gi); background-size: var(--sol-gw) var(--sol-gh); background-position: var(--sol-gx) var(--sol-gy); background-repeat: repeat-y; padding: 0.2em 0; margin: -0.2em 0; -webkit-background-clip: text; background-clip: text; -webkit-text-fill-color: transparent; color: transparent; }

/* Paragraph text is 17px: widgets that carry no size of their own inherit it here; widget-specific sizes keep winning by specificity. */
.elementor-widget-text-editor, .elementor-widget-icon-box .elementor-icon-box-description, .elementor-widget-image-box .elementor-image-box-description { font-size: 17px; }

/* Case Studies cards (Case Studies page + Global Healthcare Partnerships "Our Work in Action"): one shared card style. */
:is(.elementor-33093, .elementor-29477) .sol-cs-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; width: 100%; }
:is(.elementor-33093, .elementor-29477) .sol-cs-card { display: flex; flex-direction: column; align-items: flex-start; background: #1f1f1f; color: #fff; border-radius: 22px; padding: 28px 28px 30px; box-sizing: border-box; }
:is(.elementor-33093, .elementor-29477) .sol-cs-tags { display: flex; flex-wrap: wrap; gap: 8px; margin: 0 0 26px; }
:is(.elementor-33093, .elementor-29477) .sol-cs-tag { display: inline-block; border: 1px solid rgba(255, 255, 255, 0.55); border-radius: 999px; padding: 7px 16px; font: 400 14px/1.2 Manrope, sans-serif; color: #fff; text-decoration: none; }
:is(.elementor-33093, .elementor-29477) .sol-cs-title { margin: 0 0 10px; font: 400 30px/1.15 Sora, sans-serif; letter-spacing: -0.02em; }
:is(.elementor-33093, .elementor-29477) .sol-cs-title a { color: #fff; text-decoration: none; }
:is(.elementor-33093, .elementor-29477) .sol-cs-excerpt { margin: 0 0 22px; font: 400 17px/1.45 Manrope, sans-serif; color: #fff; }
:is(.elementor-33093, .elementor-29477) .sol-cs-media { display: block; width: 100%; margin-top: auto; border-radius: 12px; overflow: hidden; }
:is(.elementor-33093, .elementor-29477) .sol-cs-media img { display: block; width: 100%; aspect-ratio: 8 / 5; height: auto; object-fit: cover; }
:is(.elementor-33093, .elementor-29477) .sol-cs-more { display: inline-block; margin-top: 26px; background: rgb(255, 87, 55); color: #fff; border-radius: 999px; padding: 12px 30px 12px 40px; font: 500 14px/1 Manrope, sans-serif; text-decoration: none; position: relative; }
:is(.elementor-33093, .elementor-29477) .sol-cs-more::before { content: "\203A"; position: absolute; left: 20px; top: 50%; transform: translateY(-52%); font-size: 18px; }
@media (max-width: 1024px) { :is(.elementor-33093, .elementor-29477) .sol-cs-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 767px) { :is(.elementor-33093, .elementor-29477) .sol-cs-grid { grid-template-columns: 1fr; } :is(.elementor-33093, .elementor-29477) .sol-cs-title { font-size: 26px; } }

/* Tags are labels only (no tag pages): hover effect, not a link. */
:is(.elementor-33093, .elementor-29477) .sol-cs-tag { cursor: default; transition: background-color 0.2s, color 0.2s, border-color 0.2s; }
:is(.elementor-33093, .elementor-29477) .sol-cs-tag:hover { background: #fff; color: #1f1f1f; border-color: #fff; }

/* Footer: policy links never break inside a link (Cookie Policy stays on one line); Email sits level with Social network on desktop. */
.elementor-23133 .elementor-element.elementor-element-dc04253 a { white-space: nowrap; }
@media (min-width: 1400px) {
	.elementor-23133 .elementor-element.elementor-element-cdcbe8c { width: 39%; }
	.elementor-23133 .elementor-element.elementor-element-020cff5 { width: 61%; }
	.elementor-23133 .elementor-element.elementor-element-dc04253 p { white-space: nowrap; }
}
/* Footer: the Contact and Location columns share four row tracks (title / phone-or-address / second title / content), so "Email" and "Social network" always sit on the same line whatever width the address wraps to. Laptop and desktop only (>= 1025px). */
@media (min-width: 1025px) {
	@supports not (grid-template-rows: subgrid) {
		.elementor-23133 .elementor-element.elementor-element-27e1e8b { margin-top: 137px; }
	}
	@supports (grid-template-rows: subgrid) {
		.elementor-23133 .elementor-element.elementor-element-ed67c5a > .elementor-container > .elementor-row { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); grid-template-rows: auto auto auto 1fr; }
		.elementor-23133 .elementor-element.elementor-element-ed67c5a > .elementor-container > .elementor-row > .elementor-column { width: auto; grid-row: 1 / span 4; }
		.elementor-23133 .elementor-element.elementor-element-b3448e2, .elementor-23133 .elementor-element.elementor-element-10df9f2 { display: grid; grid-template-rows: subgrid; }
		.elementor-23133 .elementor-element.elementor-element-b3448e2 > .elementor-widget-wrap, .elementor-23133 .elementor-element.elementor-element-10df9f2 > .elementor-widget-wrap { display: grid; grid-row: 1 / -1; grid-template-rows: subgrid; align-content: start; }
	}
}
/* Email addresses are mailto links that keep the surrounding text style. */
.elementor-23133 .elementor-element.elementor-element-c5ca504 a, .elementor-widget-text-editor a[href^="mailto:yvonnegym"] { color: inherit; text-decoration: inherit; }

/* Fonts: every title is Sora and every paragraph is Manrope. Only font-family is set here (the Elementor kit default, Roboto, was showing wherever a widget set no font; footer headings, Home feature headings and Home counter captions used Manrope/Sora). The PDPA lead paragraph is a heading widget on purpose and stays Manrope. */
.elementor-widget-heading .elementor-heading-title, .elementor-widget-icon-box .elementor-icon-box-title, .elementor-widget-icon-box .elementor-icon-box-title a, .elementor-widget-image-box .elementor-image-box-title, .elementor-widget-posts h3, .elementor-widget-posts h3 a, .elementor-widget-neuros_heading:not(.elementor-element-628137d) .neuros-heading, .elementor-widget-neuros_heading:not(.elementor-element-628137d) .neuros-heading-content, .neuros-heading.wpforms-widget-heading { font-family: Sora, sans-serif !important; }
.elementor-widget-text-editor p, .elementor-widget-text-editor li, .elementor-widget-posts p, .elementor-widget-counter .elementor-counter-title, .elementor-widget-counter p, .rai-vdesc li, .rai-vsubdesc li { font-family: Manrope, sans-serif !important; }

/* Fonts (font-family only): the footer/contact email link and the post-list dates and "Read More" links use Manrope. */
a[href^="mailto:yvonnegym"], .elementor-post__meta-data, .elementor-post-date, a.elementor-post__read-more { font-family: Manrope, sans-serif !important; }

/* Footer: full width (no left/right gap around the grey box) and 50px top margin to separate it from the content above. */
footer#colophon { margin-top: 50px; }
.elementor-23133 .elementor-element.elementor-element-74150fa { padding-left: 0; padding-right: 0; }

/* Home, mobile only (max-width 767px): section spacing tweaks and centred "Start a Conversation" button. */
@media (max-width: 767px) {
	.elementor-25817 .elementor-element.elementor-element-3871c56 { margin-top: 60px; }
	.elementor-25817 .elementor-element.elementor-element-7342c38 > .elementor-widget-container { margin-top: 40px; }
	.elementor-25817 .elementor-element.elementor-element-222dd20 { margin-top: 60px; }
	.elementor-25817 .elementor-element.elementor-element-2e57dec { --margin-top: 110px; }
	.elementor-25817 .elementor-element.elementor-element-9b93a25 .button-widget { text-align: center; }
}

/* Home hero, mobile only: the hero is overlapped 60px by the next section (margin-bottom -60px); stop the dark overlay at the visible bottom so it does not paint over that section. */
@media (max-width: 767px) {
	.elementor-25817 .elementor-element.elementor-element-7852db9::before { bottom: 60px; height: auto; }
}

/* Mobile only (max-width 767px): Industries & Work, Insights, Case Studies and Contact spacing/alignment tweaks. */
@media (max-width: 767px) {
	/* Industries & Work */
	.elementor-17194 .elementor-element.elementor-element-03ed331 { padding-left: 20px; padding-right: 20px; }
	.elementor-17194 .elementor-element.elementor-element-184b7b6 { padding-left: 20px; padding-right: 20px; }
	.elementor-17194 .elementor-element.elementor-element-77f6557 .button-widget,
	.elementor-17194 .elementor-element.elementor-element-c9aa08e .button-widget,
	.elementor-17194 .elementor-element.elementor-element-f96fa58 .button-widget,
	.elementor-17194 .elementor-element.elementor-element-68fbb90 .button-widget { text-align: center; }

	/* Insights */
	.elementor-25736 .elementor-element.elementor-element-7df0c3e { --padding-top: 80px; --padding-left: 10px; --padding-right: 10px; padding-top: 80px; padding-left: 10px; padding-right: 10px; }
	.elementor-25736 .elementor-element.elementor-element-0c5c7fd,
	.elementor-25736 .elementor-element.elementor-element-0296bd9 { flex-direction: column; align-items: flex-start; }
	.elementor-25736 .elementor-element.elementor-element-128b2f3,
	.elementor-25736 .elementor-element.elementor-element-af5339a { width: 100%; }

	/* Case Studies: 20px side gutters for every section (title, paragraph, post boxes) */
	.elementor-33093 .elementor-element.elementor-element-c81f524,
	.elementor-33093 .elementor-element.elementor-element-469586e,
	.elementor-33093 .elementor-element.elementor-element-35b4686 { --padding-left: 20px; --padding-right: 20px; padding-left: 20px; padding-right: 20px; }
	.elementor-33093 .elementor-element.elementor-element-c81f524 .e-con,
	.elementor-33093 .elementor-element.elementor-element-469586e .e-con,
	.elementor-33093 .elementor-element.elementor-element-35b4686 .e-con { --padding-left: 0px; --padding-right: 0px; padding-left: 0; padding-right: 0; }

	/* Contact: full-width map */
	.elementor-71 .elementor-element.elementor-element-7addf49 { padding-left: 0; padding-right: 0; margin-left: -20px; margin-right: -20px; width: calc(100% + 40px); max-width: none; }
}

/* Mobile only (max-width 767px): AI Retina, Stress and Smarter Myopia tweaks. */
@media (max-width: 767px) {
	/* AI Retina: video 20px from the screen edges; 65M+ centred like the other two counters; CTA bottom padding 120px -> 70px */
	.elementor-450 .e-con > .e-con-inner > .elementor-element.elementor-element-7a41d04 { --container-widget-width: calc(100vw - 40px); width: calc(100vw - 40px); }
	.elementor-450 .elementor-element.elementor-element-d0673db { width: 100%; }
	.elementor-450 .elementor-element.elementor-element-d0673db .elementor-counter { align-items: center; text-align: center; }
	.elementor-450 .elementor-element.elementor-element-d0673db .elementor-counter-number-wrapper { justify-content: center; }
	.elementor-450 .elementor-element.elementor-element-d0673db .elementor-counter-title { text-align: center; }
	.elementor-450 .elementor-element.elementor-element-f8c3cc2 { --padding-bottom: 70px; padding-bottom: 70px; }

	/* Stress: CTA bottom padding 120px -> 70px */
	.elementor-29552 .elementor-element.elementor-element-f1f84ff { --padding-bottom: 70px; padding-bottom: 70px; }

	/* Smarter Myopia: the three safety stats in one row; extra 20px under the CTA so the stopped floating tab bar sits 20px lower, away from the "Talk to Solaira" button */
	.elementor-29554 .elementor-element.elementor-element-d3a0b03 { flex-wrap: nowrap; gap: 8px; margin-left: -12px; margin-right: -12px; width: calc(100% + 24px); max-width: none; --padding-left: 0px; --padding-right: 0px; padding-left: 0; padding-right: 0; }
	.elementor-29554 .elementor-element.elementor-element-d3a0b03 .sol-stat { flex: 1 1 0; min-width: 0; }
	.elementor-29554 .elementor-element.elementor-element-d3a0b03 .sol-stat strong { font-size: 25px; line-height: 1.2; width: auto; }
	.elementor-29554 .elementor-element.elementor-element-d3a0b03 .sol-stat span { font-size: 13px; line-height: 1.3; width: auto; }
	.elementor-29554 .elementor-element.elementor-element-b4db074 { --padding-bottom: 140px; padding-bottom: 140px; }
}

/* Mobile only (max-width 767px): Insights "View All" buttons aligned left; Case Studies post cards 20px from the screen edges. */
@media (max-width: 767px) {
	.elementor-25736 .elementor-element.elementor-element-d23f082,
	.elementor-25736 .elementor-element.elementor-element-613d33a { align-self: flex-start; }
	.elementor-25736 .elementor-element.elementor-element-d23f082 .button-widget,
	.elementor-25736 .elementor-element.elementor-element-613d33a .button-widget { text-align: left; }
	.elementor-33093 .sol-cs-grid { padding-left: 20px; padding-right: 20px; box-sizing: border-box; }
}

/* Home hero slider, mobile only: exactly one viewport tall. The container has -60px top/bottom margins and sits 20px under the page top, so +100px makes the next section start at the bottom of the screen (svh = height with the browser toolbar shown). */
@media (max-width: 767px) {
	.elementor-25817 .elementor-element.elementor-element-7852db9 { --min-height: calc(100vh - var(--sol-hdr, 81px) + 60px); min-height: calc(100vh - var(--sol-hdr, 81px) + 60px); }
	@supports (height: 100lvh) {
		.elementor-25817 .elementor-element.elementor-element-7852db9 { --min-height: calc(max(100lvh, var(--sol-scr, 0px)) - var(--sol-hdr, 81px) + 20px); min-height: calc(max(100lvh, var(--sol-scr, 0px)) - var(--sol-hdr, 81px) + 20px); }
	}
	/* text block: 300px from the top on tall phones, less on short ones so the button never ends up under the next section */
	.elementor-25817 .elementor-element.elementor-element-086d39c { --margin-top: calc(clamp(0px, calc(100vh - 640px), 300px) + 50px); }
	@supports (height: 100svh) {
		.elementor-25817 .elementor-element.elementor-element-086d39c { --margin-top: calc(clamp(0px, calc(100svh - 640px), 300px) + 50px); }
	}
	/* slide 1 (Beyond Marketing) only: slightly darker overlay */
	.elementor-25817 .elementor-element.elementor-element-7852db9[data-sol-slide="0"]::before { background-image: linear-gradient(180deg, rgba(0, 0, 0, 0.09) 0%, rgba(0, 0, 0, 0.42) 30%, rgba(0, 0, 0, 0.83) 60%, rgba(0, 0, 0, 0.92) 100%); }
	/* slide 1 (Beyond Marketing) only: a further 20px lower; slide 2 keeps its position */
	.elementor-25817 .elementor-element.elementor-element-7852db9[data-sol-slide="0"] .elementor-element.elementor-element-086d39c { --margin-top: calc(clamp(0px, calc(100vh - 640px), 300px) + 80px); }
	@supports (height: 100svh) {
		.elementor-25817 .elementor-element.elementor-element-7852db9[data-sol-slide="0"] .elementor-element.elementor-element-086d39c { --margin-top: calc(clamp(0px, calc(100svh - 640px), 300px) + 80px); }
	}
}

/* Home hero (desktop): header bar + hero fill exactly one screen (the next section overlaps the hero by 60px, the header height comes from --sol-hdr, set in main.js). */
@media (min-width: 1025px) {
	.elementor-25817 .elementor-element.elementor-element-a88867c { --min-height: max(560px, calc(100vh - var(--sol-hdr, 122px) + 60px)); min-height: max(560px, calc(100vh - var(--sol-hdr, 122px) + 60px)); }
}

/* Home hero (desktop): the next section overlaps the hero by 60px; end the dark overlay and the slides at the visible bottom so the hero does not show past the screen. */
@media (min-width: 1025px) {
	.elementor-25817 .elementor-element.elementor-element-a88867c::before { bottom: 60px; height: auto; background-image: linear-gradient(180deg, rgba(0, 0, 0, 0) 20%, #000 85%); opacity: 0.65; }
	.elementor-25817 .elementor-element.elementor-element-a88867c > .sol-bg-slideshow { bottom: 60px; height: auto; }
	/* slide title + paragraph + button: anchored 30px above the visible bottom of the hero (was a fixed 365px top margin that pushed it to the bottom edge) */
	.elementor-25817 .elementor-element.elementor-element-927c66b { --margin-top: 0px; --margin-bottom: 90px; margin-top: 0; margin-bottom: 90px; --align-self: flex-end; align-self: flex-end; }
	/* slide 2 title ("Redefining Preventive Healthcare Through AI.") is wide: 40px more space between the title and the paragraph */
	.elementor-25817 .elementor-element.elementor-element-bd02e1d { margin-left: 40px; flex-shrink: 0; }
}
@media (min-width: 1025px) and (max-width: 1600px) {
	/* on laptop widths the row has no spare room, so the paragraph column is a little narrower (the title keeps its full width) */
	.elementor-25817 .elementor-element.elementor-element-bd02e1d { width: 456px; flex: 0 0 456px; }
}

/* "6 Countries" outlined 6 (Home and Global Healthcare Partnerships): green gradient outline (same colours as the green words) instead of red-to-blue; the fill stays white. */
.elementor-25817 .elementor-element.elementor-element-37b86f7 .elementor-counter-number-wrapper,
.elementor-29477 .elementor-element.elementor-element-37b86f7 .elementor-counter-number-wrapper { background-image: linear-gradient(90deg, #065b56 0%, #49a188 100%); }
@media (min-width: 1601px) {
	.elementor-25817 .elementor-element.elementor-element-bd02e1d { margin-left: 80px; }
}

/* Home "Regional Expertise Across 6 Strategic Markets": the outlined 6 also gets the green gradient outline (white fill kept). */
.elementor-25817 .elementor-element.elementor-element-825e831 .elementor-counter-number-wrapper { background-image: linear-gradient(90deg, #065b56 0%, #49a188 100%); }

/* Home hero (mobile only): the photo fills the whole hero (cover) with a lighter overlay that gets darker toward the text at the bottom. */
@media (max-width: 767px) {
	.elementor-25817 .elementor-element.elementor-element-7852db9 .sol-bg-slide { background-color: #000; background-size: cover; background-position: 45% 0; background-repeat: no-repeat; }
	.elementor-25817 .elementor-element.elementor-element-7852db9::before { background-image: linear-gradient(180deg, rgba(0, 0, 0, 0.05) 0%, rgba(0, 0, 0, 0.3) 30%, rgba(0, 0, 0, 0.72) 60%, rgba(0, 0, 0, 0.84) 100%); opacity: 1; }
}

/* Mobile only: the page hero banners (every page except Home, which has its own slider) run the full width of the screen instead of sitting inside a 30px margin. */
@media (max-width: 767px) {
	header .elementor-inner-section:has(.page-title-container) { padding-left: 0 !important; padding-right: 0 !important; }
	header .elementor-inner-section:has(.page-title-container) .elementor-row { margin-left: 0 !important; margin-right: 0 !important; }
	header .elementor-inner-section:has(.page-title-container) .elementor-widget-wrap.elementor-element-populated { padding-left: 0 !important; padding-right: 0 !important; }
	header .page-title-container, header .page-title-container .page-title-bg { border-radius: 0 !important; }
}

/* Home "Proven Impact" dark block: both top corners 25px (the upper right was square). */
.elementor-25817 .elementor-element.elementor-element-b8b2064 { --border-radius: 25px 25px 0 0; border-radius: 25px 25px 0 0; }

/* What We Do "Powered by Strategic Media Reach": 40px more space between the image and the title/paragraph (side-by-side layout only). */
@media (min-width: 1025px) {
	.elementor-3486 .elementor-element.elementor-element-2789201 > .elementor-widget-wrap { padding-left: 50px; }
}

/* What We Do "Powered by Strategic Media Reach", wide screens only (>1440px): the block keeps the laptop proportions (about 42px side margins) instead of staying a fixed 1340px box. */
@media (min-width: 1441px) {
	.elementor-3486 .elementor-element.elementor-element-2ee827f > .elementor-container { max-width: calc(100% - 85px); }
	.elementor-3486 .elementor-element.elementor-element-2ee827f img { height: auto; aspect-ratio: 660 / 486; }
	.elementor-3486 .elementor-element.elementor-element-2789201 p { font-size: 17px; }
}

/* Paragraphs 18px on laptop and desktop only (>= 1025px); tablet and mobile keep their sizes. */
@media (min-width: 1025px) {
	.elementor-25817 .elementor-element.elementor-element-5bd0c04 { font-size: 18px; }
	.elementor-450 .elementor-element.elementor-element-7a41c03 { font-size: 18px; }
	.elementor-450 .elementor-element.elementor-element-7a41d03 { font-size: 18px; }
	.elementor-widget-text-editor, .elementor-widget-icon-box .elementor-icon-box-description, .elementor-widget-image-box .elementor-image-box-description { font-size: 18px; }
}
@media (min-width: 1441px) and (min-width: 1025px) {
	.elementor-3486 .elementor-element.elementor-element-2789201 p { font-size: 18px; }
}
@media (min-width: 1025px) {
	:is(.elementor-33093, .elementor-29477) .sol-cs-excerpt { font-size: 18px; }
}

/* Premium black-glass pills (AI Retinal "From One Image...", Stress "From Assessment to Action", Myopia journey): glossy black body, glass rim, curved top reflection, soft depth; white wording. */
.elementor-450 .elementor-element.elementor-element-c8f9942:not(.elementor-motion-effects-element-type-background),
.elementor-450 .elementor-element.elementor-element-ed05eda:not(.elementor-motion-effects-element-type-background),
.elementor-450 .elementor-element.elementor-element-019938c:not(.elementor-motion-effects-element-type-background),
.elementor-450 .elementor-element.elementor-element-162e2c1:not(.elementor-motion-effects-element-type-background),
.elementor-450 .elementor-element.elementor-element-42aedcd:not(.elementor-motion-effects-element-type-background),
.elementor-29552 .elementor-element.elementor-element-eb4ec0a:not(.elementor-motion-effects-element-type-background),
.elementor-29552 .elementor-element.elementor-element-994d6c4:not(.elementor-motion-effects-element-type-background),
.elementor-29552 .elementor-element.elementor-element-0ffd1bf:not(.elementor-motion-effects-element-type-background),
.elementor-29552 .elementor-element.elementor-element-471d2ac:not(.elementor-motion-effects-element-type-background),
.elementor-29552 .elementor-element.elementor-element-141fd9a:not(.elementor-motion-effects-element-type-background),
.elementor-29554 .elementor-element.elementor-element-0eb5f10:not(.elementor-motion-effects-element-type-background),
.elementor-29554 .elementor-element.elementor-element-a990239:not(.elementor-motion-effects-element-type-background),
.elementor-29554 .elementor-element.elementor-element-06c003e:not(.elementor-motion-effects-element-type-background),
.elementor-29554 .elementor-element.elementor-element-3b68a8b:not(.elementor-motion-effects-element-type-background) {
	background-color: #050505;
	background-image: radial-gradient(ellipse 72% 55% at 50% 118%, rgba(255, 255, 255, 0.17) 0%, rgba(255, 255, 255, 0) 70%), linear-gradient(180deg, #505050 0%, #2c2c2c 38%, #121212 74%, #1e1e1e 100%);
	border-color: #080808;
	box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.55), inset 0 0 0 1px rgba(255, 255, 255, 0.06), inset 0 0 16px rgba(255, 255, 255, 0.05), inset 0 -8px 14px rgba(0, 0, 0, 0.32), inset 0 -1px 0 rgba(255, 255, 255, 0.14), 0 0 0 1px rgba(0, 0, 0, 0.35), 0 12px 24px rgba(0, 0, 0, 0.3), 0 3px 6px rgba(0, 0, 0, 0.28);
}
.elementor-450 .elementor-element.elementor-element-c8f9942:not(.elementor-motion-effects-element-type-background)::before,
.elementor-450 .elementor-element.elementor-element-ed05eda:not(.elementor-motion-effects-element-type-background)::before,
.elementor-450 .elementor-element.elementor-element-019938c:not(.elementor-motion-effects-element-type-background)::before,
.elementor-450 .elementor-element.elementor-element-162e2c1:not(.elementor-motion-effects-element-type-background)::before,
.elementor-450 .elementor-element.elementor-element-42aedcd:not(.elementor-motion-effects-element-type-background)::before,
.elementor-29552 .elementor-element.elementor-element-eb4ec0a:not(.elementor-motion-effects-element-type-background)::before,
.elementor-29552 .elementor-element.elementor-element-994d6c4:not(.elementor-motion-effects-element-type-background)::before,
.elementor-29552 .elementor-element.elementor-element-0ffd1bf:not(.elementor-motion-effects-element-type-background)::before,
.elementor-29552 .elementor-element.elementor-element-471d2ac:not(.elementor-motion-effects-element-type-background)::before,
.elementor-29552 .elementor-element.elementor-element-141fd9a:not(.elementor-motion-effects-element-type-background)::before,
.elementor-29554 .elementor-element.elementor-element-0eb5f10:not(.elementor-motion-effects-element-type-background)::before,
.elementor-29554 .elementor-element.elementor-element-a990239:not(.elementor-motion-effects-element-type-background)::before,
.elementor-29554 .elementor-element.elementor-element-06c003e:not(.elementor-motion-effects-element-type-background)::before,
.elementor-29554 .elementor-element.elementor-element-3b68a8b:not(.elementor-motion-effects-element-type-background)::before {
	content: "";
	position: absolute;
	top: 2px;
	left: 3%;
	right: 3%;
	width: auto;
	height: 52%;
	opacity: 1;
	border-radius: 100px 100px 60% 60% / 100px 100px 55% 55%;
	background: radial-gradient(ellipse 30% 42% at 17% 24%, rgba(255, 255, 255, 0.34) 0%, rgba(255, 255, 255, 0) 72%), linear-gradient(180deg, rgba(255, 255, 255, 0.45) 0%, rgba(255, 255, 255, 0.16) 46%, rgba(255, 255, 255, 0.04) 78%, rgba(255, 255, 255, 0) 100%);
	filter: blur(0.6px);
	pointer-events: none;
	z-index: 0;
}
.elementor-450 .elementor-element.elementor-element-9ba4205,
.elementor-450 .elementor-element.elementor-element-3e9144a,
.elementor-450 .elementor-element.elementor-element-77fde76,
.elementor-450 .elementor-element.elementor-element-4c6f45d,
.elementor-450 .elementor-element.elementor-element-9242ff6,
.elementor-29552 .elementor-element.elementor-element-ee26c63,
.elementor-29552 .elementor-element.elementor-element-d037342,
.elementor-29552 .elementor-element.elementor-element-4c25378,
.elementor-29552 .elementor-element.elementor-element-bbdcd0f,
.elementor-29552 .elementor-element.elementor-element-df8dcd4,
.elementor-29554 .elementor-element.elementor-element-2a727df,
.elementor-29554 .elementor-element.elementor-element-8431b47,
.elementor-29554 .elementor-element.elementor-element-4654d2f,
.elementor-29554 .elementor-element.elementor-element-74ce000,
.elementor-450 .elementor-element.elementor-element-9ba4205 p,
.elementor-450 .elementor-element.elementor-element-3e9144a p,
.elementor-450 .elementor-element.elementor-element-77fde76 p,
.elementor-450 .elementor-element.elementor-element-4c6f45d p,
.elementor-450 .elementor-element.elementor-element-9242ff6 p,
.elementor-29552 .elementor-element.elementor-element-ee26c63 p,
.elementor-29552 .elementor-element.elementor-element-d037342 p,
.elementor-29552 .elementor-element.elementor-element-4c25378 p,
.elementor-29552 .elementor-element.elementor-element-bbdcd0f p,
.elementor-29552 .elementor-element.elementor-element-df8dcd4 p,
.elementor-29554 .elementor-element.elementor-element-2a727df p,
.elementor-29554 .elementor-element.elementor-element-8431b47 p,
.elementor-29554 .elementor-element.elementor-element-4654d2f p,
.elementor-29554 .elementor-element.elementor-element-74ce000 p { position: relative; z-index: 1; color: #fff; text-shadow: 0 1px 2px rgba(0, 0, 0, 0.7); }

/* Industries & Work, "Industry Expertise. Strategic Growth. Measurable Impact." paragraph: more left/right padding so it wraps into two balanced lines on laptop and desktop (>= 1025px). */
@media (min-width: 1025px) {
	.elementor-17194 .elementor-element.elementor-element-03ed331 { padding-left: max(20px, calc((100% - 900px) / 2)); padding-right: max(20px, calc((100% - 900px) / 2)); }
	.elementor-17194 .elementor-element.elementor-element-03ed331 p { text-wrap: balance; }
}

/* Blog posts: numbered lists keep their numbers inside the text column. */
.single-post .post-content ol { padding-left: 28px; }
.single-post .post-content ol li { padding-left: 6px; margin-bottom: 8px; }

/* Blog article: four image cards, Key Takeaways with icons, full-width figure. */
.single-post .post-content .sol-art-cards { display: grid; grid-template-columns: repeat(4, 1fr); gap: 16px; margin: 30px 0 34px; }
.single-post .post-content .sol-art-card { background: linear-gradient(180deg, #eef7ee 0%, #fbfdfb 100%); border: 1px solid #dcebdc; border-radius: 16px; padding: 10px 10px 18px; }
.single-post .post-content .sol-art-card img { display: block; width: 100%; height: auto; aspect-ratio: 1000 / 550; object-fit: cover; border-radius: 10px; }
.single-post .post-content .sol-art-card h4 { margin: 14px 4px 8px; font-family: Sora, sans-serif; font-size: 17px; font-weight: 600; line-height: 1.3; color: #111; }
.single-post .post-content .sol-art-card p { margin: 0 4px; font-size: 15px; line-height: 1.5; }
.single-post .post-content ul.sol-art-takeaways { margin: 20px 0 34px; padding: 6px 28px; background: linear-gradient(180deg, #eef7ee 0%, #fbfdfb 100%); border: 1px solid #dcebdc; border-radius: 20px; list-style: none; }
.single-post .post-content ul.sol-art-takeaways li { display: flex; align-items: center; gap: 22px; padding: 18px 0; border-bottom: 1px solid #dcebdc; }
.single-post .post-content ul.sol-art-takeaways li:last-child { border-bottom: 0; }
.single-post .post-content ul.sol-art-takeaways li::before { content: none; display: none; }
.single-post .post-content ul.sol-art-takeaways li img { flex: 0 0 60px; width: 60px; height: 60px; }
.single-post .post-content figure.sol-art-figure { margin: 10px 0 34px; }
.single-post .post-content figure.sol-art-figure img { display: block; width: 100%; height: auto; border-radius: 16px; }
@media (max-width: 1024px) { .single-post .post-content .sol-art-cards { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 560px) { .single-post .post-content .sol-art-cards { grid-template-columns: 1fr; } .single-post .post-content ul.sol-art-takeaways { padding: 4px 18px; } .single-post .post-content ul.sol-art-takeaways li { gap: 16px; } }

/* Footer: Company/Services menus sit 20px under their heading (same as Our Location); single-column lists without CSS columns (Safari draws column-count:1 lists up into the heading). */
.elementor-23133 .elementor-element.elementor-element-d35c80d,
.elementor-23133 .elementor-element.elementor-element-dc9446f { margin-top: 12px; }
.elementor-23133 .elementor-element.elementor-element-d35c80d ul,
.elementor-23133 .elementor-element.elementor-element-dc9446f ul { column-count: auto; columns: auto; }

/* "Why Solaira" (home) and "Our Work" (Industries & Work): cards in a row share one height and the icon sits at the bottom, so all icons line up. */
@media (min-width: 768px) {
	.elementor-element.elementor-element-d39e2a2,
	.elementor-element.elementor-element-c82dd74 { align-items: stretch; }
	.elementor-element-d39e2a2 > .e-con > .elementor-position-block-end,
	.elementor-element-c82dd74 > .e-con > .elementor-position-block-end { flex-grow: 1; display: flex; flex-direction: column; }
	.elementor-element-d39e2a2 > .e-con > .elementor-position-block-end > .elementor-icon-box-wrapper,
	.elementor-element-c82dd74 > .e-con > .elementor-position-block-end > .elementor-icon-box-wrapper { flex-grow: 1; justify-content: space-between; }
}
