/* High-fidelity interaction and layout layer, mapped to the Fides palette. */
:root{--grid-line:rgba(8,74,126,.28);--ease-out:cubic-bezier(.16,1,.3,1);--ease-smooth:cubic-bezier(.76,0,.24,1)}

body{cursor:none;background:var(--paper)}
body.is-loading{overflow:hidden}
.page-loader{position:fixed;inset:0;z-index:100;background:var(--paper);display:grid;place-items:center;transition:clip-path .95s var(--ease-smooth);clip-path:inset(0 0 0 0)}
.page-loader.is-finished{clip-path:inset(0 0 100% 0);pointer-events:none}
.loader-grid{width:min(88vw,780px);height:min(58vh,460px);border:1px solid var(--grid-line);display:grid;place-items:center;position:relative;background-image:linear-gradient(90deg,transparent 49.9%,var(--grid-line) 50%,transparent 50.1%),linear-gradient(transparent 49.9%,var(--grid-line) 50%,transparent 50.1%)}
.loader-grid img{width:min(270px,55vw);mix-blend-mode:multiply;opacity:0;transform:translateY(20px);animation:loader-logo .65s .12s var(--ease-out) forwards}
.loader-grid span{position:absolute;bottom:1rem;right:1rem;font:600 .7rem/1 var(--sans);color:var(--blue);letter-spacing:.14em}
.loader-grid i{position:absolute;left:0;bottom:-1px;height:3px;background:var(--blue);width:100%;transform:scaleX(0);transform-origin:left;animation:loader-line 1.15s .1s var(--ease-smooth) forwards}
.cursor-dot,.cursor-ring{position:fixed;left:0;top:0;z-index:90;border-radius:50%;pointer-events:none;transform:translate(-50%,-50%)}
.cursor-dot{width:6px;height:6px;background:var(--blue-dark)}
.cursor-ring{width:34px;height:34px;border:1px solid currentColor;color:var(--blue-dark);transition:width .25s,height .25s,background .25s,color .25s;mix-blend-mode:multiply}
.cursor-ring.is-active{width:58px;height:58px;background:rgba(199,210,232,.55);color:transparent}

.site-header{mix-blend-mode:normal}.site-header:not(.scrolled){background:transparent}.site-header .brand{width:250px;height:52px;justify-content:flex-start}.site-header .brand img{width:168px}
.site-header nav{margin-left:auto}.menu-toggle{position:relative;overflow:hidden}.menu-toggle:after{content:"";position:absolute;inset:0;background:var(--ice);transform:translateY(101%);transition:transform .35s var(--ease-smooth);z-index:-1}.menu-toggle:hover{color:var(--blue-dark)}.menu-toggle:hover:after{transform:translateY(0)}

.hero{min-height:118vh;background-position:center calc(50% + var(--hero-y,0px));overflow:hidden}.hero:after{content:"";position:absolute;inset:0;border-left:1px solid var(--line-light);border-right:1px solid var(--line-light);margin:0 33.333%;z-index:-1}.hero-copy{padding-top:10vh}.hero h1{font-size:clamp(5rem,10.4vw,10rem);line-height:.77}.hero-topline{margin-left:33.333%;padding-left:1rem}.hero-bottom{grid-template-columns:33.333% 1fr;border-top:1px solid var(--line-light)}.hero-bottom>p{padding-right:2rem}.hero-actions{justify-content:space-between}.hero .button-primary{min-width:300px}

.intro{min-height:115vh;display:grid;align-content:center;background-image:linear-gradient(90deg,transparent 49.95%,var(--grid-line) 50%,transparent 50.05%)}
.intro h2{max-width:14ch}.intro .prose{align-self:end}.intro .considerations{align-self:end}

.expertise{position:relative;min-height:140vh;background-image:linear-gradient(90deg,transparent 49.95%,rgba(255,255,255,.23) 50%,transparent 50.05%)}
.expertise .section-heading{position:sticky;top:105px;align-items:start}.expertise-list{margin-top:10vh;margin-left:34%}.expertise-list article{grid-template-columns:48px 1fr 45px}.expertise-list article:nth-child(even){margin-left:-9vw}.expertise-list article:nth-child(odd){margin-right:5vw}

