@import "https://fonts.googleapis.com/css2?family=Inter:ital,opsz,wght@0,14..32,100..900;1,14..32,100..900";.cta{display:inline-block;text-decoration:none;border-width:2px;border-style:solid;border-radius:.3rem;padding:1em .5em 1em 1em;transition:background-color .6s ease;box-sizing:border-box;font-size:clamp(1rem,3vw,1.2rem)}.cta:hover::after{padding-right:0}.cta::after{transition:padding .6s ease;box-sizing:border-box;text-align:right;display:inline-block;padding-right:.5em;width:1.5em;margin-left:.5em;content:"\2192"}.cta-primary{color:#0089fe;border-color:#0089fe}.cta-primary:hover{background:rgba(0,137,254,.1);color:#0089fe}.cta-secondary{color:#37e2a9;border-color:#37e2a9}.cta-secondary:hover{background:rgba(5,219,148,.1);color:#37e2a9}.cta-white{color:#fff;border-color:#fff}.cta-white:hover{background:rgba(255,255,255,.1);color:#fff}section.about-who-we-are{margin:clamp(2rem,20vw,10rem)0}section.about-who-we-are .container div.wrapper{display:grid;grid-template-columns:1.4fr 1fr;grid-column-gap:clamp(2rem,12vh,4rem);grid-template-areas:"a c" "b c"}@media screen and (max-width:1000px){section.about-who-we-are .container div.wrapper{grid-template-columns:2fr 1fr}section.about-who-we-are .container div.wrapper .image img{align-self:flex-start}}@media screen and (max-width:768px){section.about-who-we-are .container div.wrapper{grid-template-columns:1fr;grid-template-areas:"a" "b" "c"}section.about-who-we-are .container div.wrapper .image{display:none;grid-area:c}section.about-who-we-are .container div.wrapper .icon-boxes{grid-template-rows:repeat(4,1fr)!important;grid-template-columns:1fr!important}}section.about-who-we-are .container div.wrapper .text{grid-area:a}section.about-who-we-are .container div.wrapper .icon-boxes{grid-area:b;margin-top:1rem;display:grid;grid-template-columns:repeat(2,1fr);grid-template-rows:repeat(2,1fr);grid-gap:1rem}section.about-who-we-are .container div.wrapper .icon-boxes .box{font-size:1rem;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;border-bottom:solid 1px #c9c9c9;padding:1rem}section.about-who-we-are .container div.wrapper .icon-boxes .box svg{margin-bottom:1rem;width:4rem;height:4rem}section.about-who-we-are .container div.wrapper .image{grid-area:c;display:flex;min-width:0;min-height:0;width:100%;height:100%;align-content:center;justify-content:center;contain:size paint}section.about-who-we-are .container div.wrapper .image img{border-radius:.5rem;object-fit:contain}section.about-experience{margin:clamp(2rem,20vw,10rem)0}section.about-experience .container div.wrapper{display:grid;grid-template-columns:1.2fr 1fr;grid-template-areas:"a c" "b b";grid-gap:1.5rem}section.about-experience .container div.wrapper .text{grid-area:a}section.about-experience .container div.wrapper .cta{grid-area:c;justify-self:flex-end;align-self:flex-start}section.about-experience .container div.wrapper div.icon-boxes{grid-area:b;display:grid;grid-template-columns:repeat(3,1fr);grid-gap:1.75rem}section.about-experience .container div.wrapper div.icon-boxes .box{background-color:#262626;border-radius:.5rem;padding:2rem;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center}section.about-experience .container div.wrapper div.icon-boxes .box svg{margin-bottom:1rem;width:4rem;height:4rem}@media screen and (max-width:660px){section.about-experience .container div.wrapper div.icon-boxes{grid-template-columns:1fr}section.about-experience .container div.wrapper{grid-template-columns:1fr;grid-template-areas:"a" "b" "c"}section.about-experience .container div.wrapper .cta{justify-self:flex-start}}section.services-steps{margin:clamp(2rem,20vw,10rem)0}section.services-steps .container .end-text{display:flex;justify-content:space-between;align-items:center}@media screen and (max-width:768px){section.services-steps .container .end-text{display:block}}section.services-steps .container .end-text div:first-child{flex-basis:60%}section.services-steps .container .steps-box{padding:2rem 0}@media screen and (max-width:768px){section.services-steps .container .steps-box{padding:0}}section.services-steps .container .steps-box ol{display:flex;flex-wrap:wrap;list-style:none;padding:0;align-items:flex-start;justify-content:space-between;counter-reset:li}section.services-steps .container .steps-box ol:after{content:"";flex-basis:30%}section.services-steps .container .steps-box ol li{flex-basis:30%;border:1px solid #8d8e92;border-left:6px solid #0089fe;padding:.25rem 1rem 1rem;min-height:9rem}section.services-steps .container .steps-box ol li:before{counter-increment:li;content:counter(li,decimal-leading-zero)".";display:block;font-size:3rem;font-weight:300;padding-bottom:.75rem}section.services-steps .container .steps-box ol li:nth-child(2),section.services-steps .container .steps-box ol li:nth-child(5),section.services-steps .container .steps-box ol li:nth-child(8){margin-top:2rem}section.services-steps .container .steps-box ol li:nth-child(3),section.services-steps .container .steps-box ol li:nth-child(6),section.services-steps .container .steps-box ol li:nth-child(9){margin-top:4rem}@media screen and (max-width:1000px){section.services-steps .container .steps-box ol li{flex-basis:48%;margin-top:0!important;margin-bottom:2rem}section.services-steps .container .steps-box ol li:after{display:none}}@media screen and (max-width:768px){section.services-steps .container .steps-box ol li{flex-basis:100%}section.services-steps .container .steps-box ol li:after{display:none}}section.services-fit{margin:clamp(2rem,20vw,10rem)0}section.services-fit .container div.text{display:flex;justify-content:space-between;align-items:flex-start}section.services-fit .container div.text div:first-child{flex-basis:60%}section.services-fit .container div.text .cta{align-self:flex-start}@media screen and (max-width:768px){section.services-fit .container div.text{display:block}}section.services-fit .container .fit-wrapper{margin-bottom:6rem;display:grid;grid-template-columns:repeat(3,1fr);grid-gap:1rem;margin-top:2rem}@media screen and (max-width:768px){section.services-fit .container .fit-wrapper{grid-template-columns:repeat(2,1fr)}section.services-fit .container .fit-wrapper h4{grid-row:1!important;grid-column:1/span 2;max-width:100%!important;justify-self:flex-start!important}}@media screen and (max-width:600px){section.services-fit .container .fit-wrapper{grid-template-columns:1fr}section.services-fit .container .fit-wrapper h4{grid-row:1!important;grid-column:1;max-width:100%!important;justify-self:flex-start!important;word-wrap:revert}}section.services-fit .container .fit-wrapper:last-child{margin-bottom:0}section.services-fit .container .fit-wrapper h4{grid-row:1/span 2;font-size:2rem;max-width:20ch;justify-self:flex-end}section.services-fit .container .fit-wrapper h4:after{content:":"}section.services-fit .container .fit-wrapper .box{display:flex;flex-direction:column;justify-content:flex-start;border-bottom:solid 1px #c9c9c9;padding-bottom:1rem}section.services-fit .container .fit-wrapper .box svg{margin-bottom:1rem;width:4rem;height:4rem}header{z-index:999;position:fixed;top:0;left:0;right:0;transition:all .6s ease-out}header.scrolled{background-color:#1e1e1e}header .container{display:grid;grid-column-gap:16px;grid-row-gap:16px;border-bottom:1px solid rgba(228,229,233,.15);flex:1;grid-template-rows:auto;grid-auto-columns:1fr;grid-template-columns:.3fr 1fr .3fr;height:5em;justify-content:space-between;align-items:center;z-index:2}header .container .branding>img{max-height:3em}@media screen and (max-width:840px){header .container{grid-template-columns:.5fr 1fr .5fr}}@media screen and (max-width:640px){header .container{grid-template-columns:1fr 3fr}}@media screen and (max-width:580px){header .container{display:flex;justify-content:space-between;padding-top:.5em;padding-bottom:.5em}}header #nav-hamburger{display:none}@media screen and (max-width:580px){header #nav-hamburger{display:block;width:2em;height:100%;background-color:#e4e5e9;content:'';-webkit-mask-size:cover;mask-size:cover;-webkit-mask:url(data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20viewBox=%220%200%20448%20512%22%3E%3Cpath%20d=%22M0%2096C0%2078.3%2014.3%2064%2032%2064h384c17.7.0%2032%2014.3%2032%2032s-14.3%2032-32%2032H32C14.3%20128%200%20113.7.0%2096zM0%20256c0-17.7%2014.3-32%2032-32h384c17.7.0%2032%2014.3%2032%2032s-14.3%2032-32%2032H32c-17.7.0-32-14.3-32-32zM448%20416c0%2017.7-14.3%2032-32%2032H32c-17.7.0-32-14.3-32-32s14.3-32%2032-32h384c17.7.0%2032%2014.3%2032%2032z%22/%3E%3C/svg%3E)no-repeat 50% 50%;mask: url(url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 448 512'%3E%3C!--!Font Awesome Free 6.7.2 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2025 Fonticons, Inc.--%3E%3Cpath d='M0 96C0 78.3 14.3 64 32 64l384 0c17.7 0 32 14.3 32 32s-14.3 32-32 32L32 128C14.3 128 0 113.7 0 96zM0 256c0-17.7 14.3-32 32-32l384 0c17.7 0 32 14.3 32 32s-14.3 32-32 32L32 288c-17.7 0-32-14.3-32-32zM448 416c0 17.7-14.3 32-32 32L32 448c-17.7 0-32-14.3-32-32s14.3-32 32-32l384 0c17.7 0 32 14.3 32 32z'/%3E%3C/svg%3E")) no-repeat 50% 50%; } header #nav-hamburger.active { -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 384 512'%3E%3C!--!Font Awesome Free 6.7.2 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2025 Fonticons, Inc.--%3E%3Cpath d='M342.6 150.6c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0L192 210.7 86.6 105.4c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3L146.7 256 41.4 361.4c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0L192 301.3 297.4 406.6c12.5 12.5 32.8 12.5 45.3 0s12.5-32.8 0-45.3L237.3 256 342.6 150.6z'/%3E%3C/svg%3E") no-repeat 50% 50%; mask: url(url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 384 512'%3E%3C!--!Font Awesome Free 6.7.2 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2025 Fonticons, Inc.--%3E%3Cpath d='M342.6 150.6c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0L192 210.7 86.6 105.4c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3L146.7 256 41.4 361.4c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0L192 301.3 297.4 406.6c12.5 12.5 32.8 12.5 45.3 0s12.5-32.8 0-45.3L237.3 256 342.6 150.6z'/%3E%3C/svg%3E")) no-repeat 50% 50%; } } @media screen and (max-width: 580px) { header .primary-navigation { height: 100vh; width: 100vw; position: fixed; top: 0; left: 100vw; z-index: -1; background-color: #1E1E1E; font-size: 1.4em; line-height: 1em; transition: transform .4s ease-out; padding-top: 5em; overscroll-behavior: contain; overscroll-behavior-block: contain; } header .primary-navigation.activated { transform: translateX(-100vw); } header .primary-navigation ul { flex-direction: column; } header .primary-navigation li { display: block; text-align: center; } header .primary-navigation li a { height: 4em !important; width: 100%; } header .primary-navigation li a.active { border-bottom: none !important; } } header .primary-navigation ul { display: flex; list-style-type: none; margin: 0; padding: 0; overflow: hidden; justify-content: center; } header .primary-navigation li a { height: 5em; color: #C9C9C9; text-decoration: none; align-content: center; padding: 1em; font-weight: 600; display: inline-block; transition: color 0.3s ease; } header .primary-navigation li a:hover { color: #8D8E92; } header .primary-navigation li a.active { color: #0089FE; border-bottom: 2px solid #0089FE; } header .primary-navigation li.contact { display: none; } @media screen and (max-width: 640px) { header .primary-navigation li.contact { display: inherit; } } header a.cta { justify-self: flex-end; font-size: 1rem; transition: all 0.6s ease-out; } @media screen and (max-width: 640px) { header a.cta { display: none; } } footer { background-color: #1E1E1E; color: #8D8E92; transition: background-color .5s ease, color .5s ease; } footer .container { padding-top: 3em; padding-bottom: 3em; border-top: 1px solid rgba(228, 229, 233, 0.15); } footer a { color: inherit; text-decoration: none; } footer a:hover { color: #C9C9C9; text-decoration: underline; } footer nav { display: grid; grid-template-columns: 1fr 1fr 1fr; grid-column-gap: 2em; grid-template-rows: auto; grid-auto-columns: 1fr; margin-bottom: 4em; align-items: center; } @media screen and (max-width: 750px) { footer nav { grid-template-columns: 1fr; grid-row-gap: 1em; justify-items: center; margin-bottom: 2em; } footer nav ul { flex-direction: column; } footer nav ul li a { padding: 0.5em 1em; } } footer nav img.logo { max-height: 40px; } footer nav ul { display: flex; list-style-type: none; margin: 0; padding: 0; overflow: hidden; justify-content: center; text-align: center; } footer nav li a { padding: 0 1em; align-content: center; display: inline-block; } footer nav .socials { text-align: right; } footer nav .socials .icon { width: 2.1em; height: 2.1em; display: inline-block; background-color: #8D8E92; content: ''; -webkit-mask-size: cover; mask-size: cover; } footer nav .socials .icon:hover { background-color: #C9C9C9; } footer nav .socials .icon-facebook-square { -webkit-mask: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><!--!Font Awesome Free 6.7.2 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2025 Fonticons, Inc.--><path d="M64 32C28.7 32 0 60.7 0 96V416c0 35.3 28.7 64 64 64h98.2V334.2H109.4V256h52.8V222.3c0-87.1 39.4-127.5 125-127.5c16.2 0 44.2 3.2 55.7 6.4V172c-6-.6-16.5-1-29.6-1c-42 0-58.2 15.9-58.2 57.2V256h83.6l-14.4 78.2H255V480H384c35.3 0 64-28.7 64-64V96c0-35.3-28.7-64-64-64H64z"/></svg>') no-repeat 50% 50%; mask: url(url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><!--!Font Awesome Free 6.7.2 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2025 Fonticons, Inc.--><path d="M64 32C28.7 32 0 60.7 0 96V416c0 35.3 28.7 64 64 64h98.2V334.2H109.4V256h52.8V222.3c0-87.1 39.4-127.5 125-127.5c16.2 0 44.2 3.2 55.7 6.4V172c-6-.6-16.5-1-29.6-1c-42 0-58.2 15.9-58.2 57.2V256h83.6l-14.4 78.2H255V480H384c35.3 0 64-28.7 64-64V96c0-35.3-28.7-64-64-64H64z"/></svg>')) no-repeat 50% 50%; } footer nav .socials .icon-linkedin { -webkit-mask: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><!--!Font Awesome Free 6.7.2 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2025 Fonticons, Inc.--><path d="M416 32H31.9C14.3 32 0 46.5 0 64.3v383.4C0 465.5 14.3 480 31.9 480H416c17.6 0 32-14.5 32-32.3V64.3c0-17.8-14.4-32.3-32-32.3zM135.4 416H69V202.2h66.5V416zm-33.2-243c-21.3 0-38.5-17.3-38.5-38.5S80.9 96 102.2 96c21.2 0 38.5 17.3 38.5 38.5 0 21.3-17.2 38.5-38.5 38.5zm282.1 243h-66.4V312c0-24.8-.5-56.7-34.5-56.7-34.6 0-39.9 27-39.9 54.9V416h-66.4V202.2h63.7v29.2h.9c8.9-16.8 30.6-34.5 62.9-34.5 67.2 0 79.7 44.3 79.7 101.9V416z"/></svg>') no-repeat 50% 50%; mask: url(url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><!--!Font Awesome Free 6.7.2 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2025 Fonticons, Inc.--><path d="M416 32H31.9C14.3 32 0 46.5 0 64.3v383.4C0 465.5 14.3 480 31.9 480H416c17.6 0 32-14.5 32-32.3V64.3c0-17.8-14.4-32.3-32-32.3zM135.4 416H69V202.2h66.5V416zm-33.2-243c-21.3 0-38.5-17.3-38.5-38.5S80.9 96 102.2 96c21.2 0 38.5 17.3 38.5 38.5 0 21.3-17.2 38.5-38.5 38.5zm282.1 243h-66.4V312c0-24.8-.5-56.7-34.5-56.7-34.6 0-39.9 27-39.9 54.9V416h-66.4V202.2h63.7v29.2h.9c8.9-16.8 30.6-34.5 62.9-34.5 67.2 0 79.7 44.3 79.7 101.9V416z"/></svg>')) no-repeat 50% 50%; } footer .legals { display: flex; justify-content: space-between; } @media screen and (max-width: 750px) { footer .legals { flex-direction: column; align-items: center; } footer .legals * { margin-bottom: 1em; } } section.homepage.page-hero { min-height: 98vh; position: relative; } section.homepage.page-hero .content { position: absolute; top: 0; left: 0; height: 100%; width: 50%; background: radial-gradient(circle at bottom right, rgba(0, 137, 254, 0.6) 0%, rgba(0, 137, 254, 0) 70%), radial-gradient(circle at top left, rgba(55, 226, 169, 0.6) 0%, rgba(55, 226, 169, 0) 70%); } @media screen and (max-width: 768px) { section.homepage.page-hero .content { width: 100%; } } section.homepage.page-hero .content .wrapper { width: 100%; height: 100%; overflow: hidden; } section.homepage.page-hero .content svg { color: #C9C9C9; object-fit: cover; height: 100%; width: auto; opacity: 0.02; } section.homepage.page-hero .video { position: absolute; top: 0; right: 0; height: 100%; width: 50%; } @media screen and (max-width: 768px) { section.homepage.page-hero .video { display: none; } } section.homepage.page-hero .video video { height: 100%; width: auto; object-fit: cover; } section.homepage.page-hero .container { max-width: 1600px; margin: 0 auto; display: flex; align-items: flex-start; } section.homepage.page-hero .container .hero-content { display: flex; margin-top: auto; flex-direction: column; max-width: 50%; padding-bottom: 2rem; z-index: 1; } @media screen and (max-width: 768px) { section.homepage.page-hero .container .hero-content { max-width: 100%; } } section.homepage.page-hero .container .cta { align-self: flex-start; } section.homepage.page-hero h1 { font-size: calc(1.1 * clamp(2rem, 5vw, 3.75rem)); margin-bottom: calc(0.25 * clamp(2rem, 5vw, 3.75rem)); } section.homepage.page-hero h2 { color: #8D8E92; margin-bottom: clamp(1.3rem, 3vw, 2rem); font-family: inherit; } section.side-by-side { margin: clamp(2rem, 20vw, 10rem) 0; } section.side-by-side.alt-bg { background-color: #262626; padding: clamp(2rem, 12vh, 4rem) 0; } section.side-by-side .container { display: grid; grid-template-columns: 1fr 1fr; grid-template-rows: 1fr auto; grid-template-areas: "a b" "c b"; } section.side-by-side .container.min { grid-template-columns: 1fr 2fr; } @media screen and (max-width: 768px) { section.side-by-side .container { grid-template-columns: 1fr; grid-template-rows: auto 1fr auto; grid-template-areas: "a" "b" "c"; } section.side-by-side .container.min { grid-template-columns: 1fr; grid-template-rows: auto 1fr auto; grid-template-areas: "a" "b" "c"; } } section.side-by-side .container .title { grid-area: a; display: flex; flex-direction: column; } section.side-by-side .container .title h1, section.side-by-side .container .title h2, section.side-by-side .container .title h3, section.side-by-side .container .title h4, section.side-by-side .container .title h5, section.side-by-side .container .title h6 { max-width: 24ch; } section.side-by-side .container .body { grid-row: 1 / span 2; grid-column: 2; grid-area: b; } section.side-by-side .container a.cta { align-self: flex-end; justify-self: flex-start; grid-area: c; } section.image-strip { margin: clamp(2rem, 20vw, 10rem) 0; padding: clamp(2rem, 12vh, 4rem) 0; position: relative; } section.image-strip:before { content: ""; position: absolute; z-index: -1; top: 0; left: 0; right: 0; height: 100%; background-size: cover; background-position: center center; mask: linear-gradient(90deg, rgba(0, 0, 0, 0.05) 50%, rgba(0, 0, 0, 0.5) 60%, black 100%); } @media screen and (max-width: 768px) { section.image-strip .content { max-width: 100% !important; } section.image-strip:before { mask: linear-gradient(90deg, rgba(0, 0, 0, 0.01) 50%, rgba(0, 0, 0, 0.25) 60%, rgba(0, 0, 0, 0.3) 100%); } } section.image-strip .content { max-width: 50%; } section.image-strip .content h1, section.image-strip .content h2, section.image-strip .content h3, section.image-strip .content h4, section.image-strip .content h5, section.image-strip .content h6 { margin-bottom: 0.75em; } section.image-strip .content a.cta { margin-top: 2rem; } section.block-cta { margin: clamp(2rem, 20vw, 10rem) 0 calc(0.15 * clamp(2rem, 20vw, 10rem)) 0; } section.block-cta .container { position: relative; padding: clamp(2rem, 20vw, 10rem) 0; margin: 0 1rem; } section.block-cta .container:before { content: ""; position: absolute; z-index: -1; top: 0; left: 0; right: 0; height: 100%; background-image: linear-gradient(45deg, #1E1E1E 0%, #1B3D69 18%, #185395 26%, #1563B7 33%, #1170D0 39%, #0C7EE9 44%, #0088FF 50%, #189AF2 56%, #1FADE5 61%, #28BAD7 67%, #2CC9C9 74%, #34D5BA 82%, #36E2A9 100%); opacity: 0.4; border-radius: 0.5rem; } section.block-cta .container .content { display: flex; flex-direction: column; align-items: center; max-width: 80vw; text-align: center; margin: 0 auto; } @media screen and (min-width: 1500px) { section.block-cta .container .content { max-width: 50vw; } } section.block-cta .container .content h3 { margin-bottom: 1rem; } section.block-cta .container .content p { margin-bottom: 3rem; } section.core-hero { position: relative; min-height: clamp(20rem, calc(50vh + 5em), 50rem); background: linear-gradient(90deg, #1E1E1E 14%, rgba(30, 30, 30, 0.4) 50%, rgba(81, 81, 81, 0) 93%), linear-gradient(69deg, #1E1E1E 0%, rgba(30, 30, 30, 0.4) 60%), linear-gradient(45deg, #1E1E1E 0%, #1B3D69 18%, #185395 26%, #1563B7 33%, #1170D0 39%, #0C7EE9 44%, #0088FF 50%, #189AF2 56%, #1FADE5 61%, #28BAD7 67%, #2CC9C9 74%, #34D5BA 82%, #36E2A9 100%); margin-bottom: clamp(2rem, 20vw, 10rem); } section.core-hero.skinny { min-height: clamp(14rem, calc(30vh + 5em), 40rem); margin-bottom: calc(0.5 * clamp(2rem, 20vw, 10rem)); } section.core-hero.core-image { background: linear-gradient(90deg, #1E1E1E 14%, rgba(30, 30, 30, 0.4) 50%, rgba(81, 81, 81, 0) 93%), linear-gradient(69deg, #1E1E1E 0%, rgba(30, 30, 30, 0.4) 60%); } section.core-hero.core-image:before { content: ""; position: absolute; z-index: -1; top: 0; left: 0; right: 0; height: 100%; background-size: cover; background-position: center center; } section.core-hero svg { position: absolute; top: 0; right: 0; height: 100%; width: auto; z-index: 1; color: #C9C9C9; opacity: 0.05; } section.core-hero .container { display: flex; flex-direction: column; justify-content: center; margin-top: 5em; } @media screen and (max-width: 768px) { section.core-hero .container h1, section.core-hero .container h2 { max-width: 100% !important; } } section.core-hero .container h1 { max-width: 50%; display: block; margin: 0 0 1rem 0; font-family: inherit; color: #E4E5E9; font-size: clamp(2rem, 5vw, 3.75rem); font-weight: 300; line-height: 1; } section.core-hero .container h1.secondary { display: block; margin: 0 0 1rem 0; font-family: inherit; color: #8D8E92; font-weight: 300; font-size: clamp(1.3rem, 3vw, 2rem); line-height: 1.3; } section.core-hero .container h1.label { display: block; font-family: inherit; font-size: clamp(1.3rem, 3vw, 2rem); color: #8D8E92; margin: 0 0 0.25rem 0; } section.core-hero .container h2 { max-width: 50%; display: block; margin: 0 0 1rem 0; font-family: inherit; color: #8D8E92; font-weight: 300; font-size: clamp(1.3rem, 3vw, 2rem); line-height: 1.3; } section.core-hero .container h2.primary { display: block; margin: 0 0 1rem 0; font-family: inherit; color: #E4E5E9; font-size: clamp(2rem, 5vw, 3.75rem); font-weight: 300; line-height: 1; } section.intro-text { margin: clamp(2rem, 20vw, 10rem) 0; } section.intro-text .container { display: flex; flex-direction: row; justify-content: space-between; } @media screen and (max-width: 768px) { section.intro-text .container { flex-direction: column; } section.intro-text .container div { max-width: 100% !important; margin-bottom: 1rem !important; margin-top: 0 !important; } section.intro-text .container div p { border-bottom: none !important; padding-bottom: 0 !important; } } section.intro-text .container div { max-width: 45%; } section.intro-text .container div:first-child p { font-size: 1.75rem; margin: 0; padding-bottom: 2rem; border-bottom: 1px solid #C9C9C9; } section.intro-text .container div:last-child { margin-top: 5rem; font-size: 1.1rem; } section.contact { margin-top: 10em; } section.contact .container { max-width: 90ch; min-height: 70vh; font-size: clamp(1rem, 2vw, 1.25rem); } section.contact .container h1 { display: block; font-family: inherit; font-size: clamp(1.3rem, 3vw, 2rem); color: #8D8E92; margin: 0 0 0.25rem 0; } section.contact .container h2 { margin: 0 0 clamp(2rem, 3vh, 3rem) 0; font-family: inherit; color: #E4E5E9; font-size: clamp(2rem, 5vw, 3.75rem); line-height: 1; } section.contact .contact-form { text-align: left; font-size: 1rem; display: flex; justify-content: flex-start; margin-top: 3rem; } section.contact .contact-form form { display: grid; grid-column-gap: 1em; grid-row-gap: 1em; grid-template-rows: auto; grid-template-columns: 1fr 1fr; max-width: 900px; width: 100%; margin-bottom: 3em; } @media screen and (max-width: 500px) { section.contact .contact-form form { grid-template-columns: 1fr; } } section.contact .contact-form form span.validation_error { color: #FF6666; display: none; } section.contact .contact-form form span.text_field.invalid input[type="text"], section.contact .contact-form form span.text_field.invalid input[type="email"], section.contact .contact-form form span.text_field.invalid input[type="tel"], section.contact .contact-form form span.text_field.invalid textarea, section.contact .contact-form form span.detail_field.invalid input[type="text"], section.contact .contact-form form span.detail_field.invalid input[type="email"], section.contact .contact-form form span.detail_field.invalid input[type="tel"], section.contact .contact-form form span.detail_field.invalid textarea { color: #FF6666; border-color: #FF6666; background-color: rgba(255, 102, 102, 0.03); } section.contact .contact-form form span.text_field.invalid .validation_error, section.contact .contact-form form span.detail_field.invalid .validation_error { display: block; } section.contact .contact-form form span.radio_field.invalid .validation_error, section.contact .contact-form form span.confirm_field.invalid .validation_error { display: block; } section.contact .contact-form form span.text_field.required label::after, section.contact .contact-form form span.radio_field.required span:not(.validation_error)::after, section.contact .contact-form form span.confirm_field.required label::after { content: " *"; color: #FF6666; } section.contact .contact-form form button[type="submit"] { display: inline-block; border-width: 2px; border-style: solid; border-radius: 0.3rem; padding: 1em 0.5em 1em 1em; transition: background-color .6s ease; box-sizing: border-box; font-size: 1.2rem; color: #37E2A9; border-color: #37E2A9; background: none; width: fit-content; cursor: pointer; } section.contact .contact-form form button[type="submit"]:hover { background: rgba(5, 219, 148, 0.1); color: #37E2A9; } section.contact .contact-form form button[type="submit"]:hover::after { padding-right: 0; } section.contact .contact-form form button[type="submit"]::after { transition: padding .6s ease; box-sizing: border-box; text-align: right; display: inline-block; padding-right: 0.5em; width: 1.5em; margin-left: 0.5em; content: "\2192"; } section.contact .contact-form form button[type="submit"]:disabled { color: rgba(5, 219, 148, 0.3); border-color: rgba(5, 219, 148, 0.3); cursor: default; } section.contact .contact-form form button[type="submit"]:disabled:hover { background-color: inherit; } section.contact .contact-form form button[type="submit"]:disabled:hover::after { padding-right: 0.5em; } section.contact .contact-form form button[type="submit"].loading::after { content: ''; width: 0; } section.contact .contact-form form button[type="submit"].loading::before { box-sizing: border-box; text-align: right; display: inline-block; padding-right: 0.5em; margin-right: 0.5em; content: ''; background-color: rgba(5, 219, 148, 0.3); -webkit-mask-size: cover; mask-size: cover; -webkit-mask: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><!--!Font Awesome Free 6.7.2 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2025 Fonticons, Inc.--><path d="M222.7 32.1c5 16.9-4.6 34.8-21.5 39.8C121.8 95.6 64 169.1 64 256c0 106 86 192 192 192s192-86 192-192c0-86.9-57.8-160.4-137.1-184.1c-16.9-5-26.6-22.9-21.5-39.8s22.9-26.6 39.8-21.5C434.9 42.1 512 140 512 256c0 141.4-114.6 256-256 256S0 397.4 0 256C0 140 77.1 42.1 182.9 10.6c16.9-5 34.8 4.6 39.8 21.5z"/></svg>') no-repeat 50% 50%; mask: url(url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><!--!Font Awesome Free 6.7.2 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2025 Fonticons, Inc.--><path d="M222.7 32.1c5 16.9-4.6 34.8-21.5 39.8C121.8 95.6 64 169.1 64 256c0 106 86 192 192 192s192-86 192-192c0-86.9-57.8-160.4-137.1-184.1c-16.9-5-26.6-22.9-21.5-39.8s22.9-26.6 39.8-21.5C434.9 42.1 512 140 512 256c0 141.4-114.6 256-256 256S0 397.4 0 256C0 140 77.1 42.1 182.9 10.6c16.9-5 34.8 4.6 39.8 21.5z"/></svg>')) no-repeat 50% 50%; width: 1em; height: 1em; animation: rotation 1s linear infinite; } @keyframes rotation { 0% { transform: rotate(0deg); } 100% { transform: rotate(360deg); } } section.contact .contact-form form input[type="text"], section.contact .contact-form form input[type="email"], section.contact .contact-form form input[type="tel"] { display: block; width: 100%; } section.contact .contact-form form input[type="text"]:disabled, section.contact .contact-form form input[type="email"]:disabled, section.contact .contact-form form input[type="tel"]:disabled { border-color: rgba(141, 142, 146, 0.5); color: rgba(141, 142, 146, 0.5); } section.contact .contact-form form textarea { display: block; width: 100%; min-height: 5em; } section.contact .contact-form form textarea:disabled { border-color: rgba(141, 142, 146, 0.5); color: rgba(141, 142, 146, 0.5); } section.contact .contact-form form input[type="radio"], section.contact .contact-form form input[type="checkbox"] { width: 1.15em; height: 1.15em; accent-color: #0089FE; } section.contact .contact-form form span.detail_field, section.contact .contact-form form span.radio_field, section.contact .contact-form form span.confirm_field { grid-column: 1 / -1; } section.contact .contact-form form span.radio_field span:not(.validation_error) { display: block; } section.contact .contact-form form span.radio_field label { display: inline-block; width: 8em; margin-top: 0.25em; } section.contact .contact-form form span.radio_field label input[type="radio"] { margin-right: 0.5em; } section.contact .contact-form form span.confirm_field input[type="checkbox"] { margin-right: 0.5em; } section.contact .contact-form form span.submission-error { grid-column: 1 / -1; display: block; padding: 1em; border-radius: 0.3rem; border: 2px solid #FF6666; color: #FF6666; } section.contact-thanks { margin-top: 10em; } section.contact-thanks .container { max-width: 90ch; min-height: 70vh; text-align: center; font-size: 1.25rem; } section.contact-thanks .container svg { width: 10rem; height: 10rem; margin: 0 auto 2rem auto; color: #05DB94; } *, *::before, *::after { margin: 0; box-sizing: border-box; } body { --webkit-font-smoothing: antialiased; font-family: 'Inter', sans-serif; font-optical-sizing: auto; font-weight: 400; font-style: normal; font-size: 16px; background-color: #1E1E1E; color: #C9C9C9; padding: 0; } img, picture, video, canvas, svg { display: block; max-width: 100%; } input, button, textarea, select { font: inherit; background-color: transparent; color: #C9C9C9; padding: 0.8em 0.5em; border: 1px solid #C9C9C9; border-radius: 0.25em; } p, h1, h2, h3, h4, h5, h6 { overflow-wrap: break-word; } p, ol, ul { text-wrap: pretty; margin-block-start: 1em; margin-block-end: 1em; } h1, h2, h3, h4, h5, h6 { font-family: 'Inter', sans-serif; text-wrap: balance; color: #E4E5E9; font-weight: 300; } h1 { font-size: clamp(2rem, 5vw, 3.75rem); } h2 { font-size: clamp(1.3rem, 3vw, 2rem); } h3 { font-size: clamp(2rem, 4vw, 3rem); } a { color: #99D1FF; transition: all 0.6s ease; } a:hover { color: #CCE7FF; } header:has(.container), footer:has(.container), section:has(.container), article:has(.container) { display: flex; justify-content: space-around; } .container { width: 100%; max-width: 1600px; padding: 0 1rem; } .fade-in-up { opacity: 0; transform: translateY(30px); transition: all 0.6s ease-out; } .fade-in-up.show { opacity: 1; transform: translateY(0); } section.error-page { margin-top: 10em; } section.error-page .container { max-width: 65ch; min-height: 70vh; text-align: center; font-size: 1.25rem; } section.error-page .container h2, section.error-page .container p { margin-bottom: 2rem; } section.error-page .container svg { width: 10rem; height: 10rem; margin: 0 auto 2rem auto; color: #FF6666; } .fixed-background { z-index: -100; width: 100%; height: 100vh; display: flex; position: fixed; inset: 0 0 auto; } .fixed-background .lines-layer { z-index: 0; justify-content: space-around; width: 100%; height: 100%; display: flex; position: absolute; } .fixed-background .line { width: 1px; background-color: #8D8E92; opacity: 0.05; } .fixed-background .dots-layer { z-index: 1; justify-content: space-around; width: 100%; height: 100%; display: flex; position: absolute; } .fixed-background .dot { background-color: #8D8E92; opacity: 0.05; border-radius: 100%; width: 8px; height: 8px; position: relative; } .fixed-background .dot._1 { top: 25vh; } .fixed-background .dot._2 { top: 50vh; } .fixed-background .dot._3 { top: 10vh; } .fixed-background .dot._4 { top: 75vh; } .fixed-background .dot._5 { top: 15vh; } .fixed-background .dot._6 { top: 85vh; } @media screen and (max-width: 768px) { .fixed-background .line:nth-child(even) { display: none; } .fixed-background .dot._2, .fixed-background .dot._3, .fixed-background .dot._6 { display: none; } }}}