/* Safire Home theme settings carried over from HubSpot (Elevate) */
:root{
  --hsElevate--column__gap: 2.13%;
  --hsElevate--column__widthMultiplier: 8.333;
  --hsElevate--contentWrapper--narrow__maxWidth: 768px ;
  --hsElevate--contentWrapper--medium__maxWidth: 1120px ;
  --hsElevate--contentWrapper--wide__maxWidth: 1296px ;
  --hsElevate--section--extraSmall__verticalPadding: 48px ;
  --hsElevate--section--small__verticalPadding: 64px ;
  --hsElevate--section--medium__verticalPadding: 96px ;
  --hsElevate--section--large__verticalPadding: 128px ;
  --hsElevate--section--extraLarge__verticalPadding: 192px ;
  --hsElevate--section--horizontalPadding: 32px ;
  --hsElevate--gap--extraSmall: 16px ;
  --hsElevate--gap--small: 24px ;
  --hsElevate--gap--medium: 32px ;
  --hsElevate--gap--large: 64px ;
  --hsElevate--gap--extraLarge: 96px ;
  --hsElevate--spacing--4: 4px ;
  --hsElevate--spacing--8: 8px ;
  --hsElevate--spacing--12: 12px ;
  --hsElevate--spacing--16: 16px ;
  --hsElevate--spacing--20: 20px ;
  --hsElevate--spacing--24: 24px ;
  --hsElevate--spacing--32: 32px ;
  --hsElevate--spacing--40: 40px ;
  --hsElevate--spacing--48: 48px ;
  --hsElevate--spacing--56: 56px ;
  --hsElevate--spacing--64: 64px ;
  --hsElevate--spacing--72: 72px ;
  --hsElevate--spacing--80: 80px ;
  --hsElevate--spacing--88: 88px ;
  --hsElevate--spacing--96: 96px ;
  --hsElevate--spacing--104: 104px ;
  --hsElevate--spacing--112: 112px ;
  --hsElevate--spacing--120: 120px ;
  --hsElevate--spacing--128: 128px ;
  --hsElevate--spacing--136: 136px ;
  --hsElevate--spacing--144: 144px ;
  --hsElevate--spacing--152: 152px ;
  --hsElevate--spacing--160: 160px ;
  --hsElevate--spacing--168: 168px ;
  --hsElevate--spacing--176: 176px ;
  --hsElevate--spacing--184: 184px ;
  --hsElevate--spacing--192: 192px ;
  --hsElevate--text--extraSmall__margin: 0 0.75rem;
  --hsElevate--text--small__margin: 0 1.25rem;
  --hsElevate--text__margin: 0 2rem;
  --hsElevate--text--large__margin: 0 2.5rem;
  --hsElevate--text--extraLarge__margin: 0 4rem;
  --hsElevate--baseText__fontSize: 16px ;
  --hsElevate--body__font: Open Sans ;
  --hsElevate--body--small__fontSize: 1.000125rem ;
  --hsElevate--body__fontSize: 1.125rem ;
  --hsElevate--body--large__fontSize: 1.499625rem ;
  --hsElevate--body--extraLarge__fontSize: 1.9991249999999998rem ;
  --hsElevate--body__fontWeight: normal ;
  --hsElevate--body__fontStyle: normal ;
  --hsElevate--body__lineHeight: 1.55;
  --hsElevate--link--primary__fontColor: #0F4490 ;
  --hsElevate--link--primary__textDecoration: none;
  --hsElevate--link--primary__textDecorationColor: transparent;
  --hsElevate--link--primary__hover--fontColor: #1253B0 ;
  --hsElevate--link--primary__hover--textDecoration: underline;
  --hsElevate--link--primary__hover--textDecorationColor: #1253B0 ;
  --hsElevate--link--secondary__fontColor: #75ACFF ;
  --hsElevate--link--secondary__textDecoration: none;
  --hsElevate--link--secondary__textDecorationColor: transparent;
  --hsElevate--link--secondary__hover--fontColor: #99C2FF ;
  --hsElevate--link--secondary__hover--textDecoration: underline;
  --hsElevate--link--secondary__hover--textDecorationColor: #99C2FF ;
  --hsElevate--heading__tablet-modifier: 0.8;
  --hsElevate--heading__lineHeight: 1.2;
  --hsElevate--display1__font: Open Sans ;
  --hsElevate--display1__fontSize: 6.313rem;
  --hsElevate--display2__font: Open Sans ;
  --hsElevate--display2__fontSize: 4.75rem;
  --hsElevate--h1__font: Open Sans ;
  --hsElevate--h1__fontSize: 3.5625rem ;
  --hsElevate--h1__fontWeight: 600 ;
  --hsElevate--h1__fontStyle: normal ;
  --hsElevate--h2__font: Open Sans ;
  --hsElevate--h2__fontSize: 2.6875rem ;
  --hsElevate--h2__fontWeight: 600 ;
  --hsElevate--h2__fontStyle: normal ;
  --hsElevate--h3__font: Open Sans ;
  --hsElevate--h3__fontSize: 2.0rem ;
  --hsElevate--h3__fontWeight: 600 ;
  --hsElevate--h3__fontStyle: normal ;
  --hsElevate--h4__font: Open Sans ;
  --hsElevate--h4__fontSize: 1.5rem ;
  --hsElevate--h4__fontWeight: 600 ;
  --hsElevate--h4__fontStyle: normal ;
  --hsElevate--h5__font: Open Sans ;
  --hsElevate--h5__fontSize: 1.25rem ;
  --hsElevate--h5__fontWeight: 600 ;
  --hsElevate--h5__fontStyle: normal ;
  --hsElevate--h6__font: Open Sans ;
  --hsElevate--h6__fontSize: 1.0rem ;
  --hsElevate--h6__fontWeight: 600 ;
  --hsElevate--h6__fontStyle: normal ;
  --hsElevate--quotes__font: Open Sans ;
  --hsElevate--quotes__fontColor: ;
  --hsElevate--quotes__fontSize: 1.125rem ;
  --hsElevate--quotes__fontWeight: 400 ;
  --hsElevate--quotes__fontStyle: normal ;
  --hsElevate--captions__font: Open Sans ;
  --hsElevate--captions__fontSize: 0.75rem ;
  --hsElevate--captions__fontWeight: 700 ;
  --hsElevate--captions__fontStyle: normal ;
  --hsElevate--captions__case: uppercase ;
  --hsElevate--rteImages__margin: 2rem;
  --hsElevate--color--base--1: #FFFFFF ;
  --hsElevate--color--base--2: #EBF1F9 ;
  --hsElevate--color--base--3: #0C1927 ;
  --hsElevate--color--accent--1: #D2E2FB ;
  --hsElevate--color--accent--2: #75ACFF ;
  --hsElevate--color--accent--3: #0F4490 ;
  --hsElevate--button--primary__buttonFill: filled ;
  --hsElevate--button--primary__font: Open Sans ;
  --hsElevate--button--primary__fontSize: 1.0rem ;
  --hsElevate--button--primary__fontWeight: 600 ;
  --hsElevate--button--primary__fontStyle: normal ;
  --hsElevate--button--primary__textColor: #EBF1F9 ;
  --hsElevate--button--primary__hover--textColor: #EBF1F9 ;
  --hsElevate--button--primary__borderRadius: 8px;
  --hsElevate--button--primary__backgroundColor: #0F4490 ;
  --hsElevate--button--primary__hover--backgroundColor: #1253B0 ;
  --hsElevate--button--primary__active--backgroundColor: #003592 ;
  --hsElevate--button--primary__borderThickness: 0px ;
  --hsElevate--button--primary__hover--borderThickness: 0px ;
  --hsElevate--button--primary__borderColor: transparent;
  --hsElevate--button--primary__hover--borderColor: transparent;
  --hsElevate--button--secondary__buttonFill: no_fill ;
  --hsElevate--button--secondary__font: Open Sans ;
  --hsElevate--button--secondary__fontSize: 1.0rem ;
  --hsElevate--button--secondary__fontWeight: 600 ;
  --hsElevate--button--secondary__fontStyle: normal ;
  --hsElevate--button--secondary__textColor: #0F4490 ;
  --hsElevate--button--secondary__hover--textColor: #1253B0 ;
  --hsElevate--button--secondary__borderRadius: 8px;
  --hsElevate--button--secondary__backgroundColor: transparent;
  --hsElevate--button--secondary__hover--backgroundColor: transparent;
  --hsElevate--button--secondary__borderThickness: 2px ;
  --hsElevate--button--secondary__hover--borderThickness: 2px ;
  --hsElevate--button--secondary__borderColor: #0F4490 ;
  --hsElevate--button--secondary__hover--borderColor: #1253B0 ;
  --hsElevate--button--tertiary__buttonFill: filled ;
  --hsElevate--button--tertiary__font: Open Sans ;
  --hsElevate--button--tertiary__fontSize: 1.0rem ;
  --hsElevate--button--tertiary__fontWeight: 600 ;
  --hsElevate--button--tertiary__fontStyle: normal ;
  --hsElevate--button--tertiary__textColor: #FAFAFA ;
  --hsElevate--button--tertiary__hover--textColor: #0C1927 ;
  --hsElevate--button--tertiary__borderRadius: 8px;
  --hsElevate--button--tertiary__backgroundColor: #2f23d0 ;
  --hsElevate--button--tertiary__hover--backgroundColor: #2f23d0 ;
  --hsElevate--button--tertiary__borderThickness: 0px ;
  --hsElevate--button--tertiary__hover--borderThickness: 0px ;
  --hsElevate--button--tertiary__borderColor: transparent;
  --hsElevate--button--tertiary__hover--borderColor: transparent;
  --hsElevate--button--accent__buttonFill: no_fill ;
  --hsElevate--button--accent__font: Open Sans ;
  --hsElevate--button--accent__fontSize: 1.0rem ;
  --hsElevate--button--accent__fontWeight: 600 ;
  --hsElevate--button--accent__fontStyle: normal ;
  --hsElevate--button--accent__textColor: #75ACFF ;
  --hsElevate--button--accent__hover--textColor: #99C2FF ;
  --hsElevate--button--accent__borderRadius: 0;
  --hsElevate--button--accent__backgroundColor: transparent;
  --hsElevate--button--accent__hover--backgroundColor: transparent;
  --hsElevate--button--accent__borderThickness: 2px ;
  --hsElevate--button--accent__hover--borderThickness: 2px ;
  --hsElevate--button--accent__borderColor: #75ACFF ;
  --hsElevate--button--accent__hover--borderColor: #99C2FF ;
  --hsElevate--formField__backgroundColor: #EBF1F9 ;
  --hsElevate--formField__borderRadius: 0;
  --hsElevate--formField__borderThickness: 2px ;
  --hsElevate--formField__borderBottom: 2px solid #75ACFF ;
  --hsElevate--formField__borderColor: #75ACFF ;
  --hsElevate--formFieldInput__textColor: #0C1927 ;
  --hsElevate--formField__marginBottom: var(--hsElevate--spacing--32);
  --hsElevate--formFieldTextArea__borderRadius: calc(var(--hsElevate--formField__borderRadius) * 0.5);
  --hsElevate--formFieldCheckboxRadio__size: 24px;
  --hsElevate--formFieldCheckboxRadio__fillColor: #000000;
  --hsElevate--formFieldPlaceholder__textColor: #376EB8 ;
  --hsElevate--formRequired__color: #de2828;
  --hsElevate--formField__datepickerIcon: url("data:image/svg+xml,%3Csvg width='24' height='29' viewBox='0 0 24 29' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cg clip-path='url(%23clip0_3812_12272)'%3E%3Cpath d='M8.14286 2.07136C8.14286 1.35886 7.56964 0.785645 6.85714 0.785645C6.14464 0.785645 5.57143 1.35886 5.57143 2.07136V4.21422H3.42857C1.5375 4.21422 0 5.75172 0 7.64279V8.49993V11.0714V24.7856C0 26.6767 1.5375 28.2142 3.42857 28.2142H20.5714C22.4625 28.2142 24 26.6767 24 24.7856V11.0714V8.49993V7.64279C24 5.75172 22.4625 4.21422 20.5714 4.21422H18.4286V2.07136C18.4286 1.35886 17.8554 0.785645 17.1429 0.785645C16.4304 0.785645 15.8571 1.35886 15.8571 2.07136V4.21422H8.14286V2.07136ZM2.57143 11.0714H21.4286V24.7856C21.4286 25.2571 21.0429 25.6428 20.5714 25.6428H3.42857C2.95714 25.6428 2.57143 25.2571 2.57143 24.7856V11.0714Z' fill='%2309152B'/%3E%3C/g%3E%3Cdefs%3E%3CclipPath id='clip0_3812_12272'%3E%3Crect width='24' height='27.4286' fill='white' transform='translate(0 0.785645)'/%3E%3C/clipPath%3E%3C/defs%3E%3C/svg%3E%0A");
  --hsElevate--formField__selectIcon: url("data:image/svg+xml,%3Csvg width='24' height='25' viewBox='0 0 24 25' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M10.9407 19.5595C11.5267 20.1454 12.4782 20.1454 13.0642 19.5595L22.0642 10.5595C22.6501 9.97354 22.6501 9.02197 22.0642 8.43604C21.4782 7.8501 20.5267 7.8501 19.9407 8.43604L12.0001 16.3767L4.05947 8.44072C3.47354 7.85478 2.52197 7.85478 1.93604 8.44072C1.3501 9.02666 1.3501 9.97822 1.93604 10.5642L10.936 19.5642L10.9407 19.5595Z' fill='%2309152B'/%3E%3C/svg%3E%0A");
  --hsElevate--formField__dragIcon: url("data:image/svg+xml,%3Csvg width='11' height='12' viewBox='0 0 22 24' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cline y1='-1' x2='29.5206' y2='-1' transform='matrix(-0.666795 0.745241 -0.806754 -0.590888 19.6843 0)' stroke='%23303F59' stroke-width='2'/%3E%3Cpath d='M21.0005 9.99756L10.5005 21.9976' stroke='%23303F59' stroke-width='2'/%3E%3C/svg%3E%0A");
  --hsElevate--formLabel__textColor: #0C1927 ;
  --hsElevate--formLabel__font: Open Sans ;
  --hsElevate--formLabel__fontSize: 1.125rem ;
  --hsElevate--formLabel__fontWeight: 600 ;
  --hsElevate--formLabel__marginBottom: var(--hsElevate--spacing--8);
  --hsElevate--formHelpText__textColor: #647390;
  --hsElevate--form__backgroundColor: #FFFFFF ;
  --hsElevate--form__borderRadius: 0;
  --hsElevate--form__borderThickness: 1px ;
  --hsElevate--form__borderColor: #C4D6ED ;
  --hsElevate--form__padding: var(--hsElevate--spacing--48);
  --hsElevate--card--variant1__borderRadius: 0;
  --hsElevate--card--variant1__iconBorderRadius: 0;
  --hsElevate--card--variant1__borderThickness: 1px ;
  --hsElevate--card--variant1__backgroundColor: #FFFFFF ;
  --hsElevate--card--variant1__borderColor: #C4D6ED ;
  --hsElevate--card--variant1__textColor: #0C1927 ;
  --hsElevate--card--variant1--link__fontColor: #0F4490 ;
  --hsElevate--card--variant1--link__textDecoration: none;
  --hsElevate--card--variant1--link__textDecorationColor: transparent;
  --hsElevate--card--variant1--link__hover--fontColor: #1253B0 ;
  --hsElevate--card--variant1--link__hover--textDecoration: underline;
  --hsElevate--card--variant1--link__hover--textDecorationColor: #1253B0 ;
  --hsElevate--card--variant1__iconColor: #0F4490 ;
  --hsElevate--card--variant1__iconBackgroundColor: #C4D6ED ;
  --hsElevate--card--variant2__borderRadius: 0;
  --hsElevate--card--variant2__iconBorderRadius: 0;
  --hsElevate--card--variant2__borderThickness: 1px ;
  --hsElevate--card--variant2__backgroundColor: #EBF1F9 ;
  --hsElevate--card--variant2__borderColor: #C4D6ED ;
  --hsElevate--card--variant2__textColor: #0C1927 ;
  --hsElevate--card--variant2--link__fontColor: #0F4490 ;
  --hsElevate--card--variant2--link__textDecoration: none;
  --hsElevate--card--variant2--link__textDecorationColor: transparent;
  --hsElevate--card--variant2--link__hover--fontColor: #1253B0 ;
  --hsElevate--card--variant2--link__hover--textDecoration: underline;
  --hsElevate--card--variant2--link__hover--textDecorationColor: #1253B0 ;
  --hsElevate--card--variant2__iconColor: #0F4490 ;
  --hsElevate--card--variant2__iconBackgroundColor: #C4D6ED ;
  --hsElevate--card--variant3__borderRadius: 0;
  --hsElevate--card--variant3__iconBorderRadius: 0;
  --hsElevate--card--variant3__borderThickness: 1px ;
  --hsElevate--card--variant3__backgroundColor: #0C1927 ;
  --hsElevate--card--variant3__borderColor: #233D57 ;
  --hsElevate--card--variant3__textColor: #EBF1F9 ;
  --hsElevate--card--variant3--link__fontColor: #75ACFF ;
  --hsElevate--card--variant3--link__textDecoration: none;
  --hsElevate--card--variant3--link__textDecorationColor: transparent;
  --hsElevate--card--variant3--link__hover--fontColor: #99C2FF ;
  --hsElevate--card--variant3--link__hover--textDecoration: underline;
  --hsElevate--card--variant3--link__hover--textDecorationColor: #99C2FF ;
  --hsElevate--card--variant3__iconColor: #75ACFF ;
  --hsElevate--card--variant3__iconBackgroundColor: #233D57 ;
  --hsElevate--card--variant4__borderRadius: 0;
  --hsElevate--card--variant4__iconBorderRadius: 0;
  --hsElevate--card--variant4__borderThickness: 1px ;
  --hsElevate--card--variant4__backgroundColor: #13212F ;
  --hsElevate--card--variant4__borderColor: #233D57 ;
  --hsElevate--card--variant4__textColor: #EBF1F9 ;
  --hsElevate--card--variant4--link__fontColor: #75ACFF ;
  --hsElevate--card--variant4--link__textDecoration: none;
  --hsElevate--card--variant4--link__textDecorationColor: transparent;
  --hsElevate--card--variant4--link__hover--fontColor: #99C2FF ;
  --hsElevate--card--variant4--link__hover--textDecoration: underline;
  --hsElevate--card--variant4--link__hover--textDecorationColor: #99C2FF ;
  --hsElevate--card--variant4__iconColor: #75ACFF ;
  --hsElevate--card--variant4__iconBackgroundColor: #233D57 ;
  --hsElevate--section--lightSection--1__backgroundColor: #FFFFFF ;
  --hsElevate--section--lightSection--1__textColor: #0C1927 ;
  --hsElevate--section--lightSection--1__accentColor: #0F4490 ;
  --hsElevate--section--lightSection--1__captionColor: #476688 ;
  --hsElevate--section--lightSection--1--blockquote__textColor: #0C1927 ;
  --hsElevate--section--lightSection--1--blockquote__backgroundColor: #EBF1F9 ;
  --hsElevate--section--lightSection--1--blockquote__accentColor: #0F4490 ;
  --hsElevate--section--lightSection--1--link__fontColor: #0F4490 ;
  --hsElevate--section--lightSection--1--link__textDecoration: none;
  --hsElevate--section--lightSection--1--link__textDecorationColor: transparent;
  --hsElevate--section--lightSection--1--link__hover--fontColor: #1253B0 ;
  --hsElevate--section--lightSection--1--link__hover--textDecoration: underline;
  --hsElevate--section--lightSection--1--link__hover--textDecorationColor: #1253B0 ;
  --hsElevate--section--lightSection--2__backgroundColor: #EBF1F9 ;
  --hsElevate--section--lightSection--2__textColor: #0C1927 ;
  --hsElevate--section--lightSection--2__accentColor: #0F4490 ;
  --hsElevate--section--lightSection--2__captionColor: #476688 ;
  --hsElevate--section--lightSection--2--blockquote__textColor: #0C1927 ;
  --hsElevate--section--lightSection--2--blockquote__backgroundColor: #EBF1F9 ;
  --hsElevate--section--lightSection--2--blockquote__accentColor: #0F4490 ;
  --hsElevate--section--lightSection--2--link__fontColor: #0F4490 ;
  --hsElevate--section--lightSection--2--link__textDecoration: none;
  --hsElevate--section--lightSection--2--link__textDecorationColor: transparent;
  --hsElevate--section--lightSection--2--link__hover--fontColor: #1253B0 ;
  --hsElevate--section--lightSection--2--link__hover--textDecoration: underline;
  --hsElevate--section--lightSection--2--link__hover--textDecorationColor: #1253B0 ;
  --hsElevate--section--lightSection--3__backgroundColor: #D2E2FB ;
  --hsElevate--section--lightSection--3__textColor: #0C1927 ;
  --hsElevate--section--lightSection--3__accentColor: #0F4490 ;
  --hsElevate--section--lightSection--3__captionColor: #476688 ;
  --hsElevate--section--lightSection--3--blockquote__textColor: #0C1927 ;
  --hsElevate--section--lightSection--3--blockquote__backgroundColor: #D2E2FB ;
  --hsElevate--section--lightSection--3--blockquote__accentColor: #0F4490 ;
  --hsElevate--section--lightSection--3--link__fontColor: #0F4490 ;
  --hsElevate--section--lightSection--3--link__textDecoration: none;
  --hsElevate--section--lightSection--3--link__textDecorationColor: transparent;
  --hsElevate--section--lightSection--3--link__hover--fontColor: #1253B0 ;
  --hsElevate--section--lightSection--3--link__hover--textDecoration: underline;
  --hsElevate--section--lightSection--3--link__hover--textDecorationColor: #1253B0 ;
  --hsElevate--section--darkSection--1__backgroundColor: #0C1927 ;
  --hsElevate--section--darkSection--1__textColor: #EBF1F9 ;
  --hsElevate--section--darkSection--1__accentColor: #75ACFF ;
  --hsElevate--section--darkSection--1__captionColor: #7792AF ;
  --hsElevate--section--darkSection--1--blockquote__textColor: #EBF1F9 ;
  --hsElevate--section--darkSection--1--blockquote__backgroundColor: #13212F ;
  --hsElevate--section--darkSection--1--blockquote__accentColor: #75ACFF ;
  --hsElevate--section--darkSection--1--link__fontColor: #75ACFF ;
  --hsElevate--section--darkSection--1--link__textDecoration: none;
  --hsElevate--section--darkSection--1--link__textDecorationColor: transparent;
  --hsElevate--section--darkSection--1--link__hover--fontColor: #99C2FF ;
  --hsElevate--section--darkSection--1--link__hover--textDecoration: underline;
  --hsElevate--section--darkSection--1--link__hover--textDecorationColor: #99C2FF ;
  --hsElevate--tag__font: Open Sans ;
  --hsElevate--tag__fontColor: ;
  --hsElevate--tag__fontSize: 0.875rem ;
  --hsElevate--tag__fontWeight: 600 ;
  --hsElevate--tag__fontStyle: normal ;
  --hsElevate--tag__textColor: #0F4490 ;
  --hsElevate--tag__backgroundColor: #D2E2FB ;
  --hsElevate--tag__borderRadius: 0;
  --hsElevate--tag__borderThickness: 0px ;
  --hsElevate--tag__borderColor: #D2E2FB ;
  --hsElevate--tag__case: none ;
  --hsElevate-sharp: 0;
  --hsElevate-rounded--extra-small: 4px;
  --hsElevate-rounded--small: 8px;
  --hsElevate-rounded: 16px;
  --hsElevate-rounded--large: 24px;
  --hsElevate-rounded--extra-large: 32px;
  --hsElevate-circle: 50%;
  --hsElevate--icon--small__size: 16px;
  --hsElevate--icon--medium__size: 24px;
  --hsElevate--icon--large__size: 32px;
}

