:root{
  --ink:#1f3858;
  --deep:#162b44;
  --soft:#f5f6f8;
  --line:#dfe4ea;
  --muted:#6d7988;
  --white:#fff;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:Arial,Helvetica,sans-serif;color:var(--deep);background:#fff;-webkit-font-smoothing:antialiased}
a{color:inherit;text-decoration:none}

.site-header{
  position:fixed;z-index:20;top:0;left:0;right:0;height:88px;
  display:flex;align-items:center;justify-content:space-between;
  padding:0 5vw;border-bottom:1px solid rgba(31,56,88,.08);
  background:rgba(255,255,255,.92);backdrop-filter:blur(10px)
}
.brand img{width:132px;height:auto;display:block}
nav{display:flex;gap:32px;font-size:12px;text-transform:uppercase;letter-spacing:.11em;font-weight:700}
nav a{opacity:.76;transition:opacity .2s ease}
nav a:hover{opacity:1}

.hero{padding-top:88px;background:#fbfbfc}
.hero-frame{overflow:hidden;border-bottom:1px solid var(--line)}
.hero-frame img{
  display:block;width:100%;height:auto;
  animation:heroDrift 18s ease-in-out infinite alternate;
  transform-origin:center center
}
@keyframes heroDrift{
  from{transform:scale(1.01) translate3d(-0.15%,0,0)}
  to{transform:scale(1.025) translate3d(0.15%,-0.15%,0)}
}

.section{padding:110px 7vw;display:grid;grid-template-columns:1fr 3fr;gap:50px;border-top:1px solid var(--line)}
.eyebrow{text-transform:uppercase;letter-spacing:.18em;font-size:11px;font-weight:700;color:var(--muted)}
.section-copy{max-width:980px}
h1,h2,h3,p{margin-top:0}
h1,.section-copy h2,.clients h2,.contact h2{
  font-family:Georgia,'Times New Roman',serif;font-weight:400;letter-spacing:-.035em
}
h1{font-size:clamp(48px,5.5vw,84px);line-height:.98;margin-bottom:42px}
.section-copy h2{font-size:clamp(42px,5vw,72px);line-height:1;margin-bottom:0}
.lead{font-size:clamp(22px,2.15vw,31px);line-height:1.3;max-width:930px;letter-spacing:-.02em}
.section-copy>p:not(.lead){max-width:780px;font-size:17px;line-height:1.65;color:var(--muted);margin-top:28px}

.experience-banner{padding:44px 7vw 50px;background:var(--deep);color:#fff}
.experience-heading{text-transform:uppercase;letter-spacing:.18em;font-size:10px;font-weight:700;opacity:.68;margin-bottom:28px}
.logo-strip{
  display:grid;grid-template-columns:repeat(5,1fr);
  border-top:1px solid rgba(255,255,255,.16);
  border-bottom:1px solid rgba(255,255,255,.16)
}
.logo-card{
  min-height:108px;display:flex;align-items:center;justify-content:center;flex-direction:column;
  border-right:1px solid rgba(255,255,255,.13);padding:18px 14px;background:rgba(255,255,255,.01)
}
.logo-card:last-child{border-right:0}

.snp .gold-line{width:82px;height:3px;background:#d3b46a;margin-bottom:10px}
.snp .snp-text{
  color:#ffffff;font-family:Georgia,'Times New Roman',serif;font-size:16px;
  line-height:0.95;letter-spacing:.01em;text-align:center
}

.hsbc-row{display:flex;align-items:center;gap:12px}
.hsbc-text{font-family:Georgia,'Times New Roman',serif;font-size:20px;color:#fff;letter-spacing:.02em}
.hsbc-icon{width:28px;height:20px;position:relative;display:inline-block}
.hsbc-icon i{position:absolute;width:50%;height:50%;background:#db0011}
.hsbc-icon i:nth-child(1){top:0;left:0;clip-path:polygon(0 50%,100% 0,100% 100%)}
.hsbc-icon i:nth-child(2){top:0;right:0;clip-path:polygon(0 0,100% 50%,0 100%)}
.hsbc-icon i:nth-child(3){bottom:0;left:0;clip-path:polygon(0 50%,100% 0,100% 100%)}
.hsbc-icon i:nth-child(4){bottom:0;right:0;clip-path:polygon(0 0,100% 50%,0 100%)}
.sub-label{margin-top:8px;font-size:10px;letter-spacing:.20em;color:#b3c2d3}

.ey-mark{
  width:54px;height:11px;background:#ffd600;transform:skewX(-28deg);
  margin-bottom:10px
}
.ey-text{font-size:36px;font-weight:700;color:#fff;line-height:1}

.dovalue-text{font-size:32px;font-weight:700;color:#1e7acb;letter-spacing:-.03em}
.parker-text{font-family:Georgia,'Times New Roman',serif;font-size:24px;color:#fff;letter-spacing:.01em}
.parker-sub{margin-top:6px;font-size:10px;letter-spacing:.28em;color:#a6b6c6}

.what{padding-bottom:68px}
.pillars{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.pillar{padding:58px 3.8vw 68px;min-height:570px;border-right:1px solid var(--line)}
.pillar:last-child{border-right:0}
.pillar-index{font-size:11px;letter-spacing:.15em;color:var(--muted);margin-bottom:48px}
.pillar h3{
  font-family:Georgia,'Times New Roman',serif;font-weight:400;
  font-size:clamp(30px,2.6vw,39px);line-height:1.07;letter-spacing:-.035em;margin-bottom:25px
}
.pillar p{font-size:16px;line-height:1.6;color:var(--muted);min-height:118px}
.pillar ul{list-style:none;padding:0;margin:34px 0 0;border-top:1px solid var(--line)}
.pillar li{padding:13px 0;border-bottom:1px solid var(--line);font-size:13px;font-weight:700;letter-spacing:.01em}

.clients{padding:110px 7vw;background:var(--soft)}
.clients h2{
  font-size:clamp(38px,4.6vw,66px);line-height:1.02;
  max-width:1120px;margin:30px 0 64px
}
.client-grid{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid #cbd3dc}
.client-grid div{
  padding:28px 22px 28px 0;border-right:1px solid #cbd3dc;border-bottom:1px solid #cbd3dc;
  font-size:15px;font-weight:700;min-height:96px
}
.client-grid div:nth-child(3n){border-right:0}
.client-grid div:nth-child(3n+2),.client-grid div:nth-child(3n+3){padding-left:22px}

.contact{padding:100px 7vw;display:grid;grid-template-columns:2fr 1fr;gap:60px;background:var(--deep);color:#fff}
.contact .eyebrow{color:#aeb9c6}
.contact h2{font-size:clamp(54px,7vw,100px);margin:22px 0 0}
.contact-details{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:16px;font-size:15px}
.contact-details a{border-bottom:1px solid rgba(255,255,255,.42);padding-bottom:3px}
.contact-details p{margin:14px 0 0;color:#b6c0cb;line-height:1.6}
footer{background:#0d2035;color:#8fa0b4;padding:24px 7vw;font-size:10px;letter-spacing:.08em;text-transform:uppercase}

@media(max-width:1100px){
  .logo-strip{grid-template-columns:repeat(3,1fr)}
  .logo-card:nth-child(3){border-right:0}
  .logo-card:nth-child(n+4){border-top:1px solid rgba(255,255,255,.13)}
}
@media(max-width:900px){
  .site-header{height:78px;padding:0 20px}.brand img{width:108px}nav{display:none}
  .hero{padding-top:78px}
  .section{padding:76px 22px;grid-template-columns:1fr;gap:24px}
  .experience-banner{padding:32px 22px}
  .logo-strip{grid-template-columns:1fr 1fr}
  .logo-card{border-right:1px solid rgba(255,255,255,.13);border-top:1px solid rgba(255,255,255,.13)}
  .logo-card:nth-child(2n){border-right:0}
  .logo-card:nth-child(-n+2){border-top:0}
  .dovalue-text{font-size:28px}.ey-text{font-size:30px}.parker-text{font-size:22px}
  .pillars{grid-template-columns:1fr}.pillar{border-right:0;border-bottom:1px solid var(--line);padding:50px 22px;min-height:0}
  .pillar p{min-height:0}
  .clients{padding:76px 22px}.client-grid{grid-template-columns:1fr 1fr}
  .client-grid div{border-right:1px solid #cbd3dc;padding-left:0!important}
  .client-grid div:nth-child(2n){border-right:0;padding-left:20px!important}
  .contact{padding:76px 22px;grid-template-columns:1fr}.contact-details{margin-top:18px}
}
@media(max-width:560px){
  .logo-strip{grid-template-columns:1fr}
  .logo-card,.logo-card:nth-child(2n){border-right:0}
  .logo-card:first-child{border-top:0}
  .client-grid{grid-template-columns:1fr}.client-grid div{border-right:0!important;padding-left:0!important}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.hero-frame img{animation:none}}