.clients{min-height:175vh;position:relative;overflow:hidden;padding-left:0;padding-right:0;background-image:linear-gradient(90deg,transparent 33.28%,var(--grid-line) 33.33%,transparent 33.38%,transparent 66.61%,var(--grid-line) 66.66%,transparent 66.71%)}
.clients .section-heading{position:sticky;top:105px;padding:0 clamp(1rem,5vw,5.5rem);z-index:2}.clients .section-heading h2{max-width:12ch}.clients .client-grid{position:sticky;top:47vh;width:max-content;display:flex;margin:0;padding-left:36vw;border:0;gap:1.2rem;transform:translate3d(var(--track-x,0px),0,0);will-change:transform}
.clients .client-grid p{width:min(36vw,510px);height:240px;min-height:0;background:#fff;border:1px solid var(--grid-line);padding:1.5rem;align-items:flex-start;transform:rotate(var(--tilt,-1deg));box-shadow:0 20px 50px rgba(8,40,63,.05)}
.clients .client-grid p:nth-child(even){--tilt:1.4deg;margin-top:2.5rem}.clients .client-grid p:nth-child(3n){--tilt:-.5deg}

.services{display:grid;grid-template-columns:1fr 1fr;gap:0;padding:0;min-height:140vh;border-top:1px solid var(--grid-line);background:var(--paper)}
.services .section-heading{position:sticky;top:0;height:100vh;display:flex;flex-direction:column;justify-content:space-between;align-items:flex-start;padding:8rem 5vw 4rem;border-right:1px solid var(--grid-line);margin:0;overflow:hidden}.services .section-heading h2{font-size:clamp(4rem,8vw,9rem);max-width:7ch;transform:translateX(var(--service-shift,0%))}.services .section-heading>p{max-width:310px}.services-disclosure{border:0;padding:8rem 1.2rem 5rem}.services-disclosure>summary{display:none}.service-accordion{border-top:1px solid var(--grid-line)}.service-accordion summary{font-size:clamp(1.2rem,2vw,2.2rem);grid-template-columns:45px 1fr 38px}.service-body{grid-template-columns:1fr 1fr;padding-left:45px}.service-accordion details{overflow:clip}.service-accordion details[open]{background:rgba(199,210,232,.22)}

.why{display:grid;grid-template-columns:1fr 1.15fr;gap:0;min-height:180vh;padding:0;background:var(--sand);color:var(--blue-dark);background-image:linear-gradient(90deg,transparent 33.28%,var(--grid-line) 33.33%,transparent 33.38%,transparent 66.61%,var(--grid-line) 66.66%,transparent 66.71%)}
.why .section-heading{position:sticky;top:0;height:100vh;margin:0;padding:8rem 4vw;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;overflow:hidden}.why .section-heading h2{font-size:clamp(4.5rem,9vw,10rem);max-width:7ch;transform:translateX(var(--why-shift,0%))}.why-grid{display:flex;flex-direction:column;gap:3rem;padding:9rem 4vw 8rem;border:0}.why-grid article{background:#fff;color:var(--blue-dark);border:1px solid var(--grid-line);min-height:230px;padding:1.5rem;transform:rotate(-1.2deg) translateX(-2%);box-shadow:0 18px 60px rgba(8,40,63,.08)}.why-grid article:nth-child(even){transform:rotate(1.3deg) translateX(4%)}.why-grid article:nth-child(3){transform:rotate(-.5deg) translateX(-4%)}.why-grid article h3{font-size:clamp(1.6rem,2.4vw,2.8rem);color:var(--blue)}.why-grid article p{color:var(--blue-dark);max-width:54ch}

.profile{min-height:115vh;position:relative;grid-template-columns:1fr 1fr;padding:0;background:#fff;border-top:1px solid var(--grid-line);border-bottom:1px solid var(--grid-line)}
.profile-image{height:100vh;min-height:760px;position:sticky;top:0;clip-path:inset(var(--profile-clip,9%) 0 0 0);border-right:1px solid var(--grid-line)}.profile-image img{filter:grayscale(100%) contrast(1.05) sepia(.15);transform:scale(var(--profile-scale,1.08));transition:none}.profile-copy{padding:9rem 5vw}.profile-copy h2{font-size:clamp(4rem,8vw,8.5rem);margin-left:-8vw;position:relative;z-index:4;color:var(--blue)}.profile-copy>p{font-size:clamp(1rem,1.35vw,1.25rem);max-width:38ch;margin-top:4rem}.profile-copy h3{margin-left:2px}

.insights{min-height:120vh;background:var(--paper);background-image:linear-gradient(90deg,transparent 49.95%,var(--grid-line) 50%,transparent 50.05%)}.insights .section-heading h2{max-width:11ch}.insight-grid{margin-top:8rem;grid-template-columns:1fr 1fr;gap:0;border-top:1px solid var(--grid-line);border-left:1px solid var(--grid-line)}.insight-feature{min-height:560px;border-right:1px solid var(--grid-line);border-bottom:1px solid var(--grid-line);position:relative;overflow:hidden}.insight-feature:after{content:"";position:absolute;width:65%;aspect-ratio:1;border:1px solid var(--line-light);border-radius:50%;right:-18%;top:-18%;transition:transform .8s var(--ease-out)}.insight-feature:hover:after{transform:scale(1.35) rotate(45deg)}.insight-topics{display:grid;grid-template-columns:1fr 1fr}.insight-topics a{min-height:180px;padding:1.2rem;border:0;border-right:1px solid var(--grid-line);border-bottom:1px solid var(--grid-line);align-items:flex-end;transition:background .35s,color .35s,transform .35s}.insight-topics a:hover{background:var(--periwinkle);color:#fff;transform:translateY(-6px)}

.contact{min-height:100vh;align-items:center;background-image:linear-gradient(90deg,transparent 49.95%,rgba(255,255,255,.24) 50%,transparent 50.05%)}
footer{min-height:70vh;position:relative;overflow:hidden;grid-template-columns:1fr 1fr 1fr;padding-top:8rem;align-items:start}footer:after{content:"FIDES";position:absolute;left:-.04em;bottom:-.25em;font-size:clamp(11rem,31vw,34rem);line-height:1;font-weight:500;letter-spacing:-.085em;color:rgba(255,255,255,.08);pointer-events:none}.footer-brand{position:relative;z-index:2}

.word{display:inline-block;overflow:hidden;vertical-align:bottom;margin-right:.18em}.word>span{display:inline-block;transform:translateY(112%);transition:transform .85s var(--ease-out);transition-delay:calc(var(--word-index) * 35ms)}.words-ready.visible .word>span,.section-heading.visible .word>span{transform:translateY(0)}

@keyframes loader-logo{to{opacity:1;transform:none}}@keyframes loader-line{to{transform:scaleX(1)}}
@media(max-width:1100px){.site-header .brand{width:auto}.hero{min-height:105vh}.hero h1{font-size:clamp(4.5rem,9.5vw,7.5rem)}.expertise-list{margin-left:18%}.clients .client-grid p{width:55vw}.services{grid-template-columns:.78fr 1.22fr}.why{grid-template-columns:.8fr 1.2fr}.profile-copy h2{margin-left:-4vw}}
@media(max-width:720px){body{cursor:auto}.cursor-dot,.cursor-ring{display:none}.page-loader .loader-grid{height:55vh}.site-header .brand{height:46px}.hero{min-height:1050px}.hero:after{margin:0 50%}.hero-topline{margin-left:0}.hero-bottom{grid-template-columns:1fr}.hero h1{font-size:3.55rem}.intro{min-height:950px}.expertise{min-height:auto}.expertise .section-heading{position:relative;top:auto}.expertise-list{margin:3rem 0 0}.expertise-list article:nth-child(n){margin-left:0;margin-right:0}.clients{min-height:auto;padding:5rem 0}.clients .section-heading{position:relative;top:auto}.clients .client-grid{position:relative;top:auto;display:grid;width:auto;padding:0 1rem;transform:none!important}.clients .client-grid p{width:auto;height:auto;min-height:150px;margin:0!important}.services{display:block;min-height:auto}.services .section-heading{position:relative;top:auto;height:auto;padding:5rem 1rem;border-right:0;border-bottom:1px solid var(--grid-line)}.services .section-heading h2{font-size:3.2rem;transform:none}.services-disclosure{padding:4rem 1rem}.service-body{grid-template-columns:1fr}.why{display:block;min-height:auto}.why .section-heading{position:relative;top:auto;height:auto;padding:5rem 1rem}.why .section-heading h2{font-size:3.2rem;transform:none}.why-grid{padding:1rem 1rem 5rem}.why-grid article:nth-child(n){transform:rotate(var(--mobile-tilt,-.5deg))}.profile{display:block;min-height:auto}.profile-image{position:relative;height:75vh;min-height:560px}.profile-copy{padding:5rem 1rem}.profile-copy h2{font-size:3.2rem;margin:-7rem 0 5rem;color:#fff}.profile-copy>p{font-size:1rem;margin-top:2rem}.insight-grid{grid-template-columns:1fr}.insight-topics{grid-template-columns:1fr}.insight-topics a{min-height:120px}footer{min-height:560px}.word{margin-right:.13em}}
@media(max-width:720px){.hero h1{font-size:3.05rem}}
@media(prefers-reduced-motion:reduce){body{cursor:auto}.cursor-dot,.cursor-ring{display:none}.page-loader{display:none}.word>span{transform:none;transition:none}.clients .client-grid,.services .section-heading h2,.why .section-heading h2,.profile-image,.profile-image img{transform:none!important;clip-path:none!important}}

/* Keep the expertise introduction in document flow: its full-width title must
   leave the viewport before the service rows reach the same position. */
.expertise .section-heading{position:relative;top:auto}
.expertise-list{margin-left:0;margin-top:4rem}
.expertise-list article:nth-child(n){margin-left:0;margin-right:0}
.expertise-list article>div{min-width:0}
.expertise-list h3{overflow-wrap:break-word}
.services .section-heading h2{font-size:clamp(3.6rem,5.8vw,6.5rem);max-width:8ch;line-height:.9;letter-spacing:-.055em}
.services-disclosure{padding:clamp(6rem,8vw,8rem) clamp(2rem,4vw,4rem) 5rem}
.service-accordion summary{padding:1.8rem 0;line-height:1.08}
.service-body{padding-left:0;gap:2.5rem}
.why .section-heading h2{font-size:clamp(4rem,6.4vw,7rem);max-width:8ch;line-height:.9}
.why-grid{padding:clamp(6rem,9vw,9rem) clamp(2rem,4vw,4rem) 8rem;gap:4rem}
h1,h2,h3{overflow-wrap:break-word;text-wrap:balance}
.services .section-heading h2{max-width:none}
.profile-image{cursor:pointer}
.profile-copy{padding:clamp(5rem,10vw,9rem) clamp(2rem,6vw,6rem)}
.profile-copy h2{margin-left:0;font-size:clamp(3.7rem,6.8vw,7rem);line-height:.86;max-width:100%;overflow-wrap:normal}
.profile-copy h3{margin-top:1.8rem;margin-bottom:3rem}
.profile-copy>p{margin-top:0;max-width:42ch}
.profile-image img{filter:none}
.profile-image:before{display:none}
.profile-image:after{transition:opacity .55s ease}
.portrait-halftone{position:absolute;inset:0;width:100%;height:100%;z-index:1;opacity:0;transition:opacity .55s ease;transform:scale(var(--profile-scale,1.08))}
.profile-image.halftone-ready .portrait-halftone{opacity:1}
.profile-image:is(:hover,:focus-visible,.is-colour) .portrait-halftone{opacity:0}
.profile-image:is(:hover,:focus-visible,.is-colour):after{opacity:0}
.profile-image:focus-visible{outline:3px solid var(--blue);outline-offset:-4px}
@media(prefers-reduced-motion:reduce){.portrait-halftone,.profile-image:after{transition:none}.portrait-halftone{transform:none}}
@media(max-width:720px){
  .services .section-heading h2,.why .section-heading h2{font-size:3.2rem;max-width:9ch}
  .services-disclosure{padding:3.5rem 1.25rem 5rem}
  .service-accordion summary{padding:1.25rem 0}
  .why-grid{padding:1rem 1rem 5rem;gap:2rem}
  .profile-copy{padding:5rem 1.25rem}
  .profile-copy h2{margin:0 0 3rem;font-size:clamp(2.75rem,14vw,4rem);line-height:.9;color:var(--blue)}
  .profile-copy h3{margin-top:0;margin-bottom:2rem}
}
@media(max-width:1100px){
  .services{display:block;min-height:auto}
  .services .section-heading{position:relative;top:auto;height:auto;padding:7rem clamp(2rem,5vw,5rem) 5rem;border-right:0;border-bottom:1px solid var(--grid-line)}
  .services .section-heading h2{font-size:clamp(3.8rem,7vw,7rem);max-width:none}
  .services-disclosure{padding:5rem clamp(2rem,5vw,5rem) 6rem}
  .why{display:block;min-height:auto}
  .why .section-heading{position:relative;top:auto;height:auto;padding:7rem clamp(2rem,5vw,5rem) 5rem}
  .why .section-heading h2{font-size:clamp(4rem,7vw,7rem);max-width:none}
  .why-grid{padding:2rem clamp(2rem,5vw,5rem) 7rem}
}
@media(max-width:720px){
  .services .section-heading,.why .section-heading{padding:5rem 1.25rem 3.5rem}
  .services .section-heading h2,.why .section-heading h2{font-size:2.55rem;max-width:100%;line-height:.94}
  .services-disclosure{padding:3.5rem 1.25rem 5rem}
  .why-grid{padding:1rem 1rem 5rem}
}
html,body{max-width:100%;overflow-x:clip}
/* Use the operating system pointer for a familiar, accessible interaction cue. */
body,.profile-image,.button,.text-link,a,button,summary{cursor:auto}
.cursor-dot,.cursor-ring{display:none!important}
@media(max-width:1100px){
  .site-header nav{display:flex!important;opacity:0;visibility:hidden;pointer-events:none;transform:translateY(-12px);clip-path:inset(0 0 100% 0);transition:opacity .35s ease,transform .45s var(--ease-out),clip-path .55s var(--ease-smooth),visibility .55s}
  .site-header nav.open{opacity:1;visibility:visible;pointer-events:auto;transform:none;clip-path:inset(0)}
}
@media(max-width:720px){
  .intro-grid,.section-heading{grid-template-columns:1fr!important;width:auto!important}
  .clients .client-grid{display:grid!important;width:auto!important;position:relative!important;transform:none!important}
  .clients .client-grid p{width:auto!important}
  .hero-copy,.hero-bottom,.intro-grid,.section-heading,.profile-copy{max-width:100%}
}

/* Reference-inspired expertise spread: paper field, halftone visual and an
   airy right-hand accordion with the same blue rule language. */
.expertise{display:grid;grid-template-columns:minmax(360px,.95fr) minmax(0,1.05fr);gap:0;padding:0;min-height:165vh;background:var(--paper);color:var(--blue);background-image:linear-gradient(90deg,transparent 49.95%,rgba(8,74,126,.2) 50%,transparent 50.05%)}
.expertise .section-heading{position:sticky;top:0;height:100vh;display:flex;flex-direction:column;justify-content:flex-start;align-items:flex-start;gap:2rem;padding:8rem clamp(2rem,5vw,5.5rem) 5rem;margin:0;border-right:1px solid var(--grid-line);overflow:hidden;background:var(--paper)}
.expertise .section-heading:before{content:"";position:absolute;left:clamp(2rem,9vw,9rem);bottom:5rem;width:min(66%,520px);height:min(29vh,270px);background:linear-gradient(rgba(44,37,204,.7),rgba(16,25,177,.88)),url('dubai-architecture.jpg') center/cover;filter:grayscale(1) contrast(1.35);mix-blend-mode:multiply;opacity:.95}
.expertise .section-heading:after{content:"";position:absolute;left:clamp(2rem,9vw,9rem);bottom:5rem;width:min(66%,520px);height:min(29vh,270px);background-image:radial-gradient(rgba(11,20,170,.95) .75px,transparent .8px);background-size:2.5px 2.5px;mix-blend-mode:multiply;opacity:.84;pointer-events:none}
.expertise .section-heading>div,.expertise .section-heading>p{position:relative;z-index:1}.expertise .section-heading>div{align-self:flex-start;margin:0;padding-top:0}.expertise .section-heading h2{max-width:10ch;color:var(--blue);font-size:clamp(3rem,5.2vw,5.4rem);line-height:.92}.expertise .section-heading>p{max-width:34ch;color:var(--blue-dark);border-top-color:var(--blue);margin:2rem 0 0}
.expertise-list{margin:0;padding:clamp(5rem,8vw,8rem) clamp(2rem,4vw,4rem) 6rem;border:0;background:var(--paper);align-self:stretch}
.expertise-item{border-top:1px solid var(--blue);color:var(--blue);padding:0}.expertise-item:last-child{border-bottom:1px solid var(--blue)}
.expertise-item summary{display:grid;grid-template-columns:52px minmax(0,1fr) 40px;gap:1rem;align-items:center;list-style:none;padding:1.4rem 0;color:var(--blue);cursor:auto}.expertise-item summary::-webkit-details-marker{display:none}.expertise-item summary>span{font-size:.65rem;letter-spacing:.08em}.expertise-item summary strong{font-size:clamp(1.5rem,2.6vw,2.8rem);font-weight:400;line-height:1.06;letter-spacing:-.045em}.expertise-item summary i{font-style:normal;font-size:0;font-weight:300;display:grid;place-items:center;justify-self:end;width:36px;height:36px}.expertise-item summary i:before{content:"+";font-size:1.65rem}.expertise-item[open] summary i:before{content:"×"}.expertise-item[open] summary{padding-bottom:1rem}
.expertise-panel{display:grid;grid-template-columns:minmax(0,1fr) minmax(180px,.8fr);gap:clamp(2rem,7vw,7rem);padding:2.5rem 0 4.25rem 52px;color:var(--blue);text-transform:uppercase}.expertise-panel p{margin:0;max-width:34ch;color:var(--blue);font:500 .76rem/1.55 var(--sans);letter-spacing:.11em}.expertise-panel a{align-self:end;justify-self:start;font-size:.7rem;letter-spacing:.12em}.expertise-panel a span{margin-left:.55rem;font-size:1rem}.expertise-item:not([open]) .expertise-panel{display:none}
@media(max-width:1100px){.expertise{display:block;min-height:auto;background-image:linear-gradient(90deg,transparent 49.95%,rgba(8,74,126,.2) 50%,transparent 50.05%)}.expertise .section-heading{position:relative;top:auto;height:auto;min-height:clamp(860px,90vw,940px);padding:6rem clamp(2rem,5vw,5rem) 4rem;border-right:0;border-bottom:1px solid var(--grid-line)}.expertise .section-heading:before,.expertise .section-heading:after{left:clamp(2rem,12vw,9rem);bottom:4rem;width:min(58%,540px);height:300px}.expertise .section-heading>div{padding-top:0}.expertise .section-heading>p{margin-left:0}.expertise-list{padding:5rem clamp(2rem,5vw,5rem) 6rem}.expertise-item summary strong{font-size:clamp(1.5rem,3vw,2.4rem)}}
@media(max-width:720px){.expertise{background:var(--paper)}.expertise .section-heading{min-height:650px;padding:5rem 1.25rem 3rem}.expertise .section-heading h2{font-size:3.2rem;max-width:10ch}.expertise .section-heading:before,.expertise .section-heading:after{left:1.25rem;bottom:3rem;width:calc(100% - 2.5rem);height:230px}.expertise-list{padding:3.5rem 1.25rem 5rem}.expertise-item summary{grid-template-columns:36px minmax(0,1fr) 32px;gap:.55rem;padding:1.2rem 0}.expertise-item summary strong{font-size:1.45rem}.expertise-panel{display:block;padding:1.5rem 0 2.75rem 36px}.expertise-panel p{font-size:.68rem}.expertise-panel a{display:inline-block;margin-top:1.8rem}}
@media(max-width:720px){.expertise .section-heading{min-height:740px}.expertise .section-heading:before,.expertise .section-heading:after{bottom:2rem;height:220px}}
.expertise .section-heading:before{mix-blend-mode:normal}
.expertise .section-heading:after{mix-blend-mode:normal;opacity:.68;background-image:radial-gradient(rgba(11,20,170,.96) .9px,transparent .95px);background-size:2.7px 2.7px}
.expertise .section-heading:before{filter:contrast(1.2) saturate(.8)}

/* Tablet portrait: move narrow two-column content into a calmer reading flow
   before the copy becomes compressed between the 720px mobile and 1100px
   desktop transitions. */
@media(max-width:860px){
  .intro-grid{grid-template-columns:1fr;gap:3rem}
  .intro .prose{max-width:48ch}
  .profile{display:block;min-height:auto}
  .profile-image{position:relative;height:clamp(520px,78vw,680px);min-height:520px}
  .profile-copy{padding:clamp(5rem,9vw,7rem) clamp(2rem,6vw,5rem)}
  .profile-copy h2{font-size:clamp(3.8rem,10vw,6.5rem)}
  .contact{display:block;min-height:auto}
  .contact-form{margin-top:4rem}
}
@media(max-width:720px){
  .profile-image{height:75vh;min-height:560px}
  .profile-copy{padding:5rem 1.25rem}
  .contact-form{margin-top:2.5rem}
}

/* Contact page treatment: a quiet paper split with an editorial visual on the
   left and a clear, low-friction enquiry form on the right. */
.contact{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:0;min-height:100vh;padding:0;background:var(--paper);color:var(--blue-dark);border-top:1px solid var(--grid-line);border-bottom:1px solid var(--grid-line);background-image:linear-gradient(90deg,transparent 49.95%,rgba(8,74,126,.2) 50%,transparent 50.05%)}
.contact-intro{position:relative;min-height:100vh;padding:clamp(7rem,10vw,10rem) clamp(2rem,5vw,5.5rem) 5rem;border-right:1px solid var(--grid-line)}
.contact-intro h1,.contact-intro h2{max-width:8ch;margin:0;color:var(--blue);font:400 clamp(4rem,7.8vw,8rem)/.88 var(--sans);letter-spacing:-.045em}
.contact-intro>p:not(.eyebrow){max-width:40ch;margin:3rem 0 0;font-size:.95rem}
.contact-image{position:relative;width:min(100%,420px);aspect-ratio:1.4;margin-top:clamp(3rem,7vw,6rem);overflow:hidden;background:linear-gradient(rgba(44,37,204,.68),rgba(16,25,177,.9)),url('dubai-architecture.jpg') center/cover;filter:contrast(1.15) saturate(.85)}
.contact-image:after{content:"";position:absolute;inset:0;background-image:radial-gradient(rgba(11,20,170,.95) .9px,transparent .95px);background-size:2.7px 2.7px;opacity:.7;pointer-events:none}
.contact-meta{margin-top:3rem;padding-top:1.3rem;border-top:1px solid var(--blue);display:grid;grid-template-columns:1fr 1fr;gap:2rem}
.contact-meta p{margin:0;color:var(--blue-dark);font-size:.74rem;line-height:1.65}
.contact-meta b{font-size:.7rem;letter-spacing:.08em;text-transform:uppercase}
.contact-form{align-self:start;padding:clamp(7rem,10vw,10rem) clamp(2rem,5vw,5.5rem) 6rem;color:var(--blue-dark)}
.contact-options{display:flex;gap:.6rem;border-top:1px solid var(--blue);padding-top:.9rem;margin-bottom:3.5rem}
.contact-option{appearance:none;border:1px solid var(--blue);background:transparent;color:var(--blue);padding:.8rem 1rem;font-size:.68rem;letter-spacing:.1em;text-transform:uppercase;transition:background .25s ease,color .25s ease}
.contact-option:hover,.contact-option.is-selected{background:var(--blue);color:#fff}
.contact-form>input[type=hidden]{display:none}
.contact-form label{color:var(--blue-dark)}
.contact-form input,.contact-form select,.contact-form textarea{margin-top:.45rem;padding:.8rem 0;background:transparent;color:var(--ink);border:0;border-bottom:1px solid var(--blue);border-radius:0}
.contact-form input::placeholder,.contact-form textarea::placeholder{color:rgba(3,46,80,.48)}
.contact-form select option{color:var(--ink)}
.contact-form input:focus,.contact-form select:focus,.contact-form textarea:focus{border-color:var(--blue-dark)}
.contact-form .button-primary{background:var(--blue);color:#fff;margin-top:.5rem}
.contact-form .button-primary:hover{background:var(--blue-dark)}
.contact-form .form-status{color:var(--blue-dark)}
@media(max-width:860px){
  .contact{display:block;min-height:auto;background-image:none}
  .contact-intro{min-height:auto;padding:7rem clamp(2rem,6vw,5rem) 5rem;border-right:0;border-bottom:1px solid var(--grid-line)}
  .contact-intro h1,.contact-intro h2{font-size:clamp(4rem,10vw,7rem)}
  .contact-image{width:min(100%,540px)}
  .contact-form{padding:6rem clamp(2rem,6vw,5rem) 7rem}
}
@media(max-width:720px){
  .contact-intro{padding:5rem 1.25rem 4rem}
  .contact-intro h1,.contact-intro h2{font-size:3.2rem}
  .contact-intro>p:not(.eyebrow){margin-top:2rem}
  .contact-image{margin-top:3rem;width:100%}
  .contact-meta{grid-template-columns:1fr;gap:1rem;margin-top:2.5rem}
  .contact-form{padding:4.5rem 1.25rem 5rem}
  .contact-options{margin-bottom:2.5rem}
  .contact-option{flex:1;padding:.75rem .55rem;font-size:.6rem}
  .contact-form .field-pair{grid-template-columns:1fr}
}

/* Reference typography mapping: PP Neue Montreal / GT America Mono when
   licensed files are present, with close web-safe hosted substitutes now. */
body,input,select,textarea,.contact-option{font-family:var(--sans)}
h1,h2,h3,.expertise-item summary strong,.service-accordion summary{font-family:var(--sans);font-weight:400}
.site-header nav a,.menu-toggle,.eyebrow,.section-number,.hero-topline,.hero-index,.button,.text-link,.portrait-label,.service-body b,.contact-meta b,footer{font-family:var(--mono);font-weight:400}
.hero h1,h2{letter-spacing:-.045em}
.expertise-item summary strong,.service-accordion summary,.why-grid h3,.insight-feature h3{letter-spacing:-.035em}
.contact-option{font-size:clamp(1.05rem,2vw,1.75rem);font-weight:400;line-height:1;letter-spacing:-.025em;text-transform:none;padding:.85rem 1.2rem}
@media(max-width:720px){.contact-option{font-size:1.05rem;letter-spacing:-.02em}}
.insight-grid.single-insight{grid-template-columns:1fr}
.single-insight .insight-feature{min-height:460px}

/* Display the supplied transparent logo without the previous white badge. */
.brand{background:transparent;padding:0}
.site-header .brand{width:auto;height:62px;overflow:visible}
.site-header .brand img{width:clamp(190px,17vw,245px);height:62px;object-fit:contain}
.footer-brand img{width:clamp(190px,18vw,250px);height:auto}
@media(max-width:720px){
  .site-header .brand{height:48px}
  .site-header .brand img{width:158px;height:48px}
  .footer-brand img{width:190px}
}
.icaew-credential{min-height:180px;display:flex;align-items:center;justify-content:center;padding:3.5rem clamp(2rem,8vw,8rem);background:var(--paper);border-top:1px solid var(--blue);border-bottom:1px solid var(--blue)}
.icaew-credential img{display:block;height:60px;width:auto;max-width:78vw;object-fit:contain}
@media(max-width:720px){.icaew-credential{min-height:150px;padding:3rem 2rem}.icaew-credential img{height:52px}}

/* Editorial insight grid: halftone feature image paired with concise article cards. */
.editorial-insights{padding-left:0;padding-right:0;padding-bottom:0;background:var(--paper);background-image:none}
.editorial-insights>.section-heading{padding:0 clamp(1.25rem,4vw,4rem);margin-bottom:clamp(4rem,7vw,7rem)}
.home-insights-layout{display:grid;grid-template-columns:1fr 1fr;min-height:760px;border-top:1px solid var(--blue);border-bottom:1px solid var(--blue)}
.home-insight-visual{position:relative;min-height:760px;overflow:hidden;background:var(--paper);border-right:1px solid var(--blue)}
.home-insight-visual img,.home-insight-visual canvas{position:absolute;inset:0;width:100%;height:100%}
.home-insight-visual img{object-fit:cover;opacity:0;transition:opacity .4s ease}
.home-insight-visual canvas{z-index:1;transition:opacity .4s ease}
.home-insight-visual:hover img,.home-insight-visual:focus-visible img{opacity:1}
.home-insight-visual:hover canvas,.home-insight-visual:focus-visible canvas{opacity:0}
.home-insight-visual>span{position:absolute;z-index:2;left:1.5rem;bottom:1.25rem;padding:.55rem .7rem;background:var(--paper);color:var(--blue);font:400 .65rem/1.2 var(--mono);letter-spacing:.08em;text-transform:uppercase}
.home-insight-cards{display:grid;grid-template-columns:1fr 1fr;grid-template-rows:1fr auto}
.home-insight-card{position:relative;min-width:0;padding:1.6rem;display:flex;flex-direction:column;justify-content:space-between;color:var(--blue);border-right:1px solid var(--blue)}
.home-insight-card:nth-child(2){border-right:0}
.home-insight-card.is-blue{background:var(--blue);color:#fff}
.home-insight-number{font-size:clamp(1.2rem,2vw,1.8rem);line-height:1}
.home-insight-arrow{position:absolute;right:0;top:0;width:clamp(74px,8vw,118px);aspect-ratio:1;display:grid;place-items:center;border-left:1px solid currentColor;border-bottom:1px solid currentColor;font-size:2.5rem;font-weight:300}
.home-insight-card div{margin-top:auto;padding-top:10rem}
.home-insight-card p{margin:0 0 1.5rem;font:400 .68rem/1.3 var(--mono);letter-spacing:.07em;text-transform:uppercase}
.home-insight-card h3{max-width:18ch;margin:0;font:400 clamp(1.55rem,2.4vw,2.6rem)/.94 var(--sans);letter-spacing:-.04em}
.home-insight-all{grid-column:1/-1;min-height:110px;padding:1.5rem;display:flex;align-items:center;justify-content:space-between;border-top:1px solid var(--blue);font:400 .72rem/1.2 var(--mono);letter-spacing:.09em;text-transform:uppercase;color:var(--blue)}
.home-insight-all span:last-child{font-size:1.7rem}
.home-insight-card:hover,.home-insight-card:focus-visible,.home-insight-all:hover,.home-insight-all:focus-visible{background:var(--blue-dark);color:#fff}
@media(max-width:1050px){
  .home-insights-layout{grid-template-columns:.9fr 1.1fr;min-height:680px}
  .home-insight-visual{min-height:680px}
  .home-insight-cards{grid-template-columns:1fr}
  .home-insight-card{min-height:285px;border-right:0;border-bottom:1px solid var(--blue)}
  .home-insight-card div{padding-top:6rem}
  .home-insight-all{min-height:90px}
}
@media(max-width:720px){
  .editorial-insights>.section-heading{padding:0 1.25rem}
  .home-insights-layout{grid-template-columns:1fr;min-height:auto}
  .home-insight-visual{min-height:520px;border-right:0;border-bottom:1px solid var(--blue)}
  .home-insight-card{min-height:300px;padding:1.25rem}
  .home-insight-card div{padding-top:7rem}
  .home-insight-card h3{font-size:1.85rem;max-width:16ch}
  .home-insight-arrow{width:74px;font-size:2rem}
  .home-insight-all{padding:1.25rem}
}
@media(prefers-reduced-motion:reduce){.home-insight-visual img,.home-insight-visual canvas{transition:none}}
