/* MGH theme – styles for the single-project template (ported verbatim from the approved HTML design). */
body{margin:0}.hero-fit{display:flex;flex-direction:column;min-height:calc(100vh - 56px)}.hero-fit>header,.hero-fit>section{width:100%;box-sizing:border-box}.hero-fit>section{margin-top:auto!important;margin-bottom:auto!important}
a{color:#003366;text-decoration:none}a:hover{color:#4F647B}
@keyframes sv-up{from{opacity:0;transform:translateY(26px)}to{opacity:1;transform:none}}
@keyframes sv-marquee{to{transform:translateX(-50%)}}
@keyframes sv-drift{from{transform:translate(0,0)}to{transform:translate(60px,40px)}}
.sv-up{animation:sv-up .8s cubic-bezier(.2,.7,.2,1) both}
.sv-d1{animation-delay:.15s}.sv-d2{animation-delay:.3s}.sv-d3{animation-delay:.45s}
.sv-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)}
.sv-glow{filter:blur(90px);animation:sv-drift 14s ease-in-out infinite alternate}
.sv-run{animation:sv-marquee 30s linear infinite}
.sv-card{transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease}
.sv-card:hover{transform:translateY(-8px);box-shadow:0 26px 50px rgba(0,51,102,.16);border-color:#ECC951}
.sv-chip{transition:background .2s ease,color .2s ease}
.sv-chip:hover{background:#ECC951;color:#003366}
#lead-panel > *{position:relative}
#lead input,#lead select,#lead textarea{outline:none;transition:border-color .2s ease,box-shadow .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 sv-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:sv-shine 3.6s ease-in-out infinite}
@media (prefers-reduced-motion:reduce){#lead button[type=submit]::after{animation:none;display:none}}
@supports (animation-timeline: view()){@media (prefers-reduced-motion:no-preference){.sv-sec{animation:sv-up linear both;animation-timeline:view();animation-range:entry 0% entry 40%}}}
@media (prefers-reduced-motion:reduce){.sv-up,.sv-glow,.sv-run{animation:none}.sv-card{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-flip{perspective:1200px}
.x-flip-in{transition:transform .65s cubic-bezier(.2,.7,.2,1);transform-style:preserve-3d}
.x-flip:hover .x-flip-in,.x-flip:focus .x-flip-in{transform:rotateY(180deg)}
.x-face{backface-visibility:hidden;-webkit-backface-visibility:hidden}
.x-back{transform:rotateY(180deg)}
.x-flip:focus-visible{outline:3px solid #ECC951;outline-offset:4px}
@media (prefers-reduced-motion:reduce){.x-fab,.x-dot{animation:none}.x-flip-in{transition:none}}
@media (max-width:640px){.x-fab{right:12px!important;bottom:12px!important;padding:12px 16px!important}}
.x-float{animation:x-bob 5s ease-in-out infinite}
@media (prefers-reduced-motion:reduce){.x-float{animation:none}}
@media (min-width:1001px){h1{font-size:56px!important;letter-spacing:-1.8px!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);-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);-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);-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}
}

.ex-tab{font-family:inherit;cursor:pointer;display:flex;align-items:center;gap:8px;padding:12px 22px;border-radius:999px;border:1.5px solid #D5DEE8;background:#fff;color:#003366;font-weight:700;font-size:14px;transition:all .25s ease}
.ex-tab em{font-style:normal;font-size:11px;background:#E6ECF2;border-radius:999px;padding:2px 8px}
.ex-tab:hover{border-color:#ECC951;transform:translateY(-3px)}
.ex-tab.on{background:#003366;color:#fff;border-color:#003366;box-shadow:0 12px 26px rgba(0,51,102,.28)}
.ex-tab.on em{background:#ECC951;color:#003366}
@keyframes ex-in{from{opacity:0;transform:translateY(34px) scale(.97)}to{opacity:1;transform:none}}
.ex-card{position:relative;overflow:hidden;cursor:pointer;background:#fff;border:1px solid #D5DEE8;border-radius:26px;padding:30px 26px 24px;display:flex;flex-direction:column;animation:ex-in .6s cubic-bezier(.2,.7,.2,1) both;transition:transform .3s,box-shadow .3s,border-color .3s}
.ex-card.d1{animation-delay:.08s}.ex-card.d2{animation-delay:.16s}.ex-card.d3{animation-delay:.24s}
.ex-card::before{content:"";position:absolute;left:0;right:0;bottom:0;height:4px;background:linear-gradient(90deg,#ECC951,#003366);transform:scaleX(0);transform-origin:left;transition:transform .45s}
.ex-card::after{content:"";position:absolute;right:-90px;top:-90px;width:220px;height:220px;border-radius:50%;background:radial-gradient(#ECC951,transparent 70%);opacity:0;transition:opacity .4s}
.ex-card:hover,.ex-card:focus-visible{transform:translateY(-10px);border-color:#ECC951;box-shadow:0 28px 54px rgba(0,51,102,.2);outline:none}
.ex-card:hover::before{transform:scaleX(1)}.ex-card:hover::after{opacity:.35}
.ex-num{position:absolute;right:22px;top:14px;font-size:54px;font-weight:800;line-height:1;color:#E1E7EE;transition:color .3s}
.ex-card:hover .ex-num{color:#ECC951}
.ex-ico{position:relative;z-index:1;width:64px;height:64px;border-radius:20px;display:grid;place-items:center;font-size:30px;margin-bottom:18px;background:linear-gradient(135deg,#003366,#0B4A8F);transition:transform .4s cubic-bezier(.3,1.6,.5,1),background .3s}
.ex-card:hover .ex-ico{transform:rotate(-8deg) scale(1.12);background:linear-gradient(135deg,#ECC951,#F5DE8C)}
.ex-chip{position:relative;z-index:1;align-self:flex-start;font-size:11px;font-weight:800;letter-spacing:1.5px;text-transform:uppercase;color:#A87B00;background:#FBF3D3;padding:5px 11px;border-radius:999px;margin-bottom:12px;display:inline-block}
.ex-t{position:relative;z-index:1;font-size:20px;margin:0 0 10px;color:#003366}
.ex-d{position:relative;z-index:1;flex:1;font-size:14.5px;line-height:1.65;color:#4F647B;margin:0 0 16px}
.ex-tags{position:relative;z-index:1;display:flex;flex-wrap:wrap;gap:6px;margin-bottom:18px}
.ex-tags span{font-size:11.5px;font-weight:600;background:#F3F6FA;color:#4F647B;padding:5px 10px;border-radius:999px}
.ex-more{position:relative;z-index:1;display:flex;align-items:center;justify-content:space-between;border-top:1px solid #E1E7EE;padding-top:14px;font-weight:700;font-size:14px;color:#003366}
.ex-more b{width:36px;height:36px;border-radius:50%;background:#ECC951;display:grid;place-items:center;transition:transform .3s}
.ex-card:hover .ex-more b{transform:translateX(6px)}
.ex-pg{font-family:inherit;cursor:pointer;width:46px;height:46px;border-radius:50%;border:1.5px solid #D5DEE8;background:#fff;color:#003366;font-weight:800;font-size:15px;transition:all .25s}
.ex-pg:hover{border-color:#ECC951;transform:translateY(-3px)}
.ex-pg.on{background:#ECC951;border-color:#ECC951;box-shadow:0 10px 22px rgba(236,201,81,.45)}
.ex-nav{background:#003366;color:#fff;border-color:#003366}
@keyframes ex-fade{from{opacity:0}to{opacity:1}}
@keyframes ex-pop{from{opacity:0;transform:translateY(30px) scale(.94)}to{opacity:1;transform:none}}
.ex-ov{position:fixed;inset:0;z-index:80;background:rgba(0,20,45,.7);-webkit-backdrop-filter: blur(6px); backdrop-filter: blur(6px);display:flex;align-items:center;justify-content:center;padding:20px;animation:ex-fade .25s both}
.ex-modal{position:relative;width:100%;max-width:620px;max-height:92vh;overflow:auto;background:#fff;border-radius:30px;padding:36px 34px;border-top:6px solid #ECC951;animation:ex-pop .4s cubic-bezier(.2,.7,.2,1) both}
.ex-mhead{display:flex;align-items:center;gap:18px}
.ex-mt{margin:0;font-size:26px;color:#003366}
.ex-x{position:absolute;right:16px;top:16px;width:38px;height:38px;border-radius:50%;border:0;background:#E6ECF2;color:#003366;cursor:pointer;font-size:15px}
.ex-bl{display:flex;gap:12px;align-items:center;font-weight:600;font-size:14.5px;color:#003366;padding:7px 0}
.ex-bl span{width:24px;height:24px;border-radius:50%;background:#ECC951;display:grid;place-items:center;font-size:12px;flex:0 0 24px}
.ex-ghost{border:1.5px solid #003366;color:#003366;font-weight:800;font-size:14px;padding:13px 26px;border-radius:999px}
[data-theme="dark"] .ex-h,[data-theme="dark"] .ex-t,[data-theme="dark"] .ex-mt,[data-theme="dark"] .ex-bl,[data-theme="dark"] .ex-more,[data-theme="dark"] .ex-ghost{color:#fff}
[data-theme="dark"] .ex-p,[data-theme="dark"] .ex-d{color:#A9B8C9!important}
[data-theme="dark"] .ex-card,[data-theme="dark"] .ex-modal,[data-theme="dark"] .ex-tab,[data-theme="dark"] .ex-pg{background:#143863;border-color:#26507F;color:#fff}
[data-theme="dark"] .ex-tab em,[data-theme="dark"] .ex-tags span,[data-theme="dark"] .ex-x{background:#26507F;color:#fff}
[data-theme="dark"] .ex-pg.on,[data-theme="dark"] .ex-tab.on em{background:#ECC951;color:#003366}
[data-theme="dark"] .ex-ghost{border-color:#ECC951}
@media (prefers-reduced-motion:reduce){.ex-card,.ex-ov,.ex-modal{animation:none}}

[data-mgh-root]{overflow-x:clip}
.ex-sec{position:relative;isolation:isolate}
.ex-sec::before{content:"";position:absolute;top:0;bottom:0;left:50%;width:100vw;margin-left:-50vw;z-index:-1;background:radial-gradient(600px 380px at 8% 6%,rgba(236,201,81,.22),transparent 70%),radial-gradient(700px 460px at 95% 40%,rgba(11,74,143,.16),transparent 70%),radial-gradient(520px 340px at 20% 95%,rgba(236,201,81,.16),transparent 70%),radial-gradient(rgba(0,51,102,.13) 1.2px,transparent 1.2px) 0 0/26px 26px,#F7F9FC}
[data-theme="dark"] .ex-sec::before{background:radial-gradient(600px 380px at 8% 6%,rgba(236,201,81,.12),transparent 70%),radial-gradient(700px 460px at 95% 40%,rgba(11,74,143,.45),transparent 70%),radial-gradient(rgba(255,255,255,.07) 1.2px,transparent 1.2px) 0 0/26px 26px,#061528}
@keyframes ex-spin{to{transform:rotate(360deg)}}
.ex-rings{position:absolute;left:-260px;bottom:-320px;width:760px;height:760px;border-radius:50%;pointer-events:none;background:repeating-radial-gradient(circle,rgba(236,201,81,.22) 0 2px,transparent 2px 46px);-webkit-mask-image:radial-gradient(circle,#000 30%,transparent 70%);mask-image:radial-gradient(circle,#000 30%,transparent 70%);animation:ex-spin 90s linear infinite}
.ex-art{position:relative;overflow:hidden;height:132px;margin:-30px -26px 0;border-radius:26px 26px 0 0}
.ex-art i{position:absolute;width:150px;height:150px;border-radius:50%;right:-30px;top:-50px;background:radial-gradient(circle at 35% 35%,#F5DE8C,#ECC951 55%,#A87B00);transition:transform .6s cubic-bezier(.2,.7,.2,1)}
.ex-art u{position:absolute;left:-40px;bottom:-70px;width:200px;height:200px;border-radius:50%;border:2px solid rgba(255,255,255,.35);box-shadow:0 0 0 22px rgba(255,255,255,.08),0 0 0 44px rgba(255,255,255,.05);transition:transform .6s cubic-bezier(.2,.7,.2,1)}
.ex-card:hover .ex-art i{transform:translate(-26px,18px) scale(1.15)}.ex-card:hover .ex-art u{transform:scale(1.18) rotate(12deg)}
.a-marketing{background:linear-gradient(135deg,#002447,#0B4A8F)}
.a-content{background:repeating-linear-gradient(115deg,rgba(0,51,102,.14) 0 14px,transparent 14px 28px),linear-gradient(135deg,#F5DE8C,#E3B93A)}
.a-content i{background:radial-gradient(circle at 35% 35%,#2B6CB0,#003366)}
.a-web{background:linear-gradient(rgba(236,201,81,.22) 1px,transparent 1px) 0 0/26px 26px,linear-gradient(90deg,rgba(236,201,81,.22) 1px,transparent 1px) 0 0/26px 26px,linear-gradient(135deg,#003366,#001B38)}
.a-consulting{background:conic-gradient(from 210deg at 70% 30%,#003366,#0B4A8F,#ECC951,#003366)}
.ex-card .ex-num{top:12px;color:rgba(255,255,255,.55);z-index:2}
.ex-card:hover .ex-num{color:#fff}
.ex-card .ex-ico{margin-top:-34px;border:4px solid #fff;box-shadow:0 10px 22px rgba(0,36,71,.25)}
[data-theme="dark"] .ex-card .ex-ico{border-color:#143863}
@media (prefers-reduced-motion:reduce){.ex-rings{animation:none}}


.ct-card{display:flex;align-items:flex-start;gap:16px;background:#fff;border:1px solid #E1E7EE;border-radius:22px;padding:20px 22px;transition:transform .25s,box-shadow .25s,border-color .25s}
.ct-card:hover{transform:translateY(-4px);box-shadow:0 18px 36px rgba(0,51,102,.14);border-color:#ECC951}
.ct-ico{flex:0 0 56px;height:56px;border-radius:16px;background:linear-gradient(135deg,#003366,#0B4A8F);display:grid;place-items:center;transition:transform .35s cubic-bezier(.3,1.6,.5,1)}
.ct-card:hover .ct-ico{transform:rotate(-8deg) scale(1.08)}
.ct-t{font-weight:800;font-size:17px;color:#003366;margin-bottom:4px}
.ct-d{font-size:14.5px;color:#4F647B;line-height:1.6}
.ct-copy{margin-top:8px;font-family:inherit;font-size:13px;font-weight:700;color:#003366;background:#FBF3D3;border:0;border-radius:999px;padding:7px 14px;cursor:pointer;transition:background .2s}
.ct-copy:hover{background:#ECC951}
.ct-map{position:relative;height:300px;border-radius:26px;overflow:hidden;border:1px solid #E1E7EE;box-shadow:0 18px 40px rgba(0,51,102,.12)}
.ct-map svg{display:block;width:100%;height:100%}
.ct-open{position:absolute;left:16px;bottom:16px;background:#fff;color:#003366;font-weight:800;font-size:13px;padding:12px 18px;border-radius:999px;box-shadow:0 10px 24px rgba(0,36,71,.25);transition:transform .2s,background .2s}
.ct-open:hover{background:#ECC951;transform:translateY(-3px)}
@keyframes ct-p{0%{r:12;opacity:.6}100%{r:34;opacity:0}}
.ct-pulse{animation:ct-p 2s ease-out infinite}
@media (min-width:1001px){.ct-h1x{font-size:56px}}
[data-theme="dark"] .ct-card{background:#143863;border-color:#26507F}
[data-theme="dark"] .ct-t{color:#fff}[data-theme="dark"] .ct-d{color:#A9B8C9}
[data-theme="dark"] .ct-copy{background:#26507F;color:#fff}
@media (prefers-reduced-motion:reduce){.ct-pulse{animation:none}}


.dt-photo{position:relative;flex:1 1 400px;min-width:0;height:420px}
.dt-a{position:absolute;left:0;top:10px;right:60px;bottom:50px;border-radius:32px;overflow:hidden;border:1px solid rgba(255,255,255,.3);box-shadow:0 26px 54px rgba(0,0,0,.4);transform:rotate(-3deg)}
.dt-b{position:absolute;right:0;bottom:0;width:46%;height:48%;border-radius:26px;overflow:hidden;border:5px solid #fff;box-shadow:0 22px 44px rgba(0,0,0,.4);transform:rotate(3deg)}
.dt-photo img{display:block;width:100%;height:100%;object-fit:cover}
.dt-badge{position:absolute;left:4%;bottom:6px;z-index:2;background:#ECC951;color:#003366;border-radius:20px;padding:14px 22px;box-shadow:0 18px 36px rgba(0,0,0,.35);display:flex;align-items:center;gap:12px;animation:x-bob 5s ease-in-out infinite}
.dt-badge i{font-style:normal;font-size:30px}.dt-badge span{display:block;font-size:11px;font-weight:800;letter-spacing:1.5px}.dt-badge b{font-size:18px;font-weight:800}
.dt-sec{max-width:1360px;margin:0 auto;padding:96px 24px 0}
.dt-head{max-width:700px;margin-bottom:40px}.dt-head small{color:#A87B00;font-weight:800;font-size:13px;letter-spacing:3px;text-transform:uppercase}
.dt-head h2{font-size:38px;line-height:1.12;letter-spacing:-1px;margin:10px 0 0;color:#003366}
.dt-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:22px}
.dt-card{position:relative;overflow:hidden;background:#fff;border:1px solid #D5DEE8;border-radius:24px;padding:28px 24px;transition:transform .3s,box-shadow .3s,border-color .3s}
.dt-card:hover{transform:translateY(-8px);border-color:#ECC951;box-shadow:0 24px 48px rgba(0,51,102,.16)}
.dt-card em{font-style:normal;display:inline-grid;place-items:center;width:46px;height:46px;border-radius:14px;background:linear-gradient(135deg,#003366,#0B4A8F);color:#ECC951;font-weight:800;margin-bottom:16px}
.dt-card h3{margin:0 0 8px;font-size:19px;color:#003366}.dt-card p{margin:0;font-size:14.5px;line-height:1.65;color:#4F647B}
.dt-band{background:#002447;color:#fff;margin-top:96px;padding:80px 0;position:relative;overflow:hidden}
.dt-band .dt-head h2{color:#fff}
.dt-who{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:18px}
.dt-who div{display:flex;align-items:center;gap:14px;border:1px solid rgba(255,255,255,.18);background:rgba(255,255,255,.06);border-radius:20px;padding:20px 22px;font-weight:700;transition:border-color .3s,transform .3s}
.dt-who div:hover{border-color:#ECC951;transform:translateY(-5px)}
.dt-who b{flex:0 0 30px;height:30px;border-radius:50%;background:#ECC951;color:#003366;display:grid;place-items:center;font-size:14px}
.dt-steps{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:22px;position:relative}
.dt-step{position:relative;padding-top:26px;border-top:3px solid #E1E7EE;transition:border-color .3s}.dt-step:hover{border-color:#ECC951}
.dt-step span{position:absolute;top:-17px;left:0;background:#ECC951;color:#003366;font-weight:800;border-radius:999px;padding:5px 14px;font-size:13px}
.dt-step h4{margin:0 0 6px;font-size:18px;color:#003366}.dt-step p{margin:0;font-size:14px;line-height:1.6;color:#4F647B}
.dt-faq details{background:#fff;border:1px solid #D5DEE8;border-radius:18px;padding:18px 22px;margin-bottom:12px;transition:border-color .2s}
.dt-faq details[open]{border-color:#ECC951}.dt-faq summary{cursor:pointer;font-weight:800;color:#003366;list-style:none;display:flex;justify-content:space-between;gap:12px}
.dt-faq summary::after{content:"+";color:#A87B00;font-size:22px;line-height:1}.dt-faq details[open] summary::after{content:"–"}
.dt-faq p{margin:12px 0 0;color:#4F647B;line-height:1.7;font-size:14.5px}
.dt-rel{display:flex;align-items:center;gap:16px;background:#fff;border:1px solid #D5DEE8;border-radius:22px;padding:20px 22px;transition:transform .3s,border-color .3s,box-shadow .3s}
.dt-rel:hover{transform:translateY(-6px);border-color:#ECC951;box-shadow:0 20px 40px rgba(0,51,102,.14)}
.dt-rel i{font-style:normal;flex:0 0 54px;height:54px;border-radius:16px;background:linear-gradient(135deg,#003366,#0B4A8F);display:grid;place-items:center;font-size:26px}
.dt-rel b{display:block;color:#003366;font-size:16px}.dt-rel span{font-size:13px;color:#4F647B}
.dt-cta{margin:96px auto 100px;max-width:1312px;border-radius:32px;background:linear-gradient(135deg,#ECC951,#F5DE8C);padding:64px 28px;text-align:center;color:#003366}
.dt-cta h2{font-size:38px;margin:0 0 12px;letter-spacing:-1px}.dt-cta p{margin:0 auto 26px;max-width:560px;line-height:1.7}
.dt-btn{display:inline-block;background:#003366;color:#fff;font-weight:800;padding:16px 32px;border-radius:999px;transition:transform .2s,box-shadow .2s}.dt-btn:hover{transform:translateY(-3px);box-shadow:0 14px 28px rgba(0,51,102,.4);color:#fff}
@media (max-width:700px){.dt-photo{height:320px}.dt-head h2,.dt-cta h2{font-size:28px}}
[data-theme="dark"] .dt-head h2,[data-theme="dark"] .dt-card h3,[data-theme="dark"] .dt-step h4,[data-theme="dark"] .dt-faq summary,[data-theme="dark"] .dt-rel b{color:#fff}
[data-theme="dark"] .dt-card,[data-theme="dark"] .dt-faq details,[data-theme="dark"] .dt-rel{background:#143863;border-color:#26507F}
[data-theme="dark"] .dt-card p,[data-theme="dark"] .dt-step p,[data-theme="dark"] .dt-faq p,[data-theme="dark"] .dt-rel span{color:#A9B8C9}
[data-theme="dark"] .dt-cta{color:#003366}
@media (prefers-reduced-motion:reduce){.dt-badge{animation:none}}

.dt-off{display:grid;grid-template-columns:repeat(auto-fit,minmax(380px,1fr));gap:18px}
.dt-o{display:flex;gap:16px;align-items:flex-start;background:#fff;border:1px solid #D5DEE8;border-radius:22px;padding:22px 24px;transition:transform .3s,border-color .3s,box-shadow .3s}
.dt-o:hover{transform:translateY(-5px);border-color:#ECC951;box-shadow:0 18px 38px rgba(0,51,102,.14)}
.dt-o span{flex:0 0 34px;height:34px;border-radius:50%;background:#ECC951;color:#003366;display:grid;place-items:center;font-weight:800;margin-top:2px}
.dt-o b{display:block;font-size:17px;color:#003366;margin-bottom:4px}.dt-o p{margin:0;font-size:14.5px;line-height:1.65;color:#4F647B}
@media (max-width:480px){.dt-off{grid-template-columns:1fr}}
[data-theme="dark"] .dt-o{background:#143863;border-color:#26507F}[data-theme="dark"] .dt-o b{color:#fff}[data-theme="dark"] .dt-o p{color:#A9B8C9}

/* dark palette (matches site) */
[data-theme="dark"] .dt-card,[data-theme="dark"] .dt-o,[data-theme="dark"] .dt-rel,[data-theme="dark"] .ex-card,[data-theme="dark"] .ex-modal,[data-theme="dark"] .ex-tab,[data-theme="dark"] .ex-pg,[data-theme="dark"] .ct-card{background:linear-gradient(160deg,#163F6E,#123461)!important;border-color:rgba(255,255,255,.1)!important}
[data-theme="dark"] .dt-card:hover,[data-theme="dark"] .dt-o:hover,[data-theme="dark"] .dt-rel:hover,[data-theme="dark"] .ex-card:hover,[data-theme="dark"] .ct-card:hover{border-color:#ECC951!important;box-shadow:0 22px 44px rgba(0,0,0,.5),0 0 0 1px rgba(236,201,81,.3)}
[data-theme="dark"] .dt-head small{color:#ECC951}
[data-theme="dark"] .dt-card em,[data-theme="dark"] .dt-rel i,[data-theme="dark"] .ex-ico,[data-theme="dark"] .ct-ico{box-shadow:inset 0 0 0 1px rgba(236,201,81,.4)}
[data-theme="dark"] .dt-band{background:radial-gradient(700px 320px at 88% 0%,rgba(236,201,81,.14),transparent 70%),radial-gradient(600px 300px at 5% 100%,rgba(11,74,143,.35),transparent 70%),#0A2243;border-top:1px solid rgba(255,255,255,.08);border-bottom:1px solid rgba(255,255,255,.08)}
[data-theme="dark"] .dt-who div{background:rgba(255,255,255,.05);border-color:rgba(255,255,255,.14)}
[data-theme="dark"] .dt-step{border-top-color:rgba(255,255,255,.16)}
[data-theme="dark"] .dt-o span{box-shadow:0 0 0 4px rgba(236,201,81,.16)}
[data-theme="dark"] .ex-chip{background:rgba(236,201,81,.14);color:#ECC951}
[data-theme="dark"] .ex-tags span{background:rgba(255,255,255,.07);color:#C9D3DE}
[data-theme="dark"] .ex-tab.on{background:#ECC951!important;color:#003366;border-color:#ECC951!important}
[data-theme="dark"] .ex-tab.on em{background:#003366;color:#ECC951}
[data-theme="dark"] .ex-nav{background:#ECC951!important;color:#003366;border-color:#ECC951!important}
[data-theme="dark"] .ex-pg.on{background:#ECC951!important;color:#003366}
[data-theme="dark"] .ex-more{border-top-color:rgba(255,255,255,.1);color:#fff}
[data-theme="dark"] .ex-num{color:rgba(255,255,255,.12)}
[data-theme="dark"] .ex-card .ex-ico{border-color:#163F6E}
[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,.4),transparent 70%),radial-gradient(rgba(255,255,255,.06) 1.2px,transparent 1.2px) 0 0/26px 26px,#0E2A4B}
[data-theme="dark"] .ct-copy{background:rgba(236,201,81,.14);color:#ECC951}
[data-theme="dark"] .ct-open{background:#ECC951;color:#003366}
[data-theme="dark"] .ct-map{border-color:rgba(255,255,255,.1)}
[data-theme="dark"] .ct-map svg>rect:first-child{fill:#163F6E}
[data-theme="dark"] .ct-map path[fill="#CFDAE6"]{fill:#0A2243}
[data-theme="dark"] .ct-map path[fill="#E8EEF5"]{fill:#163F6E}
[data-theme="dark"] .ct-map g[fill="#D5DEE8"]{fill:#1F4A7C}
[data-theme="dark"] .ct-map g[stroke="#FFFFFF"]{stroke:#2A5A94}

@keyframes pj2-rise{from{opacity:0;transform:translateY(46px)}to{opacity:1;transform:none}}
@keyframes pj2-float{50%{transform:translateY(-16px)}}
@keyframes pj2-drift{to{transform:translate(90px,-60px) scale(1.25)}}
@keyframes pj2-spin{to{transform:rotate(360deg)}}
@keyframes pj2-sweep{from{transform:translateX(-120%) skewX(-20deg)}to{transform:translateX(320%) skewX(-20deg)}}
@keyframes pj2-line{from{transform:scaleX(0)}to{transform:scaleX(1)}}
@keyframes pj2-pulse{0%{box-shadow:0 0 0 0 rgba(236,201,81,.55)}100%{box-shadow:0 0 0 22px rgba(236,201,81,0)}}
@keyframes pj2-run{to{transform:translateX(-50%)}}
@keyframes pj2-pop{from{opacity:0;transform:scale(.6)}to{opacity:1;transform:none}}
.pj2-hero{position:relative;max-width:1360px;margin:0 auto;padding:36px 24px 96px;display:flex;flex-wrap:wrap;align-items:center;gap:60px;color:#fff}
.pj2-aurora{position:absolute;inset:-80px 0 0;pointer-events:none;overflow:hidden}
.pj2-aurora i{position:absolute;border-radius:50%;filter:blur(90px);animation:pj2-drift 14s ease-in-out infinite alternate}
.pj2-aurora i:nth-child(1){width:460px;height:460px;background:rgba(236,201,81,.30);right:-60px;top:-40px}
.pj2-aurora i:nth-child(2){width:520px;height:520px;background:rgba(11,74,143,.75);left:-120px;bottom:-160px;animation-delay:-5s}
.pj2-aurora i:nth-child(3){width:260px;height:260px;background:rgba(236,201,81,.18);left:44%;top:30%;animation-delay:-9s}
.pj2-bignum{position:absolute;right:16px;top:-30px;font-size:340px;line-height:1;font-weight:800;letter-spacing:-12px;color:transparent;-webkit-text-stroke:2px rgba(236,201,81,.22);pointer-events:none;user-select:none}
.pj2-left{position:relative;flex:1 1 460px;min-width:0}
.pj2-r{opacity:0;animation:pj2-rise .9s cubic-bezier(.2,.7,.2,1) forwards}
.pj2-back{display:inline-block;color:#ECC951;font-weight:700;font-size:14px;transition:transform .25s}.pj2-back:hover{transform:translateX(-6px)}
.pj2-chip{display:inline-block;margin:22px 0 18px;color:#ECC951;font-weight:800;font-size:12px;letter-spacing:3px;text-transform:uppercase;border:1px solid rgba(236,201,81,.5);padding:8px 16px;border-radius:999px;background:rgba(236,201,81,.08)}
.pj2-title{margin:0 0 18px;font-size:64px;line-height:1.02;font-weight:800;letter-spacing:-2.5px}
.pj2-title span{display:inline-block;opacity:0;animation:pj2-rise .9s cubic-bezier(.2,.7,.2,1) forwards;margin-right:.22em}
.pj2-title span:nth-child(odd){color:#fff}.pj2-title span:nth-child(even){color:#ECC951}
.pj2-line{display:block;width:120px;height:5px;border-radius:5px;background:linear-gradient(90deg,#ECC951,transparent);transform-origin:left;animation:pj2-line 1.2s .5s cubic-bezier(.2,.7,.2,1) both;margin-bottom:22px}
.pj2-desc{margin:0 0 30px;font-size:19px;line-height:1.75;color:#C9D3DE;max-width:560px}
.pj2-cta{display:flex;flex-wrap:wrap;gap:12px;margin-bottom:36px}
.pj2-btn{position:relative;overflow:hidden;display:inline-block;background:#ECC951;color:#003366;font-weight:800;font-size:14px;padding:16px 30px;border-radius:999px;transition:transform .25s,box-shadow .25s}
.pj2-btn::after{content:"";position:absolute;top:0;bottom:0;width:40px;background:rgba(255,255,255,.6);animation:pj2-sweep 3.4s ease-in-out infinite}
.pj2-btn:hover{transform:translateY(-4px);box-shadow:0 16px 32px rgba(236,201,81,.4)}
.pj2-ghost{display:inline-block;border:1.5px solid rgba(255,255,255,.4);color:#fff;font-weight:700;font-size:14px;padding:15px 28px;border-radius:999px;transition:all .25s}.pj2-ghost:hover{border-color:#ECC951;color:#ECC951;transform:translateY(-4px)}
.pj2-facts{display:flex;flex-wrap:wrap;gap:12px}
.pj2-facts div{background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.14);-webkit-backdrop-filter: blur(8px); backdrop-filter: blur(8px);border-radius:16px;padding:12px 18px;min-width:120px}
.pj2-facts span{display:block;font-size:11px;font-weight:800;letter-spacing:1.4px;color:#ECC951;text-transform:uppercase}.pj2-facts b{font-size:14px}
.pj2-stage{position:relative;flex:1 1 460px;min-width:0;perspective:1400px;animation:pj2-rise 1.1s .25s cubic-bezier(.2,.7,.2,1) both}
.pj2-orbit{position:absolute;left:50%;top:50%;width:112%;aspect-ratio:1;margin:-56% 0 0 -56%;border-radius:50%;border:1.5px dashed rgba(236,201,81,.4);animation:pj2-spin 40s linear infinite}
.pj2-orbit::after{content:"";position:absolute;left:12%;top:8%;width:18px;height:18px;border-radius:50%;background:#ECC951;animation:pj2-pulse 2s infinite}
.pj2-float{animation:pj2-float 6s ease-in-out infinite}
.pj2-browser{border-radius:24px;overflow:hidden;background:#fff;border:1px solid rgba(255,255,255,.35);box-shadow:0 40px 80px rgba(0,0,0,.5);transform:rotateY(-12deg) rotateX(5deg) rotateZ(-2deg);transition:transform .6s cubic-bezier(.2,.7,.2,1)}
.pj2-stage:hover .pj2-browser{transform:none}
.pj2-bar{height:42px;display:flex;align-items:center;gap:7px;padding:0 14px;background:#EEF2F7;border-bottom:1px solid #E1E7EE}
.pj2-bar i{width:11px;height:11px;border-radius:50%;background:#C9D3DE}.pj2-bar i:nth-child(3){background:#ECC951}
.pj2-bar span{flex:1;margin-left:8px;height:24px;border-radius:999px;background:#fff;color:#4F647B;font-size:11px;font-weight:600;line-height:24px;padding:0 14px}
.pj2-shot{height:360px;background:#fff}.pj2-shot img{display:block;width:100%;height:100%}
.pj2-tag{position:absolute;z-index:3;background:#ECC951;color:#003366;border-radius:18px;padding:12px 18px;box-shadow:0 18px 36px rgba(0,0,0,.4);font-size:13px;font-weight:800;animation:pj2-float 5s ease-in-out infinite,pj2-pop .8s 1s both}
.pj2-tag span{display:block;font-size:10px;letter-spacing:1.5px;opacity:.75}
.pj2-tag.t1{left:-18px;top:14%}.pj2-tag.t2{right:-10px;bottom:6%;background:#fff;animation-delay:-2s,1.2s}.pj2-tag.t3{right:8%;top:-18px;background:#0B4A8F;color:#fff;animation-delay:-3.5s,1.4s}
.pj2-mq{background:#ECC951;color:#003366;overflow:hidden;white-space:nowrap;padding:16px 0;font-weight:800;font-size:15px;letter-spacing:2px;text-transform:uppercase;transform:rotate(-1.2deg);margin:-40px -20px 0;position:relative;z-index:3;box-shadow:0 14px 30px rgba(0,0,0,.25)}
.pj2-mq div{display:inline-block;animation:pj2-run 26s linear infinite}.pj2-mq span{margin:0 22px}
.pj2-sec{max-width:1360px;margin:0 auto;padding:100px 24px 0}
.pj2-h{max-width:720px;margin-bottom:44px}.pj2-h small{color:#A87B00;font-weight:800;font-size:13px;letter-spacing:3px;text-transform:uppercase}
.pj2-h h2{font-size:42px;line-height:1.1;letter-spacing:-1.2px;margin:10px 0 0;color:#003366}
.pj2-ov{display:flex;flex-wrap:wrap;gap:36px;align-items:stretch}
.pj2-quote{flex:2 1 460px;position:relative;padding:12px 0 0 6px}
.pj2-quote::before{content:"“";position:absolute;left:-6px;top:-44px;font-size:200px;line-height:1;font-weight:800;color:#ECC951;opacity:.9}
.pj2-quote p{position:relative;margin:34px 0 0;font-size:24px;line-height:1.7;font-weight:600;color:#003366}
.pj2-info{flex:1 1 320px;position:relative;overflow:hidden;border-radius:28px;background:#002447;color:#fff;padding:32px 30px;box-shadow:0 28px 56px rgba(0,36,71,.28)}
.pj2-info::before{content:"";position:absolute;width:420px;height:420px;left:-60px;top:-60px;background:conic-gradient(from 0deg,transparent,rgba(236,201,81,.35),transparent 40%);animation:pj2-spin 9s linear infinite}
.pj2-info::after{content:"";position:absolute;inset:2px;border-radius:26px;background:#002447}
.pj2-info>div{position:relative;z-index:2;display:flex;justify-content:space-between;gap:16px;padding:15px 0;border-bottom:1px solid rgba(255,255,255,.14)}
.pj2-info>div:last-child{border-bottom:0}.pj2-info span{font-size:12px;font-weight:800;letter-spacing:1.4px;color:#ECC951;text-transform:uppercase}.pj2-info b{font-size:15px;text-align:right}
.pj2-bento{display:grid;grid-template-columns:repeat(4,1fr);grid-auto-rows:minmax(190px,auto);gap:20px}
.pj2-b{position:relative;overflow:hidden;background:#fff;border:1px solid #D5DEE8;border-radius:28px;padding:30px 28px;display:flex;flex-direction:column;justify-content:flex-end;transition:transform .35s,border-color .35s,box-shadow .35s}
.pj2-b::after{content:"";position:absolute;top:0;bottom:0;width:60px;background:linear-gradient(90deg,transparent,rgba(236,201,81,.35),transparent);transform:translateX(-160%) skewX(-20deg)}
.pj2-b:hover{transform:translateY(-10px);border-color:#ECC951;box-shadow:0 30px 56px rgba(0,51,102,.2)}.pj2-b:hover::after{animation:pj2-sweep 1.1s ease}
.pj2-b em{position:absolute;right:22px;top:6px;font-style:normal;font-size:84px;font-weight:800;line-height:1;color:#E6ECF2;transition:color .35s}.pj2-b:hover em{color:#ECC951}
.pj2-b h3{position:relative;margin:0 0 8px;font-size:21px;color:#003366}.pj2-b p{position:relative;margin:0;font-size:14.5px;line-height:1.65;color:#4F647B}
.pj2-b:first-child{grid-column:span 2;grid-row:span 2;background:linear-gradient(135deg,#003366,#0B4A8F);border-color:transparent}
.pj2-b:first-child h3{color:#fff;font-size:30px}.pj2-b:first-child p{color:#C9D3DE;font-size:16px}.pj2-b:first-child em{font-size:160px;color:rgba(255,255,255,.10)}
.pj2-b:nth-child(4){grid-column:span 2;background:linear-gradient(135deg,#FBF3D3,#F5DE8C);border-color:transparent}.pj2-b:nth-child(4) em{color:rgba(0,51,102,.12)}
@media (max-width:900px){.pj2-bento{grid-template-columns:1fr 1fr}.pj2-b:first-child,.pj2-b:nth-child(4){grid-column:span 2}.pj2-bignum{font-size:200px}.pj2-title{font-size:46px}}
@media (max-width:560px){.pj2-bento{grid-template-columns:1fr}.pj2-b:first-child,.pj2-b:nth-child(4){grid-column:auto;grid-row:auto}.pj2-shot{height:230px}.pj2-title{font-size:38px}.pj2-quote p{font-size:19px}}
.pj2-show{position:relative;border-radius:36px;overflow:hidden;background:linear-gradient(135deg,#002447,#0B4A8F);padding:70px 40px 90px;display:flex;justify-content:center}
.pj2-show::before{content:"";position:absolute;inset:0;background-image:radial-gradient(rgba(255,255,255,.16) 1px,transparent 1px);background-size:26px 26px;-webkit-mask-image:linear-gradient(#000,transparent);mask-image:linear-gradient(#000,transparent)}
.pj2-show i{position:absolute;width:380px;height:380px;border-radius:50%;background:rgba(236,201,81,.28);filter:blur(80px);left:10%;top:-120px;animation:pj2-drift 12s ease-in-out infinite alternate}
.pj2-lap{position:relative;width:min(760px,100%)}
.pj2-lapscr{border-radius:18px 18px 0 0;background:#0A1D36;padding:14px 14px 0;border:1px solid rgba(255,255,255,.25)}
.pj2-lapscr div{height:360px;background:#fff;border-radius:6px 6px 0 0;overflow:hidden}.pj2-lapscr img{display:block;width:100%;height:100%}
.pj2-lapbase{height:16px;border-radius:0 0 18px 18px;background:linear-gradient(#C9D3DE,#8FA0B5);margin:0 -4%}
.pj2-ph{position:absolute;right:-40px;bottom:-56px;width:150px;border-radius:26px;background:#0A1D36;padding:8px;border:1px solid rgba(255,255,255,.3);box-shadow:0 30px 60px rgba(0,0,0,.5);animation:pj2-float 5.5s ease-in-out -2s infinite}
.pj2-ph div{height:290px;border-radius:19px;overflow:hidden;background:#fff}.pj2-ph img{display:block;width:100%;height:100%;object-fit:cover;object-position:top}
@media (max-width:760px){.pj2-lapscr div{height:200px}.pj2-ph{width:96px;right:-10px;bottom:-40px}.pj2-ph div{height:180px}.pj2-show{padding:50px 20px 70px}}
.pj2-tl{position:relative;display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:22px;padding-top:34px}
.pj2-tl::before{content:"";position:absolute;left:0;right:0;top:16px;height:3px;background:#E1E7EE}
.pj2-tl::after{content:"";position:absolute;left:0;right:0;top:16px;height:3px;background:linear-gradient(90deg,#ECC951,#0B4A8F);transform-origin:left;animation:pj2-line 3s .6s ease-out both}
.pj2-st{position:relative}.pj2-st span{position:absolute;top:-34px;left:0;width:36px;height:36px;border-radius:50%;background:#ECC951;color:#003366;font-weight:800;display:grid;place-items:center;z-index:2;animation:pj2-pulse 2.4s infinite}
.pj2-st:nth-child(2) span{animation-delay:.4s}.pj2-st:nth-child(3) span{animation-delay:.8s}.pj2-st:nth-child(4) span{animation-delay:1.2s}
.pj2-st h4{margin:12px 0 6px;font-size:19px;color:#003366}.pj2-st p{margin:0;font-size:14px;line-height:1.6;color:#4F647B}
.pj2-nav{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:20px}
.pj2-n{position:relative;overflow:hidden;display:flex;flex-direction:column;gap:6px;background:#002447;border-radius:28px;padding:34px 32px;transition:transform .35s,box-shadow .35s}
.pj2-n::before{content:"";position:absolute;width:240px;height:240px;border-radius:50%;background:radial-gradient(#ECC951,transparent 70%);right:-80px;top:-80px;opacity:.3;transition:opacity .35s,transform .5s}
.pj2-n:hover{transform:translateY(-8px);box-shadow:0 30px 56px rgba(0,36,71,.35)}.pj2-n:hover::before{opacity:.6;transform:scale(1.3)}
.pj2-n span{position:relative;font-size:12px;font-weight:800;letter-spacing:1.5px;color:#ECC951;text-transform:uppercase}.pj2-n b{position:relative;font-size:24px;color:#fff}
.pj2-n.r{text-align:right;align-items:flex-end}
[data-theme="dark"] .pj2-h h2,[data-theme="dark"] .pj2-quote p,[data-theme="dark"] .pj2-b h3,[data-theme="dark"] .pj2-st h4{color:#fff}
[data-theme="dark"] .pj2-h small{color:#ECC951}[data-theme="dark"] .pj2-b p,[data-theme="dark"] .pj2-st p{color:#A9B8C9}
[data-theme="dark"] .pj2-b{background:linear-gradient(160deg,#163F6E,#123461)!important;border-color:rgba(255,255,255,.1)!important}
[data-theme="dark"] .pj2-b:first-child{background:linear-gradient(135deg,#0B4A8F,#003366)!important}
[data-theme="dark"] .pj2-b:nth-child(4){background:linear-gradient(135deg,#46401A,#6B5815)!important}[data-theme="dark"] .pj2-b:nth-child(4) h3{color:#fff}
[data-theme="dark"] .pj2-b em{color:rgba(255,255,255,.06)}
[data-theme="dark"] .pj2-tl::before{background:rgba(255,255,255,.14)}
[data-theme="dark"] .pj2-n{background:#0A2243;border:1px solid rgba(255,255,255,.1)}
@media (prefers-reduced-motion:reduce){.pj2-hero *,.pj2-show *,.pj2-tl *,.pj2-mq *,.pj2-stage,.pj2-b::after,.pj2-info::before{animation:none!important}.pj2-r,.pj2-title span{opacity:1}}

.pj2-story{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:20px}
.pj2-sc{position:relative;overflow:hidden;background:#fff;border:1px solid #D5DEE8;border-radius:26px;padding:34px 30px;transition:transform .3s,box-shadow .3s}
.pj2-sc:hover{transform:translateY(-8px);box-shadow:0 26px 50px rgba(0,51,102,.16)}
.pj2-sc em{position:absolute;right:20px;top:8px;font-style:normal;font-size:84px;font-weight:800;line-height:1;color:#E6ECF2}
.pj2-sc span{position:relative;display:inline-block;font-size:12px;font-weight:800;letter-spacing:1.6px;text-transform:uppercase;color:#A87B00;margin-bottom:14px}
.pj2-sc p{position:relative;margin:0;font-size:17px;line-height:1.75;color:#003366;font-weight:600}
.pj2-sc.gold{background:linear-gradient(135deg,#FBF3D3,#F5DE8C);border-color:transparent}.pj2-sc.gold span{color:#003366}
.pj2-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:20px}
.pj2-stats div{background:linear-gradient(135deg,#003366,#0B4A8F);color:#fff;border-radius:26px;padding:34px 28px;position:relative;overflow:hidden}
.pj2-stats div::after{content:"";position:absolute;right:-50px;bottom:-50px;width:150px;height:150px;border-radius:50%;background:radial-gradient(#ECC951,transparent 70%);opacity:.5}
.pj2-stats b{display:block;font-size:42px;letter-spacing:-1px;color:#ECC951;position:relative}.pj2-stats span{position:relative;font-size:14px;color:#C9D3DE;font-weight:600}
.pj2-test{position:relative;background:#002447;color:#fff;border-radius:34px;padding:64px 56px 48px;overflow:hidden}
.pj2-test::before{content:"";position:absolute;left:-80px;bottom:-120px;width:360px;height:360px;border-radius:50%;background:rgba(236,201,81,.22);filter:blur(60px)}
.pj2-qm{position:absolute;left:36px;top:-10px;font-size:190px;line-height:1;font-weight:800;color:#ECC951;opacity:.9}
.pj2-test small{position:relative;display:block;color:#ECC951;font-weight:800;font-size:12px;letter-spacing:3px;text-transform:uppercase;margin-bottom:14px}
.pj2-test p{position:relative;margin:0 0 28px;font-size:26px;line-height:1.6;font-weight:600;max-width:900px}
.pj2-who{position:relative;display:flex;align-items:center;gap:14px}.pj2-who i{font-style:normal;width:52px;height:52px;border-radius:50%;background:#ECC951;color:#003366;display:grid;place-items:center;font-weight:800;font-size:20px}
.pj2-who b{display:block;font-size:16px}.pj2-who span{font-size:13px;color:#C9D3DE}
@media (max-width:640px){.pj2-test{padding:60px 26px 36px}.pj2-test p{font-size:19px}}
[data-theme="dark"] .pj2-sc{background:linear-gradient(160deg,#163F6E,#123461)!important;border-color:rgba(255,255,255,.1)!important}[data-theme="dark"] .pj2-sc p{color:#fff}[data-theme="dark"] .pj2-sc em{color:rgba(255,255,255,.06)}
[data-theme="dark"] .pj2-sc span{color:#ECC951}[data-theme="dark"] .pj2-sc.gold{background:linear-gradient(135deg,#46401A,#6B5815)!important}
[data-theme="dark"] .pj2-test{background:#0A2243;border:1px solid rgba(255,255,255,.1)}

@keyframes mgh-marquee{to{transform:translateX(-50%)}}
.logo-run{animation:mgh-marquee 30s linear infinite}.logo-run:hover{animation-play-state:paused}
@media (prefers-reduced-motion:reduce){.logo-run{animation:none}}

/* 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}

/* Softer, layered shadows on the project details page (MGH 1.0.2). */
.pj2-browser{box-shadow:0 0 0 1px rgba(255,255,255,.14),0 4px 10px rgba(0,8,20,.25),0 24px 48px -12px rgba(0,8,20,.55),0 60px 110px -30px rgba(0,8,20,.7),0 0 70px -6px rgba(236,201,81,.30),0 0 140px -20px rgba(90,150,255,.28)!important}
.pj2-tag{box-shadow:0 1px 3px rgba(0,20,45,.10),0 10px 22px -8px rgba(0,20,45,.30)!important}
.pj2-mq{box-shadow:0 6px 18px -8px rgba(0,36,71,.22)!important}
.pj2-info{box-shadow:0 1px 2px rgba(0,36,71,.06),0 14px 34px -14px rgba(0,36,71,.24)!important}
.pj2-ph{box-shadow:0 2px 6px rgba(0,0,0,.14),0 18px 36px -14px rgba(0,0,0,.40)!important}
.pj2-b:hover{box-shadow:0 1px 2px rgba(0,51,102,.05),0 16px 32px -14px rgba(0,51,102,.18)!important}
.pj2-sc:hover{box-shadow:0 1px 2px rgba(0,51,102,.05),0 14px 28px -12px rgba(0,51,102,.16)!important}
.pj2-n:hover{box-shadow:0 1px 2px rgba(0,36,71,.08),0 16px 32px -14px rgba(0,36,71,.30)!important}
.pj2-btn:hover{box-shadow:0 10px 22px -10px rgba(168,123,0,.45)!important}
.dt-o:hover,.dt-rel:hover,.dt-card:hover{box-shadow:0 1px 2px rgba(0,51,102,.05),0 12px 26px -12px rgba(0,51,102,.16)!important}
.pj2-b:hover,.pj2-sc:hover,.pj2-n:hover{transform:translateY(-5px)!important}
.dt-o:hover,.dt-rel:hover{transform:translateY(-3px)!important}
/* Hero glow: span the full hero instead of being clipped to the 1360px content box
   (the clip left a hard-edged rectangle behind the title). */
.pj2-aurora{inset:-260px calc(50% - 50vw) -220px!important;overflow:visible!important}
.pj2-aurora i{filter:blur(110px)!important}
.pj2-aurora i:nth-child(2){background:rgba(11,74,143,.55)!important}
/* Hero image: soft floor shadow under the browser mockup for depth */
.pj2-stage::after{content:"";position:absolute;left:8%;right:8%;bottom:-48px;height:64px;border-radius:50%;background:radial-gradient(closest-side,rgba(0,6,16,.8),rgba(0,6,16,0));filter:blur(12px);z-index:0;pointer-events:none}
.pj2-browser{position:relative;z-index:1}