/* ---- web-parts/theme/themes.css ---- */
/* ============================================================================
   web-parts THEME LAYER  (v1.0.0)
   One small set of semantic tokens that every part reads. Set a brand + a mode
   on any ancestor and the whole subtree re-themes — light or dark, in that
   brand's colours. Parts keep their own --wp-<part>-* tokens for fine control;
   those now fall back to these shared tokens, which fall back to safe hex.

   USE:
     <body data-wp-theme="safire-home" data-wp-mode="light"> … </body>
     data-wp-theme: safire-home | safire-biz | safire-solutions | noevant |
                    profprep | strategic-series | 2057-holdings   (omit = default)
     data-wp-mode:  light (default) | dark | auto (follow the visitor's device)

   THE CONTRACT (semantic tokens):
     --wp-accent         brand accent (links, icons, active bits)
     --wp-accent-strong  deeper accent (solid bands that carry white text)
     --wp-on-accent      text/marks on an accent fill                (#fff)
     --wp-ink            primary text
     --wp-muted          secondary text
     --wp-bg             page background (host page sets this on <body>)
     --wp-surface        card / panel background
     --wp-surface-2      soft / alternate surface
     --wp-border         borders + dividers
     --wp-star           filled review star                          (gold)
     --wp-logo-tile      logo-grid tile bg (stays light in dark so logos read)
   ========================================================================== */

