/*! jQuery UI - v1.10.2 - 2013-03-14
* http://jqueryui.com
* Includes: jquery.ui.core.css, jquery.ui.accordion.css, jquery.ui.autocomplete.css, jquery.ui.button.css, jquery.ui.datepicker.css, jquery.ui.dialog.css, jquery.ui.menu.css, jquery.ui.progressbar.css, jquery.ui.resizable.css, jquery.ui.selectable.css, jquery.ui.slider.css, jquery.ui.spinner.css, jquery.ui.tabs.css, jquery.ui.tooltip.css
* To view and modify this theme, visit http://jqueryui.com/themeroller/?ffDefault=Lucida%20Grande%2CLucida%20Sans%2CArial%2Csans-serif&fwDefault=bold&fsDefault=1.1em&cornerRadius=5px&bgColorHeader=5c9ccc&bgTextureHeader=gloss_wave&bgImgOpacityHeader=55&borderColorHeader=4297d7&fcHeader=ffffff&iconColorHeader=d8e7f3&bgColorContent=fcfdfd&bgTextureContent=inset_hard&bgImgOpacityContent=100&borderColorContent=a6c9e2&fcContent=222222&iconColorContent=469bdd&bgColorDefault=dfeffc&bgTextureDefault=glass&bgImgOpacityDefault=85&borderColorDefault=c5dbec&fcDefault=2e6e9e&iconColorDefault=6da8d5&bgColorHover=d0e5f5&bgTextureHover=glass&bgImgOpacityHover=75&borderColorHover=79b7e7&fcHover=1d5987&iconColorHover=217bc0&bgColorActive=f5f8f9&bgTextureActive=inset_hard&bgImgOpacityActive=100&borderColorActive=79b7e7&fcActive=e17009&iconColorActive=f9bd01&bgColorHighlight=fbec88&bgTextureHighlight=flat&bgImgOpacityHighlight=55&borderColorHighlight=fad42e&fcHighlight=363636&iconColorHighlight=2e83ff&bgColorError=fef1ec&bgTextureError=glass&bgImgOpacityError=95&borderColorError=cd0a0a&fcError=cd0a0a&iconColorError=cd0a0a&bgColorOverlay=aaaaaa&bgTextureOverlay=flat&bgImgOpacityOverlay=0&opacityOverlay=30&bgColorShadow=aaaaaa&bgTextureShadow=flat&bgImgOpacityShadow=0&opacityShadow=30&thicknessShadow=8px&offsetTopShadow=-8px&offsetLeftShadow=-8px&cornerRadiusShadow=8px
* Copyright 2013 jQuery Foundation and other contributors Licensed MIT */

/* Layout helpers
----------------------------------*/
.ui-helper-hidden {
	display: none;
}
.ui-helper-hidden-accessible {
	border: 0;
	clip: rect(0 0 0 0);
	height: 1px;
	margin: -1px;
	overflow: hidden;
	padding: 0;
	position: absolute;
	width: 1px;
}
.ui-helper-reset {
	margin: 0;
	padding: 0;
	border: 0;
	outline: 0;
	line-height: 1.3;
	text-decoration: none;
	font-size: 100%;
	list-style: none;
}
.ui-helper-clearfix:before,
.ui-helper-clearfix:after {
	content: "";
	display: table;
	border-collapse: collapse;
}
.ui-helper-clearfix:after {
	clear: both;
}
.ui-helper-clearfix {
	min-height: 0; /* support: IE7 */
}
.ui-helper-zfix {
	width: 100%;
	height: 100%;
	top: 0;
	left: 0;
	position: absolute;
	opacity: 0;
	filter:Alpha(Opacity=0);
}

.ui-front {
	z-index: 100;
}


/* Interaction Cues
----------------------------------*/
.ui-state-disabled {
	cursor: default !important;
}


/* Icons
----------------------------------*/

/* states and imageimages */
.ui-icon {
	display: block;
	text-indent: -99999px;
	overflow: hidden;
	background-repeat: no-repeat;
}


/* Misc visuals
----------------------------------*/

/* Overlays */
.ui-widget-overlay {
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}
.ui-accordion .ui-accordion-header {
	display: block;
	cursor: pointer;
	position: relative;
	margin-top: 2px;
	padding: .5em .5em .5em .7em;
	min-height: 0; /* support: IE7 */
}
.ui-accordion .ui-accordion-icons {
	padding-left: 2.2em;
}
.ui-accordion .ui-accordion-noicons {
	padding-left: .7em;
}
.ui-accordion .ui-accordion-icons .ui-accordion-icons {
	padding-left: 2.2em;
}
.ui-accordion .ui-accordion-header .ui-accordion-header-icon {
	position: absolute;
	left: .5em;
	top: 50%;
	margin-top: -8px;
}
.ui-accordion .ui-accordion-content {
	padding: 1em 2.2em;
	border-top: 0;
	overflow: auto;
}
.ui-autocomplete {
	position: absolute;
	top: 0;
	left: 0;
	cursor: default;
}
.ui-button {
	display: inline-block;
	position: relative;
	padding: 0;
	line-height: normal;
	margin-right: .1em;
	cursor: pointer;
	vertical-align: middle;
	text-align: center;
	overflow: visible; /* removes extra width in IE */
}
.ui-button,
.ui-button:link,
.ui-button:visited,
.ui-button:hover,
.ui-button:active {
	text-decoration: none;
}
/* to make room for the icon, a width needs to be set here */
.ui-button-icon-only {
	width: 2.2em;
}
/* button elements seem to need a little more width */
button.ui-button-icon-only {
	width: 2.4em;
}
.ui-button-icons-only {
	width: 3.4em;
}
button.ui-button-icons-only {
	width: 3.7em;
}

/* button text element */
.ui-button .ui-button-text {
	display: block;
	line-height: normal;
}
.ui-button-text-only .ui-button-text {
	padding: .4em 1em;
}
.ui-button-icon-only .ui-button-text,
.ui-button-icons-only .ui-button-text {
	padding: .4em;
	text-indent: -9999999px;
}
.ui-button-text-icon-primary .ui-button-text,
.ui-button-text-icons .ui-button-text {
	padding: .4em 1em .4em 2.1em;
}
.ui-button-text-icon-secondary .ui-button-text,
.ui-button-text-icons .ui-button-text {
	padding: .4em 2.1em .4em 1em;
}
.ui-button-text-icons .ui-button-text {
	padding-left: 2.1em;
	padding-right: 2.1em;
}
/* no icon support for input elements, provide padding by default */
input.ui-button {
	padding: .4em 1em;
}

/* button icon element(s) */
.ui-button-icon-only .ui-icon,
.ui-button-text-icon-primary .ui-icon,
.ui-button-text-icon-secondary .ui-icon,
.ui-button-text-icons .ui-icon,
.ui-button-icons-only .ui-icon {
	position: absolute;
	top: 50%;
	margin-top: -8px;
}
.ui-button-icon-only .ui-icon {
	left: 50%;
	margin-left: -8px;
}
.ui-button-text-icon-primary .ui-button-icon-primary,
.ui-button-text-icons .ui-button-icon-primary,
.ui-button-icons-only .ui-button-icon-primary {
	left: .5em;
}
.ui-button-text-icon-secondary .ui-button-icon-secondary,
.ui-button-text-icons .ui-button-icon-secondary,
.ui-button-icons-only .ui-button-icon-secondary {
	right: .5em;
}

/* button sets */
.ui-buttonset {
	margin-right: 7px;
}
.ui-buttonset .ui-button {
	margin-left: 0;
	margin-right: -.3em;
}

/* workarounds */
/* reset extra padding in Firefox, see h5bp.com/l */
input.ui-button::-moz-focus-inner,
button.ui-button::-moz-focus-inner {
	border: 0;
	padding: 0;
}
.ui-datepicker {
	width: 17em;
	padding: .2em .2em 0;
	display: none;
}
.ui-datepicker .ui-datepicker-header {
	position: relative;
	padding: .2em 0;
}
.ui-datepicker .ui-datepicker-prev,
.ui-datepicker .ui-datepicker-next {
	position: absolute;
	top: 2px;
	width: 1.8em;
	height: 1.8em;
}
.ui-datepicker .ui-datepicker-prev-hover,
.ui-datepicker .ui-datepicker-next-hover {
	top: 1px;
}
.ui-datepicker .ui-datepicker-prev {
	left: 2px;
}
.ui-datepicker .ui-datepicker-next {
	right: 2px;
}
.ui-datepicker .ui-datepicker-prev-hover {
	left: 1px;
}
.ui-datepicker .ui-datepicker-next-hover {
	right: 1px;
}
.ui-datepicker .ui-datepicker-prev span,
.ui-datepicker .ui-datepicker-next span {
	display: block;
	position: absolute;
	left: 50%;
	margin-left: -8px;
	top: 50%;
	margin-top: -8px;
}
.ui-datepicker .ui-datepicker-title {
	margin: 0 2.3em;
	line-height: 1.8em;
	text-align: center;
}
.ui-datepicker .ui-datepicker-title select {
	font-size: 1em;
	margin: 1px 0;
}
.ui-datepicker select.ui-datepicker-month-year {
	width: 100%;
}
.ui-datepicker select.ui-datepicker-month,
.ui-datepicker select.ui-datepicker-year {
	width: 49%;
}
.ui-datepicker table {
	width: 100%;
	font-size: .9em;
	border-collapse: collapse;
	margin: 0 0 .4em;
}
.ui-datepicker th {
	padding: .7em .3em;
	text-align: center;
	font-weight: bold;
	border: 0;
}
.ui-datepicker td {
	border: 0;
	padding: 1px;
}
.ui-datepicker td span,
.ui-datepicker td a {
	display: block;
	padding: .2em;
	text-align: right;
	text-decoration: none;
}
.ui-datepicker .ui-datepicker-buttonpane {
	background-image: none;
	margin: .7em 0 0 0;
	padding: 0 .2em;
	border-left: 0;
	border-right: 0;
	border-bottom: 0;
}
.ui-datepicker .ui-datepicker-buttonpane button {
	float: right;
	margin: .5em .2em .4em;
	cursor: pointer;
	padding: .2em .6em .3em .6em;
	width: auto;
	overflow: visible;
}
.ui-datepicker .ui-datepicker-buttonpane button.ui-datepicker-current {
	float: left;
}

