/* MGH theme – styles for the home template (ported verbatim from the approved HTML design). */
body{margin:0}
.rv-track{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;padding:4px 0 34px;-webkit-overflow-scrolling:touch}
.rv-track::-webkit-scrollbar{display:none}
.rv-track:focus-visible{outline:3px solid #ECC951;outline-offset:2px;border-radius:28px}
.rv-slide{flex:0 0 100%;min-width:0;box-sizing:border-box;scroll-snap-align:start;scroll-snap-stop:always}
.rv-card{box-sizing:border-box;height:100%;background:#FFFFFF;color:#003366;border-radius:28px;border-top:5px solid #ECC951;padding:36px;box-shadow:0 14px 28px -6px rgba(0,0,0,.3);display:flex;flex-direction:column;gap:14px}
.rv-ctrl{display:flex;align-items:center;justify-content:center;gap:16px;margin-top:-6px}
.rv-btn{width:44px;height:44px;border-radius:999px;border:1px solid rgba(255,255,255,.35);background:rgba(255,255,255,.08);color:#FFFFFF;font-size:24px;line-height:1;cursor:pointer;font-family:inherit;display:flex;align-items:center;justify-content:center;padding:0;transition:background .2s ease,color .2s ease}
.rv-btn:hover,.rv-btn:focus-visible{background:#ECC951;color:#003366;border-color:#ECC951}
.rv-btn span{display:block;margin-top:-3px}
[dir=rtl] .rv-btn span{transform:scaleX(-1)}
.rv-dots{display:flex;align-items:center;gap:8px}
.rv-dot{width:10px;height:10px;border-radius:999px;border:0;padding:0;background:rgba(255,255,255,.35);cursor:pointer;transition:width .25s ease,background .25s ease}
.rv-dot[data-on="1"]{width:28px;background:#ECC951}
a{color:#003366;text-decoration:none}a:hover{color:#4F647B}
.svc-track{scrollbar-width:none}.svc-track::-webkit-scrollbar{display:none}
.flip{perspective:1200px}
.flip-in{transition:transform .6s cubic-bezier(.2,.7,.2,1);transform-style:preserve-3d}
.flip:hover .flip-in,.flip:focus .flip-in{transform:rotateY(180deg)}
.flip-face{backface-visibility:hidden;-webkit-backface-visibility:hidden}
.flip-back{transform:rotateY(180deg)}
.flip:focus-visible{outline:3px solid #ECC951;outline-offset:4px}
@keyframes mgh-marquee{to{transform:translateX(-50%)}}
.logo-run{animation:mgh-marquee 30s linear infinite}
.logo-run:hover{animation-play-state:paused}
@keyframes mgh-up{from{opacity:0;transform:translateY(26px)}to{opacity:1;transform:none}}
@keyframes mgh-card{from{opacity:0;transform:translateY(30px) scale(.97)}to{opacity:1;transform:none}}
@keyframes mgh-float{50%{transform:translateY(-8px)}}
@keyframes mgh-spin{to{transform:rotate(360deg)}}
@keyframes mgh-zoom{from{transform:scale(1.14)}to{transform:scale(1)}}
@keyframes mgh-bar{from{transform:scaleY(0)}to{transform:scaleY(1)}}
@keyframes mgh-draw{to{stroke-dashoffset:0}}
@keyframes mgh-pulse{0%{box-shadow:0 0 0 0 rgba(236,201,81,.75)}100%{box-shadow:0 0 0 10px rgba(236,201,81,0)}}
.h-card{animation:mgh-card .9s cubic-bezier(.2,.7,.2,1) both}
.h-up{animation:mgh-up .8s cubic-bezier(.2,.7,.2,1) both}
.h-d1{animation-delay:.15s}.h-d2{animation-delay:.3s}.h-d3{animation-delay:.45s}.h-d4{animation-delay:.6s}.h-d5{animation-delay:.75s}
.h-float{animation:mgh-float 5s ease-in-out infinite}
.h-spin{animation:mgh-spin 70s linear infinite;transform-origin:center}
.h-zoom{animation:mgh-zoom 2.2s cubic-bezier(.2,.7,.2,1) both}
.h-bar{transform-origin:bottom;animation:mgh-bar .9s cubic-bezier(.2,.7,.2,1) both}
.h-draw path{stroke-dasharray:1;stroke-dashoffset:1;animation:mgh-draw 1s 1s ease-out forwards}
.h-pulse{animation:mgh-pulse 1.8s ease-out infinite}
#process > div:last-child > div,#projects > div:last-child > div,#why > div > div:last-child > div{transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease}
#process > div:last-child > div:hover,#projects > div:last-child > div:hover{transform:translateY(-6px);box-shadow:0 22px 44px rgba(0,51,102,.16)}
#why > div > div:last-child > div:hover{transform:translateY(-4px);border-color:#ECC951}
#projects img{transition:transform .6s ease}
#projects > div:last-child > div:hover img{transform:scale(1.07)}
@supports (animation-timeline: view()){@media (prefers-reduced-motion:no-preference){#about,#services > div,#process,#why > div,#projects,#reviews > div,#clients,#lead{animation:mgh-up linear both;animation-timeline:view();animation-range:entry 0% entry 40%}}}
.logo-run-rev{animation:mgh-marquee 36s linear infinite reverse}
.logo-run-rev:hover{animation-play-state:paused}
.logo-mask{-webkit-mask-image:linear-gradient(to right,transparent,#000 12%,#000 88%,transparent);mask-image:linear-gradient(to right,transparent,#000 12%,#000 88%,transparent)}
.logo-run > div,.logo-run-rev > div{transition:transform .25s ease,border-color .25s ease,box-shadow .25s ease}
.logo-run > div:hover,.logo-run-rev > div:hover{transform:translateY(-4px);border-color:#ECC951;box-shadow:0 12px 24px rgba(0,51,102,.12)}
#lead-panel > *{position:relative}
#lead input,#lead select,#lead textarea{outline:none;transition:border-color .2s ease,box-shadow .2s ease,background .2s ease}
#lead input:focus,#lead select:focus,#lead textarea:focus{border-color:#A87B00;box-shadow:0 0 0 4px rgba(236,201,81,.35)}
@keyframes mgh-shine{0%,60%{transform:translateX(-120%) skewX(-20deg)}100%{transform:translateX(320%) skewX(-20deg)}}
#lead button[type=submit]{position:relative;overflow:hidden;transition:transform .2s ease,box-shadow .2s ease}
#lead button[type=submit]:hover{transform:translateY(-3px);box-shadow:0 14px 28px rgba(168,123,0,.35)}
#lead button[type=submit]::after{content:"";position:absolute;top:0;left:0;width:35%;height:100%;background:rgba(255,255,255,.45);animation:mgh-shine 3.6s ease-in-out infinite}
#lead-panel .lead-item{animation:mgh-up linear both}
@supports (animation-timeline: view()){@media (prefers-reduced-motion:no-preference){#lead-panel .lead-item{animation-timeline:view();animation-range:entry 10% entry 70%}}}
@media (prefers-reduced-motion:reduce){.logo-run-rev{animation:none}#lead button[type=submit]::after{animation:none;display:none}}
@keyframes mgh-drift{from{transform:translate(0,0)}to{transform:translate(60px,40px)}}
.h-grid{background-image:radial-gradient(rgba(255,255,255,.16) 1px,transparent 1px);background-size:28px 28px;-webkit-mask-image:linear-gradient(to bottom,#000 30%,transparent);mask-image:linear-gradient(to bottom,#000 30%,transparent)}
.h-glow{filter:blur(90px);animation:mgh-drift 14s ease-in-out infinite alternate}
@media (prefers-reduced-motion:reduce){.h-glow{animation:none}}
.h-recent{transition:transform .25s ease,background .25s ease,border-color .25s ease}
.h-recent img{transition:transform .3s ease,margin .3s ease}
.h-recent:hover{transform:translateY(-3px);background:rgba(255,255,255,.14)!important;border-color:#ECC951!important;color:#FFFFFF}
.h-recent:hover img{transform:rotate(0deg)!important;margin-left:-22px!important}
.h-recent:hover img:first-child{margin-left:0!important}
[dir=rtl] .h-recent{margin-left:0!important;margin-right:auto}
.h-btn{transition:transform .2s ease,box-shadow .2s ease}
.h-btn:hover{transform:translateY(-3px);box-shadow:0 10px 24px rgba(0,0,0,.25)}
@media (prefers-reduced-motion:reduce){.logo-run,.h-card,.h-up,.h-float,.h-spin,.h-zoom,.h-bar,.h-pulse{animation:none}.h-draw path{animation:none;stroke-dashoffset:0}.flip-in,.h-btn{transition:none}}
@keyframes x-grow{from{transform:scaleX(0)}to{transform:scaleX(1)}}
@keyframes x-bob{50%{transform:translateY(-6px)}}
@keyframes x-ring{0%{box-shadow:0 0 0 0 rgba(0,51,102,.55)}100%{box-shadow:0 0 0 10px rgba(0,51,102,0)}}
@keyframes x-in{from{opacity:0;transform:translateY(30px)}to{opacity:1;transform:none}}
.x-progress{transform:scaleX(0)}
@supports (animation-timeline: scroll()){.x-progress{animation:x-grow linear both;animation-timeline:scroll(root)}}
.x-fab{animation:x-bob 3s ease-in-out infinite;transition:box-shadow .2s ease}
.x-fab:hover{color:#003366;box-shadow:0 18px 36px rgba(0,36,71,.5)}
.x-dot{animation:x-ring 1.6s ease-out infinite}
@supports (animation-timeline: view()){@media (prefers-reduced-motion:no-preference){.x-sec{animation:x-in linear both;animation-timeline:view();animation-range:entry 0% entry 45%}}}
.x-faq{transition:border-color .2s ease,box-shadow .2s ease}
.x-faq[open]{border-color:#ECC951!important;box-shadow:0 14px 30px rgba(0,51,102,.1)}
.x-faq summary{cursor:pointer;list-style:none}
.x-faq summary::-webkit-details-marker{display:none}
.x-plus{transition:transform .25s ease}
.x-faq[open] .x-plus{transform:rotate(45deg)}
@media (prefers-reduced-motion:reduce){.x-fab,.x-dot{animation:none}}
@media (max-width:640px){.x-fab{right:12px!important;bottom:12px!important;padding:12px 16px!important}}
/* fixed navbar */
header{position:fixed!important;top:0;left:0;right:0;z-index:40;max-width:none!important;margin:0!important;padding-left:max(24px,calc((100vw - 1360px) / 2 + 24px))!important;padding-right:max(24px,calc((100vw - 1360px) / 2 + 24px))!important;background:rgba(0,36,71,.94);box-shadow:0 10px 30px rgba(0,0,0,.25);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}
header + section{margin-top:104px!important}
header > a:first-child{transform-origin:left center}
@keyframes nv-solid{from{background:rgba(0,36,71,0);box-shadow:0 0 0 rgba(0,0,0,0);padding-top:22px;padding-bottom:22px;-webkit-backdrop-filter:blur(0);backdrop-filter:blur(0)}to{background:rgba(0,36,71,.94);box-shadow:0 10px 30px rgba(0,0,0,.25);padding-top:8px;padding-bottom:8px;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}}
@keyframes nv-logo{to{transform:scale(.8)}}
@supports (animation-timeline: scroll()){header{animation:nv-solid linear both;animation-timeline:scroll(root);animation-range:0 240px}header > a:first-child{animation:nv-logo linear both;animation-timeline:scroll(root);animation-range:0 240px}}
.nv-btn{transition:background .2s ease,transform .2s ease,border-color .2s ease}
.nv-btn:hover{background:rgba(236,201,81,.22)!important;border-color:#ECC951!important;transform:translateY(-2px)}
.nv-btn:focus-visible{outline:3px solid #ECC951;outline-offset:2px}
header nav a{position:relative}
header nav a::after{content:"";position:absolute;left:0;right:0;bottom:4px;height:2px;background:#ECC951;transform:scaleX(0);transition:transform .25s ease}
header nav a:hover::after{transform:scaleX(1)}
header nav a:hover{color:#ECC951!important}
@media (max-width:640px){header + section{margin-top:150px!important}header > div:last-child > a{display:none!important}header{padding-top:10px!important;padding-bottom:10px!important}}
/* arabic / rtl */
[dir=rtl]{font-family:'Cairo','Montserrat',system-ui,sans-serif!important}
[dir=rtl] *{letter-spacing:0!important}
[dir=rtl] button{text-align:right!important}
[dir=rtl] header > a:first-child{transform-origin:right center}
[dir=rtl] *:has(> .logo-run),[dir=rtl] *:has(> .logo-run-rev),[dir=rtl] *:has(> .sv-run),[dir=rtl] *:has(> .pf-run),[dir=rtl] *:has(> .tm-run),[dir=rtl] *:has(> .ab-run),[dir=rtl] *:has(> .x-run-a),[dir=rtl] *:has(> .x-run-b),[dir=rtl] *:has(> .ab-team-run),[dir=rtl] .svc-track{direction:ltr}
[dir=rtl] .ab-team-run > *,[dir=rtl] .svc-track > *{direction:rtl}
[dir=rtl] .x-fab{right:auto!important;left:20px}
/* dark mode */
[data-theme=dark] [style*="background: #FFFFFF"],[data-theme=dark] [style*="background: rgb(255, 255, 255)"]{background:#163F6E!important}
[data-theme=dark] [style*="background: #F3F6FA"],[data-theme=dark] [style*="background: rgb(243, 246, 250)"],[data-theme=dark] [style*="background: #F7F9FC"],[data-theme=dark] [style*="background: rgb(247, 249, 252)"],[data-theme=dark] [style*="background: #EEF2F7"],[data-theme=dark] [style*="background: rgb(238, 242, 247)"],[data-theme=dark] [style*="background: #E6ECF2"],[data-theme=dark] [style*="background: rgb(230, 236, 242)"]{background:#0A1D36!important}
[data-mgh-root][data-theme=dark]{background:#0E2A4B!important;color:#E8EEF5!important}
[data-theme=dark] [style*="color: #003366"],[data-theme=dark] [style*="color: rgb(0, 51, 102)"]{color:#E8EEF5!important}
[data-theme=dark] [style*="background: #ECC951"],[data-theme=dark] [style*="background: rgb(236, 201, 81)"],[data-theme=dark] [style*="background: #ECC951"] [style*="color: #003366"],[data-theme=dark] [style*="background: #ECC951"] [style*="color: rgb(0, 51, 102)"],[data-theme=dark] [style*="background: rgb(236, 201, 81)"] [style*="color: #003366"],[data-theme=dark] [style*="background: rgb(236, 201, 81)"] [style*="color: rgb(0, 51, 102)"],[data-theme=dark] [style*="background: #FBF3D3"] [style*="color: #003366"],[data-theme=dark] [style*="background: #FBF3D3"] [style*="color: rgb(0, 51, 102)"],[data-theme=dark] [style*="background: rgb(251, 243, 211)"] [style*="color: #003366"],[data-theme=dark] [style*="background: rgb(251, 243, 211)"] [style*="color: rgb(0, 51, 102)"]{color:#003366!important}
[data-theme=dark] [style*="color: #4F647B"],[data-theme=dark] [style*="color: rgb(79, 100, 123)"]{color:#A9B8C9!important}
[data-theme=dark] [style*="solid #E1E7EE"],[data-theme=dark] [style*="solid rgb(225, 231, 238)"],[data-theme=dark] [style*="solid #D5DEE8"],[data-theme=dark] [style*="solid rgb(213, 222, 232)"],[data-theme=dark] [style*="solid #E6ECF2"],[data-theme=dark] [style*="solid rgb(230, 236, 242)"],[data-theme=dark] [style*="solid #C9D3DE"],[data-theme=dark] [style*="solid rgb(201, 211, 222)"],[data-theme=dark] [style*="solid #B7C3D0"],[data-theme=dark] [style*="solid rgb(183, 195, 208)"]{border-color:rgba(255,255,255,.16)!important}
[data-theme=dark] [style*="background: #FBF3D3"],[data-theme=dark] [style*="background: rgb(251, 243, 211)"]{background:rgba(236,201,81,.14)!important;color:#ECC951!important}
[data-theme=dark] a[style*="background: #003366"],[data-theme=dark] a[style*="background: rgb(0, 51, 102)"],[data-theme=dark] button[style*="background: #003366"],[data-theme=dark] button[style*="background: rgb(0, 51, 102)"]{background:#ECC951!important;color:#003366!important}
[data-theme=dark] a[style*="background: #003366"] *,[data-theme=dark] a[style*="background: rgb(0, 51, 102)"] *{color:#003366!important}
[data-theme=dark] a[style*="solid #003366"],[data-theme=dark] a[style*="solid rgb(0, 51, 102)"],[data-theme=dark] button[style*="solid #003366"],[data-theme=dark] button[style*="solid rgb(0, 51, 102)"]{border-color:#ECC951!important;color:#ECC951!important}
[data-theme=dark] [style*="background: #D5DEE8"],[data-theme=dark] [style*="background: rgb(213, 222, 232)"],[data-theme=dark] [style*="background: #C9D3DE"],[data-theme=dark] [style*="background: rgb(201, 211, 222)"]{background:rgba(255,255,255,.18)!important}
[data-theme=dark] input,[data-theme=dark] select,[data-theme=dark] textarea{background:#0A1D36!important;color:#FFFFFF!important}
[data-theme=dark] details{background:#163F6E!important}
[data-theme=dark] a{color:#ECC951}
[data-theme=dark] svg[stroke="#4F647B"]{stroke:#A9B8C9}
[data-theme=dark] section[style*="background: #002447"],[data-theme=dark] section[style*="background: rgb(0, 36, 71)"],[data-theme=dark] footer{background:#0A2243!important}
@keyframes wa-ring{0%{transform:scale(1);opacity:.55}100%{transform:scale(1.9);opacity:0}}
@keyframes wa-wiggle{0%,86%,100%{transform:rotate(0)}89%{transform:rotate(-14deg)}92%{transform:rotate(12deg)}95%{transform:rotate(-8deg)}98%{transform:rotate(6deg)}}
@keyframes wa-in{from{opacity:0;transform:translateY(40px) scale(.6)}to{opacity:1;transform:none}}
@keyframes wa-peek{0%,100%{opacity:0;transform:translateX(-10px)}12%,80%{opacity:1;transform:none}}
.wa-fab{animation:wa-in .7s cubic-bezier(.2,.9,.3,1.3) .8s both}
.wa-icon{transition:transform .25s ease,box-shadow .25s ease}
.wa-icon::before,.wa-icon::after{content:"";position:absolute;left:0;top:0;width:100%;height:100%;border-radius:999px;background:#ECC951;z-index:-1;animation:wa-ring 2.4s ease-out infinite}
.wa-icon::after{animation-delay:1.2s}
.wa-glyph{animation:wa-wiggle 5s ease-in-out infinite;transform-origin:50% 60%}
.wa-label{opacity:0;transform:translateX(-10px);transition:opacity .25s ease,transform .25s ease;animation:wa-peek 6s ease 2s 1 both;pointer-events:none}
.wa-fab:hover .wa-label,.wa-fab:focus-visible .wa-label{opacity:1;transform:none;animation:none}
.wa-fab:hover .wa-icon{transform:scale(1.1);box-shadow:0 18px 36px rgba(236,201,81,.55)}
.wa-fab:hover{color:#FFFFFF}
.wa-fab:focus-visible{outline:3px solid #ECC951;outline-offset:4px;border-radius:999px}
[dir=rtl] .wa-fab{left:auto!important;right:20px;flex-direction:row-reverse}
@media (max-width:640px){.wa-fab{left:12px!important;bottom:12px!important}[dir=rtl] .wa-fab{left:auto!important;right:12px}.wa-icon{width:52px!important;height:52px!important;flex-basis:52px!important}.wa-label{display:none!important}}
@media (prefers-reduced-motion:reduce){.wa-fab,.wa-glyph,.wa-label,.wa-icon::before,.wa-icon::after{animation:none}.wa-icon::before,.wa-icon::after{display:none}}
body{overflow-x:hidden}
img{max-width:100%}
@media (max-width:1000px){h1{font-size:48px!important;letter-spacing:-1.4px!important}h2{font-size:34px!important}footer div[style*="font-size: 52px"]{font-size:40px!important}}
@media (max-width:640px){
h1{font-size:34px!important;line-height:1.12!important;letter-spacing:-.8px!important}
h2{font-size:26px!important;letter-spacing:-.4px!important}
header{justify-content:center!important;padding:16px!important;gap:12px!important}
header nav{order:3;width:100%;box-sizing:border-box;justify-content:center;gap:0 16px!important;padding:4px 14px!important;border-radius:20px!important;font-size:13px!important}
section{padding:48px 16px!important;gap:28px!important}
section > div[style*="max-width: 1360px"]{padding:48px 16px!important}
section[style*="background"]{padding:0!important}
[style*="padding: 48px 44px"],[style*="padding: 52px 48px"],[style*="padding: 52px 44px"],[style*="padding: 44px 40px"],#lead-panel + div{padding:28px 20px!important}
#lead > div,[style*="border-radius: 32px"]{border-radius:22px!important}
footer > div{padding:48px 16px 24px!important}
footer div[style*="font-size: 52px"]{font-size:30px!important;letter-spacing:-.8px!important}
p{font-size:15px!important}
}



/* beautiful pagination arrows */
.ex-nav,.pf-arrow{width:54px!important;height:54px!important;padding:0!important;border:0!important;border-radius:50%!important;background:linear-gradient(135deg,#003366,#0B4A8F)!important;color:#fff!important;display:grid;place-items:center;cursor:pointer;box-shadow:0 10px 22px rgba(0,51,102,.32),inset 0 0 0 1.5px rgba(236,201,81,.45);transition:transform .25s cubic-bezier(.3,1.6,.5,1),background .25s,color .25s,box-shadow .25s}
.ex-nav:hover,.pf-arrow:hover{background:#ECC951!important;color:#003366!important;transform:translateY(-4px) scale(1.08);box-shadow:0 16px 30px rgba(236,201,81,.55)}
.ex-nav:active,.pf-arrow:active{transform:scale(.94)}
.ex-nav svg,.pf-arrow svg{display:block;transition:transform .25s}
[dir=rtl] .ex-nav svg,[dir=rtl] .pf-arrow svg{transform:scaleX(-1)}
.ex-prev:hover svg,.pf-prev:hover svg{transform:translateX(-4px)}.ex-next:hover svg,.pf-next:hover svg{transform:translateX(4px)}
[dir=rtl] .ex-prev:hover svg,[dir=rtl] .pf-prev:hover svg{transform:scaleX(-1) translateX(-4px)}[dir=rtl] .ex-next:hover svg,[dir=rtl] .pf-next:hover svg{transform:scaleX(-1) translateX(4px)}
.ex-pg:not(.ex-nav){width:52px;height:52px}
.ex-pg.on,.pf-page[aria-current]{box-shadow:0 12px 28px rgba(236,201,81,.6)}
[data-theme="dark"] .ex-nav,[data-theme="dark"] .pf-arrow{background:linear-gradient(135deg,#1F4A7C,#2A5A94)!important;color:#fff!important}
[data-theme="dark"] .ex-nav:hover,[data-theme="dark"] .pf-arrow:hover{background:#ECC951!important;color:#003366!important}

/* dark mode: no white lines */
[data-theme="dark"] [style*="solid #FFFFFF"],[data-theme="dark"] [style*="solid #fff"]{border-color:#2A5A94!important}
[data-theme="dark"] [style*="rgba(255,255,255,0.15)"]{border-color:rgba(255,255,255,.07)!important}
[data-theme="dark"] .ex-sec::before{background:radial-gradient(600px 380px at 8% 6%,rgba(236,201,81,.1),transparent 70%),radial-gradient(700px 460px at 95% 40%,rgba(11,74,143,.45),transparent 70%),#0E2A4B!important}
