/* sr-base.css */
/* Sprocket Rocket Complete CSS - Combined layout.css + theme.css (converted) + sr-base.css */
/* This file combines the original include structure: layout.css + theme.css + sr-base.css */

/* ====================================================================== */
/* LAYOUT.CSS - Responsive grid and layout utilities */
/* ====================================================================== */

/* Responsive grid */

.row-fluid {
    width: 100%;
    *zoom: 1;
}

.row-fluid:before, .row-fluid:after {
    display: table;
    content: "";
}

.row-fluid:after {
    clear: both;
}

.row-fluid [class*="span"] {
    display: block;
    float: left;
    width: 100%;
    min-height: 1px;
    margin-left: 2.127659574%;
    *margin-left: 2.0744680846382977%;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    -ms-box-sizing: border-box;
    box-sizing: border-box;
}

.row-fluid [class*="span"]:first-child {
    margin-left: 0;
}

.row-fluid .span12 {
    width: 99.99999998999999%;
    *width: 99.94680850063828%;
}

.row-fluid .span11 {
    width: 91.489361693%;
    *width: 91.4361702036383%;
}

.row-fluid .span10 {
    width: 82.97872339599999%;
    *width: 82.92553190663828%;
}

.row-fluid .span9 {
    width: 74.468085099%;
    *width: 74.4148936096383%;
}

.row-fluid .span8 {
    width: 65.95744680199999%;
    *width: 65.90425531263828%;
}

.row-fluid .span7 {
    width: 57.446808505%;
    *width: 57.3936170156383%;
}

.row-fluid .span6 {
    width: 48.93617020799999%;
    *width: 48.88297871863829%;
}

.row-fluid .span5 {
    width: 40.425531911%;
    *width: 40.3723404216383%;
}

.row-fluid .span4 {
    width: 31.914893614%;
    *width: 31.8617021246383%;
}

.row-fluid .span3 {
    width: 23.404255317%;
    *width: 23.3510638276383%;
}

.row-fluid .span2 {
    width: 14.89361702%;
    *width: 14.8404255306383%;
}

.row-fluid .span1 {
    width: 6.382978723%;
    *width: 6.329787233638298%;
}

.container-fluid {
    *zoom: 1;
}

.container-fluid:before, .container-fluid:after {
    display: table;
    content: "";
}

.container-fluid:after {
    clear: both;
}

@media (max-width: 767px) {
    .row-fluid {
        width: 100%;
    }

    .row-fluid [class*="span"] {
        display: block;
        float: none;
        width: auto;
        margin-left: 0;
    }
}

@media (min-width: 768px) and (max-width: 1139px) {
    .row-fluid {
        width: 100%;
        *zoom: 1;
    }

    .row-fluid:before, .row-fluid:after {
        display: table;
        content: "";
    }

    .row-fluid:after {
        clear: both;
    }

    .row-fluid [class*="span"] {
        display: block;
        float: left;
        width: 100%;
        min-height: 1px;
        margin-left: 2.762430939%;
        *margin-left: 2.709239449638298%;
        -webkit-box-sizing: border-box;
        -moz-box-sizing: border-box;
        -ms-box-sizing: border-box;
        box-sizing: border-box;
    }

    .row-fluid [class*="span"]:first-child {
        margin-left: 0;
    }

    .row-fluid .span12 {
        width: 99.999999993%;
        *width: 99.9468085036383%;
    }

    .row-fluid .span11 {
        width: 91.436464082%;
        *width: 91.38327259263829%;
    }

    .row-fluid .span10 {
        width: 82.87292817100001%;
        *width: 82.8197366816383%;
    }

    .row-fluid .span9 {
        width: 74.30939226%;
        *width: 74.25620077063829%;
    }

    .row-fluid .span8 {
        width: 65.74585634900001%;
        *width: 65.6926648596383%;
    }

    .row-fluid .span7 {
        width: 57.182320438000005%;
        *width: 57.129128948638304%;
    }

    .row-fluid .span6 {
        width: 48.618784527%;
        *width: 48.5655930376383%;
    }

    .row-fluid .span5 {
        width: 40.055248616%;
        *width: 40.0020571266383%;
    }

    .row-fluid .span4 {
        width: 31.491712705%;
        *width: 31.4385212156383%;
    }

    .row-fluid .span3 {
        width: 22.928176794%;
        *width: 22.874985304638297%;
    }

    .row-fluid .span2 {
        width: 14.364640883%;
        *width: 14.311449393638298%;
    }

    .row-fluid .span1 {
        width: 5.801104972%;
        *width: 5.747913482638298%;
    }
}

@media (min-width: 1280px) {
    .row-fluid {
        width: 100%;
        *zoom: 1;
    }

    .row-fluid:before, .row-fluid:after {
        display: table;
        content: "";
    }

    .row-fluid:after {
        clear: both;
    }

    .row-fluid [class*="span"] {
        display: block;
        float: left;
        width: 100%;
        min-height: 1px;
        margin-left: 2.564102564%;
        *margin-left: 2.510911074638298%;
        -webkit-box-sizing: border-box;
        -moz-box-sizing: border-box;
        -ms-box-sizing: border-box;
        box-sizing: border-box;
    }

    .row-fluid [class*="span"]:first-child {
        margin-left: 0;
    }

    .row-fluid .span12 {
        width: 100%;
        *width: 99.94680851063829%;
    }

    .row-fluid .span11 {
        width: 91.45299145300001%;
        *width: 91.3997999636383%;
    }

    .row-fluid .span10 {
        width: 82.905982906%;
        *width: 82.8527914166383%;
    }

    .row-fluid .span9 {
        width: 74.358974359%;
        *width: 74.30578286963829%;
    }

    .row-fluid .span8 {
        width: 65.81196581200001%;
        *width: 65.7587743226383%;
    }

    .row-fluid .span7 {
        width: 57.264957265%;
        *width: 57.2117657756383%;
    }

    .row-fluid .span6 {
        width: 48.717948718%;
        *width: 48.6647572286383%;
    }

    .row-fluid .span5 {
        width: 40.170940171000005%;
        *width: 40.117748681638304%;
    }

    .row-fluid .span4 {
        width: 31.623931624%;
        *width: 31.5707401346383%;
    }

    .row-fluid .span3 {
        width: 23.076923077%;
        *width: 23.0237315876383%;
    }

    .row-fluid .span2 {
        width: 14.529914530000001%;
        *width: 14.4767230406383%;
    }

    .row-fluid .span1 {
        width: 5.982905983%;
        *width: 5.929714493638298%;
    }
}

/* Clearfix */

.clearfix {
    *zoom: 1;
}

.clearfix:before, .clearfix:after {
    display: table;
    content: "";
}

.clearfix:after {
    clear: both;
}

/* Visibilty Classes */

.hide {
    display: none;
}

.show {
    display: block;
}

.invisible {
    visibility: hidden;
}

.hidden {
    display: none;
    visibility: hidden;
}

/* Responsive Visibilty Classes */

.visible-phone {
    display: none !important;
}

.visible-tablet {
    display: none !important;
}

.hidden-desktop {
    display: none !important;
}

@media (max-width: 767px) {
    .visible-phone {
        display: inherit !important;
    }

    .hidden-phone {
        display: none !important;
    }

    .hidden-desktop {
        display: inherit !important;
    }

    .visible-desktop {
        display: none !important;
    }
}

@media (min-width: 768px) and (max-width: 1139px) {
    .visible-tablet {
        display: inherit !important;
    }

    .hidden-tablet {
        display: none !important;
    }

    .hidden-desktop {
        display: inherit !important;
    }

    .visible-desktop {
        display: none !important ;
    }
}

.show-for-sr {
	border: 0 !important;
	height: 1px !important;
	overflow: hidden !important;
	padding: 0 !important;
	position: absolute !important;
	white-space: nowrap !important;
	width: 1px !important;
}

@media (max-width: 767px) {
	.show-for-sr--mobile {
		border: 0 !important;
		height: 1px !important;
		overflow: hidden !important;
		padding: 0 !important;
		position: absolute !important;
		white-space: nowrap !important;
		width: 1px !important;
	}
}

/* CSS variables */

:root {
	--column-gap: 2.13%;
	--column-width-multiplier: 8.333;
}

/* Mobile layout */

.row-fluid {
	display: flex;
	flex-wrap: wrap;
	width: 100%;
}

.row-fluid .span1,
.row-fluid .span2,
.row-fluid .span3,
.row-fluid .span4,
.row-fluid .span5,
.row-fluid .span6,
.row-fluid .span7,
.row-fluid .span8,
.row-fluid .span9,
.row-fluid .span10,
.row-fluid .span11,
.row-fluid .span12 {
	width: 100%;
}

/* Desktop layout */

@media (min-width: 768px) {
	.row-fluid {
		flex-wrap: nowrap;
		justify-content: space-between;
	}

	.row-fluid .span1 {
		width: calc(var(--column-width-multiplier) * 1% * 1 - var(--column-gap) * (11 * var(--column-width-multiplier) / 100));
	}
	.row-fluid .span2 {
		width: calc(var(--column-width-multiplier) * 1% * 2 - var(--column-gap) * (10 * var(--column-width-multiplier) / 100));
	}
	.row-fluid .span3 {
		width: calc(var(--column-width-multiplier) * 1% * 3 - var(--column-gap) * (9 * var(--column-width-multiplier) / 100));
	}
	.row-fluid .span4 {
		width: calc(var(--column-width-multiplier) * 1% * 4 - var(--column-gap) * (8 * var(--column-width-multiplier) / 100));
	}
	.row-fluid .span5 {
		width: calc(var(--column-width-multiplier) * 1% * 5 - var(--column-gap) * (7 * var(--column-width-multiplier) / 100));
	}
	.row-fluid .span6 {
		width: calc(var(--column-width-multiplier) * 1% * 6 - var(--column-gap) * (6 * var(--column-width-multiplier) / 100));
	}
	.row-fluid .span7 {
		width: calc(var(--column-width-multiplier) * 1% * 7 - var(--column-gap) * (5 * var(--column-width-multiplier) / 100));
	}
	.row-fluid .span8 {
		width: calc(var(--column-width-multiplier) * 1% * 8 - var(--column-gap) * (4 * var(--column-width-multiplier) / 100));
	}
	.row-fluid .span9 {
		width: calc(var(--column-width-multiplier) * 1% * 9 - var(--column-gap) * (3 * var(--column-width-multiplier) / 100));
	}
	.row-fluid .span10 {
		width: calc(var(--column-width-multiplier) * 1% * 10 - var(--column-gap) * (2 * var(--column-width-multiplier) / 100));
	}
	.row-fluid .span11 {
		width: calc(var(--column-width-multiplier) * 1% * 11 - var(--column-gap) * (1 * var(--column-width-multiplier) / 100));
	}
}

/* ====================================================================== */
/* THEME.CSS - Converted from HubL template to CSS variables */
/* ====================================================================== */

