/************************************
	Base style
************************************/

@import url('https://fonts.googleapis.com/css2?family=Catamaran:wght@600;800&display=swap');
@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@300;400;500;600;700;900&display=swap');

html { min-height: 100%; height: 100%; overflow-x: hidden; }
body { font-family: 'DM Sans', sans-serif; font-weight: 400; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; margin: 0; padding: 0; overflow-x: hidden; background-color: var(--background); }
.page-body { display: -ms-flexbox; display: flex; -ms-flex-direction: column; flex-direction: column; min-height: 100%; }
.page-flex { -ms-flex: 1; flex: 1; overflow-x: hidden; margin-top: 70px; }
.no-text-highlight { -webkit-user-select: none; -moz-user-select: none; -ms-user-select: none; user-select: none; }
img { display: block; }

/*****************************
  Colours
*****************************/

:root {

    --brand: #000000;
    --brand-light: #000000;
    --brand-lighter: #d0f9e8;
    --brand-dark: #004037;
  
    /*** Main ***/
  
    --white: #fff;
    --off-white: #f3f3f3;
    --black: #000;
    --dark: #202124;
    --background: #ffffff;
    --background-02: #17100e;
    --background-03: #1a1f36;
    --background-04: #e6e4db;
    --background-form-fields: #40455d;
    --border: #E5E5E5;
    --icon: #071d34;

    /*** Typography ***/

    --text-default: #000000;
    --text-sub: #0c2641;
    --text-sub-02: #97a0a8;
    --text-sub-03: #62615c;
    --text-light: #fff;
    --text-dark: #202124;

    /*** Colors ***/

    --red-alert: #ff5252;

    --orange: #f8bcb4;

    --tag: #79f6e2;

    /*** Box shadows ***/

    --box-shadow-main: 0 0 1px rgba(206, 206, 206, 0.4), 0 2px 2px rgba(135, 135, 135, 0.04);
    --box-shadow-menu: 0 0.5rem 1rem 0 rgba(0,0,0,0.0705882353);
    --box-shadow-modal: 0 24px 70px rgba(0, 0, 0, 0.28);



    --green: #2d5138;
    --green-light: #a2ffbd;
    --yellow:#5b4d33;
    --yellow-light: #ffe7bb;
    --red: #601705;
    --red-dark: #bf3715;
    --red-light: #ffa186;
    --blue: #274db5;
    --blue-light: #dae4ff;
    --purple: #42117b;
    --purple-light: #d3aeff;
    --grey: #9a9ea2;
    --grey-light: #353739;
    --red-alert: #ff5252;
    --green-banner: #1ee592;
    --green-success: #1ee592;
    --green-success-light: #193d31;

}

/*****************************
	Typography
*****************************/

h1,h2,h3,h4,h5,h6, p, li, select { color: var(--text-default); margin: 0; padding: 0; }
h1,h2,h3,h4,h5,h6 { font-family: 'Catamaran', sans-serif; font-weight: 800; }
h1 { font-size: 4rem; line-height: 1.2; }
h2 { font-size: 2.3rem; line-height: 1.3; }
h3 { font-size: 1.7rem; line-height: 1.4; }
h4 { font-size: 1.25rem; padding: 5px 0 7px; line-height: 1.4; }
h5 { font-size: 1.2rem; line-height: 1.4; }
h6 { font-size: 1rem; line-height: 1.4; }
p, a { font-size: 1.02rem; line-height: 1.7; letter-spacing: normal; color: var(--text-default); }
a { text-decoration: none; cursor: pointer; transition: 0.4s; }
li, button, label, input, textarea, select, option { font-size: 0.74rem; }
ul, ol { margin: 0; }
ul li { font-size: .98rem; line-height: 1.8; letter-spacing: normal; color: var(--text-sub); padding: 0 0 10px;  }
ol li { font-size: .98rem; line-height: 1.8; letter-spacing: normal; color: var(--text-sub); padding: 0 0 10px; }
.header-sml { color: var(--text-sub); text-transform: uppercase; font-size: .8rem; letter-spacing: .5px; line-height: 1; }
.header-main { font-size: 2.4rem; line-height: 1.3; }

@media screen and (max-width: 1050px) {

h2 { font-size: 2.1rem; } }

@media screen and (max-width: 950px) {

h1 { font-size: 3.4rem; }
h2 { font-size: 2rem; }
.header-main { font-size: 2rem; } }

@media screen and (max-width: 700px) {

h1 { font-size: 3rem; } }

@media screen and (max-width: 350px) {

h1 { font-size: 2.4rem; } }

/************************************
	Container
************************************/

