:root{
  --ink:#0c215a;--ink2:#203d73;--blue:#1b6fff;--orange:#ff6b16;--muted:#60769b;
  --line:#dfeaf7;--background:#f7fbff;--paper:#ffffff;
  --shadow:0 14px 38px rgba(18,62,119,.055);--radius:16px;--width:1340px;
}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--background);color:var(--ink);font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button{font:inherit}button,a{-webkit-tap-highlight-color:transparent}
svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}img{display:block;max-width:100%}.container{width:min(var(--width),calc(100% - 88px));margin-inline:auto}
.eyebrow{margin:0 0 12px;color:#0867e7;font-weight:800;letter-spacing:.175em;text-transform:uppercase;font-size:11px;line-height:1.25}.section{padding-block:22px}.section-intro{min-width:0;align-self:start}.section-intro h2,.approach-head h2{font-size:clamp(28px,2.6vw,39px);letter-spacing:-.055em;line-height:1.03;margin:0;font-weight:780}.section-intro>p:not(.eyebrow),.approach-head p:not(.eyebrow){color:var(--muted);font-size:15px;line-height:1.53;margin:14px 0 0;max-width:335px}.text-link{border:0;background:none;color:var(--orange);font-weight:710;font-size:14px;margin-top:22px;padding:0;cursor:pointer;display:inline-flex;align-items:center;gap:10px}.text-link svg{width:17px;height:17px;transition:transform .2s}.text-link:hover svg{transform:translateX(4px)}.button{display:inline-flex;justify-content:center;align-items:center;gap:10px;min-height:47px;border-radius:999px;padding:0 22px;font-size:13px;font-weight:750;white-space:nowrap;transition:transform .2s,box-shadow .2s}.button svg{width:17px;height:17px}.button:hover{transform:translateY(-2px);box-shadow:0 12px 25px rgba(16,65,144,.12)}.button-primary{background:var(--orange);color:#fff}.button-outline{border:1px solid #aac5ea;background:rgba(255,255,255,.88);color:var(--ink)}
.site-header{position:absolute;inset:0 0 auto;z-index:5;background:linear-gradient(180deg,rgba(255,255,255,.62),rgba(255,255,255,0))}.nav{height:80px;display:flex;align-items:center;gap:32px}.brand{display:inline-flex;align-items:center;margin-right:8%;flex-shrink:0}.brand img{width:210px;height:auto}.nav-links{display:flex;align-items:center;gap:37px;font-size:13px;font-weight:660}.nav-links a:hover{color:var(--blue)}.nav-menu{display:none;width:42px;height:42px;border:1px solid var(--line);border-radius:12px;background:white;color:var(--ink);align-items:center;justify-content:center;margin-left:auto;cursor:pointer}
.hero{min-height:500px;position:relative;isolation:isolate;overflow:hidden;background:#f8fcff}.hero-background{position:absolute;inset:0 0 0 33%;z-index:-2;background-image:url('../hero/skyline-terrace.webp');background-size:cover;background-position:center 39%;filter:saturate(.93)}.hero:before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,#fff 0%,rgba(255,255,255,.98) 19%,rgba(255,255,255,.88) 34%,rgba(255,255,255,.28) 53%,rgba(255,255,255,0) 78%)}.hero:after{content:"";position:absolute;left:0;right:0;bottom:0;height:95px;background:linear-gradient(0deg,rgba(247,251,255,.91),transparent);z-index:-1}.hero-layout{display:flex;align-items:center;min-height:500px;padding-top:75px;padding-bottom:35px}.hero-copy{width:min(560px,50%)}.hero h1{font-size:clamp(55px,5.1vw,75px);letter-spacing:-.068em;line-height:.96;margin:0;font-weight:790}.hero h1 span{color:var(--orange)}.hero-description{color:#47628e;font-size:17px;line-height:1.43;max-width:530px;margin:20px 0 0}.hero-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:25px}
.industry-section{padding-top:0}.industry-layout,.capabilities-layout,.work-layout{display:grid;grid-template-columns:31% 1fr;gap:18px}.industry-layout{border:1px solid var(--line);border-radius:17px;background:rgba(255,255,255,.91);box-shadow:var(--shadow);padding:20px}.industry-layout .section-intro{padding:10px 16px 8px 2px}.industry-gallery{min-width:0;display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:10px}.industry-card{grid-column:span 3;min-width:0;height:142px;border:0;border-radius:11px;position:relative;overflow:hidden;background:#0d264b;color:#fff;text-align:left;display:flex;align-items:flex-end;justify-content:space-between;gap:10px;padding:14px 12px;cursor:pointer;box-shadow:0 1px 0 rgba(0,0,0,.05)}.industry-card:nth-child(-n+3){grid-column:span 4;height:156px}.industry-card::before{content:"";position:absolute;inset:0;background:var(--industry-img) center/cover no-repeat;transition:transform .4s}.industry-card::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 30%,rgba(2,21,50,.77) 100%)}.industry-card:hover::before,.industry-card:focus-visible::before{transform:scale(1.05)}.industry-card>span{z-index:1;position:relative;font-size:14px;font-weight:720;line-height:1.18}.circle-arrow{display:grid;place-items:center;flex-shrink:0;width:32px;height:32px;border-radius:50%;background:rgba(255,255,255,.94);color:#12346d}.circle-arrow svg{width:15px;height:15px}.industry-detail-wrap{overflow:hidden}.industry-detail{position:relative;display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:12px;padding:23px 56px 23px 23px;background:#eef6ff;border:1px solid #cce0ff;border-radius:15px;box-shadow:var(--shadow)}.industry-detail h3{margin:0 0 7px;font-size:22px}.industry-detail p:not(.eyebrow){margin:0;color:#536d95;font-size:14px;line-height:1.5}.detail-solutions{display:flex;align-content:center;align-items:center;gap:7px;flex-wrap:wrap}.detail-solutions span{font-size:12px;background:white;color:#24518b;padding:8px 11px;border:1px solid #d7e7f9;border-radius:99px}.detail-close{position:absolute;top:14px;right:14px;border:0;background:white;border-radius:50%;width:32px;height:32px;display:grid;place-items:center;cursor:pointer}.detail-close svg{width:17px;height:17px}
.capabilities-layout{align-items:stretch}.capabilities-layout>.section-intro{padding:11px 13px 8px 4px}.capability-feature{min-height:265px;position:relative;border-radius:15px;overflow:hidden;background:#06266b url('../capabilities/data-globe.webp') center/cover no-repeat;box-shadow:var(--shadow)}.capability-feature:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 10%,rgba(3,24,67,.15) 35%,rgba(3,14,45,.95))}.feature-copy{position:absolute;z-index:1;bottom:16px;left:19px;right:16px;color:white}.feature-copy h3{font-size:19px;line-height:1.13;letter-spacing:-.03em;margin:0 0 11px}.feature-copy p{font-size:12px;max-width:190px;margin:0;line-height:1.4;color:#dce7fa}.circle-arrow-light{position:absolute;right:0;bottom:0;background:rgba(255,255,255,.92)}.capabilities-layout{grid-template-columns:29% 23% 1fr;gap:12px}.capability-grid{display:grid;grid-template-columns:1fr 1fr;gap:9px}.capability-item{border:1px solid var(--line);background:#fff;border-radius:14px;display:flex;position:relative;align-items:flex-start;gap:12px;padding:23px 18px;min-width:0;min-height:126px;transition:box-shadow .2s,transform .2s}.capability-item:hover{transform:translateY(-2px);box-shadow:var(--shadow)}.icon-circle{width:42px;height:42px;border-radius:50%;background:#eaf4ff;color:var(--blue);display:grid;place-items:center;flex-shrink:0}.icon-circle svg{width:23px;height:23px}.capability-item h3{margin:1px 0 7px;font-size:14px;line-height:1.23;font-weight:760}.capability-item p{margin:0;color:var(--muted);font-size:12px;line-height:1.47;padding-right:8px}.cap-arrow{position:absolute;top:13px;right:11px;border:1px solid var(--line);border-radius:50%;color:var(--blue);background:white;display:grid;place-items:center;width:25px;height:25px}.cap-arrow svg{width:13px;height:13px}
.approach-section{position:relative;overflow:hidden;padding-block:27px 35px;background:radial-gradient(ellipse at 67% 100%,#e7f3ff 1%,transparent 48%)}.approach-head h2{margin:0}.approach-head p:not(.eyebrow){margin-top:9px;max-width:600px}.approach-steps{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;margin:30px 0 0;padding:0;list-style:none}.approach-steps li{display:flex;align-items:flex-start;gap:16px;position:relative}.approach-steps li:not(:last-child):after{content:"";position:absolute;left:70px;right:-10px;top:27px;border-top:1px solid #b2cff8;opacity:.85;z-index:0}.step-icon{position:relative;z-index:1;flex-shrink:0;width:55px;height:55px;border-radius:50%;background:#e6f2ff;display:grid;place-items:center;color:var(--blue)}.step-icon svg{width:27px;height:27px}.step-number{display:block;color:var(--blue);font-weight:800;font-size:12px;margin:1px 0 3px}.approach-steps h3{font-size:14px;margin:0}.approach-steps p{font-size:12px;line-height:1.42;color:var(--muted);margin:7px 0 0;max-width:185px}
.work-section{padding-block:0 20px}.work-layout{background:rgba(255,255,255,.9);border-radius:17px;border:1px solid var(--line);box-shadow:var(--shadow);padding:18px;grid-template-columns:29% 1fr}.work-layout .section-intro{padding:14px 12px 5px 2px}.story-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:11px}.story-card{border:1px solid var(--line);background:white;overflow:hidden;border-radius:12px;min-width:0}.story-card img{width:100%;aspect-ratio:2.2;object-fit:cover}.story-card>div{padding:12px 13px 14px}.story-category{font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:#1d6ded;font-weight:800;margin:0 0 8px}.story-card h3{font-size:15px;line-height:1.25;letter-spacing:-.02em;margin:0 0 8px}.story-card p:last-child{font-size:11px;color:var(--muted);line-height:1.35;margin:0}
.contact-section{background:linear-gradient(115deg,#082353,#102d6e 65%,#0b255a);color:white;margin-top:10px;position:relative;overflow:hidden}.contact-section:before{content:"";position:absolute;width:500px;height:500px;border:1px solid rgba(255,255,255,.11);border-radius:50%;right:4%;top:-300px;box-shadow:0 0 0 50px rgba(255,255,255,.018),0 0 0 100px rgba(255,255,255,.012)}.contact-layout{padding-block:42px;display:flex;align-items:center;justify-content:space-between;gap:30px;position:relative}.contact-layout .eyebrow{color:#a8c7f2}.contact-layout h2{font-size:clamp(33px,3vw,46px);letter-spacing:-.055em;line-height:1.02;margin:0 0 12px}.contact-layout p:not(.eyebrow){margin:0;color:#b8c9e3;font-size:14px;max-width:640px;line-height:1.48}
.footer{background:white}.footer-layout{padding:37px 0;display:flex;align-items:start;justify-content:space-between;gap:70px}.footer-brand img{width:190px}.footer-brand p{color:var(--muted);font-size:12px;margin:18px 0 0}.footer-links{display:grid;grid-template-columns:repeat(3,minmax(120px,1fr));gap:60px}.footer-links h3{font-size:13px;margin:0 0 11px}.footer-links a{display:block;font-size:12px;color:#4d6790;margin-bottom:8px}.footer-links a:hover{color:var(--blue)}.footer-bottom{border-top:1px solid var(--line);padding:16px 0 26px;display:flex;justify-content:space-between;gap:16px;color:#8797af;font-size:11px}a:focus-visible,button:focus-visible{outline:3px solid #ff9e55;outline-offset:4px}
@media (min-width:1500px){.hero,.hero-layout{min-height:550px}.hero-background{background-position:center 40%}.industry-card{height:159px}.industry-card:nth-child(-n+3){height:174px}}
@media (max-width:1150px){.container{width:min(var(--width),calc(100% - 52px))}.brand{margin-right:auto}.nav-links{gap:22px}.hero-copy{width:56%}.hero h1{font-size:clamp(49px,5.6vw,70px)}.industry-layout,.work-layout{grid-template-columns:32% 1fr}.capabilities-layout{grid-template-columns:29% 24% 1fr}.capability-item{padding:18px 12px;gap:8px}.icon-circle{width:34px;height:34px}.capability-item h3{font-size:13px}}
@media (max-width:890px){.nav-menu{display:flex}.nav-links{display:none;position:absolute;right:26px;left:26px;top:73px;flex-direction:column;align-items:stretch;gap:0;background:white;border:1px solid var(--line);border-radius:16px;box-shadow:var(--shadow);padding:10px}.nav-links.open{display:flex}.nav-links a{padding:12px 16px;border-radius:9px}.nav-links a:hover{background:#eff6ff}.hero,.hero-layout{min-height:515px}.hero-copy{width:62%}.hero h1{font-size:clamp(44px,6.7vw,63px)}.hero-description{font-size:15px}.industry-layout,.work-layout{grid-template-columns:1fr}.industry-layout .section-intro,.work-layout .section-intro{padding:4px}.industry-gallery{gap:8px}.industry-card{height:135px}.industry-card:nth-child(-n+3){height:145px}.capabilities-layout{grid-template-columns:1fr 1fr}.capabilities-layout>.section-intro{grid-column:1/-1}.capability-grid{grid-template-columns:1fr 1fr}.footer-layout{gap:20px}.footer-links{gap:24px}}
@media (max-width:620px){.container{width:calc(100% - 30px)}.nav{height:64px}.brand img{width:180px}.hero{min-height:710px}.hero-layout{min-height:710px;align-items:flex-start;padding-top:116px}.hero-background{inset:335px 0 0 0;background-position:50% 50%}.hero:before{background:linear-gradient(180deg,#fff 0%,rgba(255,255,255,.98) 43%,rgba(255,255,255,.1) 78%)}.hero h1{font-size:clamp(43px,9vw,57px)}.hero-copy{width:100%}.hero-description{font-size:15px;max-width:440px}.hero-actions{gap:9px}.button{min-height:44px;padding:0 15px;font-size:12px}.industry-layout{padding:15px}.industry-gallery{grid-template-columns:repeat(2,minmax(0,1fr))}.industry-card,.industry-card:nth-child(-n+3){grid-column:auto;height:134px}.industry-detail{grid-template-columns:1fr;padding:20px 50px 20px 20px}.capabilities-layout{grid-template-columns:1fr}.capability-feature{min-height:240px}.capability-grid{grid-template-columns:1fr 1fr}.capability-item{flex-direction:column;min-height:170px;padding:17px 13px}.capability-item p{padding-right:0}.approach-steps{grid-template-columns:1fr 1fr;row-gap:28px}.approach-steps li:not(:last-child):after{display:none}.story-list{grid-template-columns:1fr}.story-card{display:grid;grid-template-columns:39% 1fr}.story-card img{height:100%;aspect-ratio:auto}.footer-layout{display:block}.footer-links{margin-top:30px;grid-template-columns:repeat(2,1fr);gap:23px}.contact-layout{flex-direction:column;align-items:flex-start}.footer-bottom{flex-direction:column}.section{padding-block:15px}}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}}

.industry-detail[hidden]{display:none}