:root {
  /* Theme Colors - Converted from HubL theme.colors */
  --sr-primary: #007bff; /* Default primary color */
  --sr-secondary: #6c757d; /* Default secondary color */
  --sr-tertiary: #28a745; /* Default tertiary color */
  --sr-success: #28a745;
  --sr-info: #17a2b8;
  --sr-warning: #ffc107;
  --sr-danger: #dc3545;
  --sr-light: #f8f9fa;
  --sr-dark: #343a40;
  --sr-white: #ffffff;
  --sr-black: #000000;
  --sr-borders: #dee2e6;
  --sr-body-bg: #ffffff;
  --sr-body-color: #212529;
  --sr-heading: #212529;
  --sr-link-color: #007bff;
  --sr-link-hover-color: #0056b3;

  /* Typography - Converted from HubL theme.typography */
  --sr-primary-font: 'Inter', -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
  --sr-font-size-base: 16px;
  --sr-font-line-height: 1.5;
  --sr-margin-percentage: 0.625;

  /* Heading font sizes */
  --sr-h1-font-size: 2.5rem;
  --sr-h1-font-weight: 700;
  --sr-h1-line-height: 1.2;
  --sr-h1-letter-spacing: normal;
  --sr-h1-min-font-size: 2rem;
  --sr-h1-max-font-size: 3rem;

  --sr-h2-font-size: 2rem;
  --sr-h2-font-weight: 600;
  --sr-h2-line-height: 1.3;
  --sr-h2-letter-spacing: normal;
  --sr-h2-min-font-size: 1.75rem;
  --sr-h2-max-font-size: 2.5rem;

  --sr-h3-font-size: 1.75rem;
  --sr-h3-font-weight: 600;
  --sr-h3-line-height: 1.3;
  --sr-h3-letter-spacing: normal;
  --sr-h3-min-font-size: 1.5rem;
  --sr-h3-max-font-size: 2rem;

  --sr-h4-font-size: 1.5rem;
  --sr-h4-font-weight: 600;
  --sr-h4-line-height: 1.4;
  --sr-h4-letter-spacing: normal;
  --sr-h4-min-font-size: 1.25rem;
  --sr-h4-max-font-size: 1.75rem;

  --sr-h5-font-size: 1.25rem;
  --sr-h5-font-weight: 500;
  --sr-h5-line-height: 1.4;
  --sr-h5-letter-spacing: normal;
  --sr-h5-min-font-size: 1.125rem;
  --sr-h5-max-font-size: 1.5rem;

  --sr-h6-font-size: 1rem;
  --sr-h6-font-weight: 500;
  --sr-h6-line-height: 1.4;
  --sr-h6-letter-spacing: normal;
  --sr-h6-min-font-size: 0.875rem;
  --sr-h6-max-font-size: 1.25rem;

  /* Display font sizes */
  --sr-display1-font-size: 6rem;
  --sr-display1-font-weight: 300;
  --sr-display1-line-height: 1;
  --sr-display1-letter-spacing: normal;
  --sr-display1-min-font-size: 4rem;
  --sr-display1-max-font-size: 8rem;

  --sr-display2-font-size: 5.5rem;
  --sr-display2-font-weight: 300;
  --sr-display2-line-height: 1;
  --sr-display2-letter-spacing: normal;
  --sr-display2-min-font-size: 3.5rem;
  --sr-display2-max-font-size: 7rem;

  --sr-display3-font-size: 4.5rem;
  --sr-display3-font-weight: 300;
  --sr-display3-line-height: 1;
  --sr-display3-letter-spacing: normal;
  --sr-display3-min-font-size: 3rem;
  --sr-display3-max-font-size: 6rem;

  --sr-display4-font-size: 3.5rem;
  --sr-display4-font-weight: 300;
  --sr-display4-line-height: 1;
  --sr-display4-letter-spacing: normal;
  --sr-display4-min-font-size: 2.5rem;
  --sr-display4-max-font-size: 5rem;

  /* Special typography */
  --sr-blockquote-font-size: 1.25rem;
  --sr-blockquote-font-weight: 400;
  --sr-blockquote-line-height: 1.6;
  --sr-blockquote-letter-spacing: normal;
  --sr-blockquote-min-font-size: 1.125rem;
  --sr-blockquote-max-font-size: 1.5rem;

  --sr-lead-paragraph-font-size: 1.25rem;
  --sr-lead-paragraph-font-weight: 400;
  --sr-lead-paragraph-line-height: 1.6;
  --sr-lead-paragraph-letter-spacing: normal;
  --sr-lead-paragraph-min-font-size: 1.125rem;
  --sr-lead-paragraph-max-font-size: 1.5rem;

  --sr-small-font-size: 0.875rem;
  --sr-small-font-weight: 400;
  --sr-small-line-height: 1.4;
  --sr-small-letter-spacing: normal;
  --sr-small-min-font-size: 0.75rem;
  --sr-small-max-font-size: 1rem;

  /* List styles */
  --sr-list-font-size: 1rem;
  --sr-list-font-weight: 400;
  --sr-list-line-height: 1.6;
  --sr-list-letter-spacing: normal;
  --sr-list-number-color: #007bff;

  /* Spacers - Converted from HubL theme.paddings_spacers */
  --sr-spacer-25: 0.25rem;
  --sr-spacer-50: 0.5rem;
  --sr-spacer-75: 0.75rem;
  --sr-spacer-100: 1rem;
  --sr-padding-half: 1rem;
  --sr-padding-full: 2rem;

  /* Form styling - Converted from HubL theme.forms */
  --sr-form-label-color: #212529;
  --sr-form-label-size: 16px;
  --sr-form-field-color: #495057;
  --sr-form-field-focus-color: #495057;
  --sr-form-placeholder-color: #6c757d;
  --sr-form-field-background-color: #ffffff;
  --sr-form-field-border-color: #ced4da;
  --sr-form-field-border-focus-color: #007bff;
  --sr-form-field-border-radius: 4px;
  --sr-form-help-text-color: #dc3545;

  /* Button styling - Converted from HubL theme.buttons_inputs */
  --sr-button-border-radius: 4px;
  --sr-button-border-width: 1px;
  --sr-button-font-weight: 500;
  --sr-button-letter-spacing: normal;
  --sr-button-uppercase: false;

  /* Button sizes */
  --sr-button-large-height: 52px;
  --sr-button-large-font-size: 18px;
  --sr-button-large-padding: 0 2rem;

  --sr-button-medium-height: 44px;
  --sr-button-medium-font-size: 16px;
  --sr-button-medium-padding: 0 1.5rem;

  --sr-button-small-height: 32px;
  --sr-button-small-font-size: 14px;
  --sr-button-small-padding: 0 1rem;

  /* Container sizes - Converted from HubL theme.container */
  --sr-container-xl: 1320px;
  --sr-container-lg: 1140px;
  --sr-container-md: 960px;
  --sr-container-sm: 720px;
  --sr-container-xs: 540px;
  --sr-container-small: 1030px;
  --sr-container-large: 1270px;

  /* Misc settings - Converted from HubL theme.misc */
  --sr-card-bg: #ffffff;
  --sr-card-bg-opacity: 1;
  --sr-border-radius: 6px;
}

/* ====================================================================== */
/* SR-BASE.CSS - Static CSS content (duplicated variables removed) */
/* ====================================================================== */

html {
  scroll-behavior: smooth;
}

.btn,
.btn-wrapper .cta_button,
.btn-wrapper .cta-button,
.btn-wrapper input[type="submit"],
.btn-wrapper input[type="button"],
input[type="submit"],
input[type="button"] {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-weight: 500;
  text-align: center;
  text-decoration: none;
  vertical-align: middle;
  cursor: pointer;
  user-select: none;
  background-color: var(--sr-primary);
  border: 1px solid var(--sr-primary);
  padding: var(--sr-button-medium-padding);
  font-size: 1rem;
  border-radius: var(--sr-button-border-radius);
  color: #ffffff;
  transition: all 0.15s ease-in-out;
  min-height: var(--sr-button-medium-height);
  box-sizing: border-box;
}

.text-btn {
  font-size: 1rem;
  font-weight: 500;
}

.cta-group .btn-wrapper {
  display: inline-block;
}

.cta-group.btn-wrap .btn-wrapper {
  width: 100%;
}

.cta-group.btn-block .btn-wrapper,
.btn-block-wrapper .btn-wrapper,
.btn-block-wrapper .hs_submit {
  width: 100%;
}

.cta-group.btn-block .btn-wrapper .cta_button,
.cta-group.btn-block .btn-wrapper .cta-button,
.btn-block input[type="submit"],
.btn-block input[type="button"],
.btn-block-wrapper .btn-wrapper .cta_button,
.btn-block-wrapper .btn-wrapper .cta-button,
.btn-block-wrapper input[type="submit"],
.btn-block-wrapper input[type="button"] {
  width: 100%;
  justify-content: center;
  box-sizing: border-box !important;
}

.btn-left .hs_submit {
  text-align: left;
}

.btn-center .hs_submit {
  text-align: center;
}

.btn-right .hs_submit {
  text-align: right;
}

.btn-left .hs_submit,
.btn-center .hs_submit,
.btn-right .hs_submit {
  width: 100%;
}

.button_icon svg {
  display: block;
  fill: currentColor !important;
  height: 1em;
}

.button_icon svg g,
.button_icon svg path {
  fill: currentColor !important;
}

.block { display: table; }
.circle { border-radius: 100%; }
.divider {
  display: block;
  border-bottom: 1px solid rgba(0,0,0,0.1);
  padding: 0 0 13px 0;
  margin: 0 0 40px;
}
.text-center-mobile { text-align: center; }
.max-responsive { max-width: 100%; height: auto !important; }
.antialiased { -webkit-font-smoothing: antialiased; }

.no-bullets ul,
.no-bullets ol {
  list-style: none;
  padding-left: 0;
}

.animated {
  transition: all .3s ease-in-out;
  animation-timing-function: ease-in-out;
}

.animated-fast {
  transition: all .15s ease-in-out;
  animation-timing-function: ease-in-out;
}

.sr-line-top { border-top: 1px solid var(--sr-borders); }
.sr-line-bottom { border-bottom: 1px solid var(--sr-borders); }

/* ----------------------------------------------------------------------------------- */
/*  Typography */
/* ----------------------------------------------------------------------------------- */
html {
  font-size: var(--sr-font-size-base);
}

body {
  font-family: var(--sr-primary-font);
  line-height: var(--sr-font-line-height);
  font-size: 1rem;
  color: var(--sr-body-color);
  background-color: var(--sr-body-bg);
  margin: 0;
}

h1,
.h1 {
  margin-bottom: calc(var(--sr-h1-font-size) * var(--sr-margin-percentage));
  line-height: var(--sr-h1-line-height);
  font-weight: var(--sr-h1-font-weight);
  font-size: var(--sr-h1-font-size);
}

h2,
.h2 {
  margin-bottom: calc(var(--sr-h2-font-size) * var(--sr-margin-percentage));
  line-height: var(--sr-h2-line-height);
  font-weight: var(--sr-h2-font-weight);
  font-size: var(--sr-h2-font-size);
}

h3,
.h3 {
  margin-bottom: calc(var(--sr-h3-font-size) * var(--sr-margin-percentage));
  line-height: var(--sr-h3-line-height);
  font-weight: var(--sr-h3-font-weight);
  font-size: var(--sr-h3-font-size);
}

h4,
.h4 {
  margin-bottom: calc(var(--sr-h4-font-size) * var(--sr-margin-percentage));
  line-height: var(--sr-h4-line-height);
  font-weight: var(--sr-h4-font-weight);
  font-size: var(--sr-h4-font-size);
}

h5,
.h5 {
  margin-bottom: calc(var(--sr-h5-font-size) * var(--sr-margin-percentage));
  line-height: var(--sr-h5-line-height);
  font-weight: var(--sr-h5-font-weight);
  font-size: var(--sr-h5-font-size);
}

h6,
.h6 {
  margin-bottom: calc(var(--sr-h6-font-size) * var(--sr-margin-percentage));
  line-height: var(--sr-h6-line-height);
  font-weight: var(--sr-h6-font-weight);
  font-size: var(--sr-h6-font-size);
}

h1, h2, h3, h4, h5, h6,
.h1, .h2, .h3, .h4, .h5, .h6,
.display-1, .display-2, .display-3, .display-4 {
  color: var(--sr-heading);
}

h1 br, h2 br, h3 br, h4 br, h5 br, h6 br,
.display-1 br, .display-2 br, .display-3 br, .display-4 br, .description br { display: none; }
@media (min-width:992px) {
  h1 br, h2 br, h3 br, h4 br, h5 br, h6 br,
  .display-1 br, .display-2 br, .display-3 br, .display-4 br, .description br { display: initial; }
}

.display-1 {
  margin-bottom: calc(var(--sr-display1-font-size) * var(--sr-margin-percentage));
  line-height: var(--sr-display1-line-height);
  font-weight: var(--sr-display1-font-weight);
  font-size: var(--sr-display1-font-size);
}

.display-2 {
  margin-bottom: calc(var(--sr-display2-font-size) * var(--sr-margin-percentage));
  line-height: var(--sr-display2-line-height);
  font-weight: var(--sr-display2-font-weight);
  font-size: var(--sr-display2-font-size);
}

.display-3 {
  margin-bottom: calc(var(--sr-display3-font-size) * var(--sr-margin-percentage));
  line-height: var(--sr-display3-line-height);
  font-weight: var(--sr-display3-font-weight);
  font-size: var(--sr-display3-font-size);
}

.display-4 {
  margin-bottom: calc(var(--sr-display4-font-size) * var(--sr-margin-percentage));
  line-height: var(--sr-display4-line-height);
  font-weight: var(--sr-display4-font-weight);
  font-size: var(--sr-display4-font-size);
}

p {
  margin-top: 0;
  margin-bottom: 1.25rem;
}

ul,
ol {
  padding-left: 2rem;
}

.lead,
.large,
.lead li,
.large li {
  line-height: var(--sr-lead-paragraph-line-height);
  font-weight: var(--sr-lead-paragraph-font-weight);
  font-size: var(--sr-lead-paragraph-font-size);
}

.lead p,
.large p {
  margin-bottom: calc(var(--sr-lead-paragraph-font-size) * var(--sr-margin-percentage) + 1rem);
}