/* ---- base = LIGHT default (no brand) ------------------------------------- */
:root{
  --wp-accent:#1860A8;   --wp-accent-strong:#12508c;  --wp-on-accent:#ffffff;
  --wp-ink:#0b1b30;      --wp-muted:#43526a;
  --wp-bg:#f6f8fb;       --wp-surface:#ffffff;         --wp-surface-2:#eef2f8;
  --wp-border:#e4e9f0;   --wp-star:#f5a623;            --wp-logo-tile:#ffffff;
}

/* ---- DARK: explicit, and auto (follow device) ---------------------------- */
[data-wp-mode="dark"]{
  --wp-on-accent:#ffffff;
  --wp-ink:#e9eef6;      --wp-muted:#9fb0c6;
  --wp-bg:#0a0f1a;       --wp-surface:#141c2b;         --wp-surface-2:#1e2a3e;
  --wp-border:#2a3750;   --wp-star:#f7b73d;            --wp-logo-tile:#eef2f8;
}
@media (prefers-color-scheme: dark){
  [data-wp-mode="auto"]{
    --wp-on-accent:#ffffff;
    --wp-ink:#e9eef6;    --wp-muted:#9fb0c6;
    --wp-bg:#0a0f1a;     --wp-surface:#141c2b;         --wp-surface-2:#1e2a3e;
    --wp-border:#2a3750; --wp-star:#f7b73d;            --wp-logo-tile:#eef2f8;
  }
}

