/* Shared compact type and fluid content geometry, after all page bundles. */
body.site-unified-font {
  --page-inline-gutter: clamp(18px, 5vw, 64px);
  --type-page-title: clamp(30px, 4vw, 56px);
  --type-section-title: clamp(26px, 3vw, 42px);
  --type-card-title: clamp(20px, 2vw, 28px);
  --type-body: 16px;
  --type-small: 14px;
}

body.site-unified-font :is(.gallery-sec, .contact-sec1, .service-sec1, .team-sec1, .work-sec1, .blog-detail) :is(h1, h2, h3),
body.site-unified-font :is(.product-card, .team-image-grid, .recent-blog, .featured-blog) :is(h2, h3) {
  font-weight: 400;
  text-transform: none;
}

body.site-unified-font :is(.gallery-images, .team-image-grid, .recent-blogs) {
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 280px), 1fr));
  gap: 24px;
}

body.site-unified-font :is(.gallery-card, .contact-flex1, .contact-card1,
  .product-card, .team-image-grid > *, .blog-flex > *, .featured > *, .recent-blog) {
  min-width: 0;
  box-sizing: border-box;
}

body.site-unified-font :is(.service-detail-content, .team-p, .blog-detail .content, .gallery-description) {
  overflow-wrap: anywhere;
  text-align: start;
}

body.site-unified-font :is(.service-detail-content, .team-p, .blog-detail .content) :is(img, video, iframe) {
  max-width: 100%;
  height: auto;
}