.lead li,
.large li {
  margin-bottom: calc(var(--sr-lead-paragraph-font-size) * var(--sr-margin-percentage));
}

p.small,
.small,
small,
.font-small * {
  line-height: var(--sr-small-line-height);
  font-weight: var(--sr-small-font-weight);
  font-size: var(--sr-small-font-size);
}

p.small {
  margin-bottom: calc(var(--sr-small-font-size) * var(--sr-margin-percentage));
}

blockquote {
  margin-bottom: calc(var(--sr-blockquote-font-size) * var(--sr-margin-percentage));
  line-height: var(--sr-blockquote-line-height);
  font-weight: var(--sr-blockquote-font-weight);
  font-size: var(--sr-blockquote-font-size);
}

svg,
svg g,
svg path {
  fill: currentColor;
}

.p {
  font-family: var(--sr-primary-font);
  line-height: var(--sr-font-line-height);
  font-size: 1rem;
}

.oembed_custom-thumbnail_icon svg,
.oembed_custom-thumbnail_icon svg g,
.oembed_custom-thumbnail_icon svg path {
  fill: inherit;
}

a {
  color: var(--sr-link-color);
  text-decoration: none;
}

a:hover,
a:hover:not(.btn) {
  color: var(--sr-link-hover-color);
  text-decoration: none;
}

p a {
  -webkit-transition: all 0.2s ease;
  -o-transition: all 0.2s ease;
  transition: all 0.2s ease;
}

p a:hover {
  color: var(--sr-link-hover-color);
  text-decoration: underline;
}

img,
video {
  max-width: 100%;
  height: auto;
}

a[href="javascript:;"],
a[href="javascript:;"]:hover {
  cursor: default
}

.unstyle-list ul {
  list-style: none;
  padding: 0;
  margin: 0;
}

.unstyle-list ul li {
  margin-bottom: 0.5rem;
}

.bg-bottom {
  background-position: bottom !important;
}

.bg-center {
  background-position: center !important;
}

.bg-left {
  background-position: left !important;
}

.bg-left-bottom {
  background-position: left bottom !important;
}

.bg-left-top {
  background-position: left top !important;
}

.bg-right {
  background-position: right !important;
}

.bg-right-bottom {
  background-position: right bottom;
}

.bg-right-top {
  background-position: right top !important;
}

.bg-top {
  background-position: top !important;
}

.bg-repeat {
  background-repeat: repeat !important;
}

.bg-no-repeat {
  background-repeat: no-repeat !important;
}

.bg-repeat-x {
  background-repeat: repeat-x !important;
}

.bg-repeat-y {
  background-repeat: repeat-y !important;
}

.bg-auto {
  background-size: auto !important;
}

.bg-cover {
  background-size: cover !important;
}

.bg-contain {
  background-size: contain !important;
}

.container,
.container-fluid,
.container-sm,
.container-md,
.container-lg,
.container-xl {
  width: 100%;
  padding-right: 15px;
  padding-left: 15px;
  margin-right: auto;
  margin-left: auto;
}

@media (min-width: 576px) {
  .container,
  .container-sm {
    max-width: var(--sr-container-xs);
  }
}

@media (min-width: 768px) {
  .container,
  .container-sm,
  .container-md {
    max-width: var(--sr-container-sm);
  }
}

@media (min-width: 992px) {
  .container,
  .container-sm,
  .container-md,
  .container-lg {
    max-width: var(--sr-container-md);
  }
}

@media (min-width: 1200px) {
  .container,
  .container-sm,
  .container-md,
  .container-lg,
  .container-xl {
    max-width: var(--sr-container-lg);
  }
}

@media screen and (min-width: 2560px) {
  .container {
    max-width: var(--sr-container-xl);
  }
}

@media (min-width: 1090px) {
  .container-small {
    max-width: var(--sr-container-small);
  }
}

.container-large {
  max-width: var(--sr-container-lg);
}

/* Border radius classes - converted from HubL conditional */
.pillar-cover-wrapper,
.sr-cards-articles-01 .article-item,
.sr-cards-articles-01 .article-item.odd:before,
.sr-cards-articles-02 .article-item a,
.sr-cards-features-01 .features > div,
.sr-cards-logos-01 .media,
.sr-cards-grid-02 .card,
.sr-cards-image-01 .item-card,
.sr-cards-slider-01 .feat-slider .slick-slide,
.sr-cards-testimonial-grid-01 .card,
.sr-cards-testimonial-grid-02 .team-card,
.sr-cards-testimonial-slider-01 .sr-cards-testimonial-slider-01-content,
.sr-contact-01 section.sr-location,
.sr-contact-01 .media,
.sr-cards-team .team-card,
.sr-cards-testimonial-slider-02 .cards-wrapper,
.sr-cards-team-02 .team-member,
.sr-hero-02 .hero-feature,
.sr-hero-card-01 .sr-cover-inner,
.sr-job-listing-01 .listing-wrapper ul li,
.sr-offer-bar-04 .content-wrapper,
.sr-offer-bar-05 .card,
.sr-offer-faux-modal-01 .well,
.sr-offer-parallax-01 .sr-offer-parallax-01-content,
.sr-offer-parallax-02 .sr-offer-parallax-02-content-before,
.sr-offer-parallax-02 .sr-offer-parallax-02-content-after,
.sr-offer-two-col-02 .form-wrapper,
.sr-offer-two-col-03 .form-wrapper,
.sr-one-col-02-item > div,
.sr-social-tweet-01-content,
.sr-tabs-slider-02 .slickSliderItem,
.sr-three-col-features-01 .feature-list ul li,
.sr-two-col-features-02 .media,
.row.image-row a,
.sr-video-slider-01 .slider .slick-slide,
.sr-border,
.sr-cards-categories-01 .card-item,
.sr-cards-categories-01 .card-item-content {
  border-radius: var(--sr-border-radius) !important;
}

.sr-offer-one-col-01 .form-wrapper,
.sr-tabs-accordion-01 .accordion_header,
.sr-tabs-accordion-01 .accordion_group,
.sr-border-top {
  border-top-left-radius: var(--sr-border-radius) !important;
  border-top-right-radius: var(--sr-border-radius) !important;
}

.sr-cards-steps-01 .step-num-wrap,
.sr-cards-steps-01 .card-content,
.sr-cards-steps-02 .card-content,
.sr-tabs-accordion-01 .accordion_content,
.sr-tabs-accordion-01 .accordion_group,
.sr-contact-01 .sr-map,
.sr-border-bottom {
  border-bottom-left-radius: var(--sr-border-radius) !important;
  border-bottom-right-radius: var(--sr-border-radius) !important;
}

.sr-tabs-slider-02 .sr-tabs-slider-02-image,
.sr-tabs-vertical-01 .hs-tabs__navitem,
.sr-border-left {
  border-top-left-radius: var(--sr-border-radius) !important;
  border-bottom-left-radius: var(--sr-border-radius) !important;
}

.sr-border-right {
  border-top-right-radius: var(--sr-border-radius) !important;
  border-bottom-right-radius: var(--sr-border-radius) !important;
}

.card:not([class*="col-"]),
.sr-cards-pricing-01 .card,
.sr-cards-testimonial-slider-01 .slickSliderItem,
.sr-hero-02 .hero-feature,
.sr-faq-01 .faq-item,
.sr-faq-01 .faq-item::before,
.sr-faq-01 .faq-item::after,
.sr-cards-categories-01 .card-item-content,
.sr-offer-one-col-01 .form-wrapper,
.sr-cards-filter-01 .item .item-inner:not(:hover),
.sr-cards-image-01 .item-card,
.sr-tabs-accordion-01 .accordion_group,
.sr-cards-team-02 .team-member,
.sr-cards-testimonial-grid-01 .card,
.sr-style-guide .guide-nav,
.sr-cards-filter-02-item a:hover .item-card,
.modal-content,
.sr-sticky-breadcrumb,
.sr-sticky-breadcrumb-categories,
.ng-blog-wrapper,
.sr-social-share.sr-social-share,
.blog-related-posts .article-panel .article-content,
.email-prefs .item .item-inner,
.sr-cards-features-01 .features > div,
.sr-card,
.sr-cards-articles-02 .article-item a,
.sr-two-col-features-02 .media,
.sr-cards-logos-01 .media,
.sr-cards-pricing-02 .col-md-4,
.sr-cards-slider-01 .feat-slider .slick-slide,
.sr-cards-team .team-card,
.sr-cards-testimonial-grid-02 .team-card,
.sr-conversational-form-01-form-inner,
.hero-form-01 .sr-form,
.sr-job-listing-01 .listing-wrapper ul li,
.sr-offer-faux-modal-01 .well,
.sr-offer-two-col-03 .form-wrapper,
.sr-padding-half .area-bottom:after,
.sr-padding-full .area-bottom:after,
.sr-padding-zero .area-bottom:after,
.area-bottom,
.sr-one-col-02-item > div,
.sr-social-tweet-01-content,
.sr-tabs-slider-02 .slickSliderItem,
.sr-three-col-features-01 .feature-list ul li,
.sr-two-col-features .link-wrapper:hover,
.pillar-nav-toc-01 .pillar-nav-toc-01-list li a,
.pillar-nav-toc-02 .pillar-nav-toc-02-list li a {
  background-color: rgba(255, 255, 255, var(--sr-card-bg-opacity))
}

.card,
.sr-hero-02 .hero-feature,
.sr-cards-categories-01 .card-item,
.sr-cards-grid-02 .card,
.sr-cards-filter-01 .item .item-inner,
.sr-contact-01 section.sr-location,
.sr-cards-image-01 .item-card:hover,
.sr-cards-pricing-01 .card,
.sr-cards-pricing-01 .card .featured_text,
.sr-tabs-accordion-01 .accordion_header,
.sr-tabs-accordion-01 .accordion_content,
.sr-cards-team-02 .team-member,
.sr-cards-testimonial-grid-01 .card,
.sr-cards-steps-01 .card-content,
.modal-content,
.sr-sticky-breadcrumb-heading,
.article-list-subscribe,
.sr-sticky-breadcrumb-categories,
.sr-social-share.sr-social-share,
.email-prefs .item .item-inner,
.sr-two-col-features-02 .media,
.sr-cards-features-01 .features > div,
.sr-cards-logos-01 .media,
.sr-cards-pricing-02 .col-md-4,
.sr-cards-slider-01 .feat-slider .slick-slide,
.sr-cards-team .team-card,
.sr-cards-testimonial-grid-02 .team-card,
.sr-job-listing-01 .listing-wrapper ul li,
.sr-one-col-02-item > div,
.sr-social-tweet-01-content,
.sr-tabs-slider-02 .slickSliderItem,
.sr-three-col-features-01 .feature-list ul li,
.sr-two-col-features .link-wrapper:hover,
.pillar-nav-toc-01 .pillar-nav-toc-01-list li a,
.pillar-nav-toc-02 .pillar-nav-toc-02-list li a,
.sr-cards-steps-01 .card-content,
.sr-cards-steps-02 .card-content,
.sr-footer-02 .footer-item {
  border-color: var(--sr-borders);
}

.email-prefs .item .item-inner * {
  color: inherit;
}

.close {
  text-shadow: none;
}

/* Button color classes - static versions of the HubL loops */
.btn-primary {
  background-color: var(--sr-primary);
  border-color: var(--sr-primary);
  color: #fff;
}

.btn-primary:hover {
  color: #fff;
  background-color: var(--sr-primary);
  filter: brightness(110%);
}

.btn-primary:not(:disabled):not(.disabled).active,
.btn-primary:not(:disabled):not(.disabled):active,
.show>.btn-primary.dropdown-toggle,
.btn-primary.focus,
.btn-primary:focus {
  background-color: var(--sr-primary);
  filter: brightness(90%);
}

.btn-wrapper.btn-primary-wrapper .cta_button,
.btn-wrapper.btn-primary-wrapper .cta-button,
input[type=submit].hs-button.primary,
.btn-wrapper.btn-primary-wrapper input[type="submit"],
.btn-wrapper.btn-primary-wrapper input[type="submit"].hs-button.primary,
.btn-wrapper.btn-primary-wrapper input[type="button"],
input[type=submit].hs-button.btn-primary {
  background-color: var(--sr-primary);
  border-color: var(--sr-primary);
  color: #fff;
}