.page-container-xl { max-width: 1640px; margin: 0 auto; padding: 0 30px; }
.page-container-lg { max-width: 1140px; margin: 0 auto; padding: 0 20px; }
.page-container-md { max-width: 940px; margin: 0 auto; padding: 0 20px; }
.page-container-sml { max-width: 640px; margin: auto; padding: 0 20px; }
.features-page-layout { position: relative; display: flex; align-items: flex-start; gap: 56px; }
.features-page-nav { width: 280px; min-width: 280px; max-width: 280px; flex: 0 0 280px; }
.features-page-nav-inner { box-sizing: border-box; width: 100%; max-width: 100%; position: relative; display: flex; flex-direction: column; gap: 10px; padding: 18px; border: 1px solid var(--border); border-radius: 22px; background: var(--white); }
.features-page-nav-inner.is-fixed { position: fixed; z-index: 20; }
.features-page-nav-inner.is-bottom { position: absolute; bottom: 0; left: 0; right: 0; }
.features-page-nav-inner a { display: block; padding: 8px 10px; border-radius: 999px; color: var(--text-default) !important; text-decoration: none; border-bottom: none !important; font-size: .95rem; line-height: 1.35; transition: background-color .2s ease, border-color .2s ease; }
.features-page-nav-inner a:hover { background: var(--off-white); }
.features-page-nav-inner a.is-active { background: #f5f7f7; box-shadow: inset 0 0 0 1px var(--border); font-weight: 700; }
.features-page-content { min-width: 0; max-width: 700px; flex: 0 1 700px; }
.features-page-sections { display: flex; flex-direction: column; gap: 64px; }
.features-page-section { scroll-margin-top: 120px; }
.features-page-header { margin: 0 0 32px; text-align: left; max-width: 720px; }
.features-page-header h2 { margin: 0 0 10px; color: var(--text-default); }
.features-page-header p { margin: 0; color: var(--text-default); }
.features-page-grid { display: grid; grid-template-columns: 1fr; gap: 22px; }
.features-page-item h3 { color: var(--text-default); margin: 0 0 10px; font-size: 1.22rem; line-height: 1.3; }
.features-page-item p { color: var(--text-default); margin: 0; }
.features-page-item a { color: inherit !important; font-size: inherit !important; line-height: inherit; font-weight: inherit; text-decoration: underline; text-underline-offset: 3px; border-bottom: none !important; }

@media screen and (max-width: 800px) {

.features-page-layout { display: flex; flex-direction: column; gap: 34px; align-items: stretch; }
.features-page-nav { width: 100%; min-width: 0; max-width: 100%; flex: 0 0 auto; margin-right: 0; align-self: stretch; }
.features-page-nav-inner,
.features-page-nav-inner.is-fixed,
.features-page-nav-inner.is-bottom { position: static; top: auto; left: auto; right: auto; bottom: auto; width: 100% !important; max-width: 100%; gap: 12px; }
.features-page-nav-inner p { margin-bottom: 0; }
.features-page-sections { gap: 50px; }
.features-page-grid { gap: 18px; } }

/*****************************
  Backgrounds & Borders
*****************************/

/*** Backgrounds ***/

.background-alt { border-radius: 30px; margin: 0 auto; border: solid 1px var(--border); }

/*****************************
  Modal
*****************************/

.modal-overlay { position: fixed; top: 0; left: 0; width: 100%; height: 100%; background: rgba(0, 0, 0, .5); display: none; z-index: 999990000; backdrop-filter: blur(4px); }
.modal { position: fixed; top: 50%; left: 50%; transform: translate(-50%, -50%); background: var(--white); border-radius: 12px; max-width: 600px; width: calc(100% - 32px); max-height: 90vh; overflow: hidden; display: none; z-index: 999990001; box-shadow: var(--box-shadow-modal); }
.modal:focus { outline: none; }
.modal-inner { position: relative; padding: 70px 50px 50px; display: flex; flex-direction: column; text-align: center; }
.modal-inner h2 { padding-bottom: 10px; }
.modal-body { max-width: 500px; margin: 0 auto; }
.modal-actions { display: flex; flex-direction: column; width: fit-content; max-width: fit-content; margin: 0 auto; gap: 15px; padding-top: 30px; }
.modal-actions .btn-base,
.modal-actions .subtle-btn { width: auto; min-height: 45px; box-sizing: border-box; justify-content: center; white-space: normal; text-align: center; padding: 15px 22px; }
.modal-actions .btn-base p,
.modal-actions .subtle-btn p { font-size: 1rem !important; font-weight: 800; line-height: 1.25 !important; padding-right: 0; white-space: normal; }
.modal-close { position: absolute; top: 15px; right: 15px; width: 40px; height: 40px; border: 0; border-radius: 999px; background: rgba(255, 255, 255, 0.08); display: inline-flex; align-items: center; justify-content: center; cursor: pointer; }
.modal-close .svg-inline--fa,
.modal-close .fa-xmark { font-size: 1.25rem; line-height: 1; }

@media screen and (max-width: 700px) {

.modal-inner { padding: 70px 30px 50px; }
.modal-inner h2 { font-size: 1.9rem; }
.modal-actions { width: 100%; max-width: 100%; }
.modal-actions .btn-base,
.modal-actions .subtle-btn { width: 100%; min-height: 55px; padding: 12px 15px; }
.modal-actions .btn-base p,
.modal-actions .subtle-btn p { font-size: .95rem !important; } }

/*** Margins ***/

.margin-lg { margin-top: 80px; }

@media screen and (max-width: 650px) {

.margin-lg { margin-top: 50px; } }

/*** Borders ***/

.border { border-top: solid 1px var(--border); }

/*** Padding ***/

.padding-lg { padding-top: 80px; }
.padding-md { padding-top: 50px; }

@media screen and (max-width: 650px) {

.padding-lg { padding-top: 50px; } }

/*** Box shadows ***/

.box-shadow-01 { box-shadow: 0 2px 5px 0 rgb(22, 27, 49), 0 2px 5px 0 rgb(22, 27, 49), 0 0 0 1px hsla(0,0%,100%,.15); border-radius: 10px; border: solid 1px var(--border); }

/*****************************
  Buttons
*****************************/

.btn-base { border-radius: 100px; display: flex; justify-content: center; align-items: center; color: var(--text-dark); white-space: nowrap; -webkit-user-select: none; -moz-user-select: none; -ms-user-select: none; user-select: none; padding: 18px 20px; transition: all 0.5s; letter-spacing: .5px; text-decoration: none; }
.btn-base p { font-size: 1rem; font-weight: 800; font-style: normal !important; }

/*** Primary Btn ***/

.main-btn { background-color: var(--brand); }
.main-btn p { color: var(--off-white) !important; padding: 0 !important; line-height: 1 !important; }
.main-btn .svg-inline--fa { padding: 0 0 0 5px; }

/*** Subtle Btn ***/

.subtle-btn { border: solid 1px var(--border); width: 100%; display: flex; flex-direction: row; align-items: center; font-size: 1rem; white-space: nowrap; -webkit-user-select: none; -moz-user-select: none; -ms-user-select: none; user-select: none; transition: all 0.5s; letter-spacing: .5px; }
.subtle-btn p { padding-right: 5px; font-size: .95rem !important; font-weight: 700; }
.subtle-btn .svg-inline--fa { margin-left: auto; border-radius: 100%; border: solid 2px var(--brand); width: 15px; min-width: 15px; height: 15px; min-height: 15px; font-size: .8rem; padding: 7px; }

/*** Subtle Link ***/

.subtle-link { text-decoration: underline; }

/*** Feature Link ***/

.features-link { font-weight: bold; font-size: .9rem !important; color: var(--text-default); }
.features-link .svg-inline--fa { padding: 0 0 0 3px; font-size: .8rem; }

/*****************************
  Navigation
*****************************/

nav { background-color: var(--background); border-bottom: solid 1px var(--border); position: fixed; width: 100%; z-index: 10000000; }
.nav-container-outer { height: 100%; }
.nav-container { height: 70px; display: flex; flex-direction: row; align-items: center; justify-content: space-between; }
.nav-sml { display: none; }

/*** Nav logo ***/

.nav-logo img { height: 12px; }
.nav-logo a { border-bottom: none !important; }
.nav-logo a:hover { opacity: 1 !important; }

/*** Nav items ***/

.nav-items { margin: 0 0 0 auto; height: 100%; display: flex; flex-direction: row; align-items: center; }
.nav-item { margin: 0 15px; }
.nav-item a { width: 100%; color: var(--text-sub) !important; white-space: nowrap; font-size: .87rem !important; border-bottom: none; transition: 0.4s; font-weight: bold; text-decoration: none; }
.nav-item:hover a,.nav-item:hover p { text-decoration: underline; }
.nav-right { display: flex; flex-direction: row; align-items: center; }
.nav-btn { padding: 12px 14px !important; }
.nav-btn p { font-size: .87rem !important; }

/*** Nav dropdown ***/

.nav-dropdown-container { height: 100%; display: flex; justify-content: center; align-items: center; }  
.nav-dropdown { height: 100%; display: flex; justify-content: center; align-items: center; }
.nav-dropdown:hover .nav-dropdown-inner { display: block !important; }
.nav-dropdown-inner { z-index: 9999; display: none; position: absolute; top: 55px; border-radius: 10px; box-shadow: var(--box-shadow-menu); background-color: var(--background); border: solid 1px var(--border); }
.nav-dropdown-inner-container { min-width: 180px; padding: 20px 10px; }
.nav-dropdown-inner-container-padding { padding: 30px; }
.nav-dropdown-inner-container .nav-item { display: flex; margin-bottom: 15px; transition: all 0.5s; }
.nav-dropdown-inner-container .nav-item:last-child { margin-bottom: 0; }
.nav-dropdown-inner-container .nav-item:hover { text-decoration: underline; }

/*** Small screen nav menu ***/

@media screen and (max-width: 900px) {

nav { display: flex !important; flex-direction: row; align-items: center; height: 70px; } 
.nav-large { display: none; }
.nav-sml { display: flex; flex-direction: row; align-items: center; justify-content: space-between; width: calc(100% - 40px); padding: 0 20px; }
.nav-sml a { border-bottom: none !important }
.nav-items { flex-direction: column; margin: 0 auto; }
.nav-item { margin: 0 auto 25px; }
.nav-item a { font-size: 1.15rem !important; color: var(--text-default) !important; }
.nav-sml-icon { cursor: pointer; }
.nav-sml-icon .svg-inline--fa { color: var(--text-default); font-size: 1.8rem; }
.nav-container { display: none; }
.overlay { height: 100%; width: 100%; display: none; position: fixed; z-index: 1; top: 0; left: 0; overflow-y: auto; -webkit-overflow-scrolling: touch; background-color: var(--background); }
.overlay-content { position: relative; top: 80px; width: 100%; max-height: calc(100vh - 100px); overflow-y: auto; -webkit-overflow-scrolling: touch; text-align: center; margin: 0 auto; padding-bottom: 40px; }
.overlay a { font-size: 1.2rem; color: var(--text-default); display: block; transition: 0.3s; font-weight: 700; }
.overlay .closebtn { position: absolute; color: var(--text-default); top: 4px; right: 18px; font-size: 40px; }
.nav-btn { margin-top: 20px; padding: 17px 34px !important; } }
  
@media screen and (max-width: 650px) {

.overlay-content { top: 80px; max-height: calc(100vh - 100px); } }

/*****************************
  Footer
*****************************/

footer { background-color: var(--background); border-top: solid 1px var(--border); }
.footer-container { padding: 60px 0 30px; display: flex; justify-content: center; flex-direction: column; }
.footer-top-container { display: flex; flex-direction: row; }
.footer-col-container { width: 70%; display: flex; flex-direction: row; justify-content: space-between; flex-wrap: wrap; gap: 20px; }
.footer-col { flex: 1 1 120px; min-width: 120px; max-width: 160px; }
.footer-col-header p { color: var(--text-default); white-space: nowrap; font-size: .92rem; font-weight: 800; padding-bottom: 10px; }
.footer-link { margin: 10px 0; border-bottom: none !important; padding: 0 !important; }
.footer-link p { color: var(--text-sub); transition: 0.4s; font-weight: 600; font-size: 0.88rem !important; }
.footer-link p:hover { text-decoration: underline; }
.footer-logo-container { width: calc(30% - 30px); margin: 7px 0 0 30px; }

.marketing-video-wrap {
  width: 100%;
}

.marketing-video-loading {
  display: none;
  width: 100%;
  aspect-ratio: 16 / 9;
  align-items: center;
  justify-content: center;
  border: 1px solid var(--border);
  border-radius: 12px;
  background: var(--off-white);
}

.marketing-video-container.is-loading .marketing-video-loading {
  display: flex;
}

.marketing-video-container.is-loading .marketing-video {
  display: none;
}

.marketing-video {
  display: block;
  width: 100%;
  height: auto;
  border-radius: 12px;
}

.marketing-video[hidden] {
  display: none !important;
}
.footer-logo { border-bottom: none !important; }
.footer-logo:hover { opacity: 1 !important; }
.footer-logo img { max-height: 11px; margin: 0 0 10px; }
.footer-about { padding: 14px 0 5px; max-width: 300px; }
.footer-about p { color: var(--text-sub); font-size: .88rem !important; font-weight: 600; }
.footer-about a { text-decoration: underline; font-size: .88rem !important; font-weight: bolder; }
.footer-bottom-container { width: 100%; display: flex; flex-direction: row; align-items: center;  border-top: solid 1px var(--border); padding-top: 20px; margin-top: 50px; }
.footer-bottom-container p { font-size: .77rem; }
.footer-bottom-container a { font-size: .77rem; }
.footer-powered-by { margin-top: 15px; display: flex; flex-direction: row; align-items: center; }
.footer-powered-by p { text-decoration: underline; color: var(--text-sub); font-size: .88rem !important; font-weight: 600; }
.footer-powered-by .svg-inline--fa { color: var(--text-sub); margin: 0 0 0 6px; font-size: .8rem; }
.footer-bottom-legals { margin-left: auto; display: flex; flex-direction: row; align-items: center; }
.footer-bottom-legals .footer-link { margin: 0 15px; }
.footer-bottom-legals .footer-link:last-child { margin: 0 0 0 15px; }

.climate-logos { display: flex; flex-direction: row; align-items: center; margin-top: 20px; }
.climate-logos img { width: 100%; max-width: 25px; margin: 0 15px 0 0; }

@media screen and (max-width: 1040px) {

.footer-container { padding: 60px 0 30px; }
.footer-top-container { flex-direction: column; }
.footer-col-container { flex-direction: column; width: 100%; }
.footer-col { padding: 0 0 30px; }
.footer-logo-container { width: 100%; margin: 0; }
.footer-bottom-container { padding-top: 40px; margin-top: 40px; flex-direction: column; align-items: flex-start; }
.footer-bottom-legals { margin-top: 15px; margin-left: 0; flex-direction: column; align-items: flex-start; } 
.footer-bottom-legals .footer-link { margin: 5px 0; }
.footer-bottom-legals .footer-link:last-child { margin: 5px 0; } }

@media screen and (max-width: 500px) {

.footer-container { padding: 40px 0 30px; } }

/*****************************
  Forms
*****************************/

label { display: flex; text-align: left; margin-bottom: 8px; color: var(--text-default); font-size: 0.88rem; font-weight: 700; }
input:not([type="hidden"]), select { box-sizing: border-box; -moz-box-sizing: border-box; -webkit-box-sizing: border-box;  width: 100%; font-family: 'DM Sans', sans-serif; font-size: 0.95rem; display: block; -webkit-appearance: none; -moz-appearance: none; appearance: none; outline: none; background-color: var(--background); border: solid 1px var(--border); padding: 16px 10px; color: var(--text-default); border-radius: 4px; transition: all 0.5s; margin-bottom: 20px; height: 55px; }
input[type="hidden"] { display: none !important; }
input:disabled { background-color: var(--background-light); color: var(--text-p3); }
textarea { width: calc(100% - 20px); font-family: 'Muli', sans-serif; background-color: var(--background); border: solid 1px var(--border); resize: none; min-height: 130px; padding: 10px; font-size: 0.95rem; outline: none; overflow: auto; max-width: 100%; border-radius: 3px; -webkit-appearance: none; color: var(--text-default); transition: all 0.2s; line-height: 1.6; margin-bottom: 20px; }
input:focus{ border: solid 1px var(--brand); }
textarea:focus{ border: solid 1px var(--brand); }
::-webkit-input-placeholder { font-family: 'DM Sans', sans-serif; color: var(--text-sub-02); font-weight: 600; -webkit-font-smoothing: antialiased; }
:-moz-placeholder { font-family: 'DM Sans', sans-serif; color: var(--text-sub-02); font-weight: 600; -webkit-font-smoothing: antialiased; }
::-moz-placeholder { font-family: 'DM Sans', sans-serif; color: var(--text-sub-02); font-weight: 600; -webkit-font-smoothing: antialiased; }
:-ms-input-placeholder { font-family: 'DM Sans', sans-serif; color: var(--text-sub-02); font-weight: 600; -webkit-font-smoothing: antialiased; }
.form-box { border-radius: 10px !important; border: solid 1px var(--border); }
.form-wrapper { padding: 40px; }
.form-btn { color: var(--text-default); cursor: pointer; border: none !important; margin: 40px 0 0 !important; padding: 17px !important; font-weight: 700;  }
.form-error { background-color: var(--red-01); border-radius: 3px; margin-bottom: 20px; display: flex; flex-direction: row; align-items: center; }
.form-error .svg-inline--fa { color: var(--white); margin: 0 0 0 10px; font-size: .84rem; }
.form-error p { font-size: .77rem; padding: 3px 10px 3px 5px; color: var(--white); font-weight: 600; }
.form-text { line-height: 1.6; font-size: .82rem; }
.form-btn-text p { max-width: 400px; text-align: center; margin: 20px auto; line-height: 1.6; font-size: .82rem; }
.form-asterix { position: absolute; background: var(--red-alert); border-radius: 50%; color: var(--red-alert); height: 7px; width: 7px; display: flex; overflow: hidden; margin-left: -15px; margin-top: 4px; }
.form-sub-text { margin-top: 20px; text-align: center; font-size: .74rem; font-style: italic; color: var(--text-sub-02); }
.form-sub-text a { text-decoration: underline; font-size: .74rem; font-style: italic; color: var(--text-sub-02); }

/*** Form label tip ***/

.form-label-tip { margin: -10px 0 20px; display: flex; flex-direction: row; align-items: center; border: dashed 1px var(--border); padding: 4px 10px; border-radius: 3px; }
.form-label-tip .svg-inline--fa { font-size: .7rem; color: var(--text-sub-03); padding-right: 4px; }
.form-label-tip p { font-size: .7rem; color: var(--text-sub-03); line-height: 1.4; }
.form-label-tip a { text-decoration: underline; color: var(--text-sub-03); font-size: .7rem; line-height: 1.6; font-weight: 700; }

@media screen and (max-width: 900px) {

.form-wrapper { padding: 50px 40px; } }

@media screen and (max-width: 400px) {

.form-wrapper { padding: 30px 20px; } }

/*****************************
  Basic Page
*****************************/

.basic-page { max-width: 750px; margin: 0 auto; }
.basic-page h1 { padding-bottom: 15px; }
.basic-page p { padding-bottom: 10px; font-size: .98rem !important; }
.basic-page a { font-size: .98rem !important; }
.basic-header-centered { text-align: center; padding: 80px 20px; }
.basic-page-section { margin-top: 20px; }
.basic-page-section h2 { padding-bottom: 10px; }

/*****************************
  Contact
*****************************/

.contact { display: flex; flex-direction: row; align-items: center; }
.contact-content { width: 45%; }
.contact-content h1 { padding-bottom: 20px; }
.contact-content p  { padding-bottom: 20px; }
.contact-form { }
.contact-thank-you { display: flex; flex-direction: column; align-items: center; justify-content: center; text-align: center; max-width: 375px; margin: 80px auto; }
.contact-thank-you-text { color: var(--text-sub); font-size: 1.3rem; line-height: 1.7; font-weight: 600; }
.contact-thank-you .btn-base { margin-top: 20px; }

@media screen and (max-width: 1040px) {

.contact { flex-direction: column; max-width: 650px; margin: 0 auto; }
.contact-content { width: 100%; padding: 0; }
.contact-form { width: 100%; margin-left: 0; margin-top: 40px; } }

/*****************************
  Hero
*****************************/

.hero { display: flex; flex-direction: row; align-items: center; }
.hero-text { width: calc(50% - 40px); margin-right: 40px; }
.hero-h1-container { background-color: var(--tag); padding: 4px 5px; border-radius: 100px; max-width: 200px; margin: 0 auto; }
.hero h1 { font-size: .8rem; text-transform: uppercase; color: var(--text-sub); }
.hero h2 { font-size: 3.6rem; line-height: 1.1; color: var(--text-default); padding: 10px 0; }
.hero p { color: var(--text-sub); }
.hero-badge { margin-top: 40px; display: flex; flex-direction: row; align-items: center; }
.hero-badge img { max-width: 175px; }
.hero-badge-copy { margin-left: 20px; padding-left: 20px; border-left: solid 2px var(--border); }
.hero-badge-copy p { color: var(--text-sub); font-size: .82rem !important; }
.hero-badge-copy a { color: var(--text-sub); font-size: .82rem !important; text-decoration: underline; }
.hero-media { width: 50%; }
.hero-media img { width: 100%; display: block; border-radius: 10px; box-shadow: var(--box-shadow-main); }
.hero-actions { display: flex; flex-direction: row; align-items: center; gap: 14px; flex-wrap: wrap; margin-top: 25px; }
.hero .btn-base { margin-top: 0; max-width: fit-content; }
.hero-actions .subtle-btn { width: auto; justify-content: center; padding: 18px 20px; box-sizing: border-box; }
.hero-actions .subtle-btn p { padding-right: 0; font-size: 1rem !important; font-weight: 800; line-height: 1 !important; }
.hero-sub-link { margin: 20px 0 0; text-align: center; }
.hero-sub-link-pill { display: inline-flex; align-items: center; gap: 8px; color: var(--text-default) !important; font-size: .88rem; font-weight: 700; line-height: 1.4; text-decoration: underline; text-decoration-color: rgba(12, 38, 65, 0.25); text-underline-offset: 3px; transition: color .2s ease, text-decoration-color .2s ease; }
.hero-sub-link-pill:hover { color: var(--text-default) !important; text-decoration-color: currentColor; }

@media screen and (max-width: 1040px) {

.hero { flex-direction: column; max-width: 650px; margin: 0 auto; text-align: center; }
.hero-text { width: 100%; margin-right: 0; margin-bottom: 40px; }
.hero-badge { display: none; }
.hero-media { width: 100%; }
.hero h2 {  font-size: 3rem; }
.hero-actions { justify-content: center; margin-top: 20px; }
.hero .btn-base { max-width: 175px; margin: 0; }
.hero-right { width: 100%; } }

/*****************************
  Hero 02
*****************************/

.hero-02 { display: flex; flex-direction: column; }
.hero-02-text { text-align: center; max-width: 825px; margin: 0 auto 50px; }
.hero-02-text h1 { font-size: .8rem; text-transform: uppercase; color: var(--text-sub); }
.hero-02-text h2 { font-size: 4rem; line-height: 1.1; color: var(--text-default); padding: 15px 0 10px 0; }
.hero-02-text p { color: var(--text-sub); }
.hero-02-text a { max-width: 150px; margin: 20px auto 0; }
.hero-02-text .hero-sub-link-pill { max-width: none; margin: 0; }
.hero-02-text .hero-actions { justify-content: center; margin-top: 25px; }
.hero-02-text .hero-actions a { max-width: fit-content; margin: 0; }
.hero-02 img { width: 100%; max-width: 900px; margin: 0 auto; border-radius: 10px 10px 0 0; }

@media screen and (max-width: 650px) {

.hero-02-text h2 {  font-size: 3rem; } }

/*****************************
  Hero 04
*****************************/

.hero-04 { width: 100%; background: var(--off-white); }
.hero-04-inner { max-width: 900px; margin: 0 auto; padding: 80px 0; text-align: center; }
.hero-04-inner .feature-01-tag { justify-content: center; margin-bottom: 18px; }
.hero-04-inner h1 { color: var(--text-default); font-size: 3.5rem; max-width: 725px; margin: 0 auto; line-height: 1.18; }
.hero-04-inner h1 + p { color: var(--text-default); max-width: 725px; margin: 16px auto 0; }
.hero-04-inner .hero-actions { justify-content: center; }

@media screen and (max-width: 650px) {

.hero-04-inner { padding: 28px 0 48px; }
.hero-04-inner h1 { font-size: 3rem; } }

/*****************************
  Hero 03
*****************************/

.hero_03 { text-align: center; max-width: 950px; margin: 0 auto 50px; padding: 0 20px; }
.hero_03 h1 { color: var(--text-default) !important; }
.hero_03 p { color: var(--text-sub) !important; }

/*****************************
  Section Header
*****************************/

.section-header { margin: 0 auto 50px; text-align: center; max-width: 550px; }

/************************************
	Feature 01
************************************/

.features-01-item { display: flex; flex-direction: row; align-items: center; margin: 0 0 80px; }
.features-01-item:last-child { margin: 0; }
.features-01-item-copy { width: calc(50% - 50px); margin-right: 50px; }
.features-01-item-media { width: 50%; }
.features-01-item-media img { width: 100%; border-radius: 10px; box-shadow: var(--box-shadow-main); }
.features-01-item:nth-child(even) { flex-direction: row-reverse;  }
.features-01-item:nth-child(even) .features-01-item-copy { margin: 0 0 0 50px; }
.features-01-item h3 { padding-bottom: 5px; }
.features-01-item p { padding-bottom: 25px; }
.feature-01-tag { margin-bottom: 15px; border-radius: 100%; display: flex; flex-direction: row; align-items: center; }
.feature-01-tag-inner { background-color: var(--background); border: solid 1px var(--border); border-radius: 30px; }
.feature-01-tag h1, .feature-01-tag h2 { color: var(--text-default) !important; font-weight: bold; padding: 5px 10px 4px !important; text-transform: uppercase; font-size: .72rem; letter-spacing: .08rem; line-height: 1; }
.feature-01-tag p { color: var(--text-default) !important; font-weight: bold; padding: 2px 10px !important; text-transform: uppercase; font-size: .72rem; letter-spacing: .08rem; }
.pricing-tag { justify-content: center; }

@media screen and (max-width: 1040px) {

.features-01 { margin: 0 auto; max-width: 650px; }
.features-01 .padding-lg:first-child { padding-top: 0 !important; }
.features-01-item { flex-direction: column-reverse; margin: 0 0 50px; }
.features-01-item:last-child { margin: 0; }
.features-01-item:nth-child(even) { flex-direction: column-reverse; }
.features-01-item:nth-child(even) .features-01-item-copy { margin: 0; }
.features-01-item-copy { width: 100%; margin: 0; text-align: center; }
.features-01-item-media { width: 100%; }
.features-01-item-media img { margin: 0 0 30px; } 
.feature-01-tag-inner { margin: 0 auto; } }

/*****************************
	Feature 02
*****************************/

.features-02 { margin: 50px 0 0; }
.features-02-row { display: flex; flex-direction: row; flex-wrap: wrap; }
.feature-02 { background: var(--background); border: solid 1px var(--border); padding: 30px 25px; display: flex; flex-direction: column; width: calc(33.33% - 72px); transition: all 0.4s ease 0s; text-align: left; margin: 15px; border-radius: 20px; }
.feature-02-icon { margin: 0px 0px 15px; }
.feature-02-icon .svg-inline--fa { color: var(--icon); font-size: 1.8rem; }
.features-02-row .feature-02:first-child { margin-left: 0; }
.features-02-row .feature-02:nth-child(3n) { margin-right: 0; }
.features-02-row .feature-02:nth-child(3n+1) { margin-left: 0; }
.feature-02 h4 { padding: 5px 0 10px; }
.feature-02 a { margin-top: auto; padding-top: 10px; }

@media screen and (max-width: 950px) {

.features-02-row { max-width: 550px; margin: 0 auto; display: flex; flex-direction: column; }
.feature-02 { padding: 20px; width: calc(100% - 42px); margin: 15px auto; align-items: center; text-align: center; }
.feature-02:first-child { margin: 0 auto 15px; } 
.feature-02:last-child { margin: 15px auto 0; } }

/*****************************
	Feature 03
*****************************/

.features-03-items { display: flex; flex-direction: row; flex-wrap: wrap; }
.features-03-item { border-radius: 10px; width: calc(20% - 72px); color: var(--text-default); flex-direction: column; align-items: flex-start; padding: 25px; text-decoration: none; display: flex; margin: 10px; border: solid 1px var(--border); }
.features-03-item .svg-inline--fa { margin-bottom: 30px; font-size: 1.2rem; }
.features-03-item p { line-height: 1.4 !important; margin: 0 !important; padding: 0 !important; font-weight: 700; color: var(--text-default); }
.features-03-items > *:nth-child(1),
.features-03-items > *:nth-child(6) { margin: 10px 10px 10px 0; }
.features-03-items > *:nth-child(5)
.features-03-items > *:nth-child(10) { margin: 10px 0 10px 10px; }

@media screen and (max-width:1140px){

.features-03-items { max-width: 650px; margin: 0 auto; }
.features-03-item { width: 100%; margin: 10px 0; }
.features-03-items > *:nth-child(1),
.features-03-items > *:nth-child(6) { margin: 10px 0; }
.features-03-items > *:nth-child(5)
.features-03-items > *:nth-child(10) { margin: 10px 0; } }

/*****************************
  Social Proof Logos
*****************************/

.social-proof-logos-background { background-color: var(--off-white); }
.social-proof-logos-background .social-proof-logos { padding: 50px 0; margin: 0; }
.social-proof-stats { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; margin-bottom: 25px; }
.social-proof-stats-item { min-width: 0; padding: 15px; text-align: center; }
.social-proof-stats-value { color: var(--text-default); font-size: 2.7rem; font-weight: 800; line-height: 1.1; }
.social-proof-stats-label { margin-top: 4px; color: var(--text-default); font-size: .85rem; line-height: 1.3; }
.social-proof-logos { margin: 50px auto 0; }
.social-proof-logos-items { display: flex; align-items: center; justify-content: space-around; flex-wrap: wrap; margin-top: 10px; }
.social-proof-logos-header p { margin: 0 !important; text-align: center; font-size: .97rem; }
.social-proof-logos-item { margin: 20px 10px; }
.social-proof-logos-item img { border: 0; max-width: 85px!important; height: auto; }

.social-proof-logos-background .social-proof-logos-item { margin: 14px 10px; }
.social-proof-logos-background .social-proof-logos-item img { max-width: 125px!important; }

@media screen and (max-width: 700px) {

.social-proof-stats { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.social-proof-stats-item { padding: 12px 10px; }
.social-proof-stats-value { font-size: 2.3rem; } }

@media screen and (max-width: 450px) {

.social-proof-stats { grid-template-columns: 1fr; gap: 8px; }
.social-proof-stats-value { font-size: 2rem; }
.social-proof-stats-label { font-size: .9rem; } }

/*****************************
  FAQs
*****************************/

.faqs { max-width: 650px; margin: 0 auto; }
.faqs-header { text-align: center; margin-bottom: 40px; }
.faqs-container { border: solid 1px var(--border); border-radius: 10px; }
.faq-container { border-radius: 10px; border: solid 1px var(--border); }
.faq { transition: all 0.4s; padding: 25px; cursor: pointer; border-bottom: solid 1px var(--border); }
.faq:last-child { border-bottom: none !important; }
.faq:hover h2 { text-decoration: underline; }
.faq-top { display: flex; flex-direction: row; align-items: center; }
.faq-top .svg-inline--fa { margin-left: auto; padding-left: 20px; color: var(--icon); font-size: .7rem; }
.faq h2 { font-size: 1.2rem; }
.faq p { padding-top: 10px; }

/*****************************
  Testimonials
*****************************/

.testimonial { margin: auto; padding: 60px 0; max-width: 950px; border-radius: 30px; border: solid 1px var(--border); }
.testimonial-content { max-width: 800px; margin: auto; padding: 0 20px 15px; font-size: 1.6rem; line-height: 1.7; font-weight: 600; color: var(--text-default) !important; }
.testimonial-row { max-width: 800px; padding: 0 20px; margin: auto; display: flex; flex-direction: row; align-items: center; margin-top: 10px; }
.testimonial-avatar { margin-right: 10px; height: 60px; width: 60px; }
.testimonial-avatar img { border-radius: 50%; height: 100%; width: 100%; }
.testimonial-details p { margin: 0; font-weight: 600; font-size: .94rem; padding: 0 !important; }
.testimonial-name { font-weight: 800; }
.testimonial-company { color: var(--text-sub) !important; }
.testimonial-logo { margin-left: auto; }
.testimonial-logo img { max-width: 150px!important; height: auto; }
.testimonial-logo-sml img { max-width: 120px!important; }

@media screen and (max-width: 500px) {

.testimonial-content { font-size: 1.4rem; }
.testimonial-logo img { display: none; } }

/*****************************
    Revenue Calculator
*****************************/

.slider-wrapper { width: calc(100% - 80px); padding: 60px 40px; border-radius: 20px; margin: 0 auto; display: flex; flex-direction: column; justify-content: center; align-items: center; border: solid 1px var(--border); }
.slider-wrapper h2 { margin-bottom: 50px; color: var(--text-default) !important; text-align: center; }  
.slider-container { margin: 0 auto; width: 100%; max-width: 620px; }
.slider { margin-bottom: 0 !important; padding: 0 !important; -webkit-appearance: none; appearance: none; width: 100%; height: 2px; border-radius: 999px; background: #dddddd; border: 0; outline: none; -webkit-transition: .2s; transition: opacity .2s; }
.slider:focus { background: #dddddd; border: 0; }
.slider::-webkit-slider-thumb { -webkit-appearance: none; appearance: none; width: 28px; height: 28px; border-radius: 50%; background: var(--brand); border: solid 1px var(--brand); cursor: pointer; box-shadow: 0 2px 6px rgba(0, 0, 0, 0.12); }    
.slider::-moz-range-thumb { width: 28px; height: 28px; border-radius: 50%; background: var(--brand); border: solid 1px var(--brand); cursor: pointer; box-shadow: 0 2px 6px rgba(0, 0, 0, 0.12); }    
.slider-counts { margin-top: 40px; display: flex; flex-direction: row; align-items: center; }
.slider-count { text-align: center; margin: 0 40px; }
.slider-count h2 { margin-bottom: 0 !important; font-size: 3rem !important; } 
.slider-count p { line-height: 1 !important; font-weight: 700; font-size: .9rem;}

@media screen and (max-width: 700px) {

.slider-wrapper { padding: 50px 30px; }
.slider-counts { flex-direction: column; } }

/*****************************
  Basic Content Section
*****************************/

.basic-content-section { text-align: center; max-width: 750px; margin: 0 auto; }
.basic-content-section h2 { padding-bottom: 10px; }

/*****************************
  Call to action
*****************************/

.cta { display: flex; flex-direction: row; align-items: center; }
.cta-img img { width: 100%; border-radius: 10px; box-shadow: var(--box-shadow-main); }
.cta-left { display: flex; flex-direction: column; align-items: flex-start; width: calc(55% - 80px); margin-right: 80px; }
.cta-right { width: 45%; }
.cta h3 { padding-top: 10px; }
.cta-text { padding: 10px 0 30px; }
.cta-actions { display: flex; flex-direction: row; align-items: center; gap: 14px; flex-wrap: wrap; }
.cta-actions .subtle-btn { width: auto; justify-content: center; padding: 18px 20px; box-sizing: border-box; }
.cta-actions .subtle-btn p { padding-right: 0; font-size: 1rem !important; font-weight: 800; line-height: 1 !important; }

@media screen and (max-width: 950px) {

.cta { text-align: center; max-width: 550px; margin: 0 auto; flex-direction: column-reverse; }
.cta-left { width: 100%; margin: 20px 0 0 0; text-align: center; align-items: center; }
.cta-actions { justify-content: center; }
.cta-right { width: 100%; max-width: 300px; } }

/*****************************
  Call to action 02
*****************************/

.cta-02 { display: flex; flex-direction: row; align-items: center; }
.cta-02-img img { width: 100%; border-radius: 10px; }
.cta-02-left { display: flex; flex-direction: column; align-items: flex-start; width: calc(45% - 80px); margin-right: 80px; }
.cta-02-right { width: 55%; }
.cta-02-text { padding: 10px 0 20px; }

@media screen and (max-width: 950px) {

.cta-02 { text-align: center; max-width: 550px; margin: 0 auto; flex-direction: column-reverse; }
.cta-02-left { width: 100%; margin: 20px 0 0 0; text-align: center; align-items: center; }
.cta-02-right { width: 100%; max-width: 300px; } }


/*****************************
  Error page
*****************************/

.error-page { text-align: center; max-width: 650px; margin: 250px auto; }
.error-page .svg-inline--fa { font-size: 5rem; color: var(--icon); margin-bottom: 20px; }
.error-page-text { max-width: 550px; margin: 10px auto 0; }
.error-page a { margin: 20px auto 0; max-width: 150px; }

@media screen and (max-width: 950px) {

.error-page { margin: 160px auto; } }

/*****************************
  Latest Articles
*****************************/

.latest-blogs { display: flex; flex-direction: row; flex-wrap: wrap; }
.latest-blogs .articles-item { margin: 0 15px; }

@media screen and (max-width: 1150px) {

.latest-blogs .articles-item { margin: 0 auto 50px; width: 100%; max-width: 650px; }
.latest-blogs .articles-item:last-child { margin: 0 auto; } }

/************************************
	Articles
************************************/

.articles { display: flex; flex-direction: column; }
.articles-wrapper { display: flex; flex-direction: row; flex-wrap: wrap; }
.articles-header { text-align: center; max-width: 550px; margin: 0 auto 50px; }
.articles h1 { color: var(--text-default) !important; }
.articles h2 { color: var(--text-default) !important; }
.articles h3 { color: var(--text-default) !important; }
.articles p { color: var(--text-sub) !important; }
.articles-item { border-radius: 10px; margin: 0 15px 50px; width: calc(33.33% - 32px); max-width: calc(33.33% - 32px); border: solid 1px var(--border); }
.articles-item-img { display: none; }
.articles-item-img img { border-radius: 10px 10px 0 0; }
.articles-item-inner { padding: 30px; }
.articles-item-copy h2 { font-size: 1.7rem; }
.articles-item-author { margin: 10px 0 15px; display: flex; flex-direction: row; align-items: center; }
.articles-item-author-img { border: solid 1px var(--border); margin-right: 12px; width: 42px; min-width: 42px; height: 42px; min-height: 42px; border-radius: 100%; }
.articles-item-author-img img { border-radius: 100%; }
.articles-item-author-text-wrapper { display: flex; flex-direction: column; }
.articles-item-author-text { font-size: .82rem; }
.articles-item-cta { margin-top: 50px; }
.articles-item-cta a { border-bottom: none !important; border-radius: 6px !important; padding: 20px 25px !important; color: var(--primary-03) !important; }
.articles-item-cta a .svg-inline--fa { padding: 0 0 0 5px; color: var(--primary-03) !important; }
.articles-pagination { padding: 0 0 40px 0; display: flex; justify-content: center; align-items: center; flex-direction: column; }
.articles-pagination-btn { font-size: .9rem; font-weight: 700; margin: 0 10px; text-decoration: underline; color: var(--text-default); transition: all 0.5s; }
.articles-pagination-btn:hover { opacity: 0.7; }
.articles-pagination-disabled-btn { cursor: default; color: var(--text-sub-02) !important; }
.articles-pagination-count { padding-top: 15px; }
.articles-pagination-count p { font-size: .8rem; color: var(--text-sub); }
.articles-item .btn-base { margin: 0 30px 40px; }

@media screen and (max-width: 1150px) {

.articles-item { margin: 0 auto 50px; width: 100%; max-width: 650px; } }

@media screen and (max-width: 580px) {

.articles-item-inner { padding: 40px 30px; } }

@media screen and (max-width: 450px) {

.articles-item-cta { margin-top: 30px; } }

/************************************
	Article
************************************/

.article-container { max-width: 660px; margin: auto; padding: 40px 0; }
.article-container a { color: var(--text-default) !important; border-bottom: 2px solid var(--text-default) !important; font-weight: bold; transition: 0.4s; }
.article-container a:hover { opacity: 0.9; }
.article-header-container { max-width: 675px; margin: auto; padding: 0 0 40px 0; }
.article-all-link-container { width: 100%; display: flex; justify-content: center; margin-bottom: 30px; }
.article-all-link { cursor: pointer; color: var(--text-default) !important; border: 1px solid var(--border) !important; margin: 0 auto; font-weight: bold; transition: 0.4s; border-radius: 20px; padding: 2px 9px; }
.article-all-link .svg-inline--fa { font-size: .8rem; padding-right: 3px; }
.article-header-top p { text-align: center; font-style: italic; }
.article-header-bottom { display: flex; flex-direction: row; align-items: center; margin-top: 35px; padding-top: 35px; border-top: 1px solid var(--border); }
.article-header-author { display: flex; flex-direction: row; align-items: center; }
.article-header-author-img { margin-right: 12px; width: 55px; min-width: 55px; height: 55px; min-height: 55px; border-radius: 100%; }
.article-header-author-img img { border-radius: 100%; }
.article-header-author-copy { display: flex; flex-direction: column; align-items: flex-start; justify-content: center; }
.article-header-author p { font-size: .82rem; line-height: 1; }
.article-header-author-name { padding-bottom: 8px !important; }
.article-header-author-date { padding: 0 !important; }
.article-header-social { display: flex; flex-direction: row; align-items: center; margin-left: auto; }
.article-header-social-item { border: solid 2px var(--border); border-radius: 100%; height: 38px; width: 38px; max-height: 38px; max-width: 38px; justify-content: center; margin: 0 0 0 15px; transition: all .4s; display: flex; align-items: center; }
.article-header-social-item .svg-inline--fa { color: var(--text-default); font-size: 1rem; }
.article-feature-image { display: none; }
.article-image-200px { max-width: 150px; margin: 0 auto; padding: 0 0 30px 0;}
.article-video { padding: 25px 0 45px; }
.article-img { display: none; }
.article h1 { text-align: center; color: var(--text-default) !important; }
.article h2 { padding: 40px 0 30px; color: var(--text-default) !important; }
.article h3 { padding: 20px 0; color: var(--text-default) !important; font-size: 1.4rem !important; }
.article p { padding-bottom: 20px; color: var(--text-sub) !important; }
.article ol li { color: var(--text-sub) !important; }
.article ul li { color: var(--text-sub) !important; }
.cta-articles { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 24px; align-items: center; padding: 30px 32px; margin: 34px 0; border-radius: 24px; }
.cta-articles-copy p { padding-bottom: 0 !important; margin: 10px 0 0; }
.cta-articles-copy h3 { padding: 0 !important; margin: 0; font-size: 1.55rem !important; line-height: 1.2; color: var(--text-default) !important; }
.cta-articles-actions { display: flex; justify-content: flex-end; align-items: center; }
.cta-articles-actions .btn-base { white-space: nowrap; border-bottom: none !important; text-decoration: none !important; }
.cta-articles-actions .btn-base p { padding: 0 !important; margin: 0 !important; line-height: 1 !important; font-size: 1rem !important; font-weight: 800 !important; color: var(--off-white) !important; }
.article-bold { font-weight: bold; }

.feature-bullet-list { max-width: 600px; margin: 50px auto 0; }
.feature-bullet-list h2 { padding: 0 0 20px; font-size: 1.8rem; line-height: 1.5; }
.feature-bullet-list ul { padding: 0 0 0 15px !important; }
.feature-bullet-list p { padding-bottom: 15px; }

@media screen and (max-width: 800px) {

.article-container { padding: 0 0 40px 0; }
.article-feature-image { padding: 0 0 40px 0; } }

@media screen and (max-width: 700px) {

.article-ad { padding: 40px; flex-direction: column; align-items: center; }
.article-ad-01 { width: 100%; padding-bottom: 20px; }
.article-ad-02 { width: 100%; padding-left: 0; } }

@media screen and (max-width: 560px) {

.article-header-bottom { flex-direction: column; align-items: flex-start; }
.article-header-social { margin: 27px 0 0 0; flex-direction: column; width: 100%; }
.article-header-social-item { height: 45px; max-height: 45px; margin: 8px 0;  border-radius: 6px; width: 100%; max-width: 100%; } }

@media screen and (max-width: 820px) {

.cta-articles { grid-template-columns: 1fr; padding: 26px 22px; }
.cta-articles-actions { justify-content: flex-start; }
.cta-articles-copy h3 { font-size: 1.35rem !important; } }

@media screen and (max-width: 450px) {

.article-ad-container { margin: 15px 0 25px; } }

/*****************************
  Tools
*****************************/

.tool-box { display: flex; padding: 40px; max-width: 685px; margin: 0 auto; border: solid 1px var(--border); border-radius: 10px; }
.tool-result-box { padding: 40px; margin: 0 auto; border-radius: 10px; background-color: var(--background-04); text-align: center; height: calc(100% - 80px); display: flex; justify-content: center; align-items: center; flex-direction: column; }
.tool-result-box-title { font-weight: 800; font-size: 3.2rem; line-height: 1; }
.tool-box-form { width: calc(60% - 50px); margin-right: 50px; }
.tool-box-result { width: 40%; }
.tool-box-result-inner { height: 100%; }

@media screen and (max-width: 750px) {

.tool-box { flex-direction: column-reverse; }
.tool-box-form { width: 100%; margin-right: 0; }
.tool-box-result { width: 100%; margin-bottom: 30px; } }

/*****************************
  Article Links
*****************************/

.article-links-inner { display: flex; flex-wrap: wrap; }
.article-link { width: calc(50% - 72px); display: flex; flex-direction: row; align-items: center; border: solid 1px var(--border); border-radius: 10px; padding: 15px; transition: all 0.5s; margin: 10px 20px; }
.article-link:hover { border: solid 1px var(--brand); }
.article-link h3 { font-size: 1rem; }
.article-link-icon { margin-left: auto; padding-left: 20px; } 

@media screen and (max-width: 950px) {

.article-links-inner { flex-direction: column; }
.article-link { width: calc(100% - 32px); margin: 10px 0; } }

/*****************************
	Pricing
*****************************/

.pricing-section { margin-bottom: 40px; }
.pricing-billing-toggle-wrap { display: flex; flex-direction: row; justify-content: flex-end; align-items: center; gap: 12px; max-width: 1080px; margin: 0 auto 20px; }
.pricing-billing-contact { font-size: .92rem; color: var(--text-sub); padding: 26px 0 0 !important; text-align: center; }
.pricing-billing-contact a { color: var(--text-default); font-size: inherit; font-weight: 400; text-decoration: underline; }
.pricing-billing-pill { background-color: #dafaef; color: #073c26; border-radius: 999px; padding: 4px 8px; font-size: .65rem; font-weight: 800; line-height: 1; text-transform: uppercase; letter-spacing: .04rem; }
.pricing-billing-toggle { display: inline-flex; flex-direction: row; align-items: stretch; padding: 4px; border: solid 1px var(--border); border-radius: 999px; background-color: var(--background); }
.pricing-billing-btn { border: none; background-color: transparent; color: var(--text-default); padding: 10px 16px; border-radius: 999px; font-family: inherit; font-size: .92rem; line-height: 1; font-weight: 400; cursor: pointer; display: inline-flex; align-items: center; gap: 8px; }
.pricing-billing-btn.active { background-color: var(--off-white); color: var(--text-default); }
.pricing-plans { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; max-width: 1080px; margin: 0 auto; }
.pricing-plan { padding: 25px; box-sizing: border-box; text-align: left; width: 100%; display: flex; flex-direction: column; align-items: flex-start; border-radius: 10px; border: solid 1px var(--border); }
.pricing-plan-header { width: 100%; display: flex; flex-direction: column; align-items: flex-start; flex: 1; border-bottom: none; }
.pricing-plan-item { width: 100%; display: flex; flex-direction: row; border-bottom: solid 1px var(--border); padding: 20px 0; }
.pricing-plan-item:last-child { border-bottom: none; }
.pricing-plan-item-right { margin-left: auto; }
.pricing-price { padding: 20px 0 5px; display: flex; align-items: flex-end; font-size: 1.1rem; }
.pricing-price-main { padding: 18px 0 5px; font-size: 2.4rem; line-height: 1; font-weight: 800; }
.pricing-currency { padding-top: 3px; font-size: 0.75rem; align-self: flex-start; margin-right: 2px;
}
.pricing-value { font-size: 2.8rem; line-height: 0.8 !important; font-weight: bold; }
.pricing-period { padding-left: 2px; font-size: 0.75rem; align-self: flex-end; }
.pricing-price-sub { font-size: .9rem; padding-bottom: 20px; }
.pricing-plan-description { font-size: .95rem; padding-bottom: 20px; }
.pricing-plan-tag { border-radius: 100px; }
.pricing-plan-tag p { padding: 2px 8px; text-transform: uppercase; font-size: .65rem; font-weight: 800; }
.pricing-plan-not-included .pricing-plan-tag { background-color: var(--background-04); }
.pricing-plan-not-included .pricing-plan-tag p { color: var(--grey); }
.pricing-plan-not-included .pricing-feature { text-decoration: line-through !important; color: var(--grey); }
.pricing-plan-included .pricing-plan-tag { background-color: var(--blue-light); }
.pricing-plan-included .pricing-plan-tag p { color: var(--blue); }
.pricing-plan-highlights { width: 100%; }
.pricing-plan-cta { margin-top: auto; width: 100%; max-width: 100%; box-sizing: border-box; justify-content: center; }
.pricing-plan-link { margin-top: 10px; width: 100%; text-align: center; font-size: .85rem; font-weight: 400; color: var(--text-sub); justify-content: center; }
.pricing-partner-callout { padding: 0 24px; }
.pricing-partner-links { display: flex; flex-wrap: wrap; justify-content: center; gap: 14px 24px; padding-top: 20px; }
.pricing-partner-links a { font-weight: 700; }
.pricing-comparison { max-width: 1080px; margin: 0 auto; }
.pricing-comparison-table-wrap { overflow-x: auto; }
.pricing-comparison-table { width: calc(100% - 2px); border-collapse: collapse; min-width: 720px; }
.pricing-comparison-table th,
.pricing-comparison-table td { padding: 16px 18px; border-bottom: solid 1px var(--border); text-align: center; }
.pricing-comparison-table th:first-child,
.pricing-comparison-table td:first-child { min-width: 280px; text-align: left; font-weight: 400; font-size: 1rem; }
.pricing-comparison-table thead th { background-color: var(--background); }
.pricing-comparison-plan-heading { display: flex; flex-direction: column; align-items: center; gap: 10px; }
.pricing-comparison-plan-heading span { font-weight: 700; }
.pricing-comparison-plan-cta { min-width: 120px; padding: 12px 16px; }
.pricing-comparison-plan-cta p { font-size: .92rem !important; }
.pricing-comparison-table tbody tr:last-child td { border-bottom: solid 1px var(--border); }
.pricing-comparison-table tbody tr:not(.pricing-comparison-section-row):not(.global-table-spacer) td { border-left: solid 1px var(--border); }
.pricing-comparison-table tbody tr:not(.pricing-comparison-section-row):not(.global-table-spacer) td:last-child { border-right: solid 1px var(--border); }
.global-table-spacer td { padding: 0; height: 30px; border-bottom: none; background: transparent; }
.pricing-comparison-section-row td { background-color: var(--off-white); border-left: solid 1px var(--border); border-right: solid 1px var(--border); color: var(--text-default); font-weight: 900 !important; font-size: 1.05rem; text-align: left !important; }
.pricing-comparison-yes { color: var(--green); font-weight: 800; font-size: 1rem; }
.pricing-comparison-no { color: var(--grey); font-weight: 800; font-size: 1rem; }
.pricing-comparison-text { color: var(--text-default); font-weight: 400; font-size: 1rem; }

@media screen and (max-width: 980px) {

 .pricing-billing-toggle-wrap { justify-content: center; flex-direction: column; }
.pricing-plans { grid-template-columns: 1fr; max-width: 500px; margin: 0 auto; }
.pricing-plan { width: 100%; }
.pricing-partner-callout { padding: 0 16px; }
.pricing-partner-links { flex-direction: column; gap: 12px; }
.global-table-spacer,
.global-table-spacer td { display: none !important; height: 0 !important; padding: 0 !important; border: 0 !important; }
}

@media screen and (max-width: 820px) {

.pricing-comparison-table-wrap { overflow: visible; }
.pricing-comparison-table { min-width: 0; }
.pricing-comparison-table thead { display: none; }
.pricing-comparison-table,
.pricing-comparison-table tbody,
.pricing-comparison-table tr,
.pricing-comparison-table td { display: block; width: 100%; }
.pricing-comparison-table tr { box-sizing: border-box; border: solid 1px var(--border); border-radius: 12px; margin-bottom: 12px; padding: 8px 0; background-color: var(--off-white); }
.pricing-comparison-table tbody tr:last-child { margin-bottom: 0; }
.pricing-comparison-table td { box-sizing: border-box; border-bottom: none; padding: 7px 14px; text-align: right; }
.pricing-comparison-table td:first-child { text-align: left; padding-bottom: 10px; }
.pricing-comparison-table td[data-label]:not(:first-child) { display: flex; justify-content: space-between; align-items: center; gap: 16px; text-align: left; }
.pricing-comparison-table td[data-label]:not(:first-child)::before { content: attr(data-label); color: var(--grey); font-weight: 700; flex: 1; }
.pricing-comparison-section-row { border: none !important; background: transparent !important; margin: 18px 0 6px; padding: 0 !important; }
.pricing-comparison-section-row td { padding: 4px 0 6px; }
}


/*****************************
  Careers
*****************************/

.apply-form { max-width: 740px; margin: 0 auto 100px; }
.apply-btn { max-width: 150px; margin: 0 auto; padding: 16px 14px !important; }

/*****************************
  Other
*****************************/

.toggle-content { display: none; }

/*****************************
  Tools
*****************************/

.tools-page .hero-02 { display: flex; flex-direction: column; }
.tools-page .hero-02-shell { border-radius: 30px; border: 1px solid var(--border); background: var(--off-white); }
.tools-page .hero-02-shell .hero-02 { padding: 55px 40px; }
.tools-page .hero-02-text { text-align: center; max-width: 825px; margin: 0 auto 50px; }
.tools-page .hero-02-text .feature-01-tag { justify-content: center; }
.tools-page .hero-02-text h1 { font-size: .8rem; text-transform: uppercase; color: var(--text-sub); }
.tools-page .hero-02-text h2 { font-size: 4rem; line-height: 1.1; color: var(--text-default); padding: 15px 0 10px 0; }
.tools-page .hero-02-text p { color: var(--text-default); }
.tools-page .hero-02-text-glossary { max-width: 900px; }
.tools-page .glossary-shell { padding-bottom: 20px; }
.tools-page .glossary-results { padding-top: 32px; }
.tools-page .glossary-search-inline-layout { display: flex; align-items: center; gap: 16px; }
.tools-page .glossary-inline-search-clear { display: inline-flex; margin: 0; flex: 0 0 auto; white-space: nowrap; color: var(--text-default); font-size: .92rem; font-weight: 500; text-decoration: underline; }
.tools-page .glossary-search-form-inline { max-width: 520px; width: 100%; margin: 0 auto 0 0; }
.tools-page .glossary-search-row { display: flex; align-items: center; gap: 12px; border: 1px solid var(--border); border-radius: 999px; padding: 6px 6px 6px 18px; background: var(--white); }
.tools-page .glossary-search-row input { margin: 0 !important; padding: 0 !important; height: auto !important; border: none !important; background: transparent !important; font-size: 1rem; flex: 1; min-width: 0; }
.tools-page .glossary-search-row input[type="search"]::-webkit-search-cancel-button,
.tools-page .glossary-search-row input[type="search"]::-webkit-search-decoration,
.tools-page .glossary-search-row input[type="search"]::-webkit-search-results-button,
.tools-page .glossary-search-row input[type="search"]::-webkit-search-results-decoration { -webkit-appearance: none; appearance: none; display: none; }
.tools-page .glossary-search-row input:focus { border: none !important; box-shadow: none !important; }
.tools-page .glossary-search-row input::placeholder { font-family: 'DM Sans', sans-serif; font-size: .84rem; font-style: italic; color: var(--text-sub); opacity: .9; }
.tools-page .glossary-search-icon { color: var(--text-sub); font-size: 1rem; }
.tools-page .glossary-search-btn { border: none; cursor: pointer; min-width: 170px; padding: 13px 18px; color: var(--off-white) !important; }
.tools-page .glossary-search-btn p { padding: 0 !important; line-height: 1 !important; color: var(--off-white) !important; }
.tools-page .glossary-results-toolbar { display: flex; align-items: flex-start; justify-content: space-between; gap: 20px; margin-bottom: 28px; }
.tools-page .glossary-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; grid-auto-rows: 1fr; align-items: stretch; }
.tools-page .glossary-card { position: relative; display: flex; flex-direction: column; gap: 12px; min-height: 100%; box-sizing: border-box; overflow: hidden; border-radius: 24px; border: 1px solid var(--border); background: var(--white); padding: 26px; box-shadow: var(--box-shadow-main); transition: transform 0.35s ease, box-shadow 0.35s ease; text-decoration: none; color: inherit; }
.tools-page .glossary-card:hover { transform: translateY(-4px); box-shadow: 0 18px 35px rgba(18, 25, 38, 0.08); }
.tools-page .glossary-category { display: inline-flex; align-items: center; width: fit-content; max-width: 100%; border-radius: 999px; background: var(--off-white); border: 1px solid var(--border); padding: 4px 8px; color: var(--text-default); font-size: .65rem; font-weight: 800; letter-spacing: .04rem; line-height: 1; text-transform: uppercase; }
.tools-page .glossary-card h3 { font-size: 1.45rem; margin-top: 0; }
.tools-page .glossary-card p { color: var(--text-default); margin-top: 0; word-break: break-word; }
.tools-page .glossary-card-btn { margin-top: auto; width: auto; align-self: flex-start; padding: 12px 14px; background: var(--white); }
.tools-page .glossary-card-btn p { font-size: .9rem !important; font-weight: 700; line-height: 1 !important; }
.tools-page .glossary-empty { border-radius: 24px; border: 1px dashed var(--border); background: var(--off-white); padding: 40px; }
.tools-page .glossary-pagination { padding: 34px 0 0; display: flex; flex-direction: column; align-items: center; }
.tools-page .glossary-article-links { flex-direction: column; }
.tools-page .glossary-article-links .article-link { width: calc(100% - 32px); margin: 10px 0; background: var(--white); box-shadow: var(--box-shadow-main); transition: transform 0.35s ease, box-shadow 0.35s ease, border-color 0.35s ease; }
.tools-page .glossary-article-links .article-link:hover { transform: translateY(-4px); box-shadow: 0 18px 35px rgba(18, 25, 38, 0.08); border-color: var(--border); }

.tools-page .hero-05 { width: 100%; }
.tools-page .hero-05-inner { max-width: 900px; margin: 0 auto; padding: 80px 0; text-align: center; }
.tools-page .hero-05-inner .feature-01-tag { justify-content: center; margin-bottom: 18px; }
.tools-page .hero-05-inner h1 { color: var(--text-default); font-size: 3.5rem; max-width: 725px; margin: 0 auto; line-height: 1.18; }
.tools-page .hero-05-inner > p { color: var(--text-default); max-width: 725px; margin: 16px auto 0; }

.tools-page .tool-contact-form { display: grid; gap: 4px; }
.tools-page .cost-calculator-shell .contact-form-card { width: 100%; box-sizing: border-box; background: var(--white); border: solid 1px var(--border); border-radius: 16px; padding: 32px; box-shadow: var(--box-shadow-main); text-align: left; }
.tools-page .cost-calculator-shell .contact-form-inner { width: 100%; max-width: none; display: block; margin: 0; }
.tools-page .cost-calculator-shell .contact-field { margin-bottom: 16px; }
.tools-page .cost-calculator-shell .contact-field,
.tools-page .cost-calculator-shell .contact-field input,
.tools-page .cost-calculator-shell .contact-field select,
.tools-page .cost-calculator-shell .contact-field textarea { width: 100%; max-width: none; }
.tools-page .cost-calculator-shell .contact-field label { display: block; font-size: .82rem; font-weight: 700; margin-bottom: 8px; color: var(--text-default); }
.tools-page .cost-calculator-shell .contact-field input,
.tools-page .cost-calculator-shell .contact-field select,
.tools-page .cost-calculator-shell .contact-field textarea { width: 100%; box-sizing: border-box; border-radius: 10px; border: solid 1px var(--border); background: var(--white); color: var(--text-default); padding: 16px 18px; font-family: 'DM Sans', sans-serif; font-size: 1rem; transition: border-color 0.2s ease, box-shadow 0.2s ease; margin-bottom: 5px; }
.tools-page .cost-calculator-shell .contact-field input::placeholder,
.tools-page .cost-calculator-shell .contact-field textarea::placeholder { color: var(--text-sub-02); font-size: .9rem; }
.tools-page .cost-calculator-shell .contact-field input:focus,
.tools-page .cost-calculator-shell .contact-field select:focus,
.tools-page .cost-calculator-shell .contact-field textarea:focus { outline: none; border-color: var(--brand); box-shadow: 0 0 0 3px rgba(56, 89, 255, 0.08); }
.tools-page .cost-calculator-shell .contact-field textarea { resize: vertical; min-height: 150px; }
.tools-page .cost-calculator-shell .contact-field option { color: var(--text-default); }
.tools-page .cost-calculator-shell .contact-alert { border-radius: 10px; background: #fff3ef; border: solid 1px #ffd6ca; padding: 14px 16px; margin-bottom: 20px; }
.tools-page .cost-calculator-shell .contact-alert p { font-size: .92rem; line-height: 1.6; color: var(--text-sub); margin: 0; }
.tools-page .cost-calculator-shell .contact-actions { display: flex; align-items: center; justify-content: flex-start; gap: 14px; margin-top: 24px; flex-wrap: wrap; }
.tools-page .cost-calculator-shell .contact-form-submit-btn { width: auto; max-width: fit-content; min-width: 140px; min-height: 56px; border: none; cursor: pointer; position: relative; }
.tools-page .contact-form-submit-btn,
.tools-page .contact-form-submit-btn p { font-family: 'DM Sans', sans-serif; }
.tools-page .contact-form-submit-text { display: inline-flex; align-items: center; justify-content: center; }
.tools-page .contact-form-submit-spinner { display: none; color: var(--white); font-size: 1rem; line-height: 1; }
.tools-page .contact-form-submit-btn.is-loading { cursor: wait; }
.tools-page .contact-form-submit-btn.is-loading .contact-form-submit-text { display: none; }
.tools-page .contact-form-submit-btn.is-loading .contact-form-submit-spinner { display: inline-block; }
.tools-page .contact-form-submit-btn:disabled { opacity: 1; }
.tools-page .contact-field-help { margin: -12px 0 18px; color: var(--text-sub); font-size: .82rem; line-height: 1.5; }
.tools-page .policy-generator-output-wrap { margin-top: 20px; display: grid; gap: 14px; }
.tools-page .tool-result-body { border-top: 1px solid rgba(255, 255, 255, 0.16); padding-top: 20px; }
.tools-page .tool-result-body ul { margin: 0; padding-left: 20px; }
.tools-page .tool-result-body li { color: var(--white); line-height: 1.7; margin-bottom: 8px; }
.tools-page .tool-generated-output { white-space: pre-wrap; word-break: break-word; margin: 0; font-family: 'DM Sans', sans-serif; font-size: .95rem; line-height: 1.65; color: var(--white); }

.tools-page .cost-calculator-shell { max-width: 920px; margin: 0 auto; }
.tools-page .cost-calculator-submit { min-width: 180px; }
.tools-page .cost-calculator-results-panel { border-radius: 30px; background: linear-gradient(145deg, #000000 0%, #000000 62%, #16244f 100%); padding: 34px; }
.tools-page .cost-calculator-results-panel h3,
.tools-page .cost-calculator-results-panel h4,
.tools-page .cost-calculator-results-panel p,
.tools-page .cost-calculator-results-panel span,
.tools-page .cost-calculator-results-panel strong,
.tools-page .cost-calculator-results-panel li { color: var(--white); }
.tools-page .cost-calculator-results-kicker { font-size: .82rem; font-weight: 800; letter-spacing: .08rem; text-transform: uppercase; opacity: 0.82; }
.tools-page .cost-calculator-results-panel h3 { font-size: 3.3rem; line-height: 1.06; margin-top: 12px; }
.tools-page .cost-calculator-results-meta { display: grid; grid-template-columns: 1fr; gap: 14px; margin-top: 26px; }
.tools-page .cost-calculator-breakdown { margin-top: 24px; display: grid; gap: 12px; }
.tools-page .cost-calculator-breakdown-row { display: flex; justify-content: space-between; gap: 16px; align-items: start; border: 1px solid rgba(255, 255, 255, 0.16); border-radius: 18px; background: rgba(255, 255, 255, 0.08); padding: 16px 18px; }
.tools-page .cost-calculator-breakdown-row h4 { font-size: 1rem; padding: 0; }
.tools-page .cost-calculator-breakdown-row p { font-size: .9rem; line-height: 1.55; opacity: 0.85; margin-top: 4px; }
.tools-page .cost-calculator-breakdown-row strong { font-size: 1.1rem; white-space: nowrap; }
.tools-page .cost-calculator-assumptions { margin-top: 18px; border-top: 1px solid rgba(255, 255, 255, 0.16); padding-top: 18px; }
.tools-page .cost-calculator-assumptions p { font-size: .92rem; line-height: 1.6; opacity: 0.85; }
.tools-page .cost-calculator-results-actions { display: flex; justify-content: flex-start; margin-top: 24px; gap: 12px; flex-wrap: wrap; }
.tools-page .cost-calculator-reset { width: auto; justify-content: center; text-align: center; border: 1px solid rgba(255, 255, 255, 0.22); border-color: rgba(255, 255, 255, 0.22); background: rgba(255, 255, 255, 0.12); }
.tools-page .cost-calculator-reset p { padding-right: 0 !important; color: var(--white) !important; }

.tools-page .wla-explainer { max-width: 740px; }
.tools-page .wla-explainer .feature-01-tag { margin-bottom: 20px; }
.tools-page .wla-explainer h2 { margin-bottom: 20px; }
.tools-page .wla-explainer > p { color: var(--text-default); line-height: 1.7; margin-bottom: 16px; }
.tools-page .wla-checklist-heading { font-size: 1.1rem; font-weight: 800; margin: 36px 0 20px; }
.tools-page .wla-checklist { list-style: none; padding: 0; margin: 0 0 28px; display: grid; grid-template-columns: 1fr 1fr; gap: 14px 32px; }
.tools-page .wla-checklist li { display: flex; gap: 12px; align-items: flex-start; font-size: .95rem; line-height: 1.5; color: var(--text-default); }
.tools-page .wla-checklist li i { color: var(--brand); font-size: 1rem; flex-shrink: 0; margin-top: 2px; }

.partners-page .partner-program-list { max-width: 760px; margin: 0 auto; display: flex; flex-direction: column; gap: 18px; }
.partners-page .partner-program-card { display: flex; justify-content: space-between; align-items: center; gap: 24px; border-radius: 24px; border: 1px solid var(--border); background: transparent; box-shadow: var(--box-shadow-main); padding: 28px 30px; text-decoration: none; transition: transform 0.35s ease, box-shadow 0.35s ease, border-color 0.35s ease; }
.partners-page .partner-program-card:hover { transform: translateY(-4px); box-shadow: 0 18px 35px rgba(18, 25, 38, 0.08); border-color: #d9dde5; }
.partners-page .partner-program-card-copy { min-width: 0; max-width: 540px; }
.partners-page .partner-program-card h3 { color: var(--text-default); font-size: 1.55rem; line-height: 1.2; }
.partners-page .partner-program-card-copy p { color: var(--text-sub); margin-top: 10px; }
.partners-page .partner-program-card-cta { width: auto; min-width: 165px; justify-content: center; align-items: center; text-align: center; padding: 14px 18px; box-sizing: border-box; align-self: center; }
.partners-page .partner-program-card-cta p { margin-top: 0; padding-right: 0 !important; font-size: .92rem !important; font-weight: 700; line-height: 1 !important; white-space: nowrap; text-align: center; color: var(--text-default) !important; }

@media screen and (max-width: 1000px) {
.tools-page .glossary-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media screen and (max-width: 700px) {
.partners-page .partner-program-card { flex-direction: column; align-items: flex-start; padding: 24px 20px; }
.partners-page .partner-program-card-cta { min-width: 0; width: 100%; align-self: stretch; justify-content: flex-start; text-align: left; margin-top: 18px; padding: 18px 0 0; border-top: 1px solid var(--border); border-left: none; border-right: none; border-bottom: none; border-radius: 0; }
.partners-page .partner-program-card-cta p { text-align: left; }
.tools-page .hero-02-shell .hero-02 { padding: 42px 20px; }
.tools-page .hero-02-text h2 { font-size: 3rem; }
.tools-page .hero-05-inner { padding: 60px 0 40px; }
.tools-page .hero-05-inner h1 { font-size: 3rem; }
.tools-page .glossary-results-toolbar { flex-direction: column; align-items: stretch; gap: 12px; }
.tools-page .glossary-search-form-inline { max-width: 100%; margin: 0 0 22px; }
.tools-page .glossary-search-inline-layout { flex-direction: column; align-items: stretch; gap: 12px; }
.tools-page .glossary-search-row { display: grid; grid-template-columns: 18px minmax(0, 1fr); align-items: center; column-gap: 10px; row-gap: 12px; padding: 12px; border-radius: 20px; }
.tools-page .glossary-search-icon { grid-column: 1; grid-row: 1; }
.tools-page .glossary-search-row input { grid-column: 2; grid-row: 1; width: 100%; }
.tools-page .glossary-search-btn { grid-column: 1 / -1; grid-row: 2; width: 100%; min-width: 0; padding: 14px 16px; }
.tools-page .glossary-grid { grid-template-columns: 1fr; }
.tools-page .glossary-empty { padding: 28px 24px; }
.tools-page .cost-calculator-shell .contact-actions { flex-direction: column; align-items: stretch; }
.tools-page .cost-calculator-results-panel { padding: 26px 20px; }
.tools-page .cost-calculator-results-panel h3 { font-size: 2.5rem; }
.tools-page .cost-calculator-breakdown-row { flex-direction: column; }
.tools-page .cost-calculator-breakdown-row strong { white-space: normal; }
.tools-page .wla-checklist { grid-template-columns: 1fr; }
}


/*****************************
  Contact Page
*****************************/

.contact-page { padding: 20px 0 0; }
.contact-page-grid { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(0, .9fr); gap: 30px; align-items: start; }
.contact-page-intro { padding: 20px 0; }
.contact-page-intro h2 { margin-top: 20px; }
.contact-page-intro > p { margin-top: 15px; }
.contact-page-points { margin-top: 30px; display: grid; gap: 16px; }
.contact-page-point { border: solid 1px var(--border); border-radius: 10px; padding: 18px 20px; background: var(--off-white); }
.contact-page-point h6 { margin-bottom: 6px; }
.contact-form-card { border: solid 1px var(--border); border-radius: 15px; padding: 25px; box-shadow: var(--box-shadow-main); background: var(--background); }
.contact-form-message { border-radius: 5px; padding: 3px 5px; margin-bottom: 20px; }
.contact-form-message p { margin: 0; font-size: .9rem; color: var(--red); }
.contact-form-message-error { background: var(--red-light); text-align: center; }
.contact-form-success-state { text-align: center; padding: 25px 10px; }
.contact-form-success-icon,
.contact-form-success-state .svg-inline--fa {
    display: block;
    font-size: 4rem !important;
    width: 4rem;
    height: 4rem;
    line-height: 1;
    color: var(--text-default);
    margin: 0 auto 10px;
}
.contact-form-success-state p { margin: 0; color: var(--text-default); }
.contact-form-honeypot { position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; opacity: 0; pointer-events: none; }
.contact-form textarea { margin-bottom: 25px; }
.contact-form-turnstile { margin-top: 25px; }
.contact-form-turnstile iframe { width: 100% !important; }
.contact-form-turnstile .cf-turnstile { width: 100%; }
.contact-form-submit { border: 0; cursor: pointer; font-family: 'DM Sans', sans-serif; position: relative; display: inline-flex; align-items: center; justify-content: center; min-width: 180px; }
.contact-form-submit-loading { display: none; align-items: center; justify-content: center; }
.contact-form-submit.is-loading { pointer-events: none; opacity: .9; }
.contact-form-submit.is-loading .contact-form-submit-label { opacity: 0; }
.contact-form-submit.is-loading .contact-form-submit-loading { display: inline-flex; position: absolute; inset: 0; }
.contact-form-spinner { width: 18px; height: 18px; border-radius: 50%; border: 2px solid rgba(255,255,255,.35); border-top-color: var(--white); animation: contact-spinner-spin .7s linear infinite; }
.contact-form-note { margin-top: 15px; font-size: .85rem; }
.contact-form-note a { text-decoration: underline; font-size: .85rem; }

@keyframes contact-spinner-spin {
    to { transform: rotate(360deg); }
}

@media screen and (max-width: 900px) {

.contact-page-grid { grid-template-columns: 1fr; }
.contact-page-intro { padding-top: 0; }
}
