:root{--navy:#07192c;--blue:#176fb5;--ink:#122c44;--muted:#526a7d;--line:#d5e0e9;--max:1300px}
body{color:var(--ink)}.container{width:min(calc(100% - 64px),var(--max))}
.topbar{display:none}.header{background:rgba(255,255,255,.96)}.header-inner{height:88px}.nav a{font-weight:700}.header-cta,.btn{border-radius:0}.header-cta{background:#176fb5;border-color:#176fb5}.btn{background:#176fb5;border-color:#176fb5}.btn-outline{background:transparent;color:var(--ink);border-color:#8ba9bf}.eyebrow{font-size:13px}
.hero{background:#06182c;color:#fff}.hero-grid{grid-template-columns:1fr 1fr;gap:0;min-height:680px;padding:0}.hero-copy{z-index:2;display:flex;flex-direction:column;justify-content:center;padding:85px 5% 45px 0}.hero h1{font-size:clamp(3.5rem,5.4vw,6rem);line-height:1.04;color:#fff;max-width:740px}.hero h1 em{color:#8bddff}.hero p{color:#d1e2ee;max-width:600px;font-size:clamp(1.1rem,1.45vw,1.35rem)}.hero .eyebrow{color:#8bddff}.hero .btn{background:#8bddff;border-color:#8bddff;color:#092238}.hero .btn:hover{background:#fff;border-color:#fff;color:#092238}.hero .btn-outline{background:transparent;border-color:#a4bfd2;color:#fff}.hero .btn-outline:hover{background:#fff;color:#092238}.hero-art{position:relative;background:url('technology-flow.webp') center/cover no-repeat;margin-right:calc((min(100vw - 64px,var(--max)) - 100vw)/2)}.hero-art:before{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#06182c,#06182c33 35%,transparent 70%)}.hero-bottom{margin-top:auto;padding-top:50px;display:flex;gap:18px;color:#9bb7cb;font-size:13px}.hero-bottom span:first-child{color:#8bddff;font-weight:700}
.statement{padding:105px 0}.statement-grid{display:grid;grid-template-columns:1.25fr .75fr;gap:100px;align-items:end}.statement h2{font:800 clamp(2.2rem,3.3vw,3.7rem)/1.12 Manrope,sans-serif;letter-spacing:-.055em;margin:20px 0 0}.statement p{color:var(--muted);font-size:1.15rem;line-height:1.75;margin:0}.section{padding:105px 0}.section.alt{background:#f0f6fa}.section-head{margin-bottom:44px}.section h2,.cta-band h2{font-size:clamp(2.2rem,3.3vw,3.8rem);max-width:860px}.grid{gap:1px;background:#cbdbe6;border:1px solid #cbdbe6}.card{border:0;border-radius:0;min-height:300px;padding:34px}.card:hover{background:#0c2e4e;color:#fff;box-shadow:none}.card .number{margin-bottom:38px}.card h3{font-size:clamp(1.32rem,1.6vw,1.7rem)}.card:hover p{color:#c2d6e7}.card:hover .number,.card:hover .arrow{color:#8bddff}.card .arrow{display:flex;justify-content:space-between;align-items:center;font-size:14px;font-weight:700}.card .arrow b{font-size:24px;font-weight:400}.text-link{border-bottom:1px solid currentColor;padding-bottom:3px;text-decoration:none!important}
.editorial{background:#07192c;color:#fff}.editorial-grid{display:grid;grid-template-columns:1fr 1fr;min-height:640px}.editorial-image{margin-left:calc((min(100vw - 64px,var(--max)) - 100vw)/2);overflow:hidden}.editorial-image img{width:100%;height:100%;object-fit:cover;object-position:62% center}.editorial-copy{padding:85px 0 85px 10%;align-self:center}.editorial h2{color:#fff;font:800 clamp(2.2rem,3.3vw,3.8rem)/1.13 Manrope,sans-serif;letter-spacing:-.055em;margin:20px 0}.editorial .eyebrow,.editorial .text-link{color:#8bddff}.editorial p{font-size:1.12rem;color:#c3d6e6}.editorial .list{margin:28px 0 35px}.editorial .list li{color:#e2eff7;border-color:#3b586c}
.page-hero{position:relative;overflow:hidden;background:#071a2e;color:#fff;padding:72px 0 105px}.page-hero:before{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#071a2e 2%,#071a2ee8 57%,#071a2e66),url('technology-flow.webp') right center/cover no-repeat}.page-hero-inner{position:relative;z-index:1;display:flex;justify-content:space-between;gap:20px;align-items:end}.page-hero .eyebrow{color:#8bddff}.page-hero h1{color:#fff;max-width:900px;font-size:clamp(2.9rem,5vw,5.4rem)}.page-hero p{color:#d0e1ee}.page-hero-index{font:700 12px Manrope,sans-serif;letter-spacing:.15em;text-transform:uppercase;color:#a5c8df;white-space:nowrap}.crumbs{color:#b0c8db;margin-bottom:60px}.split{gap:clamp(40px,7vw,110px)}.rich p{line-height:1.75}.process{grid-template-columns:repeat(3,1fr);gap:28px}.process-step{padding:28px;background:#fff;border-top:3px solid var(--blue)}.process-step strong{margin-bottom:35px}.process-step h3{font-size:1.3rem}.detail-close{border-top:1px solid var(--line)}.cta-band{position:relative;background:#0a2b49 url('technology-flow.webp') right center/cover no-repeat}.cta-band:before{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#092139,#092139e8 48%,#09213966)}.cta-band .container{position:relative}.footer{background:#061626}.feature-strip{border-radius:0}.form{border-radius:0;background:#f5f9fc}.field input,.field select,.field textarea{border-radius:0}
@media(max-width:1160px){.hero-grid{min-height:620px}.hero h1{font-size:clamp(3.2rem,5.2vw,5rem)}}
@media(max-width:850px){.container{width:min(calc(100% - 40px),var(--max))}.header-inner{height:72px}.hero-grid{grid-template-columns:1fr}.hero-copy{padding:80px 0 45px}.hero-art{height:360px;margin:0 calc((min(100vw - 40px,var(--max)) - 100vw)/2)}.hero-art:before{background:linear-gradient(#06182c,transparent 35%)}.statement-grid,.editorial-grid{grid-template-columns:1fr}.statement-grid{gap:35px}.editorial-image{height:380px;margin:0 calc((min(100vw - 40px,var(--max)) - 100vw)/2)}.editorial-copy{padding:65px 0}.process{grid-template-columns:repeat(2,1fr)}}
@media(max-width:580px){.container{width:min(calc(100% - 32px),var(--max))}.section,.statement{padding:72px 0}.hero-copy{padding:65px 0 30px}.hero h1{font-size:clamp(3rem,11vw,4.1rem)}.hero-art{height:280px;margin:0 -16px}.hero-bottom{padding-top:38px}.hero .actions .btn{width:100%}.page-hero{padding:40px 0 80px}.page-hero h1{font-size:clamp(2.7rem,10vw,4rem)}.page-hero-index{display:none}.crumbs{margin-bottom:48px}.grid,.process{grid-template-columns:1fr}.card{min-height:255px}.editorial-image{height:280px;margin:0 -16px}}
.ecosystem-home{background:#eaf3f9;padding:70px 0;border-block:1px solid #d5e3ee}.ecosystem-home-inner{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:80px}.ecosystem-home h2{font:800 clamp(1.9rem,2.6vw,2.8rem)/1.18 Manrope,sans-serif;letter-spacing:-.05em;margin:12px 0}.ecosystem-home p{color:var(--muted);margin:0}.ecosystem-names{font:800 clamp(1.2rem,1.6vw,1.65rem)/1.6 Manrope,sans-serif;letter-spacing:-.035em;margin-bottom:18px}.ecosystem-names span{color:#69a7d0;padding:0 7px}.ecosystem-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:#cbdbe6;border:1px solid #cbdbe6;margin-top:34px}.ecosystem-item{background:#fff;padding:34px;min-height:240px}.ecosystem-item span{font:800 12px Manrope,sans-serif;letter-spacing:.12em;color:var(--blue)}.ecosystem-item h3{font:800 1.6rem Manrope,sans-serif;letter-spacing:-.04em;margin:25px 0 10px}.ecosystem-item p{color:var(--muted);margin:0}.ecosystem-grid+.text-link{margin-top:25px}
@media(max-width:850px){.ecosystem-home-inner{grid-template-columns:1fr;gap:30px}.ecosystem-grid{grid-template-columns:1fr}.ecosystem-item{min-height:0}}
.project-highlight{padding:105px 0;background:#081d32;color:#fff}.project-highlight-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:clamp(50px,8vw,130px);align-items:center}.project-highlight .eyebrow,.project-highlight .text-link{color:#8bddff}.project-highlight h2{font:800 clamp(2.2rem,3.2vw,3.7rem)/1.14 Manrope,sans-serif;letter-spacing:-.055em;margin:16px 0 24px}.project-highlight p{font-size:1.15rem;color:#bfd4e4;max-width:680px;margin:0 0 30px}.project-flow{display:grid;gap:12px}.project-flow div{display:flex;justify-content:space-between;gap:25px;align-items:center;padding:21px 24px;border:1px solid #47667c;background:#ffffff0b;font-weight:700}.project-flow span{color:#86dcfa;font-size:13px}.project-flow div:nth-child(2){margin-left:24px}.project-flow div:nth-child(3){margin-left:48px;background:#d8f3ff;color:#0a2a46}.project-flow div:nth-child(3) span{color:#146bb8}
@media(max-width:850px){.project-highlight-grid{grid-template-columns:1fr;gap:35px}}
@media(max-width:580px){.project-highlight{padding:75px 0}.project-flow div:nth-child(2){margin-left:12px}.project-flow div:nth-child(3){margin-left:24px}}
.hero{background:linear-gradient(90deg,rgba(4,18,34,.9) 0%,rgba(4,18,34,.68) 38%,rgba(4,18,34,.22) 72%,rgba(4,18,34,.08) 100%),url('hero-ipanema-rio.webp') center center/cover no-repeat #06182c}
.hero-art{background:none}.hero-art:before{display:none}
@media(max-width:850px){.hero{background:#06182c}.hero-art{background:url('hero-ipanema-rio.webp') 68% 50%/cover no-repeat}.hero-art:before{display:block;background:linear-gradient(#06182c,transparent 32%)}}
.language-switch{display:flex;align-items:center;gap:2px;border:1px solid #cbdce8;padding:3px;white-space:nowrap}.language-switch a{display:inline-flex;align-items:center;justify-content:center;min-width:33px;min-height:34px;padding:0 5px;color:#31536d;font:800 12px Manrope,sans-serif}.language-switch a:hover{background:#e9f3fa}.language-switch a[aria-current="true"]{background:#123b5d;color:#fff}.language-switch a:focus-visible{outline:2px solid #176fb5;outline-offset:1px}
@media(max-width:1160px){.header-inner{gap:12px}.brand{min-width:160px}.nav{gap:10px}}
@media(max-width:850px){.header-inner{gap:12px}.menu-toggle{order:3;margin-left:auto}.language-switch{order:2;margin-left:auto}.brand{min-width:0}.brand-name{font-size:22px}}
@media(max-width:430px){.brand-sub{display:none}.brand-name{font-size:19px}.brand img{width:38px;height:38px}.language-switch a{min-width:29px;min-height:31px}}
@media(max-width:430px){.brand{gap:6px}.brand img{width:32px;height:32px}.brand-name{font-size:18px}.language-switch a{min-width:26px;padding:0 2px}.menu-toggle{padding:7px 8px}.header-inner{gap:8px}}
.brand{min-width:185px;gap:7px}.brand img{width:55px;height:55px;transform:none;flex:none}.brand-lockup{display:flex;flex-direction:column;justify-content:center;gap:3px;line-height:1}.brand-name{font-size:27px;line-height:1}.brand-sub{display:block;font-size:8px;line-height:1.1;letter-spacing:.09em;white-space:nowrap}
.hero{background:linear-gradient(90deg,rgba(4,18,34,.9) 0%,rgba(4,18,34,.62) 38%,rgba(4,18,34,.12) 72%,rgba(4,18,34,.02) 100%),url('hero-ipanema-rio-v2.webp') center center/cover no-repeat #06182c}
@media(max-width:1160px){.brand{min-width:160px}}
@media(max-width:850px){.brand{min-width:0}.hero{background:#06182c}.hero-art{background:url('hero-ipanema-rio-v2.webp') 68% 50%/cover no-repeat}}
@media(max-width:430px){.brand{gap:5px}.brand img{width:34px;height:34px}.brand-name{font-size:20px}.brand-sub{display:block;font-size:6.4px;letter-spacing:.04em}.brand-lockup{gap:2px}}
@media(max-width:360px){.header-inner{gap:6px}.brand img{width:31px;height:31px}.brand-name{font-size:18px}.brand-sub{font-size:5.8px}.language-switch a{min-width:24px}.menu-toggle{padding:6px}}

/* Editorial type scale: keep the hero prominent while giving imagery and section copy more room. */
.hero h1{font-size:clamp(3rem,4.7vw,5.1rem)}
.statement h2,.section h2,.cta-band h2,.editorial h2{font-size:clamp(2rem,3vw,3.25rem)}
.page-hero h1{font-size:clamp(2.55rem,4.4vw,4.65rem)}
.ecosystem-home h2{font-size:clamp(1.8rem,2.35vw,2.6rem)}
.project-highlight h2{font-size:clamp(2rem,2.9vw,3.3rem)}
@media(max-width:1160px){.hero h1{font-size:clamp(2.9rem,4.7vw,4.5rem)}}
@media(max-width:580px){.hero h1{font-size:clamp(2.5rem,9.5vw,3.4rem)}.page-hero h1{font-size:clamp(2.35rem,8.7vw,3.4rem)}}

/* Give the brand mark and its lockup a little more presence in the header. */
.header .brand img{width:61px;height:61px}
.header .brand-name{font-size:30px}
.header .brand-sub{font-size:9px}
@media(max-width:580px){.header .brand img{width:52px;height:52px}.header .brand-name{font-size:25px}.header .brand-sub{font-size:7.8px}}
@media(max-width:430px){.header .brand img{width:38px;height:38px}.header .brand-name{font-size:21px}.header .brand-sub{font-size:6.7px}}
@media(max-width:360px){.header .brand img{width:33px;height:33px}.header .brand-name{font-size:19px}.header .brand-sub{font-size:6.1px}}
.hero-bottom a{color:inherit;text-decoration:none;border-bottom:1px solid #9bb7cb55}.hero-bottom a:hover{color:#fff;border-color:#fff}
.card h3{transition:color .22s}.card p,.card .number,.card .arrow{transition:color .22s}
.card:hover h3,.card:focus-visible h3{color:#fff}
.card:focus-visible{background:#0c2e4e;color:#fff;outline:2px solid #8bddff;outline-offset:-2px}
.card:focus-visible p{color:#c2d6e7}.card:focus-visible .number,.card:focus-visible .arrow{color:#8bddff}
.text-link{white-space:normal;overflow-wrap:anywhere}
.split>*,.contact-layout>*,.hero-grid>*,.editorial-grid>*,.project-highlight-grid>*,.statement-grid>*,.ecosystem-home-inner>*,.footer-grid>*{min-width:0}
.form small{display:block;margin-top:14px;line-height:1.5}
.form .message:empty{display:none}
.hero-bottom{flex-wrap:wrap;gap:8px 18px}
.hero-bottom>*{white-space:nowrap}
.list li{position:relative;padding-left:28px}
.list li:before{position:absolute;left:0;margin:0}
.footer-bottom{flex-wrap:wrap;align-items:center}
.footer-links{display:flex;flex-wrap:wrap;gap:8px 22px}
.footer-links a{color:inherit;text-decoration:none;border-bottom:1px solid #ffffff40}
.footer-links a:hover,.footer-links a:focus-visible{color:#fff;border-color:#fff}
@media (max-width:760px){.footer-links{margin-top:12px}}
.legal{max-width:760px}
.legal h2{font:800 clamp(1.25rem,2vw,1.6rem)/1.25 Manrope,Arial,sans-serif;letter-spacing:-.03em;color:var(--navy);margin:44px 0 12px}
.legal h2:first-of-type{margin-top:28px}
.legal .list{margin:8px 0 0}
.legal .list li{font-weight:400;color:var(--muted)}
.legal a{color:var(--blue)}
.legal-date{font-size:.95rem!important;color:var(--muted)}
.form small a{color:var(--blue)}