.btn-wrapper.btn-primary-wrapper .cta_button:hover,
.btn-wrapper.btn-primary-wrapper .cta-button:hover,
input[type=submit].hs-button.primary:hover,
.btn-wrapper.btn-primary-wrapper input[type="submit"]:hover,
.btn-wrapper.btn-primary-wrapper input[type="submit"].hs-button.primary:hover,
.btn-wrapper.btn-primary-wrapper input[type="button"]:hover,
input[type=submit].hs-button.btn-primary:hover {
  color: #fff;
  background-color: var(--sr-primary);
  filter: brightness(110%);
  text-decoration: none;
}

.btn-outline-primary {
  color: var(--sr-primary);
  border-color: var(--sr-primary);
  background-color: transparent;
}

.btn-outline-primary:hover {
  color: #fff;
  background-color: var(--sr-primary);
}

.btn-wrapper.btn-outline-primary-wrapper .cta_button,
.btn-wrapper.btn-outline-primary-wrapper .cta-button,
.btn-wrapper.btn-outline-primary-wrapper input[type="submit"],
.btn-wrapper.btn-outline-primary-wrapper input[type="submit"].hs-button.primary,
.btn-wrapper.btn-outline-primary-wrapper input[type="button"] {
  color: var(--sr-primary);
  border-color: var(--sr-primary);
  background-color: transparent;
}

.btn-wrapper.btn-outline-primary-wrapper .cta_button:hover,
.btn-wrapper.btn-outline-primary-wrapper .cta-button:hover,
.btn-wrapper.btn-outline-primary-wrapper input[type="submit"]:hover,
.btn-wrapper.btn-outline-primary-wrapper input[type="submit"].hs-button.primary:hover,
.btn-wrapper.btn-outline-primary-wrapper input[type="button"]:hover {
  color: #fff;
  background-color: var(--sr-primary);
}

/* Text color classes */
.text-primary,
primary {
  color: var(--sr-primary) !important;
}

.text-primary svg,
.text-primary svg g,
.text-primary svg path {
  fill: var(--sr-primary);
}

.text-primary :is(h1, h2, h3, h4, h5, h6, .h1, .h2, .h3, .h4, .h5, .h6, .display-1, .display-2, .display-3, .display-4, label, .hs-error-msgs, .hs-error-msg, .hs-error-msgs li, .hs-form-field span) {
  color: inherit;
}

/* Background color classes */
.bg-primary {
  background-color: var(--sr-primary) !important;
}

/* Border color classes */
.border-primary {
  border-color: var(--sr-primary) !important;
}

.text-custom :is(h1, h2, h3, h4, h5, h6, .h1, .h2, .h3, .h4, .h5, .h6, .display-1, .display-2, .display-3, .display-4, label, label span, .hs-error-msgs, .hs-error-msg, .hs-error-msgs li) {
  color: inherit;
}

.btn-wrapper.btn-outline-white-wrapper .cta_button:hover,
.btn-wrapper.btn-outline-white-wrapper .cta-button:hover,
.btn-wrapper.btn-outline-white-wrapper input[type="submit"]:hover,
.btn-wrapper.btn-outline-white-wrapper input[type="button"]:hover,
.btn-wrapper.btn-white-wrapper .cta_button,
.btn-wrapper.btn-white-wrapper .cta-button,
.btn-wrapper.btn-white-wrapper input[type="submit"],
.btn-wrapper.btn-white-wrapper input[type="button"],
.btn-white,
.btn-outline-white:hover {
  color: #000;
}

.btn-wrapper.btn-white-wrapper .cta_button:hover,
.btn-wrapper.btn-white-wrapper .cta-button:hover,
.btn-wrapper.btn-white-wrapper input[type="submit"]:hover,
.btn-wrapper.btn-white-wrapper input[type="button"]:hover,
.btn-wrapper.btn-black-wrapper .cta_button:hover,
.btn-wrapper.btn-black-wrapper .cta-button:hover,
.btn-wrapper.btn-black-wrapper input[type="submit"]:hover,
.btn-wrapper.btn-black-wrapper input[type="button"]:hover,
.btn-white:hover {
  background: var(--sr-primary);
  border-color: var(--sr-primary);
}

.btn.btn-sm,
.btn-wrapper.btn-wrapper-sm .cta_button,
.btn-wrapper.btn-wrapper-sm .cta-button,
.btn-wrapper.btn-wrapper-sm input[type="submit"],
.btn-wrapper.btn-wrapper-sm input[type="button"],
.btn.btn-sm:hover,
.btn-wrapper.btn-wrapper-lg .cta_button:hover,
.btn-wrapper.btn-wrapper-lg .cta-button:hover {
  min-height: calc(var(--sr-button-small-height) / 16 * 1rem);
  padding: var(--sr-button-small-padding);
  font-size: calc(var(--sr-button-small-font-size) / 16 * 1rem);
}

.btn.btn-md,
.btn-wrapper.btn-wrapper-md .cta_button,
.btn-wrapper.btn-wrapper-md .cta-button,
.btn-wrapper.btn-wrapper-md input[type="submit"],
.btn-wrapper.btn-wrapper-md input[type="button"],
.btn.btn-md:hover,
.btn-wrapper.btn-wrapper-md .cta_button:hover,
.btn-wrapper.btn-wrapper-md .cta-button:hover {
  min-height: calc(var(--sr-button-medium-height) / 16 * 1rem);
  padding: var(--sr-button-medium-padding);
}

.btn.btn-lg,
.btn-wrapper.btn-wrapper-lg .cta_button,
.btn-wrapper.btn-wrapper-lg .cta-button,
.btn-wrapper.btn-wrapper-lg input[type="submit"],
.btn-wrapper.btn-wrapper-lg input[type="button"],
.btn.btn-lg:hover,
.btn-wrapper.btn-wrapper-lg .cta_button:hover,
.btn-wrapper.btn-wrapper-lg .cta-button:hover {
  min-height: calc(var(--sr-button-large-height) / 16 * 1rem);
  padding: var(--sr-button-large-padding);
  font-size: calc(var(--sr-button-large-font-size) / 16 * 1rem);
}

.btn-wrapper.btn-none-wrapper .cta_button,
.btn-wrapper.btn-none-wrapper .cta-button {
  padding: 0 !important;
  min-height: auto!important;
  border: none;
  font-weight: inherit;
  position: relative;
}

.btn-wrapper.btn-none-wrapper .cta_button:hover,
.btn-wrapper.btn-none-wrapper .cta-button:hover {
  text-decoration: underline;
}

/* ----------------------------------------------------------------------------------- */
/*  HubSpot Forms */
/* ----------------------------------------------------------------------------------- */

form {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-align: end;
  -ms-flex-align: end;
  align-items: flex-end;
}

.hs-form-field {
  flex: 1;
}

.hs-form-field ~ .hs-form-field,
.hs-form .hs_error_rollup {
  flex-basis: 100%;
}

fieldset .hs-form-field {
  flex-basis: auto;
}

.hs-form-field {
  position: relative;
  display: flex;
  flex-direction: column;
  text-align: left;
  margin-bottom: 24px;
}

.hs-form-field > * {
  order: 2;
}

.hs-fieldtype-select.hs-form-field .input {
  display: flex;
}

fieldset {
  width: 100%;
  font-size: 1rem;
  max-width: none !important;
}
fieldset > div .input {
  margin: 0 !important;
}
fieldset .hs-dependent-field {
  display: flex;
  gap: 24px;
  flex-direction: column;
}
form .hs-dependent-field {
  display: flex;
  gap: 24px;
  flex-direction: column;
  width: 100%;
}
fieldset.form-columns-1 .hs-input:not([type=checkbox]):not([type=radio]),
fieldset div {
  width: 100% !important
}
fieldset {
  display: flex;
  gap: 24px;
  flex-direction: column;
}
fieldset[class^="form-columns"]:has(input.hs-input[type="hidden"]) {
  display: none;
}
@media only screen and (min-width: 992px) {
  fieldset {
    flex-direction: row;
  }
  fieldset div {
    flex: 1;
  }
}

@media (max-width: 400px), (min-device-width: 320px) and (max-device-width: 480px) {
  :not(.hs-video-form) .form-columns-2 .hs-form-field .hs-input,
  :not(.hs-video-form) .form-columns-3 .hs-form-field .hs-input {
    width: 100% !important
  }
}

form#email-prefs-form input.email-edit.hs-input {
  width: 100% !important;
}

.hs-error-msg,
.hs-error-msgs li {
  font-size: .75rem;
  line-height: 1.2;
  color: var(--sr-form-help-text-color);
  margin-bottom: 0.5rem;
}

.hs-form .hs_error_rollup {
  order: 99;
}

input#hs-pwd-widget-password {
  width: 100%;
  height: initial !important;
  padding: .6rem;
  margin-bottom: 1rem;
  margin-top: 1rem !important;
}

::-webkit-input-placeholder {
  /* WebKit, Blink, Edge */
  color: var(--sr-form-placeholder-color);
  opacity: 1;
}

::-moz-placeholder {
  /* Mozilla Firefox 19+ */
  color: var(--sr-form-placeholder-color);
  opacity: 1;
}

:-ms-input-placeholder {
  /* Internet Explorer 10-11 */
  color: var(--sr-form-placeholder-color);
  opacity: 1;
}

::-ms-input-placeholder {
  /* Microsoft Edge */
  color: var(--sr-form-placeholder-color);
  opacity: 1;
}

::placeholder,
select.is-placeholder {
  /* Most modern browsers support this now. */
  color: var(--sr-form-placeholder-color);
  opacity: 1;
}

.error::-webkit-input-placeholder {
  /* WebKit, Blink, Edge */
  color: var(--sr-form-help-text-color);
}

.error::-moz-placeholder {
  /* Mozilla Firefox 19+ */
  color: var(--sr-form-help-text-color);
}

.error:-ms-input-placeholder {
  /* Internet Explorer 10-11 */
  color: var(--sr-form-help-text-color);
}

.error::-ms-input-placeholder {
  /* Microsoft Edge */
  color: var(--sr-form-help-text-color);
}

.error::placeholder {
  /* Most modern browsers support this now. */
  color: var(--sr-form-help-text-color);
}

.hs-field-desc {
  font-size: .8em;
  margin: 0 0 .5em;
}

.sr-form input[type="radio"],
.sr-form input[type="checkbox"] {
  margin-right: 2px;
}

select {
  background-image: url('data:image/svg+xml; utf8, <svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16" fill="none"> <path d="M7.80794 10.7695L4.09346 6.31215C3.65924 5.79109 4.02976 5 4.70803 5L11.292 5C11.9702 5 12.3408 5.79108 11.9065 6.31215L8.19206 10.7695C8.09211 10.8895 7.90789 10.8895 7.80794 10.7695Z" fill="%23007bff"/>%20</svg>');
  background-position: calc(100% - 12px) center;
  background-repeat: no-repeat;
  line-height: 1;
  height: auto;
}

.inputs-list {
  margin: 0;
  padding: 0;
}

.inputs-list li {
  list-style: none;
}

.hs-error-msgs {
  order: 1;
}

.no-list {
  list-style: none;
}

.no-list label {
  display: inline;
}

.field > label,
.form-group label,
.field span,
.form-group span {
  font-size: calc(var(--sr-form-label-size) / 16 * 1rem);
  line-height: calc(var(--sr-form-label-size) / 16 * 1.2 * 1rem);
  color: var(--sr-form-label-color);
  margin: 0 0 0.3rem;
}

textarea,
select,
.form-control,
input:not([type="radio"]):not([type="checkbox"]):not([type="file"]):not([type="submit"]),
input[readonly]:not([type="radio"]):not([type="checkbox"]):not([type="file"]):not([type="submit"]) {
  font-size: calc(var(--sr-form-field-color) / 16 * 1rem);
  line-height: calc(var(--sr-form-field-color) / 16 * 1.2 * 1rem);
  color: var(--sr-form-field-color);
  background-color: var(--sr-form-field-background-color);
  min-height: calc(var(--sr-button-medium-height) / 16 * 1rem);
  padding: 0 15px;
  border: 1px solid var(--sr-form-field-border-color);
  border-radius: var(--sr-form-field-border-radius);
  max-width: 100%;
  width: 100%;
  -webkit-appearance: none;
  outline: none;
  transition: all .15s ease-in-out;
  animation-timing-function: ease-in-out;
}

textarea:focus,
select:focus,
.form-control:focus,
input:not([type="radio"]):not([type="checkbox"]):not([type="file"]):not([type="submit"]):focus,
input[readonly]:not([type="radio"]):not([type="checkbox"]):not([type="file"]):not([type="submit"]):focus {
  color: var(--sr-form-field-focus-color);
  border-color: var(--sr-form-field-border-focus-color);
  box-shadow: none;
}

