@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{--bg:#101316;--bg2:#171c20;--bg3:#20272b;--teal:#26c5d4;--teal2:#1597a5;--text:#f6f7f7;--muted:#a8b3b8;--line:#344047;--max:1180px}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:80px}body{margin:0;background:var(--bg);color:var(--text);font:16px/1.75 'DM Sans',Arial,sans-serif}a{color:inherit;text-decoration:none}button{font:inherit}.container{width:min(var(--max),calc(100% - 64px));margin:auto}.skip{position:absolute;left:12px;top:-70px;background:#fff;color:#111;padding:10px;z-index:100}.skip:focus{top:12px}.site-header{position:sticky;top:0;z-index:50;background:rgba(15,18,21,.96);border-bottom:1px solid #293138;backdrop-filter:blur(16px)}.nav{min-height:78px;display:flex;justify-content:space-between;align-items:center;gap:20px}.brand{display:inline-flex;align-items:center;gap:12px;font-family:Manrope,sans-serif;font-size:15px;font-weight:800;letter-spacing:.11em;white-space:nowrap}.brand b{color:var(--teal)}.brand-mark{display:grid;place-items:center;width:40px;height:40px;border:1px solid var(--teal);border-radius:50%;font-size:11px;letter-spacing:-.04em}.brand-mark span{color:var(--teal)}nav{display:flex;align-items:center;gap:32px}nav a{font-size:13px;font-weight:600;color:#d2d9dc;transition:color .2s}nav a:hover,nav a:focus-visible{color:var(--teal)}nav .nav-cta{border:1px solid var(--teal);padding:10px 17px;color:var(--teal)}.nav-cta span{margin-left:8px}.menu-toggle{display:none}.hero{position:relative;min-height:690px;display:flex;flex-direction:column;justify-content:center;isolation:isolate;overflow:hidden}.hero-photo{position:absolute;inset:0;z-index:-3;background-image:url('assets/tower-bridge-mobile.jpg');background-size:cover;background-position:center 44%}.hero-shade{position:absolute;inset:0;z-index:-2;background:linear-gradient(90deg,rgba(8,16,21,.94) 0%,rgba(9,17,22,.78) 39%,rgba(9,17,22,.26) 100%),linear-gradient(0deg,rgba(8,14,18,.7),transparent 40%)}.hero-content{padding:100px 0 130px}.eyebrow{color:var(--teal);font:800 11px/1.4 Manrope,sans-serif;letter-spacing:.2em;margin:0 0 22px}.eyebrow-line{display:inline-block;width:22px;border-top:2px solid var(--teal);vertical-align:middle;margin-right:8px}.hero h1,h2,h3{font-family:Manrope,Arial,sans-serif}.hero h1{font-size:clamp(40px,5.2vw,74px);letter-spacing:-.065em;line-height:1.14;margin:0 0 28px;max-width:880px;font-weight:800;text-shadow:0 2px 15px #0005}h1 em,h2 em{color:var(--teal);font-style:normal}.hero-lead{font-size:18px;max-width:540px;color:#e1e9eb;line-height:1.7}.hero-actions{display:flex;gap:14px;flex-wrap:wrap;margin-top:30px}.btn{display:inline-flex;align-items:center;justify-content:space-between;gap:28px;min-height:50px;padding:12px 22px;font-size:13px;font-weight:800;font-family:Manrope,sans-serif;transition:transform .2s,background .2s}.btn:hover{transform:translateY(-2px)}.btn-primary{background:var(--teal);color:#07191d}.btn-primary:hover{background:#6ce3eb}.btn-ghost{border:1px solid #b1c0c5;color:white}.btn-outline{border:1px solid var(--teal);color:var(--teal)}.hero-footer{position:absolute;bottom:0;left:0;right:0;background:#0c1317dd;border-top:1px solid #c9e7ea3b}.hero-footer .container{display:flex;gap:28px;align-items:center;min-height:65px;font:700 11px Manrope,sans-serif;letter-spacing:.13em;color:#d9e5e7}.dot{color:var(--teal)}.section{padding:110px 0}.intro{background:#f1f3f3;color:#202a2e}.intro-grid{display:grid;grid-template-columns:.88fr 1.12fr;gap:90px;align-items:center}.portrait-wrap{position:relative;background:#fff;max-width:450px;box-shadow:22px 22px 0 #dce6e7}.portrait-wrap img{width:100%;display:block;max-height:540px;object-fit:cover;object-position:center 15%}.portrait-tag{position:absolute;bottom:0;left:0;right:0;background:#101719eb;padding:14px 20px;color:white;font:800 12px Manrope,sans-serif;letter-spacing:.12em}.portrait-tag span{color:var(--teal)}h2{font-size:clamp(31px,3.5vw,48px);letter-spacing:-.055em;line-height:1.2;margin:0 0 25px}.intro-copy p:not(.eyebrow),.approach p:not(.eyebrow),.contact p:not(.eyebrow){color:#5b676c}.intro-copy .lead{font-size:20px;font-weight:700;color:#253238!important}.text-link{display:inline-block;color:#087f8e;font-weight:800;margin-top:12px;border-bottom:2px solid #087f8e;padding-bottom:5px}.text-link span{margin-left:12px}.services{background:var(--bg)}.section-heading{display:flex;justify-content:space-between;align-items:end;gap:35px;margin-bottom:36px}.section-heading h2{margin:0}.section-heading>p{max-width:350px;color:var(--muted);margin:0 0 5px}.service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);border:1px solid var(--line)}.service-card{position:relative;background:#161c20;padding:35px 31px 32px;min-height:320px;transition:background .2s}.service-card:hover{background:#1e292e}.service-number{position:absolute;right:30px;top:30px;font:700 12px Manrope;color:#6e8289}.service-icon{font-size:35px;line-height:1;color:var(--teal);margin-bottom:28px}.service-card h3{font-size:18px;letter-spacing:-.035em;margin:0 0 14px}.service-card p{font-size:14px;color:#adbac0;line-height:1.8;margin:0}.service-rule{position:absolute;bottom:0;left:31px;width:44px;border-bottom:3px solid var(--teal)}.approach{background:#1c2429}.approach-grid{display:grid;grid-template-columns:1fr 1fr;gap:95px}.approach-grid>div:first-child>p:not(.eyebrow){color:#b4c0c5;max-width:470px;margin-bottom:28px}.approach-steps>div{display:flex;gap:25px;border-top:1px solid #435159;padding:22px 0}.approach-steps>div:last-child{border-bottom:1px solid #435159}.approach-steps span{font:800 14px Manrope;color:var(--teal);padding-top:5px}.approach-steps h3{font-size:18px;margin:0 0 4px}.approach-steps p{margin:0!important;color:#b5c2c7!important;font-size:14px}.testimonials{background:#101316}.testimonial-heading{margin-bottom:35px}.testimonial-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}.quote-card{background:#1a2226;border:1px solid #354249;padding:35px;display:flex;flex-direction:column;min-height:300px}.quote-mark{color:var(--teal);font:800 65px/1 Georgia,serif}.quote-card>p{color:#d7e0e3;font-size:16px;flex:1}.quote-person{border-top:1px solid #3c4b51;padding-top:19px;display:flex;flex-direction:column;gap:3px}.quote-person strong{font:800 14px Manrope}.quote-person span{font-size:12px;color:var(--muted)}.contact{background:#e9f0f1;color:#17252b}.contact-grid{display:grid;grid-template-columns:1fr .88fr;gap:90px;align-items:center}.contact-grid>div:first-child>p:not(.eyebrow){color:#53666e;max-width:490px}.contact-note{font-size:13px}.contact-panel{background:#152025;color:#fff;padding:43px}.panel-label{color:var(--teal);font:800 11px Manrope;letter-spacing:.17em}.contact-panel h3{font-size:26px;line-height:1.25;letter-spacing:-.045em;margin:18px 0}.contact-panel p{color:#b5c4c8!important;font-size:14px}.contact-email{margin:20px 0 26px;width:100%;opacity:.65;cursor:default}.social-links{display:flex;gap:13px;align-items:center;flex-wrap:wrap;border-top:1px solid #415056;padding-top:18px;font-size:12px}.social-links>span:first-child{color:#aab9be}.profile-pending{color:#c9d6da;border-bottom:1px dotted #657b83}.social-links a{color:var(--teal);border-bottom:1px solid var(--teal)}.footer{background:#0b0f12;border-top:1px solid #2a363c}.footer-inner{display:flex;align-items:center;justify-content:space-between;gap:20px;min-height:110px}.footer-inner>span,.footer-inner>a:last-child{color:#9eacb1;font-size:12px}@media(max-width:900px){.intro-grid,.approach-grid,.contact-grid{gap:45px}.service-grid{grid-template-columns:repeat(2,1fr)}nav{gap:17px}.hero{min-height:630px}.hero-footer .container{gap:14px;flex-wrap:wrap;padding:15px 0}}@media(max-width:680px){.container{width:min(var(--max),calc(100% - 36px))}.nav{min-height:68px}.menu-toggle{display:flex;width:40px;height:40px;background:none;border:1px solid #415056;flex-direction:column;justify-content:center;gap:5px;padding:10px}.menu-toggle span{height:2px;background:#fff;display:block;width:100%}nav{display:none;position:absolute;top:68px;left:0;right:0;background:#101619;border-bottom:1px solid #415056;padding:20px;flex-direction:column;align-items:stretch;gap:15px}nav.open{display:flex}.hero{min-height:660px}.hero-photo{background-position:55% center}.hero-shade{background:linear-gradient(90deg,#0b1215e8,#0b1215aa),linear-gradient(0deg,#0b1215aa,transparent)}.hero-content{padding:85px 0 135px}.hero h1{font-size:clamp(39px,9vw,58px)}.hero-lead{font-size:16px}.hero-footer .container{gap:9px 15px;font-size:9px}.section{padding:72px 0}.intro-grid,.approach-grid,.contact-grid,.testimonial-grid{grid-template-columns:1fr}.intro-grid{gap:60px}.portrait-wrap{max-width:400px}.section-heading{display:block}.section-heading>p{margin-top:20px}.service-grid{grid-template-columns:1fr}.service-card{min-height:260px}.approach-grid{gap:38px}.contact-grid{gap:30px}.contact-panel{padding:30px}.footer-inner{flex-direction:column;align-items:flex-start;padding:25px 0}.brand{font-size:13px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important}}

/* LinkedIn recommendations carousel */
.recommendation-carousel{max-width:940px;margin:0 auto}.carousel-viewport{overflow:hidden;border-radius:14px}.carousel-track{display:flex;transition:transform .55s ease;align-items:stretch}.carousel-slide{flex:0 0 100%;box-sizing:border-box;min-width:0;display:flex;flex-direction:column;min-height:330px}.carousel-slide p{flex:1;white-space:normal}.carousel-slide .quote-person{margin-top:24px}.excerpt-note{display:block;opacity:.7;font-size:12px;margin-top:10px}.carousel-controls{display:flex;justify-content:center;align-items:center;gap:18px;margin-top:22px}.carousel-arrow,.carousel-pause{cursor:pointer;background:transparent;color:inherit;border:1px solid currentColor;border-radius:30px;padding:9px 16px;font:inherit}.carousel-arrow{font-size:20px;line-height:1}.carousel-counter{min-width:55px;text-align:center;font-size:13px}.carousel-pause{font-size:12px}.carousel-arrow:hover,.carousel-pause:hover{opacity:.7}.carousel-viewport:focus-visible{outline:2px solid currentColor;outline-offset:3px}@media(max-width:680px){.carousel-slide{min-height:430px;padding:25px}.carousel-controls{gap:10px}}@media(prefers-reduced-motion:reduce){.carousel-track{transition:none}}
