:root{--bg:#0b1720;--panel:#142630;--panel2:#172833;--line:#29414d;--divider:#36505c;--text:#f5f9fb;--muted:#b7c5cc;--blue:#77cef1;--green:#77cda6;--gold:#d6b56d;--max:1200px;--radius:24px}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--text);font-family:"Avenir Next",Avenir,"Helvetica Neue",Arial,sans-serif;font-size:17px;line-height:1.62;letter-spacing:.002em}a{color:inherit;text-decoration:none}img{display:block;width:100%;height:100%;object-fit:cover}button{font:inherit}
.site-header{position:sticky;top:0;z-index:20;display:flex;align-items:center;justify-content:space-between;max-width:var(--max);margin:auto;padding:20px 28px;background:rgba(11,23,32,.9);backdrop-filter:blur(18px);border-bottom:1px solid rgba(255,255,255,.06)}.brand{display:flex;align-items:center;gap:11px;font-size:1.22rem;font-weight:700}.brand-mark{display:grid;place-items:center;width:34px;height:34px;border-radius:9px;background:var(--blue);color:var(--bg);font-weight:800}nav{display:flex;align-items:center;gap:28px;color:#d5dee2;font-size:.93rem}nav a:hover{color:#fff}.nav-cta{padding:10px 17px;border:1px solid var(--divider);border-radius:999px}.lang{display:flex;gap:4px;padding:4px;border:1px solid var(--divider);border-radius:999px;background:var(--panel);color:var(--muted);cursor:pointer}.lang span{padding:5px 8px;border-radius:999px;font-size:.75rem}.lang .active{background:var(--blue);color:var(--bg);font-weight:800}main section,footer{max-width:var(--max);margin:0 auto}
.hero{position:relative;min-height:690px;display:flex;align-items:center;margin-top:26px!important;padding:76px 58px 88px;overflow:hidden;border:1px solid var(--line);border-radius:32px;background:var(--panel)}.hero-copy{position:relative;z-index:3;width:57%;max-width:680px}.eyebrow{margin:0 0 22px;color:var(--blue);font-size:.76rem;font-weight:700;letter-spacing:.19em;text-transform:uppercase}.hero h1{max-width:680px;margin:0;font-size:clamp(3.4rem,6.3vw,6.2rem);font-weight:500;line-height:.98;letter-spacing:-.055em}.hero-lead{max-width:650px;margin:30px 0 0;color:#c7d0d5;font-size:clamp(1.12rem,1.9vw,1.38rem);line-height:1.58}.hero-actions{display:flex;gap:14px;margin-top:36px}.button{display:inline-flex;align-items:center;justify-content:center;min-height:52px;padding:0 23px;border-radius:999px;font-weight:700}.primary{background:var(--blue);color:var(--bg)}.primary:hover{background:#8fd8f4}.secondary{border:1px solid var(--divider);color:#eef5f7}.secondary:hover{background:var(--panel)}.micro{margin-top:24px;color:#a7b7be;font-size:.88rem}.hero-visual{position:absolute;inset:0;overflow:hidden}.hero-visual img{object-position:center}.hero-visual:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(11,23,32,.99) 0%,rgba(11,23,32,.93) 34%,rgba(11,23,32,.38) 64%,rgba(11,23,32,.06) 100%)}.signal-card{position:absolute;right:28px;bottom:28px;z-index:2;display:grid;grid-template-columns:auto 1fr;gap:0 14px;width:300px;padding:18px 20px;border:1px solid rgba(255,255,255,.16);border-radius:18px;background:rgba(20,38,48,.88);backdrop-filter:blur(12px)}.signal-card span{grid-row:1/3;color:var(--blue);font-weight:800}.signal-card strong{font-size:1.05rem}.signal-card small{color:var(--muted)}
.problem,.services{padding:110px 28px}.problem{border-top:1px solid var(--line)}.section-heading{display:grid;grid-template-columns:1.25fr .75fr;gap:80px;align-items:end}.section-heading.compact{align-items:start}.section-heading h2,.approach h2,.about h2,.contact h2{margin:0;font-size:clamp(2.25rem,3.7vw,4rem);font-weight:500;line-height:1.1;letter-spacing:-.038em}.section-heading p,.about-copy>p,.contact>div>p{margin:0;color:var(--muted);font-size:1.06rem}.issue-grid,.service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:56px}.issue-grid article,.service-card{min-height:260px;padding:32px;border:1px solid var(--line);border-radius:var(--radius);background:var(--panel)}.issue-grid span,.service-no{color:var(--blue);font-size:.79rem;font-weight:800}.issue-grid h3,.service-card h3{margin:42px 0 12px;font-size:1.45rem;font-weight:600}.issue-grid p,.service-card li{color:var(--muted)}.service-grid{margin-top:62px}.service-card{min-height:430px;position:relative;overflow:hidden}.service-card:before{content:"";position:absolute;left:0;right:0;top:0;height:4px;background:var(--blue)}.service-card.performance:before{background:var(--green)}.service-card.capital:before{background:var(--gold)}.service-card.performance .service-no{color:var(--green)}.service-card.capital .service-no{color:var(--gold)}.service-card h3{margin-top:58px;font-size:2rem;font-weight:550}.outcome{min-height:72px;color:#fff!important;font-size:1.12rem;font-weight:600}.service-card ul{margin:34px 0 0;padding:0;list-style:none}.service-card li{padding:12px 0;border-top:1px solid var(--line)}
.approach{display:grid;grid-template-columns:.95fr 1.05fr;gap:68px;align-items:center;padding:110px 28px}.approach-image{aspect-ratio:1.38;border-radius:28px;overflow:hidden}.approach-image img{object-position:center}.approach-copy{padding:18px 0}.steps{margin-top:48px}.steps>div{display:grid;grid-template-columns:42px 1fr;gap:18px;padding:22px 0;border-top:1px solid var(--line)}.steps span{color:var(--blue);font-size:.8rem;font-weight:800}.steps p{margin:0}.steps strong,.steps small{display:block}.steps strong{font-weight:600}.steps small{margin-top:6px;color:var(--muted);font-size:.98rem}
.about{display:grid;grid-template-columns:1.15fr .85fr;gap:70px;align-items:center;padding:110px 28px}.about-copy>p{margin-top:28px;max-width:720px}.name-story{display:flex;gap:18px;align-items:center;margin-top:38px}.name-story strong{color:var(--blue);font-size:1.15rem}.name-story span{padding-left:18px;border-left:1px solid var(--line);color:var(--muted)}.profile-card{padding:44px;border:1px solid var(--line);border-radius:30px;background:linear-gradient(145deg,#172f3a,#10202a)}.profile-role{color:var(--blue);font-size:.8rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase}.profile-card h3{margin:26px 0 8px;font-size:2.2rem;font-weight:550}.profile-card>p:not(.profile-role){color:var(--muted)}.tags{display:flex;flex-wrap:wrap;gap:9px;margin-top:35px}.tags span{padding:9px 13px;border:1px solid var(--divider);border-radius:999px;color:#d5e1e6;font-size:.83rem}
.contact{display:grid;grid-template-columns:1.05fr .95fr;gap:70px;align-items:center;margin-top:90px!important;margin-bottom:100px!important;padding:70px;border:1px solid #3284a6;border-radius:32px;background:linear-gradient(135deg,#176f94,#135d7c)}.contact>div>p{margin-top:24px;color:#d5e9f2}.contact-card{padding:30px;border-radius:24px;background:rgba(11,23,32,.42)}.contact-card ol{margin:0 0 28px;padding-left:24px}.contact-card li{padding:10px;color:#edf6fa}.contact-card .button{width:100%}footer{display:flex;align-items:center;justify-content:space-between;padding:36px 28px 58px;border-top:1px solid var(--line);color:#9aacb4;font-size:.86rem}footer .brand{color:#eef5f7}footer .brand-mark{width:29px;height:29px;border-radius:8px;font-size:.9rem}
@media(max-width:900px){nav a:not(.nav-cta){display:none}.section-heading,.approach,.about,.contact{grid-template-columns:1fr}.hero{margin:18px 18px 0!important;padding:62px 38px 70px}.hero-copy{width:72%}.hero-visual:after{background:linear-gradient(90deg,rgba(11,23,32,.99) 0%,rgba(11,23,32,.9) 48%,rgba(11,23,32,.25) 100%)}.issue-grid,.service-grid{grid-template-columns:1fr}.service-card{min-height:0}.approach-image{aspect-ratio:16/10}.contact{margin:40px 18px 80px!important;padding:40px 28px}.section-heading{gap:24px}.about,.approach{gap:42px}}
@media(max-width:600px){body{font-size:16px}.site-header{padding:15px 18px}.brand{font-size:1rem}nav{margin-left:auto;margin-right:8px}.nav-cta{padding:8px 12px;font-size:.8rem}.problem,.services,.approach,.about{padding-left:18px;padding-right:18px}.hero{min-height:670px;margin:12px 12px 0!important;padding:52px 25px 70px;align-items:flex-start}.hero-copy{width:100%}.hero h1{font-size:3.25rem}.hero-lead{font-size:1.05rem}.hero-actions{align-items:stretch;flex-direction:column}.hero-visual img{object-position:67% center}.hero-visual:after{background:linear-gradient(180deg,rgba(11,23,32,.98) 0%,rgba(11,23,32,.87) 55%,rgba(11,23,32,.28) 100%)}.signal-card{display:none}.problem,.services,.approach,.about{padding-top:80px;padding-bottom:80px}.section-heading h2,.approach h2,.about h2,.contact h2{font-size:2.35rem}.issue-grid,.service-grid{margin-top:38px}.issue-grid article{min-height:220px}.about{gap:38px}.name-story{align-items:flex-start;flex-direction:column}.name-story span{padding:0;border:0}.profile-card{padding:30px}.contact{border-radius:28px}footer{align-items:flex-start;flex-direction:column;gap:14px}}
@font-face{font-family:Manrope;src:url('assets/fonts/manrope-latin.woff2') format('woff2');font-weight:200 800;font-style:normal;font-display:swap}
body{font-family:Manrope,"Helvetica Neue",Arial,sans-serif}.hero{min-height:650px}.eyebrow{font-size:.74rem;font-weight:650}.hero h1{max-width:650px;font-size:clamp(3rem,5.2vw,5rem);font-weight:430;line-height:1.04;letter-spacing:-.045em}.hero-lead{max-width:620px;margin-top:28px;font-size:clamp(1.08rem,1.7vw,1.28rem);line-height:1.6}.section-heading h2,.approach h2,.about h2,.contact h2{font-size:clamp(2rem,3vw,3.25rem);font-weight:430;line-height:1.16;letter-spacing:-.028em}.contact{margin-bottom:60px!important}.legal{padding:0 28px 60px}.legal details{border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.legal summary{padding:22px 0;color:var(--muted);font-size:.88rem;cursor:pointer;list-style-position:inside}.legal-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:42px;padding:10px 0 36px}.legal-grid strong{font-size:.9rem;font-weight:650}.legal-grid p{margin:10px 0 0;color:var(--muted);font-size:.9rem;line-height:1.7}.legal-grid a:hover{color:var(--blue)}footer{border-top:0}
@media(max-width:900px){.legal-grid{grid-template-columns:1fr}}
@media(max-width:600px){.hero{min-height:640px}.hero h1{font-size:2.75rem}.section-heading h2,.approach h2,.about h2,.contact h2{font-size:2rem}.legal{padding:0 18px 46px}}
.eyebrow{font-size:.88rem;line-height:1.35}.hero h1{max-width:590px;font-size:clamp(2.7rem,4.3vw,4.15rem);line-height:1.08}.section-heading h2,.approach h2,.about h2,.contact h2{font-size:clamp(1.8rem,2.55vw,2.75rem);line-height:1.2}
@media(max-width:600px){.eyebrow{font-size:.8rem}.hero h1{font-size:2.35rem}.section-heading h2,.approach h2,.about h2,.contact h2{font-size:1.75rem}}

/* Final spacing and detail refinements */
:root{--section-space:100px}
.brand,footer .brand{color:var(--blue)}
.hero{padding-bottom:98px}
.hero-copy{width:52%;max-width:590px}
.hero-lead{max-width:540px}
.hero-signature{position:absolute;left:58px;bottom:28px;z-index:3;margin:0;color:var(--blue);font-size:.78rem;font-weight:700;letter-spacing:.16em}
.problem{border-top:0}
.problem,.services,.approach,.about{padding-top:var(--section-space);padding-bottom:var(--section-space)}
.issue-grid span,.service-no,.steps span{font-size:.88rem;line-height:1.35}
.approach{align-items:stretch}
.approach-image{height:100%;min-height:520px;aspect-ratio:auto}
.approach-copy{display:flex;flex-direction:column;justify-content:center;padding:0}
.about-copy .eyebrow{margin-bottom:30px;color:var(--blue)}
.name-story strong{color:var(--text)}
.contact{margin-top:var(--section-space)!important;margin-bottom:var(--section-space)!important}

@media(max-width:900px){
  .hero-copy{width:67%;max-width:560px}
  .approach-image{height:auto;min-height:0;aspect-ratio:16/10}
  .contact{margin-top:var(--section-space)!important;margin-bottom:var(--section-space)!important}
}
@media(max-width:600px){
  :root{--section-space:76px}
  .hero-copy{width:100%}
  .hero-lead{max-width:100%}
  .hero-signature{left:25px;bottom:24px;font-size:.68rem;letter-spacing:.11em}
  .issue-grid span,.service-no,.steps span{font-size:.8rem}
}

/* Second refinement round */
.site-header>.brand{font-size:1.38rem}
.hero{margin-top:40px!important}
.about{align-items:stretch}
.about-copy{display:flex;flex-direction:column;justify-content:center}
.about-copy .eyebrow{font-size:.82rem;line-height:1.35}
.profile-card{align-self:stretch;display:flex;flex-direction:column;justify-content:center}
.profile-card h3{font-size:1.9rem}
.tags{margin-top:28px;gap:8px}
.tags span{padding:8px 12px}
.contact .eyebrow{margin-bottom:34px}

@media(max-width:900px){
  .hero{margin-top:28px!important}
  .profile-card{align-self:auto}
}
@media(max-width:600px){
  .site-header>.brand{font-size:1.1rem}
  .hero{margin-top:20px!important}
  .about-copy .eyebrow{font-size:.76rem}
}

/* Final compacting */
.problem{padding-top:130px}
.profile-card{align-self:center;padding:34px 40px}
.profile-role{margin:0 0 18px}
.profile-card h3{margin:0 0 6px;font-size:1.7rem}
.profile-card>p:not(.profile-role){margin:0}
.profile-card .tags{margin-top:22px;gap:7px}
.profile-card .tags span{padding:6px 11px}

@media(max-width:600px){
  .problem{padding-top:96px}
  .profile-card{padding:30px}
  .profile-card h3{font-size:1.6rem}
}

/* Align both about columns on one vertical centre */
.about{align-items:center}
.about-copy{display:block}
.about-copy>.eyebrow{margin-top:0}
.profile-card{align-self:auto}

/* Discreet LinkedIn links */
.profile-heading,.footer-brand{display:flex;align-items:center;gap:12px}
.profile-heading{margin-bottom:6px}
.profile-heading h3{margin:0}
.linkedin-icon{display:inline-grid;flex:0 0 auto;place-items:center;width:30px;height:30px;border:1px solid var(--divider);border-radius:8px;color:var(--blue);font-size:.78rem;font-weight:800;line-height:1;letter-spacing:-.04em;transition:border-color .2s ease,background-color .2s ease,color .2s ease}
.linkedin-icon:hover,.linkedin-icon:focus-visible{border-color:var(--blue);background:var(--blue);color:var(--bg);outline:none}
footer .linkedin-icon{width:28px;height:28px}

/* Match number-to-title spacing across card groups */
.service-card h3{margin-top:42px}

/* Mobile-only visual refinements */
@media(max-width:600px){
  .hero-visual:after{background:linear-gradient(180deg,rgba(11,23,32,.90) 0%,rgba(11,23,32,.65) 55%,rgba(11,23,32,.12) 100%)}
  .problem{padding-bottom:60px}
  .services{padding-top:60px}
  .approach{padding-bottom:60px}
  .about{padding-top:45px}
}

/* Personal profile portrait */
.about{grid-template-columns:1.35fr .65fr;gap:80px}
.profile-card{display:block;align-self:center;justify-self:end;width:min(100%,360px);padding:12px}
.profile-photo{overflow:hidden;border:0;border-radius:20px;background:#10202a}
.profile-photo img{display:block;width:100%;height:auto;object-fit:contain;filter:saturate(.88) contrast(1.02)}
.profile-content{min-width:0;margin-top:34px;padding-top:30px;border-top:1px solid var(--line)}
.profile-content>.profile-role{margin:0 0 18px}
.profile-content h3{font-size:1.7rem;font-weight:550}
.profile-content>p:not(.profile-role){margin:0;color:var(--muted)}
.profile-content .tags{max-width:820px;margin-top:22px}

@media(max-width:900px){
  .about{grid-template-columns:1fr}
  .profile-card{justify-self:start;width:min(100%,340px)}
}

@media(max-width:560px){
  .profile-card{width:100%;max-width:320px;padding:10px}
}

/* Tighter transition from the profile section to the next step */
.about{padding-bottom:55px}
.contact{margin-top:45px!important}

@media(max-width:600px){
  .about{padding-bottom:40px}
  .contact{margin-top:35px!important}
}