textarea.error,
select.error,
.form-control.error,
input:not([type="radio"]):not([type="checkbox"]):not([type="file"]):not([type="submit"]).error,
input[readonly]:not([type="radio"]):not([type="checkbox"]):not([type="file"]):not([type="submit"]).error,
.hs-error-msg {
  color: var(--sr-form-help-text-color);
  border-color: var(--sr-form-help-text-color);
}

.sr-form [type="radio"]:checked,
.sr-form [type="radio"]:not(:checked) {
  position: absolute;
  left: -9999px;
}

.sr-form [type="radio"]:checked + span,
.sr-form [type="radio"]:not(:checked) + span {
  position: relative;
  padding-left: 24px;
  cursor: pointer;
  line-height: 20px;
  display: inline-block;
}

.sr-form [type="radio"]:checked + span:before,
.sr-form [type="radio"]:not(:checked) + span:before {
  content: '';
  position: absolute;
  left: 0;
  top: 1px;
  width: 16px;
  height: 16px;
  border: 1px solid var(--sr-form-field-border-color);
  border-radius: 100%;
  background: #fff;
}

.sr-form [type="radio"]:checked + span:after,
.sr-form [type="radio"]:not(:checked) + span:after {
  content: '';
  width: 8px;
  height: 8px;
  background: var(--sr-primary);
  position: absolute;
  top: 5px;
  left: 4px;
  border-radius: 100%;
  -webkit-transition: all .2s ease;
  transition: all .2s ease;
}

.sr-form [type="radio"]:not(:checked) + span:after {
  opacity: 0;
  -webkit-transform: scale(0);
  transform: scale(0);
}
.sr-form [type="radio"]:checked + span:after {
  opacity: 1;
  -webkit-transform: scale(1);
  transform: scale(1);
}

.sr-form [type="checkbox"]:checked,
.sr-form [type="checkbox"]:not(:checked) {
  position: absolute;
  left: -9999px;
}

.sr-form [type="checkbox"]:checked + span,
.sr-form [type="checkbox"]:not(:checked) + span {
  position: relative;
  padding-left: 24px;
  cursor: pointer;
  line-height: 20px;
  display: inline-block;
}

.sr-form [type="checkbox"]:checked + span:before,
.sr-form [type="checkbox"]:not(:checked) + span:before {
  content: '';
  position: absolute;
  left: 0;
  top: 1px;
  width: 16px;
  height: 16px;
  border: 1px solid var(--sr-form-field-border-color);
  border-radius: 4px;
}

.sr-form [type="checkbox"]:checked + span:before {
  background: var(--sr-primary)
}

.sr-form [type="checkbox"]:checked + span:after,
.sr-form [type="checkbox"]:not(:checked) + span:after {
  content: url('data:image/svg+xml; utf8, <svg width="10" height="8" viewBox="0 0 10 8" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M1 5L3.5 7L9 1" stroke="white" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/></svg>');
  width: 10px;
  height: 8px;
  position: absolute;
  top: -1.5px;
  left: 3px;
  transition: all .2s ease;
}

.sr-form [type="checkbox"]:not(:checked) + span:after {
  opacity: 0;
  -webkit-transform: scale(0);
  transform: scale(0);
}
.sr-form [type="checkbox"]:checked + span:after {
  opacity: 1;
  -webkit-transform: scale(1);
  transform: scale(1);
}

.sr-form [type=file]::file-selector-button,
.sr-form [type=file]::-webkit-file-upload-button {
  border-radius: var(--sr-button-border-radius);
  border: none;
  padding: 0.25rem 1rem;
  margin-right: 1rem;
  cursor: pointer
}

.sr-form [type=file]::file-selector-button:hover,
.sr-form [type=file]::-webkit-file-upload-button:hover {
  filter: brightness(90%);
}

.sr-modal-form form ul[role="checkbox"] .hs-form-radio label input,
.sr-form form ul[role="checkbox"] .hs-form-radio label input {
  margin-right: 5px;
}

.sr-form form .hs-dependent-field {
  display: flex;
  gap: 24px;
  flex-direction: column;
  width: 100%;
}

textarea {
  padding-top: .75rem;
  padding-bottom: .75rem;
  min-height: 75px;
}

.form-control-lg,
.form-wrapper-lg input:not([type="radio"]):not([type="checkbox"]):not([type="file"]):not([type="submit"]) {
  min-height: calc(var(--sr-button-large-height) / 16 * 1rem);
  font-size: calc(var(--sr-button-large-font-size) / 16 * 1rem);
  padding: 0 15px;
}

.form-control-md,
.form-wrapper-md input:not([type="radio"]):not([type="checkbox"]):not([type="file"]):not([type="submit"]) {
  min-height: calc(var(--sr-button-medium-height) / 16 * 1rem);
  font-size: calc(var(--sr-button-medium-font-size) / 16 * 1rem);
  padding: 0 15px;
}

.form-control-sm,
.form-wrapper-sm input:not([type="radio"]):not([type="checkbox"]):not([type="file"]):not([type="submit"]) {
  min-height: calc(var(--sr-button-small-height) / 16 * 1rem);
  font-size: calc(var(--sr-button-small-font-size) / 16 * 1rem);
  padding: 0 15px;
}

.form-control-lg input[type=submit].hs-button.primary,
.form-control-lg input[type=submit].hs-button.secondary,
.form-wrapper-lg input[type=submit].hs-button.primary,
.form-wrapper-lg input[type=submit].hs-button.secondary {
  min-height: calc(var(--sr-button-large-height) / 16 * 1rem);
  padding: var(--sr-button-large-padding) !important;
  font-size: calc(var(--sr-button-large-font-size) / 16 * 1rem)
}

.form-control-md input[type=submit].hs-button.primary,
.form-control-md input[type=submit].hs-button.secondary,
.form-wrapper-md input[type=submit].hs-button.primary,
.form-wrapper-md input[type=submit].hs-button.secondary {
  min-height: calc(var(--sr-button-medium-height) / 16 * 1rem);
  padding: var(--sr-button-medium-padding) !important;
  font-size: calc(var(--sr-button-medium-font-size) / 16 * 1rem)
}

.form-control-sm input[type=submit].hs-button.primary,
.form-control-sm input[type=submit].hs-button.secondary,
.form-wrapper-sm input[type=submit].hs-button.primary,
.form-wrapper-sm input[type=submit].hs-button.secondary {
  min-height: calc(var(--sr-button-small-height) / 16 * 1rem);
  padding: var(--sr-button-small-padding) !important;
  font-size: calc(var(--sr-button-small-font-size) / 16 * 1rem)
}

.sr-multicol-media iframe,
.sr-multicol-media video {
  width: 100%;
  height: 100%;
  aspect-ratio: 16/9;
}

.sr-multicol-media .section-heading {
  margin: 0 0 1.25rem;
  padding: 0;
}
.sr-multicol-media .responsive-video-file {
  max-width: 100%;
  position: relative;
  z-index: 9;
}
.sr-multicol-media .responsive-image img {
  max-width: 100%;
  height: auto;
}
.sr-multicol-media .col-heading {
  padding: 0;
}
.sr-multicol-media.sr-bg-image .sr-col {
  padding: 6.25rem 4rem;
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  position: relative;
  border-right: solid 1px #e5e7ea;
  border-right: solid 1px var(--sr-borders);
}
.sr-multicol-media.sr-bg-image .sr-col:last-of-type {
  border-right: none;
}
.sr-multicol-media.sr-bg-image .sr-col .form-control {
  padding: 3.125rem 0 0;
}
.sr-multicol-media.sr-bg-image .sr-col::before {
  content: '';
  width: 100%;
  height: 100%;
  position: absolute;
  left: 0;
  top: 0;
  z-index: 1;
}
.sr-multicol-media.sr-bg-image .sr-col .content-wrapper,
.cta-group {
  position: relative;
  z-index: 2;
}
.description p:last-child,
.col-content p:last-child {
  margin-bottom: 0;
}
.chevron-left.slick-arrow,
.chevron-right.slick-arrow {
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  transform: translateY(-50%);
  font-size: 30px;
  z-index: 1;
  cursor: pointer;
}
.chevron-right.slick-arrow {
  right: 2rem
}
.chevron-left.slick-arrow {
  left:2rem
}
.slick-dots {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  padding-left: 0;
  padding-right: 0;
  padding-top: 2rem;
  list-style-type: none;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  position: relative;
  bottom: 0;
  margin: 0;

}
.slick-dots button {
  display: block;
  width: 8px;
  height: 8px;
  padding: 0;
  border: none;
  border-radius: 100%;
  text-indent: -9999px;
  -webkit-transition: all ease-in-out .2s;
  -o-transition: all ease-in-out .2s;
  transition: all ease-in-out .2s;
  margin: 4px;
  box-shadow: 0 0 0 4px transparent;
  background: #0C63FF;
  background: var(--sr-primary);
}
.slick-dots li.slick-active button {
  background-color: transparent !important;
  box-shadow: 0 0 0 2px #0C63FF;
  box-shadow: 0 0 0 2px var(--sr-primary);
}
.sr-bg-video,
.sr-bg-video-wrapper {
  position: absolute;
  top: 0;
  left: 0;
  min-width: 100%;
  min-height: 100%;
  width: auto;
  height: auto;
  background-size: cover;
  overflow: hidden;
  object-fit: cover;
}
.oembed_container {
  display: inline-block;
  height: 100%;
  position: relative;
  width: 100%;
}

.iframe_wrapper {
  height: 100%;
  position: relative;
}

.oembed_container_iframe {
  height: 100%;
  left: 0;
  margin: 0 auto;
  position: absolute;
  right: 0;
  top: 0;
  width: 100%;
}

.oembed_custom-thumbnail,
.oembed_custom-thumbnail:hover,
.oembed_custom-thumbnail:focus,
.oembed_custom-thumbnail:active {
  align-items: center;
  appearance: none;
  background-color: transparent;
  background-position: center center;
  background-repeat: no-repeat;
  background-size: cover;
  border-radius: 0;
  border: none;
  display: flex;
  height: 100%;
  justify-content: center;
  left: 0;
  margin: 0;
  padding: 0;
  position: absolute;
  top: 0;
  width: 100%;
  z-index: 1;
}

.oembed_custom-thumbnail_icon {
  align-items: center;
  cursor: pointer;
  display: flex;
  justify-content: center;
  width: 100%;
}

.oembed_custom-thumbnail_icon svg {
  display: block;
  height: auto;
  width: 12%;
}

/* SVGs in IE11 require the max-width to be set to non in order to display scaling properly */
_:-ms-fullscreen, :root .oembed_custom-thumbnail_icon svg {
  max-width: none;
}

.oembed_custom-thumbnail--hide {
  display: none;
}

.embed_container {
  display: inline-block;
  height: 100%;
  position: relative;
  width: 100%;
}

.embed_container iframe {
  left: 0;
  max-height: 100%;
  max-width: 100%;
  position: absolute;
  right: 0;
  top: 0;
}

.oembed-info {
  height:1px;
  left:-10000px;
  overflow:hidden;
  position:absolute;
  top:auto;
  width:1px;
}

/* Placeholder styles */
:not(.hs-inline-edit) .hs-video-placeholder {
  display: none;
}

.hs-inline-edit .hs-video-placeholder {
  background-color: #f5f8fa !important;
  border: 1px dashed #516f90 !important;
  display: block !important;
  font-size: 14px !important;
  margin: 2px 1px !important;
  outline: 1px dashed #fff !important;
  text-align: center !important;
}

.hs-video-placeholder > * {
  box-sizing: border-box !important;
  display: block !important;
  margin: 1px !important;
  padding: 12px !important;
  width: calc(100% - 2px) !important;
}

p.hs-video-placeholder__title {
  color: #7c98b6 !important;
  font-family: 'Helvetica Neue', 'Helvetica', Arial, sans-serif !important;
  font-size: 14px !important;
  font-style: italic !important;
  font-weight: 700 !important;
  line-height: initial !important;
  margin-bottom: 10px !important;
  margin-top: 0 !important;
  padding: 0 !important;
  text-shadow: 0 -1px 0 hsla(0,0%,100%,.5) !important;
}

p.hs-video-placeholder__description {
  color: #7c98b6 !important;
  font-family: 'Helvetica Neue', 'Helvetica', Arial, sans-serif !important;
  font-style: italic !important;
  font-weight: 400 !important;
  line-height: 1.6 !important;
  margin: 0 !important;
  text-shadow: 0 -1px 0 hsla(0,0%,100%,.5) !important;
}