/* with multiple calendars */
.ui-datepicker.ui-datepicker-multi {
	width: auto;
}
.ui-datepicker-multi .ui-datepicker-group {
	float: left;
}
.ui-datepicker-multi .ui-datepicker-group table {
	width: 95%;
	margin: 0 auto .4em;
}
.ui-datepicker-multi-2 .ui-datepicker-group {
	width: 50%;
}
.ui-datepicker-multi-3 .ui-datepicker-group {
	width: 33.3%;
}
.ui-datepicker-multi-4 .ui-datepicker-group {
	width: 25%;
}
.ui-datepicker-multi .ui-datepicker-group-last .ui-datepicker-header,
.ui-datepicker-multi .ui-datepicker-group-middle .ui-datepicker-header {
	border-left-width: 0;
}
.ui-datepicker-multi .ui-datepicker-buttonpane {
	clear: left;
}
.ui-datepicker-row-break {
	clear: both;
	width: 100%;
	font-size: 0;
}

/* RTL support */
.ui-datepicker-rtl {
	direction: rtl;
}
.ui-datepicker-rtl .ui-datepicker-prev {
	right: 2px;
	left: auto;
}
.ui-datepicker-rtl .ui-datepicker-next {
	left: 2px;
	right: auto;
}
.ui-datepicker-rtl .ui-datepicker-prev:hover {
	right: 1px;
	left: auto;
}
.ui-datepicker-rtl .ui-datepicker-next:hover {
	left: 1px;
	right: auto;
}
.ui-datepicker-rtl .ui-datepicker-buttonpane {
	clear: right;
}
.ui-datepicker-rtl .ui-datepicker-buttonpane button {
	float: left;
}
.ui-datepicker-rtl .ui-datepicker-buttonpane button.ui-datepicker-current,
.ui-datepicker-rtl .ui-datepicker-group {
	float: right;
}
.ui-datepicker-rtl .ui-datepicker-group-last .ui-datepicker-header,
.ui-datepicker-rtl .ui-datepicker-group-middle .ui-datepicker-header {
	border-right-width: 0;
	border-left-width: 1px;
}
.ui-dialog {
	position: absolute;
	top: 0;
	left: 0;
	padding: .2em;
	outline: 0;
}
.ui-dialog .ui-dialog-titlebar {
	padding: .4em 1em;
	position: relative;
}
.ui-dialog .ui-dialog-title {
	float: left;
	margin: .1em 0;
	white-space: nowrap;
	width: 90%;
	overflow: hidden;
	text-overflow: ellipsis;
}
.ui-dialog .ui-dialog-titlebar-close {
	position: absolute;
	right: .3em;
	top: 50%;
	width: 21px;
	margin: -10px 0 0 0;
	padding: 1px;
	height: 20px;
}
.ui-dialog .ui-dialog-content {
	position: relative;
	border: 0;
	padding: .5em 1em;
	background: none;
	overflow: auto;
}
.ui-dialog .ui-dialog-buttonpane {
	text-align: left;
	border-width: 1px 0 0 0;
	background-image: none;
	margin-top: .5em;
	padding: .3em 1em .5em .4em;
}
.ui-dialog .ui-dialog-buttonpane .ui-dialog-buttonset {
	float: right;
}
.ui-dialog .ui-dialog-buttonpane button {
	margin: .5em .4em .5em 0;
	cursor: pointer;
}
.ui-dialog .ui-resizable-se {
	width: 12px;
	height: 12px;
	right: -5px;
	bottom: -5px;
	background-position: 16px 16px;
}
.ui-draggable .ui-dialog-titlebar {
	cursor: move;
}
.ui-menu {
	list-style: none;
	padding: 2px;
	margin: 0;
	display: block;
	outline: none;
}
.ui-menu .ui-menu {
	margin-top: -3px;
	position: absolute;
}
.ui-menu .ui-menu-item {
	margin: 0;
	padding: 0;
	width: 100%;
}
.ui-menu .ui-menu-divider {
	margin: 5px -2px 5px -2px;
	height: 0;
	font-size: 0;
	line-height: 0;
	border-width: 1px 0 0 0;
}
.ui-menu .ui-menu-item a {
	text-decoration: none;
	display: block;
	padding: 2px .4em;
	line-height: 1.5;
	min-height: 0; /* support: IE7 */
	font-weight: normal;
}
.ui-menu .ui-menu-item a.ui-state-focus,
.ui-menu .ui-menu-item a.ui-state-active {
	font-weight: normal;
	margin: -1px;
}

.ui-menu .ui-state-disabled {
	font-weight: normal;
	margin: .4em 0 .2em;
	line-height: 1.5;
}
.ui-menu .ui-state-disabled a {
	cursor: default;
}

/* icon support */
.ui-menu-icons {
	position: relative;
}
.ui-menu-icons .ui-menu-item a {
	position: relative;
	padding-left: 2em;
}

/* left-aligned */
.ui-menu .ui-icon {
	position: absolute;
	top: .2em;
	left: .2em;
}

/* right-aligned */
.ui-menu .ui-menu-icon {
	position: static;
	float: right;
}
.ui-progressbar {
	height: 2em;
	text-align: left;
	overflow: hidden;
}
.ui-progressbar .ui-progressbar-value {
	margin: -1px;
	height: 100%;
}
.ui-progressbar .ui-progressbar-overlay {
	background: url("http://ajax.googleapis.com/ajax/libs/jqueryui/1/themes/redmond/images/animated-overlay.gif");
	height: 100%;
	filter: alpha(opacity=25);
	opacity: 0.25;
}
.ui-progressbar-indeterminate .ui-progressbar-value {
	background-image: none;
}
.ui-resizable {
	position: relative;
}
.ui-resizable-handle {
	position: absolute;
	font-size: 0.1px;
	display: block;
}
.ui-resizable-disabled .ui-resizable-handle,
.ui-resizable-autohide .ui-resizable-handle {
	display: none;
}
.ui-resizable-n {
	cursor: n-resize;
	height: 7px;
	width: 100%;
	top: -5px;
	left: 0;
}
.ui-resizable-s {
	cursor: s-resize;
	height: 7px;
	width: 100%;
	bottom: -5px;
	left: 0;
}
.ui-resizable-e {
	cursor: e-resize;
	width: 7px;
	right: -5px;
	top: 0;
	height: 100%;
}
.ui-resizable-w {
	cursor: w-resize;
	width: 7px;
	left: -5px;
	top: 0;
	height: 100%;
}
.ui-resizable-se {
	cursor: se-resize;
	width: 12px;
	height: 12px;
	right: 1px;
	bottom: 1px;
}
.ui-resizable-sw {
	cursor: sw-resize;
	width: 9px;
	height: 9px;
	left: -5px;
	bottom: -5px;
}
.ui-resizable-nw {
	cursor: nw-resize;
	width: 9px;
	height: 9px;
	left: -5px;
	top: -5px;
}
.ui-resizable-ne {
	cursor: ne-resize;
	width: 9px;
	height: 9px;
	right: -5px;
	top: -5px;
}
.ui-selectable-helper {
	position: absolute;
	z-index: 100;
	border: 1px dotted black;
}
.ui-slider {
	position: relative;
	text-align: left;
}
.ui-slider .ui-slider-handle {
	position: absolute;
	z-index: 2;
	width: 1.2em;
	height: 1.2em;
	cursor: default;
}
.ui-slider .ui-slider-range {
	position: absolute;
	z-index: 1;
	font-size: .7em;
	display: block;
	border: 0;
	background-position: 0 0;
}

/* For IE8 - See #6727 */
.ui-slider.ui-state-disabled .ui-slider-handle,
.ui-slider.ui-state-disabled .ui-slider-range {
	filter: inherit;
}

.ui-slider-horizontal {
	height: .8em;
}
.ui-slider-horizontal .ui-slider-handle {
	top: -.3em;
	margin-left: -.6em;
}
.ui-slider-horizontal .ui-slider-range {
	top: 0;
	height: 100%;
}
.ui-slider-horizontal .ui-slider-range-min {
	left: 0;
}
.ui-slider-horizontal .ui-slider-range-max {
	right: 0;
}

.ui-slider-vertical {
	width: .8em;
	height: 100px;
}
.ui-slider-vertical .ui-slider-handle {
	left: -.3em;
	margin-left: 0;
	margin-bottom: -.6em;
}
.ui-slider-vertical .ui-slider-range {
	left: 0;
	width: 100%;
}
.ui-slider-vertical .ui-slider-range-min {
	bottom: 0;
}
.ui-slider-vertical .ui-slider-range-max {
	top: 0;
}
.ui-spinner {
	position: relative;
	display: inline-block;
	overflow: hidden;
	padding: 0;
	vertical-align: middle;
}
.ui-spinner-input {
	border: none;
	background: none;
	color: inherit;
	padding: 0;
	margin: .2em 0;
	vertical-align: middle;
	margin-left: .4em;
	margin-right: 22px;
}
.ui-spinner-button {
	width: 16px;
	height: 50%;
	font-size: .5em;
	padding: 0;
	margin: 0;
	text-align: center;
	position: absolute;
	cursor: default;
	display: block;
	overflow: hidden;
	right: 0;
}
/* more specificity required here to overide default borders */
.ui-spinner a.ui-spinner-button {
	border-top: none;
	border-bottom: none;
	border-right: none;
}
/* vertical centre icon */
.ui-spinner .ui-icon {
	position: absolute;
	margin-top: -8px;
	top: 50%;
	left: 0;
}
.ui-spinner-up {
	top: 0;
}
.ui-spinner-down {
	bottom: 0;
}

/* TR overrides */
.ui-spinner .ui-icon-triangle-1-s {
	/* need to fix icons sprite */
	background-position: -65px -16px;
}
.ui-tabs {
	position: relative;/* position: relative prevents IE scroll bug (element with position: relative inside container with overflow: auto appear as "fixed") */
	padding: .2em;
}
.ui-tabs .ui-tabs-nav {
	margin: 0;
	padding: .2em .2em 0;
}
.ui-tabs .ui-tabs-nav li {
	list-style: none;
	float: left;
	position: relative;
	top: 0;
	margin: 1px .2em 0 0;
	border-bottom-width: 0;
	padding: 0;
	white-space: nowrap;
}
.ui-tabs .ui-tabs-nav li a {
	float: left;
	padding: .5em 1em;
	text-decoration: none;
}
.ui-tabs .ui-tabs-nav li.ui-tabs-active {
	margin-bottom: -1px;
	padding-bottom: 1px;
}
.ui-tabs .ui-tabs-nav li.ui-tabs-active a,
.ui-tabs .ui-tabs-nav li.ui-state-disabled a,
.ui-tabs .ui-tabs-nav li.ui-tabs-loading a {
	cursor: text;
}
.ui-tabs .ui-tabs-nav li a, /* first selector in group seems obsolete, but required to overcome bug in Opera applying cursor: text overall if defined elsewhere... */
.ui-tabs-collapsible .ui-tabs-nav li.ui-tabs-active a {
	cursor: pointer;
}
.ui-tabs .ui-tabs-panel {
	display: block;
	border-width: 0;
	padding: 1em 1.4em;
	background: none;
}
.ui-tooltip {
	padding: 8px;
	position: absolute;
	z-index: 9999;
	max-width: 300px;
	-webkit-box-shadow: 0 0 5px #aaa;
	box-shadow: 0 0 5px #aaa;
}
body .ui-tooltip {
	border-width: 2px;
}

