:root{--ink:#1d1d1f;--muted:#6e6e73;--line:#d2d2d7;--soft:#f5f5f7;--blue:#00a9e8;--green:#00b83f;--pink:#e5006f;--gold:#ffb20f;--header-h:48px;--font:-apple-system,BlinkMacSystemFont,"SF Pro Text","SF Pro Display","Helvetica Neue",Arial,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);background:#fff;font-family:var(--font);font-size:17px;line-height:1.47;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}.content-wide{width:min(1180px,calc(100% - 44px));margin-inline:auto}
.site-header{position:fixed;inset:0 0 auto;z-index:1000}.site-header:before{content:"";position:absolute;inset:0 0 auto;height:var(--header-h);background:rgba(250,250,252,.82);backdrop-filter:saturate(180%) blur(20px);border-bottom:1px solid rgba(0,0,0,.04);z-index:2}.header-shell{height:var(--header-h);display:flex;align-items:center;justify-content:center;width:min(1180px,calc(100% - 44px));margin:auto;position:relative;z-index:3}.brand{width:124px;display:flex;align-items:center;position:absolute;left:0;top:50%;transform:translateY(-50%)}.brand img{width:100%;height:auto;display:block}.global-nav{display:flex;justify-content:center;align-items:center;gap:22px;flex:none;margin-inline:auto}.nav-item{font-size:12px;line-height:1;padding:18px 1px;color:#2b2b2e;transition:opacity .2s;white-space:nowrap}.nav-item:hover,.nav-item.active{opacity:.58}.menu-toggle{display:none;background:none;border:0;padding:10px;margin-left:auto;position:absolute;right:0;top:50%;transform:translateY(-50%)}.menu-toggle span{display:block;width:18px;height:1px;background:#1d1d1f;margin:5px 0}.header-socials{position:absolute;right:0;top:50%;transform:translateY(-50%);display:flex;align-items:center;gap:10px}.header-socials a{width:18px;height:18px;display:grid;place-items:center;color:#49494d;transition:opacity .2s,transform .2s}.header-socials a:hover{opacity:.55;transform:translateY(-1px)}.header-socials svg{width:14px;height:14px;fill:currentColor;display:block}.mega-layer{position:absolute;top:0;left:0;width:100%;background:rgba(250,250,252,.98);padding:86px max(22px,calc((100vw - 1180px)/2)) 50px;transform:translateY(-110%);opacity:0;transition:transform .42s cubic-bezier(.4,0,.2,1),opacity .25s;z-index:1}.mega-layer.open{transform:translateY(0);opacity:1}.mega-panel{display:none;grid-template-columns:1.4fr 1fr;gap:80px}.mega-panel.active{display:grid}.mega-panel a{display:block;width:max-content}.mega-primary a{font-size:28px;line-height:1.18;font-weight:600;letter-spacing:-.02em;margin:10px 0}.mega-secondary a,.mega-secondary span{display:block;font-size:14px;margin:10px 0;color:#424245;max-width:310px}.eyebrow,.kicker{font-size:12px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin:0 0 16px}.scrim{position:fixed;inset:0;background:rgba(0,0,0,.28);opacity:0;pointer-events:none;transition:opacity .25s;z-index:0}.scrim.show{opacity:1;pointer-events:auto}
.contact-hero{min-height:820px;padding:164px 0 100px;background:linear-gradient(145deg,#f7f7f9 0,#fff 62%,#eefaff 100%);position:relative;overflow:hidden;display:flex;align-items:center}.hero-content{position:relative;z-index:2}.contact-hero h1{font-size:clamp(64px,8.6vw,118px);line-height:.88;letter-spacing:-.072em;margin:0;max-width:920px;font-weight:700}.contact-hero h1 span{background:linear-gradient(90deg,var(--blue),var(--green) 45%,var(--gold) 72%,var(--pink));-webkit-background-clip:text;background-clip:text;color:transparent}.hero-copy{font-size:clamp(21px,2.3vw,29px);line-height:1.24;letter-spacing:-.025em;color:#515154;max-width:720px;margin:34px 0 30px}.hero-actions{display:flex;align-items:center;gap:26px}.pill-button{display:inline-flex;align-items:center;gap:10px;border:0;border-radius:980px;background:var(--blue);color:#fff;padding:14px 21px;cursor:pointer;transition:transform .2s,filter .2s}.pill-button:hover{transform:scale(1.02);filter:brightness(.95)}.text-link{font-size:18px;color:#0066cc}.text-link span{display:inline-block;margin-left:8px;transition:transform .2s}.text-link:hover span{transform:translate(3px,3px)}.hero-caption{position:absolute;left:max(22px,calc((100vw - 1180px)/2));bottom:28px;font-size:10px;letter-spacing:.16em;color:#7b7b80;z-index:2}.hero-art{position:absolute;inset:0;pointer-events:none}.art-ring{position:absolute;border:1px solid rgba(0,169,232,.18);border-radius:50%;right:-5vw;top:10%;transform:rotate(-18deg)}.ring-one{width:640px;height:640px}.ring-two{width:470px;height:470px;right:4vw;top:19%;border-color:rgba(0,184,63,.18)}.ring-three{width:290px;height:290px;right:12vw;top:30%;border-color:rgba(229,0,111,.17)}.grid-plane{position:absolute;width:680px;height:420px;right:-110px;bottom:-180px;background-image:linear-gradient(rgba(0,169,232,.1) 1px,transparent 1px),linear-gradient(90deg,rgba(0,169,232,.1) 1px,transparent 1px);background-size:42px 42px;transform:perspective(500px) rotateX(62deg) rotateZ(-10deg);mask-image:linear-gradient(to top,#000,transparent 88%)}.leaf{position:absolute;width:112px;height:184px;border:12px solid;border-radius:90% 10% 90% 10%;transform:rotate(42deg);opacity:.94;filter:drop-shadow(0 20px 35px rgba(0,0,0,.1))}.leaf:after{content:"";position:absolute;width:8px;height:115px;border-radius:10px;background:currentColor;left:46%;top:28px;transform:rotate(-28deg)}.leaf-cyan{right:12%;top:16%;color:var(--blue);border-color:var(--blue);transform:rotate(58deg) scale(.82)}.leaf-green{right:4%;top:39%;color:var(--green);border-color:var(--green);transform:rotate(44deg) scale(1.1)}.leaf-pink{right:25%;top:44%;color:var(--pink);border-color:var(--pink);transform:rotate(32deg) scale(.72)}.leaf-gold{right:24%;top:19%;color:var(--gold);border-color:var(--gold);transform:rotate(45deg) scale(.66)}
.contact-workspace{display:grid;grid-template-columns:minmax(0,1fr) minmax(480px,.95fr);gap:64px;padding:130px 0;align-items:start}.section-heading h2,.form-intro h2{font-size:clamp(42px,5vw,68px);line-height:.98;letter-spacing:-.052em;margin:0 0 22px}.section-heading>p:last-child,.form-intro>p:last-child{font-size:20px;color:var(--muted);margin:0}.office-heading{margin-bottom:44px}.office-list{display:grid;gap:18px}.office-card{display:grid;grid-template-columns:44% 1fr;background:linear-gradient(145deg,#fff,#f7f7f8);border:1px solid #e5e5e8;border-radius:32px;overflow:hidden;box-shadow:0 12px 32px rgba(0,0,0,.045);transition:transform .3s cubic-bezier(.2,.7,.2,1),box-shadow .3s,border-color .3s}.office-card:hover{transform:translateY(-4px);box-shadow:0 24px 52px rgba(0,0,0,.11);border-color:#d4d4d8}.office-visual{position:relative;min-height:100%;padding:20px;background:radial-gradient(circle at top left,rgba(0,169,232,.09),transparent 42%),linear-gradient(180deg,#f6f6f7,#fbfbfc)}.office-visual:after{content:"";position:absolute;inset:auto 18px 0;height:3px;background:linear-gradient(90deg,var(--blue),var(--green),var(--gold),var(--pink));opacity:.6;border-radius:999px}.office-illustration{width:100%;height:100%;min-height:260px;object-fit:cover;object-position:center;display:block;filter:grayscale(1) contrast(1.02);mix-blend-mode:multiply;transition:transform .5s cubic-bezier(.2,.7,.2,1)}.office-card:hover .office-illustration{transform:scale(1.03)}.office-body{padding:24px 26px 22px;display:flex;flex-direction:column;justify-content:space-between}.office-top{display:flex;justify-content:space-between;font-size:12px;font-weight:600;letter-spacing:.04em;color:#6e6e73;margin-bottom:16px}.office-card h3{font-size:34px;line-height:1;letter-spacing:-.04em;margin:0 0 12px}.office-card p{margin:0 0 16px;line-height:1.42;color:#66666b}.office-actions{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:auto}.office-actions>a:first-child{color:#0066cc;font-size:14px}.office-arrow{display:inline-flex;align-items:center;justify-content:center;padding:10px 14px;border-radius:999px;background:#1d1d1f;color:#fff;font-size:14px;white-space:nowrap}
.write-column{position:sticky;top:86px;background:#f5f5f7;border-radius:36px;padding:38px}.form-intro{margin-bottom:34px}.contact-form{display:grid;grid-template-columns:1fr 1fr;gap:22px}.field{display:flex;flex-direction:column;gap:8px}.field-wide{grid-column:1/-1}.field label{font-size:12px;font-weight:600}.field input,.field select,.field textarea{width:100%;border:0;border-bottom:1px solid #b7b7bc;background:transparent;padding:11px 0 13px;outline:none;color:var(--ink);border-radius:0}.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--blue)}.field textarea{resize:vertical}.form-footer{display:flex;align-items:center;justify-content:space-between;gap:20px;padding-top:10px}.form-footer p{font-size:11px;color:var(--muted);max-width:270px;margin:0}
.social-section{background:#101012;color:#fff;padding:120px 0}.compact{max-width:900px}.compact .kicker{color:#a1a1a6}.social-grid{margin-top:58px;display:grid;grid-template-columns:1fr 1fr;gap:16px}.social-card{min-height:150px;border-radius:28px;padding:24px;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:18px;background:#1c1c1e;transition:transform .25s,background .25s}.social-card:hover{transform:translateY(-4px);background:#262629}.social-mark{width:55px;height:55px;border-radius:16px;display:grid;place-items:center;font-size:27px;font-weight:700}.linkedin .social-mark{background:#0a66c2}.instagram .social-mark{background:linear-gradient(135deg,#7f37c9,#fd1d1d,#fcb045)}.youtube .social-mark{background:#ff0033}.facebook .social-mark{background:#1877f2}.social-card strong,.social-card small{display:block}.social-card strong{font-size:20px}.social-card small{color:#a1a1a6;margin-top:4px}.social-card b{font-size:23px;font-weight:400}.site-footer{background:var(--soft);padding:24px 0}.legal-footer{font-size:11px;line-height:1.6;color:var(--muted);text-align:center}.legal-footer a{color:#424245}.legal-footer a:hover{text-decoration:underline}.legal-footer span{padding:0 5px;color:#b0b0b5}
@media(max-width:1100px){.office-card{grid-template-columns:1fr}.office-illustration{min-height:220px}.contact-workspace{grid-template-columns:1fr;gap:70px}.write-column{position:relative;top:auto}.contact-hero{min-height:760px}.leaf{opacity:.72}.leaf-green{right:-3%}.leaf-cyan{right:8%}}
@media(max-width:900px){.global-nav{display:none}.header-socials{display:none}.menu-toggle{display:block}.header-shell{justify-content:flex-start}.brand{position:relative;left:auto;top:auto;transform:none}.mega-layer{padding-top:75px}.mega-panel.active{grid-template-columns:1fr;gap:25px}.mega-primary a{font-size:26px}.art-ring{right:-35vw}.leaf{opacity:.42}.hero-content{max-width:700px}}
@media(max-width:700px){.content-wide,.header-shell{width:min(100% - 30px,1180px)}.contact-hero{min-height:720px;padding:125px 0 85px}.contact-hero h1{font-size:60px}.hero-copy{font-size:21px;max-width:92%}.hero-actions{align-items:flex-start;flex-direction:column;gap:18px}.hero-caption{left:15px;font-size:8px}.leaf{display:none}.art-ring{right:-78vw;top:19%}.grid-plane{right:-360px}.contact-workspace,.social-section{padding:88px 0}.write-column{padding:26px;border-radius:28px}.contact-form{grid-template-columns:1fr}.field-wide{grid-column:auto}.form-footer{align-items:flex-start;flex-direction:column}.social-grid{grid-template-columns:1fr}.legal-footer{text-align:left}.mega-layer{height:100vh;overflow:auto}.mega-secondary{padding-bottom:30px}.office-card h3{font-size:30px}.office-actions{align-items:flex-start;flex-direction:column}.office-arrow{padding:10px 13px}}

/* v6 clean header and interaction fixes */
.header-shell{width:min(1380px,calc(100% - 44px));}
.brand{left:0;}
.global-nav{gap:24px;}
.header-socials{right:0;gap:9px;}
.header-socials a{color:#1d1d1f;opacity:.82;}
.header-socials a:hover{opacity:1;transform:translateY(-1px);}
.header-socials svg{width:15px;height:15px;fill:currentColor;}
.mega-layer{padding-left:max(22px,calc((100vw - 1180px)/2));padding-right:max(22px,calc((100vw - 1180px)/2));}
.scrim{top:var(--header-h);}
@media(max-width:1180px){.global-nav{gap:17px}.header-socials{gap:6px}.header-socials a{width:16px;height:16px}.header-socials svg{width:13px;height:13px}}

/* v7 anchor alignment and careers */
#offices,#write,#life,#open-positions{scroll-margin-top:112px}
.career-page{background:#fff}.career-hero{min-height:760px;padding:165px 0 105px;display:flex;align-items:flex-end;position:relative;overflow:hidden;background:linear-gradient(145deg,#f5f5f7 0,#fff 55%,#eefaff 100%)}.career-hero:before{content:"";position:absolute;width:580px;height:580px;border-radius:50%;right:-80px;top:80px;background:radial-gradient(circle at 35% 35%,rgba(0,169,232,.22),rgba(0,184,63,.10) 38%,rgba(255,178,15,.05) 62%,transparent 70%)}.career-hero:after{content:"";position:absolute;width:420px;height:420px;border:1px solid rgba(0,169,232,.15);border-radius:50%;right:110px;top:180px;box-shadow:0 0 0 70px rgba(0,184,63,.05),0 0 0 140px rgba(229,0,111,.03)}.career-hero-content{position:relative;z-index:2}.career-hero h1{font-size:clamp(68px,9vw,124px);line-height:.88;letter-spacing:-.073em;margin:0 0 32px;max-width:900px}.career-hero h1 span{background:linear-gradient(90deg,var(--blue),var(--green) 45%,var(--gold) 72%,var(--pink));-webkit-background-clip:text;background-clip:text;color:transparent}.career-hero p{font-size:clamp(21px,2.2vw,29px);line-height:1.25;letter-spacing:-.025em;color:#515154;max-width:720px;margin:0 0 32px}.career-life{padding:130px 0}.career-section-heading{display:grid;grid-template-columns:1fr .75fr;gap:70px;align-items:end;margin-bottom:58px}.career-section-heading h2,.positions-heading h2{font-size:clamp(48px,6vw,78px);line-height:.96;letter-spacing:-.058em;margin:0}.career-section-heading>p{font-size:20px;color:var(--muted);margin:0}.life-mosaic{display:grid;grid-template-columns:1.25fr .75fr .75fr;grid-template-rows:300px 300px;gap:16px}.life-card{position:relative;border-radius:30px;overflow:hidden;background:linear-gradient(145deg,#f0f0f2,#fafafa);border:1px solid #e5e5e8;min-height:220px}.life-card:first-child{grid-row:1/3}.life-card:nth-child(4){grid-column:2/4}.life-placeholder{position:absolute;inset:0;display:flex;align-items:flex-end;padding:24px;background:linear-gradient(180deg,transparent 35%,rgba(0,0,0,.72));color:#fff}.life-placeholder:before{content:"Image slot";position:absolute;top:22px;left:22px;font-size:11px;letter-spacing:.09em;text-transform:uppercase;color:#6e6e73;background:rgba(255,255,255,.88);padding:7px 10px;border-radius:999px}.life-placeholder strong{font-size:23px;letter-spacing:-.03em}.positions-section{padding:125px 0;background:#f5f5f7}.positions-heading{display:flex;align-items:end;justify-content:space-between;gap:40px;margin-bottom:48px}.positions-heading p{max-width:440px;color:var(--muted);font-size:19px;margin:0}.jobs-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.job-card{background:#fff;border-radius:26px;padding:25px;min-height:175px;border:1px solid #e6e6e9;display:flex;flex-direction:column;justify-content:space-between;transition:transform .25s,box-shadow .25s}.job-card:hover{transform:translateY(-4px);box-shadow:0 18px 38px rgba(0,0,0,.08)}.job-card span{font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:var(--muted)}.job-card h3{font-size:24px;line-height:1.05;letter-spacing:-.035em;margin:28px 0 0}.career-apply-panel{margin-top:44px;border-radius:34px;background:#101012;color:#fff;padding:42px;display:flex;align-items:center;justify-content:space-between;gap:36px}.career-apply-panel h3{font-size:clamp(34px,4vw,52px);line-height:1;letter-spacing:-.045em;margin:0 0 12px}.career-apply-panel p{color:#a1a1a6;margin:0}.career-apply-panel .pill-button{flex:none;background:#fff;color:#111}
@media(max-width:900px){.career-section-heading{grid-template-columns:1fr;gap:22px}.life-mosaic{grid-template-columns:1fr 1fr;grid-template-rows:330px 240px 240px}.life-card:first-child{grid-row:auto;grid-column:1/3}.life-card:nth-child(4){grid-column:1/3}.jobs-grid{grid-template-columns:1fr 1fr}.career-apply-panel{align-items:flex-start;flex-direction:column}}
@media(max-width:650px){.career-hero{min-height:680px;padding:135px 0 80px}.career-hero h1{font-size:62px}.career-life,.positions-section{padding:88px 0}.life-mosaic{display:grid;grid-template-columns:1fr;grid-template-rows:none}.life-card,.life-card:first-child,.life-card:nth-child(4){grid-column:auto;grid-row:auto;min-height:280px}.jobs-grid{grid-template-columns:1fr}.positions-heading{align-items:flex-start;flex-direction:column}.career-apply-panel{padding:28px}}


/* v8 career refinements */
.career-section-heading{grid-template-columns:1fr;margin-bottom:48px}
.life-video{position:relative;width:100%;aspect-ratio:16/9;border-radius:34px;overflow:hidden;background:#000;box-shadow:0 24px 60px rgba(0,0,0,.12)}
.life-video iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.job-card{align-items:center;justify-content:center;text-align:center}
.job-card span{position:absolute;top:24px;left:25px;right:25px;text-align:center}
.job-card{position:relative}
.job-card h3{margin:24px 0 0;max-width:90%}
@media(max-width:650px){.life-video{border-radius:24px}.job-card{min-height:160px}}

/* v9 anchor and about page refinements */
#life,#open-positions,#story,#leadership,#why-ecomes{scroll-margin-top:68px}
.about-page{background:#fff}.about-hero{min-height:720px;padding:160px 0 90px;display:flex;align-items:flex-end;position:relative;overflow:hidden;background:linear-gradient(145deg,#f5f5f7 0,#fff 56%,#effaff 100%)}.about-hero:before{content:"";position:absolute;width:620px;height:620px;border-radius:50%;right:-150px;top:70px;background:conic-gradient(from 150deg,rgba(0,169,232,.18),rgba(0,184,63,.12),rgba(255,178,15,.08),rgba(229,0,111,.10),rgba(0,169,232,.18));filter:blur(2px)}.about-hero-content{position:relative;z-index:2}.about-hero h1{font-size:clamp(68px,9vw,122px);line-height:.88;letter-spacing:-.073em;margin:0 0 30px;max-width:980px}.about-hero h1 span{background:linear-gradient(90deg,var(--blue),var(--green) 48%,var(--gold) 72%,var(--pink));-webkit-background-clip:text;background-clip:text;color:transparent}.about-hero p{font-size:clamp(21px,2.2vw,28px);line-height:1.25;color:#515154;max-width:760px;margin:0}.about-section{padding:125px 0}.about-heading{display:grid;grid-template-columns:1fr .7fr;gap:70px;align-items:end;margin-bottom:52px}.about-heading h2{font-size:clamp(48px,6vw,78px);line-height:.96;letter-spacing:-.058em;margin:0}.about-heading>p{font-size:20px;color:var(--muted);margin:0}.story-video{position:relative;width:100%;aspect-ratio:16/9;border-radius:34px;overflow:hidden;background:#000;box-shadow:0 24px 60px rgba(0,0,0,.12)}.story-video iframe{position:absolute;inset:0;width:100%;height:100%;border:0}.leadership-section{background:#f5f5f7}.leadership-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.leader-card{background:#fff;border-radius:28px;overflow:hidden;border:1px solid #e5e5e8;transition:transform .25s,box-shadow .25s}.leader-card:hover{transform:translateY(-5px);box-shadow:0 20px 42px rgba(0,0,0,.09)}.leader-photo{aspect-ratio:4/5;background:linear-gradient(145deg,#ececef,#fafafa);position:relative;overflow:hidden}.leader-photo img{width:100%;height:100%;object-fit:cover;display:block}.leader-photo .leader-fallback{position:absolute;inset:0;display:grid;place-items:center;font-size:58px;font-weight:700;color:#a1a1a6;z-index:0}.leader-photo img{position:relative;z-index:1}.leader-info{padding:24px}.leader-info h3{font-size:24px;line-height:1.05;letter-spacing:-.035em;margin:0 0 9px}.leader-info p{font-size:14px;color:var(--muted);margin:0}.why-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.why-card{min-height:270px;border-radius:30px;padding:28px;background:#f5f5f7;display:flex;flex-direction:column;justify-content:space-between;position:relative;overflow:hidden}.why-card:before{content:"";position:absolute;width:180px;height:180px;border-radius:50%;right:-55px;top:-55px;background:radial-gradient(circle,rgba(0,169,232,.17),transparent 68%)}.why-card:nth-child(2):before{background:radial-gradient(circle,rgba(0,184,63,.17),transparent 68%)}.why-card:nth-child(3):before{background:radial-gradient(circle,rgba(229,0,111,.13),transparent 68%)}.why-card span{font-size:12px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}.why-card h3{font-size:34px;line-height:1;letter-spacing:-.045em;margin:0 0 14px}.why-card p{color:#5d5d62;margin:0;max-width:340px}
@media(max-width:1000px){.leadership-grid{grid-template-columns:1fr 1fr}.why-grid{grid-template-columns:1fr}.about-heading{grid-template-columns:1fr;gap:22px}}
@media(max-width:650px){.about-hero{min-height:650px;padding:135px 0 78px}.about-hero h1{font-size:60px}.about-section{padding:88px 0}.story-video{border-radius:24px}.leadership-grid{grid-template-columns:1fr}.leader-photo{aspect-ratio:5/4}}

/* v10 leadership and impact refinements */
.leadership-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:24px 18px;align-items:start}
.leader-card{grid-column:span 3;text-align:center;background:transparent;border:0;border-radius:0;overflow:visible;box-shadow:none}
.leader-card:hover{transform:translateY(-5px);box-shadow:none}
.leader-top:first-child{grid-column:3/span 4}.leader-top:nth-child(2){grid-column:7/span 4}
.leader-second:nth-child(3){grid-column:2/span 3}.leader-second:nth-child(4){grid-column:5/span 3}.leader-second:nth-child(5){grid-column:8/span 3}
.leader-photo{aspect-ratio:1/1;border-radius:26px;background:#e9e9ec;box-shadow:0 16px 34px rgba(0,0,0,.07)}
.leader-photo img{object-fit:cover;object-position:center top;filter:grayscale(1)}
.leader-info{padding:18px 8px 4px;text-align:center}
.leader-info h3{font-size:22px;margin:0 0 8px}
.leader-info p{font-size:14px;line-height:1.35;color:#3f3f43;margin:0 0 4px;font-weight:600}
.leader-info span{display:block;font-size:12px;line-height:1.35;color:var(--muted);text-transform:uppercase;letter-spacing:.08em}
.impact-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin:0 0 22px}
.impact-stats article{min-height:210px;border-radius:30px;padding:28px;background:#101012;color:#fff;display:flex;flex-direction:column;justify-content:flex-end;position:relative;overflow:hidden}
.impact-stats article:before{content:"";position:absolute;width:190px;height:190px;border-radius:50%;right:-60px;top:-70px;background:radial-gradient(circle,rgba(0,169,232,.38),transparent 68%)}
.impact-stats article:nth-child(2):before{background:radial-gradient(circle,rgba(0,184,63,.34),transparent 68%)}
.impact-stats article:nth-child(3):before{background:radial-gradient(circle,rgba(229,0,111,.30),transparent 68%)}
.impact-stats strong{font-size:clamp(46px,5vw,72px);line-height:.9;letter-spacing:-.06em;position:relative}
.impact-stats span{font-size:15px;color:#c7c7cc;margin-top:14px;position:relative}
@media(max-width:1000px){.leadership-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.leader-card,.leader-top:first-child,.leader-top:nth-child(2),.leader-second:nth-child(3),.leader-second:nth-child(4),.leader-second:nth-child(5){grid-column:auto}.impact-stats{grid-template-columns:1fr}}
@media(max-width:650px){.leadership-grid{grid-template-columns:1fr}.leader-photo{aspect-ratio:1/1}.impact-stats article{min-height:180px}}

/* v20 homepage */
.home-page{overflow:hidden;background:#fff}.home-hero{height:100svh;min-height:680px;position:relative;display:flex;align-items:flex-end;color:#fff}.home-hero-image{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.home-hero-shade{position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.08),rgba(0,0,0,.08) 35%,rgba(0,0,0,.72) 100%),linear-gradient(90deg,rgba(0,0,0,.25),transparent 60%)}.home-hero-content{position:relative;z-index:2;width:min(1400px,calc(100% - 7vw));margin:0 auto 9vh}.home-hero-content>p{font-size:15px;font-weight:600;letter-spacing:.04em;margin:0 0 18px}.home-hero h1{font-size:clamp(56px,7.7vw,124px);line-height:.9;letter-spacing:-.07em;margin:0;max-width:1200px}.home-hero-actions{display:flex;gap:24px;margin-top:32px}.home-hero-actions a{font-size:18px}.home-scroll{position:absolute;right:3.5vw;bottom:3.2vh;z-index:3;font-size:14px}.home-impact{padding:80px 3.5vw}.home-impact-grid{display:grid;grid-template-columns:repeat(4,1fr);max-width:1500px;margin:auto;border-top:1px solid #d2d2d7;border-bottom:1px solid #d2d2d7}.home-impact-grid article{padding:48px 28px;border-right:1px solid #d2d2d7;text-align:center}.home-impact-grid article:last-child{border-right:0}.home-impact-grid strong{display:block;font-size:clamp(48px,5vw,82px);line-height:.9;letter-spacing:-.06em}.home-impact-grid span{display:block;color:#6e6e73;margin-top:13px;font-size:14px}.home-services,.home-work,.home-industries{padding:120px 3.5vw}.home-services{background:#f5f5f7}.home-section-head{max-width:1500px;margin:0 auto 52px;display:flex;align-items:flex-end;justify-content:space-between;gap:40px}.home-section-head h2{font-size:clamp(46px,5.2vw,82px);line-height:.96;letter-spacing:-.06em;margin:0}.home-section-head h2 span{color:#86868b}.home-section-head>a{font-size:17px;color:#0066cc;white-space:nowrap}.home-service-grid{max-width:1500px;margin:auto;display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.home-service-grid>a{min-height:400px;background:#fff;border-radius:28px;padding:30px;display:flex;flex-direction:column;transition:transform .3s,box-shadow .3s}.home-service-grid>a:hover{transform:translateY(-5px);box-shadow:0 20px 45px rgba(0,0,0,.08)}.home-service-grid span{font-size:12px;color:#86868b}.home-service-grid h3{font-size:32px;line-height:1;letter-spacing:-.045em;margin:60px 0 18px}.home-service-grid p{color:#6e6e73;margin:0;max-width:260px}.home-service-grid b{margin-top:auto;font-size:14px;font-weight:500;color:#0066cc}.home-work{padding-bottom:140px}.home-project-feature,.home-project-pair{max-width:1500px;margin:auto}.home-project-feature>a,.home-project-pair>a{position:relative;display:block;overflow:hidden;border-radius:32px;color:#fff;background:#111}.home-project-feature img,.home-project-pair img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .7s cubic-bezier(.2,.7,.2,1)}.home-project-feature a:hover img,.home-project-pair a:hover img{transform:scale(1.025)}.home-project-feature-large>a{height:min(70vw,760px)}.home-project-feature a:after,.home-project-pair a:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 45%,rgba(0,0,0,.72))}.home-project-feature a>div,.home-project-pair a>div{position:absolute;z-index:2;left:36px;right:36px;bottom:32px}.home-project-feature span,.home-project-pair span{font-size:12px;text-transform:uppercase;letter-spacing:.08em}.home-project-feature h3{font-size:clamp(38px,5vw,76px);line-height:.92;letter-spacing:-.055em;margin:10px 0}.home-project-pair{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:18px}.home-project-pair>a{height:min(48vw,590px)}.home-project-pair h3{font-size:clamp(28px,3vw,46px);line-height:.96;letter-spacing:-.045em;margin:8px 0}.home-project-feature b,.home-project-pair b{font-size:14px;font-weight:500}.home-industries{background:#101012;color:#fff}.home-industries .home-section-head h2 span{color:#86868b}.home-industries .home-section-head>a{color:#2997ff}.home-industry-grid{max-width:1500px;margin:auto;display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:#353537}.home-industry-grid>a{background:#101012;min-height:230px;padding:30px;display:flex;flex-direction:column;justify-content:space-between;transition:background .25s}.home-industry-grid>a:hover{background:#1c1c1e}.home-industry-grid h3{font-size:36px;letter-spacing:-.04em;margin:0}.home-industry-grid span{color:#a1a1a6;font-size:14px}.home-global{min-height:720px;background:linear-gradient(135deg,#eaf8ff,#f8f8fa 45%,#fff3f7);padding:120px 5vw;display:grid;grid-template-columns:1.1fr .9fr;align-items:center;gap:8vw}.home-global-copy p,.home-about>div:first-child>p,.home-contact-head>p{font-size:12px;text-transform:uppercase;letter-spacing:.09em;color:#6e6e73;font-weight:600}.home-global-copy h2{font-size:clamp(54px,6.3vw,96px);line-height:.92;letter-spacing:-.065em;margin:16px 0 30px}.home-global-copy a{color:#0066cc;font-size:18px}.home-city-cloud{display:flex;flex-wrap:wrap;gap:12px;align-content:center}.home-city-cloud span{font-size:clamp(20px,2.2vw,34px);padding:14px 22px;border-radius:999px;background:rgba(255,255,255,.7);border:1px solid rgba(0,0,0,.07);backdrop-filter:blur(12px)}.home-about{padding:140px 5vw;display:grid;grid-template-columns:1.2fr .8fr;gap:10vw;align-items:end;max-width:1600px;margin:auto}.home-about h2{font-size:clamp(48px,5.4vw,82px);line-height:.96;letter-spacing:-.06em;margin:16px 0 0}.home-about>div:last-child p{font-size:22px;line-height:1.35;color:#515154;margin:0 0 24px}.home-about a{color:#0066cc}.home-contact{padding:125px 5vw;background:#f5f5f7}.home-contact-head{max-width:1500px;margin:0 auto 60px}.home-contact-head h2{font-size:clamp(50px,6vw,92px);line-height:.93;letter-spacing:-.065em;margin:12px 0 0}.home-contact-layout{max-width:1500px;margin:auto;display:grid;grid-template-columns:.75fr 1.25fr;gap:22px}.home-offices,.home-write{background:#fff;border-radius:32px;padding:34px}.home-offices h3,.home-write h3{font-size:28px;margin:0 0 28px;letter-spacing:-.04em}.home-offices>a{display:flex;justify-content:space-between;gap:15px;padding:21px 0;border-top:1px solid #e5e5e8}.home-offices>a:last-child{border-bottom:1px solid #e5e5e8}.home-offices strong{font-size:20px}.home-offices span{font-size:14px;color:#6e6e73}.home-write .contact-form{gap:20px}.home-form-submit{display:flex;justify-content:flex-end;padding-top:8px}.home-contact .contact-form textarea{min-height:90px}.home-contact .pill-button{background:#1d1d1f}.home-contact,.home-work,.home-services,.home-industries,.home-impact{scroll-margin-top:48px}
@media(max-width:1100px){.home-service-grid{grid-template-columns:1fr 1fr}.home-industry-grid{grid-template-columns:1fr 1fr}.home-global,.home-about,.home-contact-layout{grid-template-columns:1fr}.home-city-cloud{max-width:800px}.home-impact-grid{grid-template-columns:1fr 1fr}.home-impact-grid article:nth-child(2){border-right:0}.home-impact-grid article:nth-child(-n+2){border-bottom:1px solid #d2d2d7}}
@media(max-width:700px){.home-hero{min-height:720px}.home-hero-content{width:calc(100% - 30px);margin-bottom:90px}.home-hero h1{font-size:58px}.home-hero-actions{flex-direction:column;gap:14px}.home-scroll{right:15px;bottom:22px}.home-impact,.home-services,.home-work,.home-industries,.home-contact{padding-left:15px;padding-right:15px}.home-impact-grid{grid-template-columns:1fr 1fr}.home-impact-grid article{padding:32px 12px}.home-impact-grid strong{font-size:44px}.home-impact-grid span{font-size:12px}.home-section-head{align-items:flex-start;flex-direction:column;gap:22px}.home-section-head h2{font-size:48px}.home-service-grid{grid-template-columns:1fr}.home-service-grid>a{min-height:290px}.home-service-grid h3{margin-top:38px}.home-project-feature-large>a,.home-project-pair>a{height:520px;border-radius:24px}.home-project-pair{grid-template-columns:1fr}.home-project-feature a>div,.home-project-pair a>div{left:24px;right:24px;bottom:24px}.home-project-feature h3{font-size:38px}.home-project-pair h3{font-size:32px}.home-industry-grid{grid-template-columns:1fr}.home-industry-grid>a{min-height:180px}.home-global{padding:90px 20px;min-height:auto}.home-global-copy h2{font-size:54px}.home-city-cloud span{font-size:18px;padding:11px 16px}.home-about{padding:90px 20px}.home-about h2{font-size:48px}.home-about>div:last-child p{font-size:19px}.home-contact-head h2{font-size:50px}.home-contact-layout{gap:14px}.home-offices,.home-write{padding:26px;border-radius:24px}.home-offices>a{align-items:flex-start;flex-direction:column}.home-form-submit{justify-content:flex-start}}

/* v22 homepage refinements */
.home-hero{background:linear-gradient(180deg,#f7f7f9 0,#fff 100%);color:var(--ink);align-items:center;justify-content:center}
.home-hero-sketch{position:absolute;inset:48px 0 0;background-position:center 58%;background-size:min(92vw,1600px) auto;background-repeat:no-repeat;opacity:0;filter:none;pointer-events:none;--hero-opacity:.12}.home-hero-slide{animation:homeHeroCycle 24s infinite ease-in-out}.home-hero-slide-1{background-image:url('assets/parliament-sketch-hero.webp');animation-delay:0s}.home-hero-slide-2{background-image:url('assets/data-center-02-hero.webp');animation-delay:6s}.home-hero-slide-3{background-image:url('assets/iit-kanpur-hero.webp');animation-delay:12s}.home-hero-slide-4{background-image:url('assets/data-center-01-hero.webp');animation-delay:18s}@keyframes homeHeroCycle{0%,20%{opacity:var(--hero-opacity)}25%,95%{opacity:0}100%{opacity:var(--hero-opacity)}}
.home-hero:after{content:none}
.home-hero-content{margin:0 auto;position:relative;z-index:2;text-align:center;display:flex;flex-direction:column;align-items:center;width:min(1400px,calc(100% - 7vw))}
.home-hero-content>p{color:#6e6e73}
.home-hero h1{max-width:1180px;color:var(--ink)}
.home-hero-actions{justify-content:center}
.home-hero-actions a{color:#0066cc}
.home-scroll{color:#1d1d1f}
.home-final-cta{padding:130px 5vw 120px;background:#fff;text-align:center;scroll-margin-top:48px}
.home-final-cta-inner{max-width:980px;margin:0 auto;display:flex;flex-direction:column;align-items:center}
.home-final-cta p{font-size:12px;text-transform:uppercase;letter-spacing:.09em;color:#6e6e73;font-weight:600;margin:0 0 14px}
.home-final-cta h2{font-size:clamp(48px,5.5vw,84px);line-height:.96;letter-spacing:-.06em;margin:0 0 32px}
.home-final-cta .pill-button{background:#1d1d1f}
@media(max-width:700px){.home-hero-sketch{inset:48px 0 0;background-size:150vw auto;background-position:center 60%;filter:none;--hero-opacity:.1}.home-hero-content{margin-top:20px}.home-final-cta{padding:90px 20px 80px}.home-final-cta h2{font-size:48px}}

/* v26 — wider adaptive About, Career and Contact layouts */
.about-page .content-wide,
.career-page .content-wide,
.contact-page .content-wide{width:min(1500px,calc(100% - 7vw));}
.about-page .about-hero,
.career-page .career-hero,
.contact-page .contact-hero{width:100%;}
.about-page .about-section,
.career-page .career-life,
.career-page .positions-section,
.contact-page .contact-workspace{max-width:none;}
.about-page .leadership-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;}
.contact-page .contact-workspace{grid-template-columns:minmax(0,1.15fr) minmax(480px,.85fr);gap:clamp(40px,5vw,86px);}
.contact-page .hero-caption{left:3.5vw;}

/* ECOMES colour language carried into the home page */
.home-about{position:relative;overflow:hidden;border-radius:0;}
.home-about:before{content:"";position:absolute;width:520px;height:520px;border-radius:50%;right:-170px;top:-150px;background:conic-gradient(from 150deg,rgba(0,169,232,.13),rgba(0,184,63,.09),rgba(255,178,15,.07),rgba(229,0,111,.08),rgba(0,169,232,.13));filter:blur(4px);pointer-events:none;}
.home-about>div{position:relative;z-index:1;}
.home-about h2{background:linear-gradient(90deg,var(--blue),var(--green) 48%,var(--gold) 72%,var(--pink));-webkit-background-clip:text;background-clip:text;color:transparent;}
.home-services{background:linear-gradient(180deg,#f5f5f7 0,#fafafa 100%);}
.home-service-grid>a{align-items:center;justify-content:center;text-align:center;min-height:315px;padding:34px 28px;position:relative;overflow:hidden;}
.home-service-grid>a:before{content:"";position:absolute;inset:0 0 auto;height:3px;background:linear-gradient(90deg,var(--blue),var(--green),var(--gold),var(--pink));opacity:.72;}
.home-service-grid h3{margin:0 0 16px;font-size:30px;}
.home-service-grid p{max-width:290px;margin:0 auto 24px;}
.home-service-grid b{margin-top:0;}

/* Compact featured project gallery on Home */
.home-work{padding-top:105px;padding-bottom:115px;}
.home-featured-project-grid{max-width:1500px;margin:auto;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;}
.home-featured-project-grid>a{position:relative;display:block;aspect-ratio:1.18/1;overflow:hidden;border-radius:22px;background:#111;color:#fff;isolation:isolate;}
.home-featured-project-grid img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .55s cubic-bezier(.2,.7,.2,1);}
.home-featured-project-grid>a:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 36%,rgba(0,0,0,.78) 100%);z-index:1;}
.home-featured-project-grid>a:hover img{transform:scale(1.035);}
.home-featured-project-grid div{position:absolute;z-index:2;left:18px;right:18px;bottom:16px;text-align:center;}
.home-featured-project-grid span{display:block;font-size:10px;text-transform:uppercase;letter-spacing:.09em;color:rgba(255,255,255,.72);margin-bottom:6px;}
.home-featured-project-grid h3{font-size:clamp(17px,1.5vw,24px);line-height:1.02;letter-spacing:-.035em;margin:0;text-wrap:balance;}

/* More refined industry cards on Home */
.home-industries{padding-top:105px;padding-bottom:115px;background:#101012;}
.home-industry-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;background:transparent;}
.home-industry-grid>a{min-height:225px;border:1px solid #303034;border-radius:24px;padding:26px;align-items:center;justify-content:center;text-align:center;background:linear-gradient(145deg,#151517,#0f0f11);position:relative;overflow:hidden;}
.home-industry-grid>a:before{content:"";position:absolute;width:170px;height:170px;border-radius:50%;right:-70px;top:-80px;background:radial-gradient(circle,rgba(0,169,232,.13),transparent 68%);transition:transform .3s;}
.home-industry-grid>a:nth-child(2n):before{background:radial-gradient(circle,rgba(0,184,63,.12),transparent 68%);}
.home-industry-grid>a:nth-child(3n):before{background:radial-gradient(circle,rgba(229,0,111,.10),transparent 68%);}
.home-industry-grid>a:hover{background:#1b1b1e;transform:translateY(-3px);}
.home-industry-grid>a:hover:before{transform:scale(1.15);}
.home-industry-grid div,.home-industry-grid b{position:relative;z-index:1;}
.home-industry-grid small{display:block;font-size:10px;text-transform:uppercase;letter-spacing:.1em;color:#86868b;margin-bottom:14px;}
.home-industry-grid h3{font-size:32px;margin:0 0 12px;}
.home-industry-grid p{margin:0 auto 19px;color:#a1a1a6;font-size:14px;max-width:270px;}
.home-industry-grid b{font-size:13px;font-weight:500;color:#2997ff;}
.home-industry-grid>a:first-child{grid-column:span 2;}

/* Refined global location section on Home */
.home-global{min-height:auto;padding:105px 5vw;background:linear-gradient(135deg,#eef9ff 0,#f8f8fa 48%,#fff5f8 100%);}
.home-market-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;}
.home-market-grid>a{min-height:150px;padding:24px;border-radius:24px;background:rgba(255,255,255,.72);border:1px solid rgba(0,0,0,.07);backdrop-filter:blur(14px);display:flex;flex-direction:column;justify-content:center;transition:transform .25s,box-shadow .25s,background .25s;}
.home-market-grid>a:hover{transform:translateY(-3px);background:#fff;box-shadow:0 18px 38px rgba(0,0,0,.07);}
.home-market-grid small{font-size:10px;text-transform:uppercase;letter-spacing:.1em;color:#86868b;margin-bottom:7px;}
.home-market-grid strong{font-size:27px;line-height:1;letter-spacing:-.035em;margin-bottom:10px;}
.home-market-grid span{font-size:13px;color:#6e6e73;}

@media(max-width:1100px){
  .about-page .content-wide,.career-page .content-wide,.contact-page .content-wide{width:calc(100% - 48px);}
  .home-featured-project-grid{grid-template-columns:repeat(3,minmax(0,1fr));}
  .home-industry-grid{grid-template-columns:repeat(2,minmax(0,1fr));}
  .home-industry-grid>a:first-child{grid-column:span 2;}
}
@media(max-width:700px){
  .about-page .content-wide,.career-page .content-wide,.contact-page .content-wide{width:calc(100% - 30px);}
  .about-page .about-section,.career-page .career-life,.contact-page .contact-workspace{padding-left:0;padding-right:0;}
  .home-service-grid>a{min-height:250px;}
  .home-featured-project-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;}
  .home-featured-project-grid>a{border-radius:18px;aspect-ratio:1/1.05;}
  .home-featured-project-grid div{left:12px;right:12px;bottom:12px;}
  .home-featured-project-grid h3{font-size:17px;}
  .home-industry-grid{grid-template-columns:1fr;gap:10px;}
  .home-industry-grid>a:first-child{grid-column:auto;}
  .home-industry-grid>a{min-height:190px;}
  .home-market-grid{grid-template-columns:1fr;}
  .home-market-grid>a{min-height:125px;}
}


/* v27 — directors, leadership sequence, job pages, blog and social brand colours */
.header-socials a:nth-child(1){color:#25D366}.header-socials a:nth-child(2){color:#0A66C2}.header-socials a:nth-child(3){color:#E4405F}.header-socials a:nth-child(4){color:#1877F2}.header-socials a:nth-child(5){color:#FF0000}.header-socials a:hover{opacity:.78}
.directors-section{background:#fff}.directors-heading{margin-bottom:58px}.directors-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px}.director-card{background:#f5f5f7;border-radius:34px;padding:22px;display:grid;grid-template-columns:minmax(220px,.72fr) 1.28fr;gap:28px;align-items:center;min-height:500px}.director-photo{aspect-ratio:1/1;border-radius:26px;overflow:hidden;background:#e8e8ed}.director-photo img{width:100%;height:100%;object-fit:cover;object-position:center top;display:block}.director-copy{padding:16px 18px 16px 0}.director-label{font-size:12px;text-transform:uppercase;letter-spacing:.08em;font-weight:700;color:#6e6e73;margin:0 0 20px}.director-copy blockquote{font-size:clamp(18px,1.35vw,22px);line-height:1.52;letter-spacing:-.018em;margin:0;color:#323235}.about-page .leadership-grid{grid-template-columns:repeat(12,minmax(0,1fr));gap:22px 18px}.about-page .leader-row-one{grid-column:span 4}.about-page .leader-row-two{grid-column:span 3}.about-page .impact-stats article{align-items:center;justify-content:center;text-align:center}.about-page .impact-stats span{margin-top:14px}.about-page .why-card{align-items:center;justify-content:center;text-align:center;gap:22px}.about-page .why-card p{margin-inline:auto}.about-page .why-card span{position:relative;z-index:1}.about-page .why-card>div{position:relative;z-index:1}
.job-card b{margin-top:16px;font-size:13px;font-weight:500;color:#0066cc}.job-detail-page{padding-top:48px}.job-detail-hero{min-height:calc(78svh - 48px);display:flex;align-items:center;padding:90px 5vw;background:linear-gradient(145deg,#f5f5f7,#fff 58%,#eefaff)}.job-detail-hero>div{width:min(1500px,100%);margin:auto}.job-detail-hero h1{font-size:clamp(62px,9vw,138px);line-height:.87;letter-spacing:-.075em;max-width:1250px;margin:0 0 32px}.job-detail-hero>div>p:not(.kicker){font-size:clamp(21px,2vw,30px);line-height:1.3;color:#515154;max-width:900px}.job-hero-actions{display:flex;gap:22px;align-items:center;margin-top:34px}.job-hero-actions>a:not(.pill-button){color:#0066cc}.job-detail-content{padding:110px 5vw}.job-detail-grid{width:min(1500px,100%);margin:auto;display:grid;grid-template-columns:.82fr 1.18fr;gap:8vw}.job-detail-grid h2{font-size:clamp(42px,5vw,72px);line-height:.98;letter-spacing:-.055em;margin:0 0 28px}.job-detail-grid>div>p:not(.kicker){font-size:20px;line-height:1.55;color:#515154}.job-detail-panels{display:grid;gap:16px}.job-detail-panels article{background:#f5f5f7;border-radius:28px;padding:34px}.job-detail-panels h3{font-size:28px;letter-spacing:-.035em;margin:0 0 20px}.job-detail-panels ul{margin:0;padding-left:20px;color:#515154;line-height:1.65}.job-detail-cta{text-align:center;padding:100px 20px 110px;background:#101012;color:#fff}.job-detail-cta .kicker{color:#a1a1a6}.job-detail-cta h2{font-size:clamp(50px,6vw,92px);line-height:.94;letter-spacing:-.06em;margin:10px auto 30px}.job-detail-cta .pill-button{background:#fff;color:#111}
.blog-page{padding-top:48px}.blog-hero{min-height:calc(100svh - 48px);padding:90px 5vw;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;background:linear-gradient(145deg,#f5f5f7,#fff 58%,#eefaff);position:relative;overflow:hidden}.blog-hero:before{content:"";position:absolute;width:640px;height:640px;border-radius:50%;right:-160px;top:-100px;background:conic-gradient(from 150deg,rgba(0,169,232,.16),rgba(0,184,63,.11),rgba(255,178,15,.08),rgba(229,0,111,.09),rgba(0,169,232,.16));filter:blur(3px)}.blog-hero>*{position:relative;z-index:1}.blog-hero h1{font-size:clamp(66px,9vw,140px);line-height:.86;letter-spacing:-.078em;margin:0;max-width:1250px}.blog-hero h1 span{background:linear-gradient(90deg,var(--blue),var(--green) 48%,var(--gold) 72%,var(--pink));-webkit-background-clip:text;background-clip:text;color:transparent}.blog-hero>p:not(.kicker){font-size:clamp(20px,2vw,29px);color:#515154;max-width:820px;margin:30px auto 0}.blog-hero>a{color:#0066cc;margin-top:38px}.blog-index{padding:110px 3.5vw 125px}.blog-index-head{width:min(1500px,100%);margin:0 auto 52px;display:grid;grid-template-columns:1fr .7fr;gap:60px;align-items:end}.blog-index-head h2{font-size:clamp(50px,6vw,84px);line-height:.95;letter-spacing:-.06em;margin:0}.blog-index-head>p{font-size:19px;color:#6e6e73;margin:0}.blog-grid{width:min(1500px,100%);margin:auto;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.blog-card{min-height:330px;border-radius:30px;padding:28px;background:#f5f5f7;display:flex;flex-direction:column;transition:transform .25s,box-shadow .25s}.blog-card:hover{transform:translateY(-5px);box-shadow:0 18px 42px rgba(0,0,0,.08)}.blog-card-top{display:flex;justify-content:space-between;gap:15px;font-size:11px;text-transform:uppercase;letter-spacing:.07em;color:#6e6e73}.blog-card h2{font-size:clamp(25px,2vw,34px);line-height:1.03;letter-spacing:-.045em;margin:46px 0 16px}.blog-card p{color:#6e6e73;line-height:1.5;margin:0 0 25px}.blog-card b{margin-top:auto;color:#0066cc;font-size:14px;font-weight:500}.blog-cta{text-align:center;padding:100px 20px 110px;background:#fff}.blog-cta h2{font-size:clamp(50px,6vw,90px);line-height:.94;letter-spacing:-.06em;margin:10px auto 30px}
@media(max-width:1100px){.directors-grid{grid-template-columns:1fr}.director-card{grid-template-columns:300px 1fr}.blog-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.job-detail-grid{grid-template-columns:1fr;gap:50px}}
@media(max-width:850px){.about-page .leadership-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.about-page .leader-row-one,.about-page .leader-row-two{grid-column:auto}.director-card{grid-template-columns:1fr}.director-photo{max-width:440px;width:100%;margin:auto}.director-copy{padding:8px 10px 16px}.blog-index-head{grid-template-columns:1fr;gap:20px}}
@media(max-width:650px){.directors-grid{gap:14px}.director-card{padding:16px;border-radius:26px;min-height:0}.director-photo{border-radius:22px}.director-copy blockquote{font-size:18px}.about-page .leadership-grid{grid-template-columns:1fr}.blog-grid{grid-template-columns:1fr}.blog-index{padding:80px 15px 90px}.blog-card{min-height:290px}.job-detail-hero{min-height:72svh;padding:75px 20px}.job-detail-hero h1{font-size:56px}.job-hero-actions{align-items:flex-start;flex-direction:column}.job-detail-content{padding:75px 20px}.job-detail-panels article{padding:26px}.job-detail-cta{padding:80px 20px 90px}}

/* v28 — unified hero language and leadership refinements */
.hero-gradient-text,
.about-hero h1 span,
.career-hero h1 span,
.contact-hero h1 span,
.blog-hero h1 span{
  background:linear-gradient(90deg,var(--blue),var(--green) 48%,var(--gold) 72%,var(--pink));
  -webkit-background-clip:text;background-clip:text;color:transparent;
}
.home-hero h1 .hero-gradient-text{color:transparent}

.about-page .about-hero,
.career-page .career-hero,
.contact-page .contact-hero{
  min-height:calc(100svh - 48px);
  width:100%;
  padding:80px max(24px,5vw);
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  text-align:center;
  background:linear-gradient(180deg,#f7f7f9 0,#fff 100%);
  position:relative;
  overflow:hidden;
}
.about-page .about-hero:before,
.career-page .career-hero:before,
.career-page .career-hero:after,
.contact-page .contact-hero:before,
.contact-page .contact-hero:after{display:none!important;content:none!important}
.about-page .about-hero-content,
.career-page .career-hero-content,
.contact-page .hero-content{
  width:min(1280px,100%);
  margin:0 auto;
  position:relative;
  z-index:1;
  display:flex;
  flex-direction:column;
  align-items:center;
  text-align:center;
}
.about-page .about-hero h1,
.career-page .career-hero h1,
.contact-page .contact-hero h1{
  font-size:clamp(64px,9vw,142px);
  line-height:.86;
  letter-spacing:-.078em;
  margin:0;
  max-width:1200px;
  text-wrap:balance;
}
.about-page .about-hero p,
.career-page .career-hero-content>p,
.contact-page .hero-copy{
  font-size:clamp(20px,2vw,29px);
  line-height:1.28;
  color:#515154;
  max-width:860px;
  margin:32px auto 0;
  letter-spacing:-.025em;
}
.about-page .about-hero .hero-explore,
.career-page .career-hero .hero-explore,
.contact-page .contact-hero .hero-explore{margin-top:30px}
.career-hero-actions,.contact-page .hero-actions{display:flex;align-items:center;justify-content:center;gap:22px;margin-top:30px}
.contact-page .hero-actions .hero-explore{margin-top:0}

/* Directors: portrait-led cards with the message below the image. */
.directors-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;align-items:start}
.director-card{display:flex;flex-direction:column;align-items:stretch;background:#f5f5f7;border-radius:34px;padding:22px;min-height:0;gap:0}
.director-photo{width:100%;aspect-ratio:4/3;border-radius:26px;overflow:hidden;background:#e8e8ed}
.director-photo img{width:100%;height:100%;object-fit:cover;object-position:center top;display:block}
.director-copy{padding:26px 10px 14px;text-align:center}
.director-label{margin:0 0 18px}
.director-copy blockquote{max-width:760px;margin:0 auto;font-size:clamp(18px,1.35vw,22px);line-height:1.55}

/* Leadership: every leadership portrait/card uses the same size. */
.about-page .leadership-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}
.about-page .leader-row-one,.about-page .leader-row-two{grid-column:auto}
.about-page .leader-card{width:100%}
.about-page .leader-photo{aspect-ratio:4/5}

@media(max-width:900px){
  .directors-grid{grid-template-columns:1fr}
  .about-page .leadership-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:700px){
  .about-page .about-hero,.career-page .career-hero,.contact-page .contact-hero{min-height:72svh;padding:68px 20px}
  .about-page .about-hero h1,.career-page .career-hero h1,.contact-page .contact-hero h1{font-size:clamp(54px,14vw,84px)}
  .career-hero-actions,.contact-page .hero-actions{flex-direction:column;gap:14px}
  .director-card{padding:16px;border-radius:26px}.director-photo{border-radius:22px;aspect-ratio:1/1}.director-copy{padding:22px 8px 12px}
  .about-page .leadership-grid{grid-template-columns:1fr}.about-page .leader-photo{aspect-ratio:4/5}
}


/* v29 — final landing hero system, compact people imagery, and local blog articles */
.home-about:before{display:none!important;content:none!important}

/* All principal landing heroes inherit the Home hero's scale and positioning. */
.about-page .about-hero,
.career-page .career-hero,
.contact-page .contact-hero,
.blog-page .blog-hero{
  min-height:calc(100svh - 48px);width:100%;padding:80px max(24px,5vw);
  display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;
  background:linear-gradient(180deg,#f7f7f9 0,#fff 100%);position:relative;overflow:hidden;
}
.blog-page .blog-hero:before{display:none!important;content:none!important}
.about-page .about-hero h1,.career-page .career-hero h1,.contact-page .contact-hero h1,.blog-page .blog-hero h1{
  font-size:clamp(56px,7.7vw,124px);line-height:.9;letter-spacing:-.07em;margin:0;max-width:1180px;text-wrap:balance;
}
.about-page .about-hero p,.career-page .career-hero-content>p,.contact-page .hero-copy,.blog-page .blog-hero>p{
  font-size:clamp(20px,2vw,29px);line-height:1.28;color:#515154;max-width:860px;margin:30px auto 0;letter-spacing:-.025em;
}
.landing-hero-actions{display:flex;align-items:center;justify-content:center;gap:24px;margin-top:32px;position:relative;z-index:2}
.landing-hero-actions a{font-size:18px;color:#0066cc;transition:transform .2s,color .2s}
.landing-hero-actions a:hover{transform:translateY(-1px);color:#004f9e}

/* Directors Speak: portrait is deliberately secondary to the message. */
.directors-grid{max-width:1080px;margin:0 auto;gap:22px}
.director-card{padding:18px;border-radius:28px}
.director-photo{width:min(72%,350px);aspect-ratio:4/5;margin:0 auto;border-radius:22px}
.director-copy{padding:22px 16px 12px}
.director-label{font-size:15px;margin-bottom:14px}
.director-copy blockquote{font-size:clamp(15px,1.08vw,18px);line-height:1.62;max-width:650px}

/* Leadership portraits: consistent and smaller throughout. */
.about-page .leadership-grid{max-width:1180px;margin:0 auto;gap:18px}
.about-page .leader-card{max-width:280px;margin:0 auto}
.about-page .leader-photo{aspect-ratio:1/1.08;border-radius:22px}
.about-page .leader-info{padding:15px 6px 2px}
.about-page .leader-info h3{font-size:20px}

/* New local blog article pages: text-led, no hero image. */
.blog-article-page{padding-top:48px;background:#fff}
.blog-article-hero{min-height:62svh;display:flex;align-items:flex-end;padding:100px 5vw 72px;background:#f5f5f7}
.blog-article-hero-inner{width:min(1120px,100%);margin:0 auto}
.blog-back{display:inline-block;color:#0066cc;font-size:15px;margin-bottom:46px}
.blog-article-meta{display:flex;gap:18px;align-items:center;font-size:12px;text-transform:uppercase;letter-spacing:.08em;color:#6e6e73;margin-bottom:20px}
.blog-article-hero h1{font-size:clamp(52px,7vw,104px);line-height:.91;letter-spacing:-.065em;margin:0;max-width:1080px;text-wrap:balance}
.blog-article-hero p{font-size:clamp(20px,2vw,27px);line-height:1.35;color:#515154;max-width:820px;margin:30px 0 0}
.blog-article-body{width:min(860px,calc(100% - 40px));margin:0 auto;padding:90px 0 110px}
.blog-article-intro p{font-size:25px;line-height:1.45;color:#1d1d1f;margin:0 0 70px}
.blog-article-body section{padding:34px 0;border-top:1px solid #d2d2d7}
.blog-article-body section h2{font-size:clamp(30px,3vw,44px);line-height:1.05;letter-spacing:-.04em;margin:0 0 18px}
.blog-article-body section p{font-size:18px;line-height:1.7;color:#515154;margin:0}
.blog-article-note{margin-top:48px;padding:22px 24px;border-radius:20px;background:#f5f5f7;color:#6e6e73;font-size:13px;line-height:1.5}
@media(max-width:700px){
  .about-page .about-hero,.career-page .career-hero,.contact-page .contact-hero,.blog-page .blog-hero{min-height:72svh;padding:68px 20px}
  .about-page .about-hero h1,.career-page .career-hero h1,.contact-page .contact-hero h1,.blog-page .blog-hero h1{font-size:58px}
  .landing-hero-actions{flex-direction:column;gap:14px}
  .director-photo{width:min(82%,310px)}
  .about-page .leader-card{max-width:270px}
  .blog-article-hero{min-height:58svh;padding:78px 20px 54px}
  .blog-article-hero h1{font-size:52px}
  .blog-article-body{padding:65px 0 85px}
  .blog-article-intro p{font-size:21px;margin-bottom:48px}
}


/* v30 — hero clipping fixes, unified leadership rows, full-width blog articles */
.about-page .about-hero h1{
  line-height:1.01;
  letter-spacing:-.065em;
  padding:.06em .04em .08em;
  overflow:visible;
}
.about-page .about-hero h1 span{display:inline-block;padding:.02em .035em .06em;margin:0 -.035em;overflow:visible}

/* Directors now live inside Leadership; every portrait is exactly the same size. */
.about-page .leadership-grid.leadership-rows{display:block;max-width:1320px;margin:0 auto}
.about-page .leadership-row{display:flex;justify-content:center;align-items:flex-start;gap:22px;margin:0 auto 34px}
.about-page .leadership-row:last-child{margin-bottom:0}
.about-page .leadership-row .leader-card{flex:0 1 260px;width:260px;max-width:260px;margin:0;text-align:center}
.about-page .leadership-row .leader-photo{width:100%;aspect-ratio:1/1.08;border-radius:22px;overflow:hidden}
.about-page .leadership-row .leader-photo img{width:100%;height:100%;object-fit:cover;object-position:center top}
.about-page .leadership-row .leader-info{padding:15px 6px 2px}
.about-page .leadership-row .leader-info h3{font-size:20px}
@media(max-width:900px){
  .about-page .leadership-row{flex-wrap:wrap;max-width:620px}
  .about-page .leadership-row .leader-card{flex-basis:250px;width:250px;max-width:250px}
}
@media(max-width:580px){
  .about-page .about-hero h1{line-height:1.03;letter-spacing:-.055em}
  .about-page .leadership-row{gap:28px;margin-bottom:28px}
  .about-page .leadership-row .leader-card{flex-basis:min(82vw,270px);width:min(82vw,270px);max-width:270px}
}

/* Blog detail pages use the same wide editorial geometry as career detail pages. */
.blog-article-page{padding-top:48px;background:#fff}
.blog-article-hero{min-height:calc(78svh - 48px);display:flex;align-items:center;padding:90px 5vw;background:linear-gradient(145deg,#f5f5f7,#fff 58%,#eefaff)}
.blog-article-hero-inner{width:min(1500px,100%);margin:auto}
.blog-back{display:inline-block;color:#0066cc;font-size:15px;margin-bottom:40px}
.blog-article-meta{display:flex;gap:18px;align-items:center;font-size:12px;text-transform:uppercase;letter-spacing:.08em;color:#6e6e73;margin-bottom:18px}
.blog-article-hero h1{font-size:clamp(62px,9vw,138px);line-height:.92;letter-spacing:-.068em;max-width:1280px;margin:0 0 30px;padding:.03em .03em .05em;overflow:visible;text-wrap:balance}
.blog-article-hero p{font-size:clamp(21px,2vw,30px);line-height:1.3;color:#515154;max-width:920px;margin:0}
.blog-article-body{width:min(1500px,90vw);margin:0 auto;padding:110px 0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.blog-article-intro{grid-column:1/-1;max-width:1050px;padding:0 0 30px}
.blog-article-intro p{font-size:clamp(24px,2.4vw,36px);line-height:1.35;color:#1d1d1f;margin:0}
.blog-article-body section{padding:34px;background:#f5f5f7;border:0;border-radius:28px;min-height:260px}
.blog-article-body section h2{font-size:clamp(28px,2.4vw,40px);line-height:1.06;letter-spacing:-.04em;margin:0 0 18px}
.blog-article-body section p{font-size:18px;line-height:1.65;color:#515154;margin:0}
.blog-article-note{grid-column:1/-1;margin-top:12px;padding:22px 24px;border-radius:20px;background:#f5f5f7;color:#6e6e73;font-size:13px;line-height:1.5}
@media(max-width:850px){.blog-article-body{grid-template-columns:1fr}.blog-article-intro,.blog-article-note{grid-column:auto}}
@media(max-width:650px){
  .blog-article-hero{min-height:72svh;padding:75px 20px}
  .blog-article-hero h1{font-size:56px;line-height:.96}
  .blog-article-body{width:calc(100% - 30px);padding:75px 0}
  .blog-article-body section{padding:26px;min-height:0}
}


/* v31 — sketch hero imagery for About and individual Industry pages.
   Treatment intentionally matches the Projects hero: original artwork preserved,
   12% desktop opacity / 10% mobile, no grayscale or destructive filters. */
.about-page .about-hero{isolation:isolate;background:linear-gradient(180deg,#f7f7f9 0,#fff 100%)}
.about-page .about-hero:before{
  display:block!important;content:""!important;position:absolute;inset:0;
  background-image:url('assets/about-us-hero.webp');
  background-position:center center;
  background-size:cover;
  background-repeat:no-repeat;
  opacity:.12;filter:none;pointer-events:none;z-index:0;
}
.about-page .about-hero-content{position:relative;z-index:1}
@media(max-width:700px){
  .about-page .about-hero:before{background-size:cover;background-position:center center;opacity:.1}
}

/* v33 — full-screen sketch hero imagery for Career and Contact.
   Matches the established Projects/About/Industry hero treatment. */
.career-page .career-hero,
.contact-page .contact-hero{
  isolation:isolate;
  background:linear-gradient(180deg,#f7f7f9 0,#fff 100%);
}
.career-page .career-hero:before,
.contact-page .contact-hero:before{
  display:block!important;
  content:""!important;
  position:absolute;
  inset:0;
  background-position:center center;
  background-size:cover;
  background-repeat:no-repeat;
  opacity:.12;
  filter:none;
  pointer-events:none;
  z-index:0;
}
.career-page .career-hero:before{background-image:url('assets/career-hero.webp')}
.contact-page .contact-hero:before{background-image:url('assets/contact-hero-v40.webp')}
.career-page .career-hero-content,
.contact-page .hero-content{position:relative;z-index:1}
@media(max-width:700px){
  .career-page .career-hero:before,
  .contact-page .contact-hero:before{
    background-size:cover;
    background-position:center center;
    opacity:.10;
  }
}


/* v34 — true full-bleed About/Career heroes + shared on-page conversation drawer */
.about-page .about-hero,
.career-page .career-hero{
  position:relative;
  isolation:isolate;
  width:100vw;
  max-width:none;
  min-height:calc(100svh - 48px);
  margin:0;
  padding:80px max(24px,5vw);
  overflow:hidden;
  background:#fff;
}
.about-page .about-hero:before,
.career-page .career-hero:before,
.career-page .career-hero:after{display:none!important;content:none!important}
.landing-hero-background{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center center;
  opacity:.12;
  filter:none;
  pointer-events:none;
  z-index:0;
}
.about-page .about-hero-content,
.career-page .career-hero-content{position:relative;z-index:1}
@media(max-width:700px){
  .landing-hero-background{opacity:.10;object-position:center center}
}

/* Existing page-end conversation blocks are replaced by one shared system. */
body:not(.career-page):not(.contact-page) .project-cta,
body:not(.career-page):not(.contact-page) .detail-page-cta,
body:not(.career-page):not(.contact-page) .blog-cta,
body:not(.career-page):not(.contact-page) .home-final-cta{display:none!important}

.global-conversation-cta{
  padding:100px 5vw 108px;
  background:#fff;
  text-align:center;
  border-top:1px solid #e5e5e8;
}
.global-conversation-cta .conversation-cta-inner{width:min(1180px,100%);margin:0 auto}
.global-conversation-cta .conversation-kicker{margin:0 0 12px;font-size:12px;text-transform:uppercase;letter-spacing:.1em;color:#6e6e73;font-weight:600}
.global-conversation-cta h2{margin:0 0 26px;font-size:clamp(48px,6vw,92px);line-height:.94;letter-spacing:-.06em;color:#1d1d1f}
.global-conversation-cta button{border:0;background:transparent;color:#0066cc;font:inherit;font-size:18px;cursor:pointer;padding:4px 0}
.global-conversation-cta button:hover{color:#004f9e}

.conversation-overlay{
  position:fixed;
  inset:0;
  z-index:4000;
  display:flex;
  justify-content:flex-end;
  visibility:hidden;
  pointer-events:none;
}
.conversation-overlay.is-open{visibility:visible;pointer-events:auto}
.conversation-backdrop{
  position:absolute;
  inset:0;
  background:rgba(245,245,247,.46);
  backdrop-filter:blur(14px) saturate(.9);
  -webkit-backdrop-filter:blur(14px) saturate(.9);
  opacity:0;
  transition:opacity .28s ease;
}
.conversation-overlay.is-open .conversation-backdrop{opacity:1}
.conversation-drawer{
  position:relative;
  z-index:1;
  width:min(590px,92vw);
  height:100%;
  overflow:auto;
  background:#fff;
  box-shadow:-24px 0 60px rgba(0,0,0,.14);
  transform:translateX(102%);
  transition:transform .34s cubic-bezier(.2,.7,.2,1);
  padding:34px 34px 44px;
}
.conversation-overlay.is-open .conversation-drawer{transform:translateX(0)}
.conversation-drawer-head{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:44px}
.conversation-drawer-head img{width:128px;height:auto;display:block}
.conversation-close{width:38px;height:38px;border:0;border-radius:999px;background:#f5f5f7;color:#1d1d1f;font-size:24px;line-height:1;cursor:pointer}
.conversation-drawer .form-intro{margin-bottom:30px}
.conversation-drawer .form-intro h2{font-size:clamp(42px,5vw,66px);line-height:.96;letter-spacing:-.055em;margin:8px 0 14px}
.conversation-drawer .form-intro>p:last-child{color:#6e6e73;line-height:1.5;margin:0}
.conversation-drawer .contact-form{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.conversation-drawer .field{display:flex;flex-direction:column;gap:8px}
.conversation-drawer .field-wide{grid-column:1/-1}
.conversation-drawer label{font-size:13px;color:#515154;font-weight:600}
.conversation-drawer input,
.conversation-drawer select,
.conversation-drawer textarea{width:100%;border:1px solid #d2d2d7;border-radius:14px;background:#fff;padding:14px 15px;font:inherit;color:#1d1d1f;outline:none}
.conversation-drawer input:focus,
.conversation-drawer select:focus,
.conversation-drawer textarea:focus{border-color:#0071e3;box-shadow:0 0 0 3px rgba(0,113,227,.10)}
.conversation-drawer textarea{min-height:125px;resize:vertical}
.conversation-submit-row{grid-column:1/-1;display:flex;justify-content:flex-end;padding-top:4px}
.conversation-submit-row button{border:0;border-radius:999px;background:#0071e3;color:#fff;padding:14px 21px;font:inherit;cursor:pointer}
body.conversation-open{overflow:hidden}
@media(max-width:700px){
  .global-conversation-cta{padding:78px 20px 84px}
  .conversation-drawer{width:100vw;max-width:none;padding:24px 20px 36px}
  .conversation-drawer .contact-form{grid-template-columns:1fr}
  .conversation-drawer .field-wide,.conversation-submit-row{grid-column:auto}
}


/* v36 contextual conversation CTA */
.global-conversation-cta{transition:background .25s ease,color .25s ease}
.global-conversation-cta.is-dark{background:#101012;color:#fff}
.global-conversation-cta.is-dark .conversation-kicker{color:#a1a1a6}
.global-conversation-cta.is-dark h2{color:#fff}
.global-conversation-cta.is-dark button{color:#2997ff}
.global-conversation-cta.is-dark button:hover{color:#7cc4ff}


/* v39 — dedicated full-screen Blog hero image, matching About/Career treatment. */
.blog-page .blog-hero{
  position:relative;
  isolation:isolate;
  width:100vw;
  max-width:none;
  min-height:calc(100svh - 48px);
  margin:0;
  padding:80px max(24px,5vw);
  overflow:hidden;
  background:#fff;
}
.blog-page .blog-hero:before{display:none!important;content:none!important}
.blog-page .blog-hero>.landing-hero-background{z-index:0}
.blog-page .blog-hero>h1,
.blog-page .blog-hero>p,
.blog-page .blog-hero>.landing-hero-actions{position:relative;z-index:1}
@media(max-width:700px){
  .blog-page .blog-hero{min-height:72svh;padding:68px 20px}
}


/* v41 — migration, performance, accessibility and mobile hardening */
html{scroll-padding-top:64px;overflow-x:clip}body{overflow-x:clip}img,video,iframe{max-width:100%}img{height:auto}iframe{border:0}a,button,input,select,textarea{-webkit-tap-highlight-color:transparent}button,.menu-toggle,[role="button"]{touch-action:manipulation}.menu-toggle{min-width:44px;min-height:44px}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid rgba(0,102,204,.55);outline-offset:3px}h1,h2,h3{overflow-wrap:break-word}.contact-form input,.contact-form select,.contact-form textarea{min-width:0}
@media(max-width:700px){input,select,textarea{font-size:16px}.home-hero h1,.about-hero h1,.career-hero h1,.contact-hero h1,.industry-hero h1,.job-detail-hero h1{overflow-wrap:anywhere}.header-shell{padding-left:max(0px,env(safe-area-inset-left));padding-right:max(0px,env(safe-area-inset-right))}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}


/* v43 — enquiry delivery, drawer viewport fix and legal pages */
.form-hp{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;overflow:hidden!important;opacity:0!important;pointer-events:none!important}
.form-status{margin:7px 0 0;font-size:12px;line-height:1.35;min-height:16px;color:#6e6e73}
.form-status.is-sending{color:#6e6e73}.form-status.is-success{color:#08783e}.form-status.is-error{color:#b42318}
.form-footer>div{min-width:0}.form-footer p a,.conversation-consent a{color:#0066cc;text-decoration:none}.form-footer p a:hover,.conversation-consent a:hover{text-decoration:underline}
.contact-form button[disabled]{opacity:.68;cursor:wait;transform:none!important}

.conversation-drawer{height:100vh;height:100dvh;max-height:100dvh;overscroll-behavior:contain;padding-bottom:calc(30px + env(safe-area-inset-bottom))}
.conversation-submit-row{position:sticky;bottom:0;z-index:3;align-items:flex-end;gap:18px;margin-top:2px;padding:14px 0 calc(8px + env(safe-area-inset-bottom));background:linear-gradient(to bottom,rgba(255,255,255,0),#fff 22%,#fff 100%)}
.conversation-submit-row>div{flex:1;min-width:0}.conversation-consent{margin:0;font-size:11px;line-height:1.35;color:#6e6e73;max-width:320px}
.conversation-submit-row button{flex:0 0 auto;white-space:nowrap}
@media(max-height:820px) and (min-width:701px){
  .conversation-drawer{padding-top:22px}.conversation-drawer-head{margin-bottom:22px}.conversation-drawer .form-intro{margin-bottom:20px}
  .conversation-drawer .form-intro h2{font-size:42px}.conversation-drawer .contact-form{gap:14px}.conversation-drawer textarea{min-height:92px}
}
@media(max-width:700px){
  .conversation-drawer{padding-bottom:calc(18px + env(safe-area-inset-bottom))}
  .conversation-submit-row{align-items:stretch;flex-direction:column}.conversation-submit-row button{width:100%;min-height:48px}.conversation-consent{max-width:none}
}

.legal-page{background:#fff}.legal-main{padding-top:48px}.legal-hero{padding:120px 0 72px;background:linear-gradient(145deg,#f7f7f9 0,#fff 68%,#eefaff 100%);border-bottom:1px solid #e8e8eb}
.legal-hero-inner{width:min(900px,calc(100% - 44px));margin:0 auto}.legal-hero h1{font-size:clamp(52px,7vw,94px);line-height:.94;letter-spacing:-.06em;margin:0 0 22px}.legal-hero p{font-size:20px;line-height:1.5;color:#6e6e73;max-width:760px;margin:0}
.legal-content{width:min(900px,calc(100% - 44px));margin:0 auto;padding:76px 0 110px}.legal-updated{font-size:12px;letter-spacing:.06em;text-transform:uppercase;color:#86868b;margin:0 0 42px}.legal-section{padding:0 0 42px;margin:0 0 42px;border-bottom:1px solid #ececef}.legal-section:last-child{border-bottom:0;margin-bottom:0;padding-bottom:0}.legal-section h2{font-size:clamp(28px,3vw,40px);line-height:1.05;letter-spacing:-.035em;margin:0 0 17px}.legal-section h3{font-size:20px;letter-spacing:-.02em;margin:28px 0 10px}.legal-section p,.legal-section li{color:#515154;line-height:1.68}.legal-section ul{padding-left:22px;margin:14px 0}.legal-section a{color:#0066cc}.legal-note{padding:22px 24px;border-radius:20px;background:#f5f5f7;color:#515154}.legal-company-card{display:grid;grid-template-columns:1fr 1fr;gap:18px;padding:26px;border:1px solid #e5e5e8;border-radius:24px;background:#fafafa}.legal-company-card strong,.legal-company-card span{display:block}.legal-company-card span{margin-top:5px;color:#6e6e73;font-size:14px;line-height:1.5}
.site-map-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.site-map-card{padding:24px;border:1px solid #e5e5e8;border-radius:22px;background:#fafafa}.site-map-card h2{font-size:25px;margin:0 0 14px}.site-map-card a{display:block;color:#0066cc;margin:8px 0}
@media(max-width:700px){.legal-hero-inner,.legal-content{width:min(100% - 30px,900px)}.legal-hero{padding:95px 0 58px}.legal-content{padding:58px 0 82px}.legal-company-card,.site-map-grid{grid-template-columns:1fr}}

/* v44 — UI consistency, responsive navigation, verified enquiry UX */

/* Keep the bottom legal footer exactly on the original Home-page geometry.
   All pages now use the same markup as Home; no site-footer band is imposed here. */
.legal-footer{
  font-size:11px;
  line-height:1.6;
  color:var(--muted);
  text-align:center;
}
.legal-footer .content-wide{width:min(1180px,calc(100% - 44px));margin-inline:auto}

/* Industry/location overview copy should use the same responsive full-width system as service pages. */
.industry-page .industry-copy,
.location-page .industry-copy{
  width:calc(100% - 48px);
  max-width:none;
  grid-template-columns:minmax(280px,.62fr) minmax(0,1.38fr);
  gap:clamp(44px,6vw,110px);
}
.industry-page .industry-copy .industry-body,
.location-page .industry-copy .industry-body{max-width:none;width:100%}
.industry-page .industry-support,
.location-page .industry-support{width:100%}

/* Email verification affordance. Green means syntax + receiving domain verification passed. */
.field.email-field{position:relative}
.field.email-field input{padding-right:38px}
.email-verify-indicator{
  position:absolute;
  right:2px;
  top:34px;
  width:22px;
  height:22px;
  border-radius:50%;
  display:grid;
  place-items:center;
  font-size:13px;
  line-height:1;
  font-weight:700;
  opacity:0;
  transform:scale(.8);
  transition:opacity .18s,transform .18s,background .18s,color .18s;
  pointer-events:none;
}
.email-verify-note{font-size:11px;line-height:1.35;min-height:15px;margin-top:-3px;color:#6e6e73}
.email-is-checking .email-verify-indicator{opacity:1;transform:scale(1);background:#f0f0f2;color:#6e6e73}
.email-is-valid .email-verify-indicator{opacity:1;transform:scale(1);background:#e6f7ed;color:#08783e}
.email-is-valid .email-verify-note{color:#08783e}
.email-is-invalid .email-verify-indicator{opacity:1;transform:scale(1);background:#fff0ee;color:#b42318}
.email-is-invalid .email-verify-note{color:#b42318}
.email-is-invalid input{border-color:#b42318!important}
.conversation-drawer .email-verify-indicator{right:13px;top:38px}
.conversation-drawer .email-field input{padding-right:46px}

/* Full-screen professional acknowledgement after a successful enquiry. */
.enquiry-success-overlay{
  position:fixed;
  inset:0;
  z-index:7000;
  display:grid;
  place-items:center;
  padding:20px;
  background:rgba(245,245,247,.58);
  backdrop-filter:blur(22px) saturate(.9);
  -webkit-backdrop-filter:blur(22px) saturate(.9);
  opacity:0;
  visibility:hidden;
  transition:opacity .28s ease,visibility .28s ease;
}
.enquiry-success-overlay.is-visible{opacity:1;visibility:visible}
.enquiry-success-card{
  width:min(680px,calc(100vw - 36px));
  padding:58px 48px 42px;
  border:1px solid rgba(0,0,0,.06);
  border-radius:34px;
  background:rgba(255,255,255,.94);
  box-shadow:0 28px 90px rgba(0,0,0,.16);
  text-align:center;
  transform:translateY(14px) scale(.985);
  transition:transform .32s cubic-bezier(.2,.7,.2,1);
}
.enquiry-success-overlay.is-visible .enquiry-success-card{transform:translateY(0) scale(1)}
.enquiry-success-mark{
  width:62px;
  height:62px;
  margin:0 auto 26px;
  border-radius:50%;
  display:grid;
  place-items:center;
  background:#e6f7ed;
  color:#08783e;
  font-size:31px;
  font-weight:700;
}
.enquiry-success-card h2{font-size:clamp(42px,6vw,72px);line-height:.96;letter-spacing:-.055em;margin:0 0 18px}
.enquiry-success-card p{font-size:clamp(18px,2vw,23px);line-height:1.4;color:#515154;margin:0}
.enquiry-success-progress{height:3px;margin:34px auto 0;max-width:260px;border-radius:999px;background:#e5e5e8;overflow:hidden}
.enquiry-success-progress span{display:block;width:100%;height:100%;background:#08783e;transform-origin:left;animation:enquiry-success-progress 2.55s linear forwards}
@keyframes enquiry-success-progress{from{transform:scaleX(0)}to{transform:scaleX(1)}}
body.enquiry-success-open{overflow:hidden}

/* Mobile navigation: stable half-screen drawer with accordion submenus.
   Important: the scrim stays OUTSIDE the drawer hit area, so it can never blur/block menu taps. */
.mobile-submenu{display:none}
@media(max-width:900px){
  .mega-layer{display:none!important}
  .global-nav{
    display:flex!important;
    position:fixed;
    top:48px;
    right:0;
    bottom:0;
    left:auto;
    width:50vw;
    min-width:0;
    height:calc(100dvh - 48px);
    margin:0;
    padding:10px 0 calc(24px + env(safe-area-inset-bottom));
    flex-direction:column;
    align-items:stretch;
    justify-content:flex-start;
    gap:0;
    background:#fff;
    border-left:1px solid #e5e5e8;
    box-shadow:-14px 0 34px rgba(0,0,0,.12);
    overflow-x:hidden;
    overflow-y:auto;
    -webkit-overflow-scrolling:touch;
    overscroll-behavior:contain;
    transform:translateX(102%);
    visibility:hidden;
    pointer-events:none;
    transition:transform .28s cubic-bezier(.2,.7,.2,1),visibility 0s linear .28s;
    z-index:10;
  }
  .global-nav.mobile-open{
    transform:translateX(0);
    visibility:visible;
    pointer-events:auto;
    transition:transform .28s cubic-bezier(.2,.7,.2,1),visibility 0s;
  }
  .global-nav .nav-item{
    display:block;
    width:100%;
    min-height:48px;
    padding:14px 40px 14px 16px;
    border-bottom:1px solid #e5e5e8;
    font-size:15px;
    line-height:1.28;
    color:#1d1d1f;
    white-space:normal;
    opacity:1!important;
    position:relative;
    cursor:pointer;
  }
  .global-nav .nav-item.has-mobile-submenu:after{
    content:'+';
    position:absolute;
    right:16px;
    top:50%;
    transform:translateY(-50%);
    font-size:20px;
    line-height:1;
    font-weight:300;
    color:#6e6e73;
    pointer-events:none;
  }
  .global-nav .nav-item.has-mobile-submenu[aria-expanded="true"]:after{content:'−'}
  .mobile-submenu{
    display:block;
    width:100%;
    max-height:0;
    overflow:hidden;
    opacity:0;
    pointer-events:none;
    padding:0;
    background:#f5f5f7;
    transition:max-height .30s ease,opacity .20s ease,padding .20s ease;
  }
  .mobile-submenu.is-open{
    max-height:900px;
    opacity:1;
    pointer-events:auto;
    padding:5px 0 9px;
  }
  .mobile-submenu:before{display:none!important;content:none!important}
  .mobile-submenu a{
    display:block;
    width:100%;
    min-height:40px;
    padding:10px 14px 10px 24px;
    font-size:12.5px;
    line-height:1.35;
    color:#515154;
    white-space:normal;
    overflow-wrap:anywhere;
  }
  .mobile-submenu a:active,.mobile-submenu a:focus{color:#0066cc;background:#ececef}
  .menu-toggle{z-index:12}
  .menu-toggle[aria-expanded="true"] span:first-child{transform:translateY(3px) rotate(45deg)}
  .menu-toggle[aria-expanded="true"] span:last-child{transform:translateY(-3px) rotate(-45deg)}
  .menu-toggle span{transition:transform .2s ease}
  .scrim.mobile-nav-scrim{
    position:fixed;
    top:48px;
    right:50vw;
    bottom:0;
    left:0;
    width:auto;
    height:auto;
    z-index:1;
    background:rgba(0,0,0,.18);
    backdrop-filter:none!important;
    -webkit-backdrop-filter:none!important;
  }
  body.mobile-nav-open{overflow:hidden;touch-action:none}
  body.mobile-nav-open .site-header{pointer-events:auto}
}

/* Contact page mobile reflow: hero, offices and form all fit the viewport cleanly. */
@media(max-width:700px){
  .legal-footer .content-wide{width:calc(100% - 30px)}
  .industry-page .industry-copy,
  .location-page .industry-copy{width:calc(100% - 30px);grid-template-columns:1fr;gap:28px}

  .contact-page .contact-hero{min-height:68svh;padding:82px 18px 54px}
  .contact-page .hero-content{width:100%}
  .contact-page .contact-hero h1{font-size:clamp(50px,14vw,70px);line-height:.92}
  .contact-page .hero-copy{font-size:19px;line-height:1.38;max-width:100%;margin-top:24px}
  .contact-page .landing-hero-actions{width:100%;margin-top:26px;gap:10px}
  .contact-page .landing-hero-actions a{font-size:16px}

  .contact-page .contact-workspace{
    width:100%;
    max-width:100%;
    min-width:0;
    padding:64px 15px 76px;
    grid-template-columns:minmax(0,1fr)!important;
    gap:54px;
  }
  .contact-page .office-column,
  .contact-page .write-column{min-width:0;max-width:100%}
  .contact-page .office-heading{margin-bottom:30px}
  .contact-page .section-heading h2,
  .contact-page .form-intro h2{font-size:clamp(40px,11vw,50px);line-height:1}
  .contact-page .section-heading>p:last-child,
  .contact-page .form-intro>p:last-child{font-size:17px}
  .contact-page .office-list{gap:14px}
  .contact-page .office-card{border-radius:24px}
  .contact-page .office-visual{padding:12px}
  .contact-page .office-illustration{min-height:180px;max-height:220px}
  .contact-page .office-body{padding:20px 20px 22px}
  .contact-page .office-card h3{font-size:28px}
  .contact-page .office-actions{gap:10px}
  .contact-page .office-arrow{width:100%;justify-content:center}

  .contact-page .write-column{width:100%;padding:24px 18px 22px;border-radius:24px}
  .contact-page .form-intro{margin-bottom:26px}
  .contact-page .contact-form{gap:16px}
  .contact-page .field input,
  .contact-page .field select,
  .contact-page .field textarea{padding-top:10px;padding-bottom:12px}
  .contact-page .field textarea{min-height:120px}
  .contact-page .form-footer{gap:14px;padding-top:4px}
  .contact-page .form-footer>div{width:100%}
  .contact-page .form-footer .pill-button{width:100%;min-height:50px;justify-content:center}

  .conversation-drawer{width:100vw;max-width:none}
  .enquiry-success-card{padding:44px 24px 34px;border-radius:28px}
  .enquiry-success-mark{width:56px;height:56px;font-size:28px;margin-bottom:22px}
}

/* v45 mobile end-to-end guardrails */
@media(max-width:900px){
  html,body{max-width:100%;overflow-x:hidden}
  main,section,article,header,footer,nav{max-width:100%}
  img,video,svg,canvas,iframe{max-width:100%}
  pre,code{max-width:100%;overflow-x:auto}
  .content-wide{max-width:100%}
  .site-header .header-shell{max-width:calc(100% - 30px)}
}
@media(max-width:480px){
  .global-nav{width:50vw}
  .global-nav .nav-item{padding-left:13px;padding-right:34px;font-size:14px}
  .mobile-submenu a{padding-left:18px;padding-right:10px;font-size:12px}
}