.sr-multicol-media.text-white .col-subheading,
.sr-multicol-media.text-white .col-heading,
.sr-multicol-media.text-white .col-content,
.sr-multicol-media.text-light .col-subheading,
.sr-multicol-media.text-light .col-heading,
.sr-multicol-media.text-light .col-content,
.sr-multicol-media.text-dark .col-subheading,
.sr-multicol-media.text-dark .col-heading,
.sr-multicol-media.text-dark .col-content,
.sr-multicol-media.text-primary .col-subheading,
.sr-multicol-media.text-primary .col-heading,
.sr-multicol-media.text-primary .col-content,
.sr-multicol-media.text-secondary .col-subheading,
.sr-multicol-media.text-secondary .col-heading,
.sr-multicol-media.text-secondary .col-content,
.sr-multicol-media.text-tertiary .col-subheading,
.sr-multicol-media.text-tertiary .col-heading,
.sr-multicol-media.text-tertiary .col-content description {
  color: inherit;
}
ul.slick-dots,
footer ul,
.sr-two-col-07 .sr-feature-check {
  list-style-image: none;
}
.lang_switcher_class {
  display: block !important;
}
.lang_list_class {
  list-style: none;
}

/* Overlay Background Styles */
.hs-overlay-background {
  backdrop-filter: blur(2px);
  -webkit-backdrop-filter: blur(2px);
  background: rgba(0, 0, 0, 0.2);
  inset: 0;
  opacity: 0;
  position: fixed;
  transition: opacity 500ms ease 0s,
    visibility 500ms ease 0s;
  visibility: hidden;
  /* One less than the overlay z-index value */
  z-index: 999999;
}

.hs-overlay-background.open {
  opacity: 1;
  visibility: visible;
}

/* Overlay Styles */

html.hs-payments--overlay-open {
  overflow: hidden;
  position: relative;
  height: 100%;
}

.hs-overlay {
  background-color: #fff;
  bottom: 0;
  height: calc(100% - 50px);
  left: 0;
  position: fixed;
  right: 0;
  top: 100%;
  transform: translateY(0);
  transition: transform 500ms ease 0s,
    visibility 500ms ease 0s;
  visibility: hidden;
  width: 100vw;
  /* Well below the maximum value, but high enough to cover most cases */
  z-index: 1000000;
}

.hs-overlay.open {
  transform: translateY(-100%);
  transition: transform 500ms ease 0s,
    visibility 500ms ease 0s;
  visibility: visible;
}

button.hs-overlay__close--top {
  align-items: center;
  background: #fff;
  border-radius: 50%;
  border: none;
  display: flex;
  height: 30px;
  outline-color: #33475b;
  padding: 5px;
  position: absolute;
  right: 16px;
  top: -40px;
  width: 30px;
}

button.hs-overlay__close--top svg,
button.hs-overlay__close--top svg path {
  fill: #7c98b6;
}

button.hs-overlay__close--top:hover svg,
button.hs-overlay__close--top:focus svg,
button.hs-overlay__close--top:hover svg path,
button.hs-overlay__close--top:focus svg path {
  fill: #33475b;
}

@media screen and (min-width: 768px) {
  button.hs-overlay__close--top {
    background: transparent;
    right: 16px;
    top: 16px;
  }
}

button.hs-overlay__close--bottom {
  background: none;
  border: none;
  bottom: 16px;
  color: #33475b;
  font-family: Avenir Next W02, Helvetica, Arial, sans-serif;
  font-size: 14px;
  font-weight: normal;
  opacity: 0;
  outline-color: #33475b;
  padding: 5px;
  position: absolute;
  right: 16px;
  top: initial;
}

button.hs-overlay__close--bottom:focus {
  opacity: 1;
}

.hs-overlay .payments-iframe-container {
  height: 100%;
  width: 100%;
}

.hs-overlay .payments-iframe-container iframe {
  height: 100% !important;
}

.hs-screen-reader-only {
  border: 0;
  clip: rect(0, 0, 0, 0);
  height: 1px;
  margin: -1px;
  overflow: hidden;
  padding: 0;
  position: absolute;
  white-space: nowrap;
  width: 1px;
}

body { opacity: 1 }
/* brand-colors.css */
/**
 * Brand Color System for IAS and Product Lines
 * ==============================================
 * This file defines a scalable color system using CSS custom properties
 * following DRY principles for easy maintenance and brand consistency.
 */

/* ========================================
   ROOT COLOR DEFINITIONS
   ======================================== */

:root {
  /* IAS Corporate Brand Colors */
  --ias-primary: #007bff;        /* IAS Blue */
  --ias-primary-dark: #0056b3;   /* Darker shade for hover states */
  --ias-primary-light: #4da3ff;  /* Lighter shade */
  --ias-secondary: #6c757d;      /* IAS Gray */
  --ias-secondary-dark: #545b62;
  --ias-secondary-light: #adb5bd;
  --ias-accent: #28a745;         /* IAS Green */
  --ias-accent-dark: #218838;
  --ias-accent-light: #5dd879;

  /* READY HUB Product Colors (Dealer By Design) */
  --readyhub-primary: #1A9988;   /* DBD Teal - Main brand color */
  --readyhub-primary-dark: #147066;
  --readyhub-primary-light: #23b8a4;
  --readyhub-secondary: #6E5095;  /* Purple - Secondary brand */
  --readyhub-accent: #1A6B99;     /* Blue - Accent color */

  /* READY HUB Module-Specific Colors (Official DBD Colors) */
  --readyhub-inventory: #1A6B99;  /* Blue - Inventory module */
  --readyhub-trade: #6E5095;      /* Purple - Trade module */
  --readyhub-deliveries: #1A9988; /* Teal - Delivery module */

  /* Module color variations for states */
  --readyhub-inventory-dark: #145580;
  --readyhub-inventory-light: #2487c2;
  --readyhub-trade-dark: #573f78;
  --readyhub-trade-light: #8566aa;
  --readyhub-deliveries-dark: #147066;
  --readyhub-deliveries-light: #23b8a4;

  /* CarPraze Product Colors */
  --carpraze-primary: #5f27cd;    /* Purple - Premium, engagement */
  --carpraze-primary-dark: #4a1fa8;
  --carpraze-primary-light: #7c45d6;
  --carpraze-secondary: #ee5a24;  /* Orange - Energy, excitement */
  --carpraze-accent: #00d2d3;     /* Cyan - Innovation */

  /* QQuote Product Colors */
  --qquote-primary: #10ac84;      /* Green - Trust, accuracy */
  --qquote-primary-dark: #0e8968;
  --qquote-primary-light: #1dd1a1;
  --qquote-secondary: #576574;    /* Slate - Reliability */
  --qquote-accent: #feca57;       /* Gold - Value, premium */

  /* Semantic Color Mappings (Default to IAS) */
  --brand-primary: var(--ias-primary);
  --brand-primary-dark: var(--ias-primary-dark);
  --brand-primary-light: var(--ias-primary-light);
  --brand-secondary: var(--ias-secondary);
  --brand-secondary-dark: var(--ias-secondary-dark);
  --brand-secondary-light: var(--ias-secondary-light);
  --brand-accent: var(--ias-accent);
  --brand-accent-dark: var(--ias-accent-dark);
  --brand-accent-light: var(--ias-accent-light);

  /* SR Framework Color Mappings for Compatibility */
  --sr-primary: var(--brand-primary);
  --sr-secondary: var(--brand-secondary);
  --sr-accent: var(--brand-accent);

  /* Neutral Colors (Shared across all brands) */
  --neutral-white: #ffffff;
  --neutral-gray-100: #f8f9fa;
  --neutral-gray-200: #e9ecef;
  --neutral-gray-300: #dee2e6;
  --neutral-gray-400: #ced4da;
  --neutral-gray-500: #adb5bd;
  --neutral-gray-600: #6c757d;
  --neutral-gray-700: #495057;
  --neutral-gray-800: #343a40;
  --neutral-gray-900: #212529;
  --neutral-black: #000000;

  /* Semantic Status Colors (Shared) */
  --status-success: #28a745;
  --status-warning: #ffc107;
  --status-danger: #dc3545;
  --status-info: #17a2b8;

  /* SR Gray Mappings for Compatibility */
  --sr-gray-100: var(--neutral-gray-100);
  --sr-gray-200: var(--neutral-gray-200);
  --sr-gray-300: var(--neutral-gray-300);
  --sr-gray-400: var(--neutral-gray-400);
  --sr-gray-500: var(--neutral-gray-500);
  --sr-gray-600: var(--neutral-gray-600);
  --sr-gray-700: var(--neutral-gray-700);
  --sr-gray-800: var(--neutral-gray-800);
  --sr-gray-900: var(--neutral-gray-900);
}

/* ========================================
   PRODUCT-SPECIFIC COLOR SCHEMES
   Use data attributes on body/html to switch
   ======================================== */

/* READY HUB Color Scheme */
[data-brand="readyhub"] {
  --brand-primary: var(--readyhub-primary);
  --brand-primary-dark: var(--readyhub-primary-dark);
  --brand-primary-light: var(--readyhub-primary-light);
  --brand-secondary: var(--readyhub-secondary);
  --brand-accent: var(--readyhub-accent);

  --sr-primary: var(--readyhub-primary);
  --sr-secondary: var(--readyhub-secondary);
  --sr-accent: var(--readyhub-accent);
}

/* CarPraze Color Scheme */
[data-brand="carpraze"] {
  --brand-primary: var(--carpraze-primary);
  --brand-primary-dark: var(--carpraze-primary-dark);
  --brand-primary-light: var(--carpraze-primary-light);
  --brand-secondary: var(--carpraze-secondary);
  --brand-accent: var(--carpraze-accent);

  --sr-primary: var(--carpraze-primary);
  --sr-secondary: var(--carpraze-secondary);
  --sr-accent: var(--carpraze-accent);
}

/* QQuote Color Scheme */
[data-brand="qquote"] {
  --brand-primary: var(--qquote-primary);
  --brand-primary-dark: var(--qquote-primary-dark);
  --brand-primary-light: var(--qquote-primary-light);
  --brand-secondary: var(--qquote-secondary);
  --brand-accent: var(--qquote-accent);

  --sr-primary: var(--qquote-primary);
  --sr-secondary: var(--qquote-secondary);
  --sr-accent: var(--qquote-accent);
}

/* ========================================
   UTILITY CLASSES FOR COLORS
   ======================================== */

/* Text Color Utilities */
.text-brand-primary { color: var(--brand-primary) !important; }
.text-brand-primary-dark { color: var(--brand-primary-dark) !important; }
.text-brand-primary-light { color: var(--brand-primary-light) !important; }
.text-brand-secondary { color: var(--brand-secondary) !important; }
.text-brand-accent { color: var(--brand-accent) !important; }

/* IAS Specific Text Colors */
.text-ias-primary { color: var(--ias-primary) !important; }
.text-ias-secondary { color: var(--ias-secondary) !important; }
.text-ias-accent { color: var(--ias-accent) !important; }

/* Product Specific Text Colors */
.text-readyhub-primary { color: var(--readyhub-primary) !important; }
.text-readyhub-inventory { color: var(--readyhub-inventory) !important; }
.text-readyhub-trade { color: var(--readyhub-trade) !important; }
.text-readyhub-deliveries { color: var(--readyhub-deliveries) !important; }
.text-carpraze-primary { color: var(--carpraze-primary) !important; }
.text-qquote-primary { color: var(--qquote-primary) !important; }

/* Background Color Utilities */
.bg-brand-primary { background-color: var(--brand-primary) !important; }
.bg-brand-primary-dark { background-color: var(--brand-primary-dark) !important; }
.bg-brand-primary-light { background-color: var(--brand-primary-light) !important; }
.bg-brand-secondary { background-color: var(--brand-secondary) !important; }
.bg-brand-accent { background-color: var(--brand-accent) !important; }

/* READY HUB Module backgrounds */
.bg-readyhub-inventory { background-color: var(--readyhub-inventory) !important; }
.bg-readyhub-trade { background-color: var(--readyhub-trade) !important; }
.bg-readyhub-deliveries { background-color: var(--readyhub-deliveries) !important; }

/* Border Color Utilities */
.border-brand-primary { border-color: var(--brand-primary) !important; }
.border-brand-secondary { border-color: var(--brand-secondary) !important; }
.border-brand-accent { border-color: var(--brand-accent) !important; }

/* Extended Border-Left Classes */
.border-left-brand-primary {
  border-left: 4px solid var(--brand-primary) !important;
}

.border-left-brand-secondary {
  border-left: 4px solid var(--brand-secondary) !important;
}

.border-left-brand-accent {
  border-left: 4px solid var(--brand-accent) !important;
}

