
:root{--blue:#0759a8;--blue2:#073b73;--navy:#07172f;--navy2:#0d284d;--orange:#f58220;--orange2:#ffb06a;--ink:#0d1b2f;--muted:#66748a;--soft:#f3f7fb;--line:#dde6f0;--white:#fff;--radius:28px;--shadow:0 22px 70px rgba(7,23,47,.12)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Inter,Segoe UI,Arial,sans-serif;background:#fff;color:var(--ink);line-height:1.55}a{text-decoration:none;color:inherit}.siteHeader{position:sticky;top:0;background:rgba(255,255,255,.9);backdrop-filter:blur(16px);border-bottom:1px solid rgba(221,230,240,.8);z-index:50}.nav{max-width:1320px;margin:auto;padding:16px 24px;display:flex;align-items:center;gap:22px}.brand{display:flex;align-items:center;gap:12px;font-weight:900;white-space:nowrap;color:var(--navy)}.brand img{height:42px}.brand span{font-size:13px;background:#eef5fc;color:var(--blue);padding:7px 10px;border-radius:999px}.navLinks{flex:1;display:flex;align-items:center;justify-content:center;gap:4px}.navItem{position:relative}.navItem>button{border:0;background:transparent;font-weight:800;color:#233450;padding:12px 11px;cursor:pointer;border-radius:999px}.navItem:hover>button{background:#eef5fc;color:var(--blue)}.mega{display:none;position:absolute;top:45px;left:50%;transform:translateX(-50%);width:560px;background:#fff;border:1px solid var(--line);border-radius:26px;box-shadow:var(--shadow);padding:20px}.navItem:hover .mega{display:block}.megaTitle{font-size:13px;color:var(--orange);font-weight:900;letter-spacing:.1em;text-transform:uppercase;margin-bottom:12px}.megaGrid{display:grid;grid-template-columns:1fr 1fr;gap:8px}.mega a{padding:12px;border-radius:16px;display:block}.mega a:hover{background:#f4f8fc}.mega span{display:block;font-weight:900;color:var(--navy)}.mega small{display:block;color:var(--muted);font-size:12px}.navActions{display:flex;align-items:center;gap:7px}.lang{border:1px solid var(--line);background:#fff;border-radius:50%;width:35px;height:35px;font-weight:900;color:var(--blue);cursor:pointer}.lang.active{background:var(--blue);color:#fff;border-color:var(--blue)}.hamb{display:none;border:0;background:var(--navy);color:#fff;border-radius:14px;padding:10px}.btn{display:inline-flex;align-items:center;justify-content:center;border-radius:999px;background:linear-gradient(135deg,var(--orange),#ff9d43);color:#fff!important;font-weight:900;padding:15px 23px;box-shadow:0 14px 30px rgba(245,130,32,.26);border:0}.btn.small{padding:11px 17px;font-size:14px}.btn.ghost{background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.28);box-shadow:none}.btn.light{background:#fff;color:var(--blue)!important}.hero{position:relative;overflow:hidden;background:linear-gradient(135deg,#0a2242 0%,#0759a8 58%,#063b74 100%);color:#fff}.heroWrap{position:relative;z-index:2;max-width:1320px;margin:auto;padding:92px 24px;display:grid;grid-template-columns:1.02fr .98fr;gap:62px;align-items:center}.homeHero .heroWrap{padding:112px 24px 104px}.subHero .heroWrap{padding:88px 24px}.eyebrow{display:inline-flex;letter-spacing:.12em;text-transform:uppercase;font-size:12px;font-weight:1000;color:#ffd4b0;margin-bottom:16px}.eyebrow.orange{color:var(--orange)}h1,h2,h3{letter-spacing:-.04em}h1{font-size:clamp(44px,6vw,82px);line-height:.96;margin:0 0 22px}h2{font-size:clamp(34px,4.2vw,58px);line-height:1.02;margin:0 0 18px}h3{font-size:24px;line-height:1.12;margin:0 0 10px}.lead{font-size:21px;color:#dfeeff;max-width:720px}.heroBtns{display:flex;gap:14px;flex-wrap:wrap;margin-top:34px}.heroVisual{min-height:480px;position:relative}.heroVisual.large{min-height:540px}.photoBlob{position:absolute;inset:28px 18px 26px 34px;border-radius:42% 58% 43% 57% / 56% 38% 62% 44%;background:linear-gradient(135deg,#fff 0%,#dff0ff 50%,#ffead8 100%);box-shadow:0 45px 120px rgba(0,0,0,.28);overflow:hidden}.photoBlob:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 24% 18%,rgba(245,130,32,.45),transparent 22%),radial-gradient(circle at 74% 72%,rgba(7,89,168,.36),transparent 28%)}.abstractTeam{position:absolute;inset:0;display:flex;align-items:end;justify-content:center;gap:22px;padding-bottom:72px}.abstractTeam span{width:74px;height:210px;border-radius:50px 50px 18px 18px;background:linear-gradient(180deg,var(--blue),var(--navy));box-shadow:0 24px 42px rgba(7,23,47,.2);position:relative}.abstractTeam span:before{content:"";position:absolute;top:-62px;left:50%;transform:translateX(-50%);width:76px;height:76px;border-radius:50%;background:linear-gradient(135deg,#ffd9bd,#fff)}.abstractTeam span:nth-child(even){height:260px;background:linear-gradient(180deg,var(--orange),#e06f13)}.floatingCard{position:absolute;z-index:3;background:#fff;color:var(--navy);border-radius:22px;padding:16px 18px;box-shadow:var(--shadow);min-width:180px}.floatingCard b{display:block;font-size:24px}.floatingCard small{color:var(--muted);font-weight:700}.fc1{top:26px;left:0}.fc2{right:0;bottom:70px}.fc3{left:68px;bottom:12px}.orb{position:absolute;border-radius:50%;filter:blur(2px);opacity:.7}.orb1{width:340px;height:340px;background:rgba(245,130,32,.32);right:7%;top:8%}.orb2{width:280px;height:280px;background:rgba(255,255,255,.11);left:-70px;bottom:10%}.orb3{width:190px;height:190px;background:rgba(255,176,106,.32);left:47%;top:10%}.section{max-width:1320px;margin:auto;padding:84px 24px}.section.soft{background:var(--soft);max-width:none;padding-left:max(20px,calc((100% - 1320px)/2 + 24px));padding-right:max(20px,calc((100% - 1320px)/2 + 24px))}.section.dark{background:var(--navy);color:#fff;max-width:none;padding-left:max(20px,calc((100% - 1320px)/2 + 24px));padding-right:max(20px,calc((100% - 1320px)/2 + 24px))}.section.dark p{color:#c9d7e8}.split{display:grid;grid-template-columns:1.1fr .9fr;gap:52px;align-items:center}.intro p,.sectionHead p{font-size:20px;color:var(--muted)}.storyCopy p{font-size:18px;color:var(--muted);line-height:1.7;margin:0 0 18px}.storyCopy p:last-child{margin-bottom:0}.sectionHead{max-width:850px;margin-bottom:32px}.statsPanel{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:18px;box-shadow:var(--shadow);display:grid;gap:12px}.statsPanel div{padding:20px;border-radius:20px;background:#f7fbff}.statsPanel strong{display:block;font-size:36px;color:var(--blue);line-height:1}.statsPanel span{font-weight:800;color:var(--muted)}.logoStrip{display:flex;gap:18px;justify-content:center;align-items:center;flex-wrap:wrap;padding-top:34px;padding-bottom:34px}.logoStrip span{background:#fff;border:1px solid var(--line);box-shadow:0 10px 30px rgba(7,23,47,.06);border-radius:999px;padding:13px 22px;font-weight:900;color:#50617a}.cardGrid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}.featureCard{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:28px;box-shadow:0 16px 44px rgba(7,23,47,.07);transition:.2s}.featureCard:hover{transform:translateY(-5px);box-shadow:var(--shadow)}.cardIcon{width:56px;height:56px;border-radius:18px;background:linear-gradient(135deg,var(--blue),var(--blue2));color:#fff;display:grid;place-items:center;font-weight:1000;margin-bottom:22px}.featureCard p{color:var(--muted)}.serviceTiles{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}.serviceTiles a{background:#fff;border:1px solid var(--line);border-radius:26px;padding:26px;min-height:180px;display:flex;flex-direction:column;justify-content:space-between;box-shadow:0 16px 44px rgba(7,23,47,.07);transition:.2s}.serviceTiles a:hover{transform:translateY(-6px);border-color:#ffc896}.serviceTiles b{font-size:24px;color:var(--navy)}.serviceTiles span{color:var(--muted);font-weight:700}.process{display:grid;grid-template-columns:.9fr 1.1fr;gap:40px;align-items:center;background:#fff;border:1px solid var(--line);border-radius:36px;padding:40px;box-shadow:var(--shadow)}.process p{color:var(--muted);font-size:18px}.steps{display:grid;grid-template-columns:1fr 1fr;gap:18px}.steps div{border-radius:24px;background:#f5f9fd;padding:24px}.steps b{display:block;color:var(--orange);font-size:30px}.steps span{font-weight:900;color:var(--navy);font-size:19px}.caseGrid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}.caseGrid article{background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.14);border-radius:28px;padding:28px}.caseGrid span{font-size:12px;color:#ffcfab;letter-spacing:.1em;text-transform:uppercase;font-weight:1000}.contactGrid{display:grid;grid-template-columns:.85fr 1.15fr;gap:44px}.contactCards{display:grid;gap:16px;margin-top:30px}.contactCards div{background:#fff;border:1px solid var(--line);border-radius:22px;padding:22px;box-shadow:0 14px 34px rgba(7,23,47,.06)}.contactCards b{display:block;font-size:22px;color:var(--blue)}.contactForm{background:#fff;border:1px solid var(--line);border-radius:32px;padding:28px;box-shadow:var(--shadow);display:grid;gap:14px}.contactFormHoneypot{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}.contactFormNotice{margin:0 0 18px;padding:14px 16px;border-radius:16px;font-weight:700;font-size:15px;line-height:1.45}.contactFormNotice.success{background:#ecf8ef;border:1px solid #b9e0c3;color:#1f5f34}.contactFormNotice.error{background:#fff3f0;border:1px solid #f0c4bc;color:#8a2f24}.contactForm input,.contactForm select,.contactForm textarea{font:inherit;border:1px solid var(--line);border-radius:16px;padding:15px;background:#f8fbfe}.contactForm textarea{min-height:160px}.siteFooter{background:var(--navy);color:#c7d7ea}.footerCta{max-width:1320px;margin:auto;padding:58px 24px;border-bottom:1px solid rgba(255,255,255,.1);display:flex;align-items:center;justify-content:space-between;gap:30px}.footerCta h2{font-size:42px;color:#fff}.footerCta p{font-size:18px;color:#d2e0ef}.footerGrid{max-width:1320px;margin:auto;padding:48px 24px;display:grid;grid-template-columns:1.3fr repeat(4,1fr);gap:34px}.footerLogo{display:block;height:52px;width:auto;max-width:220px;margin-bottom:4px;background:transparent;border-radius:0;padding:0}.siteFooter h4{color:#fff;margin:0 0 14px}.siteFooter a{display:block;color:#c7d7ea;margin:9px 0}.siteFooter p{max-width:290px}.reveal{opacity:0;transform:translateY(18px);transition:.6s}.reveal.visible{opacity:1;transform:none}@media(max-width:1080px){.navLinks{display:none}.hamb{display:block}.heroWrap,.split,.process,.contactGrid{grid-template-columns:1fr}.heroVisual{min-height:420px}.cardGrid,.serviceTiles,.caseGrid{grid-template-columns:1fr 1fr}.footerGrid{grid-template-columns:1fr 1fr}.footerCta{display:block}.brand span{display:none}}@media(max-width:640px){.nav{padding:12px 16px}.brand img{height:34px}.heroWrap{padding:64px 18px}.heroVisual{min-height:330px}.floatingCard{display:none}.section,.section.soft,.section.dark{padding:58px 18px}.cardGrid,.serviceTiles,.caseGrid,.steps,.footerGrid{grid-template-columns:1fr}.photoBlob{inset:20px}.abstractTeam span{width:48px;height:150px}.abstractTeam span:before{width:54px;height:54px;top:-44px}.lead{font-size:18px}h1{font-size:42px}.process{padding:24px}}
.faqList{display:grid;gap:14px;max-width:900px}.faqSpotlight{background:linear-gradient(180deg,#f4f9ff 0%,#fff 100%);padding-top:58px}.faqSpotlight .faqItem:first-child{border-color:rgba(7,89,168,.18);box-shadow:0 16px 44px rgba(7,89,168,.08)}.faqItem{background:#fff;border:1px solid var(--line);border-radius:20px;padding:24px 28px;box-shadow:0 10px 30px rgba(7,23,47,.05)}.faqItem h3{margin:0 0 8px;font-size:20px;color:var(--navy)}.faqItem p{margin:0;color:var(--muted);font-size:17px}
.quoteBlock{background:linear-gradient(135deg,var(--navy),var(--blue2));color:#fff;border-radius:var(--radius);padding:48px;position:relative;overflow:hidden}.quoteBlock:before{content:"\201C";position:absolute;top:-20px;left:24px;font-size:180px;opacity:.12;line-height:1}.quoteBlock p{font-size:22px;line-height:1.5;margin:0 0 20px;position:relative;z-index:1}.quoteBlock cite{display:block;font-style:normal;font-weight:900;color:#ffcfab;position:relative;z-index:1}
.articleGrid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.articleCard{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:28px;box-shadow:0 16px 44px rgba(7,23,47,.07);transition:.2s;display:block;color:inherit;text-decoration:none}.articleCard:hover{transform:translateY(-4px);box-shadow:var(--shadow)}.articleCard .tag{font-size:11px;font-weight:1000;letter-spacing:.1em;text-transform:uppercase;color:var(--orange)}.articleCard h3{font-size:22px;margin:10px 0}.articleCard p{color:var(--muted);font-size:16px;margin:0 0 16px}.articleCard .readMore{font-weight:900;color:var(--blue);font-size:14px}
.testimonialGrid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.testimonialCard{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:32px;box-shadow:0 16px 44px rgba(7,23,47,.07)}.testimonialCard p{color:var(--muted);font-size:17px;margin:0 0 20px;font-style:italic}.testimonialCard .author strong{display:block;color:var(--navy);font-size:18px}.testimonialCard .author span{color:var(--muted);font-size:14px;font-weight:700}
.industryList{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:24px}.industryList a{background:#fff;border:1px solid var(--line);border-radius:20px;padding:22px 24px;transition:.2s;display:block}.industryList a:hover{border-color:var(--orange);transform:translateY(-3px)}.industryList b{display:block;font-weight:900;color:var(--navy);font-size:20px;margin-bottom:8px}.industryList span{display:block;color:var(--muted);font-weight:600;font-size:15px;line-height:1.5}
.valueProp{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.valueProp div{background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.14);border-radius:24px;padding:28px}.valueProp strong{display:block;font-size:42px;color:var(--orange);line-height:1;margin-bottom:8px}.valueProp span{font-weight:800;font-size:18px}
.legalContent{max-width:800px}.legalContent h2{font-size:28px;margin:36px 0 14px}.legalContent h2:first-of-type{margin-top:0}.legalContent h3{font-size:20px;margin:28px 0 10px;color:var(--navy)}.legalContent p,.legalContent li{color:var(--muted);font-size:17px;line-height:1.7}.legalContent ul{padding-left:24px}.legalDomainList{list-style:none;padding:0;margin:16px 0 24px;display:grid;grid-template-columns:repeat(2,1fr);gap:8px}.legalDomainList li{background:#fff;border:1px solid var(--line);border-radius:12px;padding:12px 16px;font-weight:800;color:var(--navy);font-size:15px}.legalUpdated{margin-top:36px;padding-top:24px;border-top:1px solid var(--line)}.legalTable{width:100%;border-collapse:collapse;margin:20px 0 28px;font-size:15px}.legalTable th,.legalTable td{border:1px solid var(--line);padding:12px 14px;text-align:left;vertical-align:top}.legalTable th{background:#f7f9fc;color:var(--navy);font-weight:800}.legalTable td{color:var(--muted);line-height:1.55}@media(max-width:640px){.legalDomainList{grid-template-columns:1fr}}
.industryDetail{max-width:100%}.industryDetail h3{font-size:clamp(28px,3vw,36px);color:var(--navy);margin:0 0 20px}.industryDetail p{color:var(--muted);font-size:18px;line-height:1.7;margin:0 0 20px}.industryDetail strong{color:var(--navy)}.expertiseList{display:grid;grid-template-columns:repeat(2,1fr);gap:12px 28px;margin:28px 0 32px;padding:32px;background:#fff;border:1px solid var(--line);border-radius:var(--radius);box-shadow:0 16px 44px rgba(7,23,47,.07);list-style:none}.expertiseList li{color:var(--navy);font-weight:700;font-size:16px;line-height:1.45;padding:10px 0 10px 20px;position:relative;border-bottom:1px solid var(--line)}.expertiseList li:before{content:"";position:absolute;left:0;top:16px;width:8px;height:8px;border-radius:50%;background:var(--orange)}@media(max-width:640px){.expertiseList{grid-template-columns:1fr;padding:24px}}
.officeLocationList{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-bottom:40px}.officeLocationList.twoCol{grid-template-columns:repeat(2,1fr)}.officeLocationList.oneCol{grid-template-columns:1fr;max-width:560px}.contactDetails{display:grid;grid-template-columns:repeat(2,1fr);gap:18px;max-width:920px}.contactDetailItem{background:#fff;border:1px solid var(--line);border-radius:22px;padding:22px 24px;box-shadow:0 12px 32px rgba(7,23,47,.06)}.contactDetailItem span{display:block;font-size:12px;font-weight:1000;letter-spacing:.08em;text-transform:uppercase;color:var(--orange);margin-bottom:8px}.contactDetailItem strong{font-size:18px;color:var(--navy)}.contactDetailItem a{color:var(--blue)}.contactDetailItem a:hover{text-decoration:underline}@media(max-width:1080px){.contactDetails{grid-template-columns:1fr}}.officeLocationCard{background:#fff;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;box-shadow:0 16px 44px rgba(7,23,47,.07);display:flex;flex-direction:column}.officeLocationBody{padding:28px 28px 20px;flex:1}.officeLocationCard .tag{font-size:11px;font-weight:1000;letter-spacing:.1em;text-transform:uppercase;color:var(--orange);display:inline-block;margin-bottom:10px}.officeLocationCard h3{margin:0 0 8px;color:var(--navy);font-size:22px}.officeLocationCard .address{color:var(--muted);font-size:17px;line-height:1.6;margin:0 0 12px}.officeLocationCard .role{color:var(--navy);font-weight:800;font-size:15px;margin:0}.officeMap{margin-top:auto;border-top:1px solid var(--line)}.officeMap iframe{display:block;width:100%;height:240px;border:0}.worldMapOverview{background:#fff;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;box-shadow:0 16px 44px rgba(7,23,47,.07)}.worldMapCanvas{height:460px;width:100%;background:#e8eef5;z-index:1}.worldMapLegend{display:flex;gap:24px;flex-wrap:wrap;padding:16px 20px;border-top:1px solid var(--line);font-size:14px;font-weight:800;color:var(--navy)}.worldMapLegend span{display:inline-flex;align-items:center;gap:8px}.worldMapLegend .dot{width:12px;height:12px;border-radius:50%;background:var(--orange);box-shadow:0 0 0 3px rgba(255,122,0,.2)}.officeMarker{background:transparent;border:0}.officeMarker span{display:block;width:20px;height:20px;background:var(--orange);border:3px solid #fff;border-radius:50%;box-shadow:0 4px 14px rgba(7,23,47,.35)}.leaflet-popup-content-wrapper{border-radius:12px;box-shadow:0 12px 32px rgba(7,23,47,.15)}.leaflet-popup-content{margin:12px 14px;font-size:14px;line-height:1.5;color:var(--navy)}.leaflet-popup-content strong{font-size:15px}.leaflet-popup-content em{color:var(--muted);font-style:normal;font-size:13px}.mapGrid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.mapEmbed{background:#fff;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;box-shadow:0 16px 44px rgba(7,23,47,.07)}.mapEmbed h4{margin:0;padding:16px 18px 0;font-size:16px;color:var(--navy)}.mapEmbed iframe{display:block;width:100%;height:260px;border:0}@media(max-width:1080px){.officeLocationList{grid-template-columns:1fr}.worldMapCanvas{height:360px}}
@media(max-width:640px){.articleGrid,.testimonialGrid,.valueProp,.industryList{grid-template-columns:1fr}}
.serviceExplainGrid{display:grid;grid-template-columns:1.05fr .95fr;gap:40px;align-items:center;margin-bottom:36px}.serviceExplainGrid.reverse{grid-template-columns:.95fr 1.05fr}.serviceExplainGrid.reverse .serviceVisual{order:-1}.serviceExplainCopy p{color:var(--muted);font-size:18px;line-height:1.7;margin:0 0 16px}.serviceExplainCopy p:last-child{margin-bottom:0}.serviceExplainCopy h3{font-size:24px;color:var(--navy);margin:0 0 14px}.serviceVisual{background:linear-gradient(145deg,#fff 0%,#e8f2fc 55%,#ffead8 100%);border:1px solid var(--line);border-radius:var(--radius);padding:28px;box-shadow:0 16px 44px rgba(7,23,47,.07);min-height:300px;display:flex;align-items:center;justify-content:center}.serviceVisual svg{width:100%;max-width:420px;height:auto;display:block}.serviceVisual.dark{background:linear-gradient(145deg,var(--navy),var(--blue2))}.serviceVisual.dark svg text{fill:#fff}.chartPanel{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:28px;box-shadow:0 16px 44px rgba(7,23,47,.07)}.chartPanel h4{margin:0 0 20px;font-size:20px;color:var(--navy)}.barChart{display:grid;gap:14px}.barRow{display:grid;grid-template-columns:140px 1fr 48px;gap:12px;align-items:center}.barRow label{font-size:14px;font-weight:800;color:var(--navy)}.barTrack{height:12px;background:#eef4fa;border-radius:999px;overflow:hidden}.barFill{height:100%;border-radius:999px;background:linear-gradient(90deg,var(--blue),var(--orange))}.barRow strong{font-size:14px;color:var(--blue);text-align:right}.metricCards{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin:32px 0}.metricCard{background:#fff;border:1px solid var(--line);border-radius:22px;padding:24px;text-align:center;box-shadow:0 12px 32px rgba(7,23,47,.06)}.metricCard strong{display:block;font-size:38px;color:var(--orange);line-height:1;margin-bottom:8px}.metricCard span{font-weight:800;color:var(--navy);font-size:15px}.useCaseGrid{display:grid;grid-template-columns:repeat(2,1fr);gap:18px;margin-top:28px}.useCaseCard{background:#fff;border:1px solid var(--line);border-radius:22px;padding:24px;box-shadow:0 12px 32px rgba(7,23,47,.06)}.useCaseCard .tag{font-size:11px;font-weight:1000;letter-spacing:.1em;text-transform:uppercase;color:var(--orange);display:block;margin-bottom:8px}.useCaseCard h4{margin:0 0 10px;font-size:19px;color:var(--navy)}.useCaseCard p{margin:0;color:var(--muted);font-size:16px;line-height:1.6}.serviceDetailBlock{margin-bottom:48px}.serviceDetailBlock:last-child{margin-bottom:0}@media(max-width:1080px){.serviceExplainGrid,.serviceExplainGrid.reverse{grid-template-columns:1fr}.serviceExplainGrid.reverse .serviceVisual{order:0}.metricCards{grid-template-columns:1fr}.useCaseGrid{grid-template-columns:1fr}.barRow{grid-template-columns:1fr;gap:6px}.barRow strong{text-align:left}}
.megaWide{width:680px}.csHero{position:relative;overflow:hidden;background:linear-gradient(135deg,#061528 0%,#0759a8 55%,#063b74 100%);color:#fff;padding:0}.csHeroInner{max-width:1320px;margin:auto;padding:72px 24px 0;display:grid;grid-template-columns:1fr 1.15fr;gap:48px;align-items:end}.csHeroCopy{padding-bottom:48px}.csHeroCopy .csNum{font-size:13px;font-weight:1000;letter-spacing:.14em;text-transform:uppercase;color:#ffcfab;margin-bottom:14px;display:block}.csHeroCopy h1{font-size:clamp(36px,4.5vw,58px);margin:0 0 16px;line-height:1.02}.csHeroCopy .csSubtitle{font-size:20px;color:#c9dff5;line-height:1.5;margin:0 0 24px;max-width:560px}.csHeroMeta{display:flex;gap:28px;flex-wrap:wrap}.csHeroMeta div strong{display:block;font-size:28px;color:#fff;line-height:1}.csHeroMeta div span{font-size:13px;font-weight:800;color:#9ec4ea}.csHeroShot{background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.14);border-radius:24px 24px 0 0;padding:14px 14px 0;box-shadow:0 -20px 80px rgba(0,0,0,.25)}.csHeroShot svg,.csHeroShot img{display:block;width:100%;height:auto;border-radius:12px 12px 0 0} .csHeroShot--photo{width:100%;max-width:1078px;justify-self:end;margin-left:auto}.csHeroShot--photo img{width:100%;max-height:629px;height:auto;aspect-ratio:auto;object-fit:cover;object-position:top center}.csBlock{padding:84px 24px;max-width:1320px;margin:auto}.csBlock.soft{background:var(--soft);max-width:none;padding-left:max(20px,calc((100% - 1320px)/2 + 24px));padding-right:max(20px,calc((100% - 1320px)/2 + 24px))}.csBlock.dark{background:var(--navy);color:#fff;max-width:none;padding-left:max(20px,calc((100% - 1320px)/2 + 24px));padding-right:max(20px,calc((100% - 1320px)/2 + 24px))}.csBlock.dark p{color:#c9d7e8}.csBlockHead{max-width:820px;margin-bottom:36px}.csBlockHead p{font-size:19px;color:var(--muted)}.csBlock.dark .csBlockHead p{color:#c9d7e8}.csExecGrid{display:grid;grid-template-columns:1.1fr .9fr;gap:40px;align-items:start}.csExecBox{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:36px;box-shadow:var(--shadow)}.csExecBox p{color:var(--muted);font-size:18px;line-height:1.75;margin:0 0 18px}.csExecBox p:last-child{margin:0}.csHighlightPanel{background:linear-gradient(145deg,var(--navy),var(--blue2));color:#fff;border-radius:var(--radius);padding:32px}.csHighlightPanel h4{margin:0 0 16px;font-size:18px;color:#ffcfab}.csHighlightPanel ul{margin:0;padding:0;list-style:none}.csHighlightPanel li{padding:10px 0;border-bottom:1px solid rgba(255,255,255,.12);font-weight:700;font-size:15px}.csChallengeGrid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}.csChallengeItem{background:#fff;border:1px solid var(--line);border-radius:20px;padding:22px 24px;display:flex;gap:14px;align-items:flex-start;box-shadow:0 10px 30px rgba(7,23,47,.05)}.csChallengeItem:before{content:"";width:10px;height:10px;border-radius:50%;background:var(--orange);margin-top:7px;flex-shrink:0}.csChallengeItem p{margin:0;color:var(--navy);font-weight:700;font-size:16px;line-height:1.5}.csCheckGrid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}.csCheckItem{background:#fff;border:1px solid var(--line);border-radius:18px;padding:18px 20px;font-weight:800;color:var(--navy);font-size:15px;display:flex;gap:12px;align-items:center;box-shadow:0 8px 24px rgba(7,23,47,.05)}.csCheckItem:before{content:"✓";width:28px;height:28px;border-radius:50%;background:linear-gradient(135deg,var(--orange),#ff9d43);color:#fff;display:grid;place-items:center;font-size:14px;font-weight:1000;flex-shrink:0}.csAiGrid{display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:center}.csAiList{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:20px}.csAiList span{background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.14);border-radius:14px;padding:14px 16px;font-weight:700;font-size:14px;color:#fff}.csBlock.dark .csAiList span{background:rgba(255,255,255,.06)}.csArchPanel{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:36px;box-shadow:var(--shadow)}.csArchPanel svg{width:100%;max-width:520px;margin:auto;display:block}.csArchLayers{display:grid;gap:10px;margin-top:28px}.csArchLayer{display:flex;align-items:center;gap:16px;padding:14px 18px;background:#f7fbff;border-radius:14px;border:1px solid var(--line)}.csArchLayer b{min-width:28px;height:28px;border-radius:8px;background:var(--blue);color:#fff;display:grid;place-items:center;font-size:12px}.csArchLayer span{font-weight:800;color:var(--navy);font-size:15px}.csTimeline{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;position:relative}.csTimeline:before{content:"";position:absolute;top:28px;left:8%;right:8%;height:3px;background:linear-gradient(90deg,var(--blue),var(--orange));opacity:.25}.csTimelineItem{background:#fff;border:1px solid var(--line);border-radius:22px;padding:24px;box-shadow:0 12px 32px rgba(7,23,47,.06);position:relative}.csTimelineItem .phase{font-size:11px;font-weight:1000;letter-spacing:.1em;text-transform:uppercase;color:var(--orange)}.csTimelineItem h4{margin:8px 0 6px;font-size:18px;color:var(--navy)}.csTimelineItem .when{font-size:13px;font-weight:800;color:var(--blue);margin-bottom:10px}.csTimelineItem p{margin:0;color:var(--muted);font-size:14px;line-height:1.55}.csTechGrid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.csTechGroup{background:#fff;border:1px solid var(--line);border-radius:22px;padding:24px;box-shadow:0 12px 32px rgba(7,23,47,.06)}.csTechGroup h4{margin:0 0 14px;font-size:16px;color:var(--navy)}.csTechPills{display:flex;flex-wrap:wrap;gap:8px}.csTechPills span{background:#eef5fc;color:var(--blue);font-weight:800;font-size:13px;padding:8px 14px;border-radius:999px}.csResultsGrid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}.csResultItem{background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.14);border-radius:18px;padding:20px 22px;font-weight:800;font-size:16px;color:#fff;display:flex;gap:12px;align-items:center}.csResultItem:before{content:"✔";color:var(--orange);font-size:18px}.csKpiSection{display:grid;grid-template-columns:1fr 1fr;gap:32px;align-items:start}.csKpiCounters{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}.csKpiCounter{background:#fff;border:1px solid var(--line);border-radius:22px;padding:28px;text-align:center;box-shadow:0 12px 32px rgba(7,23,47,.06)}.csKpiCounter .val{display:block;font-size:48px;font-weight:1000;color:var(--blue);line-height:1;margin-bottom:8px}.csKpiCounter span{font-weight:800;color:var(--navy);font-size:14px}.csQuoteLarge{background:linear-gradient(135deg,#fff,#f3f8fd);border:1px solid var(--line);border-radius:var(--radius);padding:48px 52px;box-shadow:var(--shadow);position:relative}.csQuoteLarge:before{content:"\201C";position:absolute;top:-10px;left:28px;font-size:140px;color:var(--blue);opacity:.12;line-height:1;font-weight:1000}.csQuoteLarge p{font-size:24px;line-height:1.55;color:var(--navy);margin:0 0 24px;font-style:italic;position:relative;z-index:1}.csQuoteLarge cite{display:block;font-style:normal;font-weight:900;color:var(--blue);position:relative;z-index:1}.csQuoteLarge cite small{display:block;font-weight:700;color:var(--muted);font-size:14px;margin-top:4px}.csCtaBand{background:linear-gradient(135deg,var(--navy),var(--blue2));border-radius:36px;padding:52px 56px;display:flex;align-items:center;justify-content:space-between;gap:32px;color:#fff;box-shadow:var(--shadow)}.csCtaBand h2{margin:0 0 10px;font-size:clamp(28px,3vw,40px);color:#fff}.csCtaBand p{margin:0;color:#c9dff5;font-size:18px;max-width:560px}.csPipeline{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin-top:24px}.csPipelineStep{background:#fff;border:1px solid var(--line);border-radius:14px;padding:12px 16px;font-weight:800;font-size:13px;color:var(--navy);box-shadow:0 8px 20px rgba(7,23,47,.06);animation:csFadeUp .6s ease both}.csPipelineStep:after{content:"→";margin-left:10px;color:var(--orange);font-weight:1000}.csPipelineStep:last-child:after{content:""}.csPreviewGrid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.csPreviewCard{background:#fff;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;box-shadow:0 16px 44px rgba(7,23,47,.07);transition:.2s;display:block;color:inherit}.csPreviewCard:hover{transform:translateY(-6px);box-shadow:var(--shadow)}.csPreviewThumb{height:180px;background:linear-gradient(145deg,#e8f2fc,#ffead8);display:flex;align-items:center;justify-content:center;padding:16px}.csPreviewThumb svg{width:100%;max-height:150px}.csPreviewBody{padding:24px}.csPreviewBody .num{font-size:11px;font-weight:1000;letter-spacing:.1em;text-transform:uppercase;color:var(--orange)}.csPreviewBody h3{margin:8px 0 10px;font-size:22px;color:var(--navy)}.csPreviewBody p{margin:0;color:var(--muted);font-size:15px;line-height:1.55}.csPreviewBody .link{font-weight:900;color:var(--blue);font-size:14px;margin-top:14px;display:inline-block}@keyframes csFadeUp{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}.newsFeedToolbar{display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap;margin-bottom:28px}.newsFeedToolbar p{margin:0;color:var(--muted);font-size:15px;font-weight:700}.newsFeedRefresh{border:1px solid var(--line);background:#fff;border-radius:999px;padding:10px 18px;font-weight:800;color:var(--blue);cursor:pointer;font-size:14px}.newsFeedRefresh:disabled{opacity:.5;cursor:not-allowed}.newsFeedCard time.newsDate{display:block;font-size:12px;font-weight:800;color:var(--muted);margin:4px 0 10px}.newsFeedCard h3 a{color:var(--navy)}.newsFeedCard h3 a:hover{color:var(--blue)}.newsFeedLoading,.newsFeedError{grid-column:1/-1;background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:40px;text-align:center;color:var(--muted);font-weight:700;box-shadow:0 12px 32px rgba(7,23,47,.06)}@media(max-width:1080px){.csHeroInner,.csExecGrid,.csAiGrid,.csKpiSection{grid-template-columns:1fr}.csTimeline{grid-template-columns:1fr 1fr}.csTimeline:before{display:none}.csTechGrid,.csPreviewGrid{grid-template-columns:1fr}.csCtaBand{display:block;text-align:center}.csCtaBand p{margin:auto}.csHeroShot--photo{width:100%;max-width:944px;justify-self:center;margin:0 auto}.csHeroShot--photo img{max-height:494px}}@media(max-width:640px){.csChallengeGrid,.csCheckGrid,.csAiList,.csResultsGrid,.csKpiCounters,.csTimeline{grid-template-columns:1fr}.csBlock,.csBlock.soft,.csBlock.dark{padding:58px 18px}.csQuoteLarge{padding:32px 28px}.csQuoteLarge p{font-size:19px}.csHeroShot--photo{width:100%;max-width:none}.csHeroShot--photo img{max-height:404px}}
.homeHeroFaqLink{display:inline-flex;flex-direction:column;gap:4px;margin-top:26px;padding:14px 18px;border-radius:18px;border:1px solid rgba(255,255,255,.28);background:rgba(255,255,255,.1);box-shadow:0 14px 34px rgba(0,0,0,.12);max-width:460px;transition:transform .18s ease,background .18s ease,border-color .18s ease}.homeHeroFaqLink:hover{transform:translateY(-2px);background:rgba(255,255,255,.16);border-color:rgba(255,255,255,.42)}.homeHeroFaqLinkLabel{font-weight:800;color:#fff;font-size:17px;line-height:1.25}.homeHeroFaqLinkHint{color:rgba(255,255,255,.82);font-size:14px;line-height:1.35}.homeHeroFaqLinkLabel::after{content:" →";color:var(--orange)}.hero .heroBtns{margin-top:22px}.homeStoryStack{display:grid;gap:34px;margin-top:58px}.homeStoryBlock{display:grid;grid-template-columns:minmax(280px,1.05fr) minmax(280px,.95fr);gap:clamp(28px,4vw,52px);align-items:center;padding:28px;background:#fff;border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow)}.homeStoryBlock.reverse .homeStoryMedia{order:2}.homeStoryBlock.reverse .homeStoryCopy{order:1}.homeStoryMedia{margin:0;border-radius:22px;overflow:hidden;line-height:0;background:#eef5fc}.homeStoryMedia img{display:block;width:100%;height:100%;min-height:280px;object-fit:cover;object-position:center}.homeStoryCopy h3{margin:10px 0 14px;font-size:clamp(24px,2.4vw,32px);line-height:1.15;color:var(--navy)}.homeStoryCopy p{margin:0;color:#4d6078;max-width:52ch}@media(max-width:900px){.homeStoryBlock,.homeStoryBlock.reverse{grid-template-columns:1fr}.homeStoryBlock.reverse .homeStoryMedia,.homeStoryBlock.reverse .homeStoryCopy{order:unset}.homeStoryMedia img{min-height:240px}}

/* Full-bleed sections: prevent negative horizontal padding below 1320px */
.section.soft,
.section.dark {
  padding-left: max(20px, calc((100% - 1320px) / 2 + 24px));
  padding-right: max(20px, calc((100% - 1320px) / 2 + 24px));
}
.csBlock.soft,
.csBlock.dark {
  padding-left: max(20px, calc((100% - 1320px) / 2 + 24px));
  padding-right: max(20px, calc((100% - 1320px) / 2 + 24px));
}

/* Mobile navigation overlay */
@media (max-width: 1080px) {
  body.navOpen {
    overflow: hidden;
  }

  /* backdrop-filter creates a containing block that traps position:fixed children */
  body.navOpen .siteHeader {
    z-index: 300;
    backdrop-filter: none;
    -webkit-backdrop-filter: none;
    background: #fff;
  }

  .navLinks.open {
    display: flex !important;
    flex-direction: column;
    position: fixed;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 100%;
    max-height: 100dvh;
    z-index: 200;
    background: #fff;
    padding: 76px 20px 32px;
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
    align-items: stretch;
    justify-content: flex-start;
    gap: 0;
  }

  .navLinks.open .navItem {
    width: 100%;
    border-bottom: 1px solid var(--line);
  }

  .navLinks.open .navItem > button {
    width: 100%;
    text-align: left;
    padding: 16px 4px;
    font-size: 17px;
  }

  .navLinks.open .mega {
    display: block;
    position: static;
    transform: none;
    width: 100%;
    max-width: none;
    box-shadow: none;
    border: 0;
    border-radius: 0;
    padding: 0 0 14px;
    margin-bottom: 4px;
  }

  .navLinks.open .megaWide {
    width: 100%;
  }

  .navLinks.open .megaGrid {
    grid-template-columns: 1fr;
  }

  .hamb {
    position: relative;
    z-index: 210;
    min-width: 44px;
    min-height: 44px;
    cursor: pointer;
    font-size: 20px;
    line-height: 1;
  }

  body.navOpen .hamb {
    position: fixed;
    top: 14px;
    right: 16px;
  }

  .section,
  .section.soft,
  .section.dark,
  .heroWrap,
  .subHero .heroWrap,
  .csBlock,
  .csBlock.soft,
  .csBlock.dark,
  .footerCta,
  .footerGrid,
  .csHeroInner {
    padding-left: max(24px, env(safe-area-inset-left, 0px)) !important;
    padding-right: max(24px, env(safe-area-inset-right, 0px)) !important;
  }

  .nav {
    gap: 10px;
    padding-left: max(16px, env(safe-area-inset-left, 0px));
    padding-right: max(16px, env(safe-area-inset-right, 0px));
  }

  .navActions {
    gap: 6px;
    margin-left: auto;
  }

  .navActions .btn.small {
    display: none;
  }

  .cardGrid {
    grid-template-columns: 1fr;
  }

  .process {
    padding: 24px 20px;
  }

  .featureCard,
  .serviceTiles a,
  .contactForm,
  .contactCards div,
  .homeStoryBlock {
    padding-left: 20px;
    padding-right: 20px;
  }

  .intro p,
  .sectionHead p,
  .lead,
  .storyCopy p,
  .homeStoryCopy p {
    overflow-wrap: anywhere;
  }
}

@media (max-width: 640px) {
  .section,
  .section.soft,
  .section.dark,
  .heroWrap,
  .subHero .heroWrap,
  .csBlock,
  .csBlock.soft,
  .csBlock.dark,
  .csHeroInner {
    padding-top: 56px !important;
    padding-bottom: 56px !important;
    padding-left: max(24px, env(safe-area-inset-left, 0px)) !important;
    padding-right: max(24px, env(safe-area-inset-right, 0px)) !important;
  }

  .csHeroInner {
    padding-top: 48px !important;
  }

  .nav {
    padding: 12px max(16px, env(safe-area-inset-right, 0px)) 12px max(16px, env(safe-area-inset-left, 0px));
  }

  .homeStoryBlock {
    padding: 20px 18px;
  }

  .logoStrip {
    padding-left: 24px;
    padding-right: 24px;
  }

  .footerCta,
  .footerGrid {
    padding-left: max(24px, env(safe-area-inset-left, 0px)) !important;
    padding-right: max(24px, env(safe-area-inset-right, 0px)) !important;
  }
}