/* Component containers
----------------------------------*/
.ui-widget {
	font-family: Lucida Grande,Lucida Sans,Arial,sans-serif;
	font-size: 1.1em;
	margin-top:150px;
}
.ui-widget .ui-widget {
	font-size: 1em;
}
.ui-widget input,
.ui-widget select,
.ui-widget textarea,
.ui-widget button {
	font-family: Lucida Grande,Lucida Sans,Arial,sans-serif;
	font-size: 1em;
}
.ui-widget-content {
	border: 1px solid #a6c9e2;
	background: #fcfdfd url(http://ajax.googleapis.com/ajax/libs/jqueryui/1/themes/redmond/images/ui-bg_inset-hard_100_fcfdfd_1x100.png) 50% bottom repeat-x;
	color: #222222;
}
.ui-widget-content a {
	color: #222222;
}
.ui-widget-header {
	/*border: 1px solid #4297d7;
	background: #5c9ccc url(http://ajax.googleapis.com/ajax/libs/jqueryui/1/themes/redmond/images/ui-bg_gloss-wave_55_5c9ccc_500x100.png) 50% 50% repeat-x;*/
	color: black;
	font-weight: bold;
}
.ui-widget-header a {
	color: #ffffff;
}

/* Interaction states
----------------------------------*/
.ui-state-default,
.ui-widget-content .ui-state-default,
.ui-widget-header .ui-state-default {
	border: 1px solid #c5dbec;
	background: #dfeffc url(images/ui-bg_glass_85_dfeffc_1x400.png) 50% 50% repeat-x;
	font-weight: bold;
	color: #2e6e9e;
}
.ui-state-default a,
.ui-state-default a:link,
.ui-state-default a:visited {
	color: #2e6e9e;
	text-decoration: none;
}
.ui-state-hover,
.ui-widget-content .ui-state-hover,
.ui-widget-header .ui-state-hover,
.ui-state-focus,
.ui-widget-content .ui-state-focus,
.ui-widget-header .ui-state-focus {
	border: 1px solid #79b7e7;
	background: #d0e5f5 url(images/ui-bg_glass_75_d0e5f5_1x400.png) 50% 50% repeat-x;
	font-weight: bold;
	color: #1d5987;
}
.ui-state-hover a,
.ui-state-hover a:hover,
.ui-state-hover a:link,
.ui-state-hover a:visited {
	color: #1d5987;
	text-decoration: none;
}
.ui-state-active,
.ui-widget-content .ui-state-active,
.ui-widget-header .ui-state-active {
	border: 1px solid #79b7e7;
	background: #f5f8f9 url(http://ajax.googleapis.com/ajax/libs/jqueryui/1/themes/redmond/images/ui-bg_inset-hard_100_f5f8f9_1x100.png) 50% 50% repeat-x;
	font-weight: bold;
	color: #e17009;
}
.ui-state-active a,
.ui-state-active a:link,
.ui-state-active a:visited {
	color: #e17009;
	text-decoration: none;
}

/* Interaction Cues
----------------------------------*/
.ui-state-highlight,
.ui-widget-content .ui-state-highlight,
.ui-widget-header .ui-state-highlight {
	border: 1px solid #fad42e;
	background: #fbec88 url(http://ajax.googleapis.com/ajax/libs/jqueryui/1/themes/redmond/images/ui-bg_flat_55_fbec88_40x100.png) 50% 50% repeat-x;
	color: #363636;
}
.ui-state-highlight a,
.ui-widget-content .ui-state-highlight a,
.ui-widget-header .ui-state-highlight a {
	color: #363636;
}
.ui-state-error,
.ui-widget-content .ui-state-error,
.ui-widget-header .ui-state-error {
	border: 1px solid #cd0a0a;
	background: #fef1ec url(http://ajax.googleapis.com/ajax/libs/jqueryui/1/themes/redmond/images/ui-bg_glass_95_fef1ec_1x400.png) 50% 50% repeat-x;
	color: #cd0a0a;
}
.ui-state-error a,
.ui-widget-content .ui-state-error a,
.ui-widget-header .ui-state-error a {
	color: #cd0a0a;
}
.ui-state-error-text,
.ui-widget-content .ui-state-error-text,
.ui-widget-header .ui-state-error-text {
	color: #cd0a0a;
}
.ui-priority-primary,
.ui-widget-content .ui-priority-primary,
.ui-widget-header .ui-priority-primary {
	font-weight: bold;
}
.ui-priority-secondary,
.ui-widget-content .ui-priority-secondary,
.ui-widget-header .ui-priority-secondary {
	opacity: .7;
	filter:Alpha(Opacity=70);
	font-weight: normal;
}
.ui-state-disabled,
.ui-widget-content .ui-state-disabled,
.ui-widget-header .ui-state-disabled {
	opacity: .35;
	filter:Alpha(Opacity=35);
	background-image: none;
}
.ui-state-disabled .ui-icon {
	filter:Alpha(Opacity=35); /* For IE8 - See #6059 */
}

/* Icons
----------------------------------*/

