/* Public homepage: existing content, brand, images, links and interactions. */
.imed-public { background: #fff; color: var(--imed-text); }
.imed-public .container { max-width: 1240px; padding-inline: 32px; }
.imed-public .site-header { border-bottom: 1px solid var(--imed-border); box-shadow: none; }
.imed-public .site-header .bar { padding-block: 18px; gap: 24px; }
.imed-public .brand { gap: 12px; }
.imed-public .brand img { width: 64px; height: 64px; border-radius: 8px; box-shadow: none; }
.imed-public .brand-text h1 { font-size: 24px; letter-spacing: -.5px; }
.imed-public nav.main-nav ul { gap: 4px; }
.imed-public nav.main-nav a { border-radius: 7px; padding: 10px 13px; }
.imed-public nav.main-nav a.primary { background: var(--imed-blue); box-shadow: none; color: #fff; }
.imed-public .hero { position: relative; padding-block: 88px 72px; gap: 56px; align-items: center; }
.imed-public .hero .intro h2 { font-size: clamp(34px,3.5vw,54px); line-height: 1.35; font-weight: 800; color: var(--imed-navy); letter-spacing: -.04em; max-width: 630px; }
.imed-public .hero .intro > p { font-size: 18px; line-height: 1.95; color: var(--imed-muted); margin-top: 20px; }
.imed-public .hero > .fade-in:last-child { position: relative; padding: 18px; background: var(--imed-tint); border-radius: 28px; }
.imed-public .hero > .fade-in:last-child .card-surface { padding: 10px; background: #fff; border-radius: 18px; box-shadow: 0 16px 40px #1a2a5b0f; }
.imed-public .hero img { height: 410px !important; border-radius: 12px !important; margin-bottom: 0 !important; }
.imed-public .btn { min-height: 46px; padding: 12px 22px; border-radius: 7px; font-size: 15px; box-shadow: none; }
.imed-public .btn-primary { background: var(--imed-blue); border: 1px solid var(--imed-blue); }
.imed-public .btn-outline { border: 1px solid var(--imed-border); background: #fff; color: var(--imed-navy); }
.imed-public .btn:hover { transform: none; box-shadow: 0 3px 12px #1a2a5b12; }
.imed-public .btn-primary:hover { background: var(--imed-navy); }
.imed-public .card-surface { background: #fff; border: 1px solid var(--imed-border); padding: 28px; border-radius: 14px; box-shadow: var(--imed-shadow); }
.imed-public .card-surface:hover { transform: none; box-shadow: var(--imed-shadow); }
.imed-public .hero .intro .card-surface { padding: 0; box-shadow: none; border: 0; background: transparent; }
.imed-public .product-list { gap: 16px; }
.imed-public .product { border: 0; padding: 12px 0; background: transparent; gap: 12px; }
.imed-public .product:hover { transform: none; background: transparent; }
.imed-public .product i { width: 40px; height: 40px; flex: 0 0 40px; background: var(--imed-tint); color: var(--imed-blue); box-shadow: none; border-radius: 10px; font-size: 17px; }
.imed-public .product:hover i { transform: none; box-shadow: none; }
.imed-public .product h4 { font-size: 15px; margin-bottom: 3px; }
.imed-public .product p { font-size: 12px; }
.imed-public .colorful-section { padding-block: 80px; }
.imed-public .colorful-bg-1 { background: var(--imed-navy); }
.imed-public .colorful-bg-2 { background: var(--imed-canvas); }
.imed-public .colorful-bg-3 { background: var(--imed-tint); }
.imed-public .colorful-section::before,.imed-public .colorful-section::after { background: none; }
.imed-public .section-header { margin-bottom: 40px; }
.imed-public .section-header h3 { font-size: 34px; line-height: 1.4; letter-spacing: -.025em; }
.imed-public .section-header h3::after { width: 44px; height: 3px; background: var(--imed-cyan); }
.imed-public .colorful-bg-2 .section-header h3,.imed-public .colorful-bg-3 .section-header h3 { color: var(--imed-navy) !important; }
.imed-public .colorful-bg-2 .section-header p,.imed-public .colorful-bg-3 .section-header p { color: var(--imed-muted) !important; }
.imed-public #aboutUs img { box-shadow: none !important; border-radius: 14px !important; }
.imed-public #aboutUs .card-surface,.imed-public #servicesHome .card-surface,.imed-public .contact-card { background: #fff !important; backdrop-filter: none !important; }
.imed-public #aboutUs .btn-outline { background: transparent; }
.imed-public #servicesHome .card-surface { border-top: 3px solid var(--imed-blue); padding: 32px; }
.imed-public #servicesHome .card-surface h4 { color: var(--imed-navy); font-size: 23px; }
.imed-public #servicesHome .btn-outline { border-color: var(--imed-border) !important; color: var(--imed-blue) !important; }
.imed-public .clients-section { padding-block: 72px; background: white; }
.imed-public .clients-grid { gap: 16px; }
.imed-public .client-card { border: 1px solid var(--imed-border); box-shadow: none; border-radius: 10px; padding: 20px; }
.imed-public .client-card:hover { transform: none; box-shadow: var(--imed-shadow); }
.imed-public .contact-card { padding: 32px 24px; border: 1px solid var(--imed-border); border-radius: 12px; box-shadow: none; }
.imed-public .contact-card:hover { transform: none; box-shadow: var(--imed-shadow); }
.imed-public .contact-card i { background: var(--imed-tint); color: var(--imed-blue); box-shadow: none; border-radius: 12px; }
.imed-public .footer { background: white; color: var(--imed-navy); border-top: 1px solid var(--imed-border); padding-block: 30px; }
@media(max-width:1100px) and (min-width:901px) {
 .imed-public .brand-text .tagline { max-width: 170px; }
 .imed-public nav.main-nav a { padding-inline: 8px; font-size: 14px; }
}
@media(max-width:900px) {
 .imed-public .container { padding-inline: 24px; }
 .imed-public .hero { grid-template-columns: 1fr; padding-block: 40px; gap: 32px; }
 .imed-public .hero .intro h2 { font-size: 38px; max-width: none; }
 .imed-public .hero img { height: auto !important; max-height: 430px; }
 .imed-public .colorful-section,.imed-public .clients-section { padding-block: 48px; }
 .imed-public #aboutUs .container > div[style*="grid"],.imed-public #servicesHome .container > div[style*="grid"] { grid-template-columns: 1fr !important; gap: 24px !important; }
 .imed-public nav.main-nav { top: 100px; border-radius: 0 0 12px 12px; }
}
@media(max-width:540px) {
 .imed-public .container { padding-inline: 20px; }
 .imed-public .hero .intro h2 { font-size: 32px; }
 .imed-public .hero .intro > p { font-size: 16px; }
 .imed-public .brand img { width: 48px; height: 48px; }
 .imed-public .brand-text h1 { font-size: 21px; }
 .imed-public .brand-text .tagline { font-size: 10px; }
 .imed-public nav.main-nav { top: 84px; }
 .imed-public .actions,.imed-public #aboutUs div[style*="display:flex"] { flex-wrap: wrap; }
 .imed-public .product-list { grid-template-columns: 1fr 1fr; gap: 8px; }
 .imed-public .product { align-items: flex-start; }
 .imed-public .product i { width: 30px; height: 30px; flex-basis: 30px; font-size: 14px; }
 .imed-public .section-header h3 { font-size: 28px; }
 .imed-public .clients-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
 .imed-public .contact-cards { grid-template-columns: 1fr; }
}
.imed-public .product-list { grid-template-columns: repeat(2,minmax(0,1fr)); }
.imed-public .product p { margin: 0; line-height: 1.6; font-size: 13px; }
.imed-public .hero .intro > p { color: #52617a; }
/* Existing contact details are Latin/numeric, even within the Arabic page. */
.imed-public .contact-card p { direction: ltr; unicode-bidi: isolate; }
/* Let the sticky navigation remain inside the complete long-form page. */
.imed-public { height: auto; min-height: 100%; }
.imed-public section[id] { scroll-margin-block-start: 110px; }
@media(max-width:540px) {
 .imed-public section[id] { scroll-margin-block-start: 96px; }
}
