:root{--blue:#1f6fe0;--surface:#f5f5f5;--muted:#666}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:Arial,Helvetica,sans-serif;color:#111;overflow-x:hidden}
a{text-decoration:none;color:inherit}
img{display:block;max-width:100%}
button,input,textarea,select{font:inherit}
.contact-header{position:absolute;z-index:20;top:0;left:0;width:100%;height:100px;padding:0 max(120px,calc((100vw - 1920px)/2 + 120px));display:flex;align-items:center}
.contact-brand{width:180px;display:flex;align-items:center;gap:8px}
.contact-brand img:first-child{width:28px}
.contact-brand img:last-child{width:116px}
.contact-header nav{display:flex;gap:40px;margin-left:100px;color:rgba(255,255,255,.6);font-size:18px}
.contact-header nav a{position:relative;padding:7px 0;white-space:nowrap}
.contact-header nav a:after{position:absolute;right:0;bottom:0;left:0;height:1px;background:#3087fb;content:"";transform:scaleX(0);transform-origin:center;transition:transform .25s ease}
.contact-header nav a:hover,.contact-header nav a.active{color:#fff}
.contact-header nav a:hover:after,.contact-header nav a.active:after{transform:scaleX(1)}
.contact-demo{margin-left:auto;width:196px;height:48px;border-radius:26px;background:#fff;color:var(--blue);display:grid;place-items:center;font-size:16px;font-weight:700}
.contact-demo:hover{background:var(--blue);color:#fff}
.contact-hero{height:500px;position:relative;overflow:hidden;background:#15191e}
.contact-hero img{position:absolute;width:100%;height:832%;top:-440.47%;object-fit:cover;object-position:center}
.contact-hero-fade{position:absolute;inset:0;background:linear-gradient(180deg,rgba(245,245,245,0) 30.86%,var(--surface) 100%)}
.contact-hero h1{position:absolute;left:0;right:0;top:244px;margin:0;text-align:center;color:#fff;font-size:54px;line-height:1.2;font-weight:400;letter-spacing:0}
.contact-form-section{position:relative;height:auto;min-height:1260px;padding:70px max(120px,calc((100vw - 1920px)/2 + 120px)) 90px;background:var(--surface);scroll-margin-top:100px}
.contact-tabs{position:relative;z-index:4;top:auto;left:auto;display:grid;width:min(1680px,100%);height:90px;margin:0 auto;grid-template-columns:repeat(5,minmax(0,1fr));align-items:end;overflow:hidden;border-radius:20px 20px 0 0}
.contact-tabs button{position:relative;display:flex;width:100%;height:80px;margin:10px 0 0;padding:0 18px 22px;align-items:flex-end;justify-content:center;border:0;border-radius:20px 20px 0 0;color:rgba(0,0,0,.6);background:#c1daff;cursor:pointer;font-size:18px;font-weight:700;line-height:1.15;white-space:normal;text-align:center;transform:none;transition:background-color .28s ease,color .28s ease,height .28s ease}
.contact-tabs button:first-child{width:100%;height:80px;margin-top:10px;background:#b8d4fd;color:rgba(0,0,0,.6)}
.contact-tabs button:nth-child(3){background:#cde1ff}
.contact-tabs button:nth-child(4){background:#d9e8ff}
.contact-tabs button:nth-child(5){background:#e2edff}
.contact-tabs button:hover{color:var(--blue)}
.contact-tabs button.active{z-index:6;height:90px;margin-top:0;background:#fff;color:#000}
.contact-card{position:relative;z-index:5;top:auto;left:auto;width:min(1680px,100%);height:auto;min-height:1090px;margin:0 auto;padding:92px 140px 70px;border:0;border-radius:0 0 20px 20px;background:#fff;transform:none}
.contact-card h2{margin:0 0 60px;text-align:center;color:var(--blue);font-size:48px;line-height:58px;font-weight:400;transition:opacity .16s ease,transform .16s ease}
.contact-card h2.is-changing{opacity:0;transform:translateY(8px)}
.field-grid{width:1160px;max-width:100%;margin:0 auto;display:grid;grid-template-columns:1fr 1fr;column-gap:20px;row-gap:20px}
.field-grid label{display:block;color:#666;font-size:18px;line-height:24px}
.field-grid input,.field-grid textarea,.field-grid select{display:block;width:100%;height:60px;margin-top:8px;padding:0 20px;border:1px solid transparent;border-radius:10px;background:#f3f4f6;color:#222;outline:none;transition:border-color .2s ease,background-color .2s ease}
.field-grid input:focus,.field-grid textarea:focus,.field-grid select:focus{border-color:var(--blue);background:#fff}
.field-grid textarea{height:120px;padding-top:16px;resize:none}
.field-grid .wide{grid-column:1/-1}
.form-mode-fields[hidden]{display:none!important}
.choice-field{min-width:0;margin:0;padding:0;border:0;color:#666}
.choice-field legend{margin:0 0 8px;padding:0;font-size:18px;line-height:24px}
.choice-field label{display:flex;align-items:center;gap:12px;margin:7px 0;font-size:18px;line-height:22px}
.choice-field input[type="radio"]{appearance:none;width:20px;height:20px;flex:0 0 20px;margin:0;padding:0;border:1px solid var(--blue);border-radius:50%;background:#fff}
.choice-field input[type="radio"]:checked{border:5px solid #fff;background:var(--blue);box-shadow:0 0 0 1px var(--blue)}
.file-field .file-drop{position:relative;display:flex;width:100%;height:60px;margin-top:8px;padding:0 20px;align-items:center;justify-content:space-between;overflow:hidden;border-radius:10px;background:#f3f4f6;color:#777}
.file-field .file-drop strong{color:var(--blue);font-size:15px;text-transform:uppercase}
.file-field input[type="file"]{position:absolute;inset:0;width:100%;height:100%;margin:0;padding:0;opacity:0;cursor:pointer}
.consent{width:1160px;max-width:100%;margin:20px auto 40px;display:flex;align-items:flex-start;gap:12px;color:#555;font-size:20px;line-height:24px}
.consent input{appearance:none;width:16px;height:16px;flex:0 0 16px;margin:3px 0 0;border:1px solid #999;border-radius:50%;background:#fff}
.consent input:checked{border:4px solid #fff;background:var(--blue);box-shadow:0 0 0 1px var(--blue)}
.submit{display:block;min-width:140px;height:48px;margin:0 auto;padding:0 40px;border:0;border-radius:40px;background:var(--blue);color:#fff;font-size:16px;font-weight:700;cursor:pointer;transition:transform .25s ease,background-color .25s ease}
.submit:hover{transform:scale(1.035);background:#075fcf}
.office-section{position:relative;min-height:calc(100vh - var(--global-header-height,80px));padding:64px max(120px,calc((100vw - 1920px)/2 + 120px)) 72px;overflow:hidden;background:#fff}
.office-copy{padding:0}
.office-copy h2{width:min(1286px,100%);margin:0;color:var(--blue);font-size:42px;line-height:50px;font-weight:400}
.office-copy>p{width:min(1286px,100%);margin:8px 0 0;color:#666;font-size:18px;line-height:23px}
.office-explorer{display:block;width:min(1680px,calc(100vw - 240px));margin:28px auto 0}
.office-carousel{position:relative;padding:0 56px}
.office-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:1fr;column-gap:72px;overflow:hidden;transition:opacity .18s ease,transform .18s ease}
.office-list.is-leaving-next{opacity:0;transform:translateX(-22px)}
.office-list.is-leaving-prev{opacity:0;transform:translateX(22px)}
.office-list.is-entering-next{animation:office-page-in-next .34s cubic-bezier(.22,1,.36,1)}
.office-list.is-entering-prev{animation:office-page-in-prev .34s cubic-bezier(.22,1,.36,1)}
@keyframes office-page-in-next{from{opacity:0;transform:translateX(24px)}to{opacity:1;transform:none}}
@keyframes office-page-in-prev{from{opacity:0;transform:translateX(-24px)}to{opacity:1;transform:none}}
.office-page-arrow{position:absolute;z-index:3;top:50%;display:grid;width:46px;height:46px;padding:0;place-items:center;border:1px solid rgba(31,111,224,.28);border-radius:50%;background:#fff;color:var(--blue);font-size:22px;line-height:1;cursor:pointer;transform:translateY(-50%);box-shadow:0 8px 24px rgba(24,62,110,.1);transition:background-color .22s ease,color .22s ease,transform .22s ease,opacity .22s ease}
.office-page-arrow:hover,.office-page-arrow:focus-visible{background:var(--blue);color:#fff;outline:0;transform:translateY(-50%) scale(1.06)}
.office-page-arrow:disabled{opacity:.28;cursor:default;box-shadow:none}
.office-page-arrow:disabled:hover{background:#fff;color:var(--blue);transform:translateY(-50%)}
.office-page-prev{left:0}.office-page-next{right:0}
.office-page-next:not(:disabled){right:18px;border-color:var(--blue);background:var(--blue);color:#fff}
.office-page-status{display:flex;height:22px;align-items:center;justify-content:center;gap:8px}
.office-page-status span{width:7px;height:7px;border-radius:50%;background:#c8d9ef;transition:width .24s ease,background-color .24s ease}
.office-page-status span.active{width:24px;border-radius:999px;background:var(--blue)}
.office-map-shell{position:relative;z-index:1;width:100%;height:clamp(340px,34vh,390px);min-height:0;margin-top:14px;overflow:hidden;background:#d7e7e3;box-shadow:0 12px 28px rgba(22,50,78,.08)}
.office-map{width:100%;height:100%;overflow:hidden;background:#d7e7e3}
.office-map-hint{position:absolute;z-index:500;top:18px;right:18px;margin:0;padding:10px 14px;border-radius:999px;background:rgba(255,255,255,.9);box-shadow:0 8px 24px rgba(22,50,78,.12);color:#486070;font-size:13px;pointer-events:none;backdrop-filter:blur(10px)}
.office-card{min-height:154px;padding:18px 12px 16px;border-top:1px solid var(--blue);background:#fff;transition:background-color .25s ease,padding-left .25s ease,opacity .2s ease}
.office-card[hidden]{display:none}
.office-card.is-active{padding-left:22px;background:#f3f7ff}
.office-card h3{margin:0 0 10px;color:var(--blue);font-size:21px;line-height:24px;text-transform:uppercase}
.office-focus{display:block;margin:0;padding:0;border:0;background:transparent;color:inherit;font:inherit;font-weight:700;text-align:left;text-transform:inherit;cursor:pointer;transition:opacity .2s ease}
.office-focus:hover,.office-focus:focus-visible{opacity:.68;outline:none}
.office-card.is-active .office-focus{opacity:1}
.office-card p,.office-card a{margin:0;color:#666;font-size:16px;line-height:21px}
.office-card a{color:var(--blue)}
.office-map .leaflet-tile-pane{filter:saturate(.74) contrast(.94) brightness(1.04)}
.office-map .leaflet-control-attribution{font-size:10px}
.office-map .leaflet-popup-content-wrapper{border-radius:8px;box-shadow:0 8px 28px rgba(0,0,0,.18)}
.office-map .leaflet-popup-content{min-width:230px;margin:14px 16px;color:#555;font-size:13px;line-height:18px}
.office-map .leaflet-popup-content strong{display:block;margin-bottom:4px;color:var(--blue);font-size:15px;line-height:20px}
.office-map .leaflet-popup-content span{display:block}
.office-marker{position:relative;width:22px;height:22px;border:4px solid #fff;border-radius:50%;background:var(--blue);box-shadow:0 0 0 6px rgba(31,111,224,.16),0 3px 8px rgba(0,0,0,.28)}
.office-marker.hq{background:#d64034;box-shadow:0 0 0 6px rgba(214,64,52,.16),0 3px 8px rgba(0,0,0,.28)}
.contact-footer{position:relative;min-height:477px;padding:90px max(120px,calc((100vw - 1920px)/2 + 120px));display:grid;grid-template-columns:2fr repeat(4,1fr);gap:65px;border-top:1px solid #eee;background:#fff}
.contact-footer>div:first-child p{width:360px;margin-top:65px;color:#666}
.contact-footer h4{color:var(--blue)}
.contact-footer>div:not(:first-child){display:flex;flex-direction:column;gap:16px}
.legal{position:absolute;left:max(120px,calc((100vw - 1920px)/2 + 120px));bottom:20px;color:#999;font-size:14px}
.privacy{position:absolute;right:max(120px,calc((100vw - 1920px)/2 + 120px));bottom:20px;color:#999;font-size:14px}

@media(max-width:1320px){.contact-header{padding:0 48px}
.contact-header nav{gap:24px;margin-left:45px;font-size:16px}
.contact-form-section{min-height:0;padding:56px 48px 90px}
.contact-tabs{height:72px;border-radius:16px 16px 0 0}
.contact-tabs button,.contact-tabs button:first-child{width:100%;min-width:0;height:64px;margin:8px 0 0;padding:0 12px 18px;border-radius:14px 14px 0 0;font-size:16px}
.contact-tabs button.active{height:72px}
.contact-card{width:100%;min-height:0;padding:72px 8vw;margin:0;border-radius:0 0 16px 16px}
.office-section{height:auto;min-height:0;overflow:hidden;padding:64px 7vw 72px}
.office-copy{padding:0}
.office-copy h2,.office-copy>p{width:100%}
.office-explorer{width:100%;margin-top:28px}
.office-map-shell{height:400px;min-height:0}
.office-card{min-height:168px}
.contact-footer{padding:80px 48px}
}

@media(max-width:760px){.contact-header{height:72px;padding:0 22px}
.contact-brand{width:auto}
.contact-header nav,.contact-demo{display:none}
.contact-hero{height:420px}
.contact-hero img{height:520%;top:-265%}
.contact-hero h1{top:190px;padding:0 24px;font-size:38px}
.contact-form-section{padding:70px 20px}
.contact-form-section{scroll-margin-top:80px}
.contact-tabs{display:flex;width:calc(100% + 40px);height:58px;margin:0 -20px;padding:0 20px;overflow-x:auto;border-radius:0;scroll-snap-type:x proximity;scrollbar-width:none;-webkit-overflow-scrolling:touch}
.contact-tabs::-webkit-scrollbar{display:none}
.contact-tabs button,.contact-tabs button:first-child{width:auto;min-width:150px;height:54px;flex:0 0 150px;margin:4px 0 0;padding:0 12px 14px;border-radius:12px 12px 0 0;font-size:14px;scroll-snap-align:start}
.contact-tabs button.active{height:58px}
.contact-card{padding:54px 22px 50px;border-radius:0 0 14px 14px}
.contact-card h2{margin-bottom:42px;font-size:36px}
.field-grid{grid-template-columns:1fr;row-gap:20px}
.field-grid .wide{grid-column:auto}
.field-grid label{font-size:15px}
.choice-field legend,.choice-field label{font-size:15px}
.consent{font-size:14px;line-height:19px}
.office-section{padding:70px 24px}
.office-copy{padding:0}
.office-copy h2{font-size:38px}
.office-copy>p{font-size:17px}
.office-explorer{display:block;width:100%;margin-top:30px}
.office-carousel{padding:0 42px}
.office-list{grid-template-columns:1fr;column-gap:0}
.office-card{min-height:220px;padding:26px 10px}
.office-card.is-active{padding-left:14px}
.office-map-shell{position:relative;top:auto;width:100%;height:380px;min-height:0;margin-top:12px;box-shadow:none}
.office-page-arrow{width:38px;height:38px;font-size:18px}
.office-map-hint{top:12px;right:12px}
.office-list{grid-template-columns:1fr}
.contact-footer{padding:70px 24px 100px;grid-template-columns:1fr 1fr;gap:40px 24px}
.contact-footer>div:first-child{grid-column:1/-1}
.contact-footer>div:first-child p{width:auto;margin-top:30px}
.legal{left:24px;right:24px;bottom:48px}
.privacy{left:24px;right:auto;bottom:20px}
}
