/* Homepage refinements deliberately exclude both original hero sections. */
.elementor-7 > .elementor-section:not(.elementor-element-b55a876):not(.elementor-element-4a0bb30) { --home-gold: #c9a34a; }
.elementor-7 :is(.elementor-element-b57bdc1,.elementor-element-128d6bc,.elementor-element-98f7610,.elementor-element-e6508b1,.elementor-element-3119fb1,.elementor-element-709b1a1,.elementor-element-6ba5cc8,.elementor-element-1241b2c,.elementor-element-b262d1d,.elementor-element-691d596) :is(h1,h2,h3,.elementor-flip-box__layer__title) { text-transform: capitalize !important; font-weight: 500 !important; letter-spacing: -.025em; line-height: 1.3 !important; }
.elementor-7 :is(.elementor-element-b57bdc1,.elementor-element-128d6bc) { padding: 72px 32px !important; }
.elementor-7 :is(.elementor-element-d04b1fc,.elementor-element-a04b887) > .elementor-widget-wrap { border: 1px solid #e3d5b7 !important; border-radius: 20px !important; background: #f8f5ee; padding: 44px !important; }
.elementor-7 :is(.elementor-element-fa46edf,.elementor-element-96408e4) > .elementor-container { align-items: center; gap: 40px; }
.elementor-7 :is(.elementor-element-942ece6,.elementor-element-25c77ce) h2 { font-size: clamp(28px,3vw,42px) !important; }
.elementor-7 .elementor-blockquote { border-left: 2px solid #c9a34a; padding-left: 22px; }
.elementor-7 .elementor-blockquote__content { font-size: 16px !important; line-height: 1.9 !important; color: #555 !important; font-style: normal; }
.elementor-7 :is(.elementor-element-98f7610,.elementor-element-709b1a1) { padding: 56px 24px 24px !important; }
.elementor-7 :is(.elementor-element-e6508b1,.elementor-element-3119fb1) > .elementor-container { max-width: 1180px !important; gap: 28px; }
.elementor-7 :is(.elementor-element-e6508b1,.elementor-element-3119fb1) { padding: 12px 32px 20px !important; }
.elementor-7 :is(.elementor-element-e6508b1,.elementor-element-3119fb1) > .elementor-container > .elementor-column { flex: 1; min-width: 0; }
.elementor-7 :is(.elementor-element-e6508b1,.elementor-element-3119fb1) > .elementor-container > .elementor-column > .elementor-widget-wrap { padding: 12px 12px 24px !important; border: 1px solid #e9e0ce; border-radius: 18px; background: #fff; box-shadow: 0 8px 28px #30220b08; }
.elementor-7 :is(.elementor-element-e6508b1,.elementor-element-3119fb1) .elementor-flip-box__front { background-size: contain !important; background-repeat: no-repeat !important; background-color: #f7f3eb !important; }
.elementor-7 :is(.elementor-element-e6508b1,.elementor-element-3119fb1) .elementor-flip-box { border-radius: 12px; overflow: hidden; }
.elementor-7 :is(.elementor-element-e6508b1,.elementor-element-3119fb1) .elementor-heading-title { font-size: 20px !important; min-height: 52px; display: flex; justify-content: center; align-items: center; }
.elementor-7 :is(.elementor-element-6ba5cc8,.elementor-element-1241b2c) { padding: 64px 40px !important; }
.elementor-7 .elementor-element-6ba5cc8 > .elementor-container { max-width: 1120px !important; align-items: center; gap: 64px; }
.elementor-7 .elementor-element-6ba5cc8 .elementor-widget-text-editor { font-size: 16px !important; line-height: 1.9; color: #555; }
.elementor-7 .elementor-element-31293e3 img { width: 360px !important; max-width: 100%; height: auto !important; border-radius: 16px !important; border-width: 4px !important; object-fit: contain !important; }
.elementor-7 .elementor-element-32f5e8f h2 { font-size: clamp(28px,3vw,38px) !important; }
.elementor-7 .elementor-element-1241b2c { background: #f6f2e9 !important; }
.elementor-7 .elementor-element-1241b2c > .elementor-container { max-width: 1120px !important; align-items: center; }
.elementor-7 .elementor-element-1241b2c .elementor-widget-text-editor { font-size: 16px !important; line-height: 1.85; }
.elementor-7 .elementor-element-b262d1d { padding-top: 48px !important; background: #f6f2e9 !important; }
.elementor-7 .elementor-element-32167e2 { padding: 16px 32px 56px !important; background: #f6f2e9 !important; }
.elementor-7 .elementor-element-32167e2 .elementor-container { max-width: 1000px !important; }
.elementor-7 .elementor-element-691d596 { padding: 32px 24px !important; background: #fff !important; }
@media(max-width:767px) {
 .elementor-7 :is(.elementor-element-b57bdc1,.elementor-element-128d6bc,.elementor-element-6ba5cc8,.elementor-element-1241b2c) { padding: 40px 24px !important; }
 .elementor-7 :is(.elementor-element-d04b1fc,.elementor-element-a04b887) > .elementor-widget-wrap { padding: 24px !important; }
 .elementor-7 :is(.elementor-element-fa46edf,.elementor-element-96408e4,.elementor-element-6ba5cc8) > .elementor-container { gap: 28px; }
 .elementor-7 :is(.elementor-element-e6508b1,.elementor-element-3119fb1) > .elementor-container { flex-direction: column; gap: 24px; }
 .elementor-7 :is(.elementor-element-e6508b1,.elementor-element-3119fb1) > .elementor-container > .elementor-column { width: 100% !important; }
}
.elementor-7 :is(.elementor-element-e6508b1,.elementor-element-3119fb1) .elementor-flip-box { height: auto !important; aspect-ratio: 1000 / 667; }
.elementor-7 :is(.elementor-element-b57bdc1,.elementor-element-128d6bc) blockquote p { font-size: 16px !important; line-height: 1.85 !important; font-style: normal !important; }
.elementor-7 .elementor-element-e7a5201 .elementor-flip-box { aspect-ratio: 1000 / 678; }
.elementor-7 .elementor-element-b5ccb0d .elementor-flip-box { aspect-ratio: 1000 / 666; }
.elementor-7 .elementor-element-f70d75d .elementor-flip-box { aspect-ratio: 1000 / 664; }

/* Full-width sections with compact, responsive inner gutters. */
main.site-main:has(.elementor-7) { width: 100%; max-width: none; margin: 0; }
.elementor-7 > .elementor-section { width: 100% !important; left: 0 !important; margin-left: 0 !important; margin-right: 0 !important; }
.elementor-7 :is(.elementor-element-b55a876,.elementor-element-4a0bb30) { padding-left: 0 !important; padding-right: 0 !important; }
.elementor-7 :is(.elementor-element-b55a876,.elementor-element-4a0bb30) > .elementor-container { max-width: none !important; width: 100%; }
.elementor-7 > .elementor-section:not(.elementor-element-b55a876):not(.elementor-element-4a0bb30) > .elementor-container { max-width: none !important; width: 100%; }
.elementor-7 :is(.elementor-element-b57bdc1,.elementor-element-128d6bc,.elementor-element-6ba5cc8,.elementor-element-1241b2c) { padding: 48px clamp(20px, 3vw, 56px) !important; }
.elementor-7 :is(.elementor-element-e6508b1,.elementor-element-3119fb1) { padding: 16px clamp(20px, 3vw, 56px) !important; background: #faf8f3; }
.elementor-7 :is(.elementor-element-98f7610,.elementor-element-709b1a1) { padding-top: 40px !important; background: #faf8f3; }
.elementor-7 .elementor-element-6ba5cc8 { background: linear-gradient(115deg, #f6f2e9, #fff 75%) !important; }
.elementor-7 :is(.elementor-element-b57bdc1,.elementor-element-128d6bc) { background: linear-gradient(135deg,#fff,#f6f2e9) !important; }
.elementor-7 .elementor-element-6ba5cc8 > .elementor-container > .elementor-column { min-width: 0; flex: 1; }
.elementor-7 .elementor-element-6ba5cc8 > .elementor-container { gap: 40px; }
.elementor-7 .elementor-element-32167e2 { padding-left: clamp(20px,3vw,56px) !important; padding-right: clamp(20px,3vw,56px) !important; }
/* Both faces participate in sizing, so the longest description sets the height. */
.elementor-7 :is(.elementor-element-e6508b1,.elementor-element-3119fb1) .elementor-flip-box { display: grid; height: auto !important; min-height: 300px; aspect-ratio: auto; overflow: visible; }
.elementor-7 :is(.elementor-element-e6508b1,.elementor-element-3119fb1) .elementor-flip-box__layer { position: relative !important; grid-area: 1 / 1; height: auto !important; min-height: 300px; border-radius: 12px; }
.elementor-7 :is(.elementor-element-e6508b1,.elementor-element-3119fb1) .elementor-flip-box__layer__overlay { position: relative !important; height: 100%; padding: 24px !important; display: flex; align-items: center; }
.elementor-7 :is(.elementor-element-e6508b1,.elementor-element-3119fb1) .elementor-flip-box__layer__inner { position: static !important; transform: none !important; width: 100%; }
.elementor-7 :is(.elementor-element-e6508b1,.elementor-element-3119fb1) .elementor-flip-box__back { background: #f6f2e9 !important; color: #333 !important; }
.elementor-7 :is(.elementor-element-e6508b1,.elementor-element-3119fb1) .elementor-flip-box__layer__title { font-size: 22px !important; color: #222 !important; margin-bottom: 16px; }
.elementor-7 :is(.elementor-element-e6508b1,.elementor-element-3119fb1) .elementor-flip-box__layer__description { font-size: 16px !important; line-height: 1.7 !important; color: #444 !important; overflow-wrap: anywhere; }
.elementor-7 :is(.elementor-element-e6508b1,.elementor-element-3119fb1) .elementor-button { font-size: 14px !important; padding: 12px 24px !important; }
.elementor-7 :is(.elementor-element-b57bdc1,.elementor-element-128d6bc,.elementor-element-98f7610,.elementor-element-709b1a1,.elementor-element-6ba5cc8,.elementor-element-1241b2c,.elementor-element-b262d1d,.elementor-element-691d596) .elementor-heading-title { font-size: clamp(26px,2.4vw,36px) !important; }
@media (max-width:767px) {
 .elementor-7 .elementor-element-6ba5cc8 > .elementor-container { flex-direction: column; }
 .elementor-7 .elementor-element-6ba5cc8 > .elementor-container > .elementor-column { width: 100% !important; }
}
#content.site-main:has(.elementor-7) { width: 100% !important; max-width: none !important; margin: 0 !important; overflow-x: clip; }
.elementor-7 :is(.elementor-element-e6508b1,.elementor-element-3119fb1) .elementor-flip-box,
.elementor-7 :is(.elementor-element-e6508b1,.elementor-element-3119fb1) .elementor-flip-box__layer { min-height: 420px; }
#content.site-main:has(.elementor-7) { overflow-x: clip !important; }
/* Bring the desktop hero copy inward from the right edge. */
@media (min-width: 1025px) {
 .elementor-7 .elementor-element-30e7419 > .elementor-widget-wrap { padding-right: clamp(40px, 5vw, 100px) !important; }
}
/* Two identical groups make the leftward loop seamless. */
.elementor-7 .elementor-element-419aed6 { padding: 0 !important; background: #000; }
.elementor-7 .elementor-element-419aed6 > .elementor-container > .elementor-column { width: 100% !important; }
.elementor-7 .elementor-element-419aed6 .elementor-widget-wrap { padding: 0 !important; }
.omid-logo-marquee { overflow: hidden; width: 100%; padding: 32px 0; background: #000; }
.omid-logo-track { display: flex; width: max-content; animation: omid-logo-drift 50s linear infinite; }
.omid-logo-group { display: flex; flex: 0 0 auto; align-items: center; width: max(100vw, 1100px); }
.omid-logo-item { width: 20%; flex: 0 0 20%; display: flex; align-items: center; justify-content: center; padding: 0 24px; }
.omid-logo-item img { display: block; width: 100%; max-width: 240px; height: 90px; object-fit: contain; }
@keyframes omid-logo-drift { from { transform: translateX(0); } to { transform: translateX(-50%); } }
@media(max-width:767px) { .omid-logo-marquee { padding: 24px 0; } .omid-logo-group { width: 1000px; } .omid-logo-item img { height: 64px; } }
@media(prefers-reduced-motion:reduce) { .omid-logo-track { animation: none; } }
/* Compact logo strip while retaining proportional artwork. */
.omid-logo-marquee { padding: 16px 0; }
.omid-logo-item img { height: 64px; }
@media(max-width:767px) { .omid-logo-marquee { padding: 12px 0; } .omid-logo-item img { height: 48px; } }
/* Slow image-only hero zoom; content stays fixed. */
.elementor-7 :is(.elementor-element-b55a876,.elementor-element-4a0bb30) { position: relative; overflow: hidden; isolation: isolate; }
.elementor-7 :is(.elementor-element-b55a876,.elementor-element-4a0bb30)::before { content: ''; position: absolute; inset: 0; z-index: -1; background: inherit; pointer-events: none; transform-origin: center; animation: omid-hero-zoom 24s ease-in-out infinite alternate; }
@keyframes omid-hero-zoom { from { transform: scale(1); } to { transform: scale(1.08); } }
@media(prefers-reduced-motion:reduce) { .elementor-7 :is(.elementor-element-b55a876,.elementor-element-4a0bb30)::before { animation: none; } }
/* Place the animated image above the static background and below the copy. */
.elementor-7 :is(.elementor-element-b55a876,.elementor-element-4a0bb30)::before { z-index: 0; animation: omid-hero-zoom 18s linear infinite alternate; }
.elementor-7 :is(.elementor-element-b55a876,.elementor-element-4a0bb30) > .elementor-container { position: relative; z-index: 1; }
@keyframes omid-hero-zoom { from { transform: scale(1); } to { transform: scale(1.18); } }
@media(prefers-reduced-motion:reduce) { .elementor-7 :is(.elementor-element-b55a876,.elementor-element-4a0bb30)::before { animation: none; } }
