@font-face{font-family:Plex;src:url('assets/plex-regular.ttf') format('truetype');font-weight:400;font-display:swap}
@font-face{font-family:Plex;src:url('assets/plex-medium.ttf') format('truetype');font-weight:500;font-display:swap}
@font-face{font-family:Plex;src:url('assets/plex-semibold.ttf') format('truetype');font-weight:600;font-display:swap}
:root{color-scheme:only light;--navy:#16233b;--cyan:#3fd0e2;--ink:#16233b;--muted:#526174;--line:#d6dde4;--pale:#f1f5f8;--white:#fff;--width:1240px}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;color:var(--ink);background:white;font:400 17px/1.65 Plex,Arial,sans-serif}h1,h2,h3,p{margin:0}h1,h2,h3{font-weight:500;line-height:1.15}a{color:inherit;text-decoration:none}button{font:inherit}img{max-width:100%;height:auto}a:focus-visible,button:focus-visible{outline:3px solid #148697;outline-offset:6px}.skip{position:fixed;top:-100px;left:16px;background:white;color:var(--navy);padding:12px;z-index:20}.skip:focus{top:12px}.wrap{width:min(var(--width),calc(100% - 96px));margin-inline:auto}.header{background:white;border-bottom:1px solid var(--line)}.header-inner{min-height:100px;display:flex;align-items:center;justify-content:space-between;gap:40px}.logo{display:flex;align-items:center;flex-shrink:0}.logo img{width:240px;display:block}.nav{display:flex;align-items:center;gap:32px;font-size:15px;font-weight:500}.nav a{position:relative;padding:8px 0}.nav a:not(.contact-link):after{content:'';position:absolute;left:0;bottom:1px;width:0;height:2px;background:var(--ink);transition:width .15s}.nav a:hover:after,.nav a[aria-current=page]:after{width:100%}.nav .contact-link{border:1px solid var(--line);padding:10px 22px}.nav .contact-link:hover{background:var(--pale)}.menu-toggle{display:none;border:1px solid var(--line);background:white;color:var(--ink);padding:10px 15px;min-height:44px}.eyebrow{font-size:13px;letter-spacing:.12em;font-weight:500;text-transform:uppercase;line-height:1.5}.hero{background:var(--navy);color:white}.hero-grid{display:grid;grid-template-columns:1.36fr 1fr;gap:70px;padding-block:76px 72px;align-items:center}.hero .eyebrow{color:var(--cyan);margin-bottom:24px}.hero h1{font-size:clamp(42px,4.1vw,61px);font-weight:400;letter-spacing:-.035em;max-width:690px}.hero h1 .accent{color:var(--cyan)}.hero-copy>p{margin-top:26px;max-width:580px;color:#d4deeb;font-size:18px;line-height:1.7}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:25px;padding:16px 22px;min-height:54px;font-weight:500;font-size:16px;background:var(--cyan);color:var(--navy);border:1px solid transparent;transition:background .15s}.button:hover{background:#86e4ed}.button .arrow{font-size:22px;line-height:1}.hero .button{margin-top:33px}.diagram{border-left:1px solid #435269;padding:12px 0 12px 38px}.diagram-label{color:#b6c5d7;font-size:13px;letter-spacing:.1em;text-transform:uppercase;margin-bottom:30px}.diagram-step{display:grid;grid-template-columns:34px 1fr;gap:16px;align-items:start}.step-index{font-size:14px;color:var(--cyan);padding-top:3px}.diagram-step h2{font-size:24px;font-weight:400;line-height:1.25}.diagram-step p{font-size:15px;color:#bac9dc;margin-top:9px;line-height:1.6}.connector{height:43px;border-left:1px solid #6d889d;margin:12px 0 12px 13px;position:relative}.connector:after{content:'';position:absolute;bottom:0;left:-4px;width:7px;height:7px;border-right:1px solid var(--cyan);border-bottom:1px solid var(--cyan);transform:rotate(45deg)}.diagram-step:last-child{padding:22px 20px 22px 0;border-top:1px solid #435269;border-bottom:1px solid #435269}.expertise-line{background:var(--navy);color:#ced9e6}.expertise-inner{border-top:1px solid #39475d;display:flex;flex-wrap:wrap;gap:16px 42px;padding-block:22px;font-size:14px}.expertise-inner span{display:flex;align-items:center;gap:12px}.expertise-inner span:before{content:'';height:4px;width:4px;background:var(--cyan)}.section{padding-block:92px}.intro-grid{display:grid;grid-template-columns:1fr 1.15fr;gap:100px}.section .eyebrow{color:#566777;margin-bottom:24px}.section h2{font-size:clamp(30px,3vw,42px);letter-spacing:-.025em}.section p{color:var(--muted)}.intro-body{padding-top:40px}.intro-body p+p{margin-top:20px}.link{display:inline-flex;align-items:center;gap:22px;font-weight:500;border-bottom:1px solid #9ba7b6;padding-block:6px;font-size:16px}.link:hover{border-color:var(--navy)}.pale{background:var(--pale)}.section-heading{display:flex;justify-content:space-between;gap:30px;align-items:flex-end;margin-bottom:45px}.section-heading .eyebrow{margin-bottom:20px}.service-list{border-top:1px solid #c7d1db}.service{display:grid;grid-template-columns:60px 1fr 1.08fr;gap:38px;align-items:start;padding-block:32px;border-bottom:1px solid #c7d1db}.service-num{font-size:15px;color:#587282}.service h3{font-size:26px;line-height:1.25;max-width:340px}.service p{font-size:16px;max-width:505px}.models{display:grid;grid-template-columns:1fr 1fr;gap:0;margin-top:44px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.model{padding:35px 48px 38px 0}.model+.model{border-left:1px solid var(--line);padding:35px 0 38px 48px}.model h3{font-size:28px;margin-bottom:18px}.model p{max-width:480px}.model-label{font-size:13px;letter-spacing:.1em;text-transform:uppercase;color:#526b79;margin-bottom:22px}.contact-band{background:var(--navy);color:white;padding-block:70px}.contact-band .wrap{display:grid;grid-template-columns:1.2fr 1fr;gap:80px;align-items:center}.contact-band h2{font-weight:400;font-size:clamp(32px,3.2vw,46px);letter-spacing:-.025em;max-width:660px}.contact-band p{color:#cbd6e4;font-size:17px;max-width:450px;margin-bottom:25px}.contact-band a.link{color:var(--cyan);border-color:#6e97a8}.footer{padding-block:45px 24px}.footer-top{display:grid;grid-template-columns:1fr 1fr 1fr;gap:42px;align-items:start}.footer-logo{width:180px;display:block;margin-bottom:16px}.footer p,.footer address{font-size:14px;line-height:1.75;color:var(--muted);font-style:normal}.footer nav{display:grid;gap:9px;font-size:14px;justify-self:end}.footer nav a:hover{text-decoration:underline}.footer-bottom{border-top:1px solid var(--line);margin-top:34px;padding-top:20px;font-size:12px;color:#647181;display:flex;justify-content:space-between;gap:20px}.page-hero{padding-block:64px 67px;background:var(--navy);color:white}.page-hero .eyebrow{color:var(--cyan);margin-bottom:24px}.page-hero h1{font-size:clamp(38px,4vw,56px);font-weight:400;letter-spacing:-.025em;max-width:900px}.page-hero p{font-size:18px;color:#d4deeb;margin-top:24px;max-width:790px}.needs{list-style:none;padding:0;margin:0}.needs li{padding:19px 0;border-bottom:1px solid var(--line);display:flex;gap:20px}.needs li:before{content:'+';color:#167686;font-size:22px;line-height:1.25}.needs li:first-child{padding-top:0}.process-grid{display:grid;grid-template-columns:1fr 1fr;gap:50px 70px}.process-item{border-top:1px solid #bbc8d3;padding-top:25px}.process-item span{color:#526b79;font-size:14px}.process-item h3{font-size:27px;margin:14px 0}.about-copy{max-width:750px}.about-copy p{font-size:20px;line-height:1.75}.about-copy p+p{margin-top:28px}.contact-grid{display:grid;grid-template-columns:1.2fr 1fr;gap:90px}.contact-email{font-size:clamp(25px,3vw,42px);letter-spacing:-.02em;display:inline-block;border-bottom:1px solid var(--ink);margin-bottom:30px;overflow-wrap:anywhere}.contact-details{border-left:1px solid var(--line);padding-left:45px}.contact-details h2{font-size:16px;font-weight:500;letter-spacing:0;margin-bottom:12px}.contact-details address{font-style:normal;color:var(--muted);margin-bottom:35px}.contact-details p{font-size:15px;max-width:340px}.company-caption{font-size:14px;color:var(--muted);margin-top:17px;max-width:340px}
@media(min-width:1600px){.hero-grid{padding-block:100px}.hero h1{font-size:64px}}
@media(max-width:1050px){.wrap{width:calc(100% - 64px)}.nav{gap:22px;font-size:14px}.logo img{width:180px}.hero-grid{gap:36px}.diagram{padding-left:26px}.hero h1{font-size:48px}.intro-grid{gap:55px}.service{grid-template-columns:38px 1fr 1.1fr;gap:25px}.contact-band .wrap{gap:45px}}
@media(max-width:800px){.wrap{width:calc(100% - 40px)}.header-inner{min-height:82px;flex-wrap:wrap;gap:0;position:relative}.logo img{width:180px}.menu-toggle{display:block}.nav{display:none;flex:0 0 100%;flex-direction:column;align-items:stretch;padding:18px 0 24px;gap:8px}.nav.is-open{display:flex}.nav a{padding:10px 2px}.nav a:after{display:none}.nav .contact-link{padding:10px 14px}.hero-grid{grid-template-columns:1fr;padding-block:48px 40px;gap:48px}.hero h1{font-size:clamp(39px,7vw,54px);max-width:600px}.hero .eyebrow{font-size:12px;margin-bottom:20px}.hero-copy>p{font-size:17px;margin-top:22px}.hero .button{margin-top:26px}.diagram{padding:28px 0 0;border-left:0;border-top:1px solid #435269;max-width:600px}.diagram-label{margin-bottom:24px}.diagram-step h2{font-size:23px}.diagram-step p{max-width:400px}.connector{height:23px;margin-block:10px}.diagram-step:last-child{border-bottom:0;padding-bottom:0}.expertise-inner{gap:12px 26px;font-size:13px;padding-block:20px}.section{padding-block:58px}.intro-grid{grid-template-columns:1fr;gap:25px}.intro-body{padding-top:0}.section .eyebrow{margin-bottom:18px}.section h2{font-size:33px;max-width:620px}.section-heading{display:block;margin-bottom:30px}.section-heading .link{margin-top:24px}.service{grid-template-columns:30px 1fr;gap:12px 18px;padding-block:26px}.service h3{font-size:25px;max-width:none}.service p{grid-column:2;max-width:none}.models{grid-template-columns:1fr;margin-top:30px}.model{padding:28px 0}.model+.model{border-left:0;border-top:1px solid var(--line);padding:28px 0}.model h3{font-size:27px}.model-label{margin-bottom:14px}.contact-band{padding-block:52px}.contact-band .wrap{grid-template-columns:1fr;gap:26px}.contact-band h2{font-size:35px}.footer{padding-block:36px 22px}.footer-top{grid-template-columns:1fr 1fr;gap:30px 22px}.footer-top>div:first-child{grid-column:1/-1}.footer nav{justify-self:start}.footer-bottom{display:block}.footer-bottom span{display:block;margin-top:9px}.page-hero{padding-block:45px}.page-hero h1{font-size:39px}.page-hero p{font-size:17px}.process-grid{grid-template-columns:1fr;gap:30px}.about-copy p{font-size:18px}.contact-grid{grid-template-columns:1fr;gap:45px}.contact-details{border-left:0;border-top:1px solid var(--line);padding:30px 0 0}.contact-email{font-size:31px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
/* Contact page: one information block followed by a compact, distinct footer. */
.contact-phone{display:inline-flex;align-items:center;min-height:44px;font-size:25px;line-height:1.4;margin-bottom:28px;white-space:nowrap}.contact-phone:hover{text-decoration:underline}
.page-contact .contact-details h2{font-size:16px;font-weight:500;letter-spacing:0;line-height:1.4}
.page-contact main>.section{padding-block:72px 64px}
.footer-contact{background:var(--pale);border-top:1px solid var(--line);padding-block:30px 20px}
.footer-contact .footer-top{display:flex;align-items:center;justify-content:space-between;gap:24px}
.footer-contact .footer-logo{margin:0;width:180px}
.footer-contact nav{display:flex;flex-wrap:wrap;gap:14px 26px}
.footer-contact .footer-bottom{margin-top:25px;padding-top:16px;justify-content:flex-end}
@media(max-width:800px){.page-contact main>.section{padding-block:48px}.page-contact .contact-grid{gap:32px}.footer-contact{padding-block:28px 18px}.footer-contact .footer-top{display:flex;flex-direction:column;align-items:flex-start;gap:24px}.footer-contact nav{display:grid;grid-template-columns:auto auto;gap:12px 25px}.footer-contact .footer-bottom{margin-top:22px;padding-top:14px}.footer-contact .footer-bottom span{margin:0}}
/* Language links retain the corresponding page in each language. */
.nav{gap:24px}.language-switch{display:flex;align-items:center;gap:8px;border-left:1px solid var(--line);padding-left:20px;font-size:13px;white-space:nowrap}.language-switch a{color:var(--muted);padding:9px 2px}.language-switch a[aria-current=true]{color:var(--navy);font-weight:600}.language-switch span{color:#8b96a4}.nav .language-switch a:after{display:none}
@media(min-width:801px) and (max-width:1000px){.header-inner{min-height:82px;flex-wrap:wrap;gap:0}.menu-toggle{display:block}.nav{display:none;flex:0 0 100%;flex-direction:column;align-items:stretch;padding:18px 0 24px;gap:8px}.nav.is-open{display:flex}.nav a{padding:10px 2px}.nav a:after{display:none}.nav .contact-link{padding:10px 14px}}
@media(max-width:1000px){.nav{gap:8px}.language-switch{border-left:0;border-top:1px solid var(--line);padding:12px 0 0;margin-top:8px;gap:12px}.language-switch a{min-width:44px;min-height:44px;display:inline-flex;align-items:center;justify-content:center}}