/* ============================================================================
   BRAND ACCENTS — real per-brand colours (from each brand's live site).
   Light: accent = brand accent, accent-strong = deeper.
   Dark : accent lightens (contrast on dark surfaces); accent-strong stays deep
          (so white text on a solid band keeps contrast).
   ========================================================================== */

/* Safire Home */
[data-wp-theme="safire-home"]{ --wp-accent:#1253b0; --wp-accent-strong:#0f4490; }
[data-wp-theme="safire-home"][data-wp-mode="dark"]{ --wp-accent:#5b9be8; --wp-accent-strong:#1253b0; }
@media (prefers-color-scheme: dark){ [data-wp-theme="safire-home"][data-wp-mode="auto"]{ --wp-accent:#5b9be8; --wp-accent-strong:#1253b0; } }

/* Safire Business */
[data-wp-theme="safire-biz"]{ --wp-accent:#4f38e0; --wp-accent-strong:#3d29b8; }
[data-wp-theme="safire-biz"][data-wp-mode="dark"]{ --wp-accent:#9a86ff; --wp-accent-strong:#4f38e0; }
@media (prefers-color-scheme: dark){ [data-wp-theme="safire-biz"][data-wp-mode="auto"]{ --wp-accent:#9a86ff; --wp-accent-strong:#4f38e0; } }

/* Safire Solutions */
[data-wp-theme="safire-solutions"]{ --wp-accent:#1860c0; --wp-accent-strong:#124a97; }
[data-wp-theme="safire-solutions"][data-wp-mode="dark"]{ --wp-accent:#5aa0ec; --wp-accent-strong:#1860c0; }
@media (prefers-color-scheme: dark){ [data-wp-theme="safire-solutions"][data-wp-mode="auto"]{ --wp-accent:#5aa0ec; --wp-accent-strong:#1860c0; } }

/* Noevant */
[data-wp-theme="noevant"]{ --wp-accent:#4f38e0; --wp-accent-strong:#3d29b8; }
[data-wp-theme="noevant"][data-wp-mode="dark"]{ --wp-accent:#9a86ff; --wp-accent-strong:#4f38e0; }
@media (prefers-color-scheme: dark){ [data-wp-theme="noevant"][data-wp-mode="auto"]{ --wp-accent:#9a86ff; --wp-accent-strong:#4f38e0; } }

/* ProfPrep */
[data-wp-theme="profprep"]{ --wp-accent:#3f2a8f; --wp-accent-strong:#2c1d68; }
[data-wp-theme="profprep"][data-wp-mode="dark"]{ --wp-accent:#a98cf0; --wp-accent-strong:#3f2a8f; }
@media (prefers-color-scheme: dark){ [data-wp-theme="profprep"][data-wp-mode="auto"]{ --wp-accent:#a98cf0; --wp-accent-strong:#3f2a8f; } }

/* Strategic Series */
[data-wp-theme="strategic-series"]{ --wp-accent:#2472c4; --wp-accent-strong:#1b5698; }
[data-wp-theme="strategic-series"][data-wp-mode="dark"]{ --wp-accent:#63aef0; --wp-accent-strong:#2472c4; }
@media (prefers-color-scheme: dark){ [data-wp-theme="strategic-series"][data-wp-mode="auto"]{ --wp-accent:#63aef0; --wp-accent-strong:#2472c4; } }

/* 2057 Holdings */
[data-wp-theme="2057-holdings"]{ --wp-accent:#9b5fc0; --wp-accent-strong:#7b3fa8; }
[data-wp-theme="2057-holdings"][data-wp-mode="dark"]{ --wp-accent:#c48fe4; --wp-accent-strong:#9b5fc0; }
@media (prefers-color-scheme: dark){ [data-wp-theme="2057-holdings"][data-wp-mode="auto"]{ --wp-accent:#c48fe4; --wp-accent-strong:#9b5fc0; } }

/* Optional convenience: let the host paint the page bg from the token. */
[data-wp-mode="dark"], [data-wp-mode="light"]{ background:var(--wp-bg); }

/* ---- web-parts/logo-grid/logo-grid.css ---- */
/* ============================================================================
   web-part: logo-grid  (v1.0.0)
   Reusable, brand-agnostic "brands / partners we work with" grid.
   ----------------------------------------------------------------------------
   - Reflows automatically (auto-fill): ~6-up on desktop, 2-up on phones.
   - Every logo is capped to ONE max height + width inside its cell, so wide
     wordmarks and square icons read at the same optical weight.
   - Themed entirely with CSS custom properties (--wp-lg-*), each with a safe
     fallback, so a brand only overrides what it wants (usually nothing).
   - No dependencies. Namespaced classes (.wp-logo-grid*) — collision-safe.

   HOW TO USE (build-time include):
     1. Inline this file's contents into the page <style>, OR ship it as a
        stylesheet the page links. (Build-time inline is the house standard.)
     2. Emit the markup (see logo-grid.partial.html / render.js).
     3. Optionally set brand tokens on :root or on the section, e.g.
          .my-brand { --wp-lg-tile-bg:#fff; --wp-lg-accent:#1860A8; }

   TOKENS (override any on :root or an ancestor):
     --wp-lg-col        min column width -> controls wrap/columns   (150px)
     --wp-lg-gap        gap between tiles                           (16px)
     --wp-lg-tile-h     tile height                                 (112px)
     --wp-lg-tile-bg    tile background                             (#ffffff)
     --wp-lg-tile-border tile border color                          (#e4e9f0)
     --wp-lg-radius     tile corner radius                          (14px)
     --wp-lg-pad        inner tile padding                          (18px)
     --wp-lg-logo-h     max logo height (the main sizing knob)      (46px)
     --wp-lg-logo-w     max logo width                              (80%)
     --wp-lg-shadow     hover shadow color                          (rgba(0,0,0,.10))
   ========================================================================== */

.wp-logo-grid{
  display:grid;
  grid-template-columns:repeat(auto-fill,minmax(var(--wp-lg-col,150px),1fr));
  gap:var(--wp-lg-gap,16px);
  align-items:stretch;
}
.wp-logo-grid__tile{
  min-height:var(--wp-lg-tile-h,112px);
  background:var(--wp-lg-tile-bg,var(--wp-logo-tile,#ffffff));
  border:1px solid var(--wp-lg-tile-border,var(--wp-border,#e4e9f0));
  border-radius:var(--wp-lg-radius,14px);
  display:flex;align-items:center;justify-content:center;
  padding:var(--wp-lg-pad,18px);
  transition:box-shadow .2s ease,transform .2s ease;
}
.wp-logo-grid__tile:hover{
  box-shadow:0 8px 22px var(--wp-lg-shadow,rgba(0,0,0,.10));
  transform:translateY(-2px);
}
.wp-logo-grid__tile img{
  max-height:var(--wp-lg-logo-h,48px);
  max-width:var(--wp-lg-logo-w,84%);
  width:auto;height:auto;
  object-fit:contain;display:block;
}

/* Monochrome variant: unify colour, reveal on hover. Add class "wp-logo-grid--mono". */
.wp-logo-grid--mono .wp-logo-grid__tile img{
  filter:grayscale(1) contrast(.95) opacity(.6);
  transition:filter .2s ease,opacity .2s ease;
}
.wp-logo-grid--mono .wp-logo-grid__tile:hover img{filter:none;opacity:1;}

/* Phone: tighter cells + smaller logos so it never crowds. */
@media (max-width:520px){
  .wp-logo-grid{
    --wp-lg-col:128px;
    --wp-lg-logo-h:38px;
    --wp-lg-tile-h:96px;
    --wp-lg-gap:12px;
  }
}

/* ---- web-parts/feed/feed.css ---- */
/* ============================================================================
   web-part: feed  (v1.0.0)
   Latest-posts grid built from a blog/news feed (RSS / Atom / JSON), fetched +
   normalized at build time. Each card: 16:9 media (optional, lazy), title link,
   excerpt, a date · author meta line, and a "Read more →" link.
   ----------------------------------------------------------------------------
   - Responsive auto-fill grid (N-up desktop -> 1-up phone).
   - No JS. Namespaced classes (.wp-feed*). Content is in the DOM (SEO-clean).
   - Themed with CSS custom properties (--wp-fd-*), each with a safe fallback
     that reads the shared web-parts theme tokens (--wp-accent, --wp-ink, …).

   TOKENS (override on :root or an ancestor):
     --wp-fd-accent    eyebrow / links / read-more            (#1860A8)
     --wp-fd-ink       headings / title links                 (#0b1b30)
     --wp-fd-muted     excerpt / meta                         (#43526a)
     --wp-fd-bg        card background                        (#ffffff)
     --wp-fd-surface-2 media placeholder background           (#eef2f8)
     --wp-fd-border    card border                            (#e4e9f0)
     --wp-fd-radius    card corner radius                     (16px)
     --wp-fd-gap       gap between cards                      (22px)
     --wp-fd-col       min card width before wrap             (300px)
     --wp-fd-max       section max width                      (1120px)
     --wp-fd-pad       card body padding                      (20px)
     --wp-fd-clamp     lines of excerpt before clamp          (3)
   ========================================================================== */

.wp-feed{ padding:var(--wp-fd-pad-y, clamp(34px,4vw,52px)) 16px; }
.wp-feed__inner{ max-width:var(--wp-fd-max, 1120px); margin-inline:auto; }

.wp-feed__eyebrow{
  margin:0 0 6px;text-transform:uppercase;letter-spacing:.08em;
  font-size:.78rem;font-weight:700;color:var(--wp-fd-accent,var(--wp-accent,#1860A8));text-align:center;
}
.wp-feed__heading{
  margin:0 0 24px;font-size:clamp(1.5rem,1rem+2vw,2.1rem);line-height:1.15;font-weight:800;
  color:var(--wp-fd-ink,var(--wp-ink,#0b1b30));text-align:center;
}

/* grid */
.wp-feed__grid{
  display:grid;grid-template-columns:repeat(auto-fill,minmax(var(--wp-fd-col,300px),1fr));
  gap:var(--wp-fd-gap,22px);
}

/* card */
.wp-feed__card{
  display:flex;flex-direction:column;overflow:hidden;
  background:var(--wp-fd-bg,var(--wp-surface,#ffffff));
  border:1px solid var(--wp-fd-border,var(--wp-border,#e4e9f0));
  border-radius:var(--wp-fd-radius,16px);
  transition:box-shadow .2s ease, transform .2s ease;
}
.wp-feed__card:hover{ box-shadow:0 12px 30px rgba(24,96,168,.10);transform:translateY(-2px); }

/* media — fixed 16:9, lazy image */
.wp-feed__media{
  display:block;aspect-ratio:16/9;overflow:hidden;
  background:var(--wp-fd-surface-2,var(--wp-surface-2,#eef2f8));
  border-bottom:1px solid var(--wp-fd-border,var(--wp-border,#e4e9f0));
}
.wp-feed__media img{
  width:100%;height:100%;object-fit:cover;display:block;
  transition:transform .3s ease;
}
.wp-feed__card:hover .wp-feed__media img{ transform:scale(1.03); }

/* body */
.wp-feed__body{
  display:flex;flex-direction:column;gap:10px;
  padding:var(--wp-fd-pad,20px);flex:1;
}
.wp-feed__title{ margin:0;font-size:1.12rem;line-height:1.3;font-weight:800; }
.wp-feed__link{
  color:var(--wp-fd-ink,var(--wp-ink,#0b1b30));text-decoration:none;
  transition:color .15s ease;
}
.wp-feed__link:hover{ color:var(--wp-fd-accent,var(--wp-accent,#1860A8)); }
.wp-feed__link:focus-visible{ outline:2px solid var(--wp-fd-accent,var(--wp-accent,#1860A8));outline-offset:2px;border-radius:3px; }

.wp-feed__meta{
  margin:0;font-size:.82rem;color:var(--wp-fd-muted,var(--wp-muted,#43526a));
  display:flex;flex-wrap:wrap;align-items:center;
}
.wp-feed__author{ font-weight:600; }

.wp-feed__excerpt{
  margin:0;font-size:.95rem;line-height:1.6;color:var(--wp-fd-muted,var(--wp-muted,#43526a));
  display:-webkit-box;-webkit-line-clamp:var(--wp-fd-clamp,3);-webkit-box-orient:vertical;overflow:hidden;
}

.wp-feed__more{
  margin-top:auto;padding-top:4px;
  display:inline-flex;align-items:center;gap:6px;align-self:flex-start;
  font-weight:700;font-size:.9rem;text-decoration:none;
  color:var(--wp-fd-accent,var(--wp-accent,#1860A8));
}
.wp-feed__more span{ transition:transform .18s ease; }
.wp-feed__more:hover span{ transform:translateX(3px); }
.wp-feed__more:focus-visible{ outline:2px solid var(--wp-fd-accent,var(--wp-accent,#1860A8));outline-offset:3px;border-radius:3px; }

/* view-all CTA */
.wp-feed__cta{ text-align:center;margin-top:30px; }
.wp-feed__cta-link{
  display:inline-flex;align-items:center;gap:8px;padding:12px 26px;border-radius:999px;
  background:var(--wp-fd-accent,var(--wp-accent,#1860A8));color:var(--wp-on-accent,#ffffff);
  text-decoration:none;font-weight:700;
  transition:transform .18s ease, box-shadow .18s ease;
}
.wp-feed__cta-link:hover{ transform:translateY(-2px);box-shadow:0 10px 24px rgba(24,96,168,.22); }
.wp-feed__cta-link:focus-visible{ outline:2px solid var(--wp-fd-accent,var(--wp-accent,#1860A8));outline-offset:3px; }

@media (prefers-reduced-motion: reduce){
  .wp-feed__card,.wp-feed__media img,.wp-feed__more span,.wp-feed__cta-link{ transition:none; }
}

/* ---- web-parts/stat-band/stat-band.css ---- */
/* ============================================================================
   web-part: stat-band  (v1.0.0)
   Reusable, brand-agnostic row of headline stats ("500+ homes wired").
   ----------------------------------------------------------------------------
   - Responsive: auto-fit grid, N-up on desktop reflowing to 2-up / 1-up.
   - Optional count-up animation on scroll (see render.js initScript); numbers
     are correct with JS off (the final value is in the HTML) and for
     prefers-reduced-motion (no animation, just shown).
   - Themed with CSS custom properties (--wp-st-*), each with a safe fallback.
   - No dependencies. Namespaced classes (.wp-stat-band*) — collision-safe.

   TOKENS (override on :root or an ancestor):
     --wp-st-accent      number colour                        (#1860A8)
     --wp-st-ink         label colour                         (#0b1b30)
     --wp-st-muted       sub-label colour                     (#43526a)
     --wp-st-bg          band background                      (transparent)
     --wp-st-border      divider between items (desktop)      (#e4e9f0)
     --wp-st-num-size    number font size                     (clamp 2.2-3.2rem)
     --wp-st-gap         gap between items                    (12px 40px)
     --wp-st-col         min item width before it wraps       (200px)
     --wp-st-speed       count-up duration (ms, via data-*)   (1600)
   ========================================================================== */

.wp-stat-band{
  background:var(--wp-st-bg, transparent);
}
.wp-stat-band__grid{
  display:grid;
  grid-template-columns:repeat(auto-fit, minmax(var(--wp-st-col,200px), 1fr));
  gap:var(--wp-st-gap, 12px 40px);
  max-width:var(--wp-st-max, 1000px);
  margin-inline:auto;
  align-items:start;
}
.wp-stat-band__item{
  text-align:center;
  padding:8px 12px;
  position:relative;
}
/* thin dividers between items on wider screens */
@media (min-width: 720px){
  .wp-stat-band__item + .wp-stat-band__item::before{
    content:"";position:absolute;left:calc(-1 * var(--wp-st-gap-x, 20px));top:14%;bottom:14%;
    width:1px;background:var(--wp-st-border, var(--wp-border,#e4e9f0));
  }
}
.wp-stat-band__num{
  display:block;
  font-weight:800;line-height:1;
  font-size:var(--wp-st-num-size, clamp(2.2rem, 1.4rem + 2.6vw, 3.2rem));
  color:var(--wp-st-accent, var(--wp-accent,#1860A8));
  letter-spacing:-.02em;
  font-variant-numeric:tabular-nums;    /* no width jitter while counting */
}
.wp-stat-band__label{
  display:block;margin-top:8px;
  font-weight:700;font-size:1rem;line-height:1.3;
  color:var(--wp-st-ink, var(--wp-ink,#0b1b30));
}
.wp-stat-band__sub{
  display:block;margin-top:3px;
  font-size:.9rem;line-height:1.4;
  color:var(--wp-st-muted, var(--wp-muted,#43526a));
}

/* ---- web-parts/reviews-embed/reviews-embed.css ---- */
/* ============================================================================
   web-part: reviews-embed  (v1.0.0)
   Thin, brand-agnostic wrapper around a hosted third-party reviews widget
   (default: a GoHighLevel / LeadConnector reputation "review_widget" iframe).
   ----------------------------------------------------------------------------
   - The widget itself is an <iframe> whose LOOK is controlled inside the vendor
     (GHL) widget editor — this part only owns the OUTER frame: section spacing,
     an optional eyebrow + heading, a max width, and responsive padding.
   - Use this when you want the real, always-current vendor widget on the page
     with zero data plumbing. If you need brand-themed cards or review schema,
     use a native reviews part instead (the iframe can't be styled or emit JSON-LD).
   - No dependencies of our own. Namespaced classes (.wp-reviews-embed*).

   TOKENS (override on :root or an ancestor):
     --wp-re-ink        heading colour                         (#0b1b30)
     --wp-re-accent     eyebrow colour                         (#1860A8)
     --wp-re-max        max width of the embed                 (1100px)
     --wp-re-pad-y      section vertical padding               (clamp 32-56px)
     --wp-re-gap        gap under the heading                  (22px)
   ========================================================================== */

.wp-reviews-embed{
  padding:var(--wp-re-pad-y, clamp(32px,4vw,56px)) 16px;
}
.wp-reviews-embed__inner{
  max-width:var(--wp-re-max, 1100px);
  margin-inline:auto;
}
.wp-reviews-embed__eyebrow{
  margin:0 0 6px;text-transform:uppercase;letter-spacing:.08em;
  font-size:.78rem;font-weight:700;color:var(--wp-re-accent, var(--wp-accent,#1860A8));
  text-align:center;
}
.wp-reviews-embed__heading{
  margin:0 0 var(--wp-re-gap, 22px);
  font-size:clamp(1.4rem, 1rem + 1.6vw, 2rem);line-height:1.2;font-weight:800;
  color:var(--wp-re-ink, var(--wp-ink,#0b1b30));text-align:center;
}
/* the vendor iframe: full width of the inner box, height is managed by the
   vendor loader script (it posts a resize message). */
.wp-reviews-embed .lc_reviews_widget{
  display:block;width:100%;min-width:100%;border:0;
}

/* ---- site ---- */
/* ==========================================================================
   safire.homes v2 — site stylesheet (hand-written; no HubSpot code)
   Reads the --hsElevate-* tokens (Safire's own theme settings, emitted into
   tokens at build) and the shared --wp-* web-parts tokens.
   ========================================================================== */
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;overflow-x:hidden;background:#fff;color:var(--hsElevate--section--lightSection--1__textColor);
  font-family:var(--hsElevate--body__font),system-ui,-apple-system,"Segoe UI",sans-serif;font-size:var(--hsElevate--body__fontSize);
  line-height:var(--hsElevate--body__lineHeight);overflow-wrap:break-word}
img{max-width:100%;height:auto;border:0;vertical-align:middle}
p,ul,ol{margin-block:var(--hsElevate--text__margin)}
a{color:var(--hsElevate--link--primary__fontColor);text-decoration:none}
a:hover{color:var(--hsElevate--link--primary__hover--fontColor);text-decoration:underline;text-decoration-color:currentColor}
h1,h2,h3,h4,h5,h6,.hs-elevate-display-1,.hs-elevate-display-2{line-height:var(--hsElevate--heading__lineHeight);margin-block:var(--hsElevate--text__margin)}
.hs-elevate-display-1{font-size:calc(var(--hsElevate--display1__fontSize)*.8);font-weight:400}
.hs-elevate-display-2{font-size:calc(var(--hsElevate--display2__fontSize)*.8);font-weight:400}
h1,.hs-elevate-h1{font-size:calc(var(--hsElevate--h1__fontSize)*.8);font-weight:600}
h2,.hs-elevate-h2{font-size:calc(var(--hsElevate--h2__fontSize)*.8);font-weight:600}
h3,.hs-elevate-h3{font-size:calc(var(--hsElevate--h3__fontSize)*.8);font-weight:600}
h4,.hs-elevate-h4{font-size:calc(var(--hsElevate--h4__fontSize)*.8);font-weight:600}
h5,.hs-elevate-h5{font-size:calc(var(--hsElevate--h5__fontSize)*.8);font-weight:600}
h6,.hs-elevate-h6{font-size:var(--hsElevate--h6__fontSize);font-weight:600}
@media (min-width:767px){
  .hs-elevate-display-1{font-size:var(--hsElevate--display1__fontSize)}
  .hs-elevate-display-2{font-size:var(--hsElevate--display2__fontSize)}
  h1,.hs-elevate-h1{font-size:var(--hsElevate--h1__fontSize)}
  h2,.hs-elevate-h2{font-size:var(--hsElevate--h2__fontSize)}
  h3,.hs-elevate-h3{font-size:var(--hsElevate--h3__fontSize)}
  h4,.hs-elevate-h4{font-size:var(--hsElevate--h4__fontSize)}
  h5,.hs-elevate-h5{font-size:var(--hsElevate--h5__fontSize)}
}
blockquote{padding:24px;border-left:3px solid var(--hsElevate--section--lightSection--1--blockquote__accentColor);
  background:var(--hsElevate--section--lightSection--1--blockquote__backgroundColor);border-radius:4px;margin:0 0 2rem}
table{border-collapse:collapse;width:100%}td,th{border:1px solid #C4D6ED;padding:8px 12px}
hr{border:0;border-top:1px solid #C4D6ED}

/* ---------- DnD grid (12-col rows, sections) ---------- */
.dnd-section{padding:var(--hsElevate--section--medium__verticalPadding) var(--hsElevate--section--horizontalPadding)}
.dnd-section>.row-fluid{margin:0 auto;max-width:var(--hsElevate--contentWrapper--wide__maxWidth)}
.row-fluid{display:flex;flex-wrap:wrap;width:100%}
.row-fluid>[class*="span"]{min-height:1px;width:100%}
.dnd-column{padding:0}
@media (min-width:768px){
  .row-fluid{flex-wrap:nowrap;justify-content:space-between}
  .row-fluid>.span1{width:calc(8.333% - 2.13%*8.333*11/100)}
  .row-fluid>.span2{width:calc(16.666% - 2.13%*8.333*10/100)}
  .row-fluid>.span3{width:calc(24.999% - 2.13%*8.333*9/100)}
  .row-fluid>.span4{width:calc(33.332% - 2.13%*8.333*8/100)}
  .row-fluid>.span5{width:calc(41.665% - 2.13%*8.333*7/100)}
  .row-fluid>.span6{width:calc(49.998% - 2.13%*8.333*6/100)}
  .row-fluid>.span7{width:calc(58.331% - 2.13%*8.333*5/100)}
  .row-fluid>.span8{width:calc(66.664% - 2.13%*8.333*4/100)}
  .row-fluid>.span9{width:calc(74.997% - 2.13%*8.333*3/100)}
  .row-fluid>.span10{width:calc(83.33% - 2.13%*8.333*2/100)}
  .row-fluid>.span11{width:calc(91.663% - 2.13%*8.333*1/100)}
  .row-fluid>.span12{width:100%}
}
.widget-type-custom_widget>.hs_cos_wrapper,.dnd-module>.hs_cos_wrapper{display:block}

/* ---------- buttons ---------- */
.hs-elevate-button{display:inline-flex;min-width:150px;align-items:center;justify-content:center;text-align:center;
  padding:16px 24px;border-style:solid;border-radius:8px;font-family:inherit;font-size:1rem;font-weight:600;line-height:1.2;
  text-decoration:none;cursor:pointer;transition:background-color .15s,color .15s,border-color .15s}
.hs-elevate-button:hover{text-decoration:none}
.hs-elevate-button--primary{color:var(--hsElevate--button--primary__textColor);background:var(--hsElevate--button--primary__backgroundColor);border-width:0;border-radius:var(--hsElevate--button--primary__borderRadius);font-weight:var(--hsElevate--button--primary__fontWeight)}
.hs-elevate-button--primary:hover{color:var(--hsElevate--button--primary__hover--textColor);background:var(--hsElevate--button--primary__hover--backgroundColor)}
.hs-elevate-button--secondary{color:var(--hsElevate--button--secondary__textColor);background:transparent;border-width:2px;border-color:var(--hsElevate--button--secondary__borderColor);border-radius:var(--hsElevate--button--secondary__borderRadius);font-weight:var(--hsElevate--button--secondary__fontWeight)}
.hs-elevate-button--secondary:hover{color:var(--hsElevate--button--secondary__hover--textColor);border-color:var(--hsElevate--button--secondary__hover--borderColor)}
.hs-elevate-button--tertiary{color:var(--hsElevate--button--tertiary__textColor);background:var(--hsElevate--button--tertiary__backgroundColor);border-width:0;border-radius:var(--hsElevate--button--tertiary__borderRadius);font-weight:var(--hsElevate--button--tertiary__fontWeight)}
.hs-elevate-button--tertiary:hover{color:var(--hsElevate--button--tertiary__hover--textColor);background:var(--hsElevate--button--tertiary__hover--backgroundColor)}
.hs-elevate-button--accent{color:var(--hsElevate--button--accent__textColor);background:transparent;border-width:2px;border-radius:0;border-color:var(--hsElevate--button--accent__borderColor)}
.hs-elevate-button:focus-visible{outline:2px solid #53acff;outline-offset:2px}
.hs-elevate-button__icon{height:1.25rem;fill:currentColor}

/* ---------- modules ---------- */
.hs-elevate-heading-container :is(h1,h2,h3,h4,h5,h6),.hs-elevate-heading-container :is(.hs-elevate-display-1,.hs-elevate-display-2){color:var(--hsElevate--heading__textColor,inherit)}
.hs-elevate-rich-text :is(h1,h2,h3,h4,h5,h6,p,li,span,div){color:var(--hsElevate--richText__textColor,inherit)}
.hs-elevate-rich-text a:not(.hs-elevate-button){color:var(--hsElevate--richText__linkColor,var(--hsElevate--link--primary__fontColor))}
.hs-elevate-rich-text a:not(.hs-elevate-button):hover{color:var(--hsElevate--richText__linkHoverColor,var(--hsElevate--link--primary__hover--fontColor))}
.hs-elevate-anchor{display:block;height:0;overflow:hidden}
.hs-horizontal-spacer{display:block}
.hs-image-widget{max-width:100%;height:auto}
.hs_cos_wrapper_type_linked_image img,.hs_cos_wrapper_type_image img{display:block}

/* cards */
.hs-elevate-card-container{display:grid;justify-content:center;grid-template-columns:repeat(auto-fit,minmax(min(100%,250px),1fr));gap:24px}
.hs-elevate-card{display:flex;flex:1;flex-direction:column;align-items:center;padding:32px;border-style:solid}
.hs-elevate-card--variant-1{background:var(--hsElevate--card--variant1__backgroundColor);border:var(--hsElevate--card--variant1__borderThickness,1px) solid var(--hsElevate--card--variant1__borderColor);border-radius:var(--hsElevate--card--variant1__borderRadius,0);color:var(--hsElevate--card--variant1__textColor)}
.hs-elevate-card--variant-2{background:var(--hsElevate--card--variant2__backgroundColor);border:var(--hsElevate--card--variant2__borderThickness,1px) solid var(--hsElevate--card--variant2__borderColor);border-radius:var(--hsElevate--card--variant2__borderRadius,0);color:var(--hsElevate--card--variant2__textColor)}
.hs-elevate-card--variant-3{background:var(--hsElevate--card--variant3__backgroundColor);border:var(--hsElevate--card--variant3__borderThickness) solid var(--hsElevate--card--variant3__borderColor);border-radius:var(--hsElevate--card--variant3__borderRadius,0);color:var(--hsElevate--card--variant3__textColor)}
.hs-elevate-card--variant-4{background:var(--hsElevate--card--variant4__backgroundColor);border:var(--hsElevate--card--variant4__borderThickness) solid var(--hsElevate--card--variant4__borderColor);border-radius:var(--hsElevate--card--variant4__borderRadius,0);color:var(--hsElevate--card--variant4__textColor)}
.hs-elevate-card :is(h1,h2,h3,h4,h5,h6,p,li,span){color:inherit}
.hs-elevate-card--variant-3 a:not(.hs-elevate-button){color:var(--hsElevate--card--variant3--link__fontColor)}
.hs-elevate-card--variant-4 a:not(.hs-elevate-button){color:var(--hsElevate--card--variant4--link__fontColor)}
.hs-elevate-card-container__icon-wrapper{display:flex;width:72px;height:72px;align-items:center;align-self:var(--hsElevate--card__alignment);justify-content:var(--hsElevate--card__alignment);margin-block-end:24px}
.hs-elevate-card-container__icon{width:72px;height:72px;padding:16px;border-radius:var(--hsElevate--cardIcon__borderRadius);background:var(--hsElevate--cardIcon__backgroundColor);fill:var(--hsElevate--cardIcon__fillColor)}
.hs-elevate-card-container__image-wrapper{display:flex;overflow:hidden;max-width:100%;align-self:var(--hsElevate--card__alignment);justify-content:var(--hsElevate--card__alignment);margin-block-end:24px}
.hs-elevate-card-container__image-wrapper img{max-width:min(250px,100%);min-width:80px;object-fit:contain}
.hs-elevate-card-container__content{display:flex;flex-direction:column;align-self:var(--hsElevate--card__alignment)}
.hs-elevate-card-container__body{text-align:var(--hsElevate--card__textAlignment)}
.hs-elevate-card-container__button-wrapper{align-self:var(--hsElevate--card__alignment)}
.hs-elevate-card-container__title{margin-bottom:32px}
@media (min-width:1000px){.hs-elevate-card--row{flex-direction:row}
  .hs-elevate-card-container__card--row .hs-elevate-card-container__icon-wrapper{align-self:center;margin:0 24px 0 0}}

/* feature list */
.hs-elevate-feature-list{display:flex;flex-direction:column;flex-wrap:wrap;row-gap:56px}
.hs-elevate-feature-list__feature{display:flex;width:100%;align-items:flex-start}
.hs-elevate-feature-list__icon{width:24px;height:24px;flex-shrink:0;fill:var(--hsElevate--featureList__accentColor);margin-inline-end:12px}
.hs-elevate-feature-list__content-container :is(h1,h2,h3,h4,h5,h6){color:var(--hsElevate--featureList__textColor);margin-block:0 .75rem}
.hs-elevate-feature-list__content-container p{color:var(--hsElevate--featureList__textColor)}
.hs-elevate-feature-list__body{font-size:var(--hsElevate--body--small__fontSize);margin-block-end:0}
@media (min-width:479px){
  .hs-elevate-feature-list--2-columns,.hs-elevate-feature-list--3-columns{flex-direction:row;column-gap:64px}
  .hs-elevate-feature-list--2-columns .hs-elevate-feature-list__feature,.hs-elevate-feature-list--3-columns .hs-elevate-feature-list__feature{width:calc((100% - 64px)/2)}
}
@media (min-width:768px){.hs-elevate-feature-list--3-columns .hs-elevate-feature-list__feature{width:calc((100% - 128px)/3)}}

/* image + text */
.hs-elevate-image-and-text{display:flex;flex-direction:column;align-items:stretch;justify-content:space-between;column-gap:80px}
.hs-elevate-image-and-text__image-container{margin-block-end:32px}
.hs-elevate-image-and-text__image-container img{width:100%;height:auto}
.hs-elevate-image-and-text__content-container :is(h1,h2,h3,h4,h5,h6,p,li,span,div){color:var(--hsElevate--imageAndText__textColor,inherit)}
@media (min-width:767px){
  .hs-elevate-image-and-text{flex-direction:row;align-items:var(--hsElevate--imageAndText__alignItems,center)}
  .hs-elevate-image-and-text__image-container{width:55%;order:var(--hsElevate--imageAndText__order,0);margin-block-end:0}
  .hs-elevate-image-and-text__content-container{width:45%}
}

/* list container */
.hs-elevate-list-container{list-style:none;padding:0;margin:0}
.hs-elevate-list-container__item{color:var(--hsElevate--list__textColor);margin-bottom:12px}

/* social follow (inside page content) */
.hs-elevate-social-follow{display:flex;flex-wrap:wrap;gap:8px}
.hs-elevate-social-follow__link svg{width:16px;height:16px;fill:currentColor}

/* embeds */
.sh-video{position:relative;width:100%;aspect-ratio:16/9;background:#000}
.sh-video iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.embed_container,.iframe_wrapper{width:100%}
.sh-form,.sh-meet{max-width:100%}
.sh-share{display:flex;gap:24px;flex-wrap:wrap;align-items:center;justify-content:center}
.sh-share__link{display:inline-flex;align-items:center;justify-content:center;width:52px;height:52px;border-radius:50%;
  background:var(--hsElevate--button--primary__backgroundColor);color:var(--hsElevate--button--primary__textColor)}
.sh-share__link:hover{background:var(--hsElevate--button--primary__hover--backgroundColor)}
.sh-share__link svg{width:24px;height:24px;fill:currentColor}
/* the HubSpot themes paint body via [data-wp-mode]; keep the page white like the live site */
body[data-wp-mode]{background:var(--hsElevate--section--lightSection--1__backgroundColor)}
.sh-form{background:var(--hsElevate--form__backgroundColor,#fff);border:var(--hsElevate--form__borderThickness,1px) solid var(--hsElevate--form__borderColor,#C4D6ED);
  border-radius:var(--hsElevate--form__borderRadius,0);padding:var(--hsElevate--form__padding,24px);max-width:768px;margin-inline:auto}

/* ---------- web-parts tuned to the Elevate look ---------- */
/* logo-grid: the live site shows bare logos, 4-up, no tiles */
.sh-logos{--wp-lg-col:200px;--wp-lg-tile-bg:transparent;--wp-lg-tile-border:transparent;
  --wp-lg-radius:0;--wp-lg-pad:0;--wp-lg-tile-h:0;--wp-lg-logo-w:100%}
@media (min-width:768px){.sh-logos{grid-template-columns:repeat(var(--sh-cols,4),1fr)}}
.sh-logos+.sh-logos,.dnd-row+.dnd-row .sh-logos{margin-top:0}
.sh-logos .wp-logo-grid__tile:hover{box-shadow:none}
/* feed: Elevate blog-card look (square, pale card, tags) */
.sh-feed{--wp-fd-pad-y:0;--wp-fd-max:1296px;--wp-fd-radius:0;--wp-fd-bg:#EBF1F9;--wp-fd-border:#C4D6ED;--wp-fd-gap:32px;--wp-fd-pad:32px;
  --wp-fd-accent:var(--hsElevate--link--primary__fontColor);--wp-fd-ink:#0C1927;padding-inline:0}
.sh-feed .wp-feed__media{aspect-ratio:1.41}
.sh-feed .wp-feed__title{font-size:1.75rem;font-weight:500;line-height:1.2}
.sh-tags{display:flex;flex-wrap:wrap;gap:8px}
.sh-tag{display:inline-block;padding:2px 8px;font-size:.75rem;font-weight:600;background:#D2E2FB;color:#0F4490}
@media (min-width:1001px){.sh-feed .wp-feed__grid{grid-template-columns:repeat(3,1fr)}}
/* stat-band: Elevate metrics look (thin display numerals) */
.sh-stats{--wp-st-accent:var(--hsElevate--section--lightSection--2__accentColor);--wp-st-num-size:clamp(3.5rem,2rem + 4vw,5rem);
  --wp-st-border:transparent;--wp-st-max:1296px}
.sh-stats .wp-stat-band__num{font-weight:400;letter-spacing:0}
.sh-stats .wp-stat-band__label{font-weight:400;font-size:1rem}
.sh-reviews{--wp-re-pad-y:0;--wp-re-max:100%;padding-inline:0}

/* ---------- header ---------- */
.sh-skip{position:absolute;left:-999px;top:0;background:#fff;padding:8px 12px;z-index:100}
.sh-skip:focus{left:8px}
.sh-header{background:#fff;position:relative;z-index:20}
.sh-header__bar{max-width:1360px;margin:0 auto;padding:24px 32px;display:flex;align-items:center;gap:24px}
.sh-header__logo img{display:block;width:auto;height:75px}
.sh-nav{display:flex;align-items:center;flex:1;justify-content:space-between;gap:24px}
.sh-nav__list{display:flex;align-items:center;gap:8px;list-style:none;margin:0 auto;padding:0}
.sh-nav__item{position:relative}
.sh-nav__item>a,.sh-nav__toggle{display:inline-flex;align-items:center;gap:6px;padding:8px 20px;font:inherit;font-size:1.125rem;
  color:#09152B;background:none;border:0;cursor:pointer;text-decoration:none}
.sh-nav__item>a:hover,.sh-nav__toggle:hover{color:var(--hsElevate--link--primary__hover--fontColor);text-decoration:none}
.sh-nav__toggle svg{width:16px;height:16px}
.sh-nav__sub{display:none;position:absolute;top:100%;left:0;min-width:240px;list-style:none;margin:0;padding:8px 0;background:#fff;
  border:1px solid #C4D6ED;box-shadow:0 10px 24px rgba(12,25,39,.12);z-index:30}
.sh-nav__sub a{display:block;padding:10px 18px;color:var(--hsElevate--section--lightSection--1__textColor);font-size:1rem}
.sh-nav__sub a:hover{background:#EBF1F9;text-decoration:none}
.sh-nav__item--has-sub:hover .sh-nav__sub,.sh-nav__item--has-sub.is-open .sh-nav__sub{display:block}
.sh-header__cta{padding:16px 24px;line-height:1.55}
.sh-header__note{margin:0 0 32px;padding:0 32px;text-align:center}
.sh-burger{display:none;margin-left:auto;width:44px;height:44px;border:0;background:none;cursor:pointer;padding:10px}
.sh-burger span{display:block;height:2px;background:#0C1927;margin:5px 0}
@media (max-width:1000px){
  .sh-burger{display:block}
  .sh-nav{display:none;position:absolute;left:0;right:0;top:100%;flex-direction:column;align-items:stretch;background:#fff;
    padding:8px 16px 24px;border-top:1px solid #C4D6ED;box-shadow:0 12px 24px rgba(12,25,39,.12)}
  .sh-header.is-open .sh-nav{display:flex}
  .sh-nav__list{flex-direction:column;align-items:stretch;margin:0}
  .sh-nav__item>a,.sh-nav__toggle{width:100%;justify-content:space-between;padding:14px 4px}
  .sh-nav__sub{position:static;box-shadow:none;border:0;padding:0 0 0 12px}
  .sh-nav__item--has-sub:hover .sh-nav__sub{display:none}
  .sh-nav__item--has-sub.is-open .sh-nav__sub{display:block}
  .sh-header__bar{padding:12px 16px}
  .sh-header__logo img{height:44px}
}

/* ---------- footer ---------- */
.sh-footer{background:rgb(24,31,51);color:#EBF1F9;padding:64px 32px 32px}
.sh-footer a{color:var(--hsElevate--link--secondary__fontColor)}
.sh-footer a:hover{color:var(--hsElevate--link--secondary__hover--fontColor)}
.sh-footer__menus{max-width:1296px;margin:0 auto;display:flex;flex-wrap:wrap;justify-content:center;gap:16px 64px}
.sh-footer__col ul{list-style:none;margin:0;padding:0}
.sh-footer__col li a,.sh-footer__toplink{display:inline-block;padding:8px 0}
.sh-footer__head{margin:0;padding:8px 0;color:#2b3956;font-weight:400}
.sh-footer__contact{display:flex;justify-content:center;flex-wrap:wrap;gap:8px 24px;margin:80px 0 24px}
.sh-footer__social{display:flex;justify-content:center;gap:8px}
.sh-social{display:inline-flex;width:40px;height:40px;border:1.5px solid var(--hsElevate--link--secondary__fontColor);border-radius:50%;align-items:center;justify-content:center}
.sh-social svg{width:16px;height:16px;fill:var(--hsElevate--link--secondary__fontColor)}
.sh-footer__rule{border:0;border-top:1px solid rgba(48,63,89,1);margin:64px -10px 40px}
.sh-footer__legal{text-align:center}
.sh-footer__legal p{margin:0}

/* rose_creek: the live page is a lean landing with its own header + footer */
.sh-header--landing .sh-header__bar{padding:54px 32px 24px 120px;max-width:none}
.sh-header--landing .sh-header__logo img{height:75px}
.sh-header--landing .sh-nav{justify-content:flex-start}
.sh-header--landing .sh-nav__list{margin:0 0 0 72px}
.sh-footer--landing{background:#0C1927;padding:0;height:200px;display:flex;align-items:center;justify-content:center}
.sh-footer--landing p{margin:0}
@media (max-width:767px){
  .dnd-section{padding-inline:16px}
  .hs-elevate-display-1{font-size:3rem}
}