/* states and images */
.ui-icon {
	width: 16px;
	height: 16px;
}
.ui-icon,
.ui-widget-content .ui-icon {
	background-image: url(http://ajax.googleapis.com/ajax/libs/jqueryui/1/themes/redmond/images/ui-icons_469bdd_256x240.png);
}
.ui-widget-header .ui-icon {
	background-image: url(http://ajax.googleapis.com/ajax/libs/jqueryui/1/themes/redmond/images/ui-icons_d8e7f3_256x240.png);
}
.ui-state-default .ui-icon {
	background-image: url(http://ajax.googleapis.com/ajax/libs/jqueryui/1/themes/redmond/images/ui-icons_6da8d5_256x240.png);
}
.ui-state-hover .ui-icon,
.ui-state-focus .ui-icon {
	background-image: url(http://ajax.googleapis.com/ajax/libs/jqueryui/1/themes/redmond/images/ui-icons_217bc0_256x240.png);
}
.ui-state-active .ui-icon {
	background-image: url(http://ajax.googleapis.com/ajax/libs/jqueryui/1/themes/redmond/images/ui-icons_f9bd01_256x240.png);
}
.ui-state-highlight .ui-icon {
	background-image: url(http://ajax.googleapis.com/ajax/libs/jqueryui/1/themes/redmond/images/ui-icons_2e83ff_256x240.png);
}
.ui-state-error .ui-icon,
.ui-state-error-text .ui-icon {
	background-image: url(http://ajax.googleapis.com/ajax/libs/jqueryui/1/themes/redmond/images/ui-icons_cd0a0a_256x240.png);
}

/* positioning */
.ui-icon-blank { background-position: 16px 16px; }
.ui-icon-carat-1-n { background-position: 0 0; }
.ui-icon-carat-1-ne { background-position: -16px 0; }
.ui-icon-carat-1-e { background-position: -32px 0; }
.ui-icon-carat-1-se { background-position: -48px 0; }
.ui-icon-carat-1-s { background-position: -64px 0; }
.ui-icon-carat-1-sw { background-position: -80px 0; }
.ui-icon-carat-1-w { background-position: -96px 0; }
.ui-icon-carat-1-nw { background-position: -112px 0; }
.ui-icon-carat-2-n-s { background-position: -128px 0; }
.ui-icon-carat-2-e-w { background-position: -144px 0; }
.ui-icon-triangle-1-n { background-position: 0 -16px; }
.ui-icon-triangle-1-ne { background-position: -16px -16px; }
.ui-icon-triangle-1-e { background-position: -32px -16px; }
.ui-icon-triangle-1-se { background-position: -48px -16px; }
.ui-icon-triangle-1-s { background-position: -64px -16px; }
.ui-icon-triangle-1-sw { background-position: -80px -16px; }
.ui-icon-triangle-1-w { background-position: -96px -16px; }
.ui-icon-triangle-1-nw { background-position: -112px -16px; }
.ui-icon-triangle-2-n-s { background-position: -128px -16px; }
.ui-icon-triangle-2-e-w { background-position: -144px -16px; }
.ui-icon-arrow-1-n { background-position: 0 -32px; }
.ui-icon-arrow-1-ne { background-position: -16px -32px; }
.ui-icon-arrow-1-e { background-position: -32px -32px; }
.ui-icon-arrow-1-se { background-position: -48px -32px; }
.ui-icon-arrow-1-s { background-position: -64px -32px; }
.ui-icon-arrow-1-sw { background-position: -80px -32px; }
.ui-icon-arrow-1-w { background-position: -96px -32px; }
.ui-icon-arrow-1-nw { background-position: -112px -32px; }
.ui-icon-arrow-2-n-s { background-position: -128px -32px; }
.ui-icon-arrow-2-ne-sw { background-position: -144px -32px; }
.ui-icon-arrow-2-e-w { background-position: -160px -32px; }
.ui-icon-arrow-2-se-nw { background-position: -176px -32px; }
.ui-icon-arrowstop-1-n { background-position: -192px -32px; }
.ui-icon-arrowstop-1-e { background-position: -208px -32px; }
.ui-icon-arrowstop-1-s { background-position: -224px -32px; }
.ui-icon-arrowstop-1-w { background-position: -240px -32px; }
.ui-icon-arrowthick-1-n { background-position: 0 -48px; }
.ui-icon-arrowthick-1-ne { background-position: -16px -48px; }
.ui-icon-arrowthick-1-e { background-position: -32px -48px; }
.ui-icon-arrowthick-1-se { background-position: -48px -48px; }
.ui-icon-arrowthick-1-s { background-position: -64px -48px; }
.ui-icon-arrowthick-1-sw { background-position: -80px -48px; }
.ui-icon-arrowthick-1-w { background-position: -96px -48px; }
.ui-icon-arrowthick-1-nw { background-position: -112px -48px; }
.ui-icon-arrowthick-2-n-s { background-position: -128px -48px; }
.ui-icon-arrowthick-2-ne-sw { background-position: -144px -48px; }
.ui-icon-arrowthick-2-e-w { background-position: -160px -48px; }
.ui-icon-arrowthick-2-se-nw { background-position: -176px -48px; }
.ui-icon-arrowthickstop-1-n { background-position: -192px -48px; }
.ui-icon-arrowthickstop-1-e { background-position: -208px -48px; }
.ui-icon-arrowthickstop-1-s { background-position: -224px -48px; }
.ui-icon-arrowthickstop-1-w { background-position: -240px -48px; }
.ui-icon-arrowreturnthick-1-w { background-position: 0 -64px; }
.ui-icon-arrowreturnthick-1-n { background-position: -16px -64px; }
.ui-icon-arrowreturnthick-1-e { background-position: -32px -64px; }
.ui-icon-arrowreturnthick-1-s { background-position: -48px -64px; }
.ui-icon-arrowreturn-1-w { background-position: -64px -64px; }
.ui-icon-arrowreturn-1-n { background-position: -80px -64px; }
.ui-icon-arrowreturn-1-e { background-position: -96px -64px; }
.ui-icon-arrowreturn-1-s { background-position: -112px -64px; }
.ui-icon-arrowrefresh-1-w { background-position: -128px -64px; }
.ui-icon-arrowrefresh-1-n { background-position: -144px -64px; }
.ui-icon-arrowrefresh-1-e { background-position: -160px -64px; }
.ui-icon-arrowrefresh-1-s { background-position: -176px -64px; }
.ui-icon-arrow-4 { background-position: 0 -80px; }
.ui-icon-arrow-4-diag { background-position: -16px -80px; }
.ui-icon-extlink { background-position: -32px -80px; }
.ui-icon-newwin { background-position: -48px -80px; }
.ui-icon-refresh { background-position: -64px -80px; }
.ui-icon-shuffle { background-position: -80px -80px; }
.ui-icon-transfer-e-w { background-position: -96px -80px; }
.ui-icon-transferthick-e-w { background-position: -112px -80px; }
.ui-icon-folder-collapsed { background-position: 0 -96px; }
.ui-icon-folder-open { background-position: -16px -96px; }
.ui-icon-document { background-position: -32px -96px; }
.ui-icon-document-b { background-position: -48px -96px; }
.ui-icon-note { background-position: -64px -96px; }
.ui-icon-mail-closed { background-position: -80px -96px; }
.ui-icon-mail-open { background-position: -96px -96px; }
.ui-icon-suitcase { background-position: -112px -96px; }
.ui-icon-comment { background-position: -128px -96px; }
.ui-icon-person { background-position: -144px -96px; }
.ui-icon-print { background-position: -160px -96px; }
.ui-icon-trash { background-position: -176px -96px; }
.ui-icon-locked { background-position: -192px -96px; }
.ui-icon-unlocked { background-position: -208px -96px; }
.ui-icon-bookmark { background-position: -224px -96px; }
.ui-icon-tag { background-position: -240px -96px; }
.ui-icon-home { background-position: 0 -112px; }
.ui-icon-flag { background-position: -16px -112px; }
.ui-icon-calendar { background-position: -32px -112px; }
.ui-icon-cart { background-position: -48px -112px; }
.ui-icon-pencil { background-position: -64px -112px; }
.ui-icon-clock { background-position: -80px -112px; }
.ui-icon-disk { background-position: -96px -112px; }
.ui-icon-calculator { background-position: -112px -112px; }
.ui-icon-zoomin { background-position: -128px -112px; }
.ui-icon-zoomout { background-position: -144px -112px; }
.ui-icon-search { background-position: -160px -112px; }
.ui-icon-wrench { background-position: -176px -112px; }
.ui-icon-gear { background-position: -192px -112px; }
.ui-icon-heart { background-position: -208px -112px; }
.ui-icon-star { background-position: -224px -112px; }
.ui-icon-link { background-position: -240px -112px; }
.ui-icon-cancel { background-position: 0 -128px; }
.ui-icon-plus { background-position: -16px -128px; }
.ui-icon-plusthick { background-position: -32px -128px; }
.ui-icon-minus { background-position: -48px -128px; }
.ui-icon-minusthick { background-position: -64px -128px; }
.ui-icon-close { background-position: -80px -128px; }
.ui-icon-closethick { background-position: -96px -128px; }
.ui-icon-key { background-position: -112px -128px; }
.ui-icon-lightbulb { background-position: -128px -128px; }
.ui-icon-scissors { background-position: -144px -128px; }
.ui-icon-clipboard { background-position: -160px -128px; }
.ui-icon-copy { background-position: -176px -128px; }
.ui-icon-contact { background-position: -192px -128px; }
.ui-icon-image { background-position: -208px -128px; }
.ui-icon-video { background-position: -224px -128px; }
.ui-icon-script { background-position: -240px -128px; }
.ui-icon-alert { background-position: 0 -144px; }
.ui-icon-info { background-position: -16px -144px; }
.ui-icon-notice { background-position: -32px -144px; }
.ui-icon-help { background-position: -48px -144px; }
.ui-icon-check { background-position: -64px -144px; }
.ui-icon-bullet { background-position: -80px -144px; }
.ui-icon-radio-on { background-position: -96px -144px; }
.ui-icon-radio-off { background-position: -112px -144px; }
.ui-icon-pin-w { background-position: -128px -144px; }
.ui-icon-pin-s { background-position: -144px -144px; }
.ui-icon-play { background-position: 0 -160px; }
.ui-icon-pause { background-position: -16px -160px; }
.ui-icon-seek-next { background-position: -32px -160px; }
.ui-icon-seek-prev { background-position: -48px -160px; }
.ui-icon-seek-end { background-position: -64px -160px; }
.ui-icon-seek-start { background-position: -80px -160px; }
/* ui-icon-seek-first is deprecated, use ui-icon-seek-start instead */
.ui-icon-seek-first { background-position: -80px -160px; }
.ui-icon-stop { background-position: -96px -160px; }
.ui-icon-eject { background-position: -112px -160px; }
.ui-icon-volume-off { background-position: -128px -160px; }
.ui-icon-volume-on { background-position: -144px -160px; }
.ui-icon-power { background-position: 0 -176px; }
.ui-icon-signal-diag { background-position: -16px -176px; }
.ui-icon-signal { background-position: -32px -176px; }
.ui-icon-battery-0 { background-position: -48px -176px; }
.ui-icon-battery-1 { background-position: -64px -176px; }
.ui-icon-battery-2 { background-position: -80px -176px; }
.ui-icon-battery-3 { background-position: -96px -176px; }
.ui-icon-circle-plus { background-position: 0 -192px; }
.ui-icon-circle-minus { background-position: -16px -192px; }
.ui-icon-circle-close { background-position: -32px -192px; }
.ui-icon-circle-triangle-e { background-position: -48px -192px; }
.ui-icon-circle-triangle-s { background-position: -64px -192px; }
.ui-icon-circle-triangle-w { background-position: -80px -192px; }
.ui-icon-circle-triangle-n { background-position: -96px -192px; }
.ui-icon-circle-arrow-e { background-position: -112px -192px; }
.ui-icon-circle-arrow-s { background-position: -128px -192px; }
.ui-icon-circle-arrow-w { background-position: -144px -192px; }
.ui-icon-circle-arrow-n { background-position: -160px -192px; }
.ui-icon-circle-zoomin { background-position: -176px -192px; }
.ui-icon-circle-zoomout { background-position: -192px -192px; }
.ui-icon-circle-check { background-position: -208px -192px; }
.ui-icon-circlesmall-plus { background-position: 0 -208px; }
.ui-icon-circlesmall-minus { background-position: -16px -208px; }
.ui-icon-circlesmall-close { background-position: -32px -208px; }
.ui-icon-squaresmall-plus { background-position: -48px -208px; }
.ui-icon-squaresmall-minus { background-position: -64px -208px; }
.ui-icon-squaresmall-close { background-position: -80px -208px; }
.ui-icon-grip-dotted-vertical { background-position: 0 -224px; }
.ui-icon-grip-dotted-horizontal { background-position: -16px -224px; }
.ui-icon-grip-solid-vertical { background-position: -32px -224px; }
.ui-icon-grip-solid-horizontal { background-position: -48px -224px; }
.ui-icon-gripsmall-diagonal-se { background-position: -64px -224px; }
.ui-icon-grip-diagonal-se { background-position: -80px -224px; }


/* Misc visuals
----------------------------------*/

/* Corner radius */
.ui-corner-all,
.ui-corner-top,
.ui-corner-left,
.ui-corner-tl {
	border-top-left-radius: 5px;
}
.ui-corner-all,
.ui-corner-top,
.ui-corner-right,
.ui-corner-tr {
	border-top-right-radius: 5px;
}
.ui-corner-all,
.ui-corner-bottom,
.ui-corner-left,
.ui-corner-bl {
	border-bottom-left-radius: 5px;
}
.ui-corner-all,
.ui-corner-bottom,
.ui-corner-right,
.ui-corner-br {
	border-bottom-right-radius: 5px;
}

/* Overlays */
.ui-widget-overlay {
	background: #aaaaaa url(http://ajax.googleapis.com/ajax/libs/jqueryui/1/themes/redmond/images/ui-bg_flat_0_aaaaaa_40x100.png) 50% 50% repeat-x;
	opacity: .3;
	filter: Alpha(Opacity=30);
}
.ui-widget-shadow {
	margin: -8px 0 0 -8px;
	padding: 8px;
	background: #aaaaaa url(http://ajax.googleapis.com/ajax/libs/jqueryui/1/themes/redmond/images/ui-bg_flat_0_aaaaaa_40x100.png) 50% 50% repeat-x;
	opacity: .3;
	filter: Alpha(Opacity=30);
	border-radius: 8px;
}
.product-page {
    --product-teal: var(--teal, #00b896);
    --product-teal-light: var(--teal-light, #00d4aa);
    --product-teal-dark: var(--teal-dark, #008f74);

    --product-text: var(--gray-900, #0f172a);
    --product-heading: var(--gray-900, #0f172a);
    --product-muted: var(--gray-500, #64748b);
    --product-muted-dark: var(--gray-600, #475569);

    --product-white: var(--white, #ffffff);
    --product-soft: var(--gray-50, #f8fafc);
    --product-section-soft: var(--gray-100, #f1f5f9);

    --product-border: var(--gray-200, #e2e8f0);
    --product-border-light: var(--gray-150, #eaeff6);

    --product-teal-bg: var(--teal-bg, rgba(0, 184, 150, 0.08));
    --product-teal-border: var(--teal-border, rgba(0, 184, 150, 0.20));
    --product-teal-shadow: var(--teal-shadow, rgba(0, 184, 150, 0.25));

    --product-body-font: var(--font-b), "Outfit", sans-serif;
    --product-heading-font: "Plus Jakarta Sans", var(--font-b), "Outfit", sans-serif;
    --product-display-font: var(--font-s), "Fraunces", serif;

    --product-container: 1400px;
    --product-container-padding: 24px;

    --product-radius: 10px;
    --product-radius-lg: 14px;

    --product-shadow:
        0 4px 16px rgba(0, 0, 0, 0.07),
        0 2px 6px rgba(0, 0, 0, 0.04);

    --product-shadow-hover:
        0 12px 40px rgba(0, 0, 0, 0.10);

    width: 100%;
    margin: 0;
    padding: 0;

    color: var(--product-text);
    background: var(--product-white);

    font-family: var(--product-body-font);
    font-size: 16px;
    line-height: 1.6;

    box-sizing: border-box;
}
.product-page *,
.product-page *::before,
.product-page *::after {
    box-sizing: border-box;
}

.product-page h1,
.product-page h2,
.product-page h3,
.product-page h4,
.product-page h5,
.product-page h6,
.product-page p,
.product-page ul,
.product-page ol,
.product-page figure {
    margin-top: 0;
}

.product-page p,
.product-page ul,
.product-page ol {
    margin-bottom: 0;
}

.product-page img {
    display: block;
    max-width: 100%;
    height: auto;
}

.product-page a {
    color: var(--product-teal-dark);
    text-decoration: none;
}

.product-page a:hover,
.product-page a:focus {
    text-decoration: underline;
}

.product-page button,
.product-page input,
.product-page textarea,
.product-page select {
    font-family: inherit;
}
.product-container {
    width: 100%;
    max-width: var(--product-container);

    margin-left: auto;
    margin-right: auto;

    padding-left: var(--product-container-padding);
    padding-right: var(--product-container-padding);

    box-sizing: border-box;
}

.product-main {
    width: 100%;
    margin: 0;
    padding: 0;
}

.product-breadcrumb-wrapper {
    width: 100%;
    margin-top: 66px;
    margin-bottom: 0;
    padding: 0;

    background: var(--product-white);
    border-bottom: 1px solid var(--product-border-light);

    position: relative;
    z-index: 1;
}

.product-breadcrumb {
    /* Override global nav styles */
    position: static;
    top: auto;
    right: auto;
    bottom: auto;
    left: auto;

    width: 100%;
    height: auto;
    min-height: 42px;

    margin: 0;
    padding: 5px 0;

    display: flex;
    align-items: center;
    flex-wrap: wrap;

    gap: 6px;

    background: transparent;
    border: 0;
    box-shadow: none;

    color: var(--product-muted);

    font-family: var(--product-body-font);
    font-size: 13px;
    line-height: 1.4;

    justify-content: flex-start;

    box-sizing: border-box;
}

.product-breadcrumb a {
    display: inline-flex;
    align-items: center;

    width: auto;
    height: auto;

    margin: 0;
    padding: 0;

    background: transparent;
    border: 0;
    box-shadow: none;

    color: var(--product-teal-dark);

    font-family: inherit;
    font-size: inherit;
    font-weight: 600;
    line-height: inherit;

    text-decoration: none;
}

.product-breadcrumb a:hover,
.product-breadcrumb a:focus {
    color: var(--product-teal);
    text-decoration: underline;
}

.product-breadcrumb-separator,
.product-breadcrumb__separator {
    display: inline-flex;
    align-items: center;

    width: auto;
    height: auto;

    margin: 0;
    padding: 0;

    background: transparent;
    border: 0;
    box-shadow: none;

    color: var(--gray-400, #94a3b8);

    font-size: inherit;
    line-height: inherit;
}

.product-breadcrumb-current,
.product-breadcrumb__current {
    display: inline-flex;
    align-items: center;

    width: auto;
    height: auto;

    margin: 0;
    padding: 0;

    color: var(--product-muted);

    font-family: inherit;
    font-size: inherit;
    font-weight: 400;
    line-height: inherit;
}

.product-section {
    width: 100%;
    margin: 0;
    padding: 20px 0;
}

.product-section:last-child {
    padding-bottom: 0;
}


.product-section--soft {
    position: relative;
    isolation: isolate;
    background: transparent;
}

.product-section--soft::before {
    content: "";
    position: absolute;
    z-index: -1;
    top: 0;
    bottom: 0;
    left: 50%;
    width: 100vw;
    transform: translateX(-50%);
    background: var(--product-section-soft);
    pointer-events: none;
}

.product-section > h2,
.product-final-cta h2 {
    margin: 0 0 8px;

    color: var(--product-heading);
    font-family: var(--product-display-font);

    font-size: 30px;
    line-height: 1.2;
    letter-spacing: -0.01em;
    font-weight: 700;
}

.product-section > h3 {
    margin: 0 0 6px;

    color: var(--product-teal-dark);
    font-family: var(--product-body-font);

    font-size: 17px;
    line-height: 1.35;
    font-weight: 700;
}

.product-intro {
    width: 100%;
    margin: 8px 0 12px;
    color: var(--product-muted);
    font-family: var(--product-body-font);
    font-size: 16px;
    line-height: 1.78;
}

.product-section > p {
    margin: 0 0 12px;

    color: var(--product-muted);
    font-size: 16px;
    line-height: 1.72;
}

.product-section > p:last-child {
    margin-bottom: 0;
}

.product-content {
    width: 100%;
    margin-left: 0;
    margin-right: 0;
}

.product-content--wide {
    width: 100%;
}

.product-content p {
    margin: 0 0 14px;
    color: var(--product-muted);
    font-size: 16px;
    line-height: 1.72;
}

.product-content p:last-child {
    margin-bottom: 0;
}

.product-content strong {
    color: var(--product-text);
}

.product-hero {
    position: relative;
    width: 100vw;
    max-width: 100vw;
    margin-left: calc(-50vw + 50%);
    overflow: hidden;

    /* Soft homepage-style background with subtle depth */
    background:
        radial-gradient(
            ellipse 70% 90% at 85% 15%,
            rgba(0, 184, 150, 0.18) 0%,
            rgba(0, 184, 150, 0.08) 38%,
            transparent 72%
        ),
        radial-gradient(
            ellipse 55% 75% at 10% 90%,
            rgba(0, 212, 170, 0.10) 0%,
            transparent 68%
        ),
        linear-gradient(
            135deg,
            #f3fffc 0%,
            #e9fbf6 48%,
            #f7fffd 100%
        );

    border-top: 1px solid rgba(0, 184, 150, 0.08);
    border-bottom: 1px solid rgba(0, 184, 150, 0.10);
}

/* Decorative glow */
.product-hero::before {
    content: "";
    position: absolute;
    width: 520px;
    height: 520px;
    top: -250px;
    right: 4%;

    border-radius: 50%;

    background:
        radial-gradient(
            circle,
            rgba(0, 212, 170, 0.18) 0%,
            rgba(0, 184, 150, 0.10) 35%,
            rgba(0, 184, 150, 0.04) 55%,
            transparent 72%
        );

    filter: blur(12px);
    pointer-events: none;
}

/* Secondary decorative glow */
.product-hero::after {
    content: "";
    position: absolute;
    width: 420px;
    height: 420px;
    bottom: -250px;
    left: 5%;

    border-radius: 50%;

    background:
        radial-gradient(
            circle,
            rgba(76, 201, 185, 0.12) 0%,
            rgba(0, 184, 150, 0.06) 40%,
            transparent 72%
        );

    filter: blur(8px);
    pointer-events: none;
}
.product-hero-inner,
.product-hero__inner {
    position: relative;
    z-index: 2;
    width: 100%;
    max-width: var(--product-container);
    display: grid;
    grid-template-columns:
        minmax(0, 1fr)
        minmax(0, 600px);
    align-items: center;
    gap: 45px;
    margin: 0 auto;
    padding: 30px 10px;
}

.product-hero--featured .product-hero-inner {
    grid-template-columns:
        minmax(0, 1fr)
        minmax(0, 580px);
    max-width: var(--product-container);
}

.product-hero-content,
.product-hero__content {
    width: 100%;
    min-width: 0;
    /* max-width: 680px; */
}

.product-badge {
    display: inline-flex;
    align-items: center;
    gap: 7px;

    margin: 0 0 14px;
    padding: 5px 14px;

    background: var(--product-teal-bg);
    border: 1px solid var(--product-teal-border);
    border-radius: 100px;

    color: var(--product-teal-dark);

    font-family: var(--product-body-font);
    font-size: 0.72rem;
    font-weight: 700;
    line-height: 1.4;
    letter-spacing: 0.05em;
    text-transform: uppercase;
}

.product-hero .product-badge {
    background: rgba(0, 184, 150, 0.09);
    border-color: rgba(0, 184, 150, 0.20);
    color: var(--product-teal-dark);
    box-shadow: 0 6px 20px rgba(0, 184, 150, 0.08);
    backdrop-filter: blur(10px);
}
.product-hero-content h1,
.product-hero h1 {
    margin: 0 0 20px;
    color: var(--product-heading);
    font-family:
        "Plus Jakarta Sans",
        var(--product-body-font),
        sans-serif;
    font-size: 40px;
    line-height: 1.08;
    letter-spacing: -0.025em;
    font-weight: 900;
    text-shadow: none;
}

.product-hero-content h1 em,
.product-hero h1 em {
    color: var(--product-teal-dark);
    font-style: italic;
}

.product-hero--split .product-hero-content h1 {
    font-size: 40px;
}

.product-hero-content > p,
.product-hero__description {
    margin: 0 0 24px;
    color: var(--product-muted-dark);
    font-family: var(--product-body-font);
    font-size: 1.05rem;
    line-height: 1.78;
    font-weight: 400;
}

.product-hero-content > p a,
.product-hero__description a {
    color: var(--product-teal-dark);
    font-weight: 700;
}
.product-trusted,
.product-hero__trust {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 12px;
    margin: 0 0 22px !important;
    color: var(--product-muted);
    font-size: 0.82rem !important;
    line-height: 1.5;
}

.product-trusted strong,
.product-hero__trust strong {
    color: var(--product-teal-dark);
    font-size: inherit;
}
.product-hero-buttons,
.product-final-buttons,
.product-hero__buttons {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 12px;
}

.product-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;

    min-height: 46px;
    padding: 13px 26px;

    border: none;
    border-radius: 10px;

    font-family: var(--product-body-font);
    font-size: 0.93rem;
    font-weight: 700;
    line-height: 1.3;

    text-decoration: none !important;
    cursor: pointer;

    transition:
        transform 0.25s ease,
        background 0.25s ease,
        border-color 0.25s ease,
        box-shadow 0.25s ease,
        color 0.25s ease;
}
.product-btn-primary,
.product-btn--primary {
    background: var(--product-teal);
    color: #ffffff !important;

    border: 1px solid var(--product-teal);

    box-shadow:
        0 6px 24px var(--product-teal-shadow);
}

.product-btn-primary:hover,
.product-btn-primary:focus,
.product-btn--primary:hover,
.product-btn--primary:focus {
    transform: translateY(-2px);

    background: var(--product-teal-dark);
    border-color: var(--product-teal-dark);

    color: #ffffff !important;

    box-shadow:
        0 10px 32px var(--product-teal-shadow);
}
.product-btn-secondary,
.product-btn--secondary {
    background: var(--product-white);
    color: var(--product-muted-dark) !important;

    border: 2px solid var(--product-border);

    box-shadow: var(--product-shadow);
}

.product-btn-secondary:hover,
.product-btn-secondary:focus,
.product-btn--secondary:hover,
.product-btn--secondary:focus {
    transform: translateY(-2px);

    background: var(--product-white);
    border-color: var(--product-teal);

    color: var(--product-teal) !important;

    box-shadow: var(--product-shadow-hover);
}
.product-btn--light {
    background: #ffffff;
    color: var(--product-teal-dark) !important;

    border: 1px solid rgba(255, 255, 255, 0.85);
}

.product-btn--light:hover {
    transform: translateY(-2px);

    background: #f5fffd;
    color: var(--product-teal-dark) !important;

    box-shadow:
        0 8px 25px rgba(0, 0, 0, 0.12);
}

.product-btn--outline-light {
    background: transparent;
    color: #ffffff !important;

    border: 2px solid rgba(255, 255, 255, 0.60);
}

.product-btn--outline-light:hover {
    transform: translateY(-2px);

    background: rgba(255, 255, 255, 0.10);
    border-color: #ffffff;

    color: #ffffff !important;
}
.product-btn:focus-visible {
    outline: 3px solid rgba(0, 184, 150, 0.25);
    outline-offset: 3px;
}
.product-hero-media,
.product-hero__image {
    width: 100%;
    min-width: 0;

    display: flex;
    align-items: center;
    justify-content: center;
}

.product-hero-media img,
.product-hero__image img {
    display: block;
    width: 100%;
    max-width: 650px;
    height: auto;
    margin: 0 auto;

    object-fit: contain;

    filter:
        drop-shadow(0 24px 40px rgba(0, 40, 35, 0.30))
        drop-shadow(0 4px 14px rgba(0, 212, 170, 0.12));

    transition:
        transform 0.35s ease,
        filter 0.35s ease;
}

.product-hero-media img:hover,
.product-hero__image img:hover {
    transform: translateY(-6px);

    filter:
        drop-shadow(0 28px 48px rgba(0, 40, 35, 0.34))
        drop-shadow(0 5px 18px rgba(0, 212, 170, 0.16));
}
.product-hero-card {
    width: 100%;

    padding: 6px;

    background: rgba(255, 255, 255, 0.96);

    border: 1px solid rgba(255, 255, 255, 0.20);
    border-radius: 14px;

    box-shadow:
        0 25px 60px rgba(0, 0, 0, 0.28),
        0 0 0 1px rgba(0, 212, 170, 0.08);
}

.product-hero-card img {
    width: 100%;
    border-radius: 9px;
}
.product-card-grid{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:18px;
    margin-top:48px;
}
.product-card{
    position:relative;
    min-width:0;
    overflow:hidden;
    padding:28px;
    background:var(--product-white);
    border:1.5px solid var(--product-border-light);
    border-radius:14px;
    box-shadow:var(--shadow-sm);
    transition:all .3s ease;
}
.product-card::after{
    content:'';
    position:absolute;
    left:0;
    right:0;
    bottom:0;
    height:3px;
    background:linear-gradient(90deg,var(--product-teal),var(--product-teal-light));
    transform:scaleX(0);
    transform-origin:left;
    transition:transform .3s ease;
}
.product-card:hover{
    transform:translateY(-4px);
    border-color:var(--product-teal-border);
    box-shadow:var(--shadow-lg);
}
.product-card:hover::after{transform:scaleX(1)}
.product-card h3{
    display:flex;
    align-items:center;
    gap:8px;
    margin:0 0 9px;
    color:var(--product-text);
    font-family:var(--product-body-font);
    font-size:1rem;
    line-height:1.4;
    font-weight:700;
}
.product-card p{
    margin:0;
    color:var(--product-muted);
    font-family:var(--product-body-font);
    font-size:.86rem;
    line-height:1.7;
}
.product-card__icon{
    width:50px;
    height:50px;
    display:flex;
    align-items:center;
    justify-content:center;
    margin:0 0 16px;
    border-radius:13px;
    background:var(--product-teal-bg);
    border:1px solid var(--product-teal-border);
    color:var(--product-teal);
    font-family:var(--product-body-font);
    font-size:1.35rem;
    line-height:1;
    transition:transform .3s ease,background-color .3s ease,border-color .3s ease,color .3s ease;
}
.product-card:hover .product-card__icon{
    transform:translateY(-2px);
    background:rgba(0,184,150,.12);
    border-color:var(--product-teal);
    color:var(--product-teal-dark);
}

.product-process{
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:18px;
    margin:48px auto 0;
    width:100%;
}
.product-process-item,
.product-process__item{
    position:relative;
    min-width:0;
    overflow:hidden;
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:flex-start;
    padding:28px 24px;
    text-align:center;
    background:var(--product-white);
    border:1.5px solid var(--product-border-light);
    border-radius:14px;
    box-shadow:var(--shadow-sm);
    transition:all .3s ease;
}
.product-process-item::after,
.product-process__item::after{
    content:'';
    position:absolute;
    left:0;
    right:0;
    bottom:0;
    height:3px;
    background:linear-gradient(90deg,var(--product-teal),var(--product-teal-light));
    transform:scaleX(0);
    transform-origin:left;
    transition:transform .3s ease;
}
.product-process-item:hover,
.product-process__item:hover{
    transform:translateY(-4px);
    border-color:var(--product-teal-border);
    box-shadow:var(--shadow-lg);
}
.product-process-item:hover::after,
.product-process__item:hover::after{transform:scaleX(1)}
.product-step-number,
.product-process__number{
    width:32px;
    height:32px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    flex:0 0 32px;
    margin:0 0 14px;
    border-radius:50%;
    background:var(--product-teal);
    color:#fff;
    font-family:var(--product-body-font);
    font-size:.75rem;
    line-height:1;
    font-weight:700;
    box-shadow:0 4px 12px var(--product-teal-shadow);
}
.product-process-item h3,
.product-process__item h3{
    margin:0 0 9px;
    color:var(--product-text);
    font-family:var(--product-body-font);
    font-size:1rem;
    line-height:1.4;
    font-weight:700;
}
.product-process-item p,
.product-process__item p{
    margin:0;
    color:var(--product-muted);
    font-family:var(--product-body-font);
    font-size:.86rem;
    line-height:1.7;
}
/* 3 process cards - AI Proctoring */
.product-process:has(> .product-process-item:nth-child(3):last-child),
.product-process:has(> .product-process__item:nth-child(3):last-child) {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    max-width: 1000px;
}

.product-feature-list {
    display: grid;
    gap: 10px;
    margin-top: 16px;
}

.product-feature {
    display: flex;
    align-items: flex-start;
    gap: 11px;

    padding: 14px 16px;

    background: #ffffff;

    border: 1px solid var(--product-border-light);
    border-radius: 10px;

    transition:
        transform 0.2s ease,
        box-shadow 0.2s ease,
        border-color 0.2s ease;
}

.product-feature:hover {
    transform: translateY(-2px);

    border-color: var(--product-teal-border);

    box-shadow: var(--product-shadow);
}

.product-feature > span {
    flex: 0 0 auto;

    color: var(--product-teal);

    font-size: 16px;
    line-height: 1.4;
    font-weight: 700;
}

.product-feature > div {
    min-width: 0;

    color: var(--product-muted);

    font-size: 0.88rem;
    line-height: 1.65;
}

.product-feature p {
    margin: 0;
}

.product-feature strong {
    color: var(--product-text);
}
.product-media-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 16px;
    margin-top: 18px;
    width: 100%;
}

.product-media-card {
    position: relative;
    min-width: 0;
    overflow: hidden;
    display: flex;
    flex-direction: column;
    background: var(--product-white);
    border: 1.5px solid var(--product-border-light);
    border-radius: 14px;
    box-shadow: var(--shadow-sm);
    transition: all 0.3s ease;
}

.product-media-card::after {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    height: 3px;
    background: linear-gradient(
        90deg,
        var(--product-teal),
        var(--product-teal-light)
    );
    transform: scaleX(0);
    transform-origin: left;
    transition: transform 0.3s ease;
}

.product-media-card:hover {
    transform: translateY(-4px);
    border-color: var(--product-teal-border);
    box-shadow: var(--shadow-lg);
}

.product-media-card:hover::after {
    transform: scaleX(1);
}
.product-media-image {
    width: 100%;
    height: 180px;
    overflow: hidden;
    background: #ffffff;
    border-bottom: 1px solid var(--product-border-light);
}

.product-media-image img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    transition: transform 0.35s ease;
}

/* Image zoom - consistent with card hover */
.product-media-card:hover .product-media-image img {
    transform: scale(1.02);
}
.product-media-content {
    flex: 1;
    padding: 20px 18px 22px;
}

.product-media-content h3 {
    display: flex;
    align-items: flex-start;
    gap: 8px;
    margin: 0 0 9px;
    color: var(--product-text);
    font-family: var(--product-body-font);
    font-size: 1rem;
    line-height: 1.4;
    font-weight: 700;
}

.product-media-content p {
    margin: 0;
    color: var(--product-muted);
    font-family: var(--product-body-font);
    font-size: 0.86rem;
    line-height: 1.7;
}

/* Step number */
.product-media-content .product-step-number {
    width: 32px;
    height: 32px;
    flex: 0 0 32px;
    margin: 0;
}
@media (max-width: 767px) {
    .product-media-image {
        height: auto;
    }

    .product-media-image img {
        width: 100%;
        height: auto;
        object-fit: contain;
    }

    .product-media-content {
        padding: 18px;
    }
}

.product-table-wrapper {
    width: 100%;

    overflow-x: auto;

    margin-top: 18px;

    border: 1px solid var(--product-border);
    border-radius: 12px;

    background: #ffffff;

    box-shadow: var(--product-shadow);

    -webkit-overflow-scrolling: touch;
}

.product-table {
    width: 100%;
    min-width: 650px;

    border-collapse: collapse;

    font-size: 14px;
}

.product-table th,
.product-table td {
    padding: 10px 13px;

    text-align: left;
    vertical-align: top;

    border-bottom: 1px solid var(--product-border-light);

    line-height: 1.55;
}

.product-table thead th {
    background: var(--product-teal-bg);
    color: var(--product-text);

    font-weight: 700;
}

.product-table tbody tr:nth-child(even) {
    background: var(--product-soft);
}

.product-table tbody tr:last-child td {
    border-bottom: 0;
}

.product-table-label {
    color: var(--product-text);
    font-weight: 700;
}

.product-positive {
    color: var(--product-teal-dark);
    font-weight: 700;
}
.product-usecase-grid {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));

    gap: 12px;
    margin-top: 18px;
}

.product-usecase-card {
    min-width: 0;

    padding: 18px 10px;

    text-align: center;

    background: #ffffff;

    border: 1px solid var(--product-border-light);
    border-radius: 12px;

    box-shadow: var(--product-shadow);

    transition:
        transform 0.2s ease,
        box-shadow 0.2s ease,
        border-color 0.2s ease;
}

.product-usecase-card:hover {
    transform: translateY(-3px);

    border-color: var(--product-teal-border);

    box-shadow: var(--product-shadow-hover);
}

.product-usecase-icon {
    min-height: 48px;

    display: flex;
    align-items: center;
    justify-content: center;

    margin-bottom: 7px;
}

.product-usecase-icon img {
    width: 48px;
    height: 48px;

    margin: 0 auto;

    object-fit: contain;
}

.product-usecase-card p {
    margin: 0;

    color: var(--product-muted);

    font-size: 0.78rem;
    font-weight: 600;
    line-height: 1.5;
}

.product-usecase-description {
    max-width: 900px;

    margin: 14px auto 0 !important;

    color: var(--product-muted);

    font-size: 0.86rem;
    line-height: 1.65;

    text-align: center;
}

.product-callout {
    margin: 14px 0 0;
    padding: 10px 14px;

    background: var(--product-teal-bg);

    border: 1px solid var(--product-teal-border);
    border-radius: 9px;

    color: var(--product-teal-dark);

    font-size: 0.84rem;
    font-weight: 600;
    line-height: 1.55;
}

.product-compliance-box {
    padding: 15px 18px;

    background: var(--product-soft);

    border: 1px solid var(--product-border);
    border-radius: 10px;

    color: var(--product-muted);

    font-size: 0.86rem;
    line-height: 1.65;
}

.product-compliance-box a {
    font-weight: 600;
}
.product-package-wrapper {
    display: flex;
    justify-content: center;
}

.product-package {
    width: 100%;
    max-width: 420px;

    padding: 25px 30px;

    background:
        linear-gradient(
            135deg,
            var(--product-teal),
            var(--product-teal-dark)
        );

    border-radius: 14px;

    color: #ffffff;
    text-align: center;

    box-shadow:
        0 12px 32px rgba(0, 184, 150, 0.18);
}

.product-package h3 {
    margin: 0 0 5px;

    color: #ffffff;

    font-family: var(--product-display-font);

    font-size: 23px;
    line-height: 1.25;
    font-weight: 700;
}

.product-package p {
    margin: 0 0 15px;

    color: rgba(255, 255, 255, 0.86);

    font-size: 0.84rem;
    line-height: 1.55;
}

.product-package-buttons {
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    gap: 8px;
}

.product-package-quote,
.product-package-talk {
    display: inline-flex;
    align-items: center;
    justify-content: center;

    min-height: 38px;
    padding: 9px 17px;

    border-radius: 8px;

    font-size: 0.82rem;
    font-weight: 700;

    text-decoration: none !important;
}

.product-package-quote {
    background: #ffffff;
    color: var(--product-teal-dark) !important;
}

.product-package-talk {
    background: transparent;

    border: 1.5px solid rgba(255, 255, 255, 0.65);

    color: #ffffff !important;
}

.product-package-note {
   max-width: 950px;
    margin: 12px auto 0;
    color: var(--product-muted);

    font-size: 0.78rem;
    line-height: 1.5;

    text-align: center;
}
.product-video {
    position: relative;

    width: 100%;
    max-width: 900px;

    margin-left: auto;
    margin-right: auto;

    overflow: hidden;

    border-radius: 14px;

    background: #000000;

    box-shadow: var(--product-shadow-hover);
}

.product-video a {
    position: relative;

    display: block;

    overflow: hidden;

    background: #000000;

    text-decoration: none !important;
}

.product-video img {
    display: block;

    width: 100%;
    height: auto;

    transition: transform 0.35s ease;
}

.product-video a:hover img {
    transform: scale(1.02);
}
.product-faq-section,
.product-section.product-faq-section{
    width:100vw;
    margin-left:calc(-50vw + 50%);
    padding:60px 0;
    background:var(--gray-150);
    border-top:1px solid var(--gray-150);
    border-bottom:0;
}
.product-faq{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:14px;
    width:100%;
    margin-top:48px;
}
.product-faq-column{
    min-width:0;
    display:flex;
    flex-direction:column;
    gap:14px;
}
.product-faq-item{
    position:relative;
    min-width:0;
    background:var(--white);
    border:1.5px solid var(--gray-150);
    border-radius:14px;
    padding:22px 26px;
    cursor:pointer;
    transition:all .2s ease;
    box-shadow:var(--shadow-sm);
}
.product-faq-item:hover{
    border-color:var(--teal-border);
    box-shadow:0 6px 24px rgba(0,184,150,.1);
}
.product-faq-item.open{
    border-color:var(--teal);
    box-shadow:0 0 0 3px rgba(0,184,150,.08);
}
.product-faq-question{
    width:100%;
    min-height:0;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:12px;
    margin:0;
    padding:0;
    border:0;
    background:transparent;
    color:var(--gray-900);
    font-family:var(--font-b,"Outfit",sans-serif);
    font-size:.97rem;
    font-weight:700;
    line-height:1.45;
    text-align:left;
    cursor:pointer;
}
.product-faq-question:hover{color:var(--teal)}
.product-faq-question-text{min-width:0}
.product-faq-arrow{
    flex:0 0 auto;
    width:auto;
    height:auto;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    margin-left:auto;
    padding:0;
    background:transparent;
    border-radius:0;
    color:var(--gray-400);
    font-size:.82rem;
    line-height:1;
    transition:transform .2s ease,color .2s ease;
}
.product-faq-item.open .product-faq-arrow{
    transform:rotate(180deg);
    color:var(--teal);
}
.product-faq-answer{
    display:none;
    margin-top:13px;
    padding:0;
    color:var(--gray-500);
    font-family:var(--font-b,"Outfit",sans-serif);
    font-size:.88rem;
    line-height:1.75;
}
.product-faq-item.open .product-faq-answer{display:block}
.product-faq-item.open .product-faq-question{color:var(--teal-dark)}

.product-related {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));

    gap: 8px 12px;

    padding: 14px 16px;

    background: var(--product-soft);

    border: 1px solid var(--product-border);
    border-radius: 10px;

    color: var(--product-muted);

    font-size: 0.88rem;
    line-height: 1.6;
}

.product-related a {
    display: block;

    padding: 8px 10px;

    background: #ffffff;

    border: 1px solid var(--product-border);
    border-radius: 8px;

    color: var(--product-teal-dark);

    font-weight: 600;

    text-decoration: none;
}

.product-related a:hover {
    border-color: var(--product-teal-border);

    color: var(--product-teal);

    text-decoration: none;
}

.ai-proctoring-related {
    width: 100%;

    padding: 14px 16px;

    background: var(--product-soft);

    border: 1px solid var(--product-border);
    border-radius: 10px;

    color: var(--product-muted);

    font-size: 0.88rem;
    line-height: 1.65;
}

.ai-proctoring-related a {
    display: inline;

    margin: 0;
    padding: 0;

    background: transparent;

    border: 0;

    color: var(--product-teal-dark);

    font-size: inherit;
    font-weight: 600;
}

.ai-proctoring-related a:hover,
.ai-proctoring-related a:focus {
    text-decoration: underline;
}

.product-section:has(.ai-proctoring-related) {
    padding-bottom: 40px;
}

.product-final-cta{
  position:relative;
  overflow:hidden;
  /* width:100%;
  margin-top:10px; */
  width: 100vw;
  max-width: 100vw;
  margin-left: calc(-50vw + 50%);
  padding:60px 25px;
  background:
    radial-gradient(ellipse 70% 80% at 50% 50%,rgba(0,212,170,.14) 0%,transparent 65%),
    linear-gradient(135deg,var(--gray-900,#0f172a) 0%,#0f2d20 100%);
  text-align:center;
  box-shadow:var(--shadow-xl);
}

.product-final-cta::before{
  content:"";
  position:absolute;
  top:50%;
  left:50%;
  width:800px;
  height:400px;
  transform:translate(-50%,-50%);
  background:radial-gradient(ellipse,rgba(0,212,170,.14) 0%,transparent 65%);
  pointer-events:none;
}

.product-final-cta h2{
  position:relative;
  margin:0 0 8px;
  color:#fff;
  font-family:var(--product-display-font);
  font-size:30px;
  line-height:1.2;
}

.product-final-cta p{
  position:relative;
  max-width:540px;
  margin:16px auto 38px;
  color:rgba(255,255,255,.55);
  font-size:1rem;
  line-height:1.78;
}

.product-final-buttons{position:relative;justify-content:center}

.product-final-cta .product-btn--light{
  box-shadow:0 8px 28px rgba(0,0,0,.2);
}
.product-final-cta .product-btn--outline-light{
  border-color:rgba(255,255,255,.3);
}
.product-page .modal-content {
    border: 0;
    border-radius: 14px;

    overflow: hidden;

    box-shadow:
        0 20px 60px rgba(0, 0, 0, 0.18);
}

.product-page .modal-header {
    padding: 16px 20px;

    border-bottom: 1px solid var(--product-border);
}

.product-page .modal-title {
    color: var(--product-text);

    font-family: var(--product-body-font);

    font-size: 20px;
    font-weight: 700;
}

.product-page .modal-body {
    padding: 20px;
}

.product-page .modal-footer {
    padding: 12px 20px;

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

.product-page .modal .control-label {
    display: block;

    margin: 0 0 5px;

    color: var(--product-text);

    font-size: 0.76rem;
    line-height: 1.5;
    font-weight: 700;
    letter-spacing: 0.04em;

    text-transform: uppercase;
}

.product-page .modal .form-control {
    width: 100%;
    min-height: 42px;

    margin-bottom: 12px;

    border: 1px solid #d9e5e2;
    border-radius: 8px;

    box-shadow: none;

    font-family: var(--product-body-font);
    font-size: 0.88rem;
}

.product-page .modal .form-control:focus {
    border-color: var(--product-teal);

    box-shadow:
        0 0 0 3px rgba(0, 184, 150, 0.10);
}

.product-page .modal .btn-primary {
    color: #ffffff;

    background: var(--product-teal);
    border-color: var(--product-teal);

    border-radius: 8px;

    font-family: var(--product-body-font);
    font-weight: 700;
}

.product-page .modal .btn-primary:hover {
    background: var(--product-teal-dark);
    border-color: var(--product-teal-dark);
}
.product-section--dark {
    position: relative;

    overflow: hidden;

    background:
        radial-gradient(
            ellipse 55% 90% at 90% 20%,
            rgba(0, 184, 150, 0.13) 0%,
            transparent 65%
        ),
        linear-gradient(
            135deg,
            #0f172a 0%,
            #132b38 55%,
            #12363d 100%
        );

    color: #ffffff;
}

.product-section--dark::before {
    content: "";

    position: absolute;

    width: 320px;
    height: 320px;

    top: -180px;
    left: -100px;

    border-radius: 50%;

    background:
        radial-gradient(
            circle,
            rgba(0, 212, 170, 0.10),
            transparent 70%
        );

    pointer-events: none;
}

.product-section--dark > .product-container {
    position: relative;
    z-index: 1;
}

.product-section--dark > h2,
.product-section--dark .product-container > h2 {
    color: #ffffff;
}

.product-section--dark > p,
.product-section--dark .product-container > p,
.product-section--dark .product-intro {
    color: rgba(255, 255, 255, 0.72);
}


/* Dark cards */

.product-section--dark .product-card,
.product-section--dark .product-process-item,
.product-section--dark .product-process__item,
.product-section--dark .product-usecase-card,
.product-section--dark .product-feature {
    background: rgba(255, 255, 255, 0.055);

    border-color: rgba(255, 255, 255, 0.10);

    box-shadow:
        0 10px 30px rgba(0, 0, 0, 0.16);

    backdrop-filter: blur(8px);
}

.product-section--dark .product-card h3,
.product-section--dark .product-process-item h3,
.product-section--dark .product-process__item h3 {
    color: #ffffff;
}

.product-section--dark .product-card p,
.product-section--dark .product-process-item p,
.product-section--dark .product-process__item p,
.product-section--dark .product-feature > div,
.product-section--dark .product-usecase-card p {
    color: rgba(255, 255, 255, 0.68);
}


/* Dark card hover */

.product-section--dark .product-card:hover,
.product-section--dark .product-process-item:hover,
.product-section--dark .product-process__item:hover,
.product-section--dark .product-usecase-card:hover,
.product-section--dark .product-feature:hover {
    transform: translateY(-4px);

    border-color: rgba(0, 212, 170, 0.35);

    background: rgba(255, 255, 255, 0.075);

    box-shadow:
        0 18px 40px rgba(0, 0, 0, 0.22);
}


/* Dark card icons */

.product-section--dark .product-card__icon {
    background: rgba(0, 212, 170, 0.10);

    border-color: rgba(0, 212, 170, 0.20);

    color: var(--product-teal-light);
}


/* Dark process numbers */

.product-section--dark .product-step-number,
.product-section--dark .product-process__number {
    background: var(--product-teal);

    box-shadow:
        0 5px 18px rgba(0, 184, 150, 0.25);
}


/* Dark callout */

.product-section--dark .product-callout {
    background: rgba(0, 212, 170, 0.08);

    border-color: rgba(0, 212, 170, 0.20);

    color: #8df5e2;
}


/* Dark FAQ */

.product-section--dark .product-faq-item {
    border-color: rgba(255, 255, 255, 0.12);
}

.product-section--dark .product-faq-question {
    color: rgba(255, 255, 255, 0.88);
}

.product-section--dark .product-faq-question:hover,
.product-section--dark .product-faq-item.open .product-faq-question {
    color: var(--product-teal-light);
}

.product-section--dark .product-faq-answer {
    color: rgba(255, 255, 255, 0.68);
}

.product-section--dark .product-faq-arrow {
    background: rgba(0, 212, 170, 0.10);
    color: var(--product-teal-light);
}
@media (max-width: 991px) {

    .product-container {
        padding-left: 18px;
        padding-right: 18px;
    }

    .product-hero-inner,
    .product-hero__inner {
        grid-template-columns: 1fr;

        gap: 32px;

        padding-top: 48px;
        padding-bottom: 48px;
    }

    .product-hero--featured .product-hero-inner {
        grid-template-columns: 1fr;
    }

    .product-hero-content,
    .product-hero__content {
        max-width: 760px;

        margin-left: auto;
        margin-right: auto;
    }

    .product-hero-media,
    .product-hero__image {
        width: 100%;
        max-width: 700px;

        margin-left: auto;
        margin-right: auto;
    }

    .product-card-grid,
    .product-media-grid {
        grid-template-columns:
            repeat(2, minmax(0, 1fr));
    }

    .product-process {
        grid-template-columns:
            repeat(2, minmax(0, 1fr));
    }

    .product-usecase-grid {
        grid-template-columns:
            repeat(3, minmax(0, 1fr));
    }
}
@media (max-width: 767px) {

    .product-page {
        font-size: 15px;
    }

    .product-container {
        padding-left: 16px;
        padding-right: 16px;
    }

    .product-main {
        padding-bottom: 28px;
    }

    .product-section {
        padding: 24px 0;
    }

    .product-section > h2,
    .product-final-cta h2 {
        margin-bottom: 8px;
        font-size: 29px;
        line-height: 1.2;
    }

    .product-intro {
        margin-top: 7px;
        margin-bottom: 14px;

        font-size: 15px;
        line-height: 1.7;
    }

    .product-section > p {
        font-size: 15px;
        line-height: 1.68;
    }


    /* Mobile Hero */

    .product-hero::before {
        width: 320px;
        height: 320px;

        top: -140px;
        right: -90px;

        background:
            radial-gradient(
                circle,
                rgba(167, 255, 240, 0.20) 0%,
                rgba(0, 212, 170, 0.10) 38%,
                transparent 72%
            );

        filter: blur(8px);
    }

    .product-hero-inner,
    .product-hero__inner {
        gap: 24px;

        padding-top: 38px;
        padding-bottom: 38px;
    }

    .product-hero--featured .product-hero-inner {
        gap: 24px;
    }

    .product-hero-content h1,
    .product-hero h1,
    .product-hero--split .product-hero-content h1 {
        margin-bottom: 16px;

        font-size: 32px;
        line-height: 1.1;

        text-shadow: none;
    }

    .product-hero-content > p,
    .product-hero__description {
        margin-bottom: 20px;

        font-size: 0.95rem;
        line-height: 1.7;
    }

    .product-hero-buttons,
    .product-final-buttons,
    .product-hero__buttons {
        width: 100%;
        gap: 9px;
    }

    .product-hero-buttons .product-btn,
    .product-hero__buttons .product-btn {
        width: 100%;
    }


    /* Mobile grids */

    .product-card-grid,
    .product-media-grid,
    .product-process {
        grid-template-columns: 1fr;
        gap: 12px;
    }

    .product-card {
        padding: 18px;
    }

    .product-process-item,
    .product-process__item {
        padding: 22px 20px;
    }


    /* Mobile media */

    .product-media-image {
        height: auto;
    }

    .product-media-image img {
        width: 100%;
        height: auto;

        object-fit: contain;
    }


    /* Mobile features */

    .product-feature {
        padding: 12px 13px;
        gap: 9px;
    }


    /* Mobile use cases */

    .product-usecase-grid {
        grid-template-columns:
            repeat(2, minmax(0, 1fr));

        gap: 9px;
    }

    .product-usecase-card {
        padding: 14px 7px;
    }


    /* Mobile FAQ */

    .product-faq {
        grid-template-columns: 1fr;
        gap: 12px;
        margin-top: 32px;
    }

    .product-faq-column {
        gap: 12px;
    }

    .product-faq-item {
        padding: 18px 20px;
    }

    .product-faq-question {
        font-size: 0.9rem;
    }

    .product-faq-answer {
        margin-top: 11px;
        font-size: 0.84rem;
    }


    /* Mobile table */

    .product-table {
        min-width: 620px;
    }


    /* Mobile related */

    .product-related {
        grid-template-columns: 1fr;

        padding: 12px;
    }


    /* Mobile package */

    .product-package {
        padding: 22px 18px;
    }


    /* Mobile CTA */

    .product-final-cta {
        padding: 30px 18px;

        border-radius: 12px;
    }

    .product-final-cta h2 {
        font-size: 27px;
    }


    /* Mobile dark section */

    .product-section--dark {
        padding-top: 34px;
        padding-bottom: 34px;
    }
}
@media (max-width: 480px) {

    .product-section {
        padding: 22px 0;
    }

    .product-section > h2,
    .product-final-cta h2 {
        font-size: 26px;
    }

    .product-hero-content h1,
    .product-hero h1,
    .product-hero--split .product-hero-content h1 {
        font-size: 29px;
    }

    .product-hero-inner,
    .product-hero__inner {
        gap: 20px;

        padding-top: 32px;
        padding-bottom: 32px;
    }

    .product-hero--featured .product-hero-inner {
        gap: 20px;
    }

    .product-usecase-card {
        padding: 12px 6px;
    }

    .product-usecase-icon img {
        width: 44px;
        height: 44px;
    }

    .product-btn {
        min-height: 44px;
        padding: 12px 20px;
    }

    .product-final-cta {
        padding: 27px 15px;
    }

    .product-section--dark {
        padding-top: 30px;
        padding-bottom: 30px;
    }
}
@media (prefers-reduced-motion: reduce) {

    .product-card,
    .product-process-item,
    .product-process__item,
    .product-media-card,
    .product-usecase-card,
    .product-btn,
    .product-faq-arrow,
    .product-video img,
    .product-hero-media img,
    .product-hero__image img {
        transition: none;
    }
}