/* New content layouts use the existing Tech Pulse design tokens and fonts. */
[hidden]{display:none!important}
.header nav{gap:22px}.header nav a{font-size:12px}.header nav a[aria-current=page]{color:#344f97}.nav-dropdown{display:flex;align-items:center;position:relative;gap:2px}.dropdown-toggle{background:transparent;border:0;padding:0;min-width:30px;min-height:44px;display:grid;place-items:center;color:#536073}.service-menu{position:absolute;left:-18px;top:calc(100% + 12px);min-width:235px;display:flex;flex-direction:column;background:#fff;border:1px solid #e0e5ee;border-radius:7px;padding:9px;box-shadow:0 16px 40px #233c5814;z-index:30}.service-menu a{display:block;padding:10px 13px;min-height:44px;white-space:nowrap;border-radius:4px}.service-menu a:hover{background:#f1f4fa}
.content-home-hero h1{font-size:clamp(46px,5.1vw,73px);line-height:1.1;letter-spacing:-2.8px}.content-home-hero .hero-copy>p{max-width:540px;font-size:16px}.content-home-hero .hero-layout{min-height:690px}
.intro-strip{padding:36px 0;background:#f5f7fa;border-block:1px solid #e4e9f1}.intro-strip>.container{display:grid;grid-template-columns:1fr 1.4fr;gap:60px;align-items:center}.intro-strip h2{font:500 12px/1.7 var(--font);letter-spacing:1.5px;margin:0;color:#405473;max-width:320px}.intro-strip p{font-size:14px;line-height:1.9;color:#65738a;margin:0}
.page-hero{position:relative;overflow:hidden;padding:38px 0 88px;background:radial-gradient(ellipse at 85% 25%,#edf1f8,transparent 65%),#fbfcfe;isolation:isolate;border-bottom:1px solid #e3e8f0}.page-hero>.container{position:relative;z-index:1}.page-hero .hero-grid{z-index:0;opacity:.13;mask-image:linear-gradient(90deg,transparent,black)}.breadcrumb{padding-bottom:55px;font-size:11px;color:#7a879c}.breadcrumb ol{list-style:none;display:flex;align-items:center;flex-wrap:wrap;gap:10px;padding:0;margin:0}.breadcrumb li+li:before{content:'/';margin-right:10px;color:#b3bdcc}.breadcrumb a:hover{color:#4054aa}.page-hero h1{font:450 clamp(42px,5vw,70px)/1.09 var(--display);letter-spacing:-2.4px;max-width:970px;margin:25px 0;color:#1b2a42}.page-hero>.container>p{max-width:760px;font-size:17px;line-height:1.85;color:#637188;margin:0}.page-hero-actions{display:flex;align-items:center;gap:30px;margin-top:32px}
.soft-section{background:#f7f9fc;border-block:1px solid #e9edf4}.narrative-section{padding:82px 0}.narrative-block{display:grid;grid-template-columns:.8fr 1.2fr;gap:95px;align-items:start}.narrative-block h2{font-size:35px;line-height:1.18;letter-spacing:-1px;margin-top:20px}.narrative-copy p{font-size:15px;line-height:1.95;color:#637188;margin:0 0 20px}.narrative-copy p:last-child{margin-bottom:0}.content-list{padding:0;list-style:none;margin:0}.content-list li{position:relative;padding:14px 0 14px 22px;border-bottom:1px solid #e0e6ef;color:#5d6e87;font-size:14px;line-height:1.8}.content-list li:before{content:'';position:absolute;left:0;top:25px;width:5px;height:5px;border-radius:50%;background:#7d91b6}.content-list li:first-child{padding-top:0}.content-list li:first-child:before{top:11px}
.closing-cta{background:#edf1f8;border-block:1px solid #dfe6f0}.closing-layout{display:flex;justify-content:space-between;align-items:center;gap:70px}.closing-layout>div{max-width:800px}.closing-layout h2{font-size:45px;letter-spacing:-1.4px;line-height:1.16;margin-top:20px}.closing-layout p{font-size:15px;line-height:1.85;color:#62728a;max-width:720px;margin-top:24px}.closing-layout>.button{flex-shrink:0}
.benefit-grid{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:1fr 1fr;gap:0 70px}.benefit-grid li{display:flex;gap:24px;border-top:1px solid #dce4f0;padding:28px 0;align-items:flex-start}.benefit-grid li>span{font-size:10px;color:#8a99b1;padding-top:5px}.benefit-grid p{font-size:17px;line-height:1.8;color:#475e7e;margin:0;max-width:440px}.delivery-steps{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(5,1fr);gap:30px}.delivery-steps li{border-top:1px solid #cad7e9;padding-top:24px}.delivery-steps span{font-size:10px;color:#8394ad}.delivery-steps h3{font:400 27px var(--display);color:#344c6d;letter-spacing:-.5px;margin:20px 0 0}
.faq-item{border-bottom:1px solid #dde4ee}.faq-item:first-child{border-top:1px solid #dde4ee}.faq-item summary{font-size:15px;line-height:1.7;color:#344e71;list-style:none;display:flex;justify-content:space-between;gap:25px;padding:23px 0;cursor:pointer}.faq-item summary::-webkit-details-marker{display:none}.faq-item summary>span{font-size:22px;color:#7b8eac;line-height:1.2}.faq-item[open] summary>span{transform:rotate(45deg)}.faq-item p{color:#65758d;font-size:14px;line-height:1.9;margin:0;padding:0 28px 24px 0}
.project-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}.project-card{min-width:0;border:1px solid #dde4ef;border-radius:7px;overflow:hidden;background:#fff;transition:transform .2s,box-shadow .2s}.project-card:hover{transform:translateY(-4px);box-shadow:0 14px 35px #2942690b}.project-art{position:relative;height:168px;background:#edf2f8;overflow:hidden;display:flex;align-items:center;justify-content:center}.project-art>span{font:400 64px var(--display);letter-spacing:-4px;color:#7089b1;z-index:1}.project-art i{position:absolute;width:220px;height:220px;border:1px solid #bbcbe3;border-radius:50%;transform:rotate(-25deg) scaleY(.5)}.project-art:after{content:'';position:absolute;width:160px;height:160px;border:1px solid #c3d2e6;border-radius:50%;transform:rotate(35deg) scaleX(.6)}.project-art b{position:absolute;bottom:14px;left:20px;font-size:7px;letter-spacing:1.5px;font-weight:500;color:#7c8fa9}.project-art-1{background:#f0f4f4}.project-art-1>span{color:#7e989c}.project-art-2{background:#eef0f7}.project-art-2>span{color:#858fb1}.project-art-3{background:#f5f3ee}.project-art-3>span{color:#9c927a}
.project-card-copy{padding:25px 23px}.project-card-copy h3{font:450 24px/1.2 var(--display);letter-spacing:-.6px;margin:10px 0;color:#293e5b}.project-card-copy p{color:#6b7c94;font-size:12px;line-height:1.85;margin:14px 0 0}.project-card-copy .project-industry{font-size:9px;letter-spacing:.8px;margin:0;color:#8391a8}.project-card-copy .project-scope{font-size:10px;color:#5c78a2;margin:0}.project-card-copy .project-title{font-size:13px;color:#455e81;margin-top:22px}
.filter-heading{font:400 23px var(--display);color:#435b7e;margin:0 0 20px}.project-filters{display:flex;flex-wrap:wrap;gap:9px}.project-filters button{font:500 11px var(--font);border:1px solid #d1dceb;background:#f7f9fc;color:#637a9a;min-height:44px;border-radius:5px;padding:10px 17px;transition:background .2s,color .2s}.project-filters button[aria-pressed=true]{color:#fff;background:#293f82;border-color:#293f82}.project-filters button:hover:not([aria-pressed=true]){background:#e9eef8}.project-count{font-size:11px;color:#8190a8;margin:20px 0 30px}.engagement-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:35px;list-style:none;padding:0;margin:0;counter-reset:engagement}.engagement-grid li{border-top:1px solid #d7e1ee;padding-top:23px;counter-increment:engagement}.engagement-grid li:before{content:'0' counter(engagement);font-size:10px;color:#8a9ab2}.engagement-grid h3{font:400 25px/1.2 var(--display);color:#405a7f;margin:20px 0}.engagement-grid p{font-size:13px;line-height:1.9;color:#6c7e97}
.contact .contact-grid h2{font-size:49px;line-height:1.12;letter-spacing:-1.7px}.location-copy{margin-top:45px}.location-copy h3{font:400 24px var(--display);color:#38516f}.location-copy p{font-size:14px;line-height:1.9;color:#6c7d95}.contact-links a>span[aria-hidden]{display:inline;font-size:18px;position:absolute;right:0;bottom:0}.project-form .optional{color:#91a0b4;font-weight:400}.project-form .consent-label{display:flex;gap:10px;align-items:flex-start;margin-top:20px;cursor:pointer}.project-form .consent-label input{width:17px;height:17px;min-height:17px;flex-shrink:0;margin:2px 0 0;padding:0;accent-color:#4054aa}.project-form .consent-label>span{font-size:11px;line-height:1.8;color:#657991}.consent-label b{font-weight:400;color:#4054aa}
.footer-top p{max-width:400px}.footer-columns{display:grid;grid-template-columns:.8fr 1fr 1.2fr;gap:80px;padding-bottom:40px}.footer-columns h2{font:500 11px var(--font);letter-spacing:.9px;text-transform:uppercase;color:#647b9c;margin:0 0 20px}.footer-columns a{display:block;color:#798ba4;font-size:12px;line-height:1.8;margin:7px 0;width:fit-content}.footer-columns a:hover{color:#344e95}.footer-columns p{color:#798ba4;font-size:12px;line-height:1.9;margin:0 0 15px}
@media(max-width:1100px){.narrative-block{gap:60px}.closing-layout{gap:45px}.closing-layout h2{font-size:38px}.project-grid{gap:20px}.footer-columns{gap:55px}.header nav{gap:17px}}
@media(max-width:980px){.header nav{display:none;position:absolute;top:100px;left:0;right:0;flex-direction:column;gap:0;align-items:stretch;padding:20px 36px;background:#fff;border-bottom:1px solid #dde5ef;max-height:calc(100dvh - 100px);overflow:auto}.header nav.open{display:flex}.header nav>a{font-size:14px;padding:11px 10px;min-height:44px}.header .nav-cta{margin-left:auto}.header .menu-toggle{display:flex;flex-direction:column;justify-content:center;align-items:center;gap:6px;width:38px;height:44px;border:0;background:transparent;flex-shrink:0;padding:0}.menu-toggle span{display:block;width:20px;height:1px;background:#283a57;transition:transform .2s}.menu-toggle[aria-expanded=true] span:first-child{transform:translateY(3.5px) rotate(45deg)}.menu-toggle[aria-expanded=true] span:last-child{transform:translateY(-3.5px) rotate(-45deg)}.nav-dropdown{display:grid;grid-template-columns:1fr 44px;gap:0}.nav-dropdown>a{font-size:14px!important;padding:11px 10px}.dropdown-toggle{min-width:44px}.service-menu{position:static;grid-column:1/-1;box-shadow:none;border:0;background:#f5f7fb;margin:0 10px 10px;padding:8px 12px}.service-menu a{font-size:12px!important}.project-grid{grid-template-columns:repeat(2,1fr)}.engagement-grid{grid-template-columns:1fr 1fr}.page-hero h1{font-size:56px}.content-home-hero h1{font-size:clamp(39px,5.1vw,50px);letter-spacing:-1.9px}.content-home-hero .hero-copy>p{font-size:14px}.intro-strip>.container{gap:35px}.benefit-grid{gap:0 40px}.benefit-grid p{font-size:15px}.narrative-block{gap:40px}.narrative-block h2{font-size:31px}.narrative-copy p{font-size:14px}.closing-layout{flex-direction:column;align-items:flex-start;gap:20px}.closing-layout h2{font-size:41px}.footer-columns{gap:35px}.footer-top p{max-width:300px}}
@media(max-width:800px){.header nav{top:84px;max-height:calc(100dvh - 84px)}.delivery-steps{gap:15px}.delivery-steps h3{font-size:23px}.narrative-block{grid-template-columns:1fr;gap:28px}.narrative-copy{max-width:720px}.page-hero h1{font-size:50px}.page-hero>.container>p{font-size:15px}.project-art{height:145px}.footer-columns{grid-template-columns:1fr 1fr}.footer-columns>div:last-child{grid-column:1/-1}.intro-strip>.container{grid-template-columns:1fr;gap:15px}.intro-strip h2{max-width:none}.content-home-hero .hero-layout{min-height:640px}}
@media(max-width:640px){.header nav{top:78px;padding:17px 20px;max-height:calc(100dvh - 78px)}.header .nav-cta{display:flex;padding:7px 10px;font-size:9px;gap:9px}.header .brand>span{font-size:19px}.header .brand img{width:32px}.nav-wrap{gap:12px}.content-home-hero h1{font-size:clamp(40px,9.6vw,58px);line-height:1.12;letter-spacing:-1.8px}.content-home-hero .hero-layout{min-height:auto}.content-home-hero .hero-copy>p{font-size:14px}.content-home-hero .hero-actions{gap:20px}.content-home-hero .hero-actions .text-link{font-size:10px}.intro-strip{padding:28px 0}.intro-strip p{font-size:13px}.intro-strip h2{font-size:10px}.page-hero{padding:25px 0 55px}.breadcrumb{padding-bottom:35px;font-size:10px}.page-hero h1{font-size:42px;letter-spacing:-1.5px;margin:20px 0}.page-hero>.container>p{font-size:14px}.page-hero-actions{gap:22px;margin-top:25px;flex-wrap:wrap}.benefit-grid{grid-template-columns:1fr;gap:0}.benefit-grid li{padding:22px 0;gap:18px}.benefit-grid p{font-size:15px}.delivery-steps{grid-template-columns:1fr 1fr;gap:28px}.delivery-steps h3{font-size:25px;margin-top:10px}.narrative-section{padding:55px 0}.narrative-block h2{font-size:32px;margin-top:15px}.narrative-copy p{font-size:14px;line-height:1.9}.content-list li{font-size:13px}.closing-layout h2{font-size:36px}.closing-layout p{font-size:14px}.project-grid{grid-template-columns:1fr;gap:25px}.project-art{height:170px}.project-card-copy{padding:25px}.project-card-copy p{font-size:13px}.project-card-copy .project-industry{font-size:10px}.project-card-copy .project-title{font-size:14px}.project-filters{gap:7px}.project-filters button{font-size:10px;padding:9px 12px}.engagement-grid{grid-template-columns:1fr 1fr;gap:28px 22px}.engagement-grid h3{font-size:22px}.engagement-grid p{font-size:12px}.contact .contact-grid h2{font-size:42px}.footer-columns{gap:35px 20px}.footer-columns a,.footer-columns p{font-size:11px}.footer-top p{max-width:100%;font-size:11px}.faq-item summary{font-size:14px;padding:20px 0}.faq-item p{font-size:13px}.section-heading .text-link{margin-top:20px}.filter-heading{font-size:22px}}
@media(prefers-reduced-motion:reduce){.project-card{transition:none}.project-card:hover{transform:none}}

.service-selection-note{max-width:360px}.service-selection-note h3{font:400 21px var(--display);color:#516a8c;margin:0 0 12px}.service-selection-note p{font-size:13px;line-height:1.9;color:#6b7d96;margin:0}
@media(max-width:640px){.service-selection-note{margin-top:25px}}
@media(max-width:370px){.header .nav-cta{display:none}}

/* The team collage keeps the original portraits and uses colour as a focus cue. */
.team-section{background:#fff;border-top:1px solid #e8edf3;overflow:hidden}
.team-heading{text-align:center;position:relative;z-index:2}
.team-heading .eyebrow{justify-content:center;color:#6c7d96;gap:9px}
.team-dot{width:5px;height:5px;background:#344f97;border-radius:50%}
.team-heading h1,.team-heading h2{font:400 clamp(42px,4.7vw,66px)/1.04 var(--display);letter-spacing:-2.2px;margin:24px 0 20px;color:#1b2a42}
.team-heading h1 span,.team-heading h2 span{color:#6d809d}
.team-heading p{font-size:14px;line-height:1.85;color:#6b7c93;margin:0}
.team-stage{position:relative;max-width:1020px;height:510px;margin:30px auto 0;isolation:isolate}
.team-person{position:absolute;display:block;background:transparent;border:0;padding:0;aspect-ratio:1;width:34%;border-radius:10px;color:#fff;outline-offset:4px}
.team-person-1{left:0;top:1%;width:37%;transform:rotate(-5deg)}
.team-person-2{left:29%;top:19%;width:40%;transform:rotate(3deg)}
.team-person-3{right:0;top:1%;width:37%;transform:rotate(5deg)}
.team-person img{display:block;width:100%;height:auto;filter:grayscale(0);opacity:1;transition:filter .35s ease,opacity .35s ease,transform .35s ease;user-select:none}
.team-stage.has-active .team-person:not(.is-active) img{filter:grayscale(1);opacity:.38}
.team-person.is-active{z-index:3}
.team-person.is-active img{transform:translateY(-7px)}
.team-person:focus-visible{outline:2px solid #344f97}
.team-label{position:absolute;left:50%;bottom:9%;transform:translate(-50%,8px) rotate(var(--tag-rotation,0deg));opacity:0;visibility:hidden;pointer-events:none;display:grid;grid-template-columns:1fr auto;gap:1px 17px;text-align:left;white-space:nowrap;max-width:calc(100% + 30px);background:#21334e;color:#fff;padding:12px 16px;border-radius:7px;box-shadow:0 8px 24px #1b2a4224;transition:opacity .2s,transform .2s,visibility .2s}
.team-person-1{--tag-rotation:5deg}.team-person-2{--tag-rotation:-3deg}.team-person-3{--tag-rotation:-5deg}
.team-label strong{font:500 14px/1.4 var(--display);letter-spacing:0}.team-label>span{font-size:10px;color:#d3ddec;line-height:1.6}.team-label i{grid-column:2;grid-row:1/3;font-size:20px;font-style:normal;align-self:center;color:#bccced}
.team-person.is-active .team-label{opacity:1;visibility:visible;transform:translate(-50%,0) rotate(var(--tag-rotation,0deg));pointer-events:auto}
.team-section-bottom{display:flex;flex-direction:column;align-items:center;gap:14px;position:relative;z-index:4;margin-top:-12px}
.team-hint{font-size:11px;color:#7c8ba1;letter-spacing:.2px;margin:0}.team-section-bottom .text-link{color:#344f97;border-color:#c4cfdf;font-size:12px}
.team-full-page{padding-top:35px}.team-full-page .breadcrumb{padding-bottom:25px}.team-full-page .team-stage{margin-top:35px}
.team-roster{display:grid;grid-template-columns:repeat(3,1fr);gap:40px;margin-top:70px;border-top:1px solid #dfe6f0;padding-top:32px}
.team-roster-number{font-size:10px;color:#8b9bb2}.team-roster article h2{font:400 27px/1.2 var(--display);letter-spacing:-.6px;color:#2d4364;margin:14px 0 9px}.team-roster article p{font-size:12px;color:#71839c;margin:0}
@media(min-width:981px) and (max-width:1200px){.header nav{gap:13px}.header nav a{font-size:11px}.nav-wrap{gap:18px}.nav-cta{font-size:11px;padding:10px 14px;gap:15px}}
@media(max-width:1100px){.team-stage{height:440px}}
@media(max-width:800px){.team-stage{height:370px}.team-label{padding:10px 12px;gap:1px 10px}.team-label strong{font-size:12px}.team-label>span{font-size:9px}.team-heading p{font-size:13px}}
@media(max-width:640px){.team-heading h1,.team-heading h2{font-size:44px;letter-spacing:-1.5px}.team-heading p{font-size:12px}.team-heading p br{display:none}.team-stage{height:auto;aspect-ratio:.86;margin-top:30px;max-width:440px}.team-person-1{width:54%;left:0;top:6%}.team-person-2{width:57%;left:22%;top:45%}.team-person-3{width:58%;right:0;top:6%}.team-label{padding:9px 11px;gap:0 8px;bottom:4%;max-width:none}.team-label strong{font-size:12px}.team-label>span{font-size:9px}.team-label i{font-size:16px}.team-section-bottom{margin-top:12px}.team-roster{grid-template-columns:1fr;gap:22px;margin-top:42px;padding-top:26px}.team-roster article{padding-bottom:22px;border-bottom:1px solid #e5ebf3}.team-roster article:last-child{border:0;padding-bottom:0}.team-roster article h2{font-size:25px;margin-top:9px}.team-full-page{padding-top:25px}.team-full-page .breadcrumb{padding-bottom:30px}}
@media(prefers-reduced-motion:reduce){.team-person img,.team-label{transition:none}.team-person.is-active img{transform:none}}

/* Client artwork stays on white to preserve the supplied logo colours. */
.project-art.client-logo-art{background:#fff;padding:22px;border-bottom:1px solid #edf0f5}
.client-logo-art:after{display:none}
.client-logo-art img{display:block;object-fit:contain;max-width:100%;height:auto}
.client-logo-al-sila img{width:90px;height:90px}
.client-logo-realty-master img{width:270px;max-height:130px}

.project-form .form-trap{display:none!important}.project-form button:disabled{opacity:.65;cursor:wait;transform:none}.project-form .form-note a{text-decoration:underline;text-underline-offset:3px}.form-status[data-state=success]{color:#22664e}.form-status[data-state=error]{color:#a23d36}

.header .brand img{animation:techpulse-logo-spin 10s linear infinite;transform-origin:50% 50%;object-fit:contain}
.header .brand:hover img,.header .brand:focus-visible img,.animation-paused .header .brand img{animation-play-state:paused}
@keyframes techpulse-logo-spin{to{transform:rotate(360deg)}}
@media(prefers-reduced-motion:reduce){.header .brand img{animation:none;transform:none}}
