:root{--navy:#102f59;--blue:#0878dc;--ink:#233d5b;--muted:#64768b;--line:#dfebf6;--pale:#f1f7fd;--container:1640px}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:110px}body{margin:0;font-family:Arial,Helvetica,sans-serif;color:var(--ink);background:white;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;cursor:pointer}button,a{-webkit-tap-highlight-color:transparent}button{border:0;background:none}img{max-width:100%;display:block}p,h1,h2,h3,figure,dl{margin:0}button:focus-visible,a:focus-visible,[tabindex]:focus-visible{outline:3px solid #46a9ef;outline-offset:5px}.container{width:min(var(--container),calc(100% - 144px));margin-inline:auto}.sr-only,.skip-link:not(:focus){position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.skip-link:focus{position:fixed;z-index:1000;background:white;padding:16px}.site-header{background:white;position:relative;z-index:50;border-bottom:1px solid #eef2f7}.header-inner{height:106px;display:flex;align-items:center;justify-content:space-between;gap:38px}.brand{flex-shrink:0;width:185px}.brand img{width:185px;height:auto}.header-inner nav{display:flex;align-items:center;gap:30px;margin-left:auto}.header-inner nav>a,.header-inner nav>button,.nav-group>button{font-size:16px;font-weight:600;white-space:nowrap;padding:42px 0;position:relative}.header-inner nav>a:hover,.header-inner nav>button:hover,.nav-group>button:hover{color:var(--blue)}.header-inner nav .active{color:var(--blue)}.active:after{content:"";position:absolute;height:3px;bottom:24px;left:0;right:0;background:var(--blue);border-radius:3px}.nav-group{position:relative}.nav-group>button span{font-size:14px;margin-left:4px}.dropdown{display:none;position:absolute;top:89px;left:-24px;width:380px;padding:12px;background:white;border:1px solid var(--line);border-radius:10px;box-shadow:0 18px 60px #173d6024}.nav-group.open .dropdown{display:block}.dropdown a,.dropdown button{display:flex;gap:16px;align-items:center;justify-content:space-between;width:100%;padding:16px;text-align:left;font-size:16px;line-height:1.5;border-radius:6px}.dropdown a:hover,.dropdown button:hover{background:var(--pale);color:var(--blue)}.header-actions{display:flex;align-items:center;gap:25px}.language{font-size:13px;white-space:nowrap;font-weight:700}.language span{color:#8393a7;font-weight:400}.button{display:inline-flex;align-items:center;justify-content:center;gap:28px;color:white;background:var(--blue);border:1px solid transparent;border-radius:6px;padding:19px 27px;font-size:17px;font-weight:600;transition:background .2s,transform .2s;white-space:nowrap}.button:hover{background:#0566be;transform:translateY(-2px)}.button.small{font-size:14px;padding:13px 18px;gap:17px}.menu-toggle{display:none}.banner{position:relative;aspect-ratio:1903/451;overflow:hidden;background:#061e4c}.banner>img,.banner canvas{position:absolute;width:100%;height:100%;inset:0;object-fit:contain}.banner canvas{display:none}.banner.canvas-ready canvas{display:block}.banner.canvas-ready>img{visibility:hidden}.banner-arrow{position:absolute;top:calc(50% - 26px);width:48px;height:52px;border:1px solid #ffffff40;border-radius:6px;color:white;background:#08245626;backdrop-filter:blur(6px);font-size:35px;line-height:1;opacity:.6}.banner-arrow:hover{opacity:1;background:#ffffff1c}.previous{left:25px}.next{right:25px}.banner-controls{position:absolute;bottom:22px;left:50%;transform:translateX(-50%);height:34px;display:flex;align-items:center;gap:13px;border-radius:25px;padding:0 14px;background:#061a4466;backdrop-filter:blur(8px)}.banner-dots{display:flex;gap:10px}.banner-dots button{padding:0;width:8px;height:8px;border-radius:12px;background:#ffffff6b;transition:width .2s}.banner-dots button[aria-pressed=true]{width:28px;background:white}.control-divider{height:12px;width:1px;background:#ffffff45}.pause{padding:0;color:white;width:20px;font-weight:700;font-size:13px}.section{padding:98px 0 106px}.section-heading{margin-bottom:48px}.eyebrow{font-size:13px;letter-spacing:2.5px;font-weight:700;color:var(--blue);margin-bottom:15px}.section-heading h2{font-size:46px;font-weight:600;letter-spacing:-1.5px;line-height:1.15;color:var(--navy)}.section-heading>p:last-child{margin-top:20px;font-size:19px;line-height:1.5;color:var(--muted)}.centered{text-align:center}.business{background:linear-gradient(#fff 40%,#f7fbff)}.business-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px}.business-card{min-width:0;border:1px solid #dfebf6;border-radius:16px;background:white;overflow:hidden;box-shadow:0 12px 35px #1c528208;transition:transform .25s,box-shadow .25s;scroll-margin-top:120px}.business-card:hover{transform:translateY(-5px);box-shadow:0 20px 40px #1c528211}.card-art{height:260px;background:linear-gradient(#f5fbff,#fff);position:relative;overflow:hidden}.card-art img{width:100%;height:100%;object-fit:cover;object-position:center 53%;mask-image:linear-gradient(#000 78%,transparent)}.card-content{padding:12px 35px 29px}.card-index{font-size:11px;color:#7393b5;font-weight:700;letter-spacing:1.6px;margin-bottom:11px}.card-content h3{font-size:31px;line-height:1.2;letter-spacing:-.6px;color:var(--navy);margin-bottom:14px}.card-summary{font-size:17px;line-height:1.6;color:var(--muted);min-height:55px;margin-bottom:26px}.business-links{list-style:none;padding:0;margin:0}.business-links li{border-top:1px solid #e6eef6}.business-links a,.business-links button{width:100%;display:flex;align-items:center;justify-content:space-between;gap:18px;text-align:left;padding:18px 0;font-size:17px;line-height:1.45;font-weight:500;min-height:60px}.business-links span{color:var(--blue);font-size:20px;flex-shrink:0}.business-links a:hover,.business-links button:hover{color:var(--blue)}.company{background:linear-gradient(120deg,#f0f7fe,#f8fbff 60%,#eef7ff);position:relative;overflow:hidden}.company-grid{display:grid;grid-template-columns:420px minmax(0,1fr);gap:78px;align-items:start}.company .section-heading{margin-bottom:50px}.building{position:relative;border-radius:12px;overflow:hidden;background:#cfe4f2;height:390px;box-shadow:0 12px 24px #143b6d0e}.building>img{width:100%;height:100%;object-fit:cover;object-position:45% center}.building:after{content:"";position:absolute;inset:50% 0 0;background:linear-gradient(transparent,#0c315ed9)}.building figcaption{position:absolute;z-index:1;left:27px;bottom:25px;color:white}.building figcaption span{display:block;font-size:11px;letter-spacing:2px;margin-bottom:9px;color:#e0edff}.building figcaption strong{font-size:23px;font-weight:500}.metrics{padding-top:17px}.metrics>div{padding:24px 6px 26px;border-bottom:1px solid #cfdfef;display:flex;align-items:center;gap:30px;min-height:121px}.metrics>div:last-child{border:0}.metrics dt{font-size:47px;color:var(--blue);font-weight:600;letter-spacing:-2px;width:178px;flex-shrink:0}.metrics dd{margin:0;font-size:16px;line-height:1.5;color:#516d8c}.company-copy{font-size:19px;line-height:1.8;color:#4f647e}.company-copy>p{margin-bottom:23px}.company-copy .intro{color:#263f5c;font-size:21px;line-height:1.75}.company-copy .portfolio-intro{font-weight:600;color:var(--navy);margin:29px 0 20px;font-size:19px}.portfolio{display:grid;grid-template-columns:1.25fr 1fr .8fr;gap:27px;margin-bottom:28px;padding:26px 0 23px;border-block:1px solid #cedfef}.portfolio h3{font-size:18px;color:var(--navy);margin-bottom:14px;font-weight:600}.portfolio ul{list-style:none;margin:0;padding:0}.portfolio li{font-size:15px;line-height:1.6;margin-bottom:10px;position:relative;padding-left:13px}.portfolio li:before{content:"";width:4px;height:4px;border-radius:50%;background:#54a4e6;position:absolute;left:0;top:10px}.company-copy .closing{font-size:18px;line-height:1.75;margin-bottom:0}.news-heading{display:flex;align-items:flex-end;justify-content:space-between}.text-link{display:inline-flex;gap:22px;color:var(--blue);font-size:16px;font-weight:600;align-items:center}.text-link:hover{color:#00448a}.news-grid{display:grid;grid-template-columns:1fr 1.18fr;gap:65px}.featured-news{border:1px solid var(--line);border-radius:12px;overflow:hidden;display:block;transition:box-shadow .2s}.featured-news:hover{box-shadow:0 16px 40px #173e6817}.news-art{height:235px;background:radial-gradient(ellipse at 40% 90%,#b6e3ff,#eef8ff 50%,#e1efff);position:relative;display:flex;align-items:center;justify-content:center;overflow:hidden}.award-diamond{width:110px;height:110px;border:1px solid #fff;transform:rotate(45deg);border-radius:16px;background:linear-gradient(135deg,#8dd9ff99,#1678d9);box-shadow:18px 18px 0 #9fcbf155,30px 30px 30px #2f82ce22,inset 0 0 20px #fff7;z-index:1;display:grid;place-items:center}.award-diamond span{display:block;transform:rotate(-45deg);color:white;font-size:26px;font-weight:600;letter-spacing:1px}.orbit{width:410px;height:120px;border:1px solid #ffffffcc;border-radius:50%;position:absolute;transform:rotate(-17deg)}.orbit-two{width:500px;height:170px;transform:rotate(16deg)}.art-caption{position:absolute;left:28px;bottom:22px;font-size:10px;font-weight:700;letter-spacing:2.6px;color:#5480b2}.feature-copy{padding:28px 30px 30px}.news-meta{display:flex;justify-content:space-between;font-size:10px;letter-spacing:1.3px;color:#8090a6}.news-meta span{color:var(--blue);font-weight:700}.feature-copy h3{font-size:24px;line-height:1.5;font-weight:500;color:var(--navy);margin:17px 0 27px}.feature-copy .text-link{font-size:14px}.news-list>a{display:grid;grid-template-columns:92px 1fr 20px;gap:24px;align-items:center;padding:30px 0;border-bottom:1px solid var(--line);min-height:166px}.news-list>a:first-child{padding-top:10px}.news-list>a:last-child{border-bottom:0}.news-date{border-right:1px solid var(--line)}.news-date strong{font-size:42px;font-weight:400;color:#7196bc;display:block;letter-spacing:-1.3px}.news-date span{font-size:10px;letter-spacing:.7px;color:#8096ad;display:block;margin-top:5px}.news-category{font-size:10px;letter-spacing:1.5px;color:var(--blue);font-weight:700}.news-list h3{font-size:21px;font-weight:500;line-height:1.5;margin-top:12px;color:var(--navy)}.news-arrow{color:var(--blue);font-size:22px}.news-list>a:hover h3{color:var(--blue)}.contact{position:relative;overflow:hidden;background:linear-gradient(110deg,#123d73,#056bd1);padding:66px 0;color:white}.contact:after{content:"";position:absolute;width:700px;height:700px;border:1px solid #ffffff20;border-radius:50%;right:-120px;top:-260px;box-shadow:0 0 0 60px #ffffff03,0 0 0 120px #ffffff04,0 0 0 180px #ffffff03;pointer-events:none}.contact-inner{display:flex;justify-content:space-between;align-items:center;position:relative;z-index:1}.contact .eyebrow{color:#a1d8ff;font-size:11px}.contact h2{font-size:42px;line-height:1.2;font-weight:500;letter-spacing:-1px}.contact p:last-child{font-size:17px;color:#c2ddf7;margin-top:21px}.button.light{background:white;color:#0766bd;min-width:250px;padding:21px 28px}.button.light:hover{background:#e6f3ff}footer{background:#f5f9fd;padding:65px 0 0;color:#6c8097}.footer-grid{display:grid;grid-template-columns:1.2fr .8fr 1fr;gap:100px;padding-bottom:48px}.footer-wordmark{font-size:30px;letter-spacing:-1px;font-weight:800;color:var(--navy)}.footer-brand>p{margin-top:17px;font-size:15px}.group-link{font-size:13px!important;margin-top:26px;display:block}.footer-grid h3{font-size:15px;color:var(--navy);font-weight:600;margin-bottom:21px}.footer-grid>div:not(:first-child)>a,.footer-grid>div>button{display:block;text-align:left;font-size:14px;margin-bottom:14px;padding:0}.footer-grid a:hover,.footer-grid button:hover{color:var(--blue)}.address{font-size:13px;line-height:1.85;margin-top:18px}.footer-bottom{border-top:1px solid var(--line);display:flex;justify-content:space-between;padding:25px 0;font-size:12px}.footer-bottom a{color:#4a6d95}dialog{border:1px solid var(--line);border-radius:15px;max-width:660px;width:calc(100% - 40px);max-height:calc(100vh - 60px);padding:48px;box-shadow:0 30px 100px #092e5040;overflow:auto;color:var(--ink)}dialog::backdrop{background:#0a234d88;backdrop-filter:blur(5px)}.dialog-close{position:absolute;right:16px;top:10px;font-size:30px;color:#7189a4}dialog h2{font-size:31px;line-height:1.3;color:var(--navy);margin:20px 0}dialog>p:not(.eyebrow){font-size:18px;line-height:1.8;margin-bottom:30px}
@media(min-width:1800px){.container{width:min(1640px,calc(100% - 240px))}}
@media(max-width:1500px){.container{width:calc(100% - 96px)}.header-inner{gap:24px;height:94px}.brand,.brand img{width:154px}.header-inner nav{gap:22px}.header-inner nav>a,.header-inner nav>button,.nav-group>button{font-size:14px;padding:36px 0}.header-actions{gap:16px}.button.small{padding:12px 14px}.company-grid{grid-template-columns:350px 1fr;gap:50px}.company-copy{font-size:17px}.company-copy .intro{font-size:19px}.portfolio{gap:20px}.portfolio li{font-size:14px}.metrics dt{font-size:42px;width:146px}.metrics dd{font-size:14px}.card-content{padding-inline:27px}.card-art{height:220px}.card-content h3{font-size:29px}.business-links a,.business-links button{font-size:16px}.card-summary{font-size:16px}.news-grid{gap:45px}.news-list h3{font-size:19px}.dropdown{top:78px}}
@media(max-width:1200px){.header-actions .language{display:none}.header-inner nav{gap:18px}.brand,.brand img{width:130px}.header-actions .button{font-size:12px;padding:11px;gap:10px}.header-inner{gap:20px}.header-inner nav>a,.header-inner nav>button,.nav-group>button{font-size:13px}.company-grid{grid-template-columns:290px 1fr;gap:35px}.portfolio{grid-template-columns:1fr 1fr}.portfolio>div:first-child{grid-column:1/-1}.metrics>div{gap:10px}.metrics dt{width:140px}.metrics dd{font-size:13px}.section{padding-block:75px}.card-content{padding-inline:22px}.business-grid{gap:18px}.business-links a,.business-links button{font-size:15px}.business-links a,.business-links button{gap:10px}.card-summary{font-size:15px;min-height:73px}.card-content h3{font-size:26px}.news-grid{gap:30px}.news-list>a{grid-template-columns:75px 1fr 15px;gap:18px}.footer-grid{gap:50px}}
@media(max-width:980px){.container{width:calc(100% - 48px)}.header-inner{height:83px}.brand,.brand img{width:146px}.menu-toggle{display:block;margin-left:auto;font-size:23px;order:2}.header-actions{order:1;margin-left:auto}.header-inner nav{display:none;position:absolute;top:83px;left:0;right:0;background:white;padding:18px 26px;box-shadow:0 18px 30px #143e6219;flex-direction:column;align-items:stretch;gap:0;max-height:calc(100vh - 90px);overflow:auto}.header-inner nav.mobile-open{display:flex}.header-inner nav>a,.header-inner nav>button,.nav-group>button{display:block;font-size:16px;padding:15px 0;text-align:left;width:100%}.active:after{display:none}.dropdown{position:static;width:100%;box-shadow:none;padding:0;border:0;background:#f2f7fd}.dropdown a,.dropdown button{padding:14px;font-size:14px}.banner-controls{bottom:13px}.banner-arrow{width:32px;height:38px;font-size:25px;top:calc(50% - 19px)}.previous{left:10px}.next{right:10px}.business-grid{gap:15px}.card-art{height:170px}.card-content{padding:8px 18px 18px}.card-index{font-size:9px;letter-spacing:1px}.card-content h3{font-size:24px}.card-summary{font-size:14px;min-height:68px}.business-links a,.business-links button{font-size:14px}.company-grid{grid-template-columns:240px 1fr;gap:30px}.building{height:330px}.company-copy{font-size:16px}.company-copy .intro{font-size:17px}.company-copy .portfolio-intro{font-size:17px}.portfolio{gap:15px}.company-copy .closing{font-size:16px}.metrics>div{display:block;padding:22px 0;min-height:0}.metrics dt{font-size:42px;width:auto;margin-bottom:9px}.metrics dd{font-size:14px}.news-grid{grid-template-columns:.9fr 1.1fr}.feature-copy{padding:23px}.feature-copy h3{font-size:21px}.news-list>a{grid-template-columns:60px 1fr 13px;gap:15px;padding:23px 0}.news-list h3{font-size:17px}.news-date strong{font-size:34px}.news-date span{font-size:9px}.news-category{font-size:9px;letter-spacing:1px}.contact h2{font-size:36px}.contact p:last-child{font-size:15px;max-width:380px;line-height:1.6}.footer-grid{gap:30px}}
@media(max-width:700px){.container{width:calc(100% - 40px)}.header-inner{height:77px;gap:15px}.brand,.brand img{width:137px}.header-inner nav{top:77px}.header-actions .button{font-size:11px;padding:10px 11px}.header-actions .button span{display:none}.menu-toggle{padding:3px}.banner{aspect-ratio:1903/560}.banner>img,.banner canvas{object-fit:contain}.banner-arrow{width:24px;border:0;background:transparent;font-size:24px}.previous{left:1px}.next{right:1px}.banner-controls{height:25px;bottom:3px;padding:0 10px;gap:9px}.banner-dots{gap:7px}.banner-dots button{width:6px;height:6px}.banner-dots button[aria-pressed=true]{width:19px}.pause{font-size:10px}.section{padding:57px 0}.section-heading{margin-bottom:30px}.section-heading h2{font-size:33px;letter-spacing:-.9px}.eyebrow{font-size:10px;letter-spacing:2px;margin-bottom:12px}.section-heading>p:last-child{font-size:15px;margin-top:15px;line-height:1.6}.business-grid{grid-template-columns:1fr;gap:24px}.card-art{height:220px}.card-content{padding:8px 26px 23px}.card-index{font-size:10px}.card-content h3{font-size:28px}.card-summary{font-size:16px;min-height:0;margin-bottom:22px}.business-links a,.business-links button{font-size:16px;padding:17px 0}.company-grid{grid-template-columns:1fr;gap:30px}.company .section-heading{margin-bottom:30px}.building{height:300px}.metrics{display:grid;grid-template-columns:1fr 1fr;gap:0 22px;padding-top:12px}.metrics>div{padding:22px 0;border-bottom:1px solid #cfdfef!important}.metrics>div:nth-child(n+3){border:0!important}.metrics dt{font-size:37px;letter-spacing:-1.5px}.metrics dd{font-size:12px;line-height:1.6;max-width:150px}.company-copy{font-size:16px;line-height:1.85}.company-copy .intro{font-size:18px;line-height:1.8}.portfolio h3{font-size:16px}.portfolio li{font-size:14px}.company-copy .closing{font-size:16px}.news-grid{grid-template-columns:1fr;gap:22px}.news-heading{gap:20px}.news-heading .text-link{font-size:13px;gap:9px;margin-bottom:3px}.news-art{height:220px}.feature-copy{padding:25px}.feature-copy h3{font-size:21px}.news-list>a{grid-template-columns:61px 1fr 13px;min-height:143px;gap:16px}.news-list>a:first-child{padding-top:23px}.news-list h3{font-size:16px;line-height:1.5}.news-category{font-size:8px}.contact{padding:48px 0}.contact-inner{display:block}.contact h2{font-size:34px}.contact p:last-child{font-size:15px;margin-top:20px}.contact .button{margin-top:30px;padding:17px 22px;min-width:0;font-size:15px}.footer-grid{grid-template-columns:1fr 1fr;gap:35px 20px;padding-bottom:30px}.footer-brand{grid-column:1/-1}.footer-wordmark{font-size:28px}footer{padding-top:44px}.footer-brand>p{font-size:14px}.group-link{margin-top:18px}.footer-grid h3{font-size:14px}.footer-grid>div:not(:first-child)>a,.footer-grid>div>button{font-size:12px;line-height:1.5}.address{font-size:11px}.footer-bottom{font-size:10px;gap:15px;padding-block:21px}.footer-bottom a{white-space:nowrap}dialog{padding:34px 25px}dialog h2{font-size:26px}dialog>p:not(.eyebrow){font-size:16px}dialog .button{font-size:13px;padding:17px;gap:14px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}}
/* Overall review: clear language state and readable mobile banner. */
.language .current-language{color:var(--ink);font-weight:700}
.language>a{color:#64768b;font-weight:400;padding:10px 0 10px 3px}
.language>a:hover{color:var(--blue)}
.banner-mobile-copy{display:none}
@media(max-width:700px){
 .banner{height:clamp(240px,52vw,360px);aspect-ratio:auto}
 .banner>img,.banner canvas{object-fit:cover;object-position:right center}
 .banner:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#031b40ed 0%,#031b40a8 45%,#031b4033 100%);pointer-events:none}
 .banner-mobile-copy{display:flex;position:absolute;z-index:1;left:40px;right:40px;top:50%;transform:translateY(calc(-50% - 16px));flex-direction:column;color:white;pointer-events:none;text-shadow:0 2px 16px #00132966}
 .banner-mobile-prefix{font-size:23px;line-height:1.3;font-weight:400}
 .banner-mobile-prefix:empty,.banner-mobile-caption:empty{display:none}
 .banner-mobile-value{font-size:clamp(62px,15vw,86px);line-height:1.08;font-weight:700;letter-spacing:-2px}
 .banner-mobile-caption{font-size:19px;line-height:1.35;max-width:280px;margin-top:9px}
 .banner-arrow,.banner-controls{z-index:2}
 .banner-arrow{border:0;background:transparent;backdrop-filter:none;width:32px;height:44px;top:calc(50% - 38px)}
 .banner .previous{left:0}.banner .next{right:0}
 .banner-controls{height:40px;bottom:12px;gap:10px;padding-inline:12px}
 .banner-dots{gap:0}
 .banner-dots button{width:28px;height:32px;position:relative;background:none;border-radius:0}
 .banner-dots button:after{content:"";position:absolute;width:7px;height:7px;left:50%;top:50%;transform:translate(-50%,-50%);border-radius:10px;background:#ffffff80}
 .banner-dots button[aria-pressed=true]{width:32px;background:none}
 .banner-dots button[aria-pressed=true]:after{width:23px;background:#fff}
 .banner .pause{width:32px;height:32px}
}