/* Product Specific Border-Left Classes */
.border-left-readyhub {
  border-left: 4px solid var(--readyhub-primary) !important;
}

/* READY HUB Module-specific borders */
.border-left-readyhub-inventory {
  border-left: 4px solid var(--readyhub-inventory) !important;
}

.border-left-readyhub-trade {
  border-left: 4px solid var(--readyhub-trade) !important;
}

.border-left-readyhub-deliveries {
  border-left: 4px solid var(--readyhub-deliveries) !important;
}

.border-left-carpraze {
  border-left: 4px solid var(--carpraze-primary) !important;
}

.border-left-qquote {
  border-left: 4px solid var(--qquote-primary) !important;
}

/* ========================================
   COMPONENT COLOR OVERRIDES
   ======================================== */

/* Hero Section with Brand Colors */
.sr-hero {
  background: linear-gradient(135deg,
    var(--brand-primary) 0%,
    var(--brand-primary-dark) 100%);
}

/* Buttons with Brand Colors */
.cta_button {
  background-color: var(--brand-primary);
  border-color: var(--brand-primary);
}

.cta_button:hover {
  background-color: var(--brand-primary-dark);
  border-color: var(--brand-primary-dark);
}

/* Secondary Button Variant */
.btn-wrapper.btn-secondary-wrapper .cta_button {
  background-color: var(--brand-secondary);
  border-color: var(--brand-secondary);
}

.btn-wrapper.btn-secondary-wrapper .cta_button:hover {
  background-color: var(--brand-secondary-dark);
  border-color: var(--brand-secondary-dark);
}

/* Accent Button Variant */
.btn-wrapper.btn-accent-wrapper .cta_button {
  background-color: var(--brand-accent);
  border-color: var(--brand-accent);
}

.btn-wrapper.btn-accent-wrapper .cta_button:hover {
  background-color: var(--brand-accent-dark);
  border-color: var(--brand-accent-dark);
}

/* Outline Button Variants */
.btn-wrapper.btn-outline-primary-wrapper .cta_button {
  background-color: transparent;
  color: var(--brand-primary);
  border-color: var(--brand-primary);
}

.btn-wrapper.btn-outline-primary-wrapper .cta_button:hover {
  background-color: var(--brand-primary);
  color: white;
}

.btn-wrapper.btn-outline-secondary-wrapper .cta_button {
  background-color: transparent;
  color: var(--brand-secondary);
  border-color: var(--brand-secondary);
}

.btn-wrapper.btn-outline-secondary-wrapper .cta_button:hover {
  background-color: var(--brand-secondary);
  color: white;
}

/* ========================================
   GRADIENT UTILITIES
   ======================================== */

.gradient-brand-primary {
  background: linear-gradient(135deg,
    var(--brand-primary) 0%,
    var(--brand-primary-dark) 100%);
}

.gradient-ias {
  background: linear-gradient(135deg,
    var(--ias-primary) 0%,
    var(--ias-primary-dark) 100%);
}

.gradient-readyhub {
  background: linear-gradient(135deg,
    var(--readyhub-primary) 0%,
    var(--readyhub-primary-dark) 100%);
}

/* Three-color gradient using all READY HUB module colors */
.gradient-readyhub-modules {
  background: linear-gradient(135deg,
    var(--readyhub-inventory) 0%,
    var(--readyhub-trade) 50%,
    var(--readyhub-deliveries) 100%);
}

.gradient-carpraze {
  background: linear-gradient(135deg,
    var(--carpraze-primary) 0%,
    var(--carpraze-primary-dark) 100%);
}

.gradient-qquote {
  background: linear-gradient(135deg,
    var(--qquote-primary) 0%,
    var(--qquote-primary-dark) 100%);
}

/* ========================================
   HOVER STATE UTILITIES
   ======================================== */

.hover-brand-primary:hover { color: var(--brand-primary) !important; }
.hover-bg-brand-primary:hover { background-color: var(--brand-primary) !important; }
.hover-border-brand-primary:hover { border-color: var(--brand-primary) !important; }

/* ========================================
   USAGE EXAMPLES
   ========================================

   1. Set brand for entire page:
      <body data-brand="readyhub">

   2. Use brand colors in components:
      <div class="text-brand-primary">Branded text</div>
      <button class="bg-brand-primary">Branded button</button>

   3. Use specific product colors:
      <span class="text-carpraze-primary">CarPraze branded</span>

   4. Mix IAS and product colors:
      <div class="bg-ias-primary text-readyhub-accent">Mixed branding</div>

   ======================================== */
/* custom-styles.css */
/**
 * Custom Styles for IAS Website
 * Uses color variables from brand-colors.css
 * Ensure brand-colors.css is loaded BEFORE this file
 */

/* Additional styles for SR components */
.sr-section {
  padding: 8rem 0;
}

.sr-hero {
  padding: 180px 0;
  background: linear-gradient(135deg, var(--brand-primary) 0%, var(--brand-primary-dark) 100%);
  color: white;
  text-align: center;
  min-height: 75vh;
  display: flex;
  align-items: center;
  position: relative;
  overflow: hidden;
}

.sr-hero::before {
  content: '';
  position: absolute;
  top: 0;
  left: -50%;
  width: 200%;
  height: 100%;
  background: radial-gradient(circle at center, rgba(255,255,255,0.05) 0%, transparent 70%);
  animation: shimmer 15s infinite linear;
}

@keyframes shimmer {
  0% { transform: translateX(0); }
  100% { transform: translateX(50%); }
}

@keyframes pulse {
  0% {
    box-shadow: 0 2px 10px rgba(40, 167, 69, 0.3);
  }
  50% {
    box-shadow: 0 2px 20px rgba(40, 167, 69, 0.5);
  }
  100% {
    box-shadow: 0 2px 10px rgba(40, 167, 69, 0.3);
  }
}

.sr-hero h1 {
  color: white;
  font-size: 4.5rem;
  font-weight: 800;
  margin-bottom: 2rem;
  line-height: 1.1;
  letter-spacing: -2px;
  text-shadow: 0 2px 10px rgba(0,0,0,0.2);
}

.sr-hero p {
  color: white;
  font-size: 1.5rem;
  margin-bottom: 2.5rem;
  max-width: 900px;
  margin-left: auto;
  margin-right: auto;
  line-height: 1.5;
  font-weight: 300;
  opacity: 0.95;
}

@media (max-width: 768px) {
  .sr-hero {
    padding: 100px 20px;
    min-height: 80vh;
  }
  .sr-hero h1 {
    font-size: 2rem;
    letter-spacing: -0.5px;
    line-height: 1.3;
    word-wrap: break-word;
  }
  .sr-hero h1 span[style*="inline-block"] {
    display: inline !important;
    white-space: normal !important;
  }
  .sr-hero p {
    font-size: 1rem;
    padding: 0;
    margin: 0 auto;
  }
  .hero-gradient-modern h1 {
    font-size: 2rem !important;
    padding: 0 10px;
  }
  .hero-gradient-modern p {
    font-size: 1rem !important;
  }
  .btn-wrapper.btn-wrapper-xl .cta_button {
    font-size: 1rem;
    padding: 12px 25px;
    width: 100%;
    max-width: 280px;
  }

  /* Fix section headings on mobile */
  h2[style*="font-size: 2.75rem"] {
    font-size: 1.75rem !important;
    line-height: 1.3 !important;
    padding: 0 10px;
  }

  /* Adjust READY HUB section on mobile */
  h2 img[alt="READY HUB"] {
    height: 50px !important;
    display: block;
    margin: 0 auto;
  }

  h2 span[style*="font-size: 2.5rem"] {
    font-size: 1.5rem !important;
  }

  /* Fix overflow for all sections */
  .container {
    padding-left: 15px;
    padding-right: 15px;
  }

  /* Stats section mobile fix */
  .stats-gradient .h1 {
    font-size: 2.5rem !important;
  }
}

