@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+Arabic:wght@400;500;600;700;800&display=swap');

/* A self-contained homepage hero in both reading directions. */
html body #home-hero { margin:0 !important; overflow:hidden; background:#053c2c !important; }
html[lang="ar"] #home-hero { font-family:'Noto Sans Arabic',sans-serif !important; }
html body #home-hero .jh-hero-stage { position:relative; isolation:isolate; min-height:100vh; display:flex; align-items:center; }
#home-hero .jh-hero-background { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:50% 38%; z-index:-3; }
#home-hero .jh-hero-shade { position:absolute; inset:0; z-index:-2; background:linear-gradient(270deg,#033c2c 0%,rgba(3,48,35,.95) 28%,rgba(3,38,28,.65) 52%,rgba(3,38,28,.08) 100%); }
html[dir="ltr"] #home-hero .jh-hero-shade { background:linear-gradient(90deg,#033c2c 0%,rgba(3,48,35,.95) 28%,rgba(3,38,28,.65) 52%,rgba(3,38,28,.08) 100%); }
#home-hero .jh-hero-content { width:100%; max-width:1280px; margin:auto; padding:64px 48px 74px; box-sizing:border-box; }
html body #home-hero .jh-hero-intro { display:flex; gap:12px; align-items:center; color:#fff !important; font-size:13px; font-weight:600; letter-spacing:.02em; }
html body #home-hero .jh-hero-intro span { color:#fff !important; }
html body #home-hero .jh-hero-cross { width:28px; height:28px; display:grid; place-items:center; font-family:Arial,sans-serif; font-size:30px; line-height:1; font-weight:400; }
html body #home-hero h1 { max-width:660px; margin:25px 0 20px; font-size:clamp(48px,5.2vw,76px) !important; font-weight:700 !important; line-height:1.3 !important; letter-spacing:-.035em; color:white !important; }
html body #home-hero h1 span { color:#96edbc !important; }
html body #home-hero .jh-hero-description { max-width:480px; margin:0 0 30px; color:#e1eee7 !important; font-size:17px !important; line-height:1.9 !important; font-weight:400; }
#home-hero .jh-hero-actions-new { display:flex; align-items:center; gap:28px; flex-wrap:wrap; }
html body #home-hero .jh-hero-book,html body #home-hero .jh-hero-find { display:inline-flex; align-items:center; justify-content:center; gap:20px; min-height:54px; text-decoration:none; font-size:14px; font-weight:700; transition:background .2s,transform .2s; }
html body #home-hero .jh-hero-book { padding:0 24px; background:white !important; border-radius:4px; color:#054731 !important; }
html body #home-hero .jh-hero-book * { color:#054731 !important; }
html body #home-hero .jh-hero-book:hover { background:#d8fbe6 !important; transform:translateY(-2px); }
html body #home-hero .jh-hero-find,html body #home-hero .jh-hero-find * { color:white !important; }
#home-hero .jh-hero-find { border-bottom:1px solid rgba(255,255,255,.5); }
#home-hero .jh-hero-find:hover { border-color:white; }
html[dir="rtl"] #home-hero .jh-hero-actions-new .material-symbols-outlined,html[dir="rtl"] #home-hero .jh-service-arrow:not(:last-child) { transform:rotate(180deg); }
html[dir="rtl"] #home-hero .jh-hero-service:not(.jh-hero-emergency) .jh-service-arrow { transform:rotate(180deg); }
html body #home-hero .jh-hero-signoff { display:flex; align-items:center; gap:12px; margin-top:40px; color:#c6dcd0 !important; font-size:12px; }
html body #home-hero .jh-hero-signoff span { color:#c6dcd0 !important; }
#home-hero .jh-hero-signoff > span:first-child { width:30px; height:1px; background:#96edbc; }
html body #home-hero .jh-hero-image-caption { position:absolute; inset-inline-end:48px; bottom:40px; display:flex; flex-direction:column; gap:6px; direction:ltr; color:white !important; font-size:10px; font-weight:600; letter-spacing:.2em; text-shadow:0 1px 5px #000; }
html body #home-hero .jh-hero-image-caption span { color:white !important; }
html body #home-hero .jh-hero-services { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); max-width:none; background:#fff; border-bottom:1px solid #e0e9e4; padding:0 max(24px,calc((100% - 1184px)/2)); }
html body #home-hero .jh-hero-service { display:flex; align-items:center; gap:18px; min-height:120px; padding:22px 28px; text-decoration:none; border-inline-end:1px solid #e0e9e4; transition:background .2s; }
#home-hero .jh-hero-service:first-child { padding-inline-start:0; }
#home-hero .jh-hero-service:last-child { border-inline-end:0; padding-inline-end:0; }
#home-hero .jh-hero-service:hover { background:#f3faf6; }
html body #home-hero .jh-service-icon { color:#008f47 !important; font-size:30px !important; }
#home-hero .jh-service-copy { display:flex; flex-direction:column; gap:7px; min-width:0; }
html body #home-hero .jh-service-copy strong { color:#142d21 !important; font-size:16px; font-weight:700; }
html body #home-hero .jh-service-copy > span { color:#64746b !important; font-size:12px; }
html body #home-hero .jh-service-arrow { margin-inline-start:auto; color:#008f47 !important; font-size:21px !important; }
html body #home-hero .jh-hero-emergency .jh-service-icon,html body #home-hero .jh-hero-emergency .jh-service-arrow { color:#d81e29 !important; }
#home-hero a:focus-visible { outline:3px solid #00a651; outline-offset:5px; }
#home-hero .jh-hero-stage a:focus-visible { outline-color:#96edbc; }
/* Emergency access is integrated into the hero services and retained in the header. */
.jh-home-page .jh-emergency-ticker { display:none !important; }
html body.jh-home-page #appointment-box { margin-top:0 !important; padding-top:40px !important; scroll-margin-top:120px; }
@media(min-width:701px) and (max-width:1023px) {
 #home-hero .jh-hero-content { padding:56px 32px 64px; }
 html body #home-hero .jh-hero-stage { min-height:100vh; }
 html body #home-hero .jh-hero-service { padding:22px 16px; gap:12px; }
 html body #home-hero .jh-service-copy strong { font-size:14px; }
 #home-hero .jh-service-arrow { display:none !important; }
}
@media(max-width:700px) {
 html body #home-hero .jh-hero-stage { min-height:100vh; align-items:flex-start; }
 #home-hero .jh-hero-background { object-position:45% 50%; }
 html[dir] body #home-hero .jh-hero-shade { background:linear-gradient(180deg,rgba(2,40,28,.96) 0%,rgba(2,40,28,.91) 46%,rgba(2,40,28,.42) 76%,rgba(2,40,28,.15) 100%); }
 #home-hero .jh-hero-content { padding:38px 24px 180px; }
 html body #home-hero h1 { font-size:48px !important; line-height:1.35 !important; margin:22px 0 18px; }
 html body #home-hero .jh-hero-description { font-size:15px !important; line-height:1.85 !important; margin-bottom:24px; }
 #home-hero .jh-hero-actions-new { gap:14px 22px; }
 html body #home-hero .jh-hero-book,html body #home-hero .jh-hero-find { font-size:13px; min-height:48px; gap:12px; }
 html body #home-hero .jh-hero-book { padding:0 18px; }
 html body #home-hero .jh-hero-signoff { margin-top:24px; font-size:10px; gap:8px; }
 html body #home-hero .jh-hero-image-caption { inset-inline-end:24px; bottom:24px; font-size:9px; }
 html body #home-hero .jh-hero-services { grid-template-columns:1fr; padding:0 24px; }
 html body #home-hero .jh-hero-service { min-height:94px; padding:20px 0; border-inline-end:0; border-bottom:1px solid #e0e9e4; }
 #home-hero .jh-hero-service:last-child { border-bottom:0; }
 html body #home-hero .jh-service-copy strong { font-size:15px; }
 html body.jh-home-page #appointment-box { padding-top:28px !important; }
}
@media(max-width:360px) {
 html body #home-hero h1 { font-size:42px !important; }
 #home-hero .jh-hero-content { padding-inline:20px; }
}
@media(prefers-reduced-motion:reduce) { #home-hero a { transition:none !important; } }
