img, iframe {max-width: 100%; height: auto} html,body{-webkit-text-size-adjust:100%;text-size-adjust:100%} :root { --main-bg: #fff; --light: #f5f5f5; --light-comp: #4d4d4d; --dark: #333; --dark-comp: #fff; --primary: #512863; --primary-comp: #fff; --secondary: #6B427D; --secondary-comp: #fff; --accent: #1ba2b6; --dark-accent: #1ba2b6; --bg: #f7f8fb; --surface: #ffffff; --surface-alt: #f3f4f8; --text: #1f2230; --muted: #5f677d; }@property --grad-btn-start { syntax: '<color>'; inherits: false; initial-value: #512863; }@property --grad-btn-end { syntax: '<color>'; inherits: false; initial-value: #1ba2b6; } *:focus, *:focus-visible { outline-offset: 4px }html, body { overflow-xs: hidden; }body, ::placeholder { font-family: 'Montserrat','Montserrat-fallback'; font-size: 18px; line-height: 1.5; }body { text-align: center; }body, nav a, .solutions .grid a, .contact a { color: var(--light-comp, #4d4d4d); }body, header ul, .hero h1, .hero p { padding: 0; margin: 0; }h1, h2, h3, h4, h5, h6, p, th, td, dd, dt, li, blockquote { text-align: left; }h1, h2, h3, h4, h5, h6 { text-wrap: balance; }h1, .home h2 { color: var(--dark, #333); }img, iframe { max-width: 100%; height: auto; display: block; margin: 0 auto }iframe { aspect-ratio: auto 16 / 9; width: 100%; margin: 1em auto; }a img, iframe { border: none; }a, .featured .btn { transition: ease-in-out .3s; }a, :is(header a, form input[type=submit], .btn, .featured a, .contact a, .solutions a):is(:hover, :focus) { text-decoration: none; }a, header a:is(:hover, :focus), .featured a:is(:hover, :focus) h3, .contact a:is(:hover, :focus), .solutions a:is(:hover, :focus) h2, .different h3 span { color: var(--secondary); }a:is(:hover,:focus) { text-decoration: underline; }hr { border-width: 1px; border-color: var(--light, #e7e7e7); border-style: none none solid; margin: 40px 0; }.imgLeft, .imgRight { max-width: 45%; }.imgLeft { float: left; margin: 10px 4% 2% 0; }.imgRight { float: right; margin: 10px 0 2% 4%; }.clear { clear: both; }.nowrap, a[href^=tel]:not(.top) { white-space: nowrap; }sup { line-height: 0; }.hide { display: none !important; }.center, .ccpaNotice, .hero h1, .hero p, .cta h2, .cta p, .contact li, .featured h2, .featured h3, .stats p, .path h2 { text-align: center; }.wrap { display: block; max-width: 1080px; margin: 0 auto; position: relative; }.bg-dark, .bg-primary, .bg-primary a, .bg-secondary, .bg-secondary a, .top:is(:hover, :focus), .hero h1, .hero p, .featured a:is(:hover, :focus) .btn { color: var(--dark-comp); }.bg-dark { background-color: var(--dark, #333); }.bg-primary { background-color: var(--primary); }.bg-secondary, .top:is(:hover, :focus), .featured a:is(:hover, :focus) .btn { background-color: var(--secondary); }.bg-light { background-color: var(--light, #f5f5f5); color: var(--light-comp, #4d4d4d); }.mid { align-items: center; align-self: center; }.grid, .latest .posts { display: grid; grid-gap: 24px }.grid.half, .latest .posts { grid-template-columns: repeat(2,1fr); }.grid.third { grid-template-columns: repeat(3,1fr); }.grid.fourth { grid-template-columns: repeat(4,1fr); }.bgimg { position: relative }.bgimg > img:first-of-type { position: absolute; width: 100%; height: 100%; inset: 0; object-fit: cover; z-index: 0 }.bgimg > :not(img) { z-index: 2 }.bgimg:before, .bgimg:after { z-index: 1 } .top, .subfoot, .stats, .contact h3 span { font-size: 16px; }header .wrap, footer .wrap { padding: 20px 10px; }header .grid { grid-template-columns: 200px 1fr; }header img { max-width: 300px; width: 100% }nav ul { text-align: right; }.top { display: block; padding: 10px; white-space: normal; }nav li, .social li { display: inline-block; }nav a { display: block; margin: 5px; padding: 5px } .hero { background-size: cover; background-position: center; position: relative; }.hero:before { content: ""; width: 100%; height: 100%; background-color: rgba(0,0,0,.4); position: absolute; inset: 0; }.hero { height: 300px; display: flex; align-items: center }.hero h1, .hero p { padding: 0 10px; text-shadow: 0 0 5px rgba(0,0,0,.8); }.hero h1 { font-size: 32px; line-height: 1.3; }.hero .btn { margin-top: 40px; padding: 15px 40px; } .featured .wrap, .stats .wrap, .change .wrap, .different .wrap, .latest .wrap { padding: 40px 10px; }.featured .grid { grid-gap: 10px; padding: 20px 0; }.featured a { position: relative; }.featured img { object-fit: cover; width: 100%; min-height: 200px; }.featured h3, .stats p { margin: 0; }.featured .btn { background-color: transparent; color: transparent; position: absolute; top: 30%; left: 50%; transform: translate(-50%); }.featured a:is(:hover,:focus) .btn { box-shadow: 0 0 10px rgba(0,0,0,.6); }.stats .grid { padding: 20px 0 40px; }.change li { margin: 10px 0; }.path .wrap { padding: 40px 10px 50px; }.different h3 { margin-bottom: 0; }.different h3 span { font-size: 32px; font-weight: 400; vertical-align: middle; padding-right: 5px; }.latest .posttags, .latest .postcats, .latest .post p a { display: none; }.latest .btn { margin: 40px 0 20px; } form { margin: 20px 0; }form .grid { grid-gap: 0 10px; }form label { text-align: left; margin-bottom: 10px; }form :is(input,textarea,label) { display: block; font-size: 16px }form ::placeholder { font-size: 16px }form :is(input,textarea) { padding: 10px; border: 1px solid var(--dark-comp); box-sizing: border-box; width: 100% }form textarea { height: 100px; }form input[type=submit], .btn { display: inline-block; min-width: 110px; text-align: center; line-height: 1.6; background: linear-gradient(135deg, var(--grad-btn-start), var(--grad-btn-end)); color: var(--primary-comp, #fff); padding: 14px 32px; margin: 1em 0; border: 1px solid transparent; border-radius: 999px; font-weight: 600; transition: ease-in-out .3s, --grad-btn-start .3s ease, --grad-btn-end .3s ease; text-wrap: balance }form input[type=submit] { width: auto; min-width: 250px; margin: 0; }form input[type=submit]:is(:hover,:focus), .btn:is(:hover,:focus) { cursor: pointer; --grad-btn-start: #6b4a92; --grad-btn-end: #139db6; color: var(--primary-comp, #fff); }form input, form textarea, ::placeholder { color: var(--dark, #333); } .subfoot .grid { grid-template-columns: 1fr 150px; grid-gap: 0 }.cta:before { background-color: rgba(0,0,0,.5); }.cta .wrap { padding: 40px 10px 50px; }.cta form { margin-top: 40px; }.ccpaNotice { text-align: center !important; } main { padding: 30px 10px 50px; }main h1, main h2 { font-size: 24px; }main h3 { font-size: 20px; }main h4 { font-size: 18px; }main ul, main ol { padding-left: 25px; }main li { margin: 5px 0; }.nolist, .contact ul { list-style: none; padding-left: 0; }.solutions .grid { padding-top: 20px; }.solutions .grid h2 { margin-top: 0; }.solutions iframe { margin-top: 50px; }.contact .grid { grid-gap: 20px; padding: 40px 0; }.contact .grid > div { padding: 20px; }.contact h3 span { display: block; }.social svg { padding: 5px; } body:has(.home-page) .hero { min-height: 760px; color: #fff; position: relative; }body:has(.home-page) .hero:before { background-image: linear-gradient(180deg,rgba(19,16,40,.35),rgba(19,16,40,.78)); }body:has(.home-page) .hero .wrap { max-width: 900px; padding: 100px 20px; top: auto; transform: none; }body:has(.home-page) .hero h1 { font-size: clamp(2.4rem,3.5vw,4rem); line-height: 1.05; margin-bottom: 1rem; letter-spacing: -0.02em; text-shadow: 0 20px 45px rgba(0,0,0,.28); margin-left: auto; margin-right: auto; display: block; }body:has(.home-page) .hero p { font-size: 18px; max-width: 600px; margin: 1rem auto 0; color: rgba(255,255,255,.92); letter-spacing: -0.01em; text-align: center; display: block;text-wrap:balance }body:has(.home-page) .hero .btn { display: inline-flex; align-items: center; justify-content: center; background: linear-gradient(135deg,var(--accent),#69418f); color: #fff; border-radius: 999px; padding: 1rem 2rem; font-size: 1rem; box-shadow: 0 18px 35px rgba(18,23,50,.18); margin-top: 2rem; border: 1px solid rgba(255,255,255,.18); }body:has(.home-page) .hero .btn:is(:hover,:focus) { transform: translateY(-1px); box-shadow: 0 22px 42px rgba(18,23,50,.22); } body:has(.home-page) { overflow-x: hidden; }body:has(.home-page) main { padding: 0; }body:has(.home-page) main > .wrap { max-width: 100%; } .home-page .wrap { max-width: 1180px; }.home-page .center { max-width: 800px; margin: 0 auto; text-align: center; }.home-page .bg-light { background: var(--surface-alt); }.home-page .bg-primary { background: var(--accent); color: #fff; }.home-page .bg-primary a, .home-page .bg-primary .btn { color: #fff; }.home-page .imgLeft, .home-page .imgRight { max-width: 100%; float: none; margin: 0; } .featured, .stats, .change, .path, .different, .latest { padding: 80px 0; }.featured { background: var(--bg); }.stats { background: transparent; }.latest { background: var(--bg); }.different { background: #fff; }.featured .wrap, .stats .wrap, .change .wrap, .path .wrap, .different .wrap, .latest .wrap { padding: 0 20px; }.featured h2, .stats h2, .change h2, .path h2, .different h2, .latest h2 { font-size: clamp(1.75rem,2.2vw,2.4rem); margin-bottom: 1rem; color: var(--text); }.featured .grid { gap: 24px; padding: 0; margin-top: 2rem; }.featured a { border-radius: 24px; background: #fff; box-shadow: 0 20px 45px rgba(22,28,45,.06); transition: transform .3s ease,box-shadow .3s ease; border: 1px solid rgba(81,40,99,.08); overflow: hidden; }.featured a:is(:hover,:focus) { transform: translateY(-6px); box-shadow: 0 30px 60px rgba(22,28,45,.12); }.featured img { width: 100%; height: 260px; object-fit: cover; display: block; }.featured h3 { padding: 24px 24px 26px; font-size: 1.25rem; color: var(--text); margin: 0; }.featured .btn { position: absolute; top: 20px; right: 20px; background: rgba(255,255,255,.95); color: var(--text); border-radius: 999px; padding: .75rem 1.2rem; opacity: .95; left: auto; transform: none; }.featured a:is(:hover,:focus) .btn { opacity: 1; box-shadow: none; }.stats .wrap { border: none; box-shadow: none; }.stats .grid div { padding: clamp(10px, 3vw, 40px); border-radius: 28px; background: var(--surface); box-shadow: 0 20px 40px rgba(23,28,45,.06); }.stats svg { margin-bottom: 20px; }.stats p { color: var(--muted); font-size: 1rem; line-height: 1.8; }.change { padding: 100px 0; overflow: hidden; }.change::before { content: ""; position: absolute; inset: 0; background: rgba(255,255,255,0.7); pointer-events: none; }.change::after { content: ""; position: absolute; bottom: 10%; right: 8%; width: 240px; height: 240px; background: rgba(81,40,99,.08); border-radius: 50%; filter: blur(20px); pointer-events: none; }.change .wrap { display: grid; grid-template-columns: 1fr; gap: 40px; max-width: 1120px; margin: 0 auto; padding: 0 24px; }.change-top { display: grid; gap: 24px; align-items: start; }.change-top .eyebrow { display: inline-flex; align-items: center; color: var(--accent); text-transform: uppercase; letter-spacing: .2em; font-size: .85rem; font-weight: 700; }.change-top h2 { margin: 0; color: var(--text); font-size: clamp(2.25rem,3.5vw,3.8rem); line-height: 1.05; }.change-top p { margin: 0; color: var(--muted); font-size: 1.03rem; line-height: 1.85; max-width: 760px; }.change-cards { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 24px; }.change-card { background: #fff; border-radius: 26px; padding: 28px; box-shadow: 0 24px 50px rgba(22,28,45,.06); transition: transform .3s ease,box-shadow .3s ease; }.change-card:is(:hover,:focus) { transform: translateY(-6px); box-shadow: 0 32px 60px rgba(22,28,45,.1); }.change-card h3 { margin-top: 0; margin-bottom: 0.85rem; font-size: 1.2rem; color: var(--text); }.change-card p { margin: 0; color: var(--muted); line-height: 1.8; }.change-feature { display: grid; grid-template-columns: minmax(260px,1fr); gap: 24px; align-items: stretch; }.change-feature-card { grid-column: 1 / -1; background: #fff; border-radius: 32px; padding: 32px; box-shadow: 0 30px 90px rgba(15,22,40,.08); }.change-feature-card h3 { margin: 0 0 1rem; font-size: 1.5rem; color: var(--text); }.change-feature-card p { margin: 0; color: var(--muted); line-height: 1.85; }.change-feature-card .btn { margin-top: 1.75rem; }.path { background: var(--accent); color: #fff; }.path .wrap { max-width: 980px; }.path iframe { border: none; border-radius: 24px; box-shadow: 0 24px 80px rgba(0,0,0,.2); margin: 32px auto 0; }.different h3 { display: flex; align-items: flex-start; gap: 16px; margin-top: 1.5rem; font-size: 1.35rem; margin-bottom: 0; }.different h3 span { flex-shrink: 0; display: inline-flex; align-items: center; justify-content: center; width: 54px; height: 54px; border-radius: 50%; background: var(--accent); color: #fff; font-size: 1.1rem; font-weight: 700; box-shadow: 0 10px 30px rgba(12,20,33,.18); margin-top: 4px; padding: 0; vertical-align: unset; }.different p { color: var(--muted); margin-bottom: 1.5rem; line-height: 1.8; }.latest .wrap { max-width: 1080px; }.latest .btn { margin: 40px auto 0; display: inline-flex; } body:has(.solutions-page) main { padding: 0; }body:has(.solutions-page) main > .wrap { max-width: 100%; padding: 0; }.solution-section { padding: 80px 0; }.solution-section:nth-child(even) { background: var(--bg); }.solution-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 60px; align-items: center; padding: 0 10px }.solution-section:nth-child(even) img { order: 2; }.solution-grid img { border-radius: 24px; width: 100%; height: 100%; object-fit: cover; display: block; box-shadow: 0 24px 60px rgba(22,28,45,.1); }.solution-content h2 { font-size: clamp(1.75rem,2.5vw,2.5rem); color: var(--text); margin-bottom: 1rem; }.solution-content p { color: var(--muted); line-height: 1.85; margin-bottom: 1.5rem; }.solution-content .btn { margin-top: 0.5rem; } @media(max-width:999px) { .featured .grid { grid-template-columns: 1fr 1fr }} @media (max-width: 767px) { .top { font-size: 13px } nav ul { text-align: center } header .grid, .grid.half, .grid.third, .grid.fourth, .change-cards,.latest .posts { grid-template-columns: 1fr } .featured .grid { grid-template-columns: 1fr 1fr } body:has(.home-page) .hero { min-height: unset; height: auto } body:has(.home-page) .hero .wrap { padding: 60px 20px; } .featured, .stats, .different, .latest { padding: 48px 0; } .change { padding: 60px 0; } .solution-grid { grid-template-columns: 1fr; gap: 32px; } .solution-section:nth-child(even) img { order: unset; } .solution-section { padding: 48px 0; } .solution-grid img { height: clamp(250px, 50vw, 350px) }} @media (max-width: 500px) { nav ul { display: grid; grid-template-columns: 1fr 1fr; grid-gap: 0; } .featured .grid, .change-feature, .subfoot .grid { grid-template-columns: 1fr; } nav a, .subfoot p { text-align: center }} @media(max-width:400px){ body main .blogsidebar ul:first-of-type {grid-template-columns:1fr} body main .blogsidebar ul {grid-template-columns:1fr 1fr}}