/* Shared production-quality refinements. All headings stay below the homepage hero ceiling. */
:root{
  --heading-1:clamp(1.65rem,2.4vw,2rem);
  --heading-2:clamp(1.35rem,1.9vw,1.5rem);
  --heading-3:clamp(1.15rem,1.55vw,1.25rem);
  --heading-4:clamp(1.05rem,1.35vw,1.125rem);
  --heading-5:clamp(.95rem,1.15vw,1rem);
  --heading-6:clamp(.9rem,1vw,.95rem);
}
body :is(h1){font-size:var(--heading-1)!important;line-height:1.25;text-wrap:balance}
body :is(h2){font-size:var(--heading-2)!important;line-height:1.35;text-wrap:balance}
body :is(h3){font-size:var(--heading-3)!important;line-height:1.4}
body :is(h4){font-size:var(--heading-4)!important;line-height:1.4}
body :is(h5){font-size:var(--heading-5)!important;line-height:1.4}
body :is(h6){font-size:var(--heading-6)!important;line-height:1.4}
html[lang="ar"] body :is(h1,h2,h3,h4,h5,h6){line-height:1.5;letter-spacing:0}
.footer h3{font-size:1rem!important}
.title{letter-spacing:-.02em}
.section{padding-block:58px}
.hero,.page-hero--media{width:100%;margin-inline:0}
.hero{min-height:440px;padding-block:64px}
.hero::before,.page-hero--media .page-hero-overlay{background:linear-gradient(90deg,rgba(5,44,32,.94),rgba(5,44,32,.82) 65%,rgba(5,44,32,.78))}
html[dir="rtl"] .hero::before,html[dir="rtl"] .page-hero--media .page-hero-overlay{background:linear-gradient(270deg,rgba(5,44,32,.94),rgba(5,44,32,.82) 65%,rgba(5,44,32,.78))}
.page-hero--media{min-height:300px;padding-block:52px}
.faq-hero{padding-block:52px 42px}
.hero h1,.page-hero .title,.faq-hero h1{max-width:1000px}
.hero .hero-grid{grid-template-columns:minmax(0,900px)}
.hero-text,.lede{max-width:65ch}
.service .number{color:var(--forest)}
.process-step>b{color:var(--ink)}
.nav a{display:flex;align-items:center;min-height:44px;padding-block:8px}
.nav a[aria-current="page"]{color:var(--forest);text-decoration:underline;text-underline-offset:5px;text-decoration-thickness:2px}
.menu,.faq-toggle,.viewer-controls button{min-width:44px;min-height:44px}
.menu{padding:10px 14px;border:1px solid var(--line);border-radius:5px}
.nav.open{max-height:calc(100dvh - 150px);overflow:auto;overscroll-behavior:contain}
.btn{min-height:48px}
:is(a,button,summary,input,select,textarea):focus-visible{outline:3px solid var(--navy);outline-offset:4px}
.hero :is(a,button):focus-visible,.banner :is(a,button):focus-visible,.footer a:focus-visible{outline-color:#fff}
.faq-item summary:focus-visible{outline-offset:-4px}
.social-link[aria-label="LinkedIn"] svg{stroke:none}
.home-form-embed{height:auto;max-height:none;overflow:visible;border:1px solid var(--line);padding:12px;background:#fff}
.home-form-viewport{height:320px;overflow:auto;overscroll-behavior:contain;scrollbar-gutter:stable;border-radius:8px;border:1px solid var(--line)}
.home-form-frame{height:100%;width:100%;border:0;border-radius:0}
.home-form-help{margin:10px 4px;color:var(--muted);font-size:.875rem;line-height:1.6}
.home-form-embed .form-fallback a{display:inline-flex;align-items:center;min-height:44px;color:var(--forest);font-weight:700}
.service-quicklinks{display:flex;flex-wrap:wrap;gap:8px 20px;margin-top:20px}
.service-quicklinks a{min-height:44px;display:inline-flex;align-items:center;color:var(--forest);font-weight:600;text-decoration:underline;font-size:.875rem}
.enquiry-checklist{display:flex;flex-wrap:wrap;gap:8px 18px;padding:0;list-style:none;margin:0 0 24px}
.enquiry-checklist li{border:1px solid var(--line);border-radius:5px;padding:7px 11px;color:var(--forest);font-size:.875rem}
.faq-tools{margin-block:16px 4px}
.faq-toggle{border:1px solid var(--forest);border-radius:5px;background:#fff;color:var(--forest);padding:10px 16px;font:inherit;font-size:.875rem;font-weight:700;cursor:pointer}
.faq-categories a{min-height:44px;display:inline-flex;align-items:center}
.faq-item{scroll-margin-block-start:24px}
@media(max-width:1240px){
 .site-header .nav{display:none}
 .site-header .nav.open{display:flex;position:absolute;top:100%;left:0;right:0;flex-direction:column;align-items:stretch;gap:0;background:#fff;padding:16px 20px;border-bottom:1px solid var(--line);box-shadow:var(--shadow);z-index:25}
 .site-header .menu{display:inline-flex;align-items:center;justify-content:center}
}
@media(min-width:1241px){.site-header .nav{display:flex}.site-header .menu{display:none}}
@media(max-width:900px){body{padding-bottom:calc(64px + env(safe-area-inset-bottom))}.mobile-actions{padding-bottom:env(safe-area-inset-bottom)}}
@media(max-width:700px){
 :root{--heading-1:clamp(1.55rem,6vw,1.75rem);--heading-2:clamp(1.3rem,4.8vw,1.4rem);--heading-3:clamp(1.1rem,4vw,1.2rem);--heading-4:clamp(1rem,3.6vw,1.08rem);--heading-5:clamp(.95rem,3.2vw,1rem);--heading-6:clamp(.9rem,3vw,.95rem)}
 .section{padding-block:42px}
 .hero{min-height:420px;padding-block:44px}
 .page-hero--media{min-height:260px;padding-block:40px}
 .faq-hero{padding-block:40px 32px}
 .home-form-viewport{height:300px}
 .mobile-actions{padding-bottom:env(safe-area-inset-bottom)}
 body{padding-bottom:calc(64px + env(safe-area-inset-bottom))}
 .home-contact-grid{padding-block:0}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation-duration:.01ms!important;transition-duration:.01ms!important;animation-iteration-count:1!important}.btn:hover,.service:hover{transform:none}}