.sr-card {
  background: white;
  border: 1px solid var(--neutral-gray-300, #dee2e6);
  border-radius: .25rem;
  transition: all 0.3s ease;
}

.sr-card-body {
  padding: 1.5rem;
}

.sr-card-title {
  font-size: 1.25rem;
  font-weight: 600;
  margin-bottom: 1rem;
}

.sr-card-text {
  color: var(--neutral-gray-600, #6c757d);
  line-height: 1.6;
}

.cta_button {
  display: inline-block;
  padding: .75rem 1.5rem;
  background-color: var(--brand-primary, #007bff);
  color: white !important;
  text-decoration: none !important;
  border-radius: .25rem;
  font-weight: 500;
  transition: all 0.2s ease;
  border: 2px solid var(--brand-primary, #007bff);
  line-height: 1.5;
  text-align: center;
  vertical-align: middle;
  font-size: 1rem;
}

.cta_button:hover {
  background-color: var(--brand-primary-dark, #0056b3);
  border-color: var(--brand-primary-dark, #0056b3);
}

/* Fix SR button padding using matching specificity - normal and hover states */
.btn-wrapper.btn-wrapper-lg .cta_button,
.btn-wrapper.btn-wrapper-lg .cta-button,
.btn-wrapper.btn-wrapper-lg .cta_button:hover,
.btn-wrapper.btn-wrapper-lg .cta-button:hover {
  padding: 1rem 2rem;
}

/* Extra large button styles for hero - modern depth approach */
.btn-wrapper.btn-wrapper-xl .cta_button {
  font-size: 1.125rem;
  padding: 18px 45px;
  font-weight: 600;
  letter-spacing: 0.3px;
  border-radius: 8px;
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
  border-width: 2px;
  text-transform: uppercase;
  position: relative;
}

.btn-wrapper.btn-wrapper-xl .cta_button::after {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  border-radius: 8px;
  box-shadow: 0 10px 30px -10px rgba(0,0,0,0.3);
  opacity: 0;
  transition: opacity 0.3s ease;
}

.btn-wrapper.btn-wrapper-xl .cta_button:hover {
  transform: translateY(-3px) scale(1.02);
}

.btn-wrapper.btn-wrapper-xl .cta_button:hover::after {
  opacity: 1;
}

/* Primary filled button for hero */
.btn-wrapper.btn-solid-primary-wrapper .cta_button {
  background: linear-gradient(135deg, var(--brand-primary) 0%, var(--brand-primary-dark) 100%);
  color: white;
  border-color: transparent;
  box-shadow: 0 4px 20px -5px rgba(0,0,0,0.3);
}

.btn-wrapper.btn-solid-primary-wrapper .cta_button:hover {
  background: linear-gradient(135deg, var(--brand-primary-dark) 0%, var(--brand-primary-dark) 100%);
  color: white;
  box-shadow: 0 8px 30px -5px rgba(0,0,0,0.4);
}

/* Glass morphism button for hero secondary */
.btn-wrapper.btn-glass-wrapper .cta_button {
  background: rgba(255, 255, 255, 0.15);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  color: white;
  border: 2px solid rgba(255, 255, 255, 0.3);
  box-shadow: 0 8px 32px 0 rgba(31, 38, 135, 0.2);
}

.btn-wrapper.btn-glass-wrapper .cta_button:hover {
  background: rgba(255, 255, 255, 0.25);
  border-color: rgba(255, 255, 255, 0.5);
  transform: translateY(-3px) scale(1.02);
  box-shadow: 0 12px 40px 0 rgba(31, 38, 135, 0.3);
}

/* Outline white button for hero - primary CTA */
.sr-hero .btn-wrapper.btn-outline-white-wrapper .cta_button,
.hero-gradient-modern .btn-wrapper.btn-outline-white-wrapper .cta_button {
  background-color: rgba(255, 255, 255, 0.1);
  color: white !important;
  border: 2px solid white;
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
  backdrop-filter: blur(5px);
}

.sr-hero .btn-wrapper.btn-outline-white-wrapper .cta_button:hover,
.hero-gradient-modern .btn-wrapper.btn-outline-white-wrapper .cta_button:hover {
  background-color: white !important;
  color: var(--brand-primary) !important;
  border-color: white;
  box-shadow: 0 10px 40px -10px rgba(0,0,0,0.5);
  transform: translateY(-3px) scale(1.02);
}

/* Solid white button variant for hero - secondary CTA */
.sr-hero .btn-wrapper.btn-solid-white-wrapper .cta_button,
.hero-gradient-modern .btn-wrapper.btn-solid-white-wrapper .cta_button {
  background-color: rgba(255, 255, 255, 0.2);
  color: white;
  border: 2px solid rgba(255, 255, 255, 0.5);
  font-weight: 600;
  backdrop-filter: blur(10px);
}

.sr-hero .btn-wrapper.btn-solid-white-wrapper .cta_button:hover,
.hero-gradient-modern .btn-wrapper.btn-solid-white-wrapper .cta_button:hover {
  background-color: rgba(255, 255, 255, 0.3);
  color: white;
  border-color: white;
  transform: translateY(-3px) scale(1.02);
  box-shadow: 0 10px 40px -10px rgba(0,0,0,0.3);
}

.btn-wrapper.btn-wrapper-md .cta_button,
.btn-wrapper.btn-wrapper-md .cta-button,
.btn-wrapper.btn-wrapper-md .cta_button:hover,
.btn-wrapper.btn-wrapper-md .cta-button:hover {
  padding: 0.75rem 1.5rem;
}

.btn-wrapper {
  display: inline-block;
}

.cta-group {
  margin-top: 1.5rem;
}

/* Custom border left classes for product cards */
.border-left-primary {
  border-left: 4px solid var(--sr-primary) !important;
}

.border-left-secondary {
  border-left: 4px solid var(--sr-secondary) !important;
}

.border-left-accent {
  border-left: 4px solid var(--sr-accent) !important;
}

/* SR Content Width Utility Classes */
.sr-content-width-700 {
  max-width: 700px !important;
}

.sr-content-width-600 {
  max-width: 600px !important;
}

/* Remove unnecessary visual borders between sections */
.sr-section + .sr-section {
  border-top: none !important;
}

.sr-section + footer,
footer {
  border-top: none !important;
}

/* Ensure cards still have their borders for definition */
.sr-card {
  border: 1px solid var(--neutral-gray-300, #dee2e6);
}

/* Remove any bootstrap default section borders */
section {
  border: none !important;
}

/*****************************************/
/*     Start your custom style here      */
/*****************************************/

/* ========================================
   SHARED PROFESSIONAL STYLES
   Applied to all pages for consistency
   ======================================== */

/* Enhanced cards with modern styling */
.sr-card {
    border: 1px solid #e5e7eb !important;
    border-radius: 12px !important;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.04) !important;
    transition: all 0.3s ease !important;
}

.sr-card:hover {
    transform: translateY(-2px);
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.08) !important;
}

/* Better button styling across all pages */
.btn-primary,
.btn-wrapper.btn-primary-wrapper .cta_button {
    font-weight: 600 !important;
    letter-spacing: -0.01em !important;
    border-radius: 8px !important;
    transition: all 0.2s ease !important;
}

/* Consistent text colors */
.text-muted {
    color: #6b7280 !important;
}

/* Clean HR elements */
hr {
    border: none !important;
    border-top: 1px solid #e5e7eb !important;
    margin: 3rem 0 !important;
    opacity: 1 !important;
}

/* Better container width for modern screens */
@media (min-width: 1200px) {
    .container {
        max-width: 1200px;
    }
}

/* Consistent header styling */
.header {
    box-shadow: 0 1px 0 rgba(0, 0, 0, 0.05) !important;
}

/* Navigation consistency */
.navbar {
    padding-top: 1rem !important;
    padding-bottom: 1rem !important;
}

.nav-link {
    transition: color 0.2s ease !important;
    font-weight: 500 !important;
}

/* CTA Group improvements */
.cta-group {
    display: flex;
    gap: 1rem;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
}

/* modern-backgrounds.css */
/**
 * Modern, Professional Section Backgrounds
 * Clean, crisp transitions with subtle depth
 */

/* Subtle gradients with brand colors */
.subtle-gradient-primary {
    background: linear-gradient(180deg, rgba(var(--brand-primary-rgb, 0, 123, 255), 0.03) 0%, transparent 100%);
}

.subtle-gradient-light {
    background: linear-gradient(180deg, #ffffff 0%, #fafbfc 100%);
}

.subtle-gradient-dark {
    background: linear-gradient(180deg, #fafbfc 0%, #f4f5f7 100%);
}

/* Clean geometric patterns */
.subtle-dots {
    background-image: radial-gradient(circle at 1px 1px, rgba(0, 0, 0, 0.015) 1px, transparent 1px);
    background-size: 40px 40px;
}

.subtle-grid {
    background-image:
        linear-gradient(rgba(0, 0, 0, 0.01) 1px, transparent 1px),
        linear-gradient(90deg, rgba(0, 0, 0, 0.01) 1px, transparent 1px);
    background-size: 50px 50px;
}

/* Professional section dividers */
.section-fade-down {
    position: relative;
    padding-top: 40px;
}

.section-fade-down::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 40px;
    background: linear-gradient(180deg, transparent 0%, white 100%);
    z-index: 1;
}

.section-fade-up {
    position: relative;
    padding-bottom: 40px;
}

.section-fade-up::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    height: 40px;
    background: linear-gradient(180deg, white 0%, transparent 100%);
    z-index: 1;
}

/* Clean section dividers without waves */
.section-divider-top {
    position: relative;
    border-top: 1px solid rgba(0, 0, 0, 0.05);
}

.section-divider-bottom {
    position: relative;
    border-bottom: 1px solid rgba(0, 0, 0, 0.05);
}

/* Clean angled sections */
.angle-top {
    position: relative;
    padding-top: 50px;
}

.angle-top::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 50px;
    background: white;
    clip-path: polygon(0 0, 100% 0, 100% 100%, 0 50%);
}

.angle-bottom {
    position: relative;
    padding-bottom: 50px;
}

.angle-bottom::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 50px;
    background: #fafbfc;
    clip-path: polygon(0 50%, 100% 0, 100% 100%, 0 100%);
}

/* Professional gradients for hero sections */
.hero-gradient-modern {
    background: linear-gradient(135deg, var(--brand-primary) 0%, var(--brand-primary-dark) 100%);
    position: relative;
    padding: 160px 0 !important;
    min-height: 70vh;
    display: flex;
    align-items: center;
}

/* Clean accent bar instead of wavy transition */
.hero-gradient-modern::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    height: 4px;
    background: linear-gradient(90deg, transparent 0%, rgba(255, 255, 255, 0.8) 50%, transparent 100%);
}

/* Ensure consistent hero text sizing */
.hero-gradient-modern h1 {
    font-size: 4.5rem !important;
    font-weight: 800 !important;
    margin-bottom: 2rem !important;
    color: white !important;
    line-height: 1.1;
    letter-spacing: -2px;
    text-shadow: 0 2px 10px rgba(0,0,0,0.2);
}

.hero-gradient-modern p {
    font-size: 1.5rem !important;
    margin-bottom: 2.5rem !important;
    color: white !important;
    opacity: 0.95;
    max-width: 900px;
    margin-left: auto;
    margin-right: auto;
    line-height: 1.5;
    font-weight: 300;
}

.hero-gradient-modern .h2 {
    margin-bottom: 1.5rem !important;
}

/* Brand-specific hero gradients */
body[data-brand="readyhub"] .hero-gradient-modern {
    background: linear-gradient(135deg, var(--readyhub-primary) 0%, var(--readyhub-primary-dark) 100%);
}

body[data-brand="readyhub"] .hero-gradient-modern::after {
    background: linear-gradient(90deg, transparent 0%, rgba(255, 255, 255, 0.6) 50%, transparent 100%);
}

body[data-brand="carpraze"] .hero-gradient-modern {
    background: linear-gradient(135deg, var(--carpraze-primary) 0%, var(--carpraze-primary-dark) 100%);
}

body[data-brand="carpraze"] .hero-gradient-modern::after {
    background: linear-gradient(90deg, transparent 0%, rgba(255, 255, 255, 0.6) 50%, transparent 100%);
}

body[data-brand="qquote"] .hero-gradient-modern {
    background: linear-gradient(135deg, #2c3e50 0%, #34495e 100%);
}

body[data-brand="qquote"] .hero-gradient-modern::after {
    background: linear-gradient(90deg, transparent 0%, var(--qquote-primary) 50%, transparent 100%);
}

/* Clean card depth */
.depth-sm {
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.05);
}

.depth-md {
    box-shadow: 0 4px 6px rgba(0, 0, 0, 0.07);
}

.depth-lg {
    box-shadow: 0 10px 20px rgba(0, 0, 0, 0.1);
}

/* Soft backgrounds */
.bg-soft-white {
    background-color: #ffffff;
}

.bg-soft-light {
    background-color: #fafbfc;
}

.bg-soft-gray {
    background-color: #f4f5f7;
}

/* Section backgrounds with subtle patterns */
.section-pattern-light {
    background-color: #fafbfc;
    background-image:
        radial-gradient(circle at 100% 50%, transparent 20%, rgba(255, 255, 255, 0.5) 21%, rgba(255, 255, 255, 0.5) 34%, transparent 35%, transparent),
        linear-gradient(0deg, transparent 24%, rgba(255, 255, 255, 0.3) 25%, rgba(255, 255, 255, 0.3) 26%, transparent 27%, transparent 74%, rgba(255, 255, 255, 0.3) 75%, rgba(255, 255, 255, 0.3) 76%, transparent 77%, transparent);
    background-size: 50px 50px;
}

/* Professional stats section */
.stats-gradient {
    background: linear-gradient(135deg, var(--brand-primary) 0%, var(--brand-primary-dark) 100%);
    position: relative;
    overflow: hidden;
}

/* Card hover effects for interactive elements */
.hover-lift {
  transition: transform 0.3s cubic-bezier(0.4, 0, 0.2, 1), box-shadow 0.3s ease !important;
  cursor: pointer;
}

.hover-lift:hover {
  transform: translateY(-8px) !important;
  box-shadow: 0 20px 40px rgba(0, 0, 0, 0.15) !important;
}

/* Partner card button hover effects */
.sr-card .btn:hover {
  transform: translateY(-2px) !important;
  box-shadow: 0 6px 20px rgba(0, 0, 0, 0.2) !important;
  filter: brightness(1.1);
}

/* Enhanced stat numbers with animation */
.stat-number {
  display: inline-block;
  font-weight: 700;
  transition: all 0.3s ease;
  position: relative;
}

/* Stats in hero section get special treatment */
.stats-gradient .h1 {
  font-size: 3.5rem;
  font-weight: 800;
  text-shadow: 0 2px 10px rgba(0,0,0,0.2);
}

.stats-gradient .h5 {
  font-weight: 300;
  letter-spacing: 0.5px;
  opacity: 0.95;
}

.stats-gradient::before {
    content: '';
    position: absolute;
    top: -50%;
    right: -25%;
    width: 150%;
    height: 200%;
    background: radial-gradient(circle, rgba(255, 255, 255, 0.1) 0%, transparent 70%);
}

/* Brand-specific stats gradients */
body[data-brand="readyhub"] .stats-gradient {
    background: linear-gradient(135deg, var(--readyhub-primary) 0%, var(--readyhub-primary-dark) 100%);
}

body[data-brand="carpraze"] .stats-gradient {
    background: linear-gradient(135deg, var(--carpraze-primary) 0%, var(--carpraze-primary-dark) 100%);
}

body[data-brand="qquote"] .stats-gradient {
    background: linear-gradient(135deg, var(--qquote-primary) 0%, var(--qquote-primary-dark) 100%);
}

/* Clean section transitions */
.section-transition {
    position: relative;
}

.section-transition::after {
    content: '';
    position: absolute;
    bottom: -1px;
    left: 0;
    width: 100%;
    height: 100px;
    background: linear-gradient(180deg, transparent 0%, rgba(0, 0, 0, 0.02) 100%);
    pointer-events: none;
}

/* Subtle decorative elements */
.corner-accent::before {
    content: '';
    position: absolute;
    top: 0;
    right: 0;
    width: 200px;
    height: 200px;
    background: radial-gradient(circle at top right, rgba(var(--brand-primary-rgb, 0, 123, 255), 0.05) 0%, transparent 70%);
    border-radius: 0 0 0 100%;
}

/* Clean, modern CTA sections */
.cta-gradient-modern {
    background: linear-gradient(135deg, #fafbfc 0%, #ffffff 100%);
    border-top: 1px solid rgba(0, 0, 0, 0.05);
}

/* Remove harsh borders between sections */
.sr-section {
    border: none !important;
    position: relative;
}

.sr-section + .sr-section {
    margin-top: -1px; /* Prevent gaps */
}

/* Ensure proper z-index for overlapping elements */
.sr-section > .container {
    position: relative;
    z-index: 2;
}

/* Media queries for responsive design */
@media (max-width: 768px) {
    .angle-top::before,
    .angle-bottom::after {
        height: 25px;
    }

    .angle-top {
        padding-top: 25px;
    }

    .angle-bottom {
        padding-bottom: 25px;
    }

    .hero-gradient-modern::after {
        height: 3px;
    }
}