@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@400;500;600;700;800&display=swap');

:root{--navy:#08285a;--deep:#061d44;--blue:#064da8;--bright:#16a9e0;--pale:#e9f4fb;--ink:#10233f;--muted:#60708a;--line:#dce6ef;--white:#fff;--soft:#f5f8fc;--container:1210px}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:90px}
body{margin:0;color:var(--ink);background:var(--white);font-family:'DM Sans',Arial,sans-serif;line-height:1.6;-webkit-font-smoothing:antialiased}
body.menu-open{overflow:hidden}
button,a{font:inherit}
a{color:inherit;text-decoration:none}
button{cursor:pointer}
img{max-width:100%;display:block}
h1,h2,h3,p{margin-top:0}
h1,h2,h3{font-family:Manrope,'DM Sans',Arial,sans-serif;line-height:1.15;letter-spacing:-.045em}
h2{font-size:clamp(2.3rem,4vw,4.1rem);font-weight:700}
.container{width:min(calc(100% - 48px),var(--container));margin-inline:auto}
.section{padding:clamp(76px,9vw,132px) 0}
.skip-link{position:absolute;left:16px;top:-60px;background:#fff;color:#000;padding:12px 18px;z-index:1000}.skip-link:focus{top:12px}
:focus-visible{outline:3px solid var(--bright);outline-offset:4px}
.site-header{height:86px;background:#fff;position:relative;z-index:20;border-bottom:1px solid #edf1f6}
.nav-wrap{height:100%;display:flex;align-items:center;justify-content:space-between;gap:32px}
.brand{display:inline-flex;align-items:center;flex:0 0 auto}.brand img{width:155px;height:auto;object-fit:contain}
.primary-nav{display:flex;align-items:center;gap:34px;font-size:.88rem;font-weight:700;color:#324765}
.primary-nav>a:not(.nav-cta){transition:color .2s}.primary-nav>a:not(.nav-cta):hover{color:var(--blue)}
.nav-cta{padding:12px 18px;background:var(--blue);color:#fff;border-radius:4px;transition:background .2s,transform .2s}.nav-cta:hover{background:#063c82;transform:translateY(-2px)}.nav-cta span{margin-left:8px}
.menu-toggle{display:none}
.eyebrow{display:flex;align-items:center;gap:12px;margin-bottom:24px;text-transform:uppercase;letter-spacing:.18em;font-size:.72rem;font-weight:800;color:var(--blue)}
.eyebrow-line{width:26px;height:2px;background:var(--bright);flex:0 0 auto}.eyebrow-on-dark{color:#9adcf5}
.button{display:inline-flex;align-items:center;justify-content:space-between;gap:24px;padding:15px 20px;border-radius:4px;font-weight:700;font-size:.91rem;min-height:52px;transition:transform .2s,background .2s,box-shadow .2s}.button:hover{transform:translateY(-3px)}.button span{font-size:1.1rem}.button-light{background:#fff;color:var(--blue);box-shadow:0 8px 24px rgba(0,0,0,.1)}.button-light:hover{background:#e9f7fd}.button-outline{border:1px solid rgba(255,255,255,.55);color:#fff}.button-outline:hover{background:rgba(255,255,255,.1)}
.hero{min-height:680px;position:relative;display:flex;align-items:center;overflow:hidden;background:var(--deep);color:#fff}
.hero-photo,.hero-shade{position:absolute;inset:0}.hero-photo{background:url('assets/dubai-skyline.webp') center 58%/cover no-repeat;opacity:.85}.hero-shade{background:linear-gradient(90deg,rgba(3,24,60,.95) 0%,rgba(4,36,83,.89) 41%,rgba(3,37,88,.45) 100%),linear-gradient(0deg,rgba(1,20,48,.55),transparent 38%)}
.hero-grid{position:relative;z-index:1;display:grid;grid-template-columns:minmax(0,760px) minmax(220px,300px);justify-content:space-between;gap:60px;align-items:end;padding-top:95px;padding-bottom:125px}
.hero-eyebrow{color:#a5e5ff;margin-bottom:30px}.hero h1{font-size:clamp(3.3rem,5.8vw,5.8rem);font-weight:700;max-width:830px;margin:0 0 25px;letter-spacing:-.06em}.hero h1 em,.approach h2 em{font-style:normal;color:#49c6f1}.hero-lead{font-size:clamp(1.05rem,1.4vw,1.25rem);line-height:1.7;max-width:600px;color:#dcebf8;margin-bottom:34px}.hero-actions{display:flex;align-items:center;gap:30px;flex-wrap:wrap}.text-link{font-weight:700;font-size:.92rem}.light-link{color:#fff}.light-link span{margin-left:8px}.light-link:hover{text-decoration:underline;text-underline-offset:6px}
.hero-note{background:rgba(255,255,255,.09);border:1px solid rgba(255,255,255,.24);backdrop-filter:blur(14px);padding:30px;max-width:290px;align-self:end}.note-mark{color:#6ccef3;letter-spacing:.17em;font-size:.78rem;font-weight:800}.note-rule{display:block;width:38px;height:2px;background:var(--bright);margin:22px 0}.hero-note strong{display:block;font-size:1.25rem;line-height:1.4}.hero-note p{font-size:.9rem;line-height:1.65;color:#d2e5f4;margin:13px 0 0}
.hero-bottom{position:absolute;z-index:1;bottom:0;left:50%;transform:translateX(-50%);display:flex;justify-content:space-between;align-items:center;padding:20px 0;border-top:1px solid rgba(255,255,255,.27);font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.16em;color:#c7dced}.hero-bottom a:hover{color:#fff}.hero-bottom a span{margin-left:8px}
.intro-grid{display:grid;grid-template-columns:1fr .85fr;gap:clamp(50px,9vw,145px)}.intro h2{max-width:640px;margin-bottom:0}.intro-copy{padding-top:45px}.intro-copy p{color:#5d6d82;font-size:1.02rem;line-height:1.85}.intro-copy .lead{color:var(--ink);font-size:1.27rem;font-weight:700;line-height:1.55}.inline-link{display:inline-flex;gap:22px;align-items:center;margin-top:16px;color:var(--blue);font-size:.92rem;font-weight:800;border-bottom:2px solid var(--bright);padding-bottom:7px}.inline-link:hover{gap:30px}.capability-bar{margin-top:95px;display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.capability-bar span{display:flex;align-items:center;min-height:82px;padding:20px 28px;font-weight:800;color:#27435f;border-right:1px solid var(--line);font-size:.95rem}.capability-bar span:first-child{padding-left:0}.capability-bar span:last-child{border:0}
.services{background:var(--soft)}.section-heading{display:grid;grid-template-columns:1.05fr .7fr;justify-content:space-between;gap:70px;align-items:end;margin-bottom:55px}.section-heading h2{max-width:710px;margin-bottom:0}.section-heading>p{max-width:390px;color:var(--muted);line-height:1.8;margin:0 0 6px}
.service-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.service-card{position:relative;min-height:390px;background:#fff;border:1px solid #e1e9f1;padding:38px 42px 34px;display:flex;flex-direction:column;transition:box-shadow .25s,transform .25s}.service-card:hover{transform:translateY(-4px);box-shadow:0 20px 42px rgba(10,49,94,.1)}.service-number{position:absolute;top:39px;right:42px;color:#9bacc0;font-size:.8rem;font-weight:800;letter-spacing:.12em}.service-icon{width:52px;height:52px;margin-bottom:27px;color:var(--blue)}.service-icon svg{width:100%;height:100%;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.service-card h3{font-size:1.46rem;letter-spacing:-.035em;margin-bottom:11px}.service-card p{color:var(--muted);font-size:.96rem;line-height:1.7;max-width:440px;margin-bottom:20px}.service-card ul{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 20px;padding:20px 0 0;margin:auto 0 0;border-top:1px solid var(--line);list-style:none;font-size:.82rem;font-weight:700;color:#2e4661}.service-card li{position:relative;padding-left:13px}.service-card li:before{content:'';width:5px;height:5px;background:var(--bright);position:absolute;left:0;top:.7em;border-radius:50%}.feature-card{border-top:4px solid var(--bright)}.service-card-dark{background:var(--blue);color:#fff;border-color:var(--blue)}.service-card-dark .service-icon,.service-card-dark .service-number{color:#8bdef8}.service-card-dark p,.service-card-dark ul{color:#d9ecfa}.service-card-dark ul{border-color:rgba(255,255,255,.25)}.service-card-dark a{display:inline-flex;gap:16px;align-items:center;margin-top:24px;font-size:.9rem;font-weight:800}.service-card-dark a:hover{text-decoration:underline;text-underline-offset:5px}
.approach{background:var(--deep);color:#fff;position:relative;overflow:hidden}.approach:after{content:'';position:absolute;width:630px;height:630px;border:1px solid rgba(255,255,255,.08);border-radius:50%;right:-260px;top:-210px;box-shadow:0 0 0 110px rgba(255,255,255,.025),0 0 0 230px rgba(255,255,255,.018);pointer-events:none}.approach-grid{position:relative;z-index:1;display:grid;grid-template-columns:1fr .9fr;gap:clamp(70px,10vw,160px)}.approach h2{max-width:620px}.approach-intro>p:not(.eyebrow){max-width:500px;color:#bfd0e5;line-height:1.85;margin-bottom:30px}.approach-points{padding-top:25px}.approach-points>div{display:grid;grid-template-columns:50px 1fr;gap:18px;padding:26px 0;border-bottom:1px solid rgba(255,255,255,.18)}.approach-points>div:first-child{border-top:1px solid rgba(255,255,255,.18)}.approach-points span{font-size:.75rem;font-weight:800;color:#50c8ef;padding-top:4px}.approach-points h3{font-size:1.18rem;margin-bottom:7px;letter-spacing:-.02em}.approach-points p{color:#bacde2;font-size:.91rem;margin:0;line-height:1.7}
.credentials-grid{display:grid;grid-template-columns:.8fr 1fr;gap:clamp(55px,10vw,140px)}.credentials h2{font-size:clamp(2.2rem,3.3vw,3.3rem)}.credentials p:not(.eyebrow){color:var(--muted);line-height:1.8;max-width:400px}.jurisdictions{display:flex;flex-wrap:wrap;align-content:center;gap:10px}.jurisdictions span{border:1px solid #dbe8f2;background:#f8fbfe;border-radius:3px;padding:11px 15px;color:#304e70;font-size:.79rem;font-weight:700}
.leadership{background:var(--soft)}.leadership-heading{margin-bottom:48px}.people-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:25px}.person-card{background:#fff;border:1px solid #e1eaf2}.person-photo{height:390px;background:linear-gradient(145deg,#dfeefa,#f8fbfe);display:flex;justify-content:center;align-items:end;overflow:hidden}.person-photo img{height:96%;width:auto;object-fit:contain;object-position:bottom}.person-caption{display:flex;align-items:center;justify-content:space-between;padding:26px 30px}.person-caption h3{font-size:1.24rem;margin-bottom:4px}.person-caption p{color:var(--muted);margin:0;font-size:.9rem}.person-caption span{width:38px;height:38px;border:1px solid var(--line);border-radius:50%;display:grid;place-items:center;color:var(--blue);font-size:1.1rem}
.clients-grid{display:grid;grid-template-columns:.8fr 1fr;gap:clamp(55px,10vw,140px)}.clients h2{font-size:clamp(2.2rem,3.3vw,3.3rem)}.client-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));align-content:center}.client-list span{display:flex;align-items:center;justify-content:center;min-height:90px;text-align:center;padding:15px;border:1px solid var(--line);margin:-1px 0 0 -1px;color:#31506f;font-family:Manrope,sans-serif;font-weight:800;font-size:clamp(.77rem,1vw,.95rem)}
.contact{background:linear-gradient(130deg,#063c86,#052658 68%);color:#fff}.contact-grid{display:grid;grid-template-columns:1fr .75fr;gap:clamp(65px,11vw,160px)}.contact h2{max-width:650px}.contact-intro>p:not(.eyebrow){max-width:530px;color:#d1e4f3;line-height:1.85;margin-bottom:30px}.contact-details{border-top:1px solid rgba(255,255,255,.23)}.contact-details>div{display:flex;flex-direction:column;align-items:flex-start;gap:3px;padding:22px 0 25px;border-bottom:1px solid rgba(255,255,255,.23)}.contact-label{font-size:.69rem;font-weight:800;letter-spacing:.18em;text-transform:uppercase;color:#81d5f3;margin-bottom:7px}.contact-details a,.contact-details address{font-style:normal;font-size:1rem;line-height:1.6;color:#fff;overflow-wrap:anywhere}.contact-details a:hover{text-decoration:underline;text-underline-offset:4px}
.site-footer{background:#fff;color:#344963}.footer-main{display:grid;grid-template-columns:1.4fr 1fr auto;gap:60px;padding-top:55px;padding-bottom:60px}.footer-brand img{width:143px}.footer-main p{max-width:270px;font-size:.86rem;color:var(--muted);margin:8px 0 0}.footer-main nav{display:grid;grid-template-columns:repeat(2,max-content);gap:8px 40px;font-size:.85rem;font-weight:700}.footer-main nav a:hover,.back-top:hover{color:var(--blue)}.back-top{font-size:.85rem;font-weight:800;color:var(--blue)}.footer-bottom{border-top:1px solid var(--line);padding:20px 0 28px;display:flex;justify-content:space-between;color:#74849a;font-size:.78rem}
@media(max-width:1050px){.primary-nav{gap:20px}.hero-grid{grid-template-columns:1fr}.hero-note{display:none}.hero h1{max-width:760px}.credentials-grid,.clients-grid{gap:60px}.service-card{padding:32px}}
@media(max-width:760px){html{scroll-padding-top:72px}.container{width:min(calc(100% - 36px),var(--container))}.site-header{height:72px}.brand img{width:132px}.menu-toggle{display:flex;flex-direction:column;justify-content:center;gap:5px;width:42px;height:42px;padding:8px;border:0;background:transparent;z-index:2}.menu-toggle span{display:block;height:2px;width:25px;background:var(--navy);transition:transform .2s,opacity .2s}.menu-toggle[aria-expanded=true] span:first-child{transform:translateY(7px) rotate(45deg)}.menu-toggle[aria-expanded=true] span:nth-child(2){opacity:0}.menu-toggle[aria-expanded=true] span:last-child{transform:translateY(-7px) rotate(-45deg)}.primary-nav{display:none;position:absolute;top:72px;left:0;right:0;background:#fff;flex-direction:column;align-items:stretch;gap:0;padding:16px 18px 25px;box-shadow:0 22px 30px rgba(4,30,70,.14)}.primary-nav.open{display:flex}.primary-nav a{padding:13px 8px}.primary-nav .nav-cta{margin-top:9px;padding:14px 17px;text-align:center}.hero{min-height:640px}.hero-grid{padding-top:80px;padding-bottom:100px}.hero h1{font-size:clamp(2.8rem,9vw,4.5rem)}.hero-lead{font-size:1rem}.hero-photo{background-position:60% center}.hero-shade{background:linear-gradient(90deg,rgba(3,24,60,.95),rgba(3,31,75,.76)),linear-gradient(0deg,rgba(3,24,60,.45),transparent)}.hero-bottom span:nth-child(2){display:none}.intro-grid,.approach-grid,.credentials-grid,.clients-grid,.contact-grid,.section-heading{grid-template-columns:1fr;gap:28px}.intro-copy{padding-top:0}.capability-bar{margin-top:52px;grid-template-columns:repeat(2,1fr)}.capability-bar span{min-height:65px;padding:15px;border-bottom:1px solid var(--line)}.capability-bar span:first-child{padding-left:15px}.capability-bar span:nth-child(2){border-right:0}.capability-bar span:nth-child(3),.capability-bar span:nth-child(4){border-bottom:0}.section-heading{margin-bottom:35px}.section-heading>p{max-width:600px}.service-grid{grid-template-columns:1fr}.service-card{min-height:0}.approach-grid{gap:45px}.approach-points{padding-top:0}.people-grid{gap:15px}.person-photo{height:290px}.footer-main{grid-template-columns:1fr 1fr;gap:35px}.footer-main>div{grid-column:1/-1}}
@media(max-width:520px){.section{padding:72px 0}.hero{min-height:650px}.hero-grid{padding-top:70px}.hero h1{font-size:clamp(2.6rem,11vw,3.6rem)}.hero-actions{align-items:flex-start;flex-direction:column;gap:23px}.hero-bottom{font-size:.63rem}.intro h2,.section-heading h2,.approach h2,.contact h2{font-size:clamp(2.25rem,10vw,3.1rem)}.service-card{padding:29px 25px}.service-number{top:31px;right:27px}.service-card ul{grid-template-columns:1fr;gap:8px}.capability-bar span{font-size:.79rem}.people-grid{grid-template-columns:1fr}.person-photo{height:330px}.client-list{grid-template-columns:repeat(2,minmax(0,1fr))}.contact-grid{gap:38px}.footer-main{grid-template-columns:1fr}.footer-main nav{grid-template-columns:repeat(2,max-content)}.back-top{justify-self:start}.footer-bottom{gap:15px;flex-wrap:wrap}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition-duration:.01ms!important;animation-duration:.01ms!important}}

/* Let the supplied leadership portraits fill their entire photo panels. */
.person-photo{height:auto;aspect-ratio:1/1;background:#e8f0f6 url('assets/leadership-background.webp') center/cover no-repeat}
.person-photo img{width:100%;height:100%;object-fit:cover;object-position:center top}
@media(max-width:520px){.person-photo{aspect-ratio:4/5}}

.client-logo{display:grid;place-items:center;min-height:146px;margin:-1px 0 0 -1px;padding:23px;background:#fff;border:1px solid var(--line)}
.client-logo img{width:auto;height:auto;max-width:100%;max-height:100px;object-fit:contain}
@media(max-width:520px){.client-logo{min-height:125px;padding:17px}.client-logo img{max-height:86px}}

.credentials-grid{display:block}
.credentials-grid>div:first-child{max-width:710px;margin-bottom:42px}
.jurisdictions{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:0}
.jurisdiction-logo{display:grid;place-items:center;min-height:156px;margin:-1px 0 0 -1px;padding:23px;background:#fff;border:1px solid var(--line)}
.jurisdiction-logo img{width:auto;height:auto;max-width:100%;max-height:104px;object-fit:contain}
@media(max-width:900px){.jurisdictions{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:520px){.jurisdictions{grid-template-columns:repeat(2,minmax(0,1fr))}.jurisdiction-logo{min-height:130px;padding:17px}.jurisdiction-logo img{max-height:92px}}

.footer-company{display:block;margin-top:10px;color:var(--ink);font-family:Manrope,'DM Sans',Arial,sans-serif;font-size:.9rem;line-height:1.45}

/* Keep a consistent band of white space around the header logo. */
html{scroll-padding-top:104px}
.site-header{height:100px}
.site-header .brand img{width:136px}
@media(max-width:760px){html{scroll-padding-top:84px}.site-header{height:80px}.site-header .brand img{width:112px}.primary-nav{top:80px}}

/* The navigation remains in view, with a more compact landscape state after scrolling. */
.site-header{position:sticky;top:0;transition:height .24s ease,box-shadow .24s ease}
.site-header .brand img{transition:width .24s ease}
.site-header.is-scrolled{box-shadow:0 8px 22px rgba(5,35,75,.1)}
@media(orientation:landscape) and (min-width:761px){html{scroll-padding-top:80px}.site-header.is-scrolled{height:70px}.site-header.is-scrolled .brand img{width:96px}}
@media(max-width:760px){.primary-nav{top:100%}}
@media(orientation:landscape) and (max-width:760px){html{scroll-padding-top:70px}.site-header.is-scrolled{height:62px}.site-header.is-scrolled .brand img{width:84px}}

.sticky-brand{display:none;align-items:center;gap:13px;white-space:nowrap}
.site-header.is-scrolled .brand>img{display:none}
.site-header.is-scrolled .sticky-brand{display:inline-flex}
.site-header.is-scrolled .sticky-brand img{width:88px;height:auto}
.sticky-brand span{font-family:Manrope,'DM Sans',Arial,sans-serif;font-size:.66rem;font-weight:800;letter-spacing:.15em;color:var(--blue)}
@media(max-width:760px){.site-header.is-scrolled .sticky-brand{gap:9px}.site-header.is-scrolled .sticky-brand img{width:75px}.sticky-brand span{font-size:.56rem;letter-spacing:.1em}}
