/* Shared additions; retain the original HETO branding and page layouts. */
.site-header { position: sticky; top: 0; z-index: 1040; }
.site-header > div { font-size: .875rem; }
.page-hero { margin-top: 0 !important; padding-block: clamp(3rem, 7vw, 6rem); overflow: hidden; }
.page-hero h1, section[style*="color: white"] > .container > h2,
section[style*="color: white"] > .container > .row h1 { color: #fff; }
.page-hero .glass-card h3 { color: #fff; }
.page-hero .d-flex.gap-3 { flex-wrap: wrap; }
.d-flex.justify-content-center.gap-3 { flex-wrap: wrap; }
.phone-link { color: inherit; text-decoration: none; white-space: nowrap; display: inline-block; }
footer::before { pointer-events: none; }
footer h5 { color: #fff; }
.footer-legal { position: relative; }
.language-switch { white-space: nowrap; font-family: Cairo, Inter, sans-serif; padding: .5rem 1rem; }
.navbar-nav .nav-link { padding-inline: .55rem; font-size: .925rem; }
.whatsapp-float { position: fixed; inset-inline-end: 22px; bottom: 22px; z-index: 1050; display: inline-flex; align-items: center; gap: .65rem; background: #087c45; color: #fff; border: 2px solid #fff; border-radius: 50px; padding: .85rem 1.15rem; text-decoration: none; box-shadow: 0 5px 22px #003d2433; font-size: .9rem; font-weight: 600; }
.whatsapp-float:hover { background: #075e37; color: #fff; }
.whatsapp-float svg { flex: 0 0 auto; }
a:focus-visible, button:focus-visible { outline: 3px solid #00a9e0; outline-offset: 4px; }
.skip-link { position: fixed; inset-inline-start: 12px; top: -100px; padding: .75rem 1.25rem; background: white; color: #004080; z-index: 1100; border-radius: 8px; }
.skip-link:focus { top: 10px; }
#main-content:focus { outline: none; }
[data-aos] { opacity: 1 !important; transform: none !important; }
#inquiry-form .form-control { min-height: 48px; }
#inquiry-form textarea { resize: vertical; }
#inquiry-form .form-label span { color: #ae2438; }
#inquiry-form input[type="email"], #inquiry-form input[type="tel"] { text-align: start; }
.form-control::placeholder { color: #6c757d; opacity: 1; }
[dir="rtl"] { --font-body: Cairo, Tahoma, Arial, sans-serif; --font-heading: Cairo, Tahoma, Arial, sans-serif; }
[dir="rtl"] body { line-height: 1.9; }
[dir="rtl"] h1, [dir="rtl"] h2, [dir="rtl"] h3 { line-height: 1.5 !important; letter-spacing: 0 !important; }
[dir="rtl"] .text-uppercase { letter-spacing: 0 !important; }
[dir="rtl"] .contact-icon { margin-right: 0; margin-left: 1rem; }
[dir="rtl"] .navbar-brand img { margin-right: 0; margin-left: 10px; }
[dir="rtl"] .fa-arrow-right { transform: scaleX(-1); }
[dir="rtl"] .form-floating > label { right: 0; left: auto; }
@media (min-width: 992px) and (max-width: 1199px) {
  .navbar-nav .nav-link { padding-inline: .35rem; font-size: .82rem; }
  .navbar-collapse > .btn { padding-inline: .7rem !important; font-size: .82rem; }
}
@media (max-width: 991px) {
  .navbar-collapse { padding-block: 1rem; max-height: calc(100dvh - 120px); overflow-y: auto; }
  .navbar-collapse > .btn { margin-block-start: .75rem; }
  .navbar-nav { align-items: stretch !important; text-align: start; }
  .navbar-nav .nav-link { padding: .65rem .4rem; font-size: 1rem; }
  .navbar-collapse > .language-switch { margin-inline-start: .5rem; }
}
@media (max-width: 575px) {
  .row.g-5 { --bs-gutter-x: 1.5rem; }
  .site-header > div .row > div { width: auto; flex: 1; margin-top: 0 !important; white-space: nowrap; }
  .site-header > div .row > div:last-child { text-align: end; }
  .site-header > div { font-size: .7rem; }
  .site-header > div .fas { display: none; }
  .site-header > div a { overflow-wrap: normal; }
  .page-hero .display-3 { font-size: 2.65rem; }
  [dir="rtl"] .page-hero .display-3 { font-size: 2.3rem; }
  .page-hero .btn { padding-inline: 1.5rem !important; }
  .btn.px-5 { padding-inline: 1.25rem !important; }
  .job-listing { flex-wrap: wrap; gap: 1rem; }
  .contact-card { padding: 1.5rem !important; }
  .col-lg-7 > .p-5 { padding: 1.5rem !important; }
  .whatsapp-float { inset-inline-end: 14px; bottom: 14px; padding: .8rem; }
  .whatsapp-float span { display: none; }
  footer { padding-bottom: 60px; }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { animation-duration: .01ms !important; transition-duration: .01ms !important; }
}