body.site-unified-font .team-sec2 { position: relative; inset: auto; }
body.site-unified-font .blog-flex {
  display: grid;
  grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr);
  gap: clamp(24px, 4vw, 56px);
  text-align: start;
}
body.site-unified-font .blog-detail .content { padding-inline: 0; }
body.site-unified-font .blog-image img { width: 100%; height: auto; border-radius: 16px; }
body.site-unified-font .featured { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
body.site-unified-font .featured img { width: 100%; height: auto; }
body.site-unified-font .blog-card-meta { display: flex; flex-wrap: wrap; align-items: baseline; justify-content: space-between; gap: 8px 16px; font-size: 14px; }
body.site-unified-font :is(.recent-blog, .contact-card1) { box-shadow: none; border: 1px solid rgba(10, 25, 47, .12); border-radius: 12px; }
body.site-unified-font :is(.recent-blog:hover, .product-card:hover) { transform: none; box-shadow: none; }
body.site-unified-font .product-card { background: transparent; border-radius: 12px; }
body.site-unified-font .team-image-grid .image-container > img { height: auto; aspect-ratio: 4 / 5; object-fit: cover; border-radius: 12px; }

/* The dialog is a body sibling so the blurred header cannot establish its
   containing block. Physical centering works identically in LTR and RTL. */
body.site-unified-font .mega { overflow-y: auto; overscroll-behavior: contain; max-height: calc(100dvh - 112px); box-sizing: border-box; }
body.site-unified-font .mega[hidden] { display: none; }
body.site-unified-font .mega__links { padding: 0; margin: 0; list-style: none; }
body.site-unified-font .mega__links a { color: #f8f9fa; text-decoration: none; overflow-wrap: anywhere; }
body.site-unified-font .mega__title { color: #a4adbb; }
body.site-unified-font .header-actions { margin-inline-start: auto; margin-inline-end: 0; }
body.site-unified-font .brand__mark { padding: 0; border: 0; }

html[dir="rtl"] body.site-unified-font :is(h1, h2, h3, h4, .contact-journey-heading) { line-height: 1.45 !important; }
html[dir="rtl"] body.site-unified-font :is(.service-detail-content, .product-card, .team-p, .blog-detail .content, .recent-blog, .featured-blog, .gallery-description) p { line-height: 1.85 !important; }
html[dir="rtl"] body.site-unified-font :is(.team-flex1, .ceo-profile-copy, .team-p p, .service-detail-content p, .footer__col, .footer__col ul, .footer__col li, .footer__col a, .mega) { text-align: start; }
html[dir="rtl"] body.site-unified-font :is(a[href^="tel:"], a[href^="mailto:"]) { direction: ltr; unicode-bidi: isolate; }
html[dir="rtl"] body.site-unified-font .footer__kicker { margin-inline: 0 auto; }
html[dir="rtl"] body.site-unified-font .product-card__icon { left: auto; right: 1.75rem; }
html[dir="rtl"] body.site-unified-font .innovation-feature-card__body li { padding-left: 0 !important; padding-inline-start: .7rem !important; }
html[dir="rtl"] body.site-unified-font .innovation-feature-card__body li::before { left: auto; right: 0; }

@media (max-width: 900px) {
  body.site-unified-font :is(.blog-flex, .featured) { grid-template-columns: minmax(0, 1fr); }
  body.site-unified-font .blog-image img { position: static !important; }
}

@media (max-width: 760px) {
  body.site-unified-font { --page-top-offset: 92px; --mobile-page-gutter: 18px; --type-body: 15px; }
  body.site-unified-font .site-header {
    display: flex;
    justify-content: space-between;
    gap: 8px;
    inset: 10px 10px auto;
    max-width: calc(100% - 20px);
    height: 56px;
    padding-inline: 12px;
    overflow: visible;
  }
  body.site-unified-font .site-nav,
  body.site-unified-font .header-cta { display: none; }
  body.site-unified-font .brand { flex: 0 1 92px; min-width: 0; }
  body.site-unified-font .brand__logo { width: 92px !important; }
  body.site-unified-font .header-actions { flex: 0 0 auto; gap: 10px; min-width: 0; }
  body.site-unified-font .language-switch { width: auto; padding: 0; margin: 0; gap: 4px; }
  body.site-unified-font .language-switch button { width: auto; min-height: 44px; padding: 8px 3px; font-size: 12px; white-space: nowrap; }
  body.site-unified-font .menu-btn {
    display: flex !important;
    flex: 0 0 44px;
    width: 44px;
    min-width: 44px;
    height: 44px;
    padding: 0;
    justify-content: center;
  }
  body.site-unified-font .menu-btn__label { display: none; }
  body.site-unified-font .mega {
    z-index: 120;
    left: 50%;
    right: auto;
    top: 76px;
    width: min(420px, calc(100% - 20px));
    max-height: calc(100dvh - 88px);
    padding: 20px;
    transform: translate(-50%, -8px);
    border-radius: 18px;
  }
  body.site-unified-font .mega.is-open { transform: translateX(-50%); }
  body.site-unified-font .mega-scrim { z-index: 110; }
  body.site-unified-font .site-header { z-index: 130; }
  body.site-unified-font .mega__inner { display: grid; grid-template-columns: minmax(0, 1fr); gap: 20px; }
  body.site-unified-font .mega__links { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 4px 16px; }
  body.site-unified-font .mega__links--lg { grid-template-columns: minmax(0, 1fr); }
  body.site-unified-font .mega__links a { display: block; padding: 10px 0; font-size: 15px; line-height: 1.6; }
  body.site-unified-font .mega__title { margin: 0 0 8px; font-size: 12px; line-height: 1.6; }
  body.site-unified-font .mega__card { display: none; }
  body.site-unified-font :is(.gallery-images, .team-image-grid, .recent-blogs) { grid-template-columns: minmax(0, 1fr); gap: 20px; }
  body.site-unified-font .contact-sec1 { padding-top: 92px !important; }
  body.site-unified-font .contact-flex { grid-template-columns: minmax(0, 1fr); gap: 12px; }
  body.site-unified-font :is(.contact-sec1, .enquiry) :is(input, textarea, select) { font-size: 16px; }
  body.site-unified-font .contact-flex1 { grid-template-columns: minmax(0, 1fr); }
  body.site-unified-font .team-sec2 { bottom: auto; }
  html[dir="rtl"] body.site-unified-font .product-card__icon { right: 1rem; }
  body.site-unified-font .service-subservice-grid { grid-template-columns: minmax(0, 1fr) !important; }
  body.site-unified-font .service-subservice-grid > .product-card { grid-column: auto; max-width: 100%; }
  html[dir="rtl"] body.site-unified-font .div__inner { padding-inline: 0; }
  html[dir="rtl"] body.site-unified-font .hero__title { font-size: clamp(30px, 8.5vw, 44px); line-height: 1.4 !important; }
  html[dir="rtl"] body.site-unified-font .about-hero h1 { font-size: clamp(32px, 9vw, 48px); }
}
