/* Invictus Systems HubSpot (Elevate) theme settings */
: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: Roboto ;
  --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: #674EA7 ;
  --hsElevate--link--primary__textDecoration: none;
  --hsElevate--link--primary__textDecorationColor: transparent;
  --hsElevate--link--primary__hover--fontColor: #674EA7 ;
  --hsElevate--link--primary__hover--textDecoration: underline;
  --hsElevate--link--primary__hover--textDecorationColor: #674EA7 ;
  --hsElevate--link--secondary__fontColor: #B4A7D6 ;
  --hsElevate--link--secondary__textDecoration: none;
  --hsElevate--link--secondary__textDecorationColor: transparent;
  --hsElevate--link--secondary__hover--fontColor: #B4A7D6 ;
  --hsElevate--link--secondary__hover--textDecoration: underline;
  --hsElevate--link--secondary__hover--textDecorationColor: #B4A7D6 ;
  --hsElevate--heading__tablet-modifier: 0.8;
  --hsElevate--heading__lineHeight: 1.2;
  --hsElevate--display1__font: Roboto ;
  --hsElevate--display1__fontSize: 6.313rem;
  --hsElevate--display2__font: Roboto ;
  --hsElevate--display2__fontSize: 4.75rem;
  --hsElevate--h1__font: Roboto ;
  --hsElevate--h1__fontSize: 3.5625rem ;
  --hsElevate--h1__fontWeight: 500 ;
  --hsElevate--h1__fontStyle: normal ;
  --hsElevate--h2__font: Roboto ;
  --hsElevate--h2__fontSize: 2.6875rem ;
  --hsElevate--h2__fontWeight: 600 ;
  --hsElevate--h2__fontStyle: normal ;
  --hsElevate--h3__font: Roboto ;
  --hsElevate--h3__fontSize: 2.0rem ;
  --hsElevate--h3__fontWeight: 600 ;
  --hsElevate--h3__fontStyle: normal ;
  --hsElevate--h4__font: Roboto ;
  --hsElevate--h4__fontSize: 1.5rem ;
  --hsElevate--h4__fontWeight: 600 ;
  --hsElevate--h4__fontStyle: normal ;
  --hsElevate--h5__font: Roboto ;
  --hsElevate--h5__fontSize: 1.25rem ;
  --hsElevate--h5__fontWeight: 600 ;
  --hsElevate--h5__fontStyle: normal ;
  --hsElevate--h6__font: Roboto ;
  --hsElevate--h6__fontSize: 1.0rem ;
  --hsElevate--h6__fontWeight: 600 ;
  --hsElevate--h6__fontStyle: normal ;
  --hsElevate--quotes__font: Roboto ;
  --hsElevate--quotes__fontColor: ;
  --hsElevate--quotes__fontSize: 1.125rem ;
  --hsElevate--quotes__fontWeight: 400 ;
  --hsElevate--quotes__fontStyle: normal ;
  --hsElevate--captions__font: Roboto ;
  --hsElevate--captions__fontSize: 0.75rem ;
  --hsElevate--captions__fontWeight: 800 ;
  --hsElevate--captions__fontStyle: normal ;
  --hsElevate--captions__case: uppercase ;
  --hsElevate--rteImages__margin: 2rem;
  --hsElevate--color--base--1: #FFFFFF ;
  --hsElevate--color--base--2: #EEEEEE ;
  --hsElevate--color--base--3: #20124D ;
  --hsElevate--color--accent--1: #D9D2E9 ;
  --hsElevate--color--accent--2: #B4A7D6 ;
  --hsElevate--color--accent--3: #674EA7 ;
  --hsElevate--button--primary__buttonFill: filled ;
  --hsElevate--button--primary__font: Roboto ;
  --hsElevate--button--primary__fontSize: 1.0rem ;
  --hsElevate--button--primary__fontWeight: 500 ;
  --hsElevate--button--primary__fontStyle: normal ;
  --hsElevate--button--primary__textColor: #EEEEEE ;
  --hsElevate--button--primary__hover--textColor: #EEEEEE ;
  --hsElevate--button--primary__borderRadius: 50px;
  --hsElevate--button--primary__backgroundColor: #674EA7 ;
  --hsElevate--button--primary__hover--backgroundColor: #850d9d ;
  --hsElevate--button--primary__active--backgroundColor: #67007f ;
  --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: Roboto ;
  --hsElevate--button--secondary__fontSize: 1.0rem ;
  --hsElevate--button--secondary__fontWeight: 500 ;
  --hsElevate--button--secondary__fontStyle: normal ;
  --hsElevate--button--secondary__textColor: #674EA7 ;
  --hsElevate--button--secondary__hover--textColor: #6854E8 ;
  --hsElevate--button--secondary__borderRadius: 50px;
  --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: #674EA7 ;
  --hsElevate--button--secondary__hover--borderColor: #850d9d ;
  --hsElevate--button--tertiary__buttonFill: filled ;
  --hsElevate--button--tertiary__font: Roboto ;
  --hsElevate--button--tertiary__fontSize: 1.0rem ;
  --hsElevate--button--tertiary__fontWeight: 500 ;
  --hsElevate--button--tertiary__fontStyle: normal ;
  --hsElevate--button--tertiary__textColor: #20124D ;
  --hsElevate--button--tertiary__hover--textColor: #20124D ;
  --hsElevate--button--tertiary__borderRadius: 50px;
  --hsElevate--button--tertiary__backgroundColor: #B4A7D6 ;
  --hsElevate--button--tertiary__hover--backgroundColor: #E9FFFB ;
  --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: Roboto ;
  --hsElevate--button--accent__fontSize: 1.0rem ;
  --hsElevate--button--accent__fontWeight: 500 ;
  --hsElevate--button--accent__fontStyle: normal ;
  --hsElevate--button--accent__textColor: #B4A7D6 ;
  --hsElevate--button--accent__hover--textColor: #E9FFFB ;
  --hsElevate--button--accent__borderRadius: 50px;
  --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: #B4A7D6 ;
  --hsElevate--button--accent__hover--borderColor: #E9FFFB ;
  --hsElevate--formField__backgroundColor: #EEEEEE ;
  --hsElevate--formField__borderRadius: 50px;
  --hsElevate--formField__borderThickness: 1px ;
  --hsElevate--formField__borderTop: 1px solid #D3DAE4 ;
  --hsElevate--formField__borderRight: 1px solid #D3DAE4 ;
  --hsElevate--formField__borderLeft: 1px solid #D3DAE4 ;
  --hsElevate--formField__borderBottom: 1px solid #D3DAE4 ;
  --hsElevate--formField__borderColor: #D3DAE4 ;
  --hsElevate--formFieldInput__textColor: #20124D ;
  --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: #7d8ca5 ;
  --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: #20124D ;
  --hsElevate--formLabel__font: Roboto ;
  --hsElevate--formLabel__fontSize: 1.125rem ;
  --hsElevate--formLabel__fontWeight: 500 ;
  --hsElevate--formLabel__marginBottom: var(--hsElevate--spacing--8);
  --hsElevate--formHelpText__textColor: #647390;
  --hsElevate--form__backgroundColor: #F5F5F5 ;
  --hsElevate--form__borderRadius: 24px;
  --hsElevate--form__borderThickness: 1px ;
  --hsElevate--form__borderColor: #D3DAE4 ;
  --hsElevate--form__padding: var(--hsElevate--spacing--48);
  --hsElevate--card--variant1__borderRadius: 16px;
  --hsElevate--card--variant1__iconBorderRadius: 12px;
  --hsElevate--card--variant1__borderThickness: 1px ;
  --hsElevate--card--variant1__backgroundColor: transparent;
  --hsElevate--card--variant1__borderColor: #D3DAE4 ;
  --hsElevate--card--variant1__textColor: #20124D ;
  --hsElevate--card--variant1--link__fontColor: #674EA7 ;
  --hsElevate--card--variant1--link__textDecoration: none;
  --hsElevate--card--variant1--link__textDecorationColor: transparent;
  --hsElevate--card--variant1--link__hover--fontColor: #674EA7 ;
  --hsElevate--card--variant1--link__hover--textDecoration: underline;
  --hsElevate--card--variant1--link__hover--textDecorationColor: #674EA7 ;
  --hsElevate--card--variant1__iconColor: #674EA7 ;
  --hsElevate--card--variant1__iconBackgroundColor: #B4A7D6 ;
  --hsElevate--card--variant2__borderRadius: 16px;
  --hsElevate--card--variant2__iconBorderRadius: 12px;
  --hsElevate--card--variant2__borderThickness: 1px ;
  --hsElevate--card--variant2__backgroundColor: #EEEEEE ;
  --hsElevate--card--variant2__borderColor: #D3DAE4 ;
  --hsElevate--card--variant2__textColor: #20124D ;
  --hsElevate--card--variant2--link__fontColor: #674EA7 ;
  --hsElevate--card--variant2--link__textDecoration: none;
  --hsElevate--card--variant2--link__textDecorationColor: transparent;
  --hsElevate--card--variant2--link__hover--fontColor: #674EA7 ;
  --hsElevate--card--variant2--link__hover--textDecoration: underline;
  --hsElevate--card--variant2--link__hover--textDecorationColor: #674EA7 ;
  --hsElevate--card--variant2__iconColor: #674EA7 ;
  --hsElevate--card--variant2__iconBackgroundColor: #D3DAE4 ;
  --hsElevate--card--variant3__borderRadius: 16px;
  --hsElevate--card--variant3__iconBorderRadius: 12px;
  --hsElevate--card--variant3__borderThickness: 1px ;
  --hsElevate--card--variant3__backgroundColor: #20124D ;
  --hsElevate--card--variant3__borderColor: #303F59 ;
  --hsElevate--card--variant3__textColor: #EEEEEE ;
  --hsElevate--card--variant3--link__fontColor: #B4A7D6 ;
  --hsElevate--card--variant3--link__textDecoration: none;
  --hsElevate--card--variant3--link__textDecorationColor: transparent;
  --hsElevate--card--variant3--link__hover--fontColor: #B4A7D6 ;
  --hsElevate--card--variant3--link__hover--textDecoration: underline;
  --hsElevate--card--variant3--link__hover--textDecorationColor: #B4A7D6 ;
  --hsElevate--card--variant3__iconColor: #B4A7D6 ;
  --hsElevate--card--variant3__iconBackgroundColor: #303F59 ;
  --hsElevate--card--variant4__borderRadius: 16px;
  --hsElevate--card--variant4__iconBorderRadius: 12px;
  --hsElevate--card--variant4__borderThickness: 1px ;
  --hsElevate--card--variant4__backgroundColor: #18233B ;
  --hsElevate--card--variant4__borderColor: #303F59 ;
  --hsElevate--card--variant4__textColor: #EEEEEE ;
  --hsElevate--card--variant4--link__fontColor: #B4A7D6 ;
  --hsElevate--card--variant4--link__textDecoration: none;
  --hsElevate--card--variant4--link__textDecorationColor: transparent;
  --hsElevate--card--variant4--link__hover--fontColor: #B4A7D6 ;
  --hsElevate--card--variant4--link__hover--textDecoration: underline;
  --hsElevate--card--variant4--link__hover--textDecorationColor: #B4A7D6 ;
  --hsElevate--card--variant4__iconColor: #B4A7D6 ;
  --hsElevate--card--variant4__iconBackgroundColor: #303F59 ;
  --hsElevate--section--lightSection--1__backgroundColor: #FFFFFF ;
  --hsElevate--section--lightSection--1__textColor: #20124D ;
  --hsElevate--section--lightSection--1__accentColor: #674EA7 ;
  --hsElevate--section--lightSection--1__captionColor: #647390 ;
  --hsElevate--section--lightSection--1--blockquote__textColor: #20124D ;
  --hsElevate--section--lightSection--1--blockquote__backgroundColor: #EEEEEE ;
  --hsElevate--section--lightSection--1--blockquote__accentColor: #674EA7 ;
  --hsElevate--section--lightSection--1--link__fontColor: #674EA7 ;
  --hsElevate--section--lightSection--1--link__textDecoration: none;
  --hsElevate--section--lightSection--1--link__textDecorationColor: transparent;
  --hsElevate--section--lightSection--1--link__hover--fontColor: #674EA7 ;
  --hsElevate--section--lightSection--1--link__hover--textDecoration: underline;
  --hsElevate--section--lightSection--1--link__hover--textDecorationColor: #674EA7 ;
  --hsElevate--section--lightSection--2__backgroundColor: #EEEEEE ;
  --hsElevate--section--lightSection--2__textColor: #20124D ;
  --hsElevate--section--lightSection--2__accentColor: #674EA7 ;
  --hsElevate--section--lightSection--2__captionColor: #647390 ;
  --hsElevate--section--lightSection--2--blockquote__textColor: #20124D ;
  --hsElevate--section--lightSection--2--blockquote__backgroundColor: #EEEEEE ;
  --hsElevate--section--lightSection--2--blockquote__accentColor: #674EA7 ;
  --hsElevate--section--lightSection--2--link__fontColor: #674EA7 ;
  --hsElevate--section--lightSection--2--link__textDecoration: none;
  --hsElevate--section--lightSection--2--link__textDecorationColor: transparent;
  --hsElevate--section--lightSection--2--link__hover--fontColor: #674EA7 ;
  --hsElevate--section--lightSection--2--link__hover--textDecoration: underline;
  --hsElevate--section--lightSection--2--link__hover--textDecorationColor: #674EA7 ;
  --hsElevate--section--lightSection--3__backgroundColor: #D9D2E9 ;
  --hsElevate--section--lightSection--3__textColor: #20124D ;
  --hsElevate--section--lightSection--3__accentColor: #674EA7 ;
  --hsElevate--section--lightSection--3__captionColor: #4D6080 ;
  --hsElevate--section--lightSection--3--blockquote__textColor: #20124D ;
  --hsElevate--section--lightSection--3--blockquote__backgroundColor: #D9D2E9 ;
  --hsElevate--section--lightSection--3--blockquote__accentColor: #674EA7 ;
  --hsElevate--section--lightSection--3--link__fontColor: #674EA7 ;
  --hsElevate--section--lightSection--3--link__textDecoration: none;
  --hsElevate--section--lightSection--3--link__textDecorationColor: transparent;
  --hsElevate--section--lightSection--3--link__hover--fontColor: #674EA7 ;
  --hsElevate--section--lightSection--3--link__hover--textDecoration: underline;
  --hsElevate--section--lightSection--3--link__hover--textDecorationColor: #674EA7 ;
  --hsElevate--section--darkSection--1__backgroundColor: #20124D ;
  --hsElevate--section--darkSection--1__textColor: #EEEEEE ;
  --hsElevate--section--darkSection--1__accentColor: #B4A7D6 ;
  --hsElevate--section--darkSection--1__captionColor: #7D8CA5 ;
  --hsElevate--section--darkSection--1--blockquote__textColor: #EEEEEE ;
  --hsElevate--section--darkSection--1--blockquote__backgroundColor: #18233B ;
  --hsElevate--section--darkSection--1--blockquote__accentColor: #B4A7D6 ;
  --hsElevate--section--darkSection--1--link__fontColor: #B4A7D6 ;
  --hsElevate--section--darkSection--1--link__textDecoration: none;
  --hsElevate--section--darkSection--1--link__textDecorationColor: transparent;
  --hsElevate--section--darkSection--1--link__hover--fontColor: #B4A7D6 ;
  --hsElevate--section--darkSection--1--link__hover--textDecoration: underline;
  --hsElevate--section--darkSection--1--link__hover--textDecorationColor: #B4A7D6 ;
  --hsElevate--tag__font: Roboto ;
  --hsElevate--tag__fontColor: ;
  --hsElevate--tag__fontSize: 0.875rem ;
  --hsElevate--tag__fontWeight: 500 ;
  --hsElevate--tag__fontStyle: normal ;
  --hsElevate--tag__textColor: #063E95 ;
  --hsElevate--tag__backgroundColor: #E5F0FF ;
  --hsElevate--tag__borderRadius: 50px;
  --hsElevate--tag__borderThickness: 1px ;
  --hsElevate--tag__borderColor: #E5F0FF ;
  --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 | corvell
                    (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; } }

/* Corvell — gold from the brand pack (brand.2057hldgs.com/corvell). The pure
   brand gold #c9a77c is only ~2.2:1 on white, so light mode uses a deeper gold
   that clears 4.5:1 on every light surface; dark mode uses the brand gold itself. */
[data-wp-theme="corvell"]{ --wp-accent:#806236; --wp-accent-strong:#6e5432; }
[data-wp-theme="corvell"][data-wp-mode="dark"]{ --wp-accent:#c9a77c; --wp-accent-strong:#806236; }
@media (prefers-color-scheme: dark){ [data-wp-theme="corvell"][data-wp-mode="auto"]{ --wp-accent:#c9a77c; --wp-accent-strong:#806236; } }

/* Invictus Systems (invictussystems.llc) */
[data-wp-theme="invictus"]{ --wp-accent:#674ea7; --wp-accent-strong:#20124d; }
[data-wp-theme="invictus"][data-wp-mode="dark"]{ --wp-accent:#b9a2f0; --wp-accent-strong:#674ea7; }
@media (prefers-color-scheme: dark){ [data-wp-theme="invictus"][data-wp-mode="auto"]{ --wp-accent:#b9a2f0; --wp-accent-strong:#674ea7; } }

/* 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;
  }
}

/* ---- 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}
}

/* ---- invictus-v2 brand overrides (appended after apps/safire-homes-v2/src/site.css) ----
   Invictus theme colours from the HubSpot Elevate settings: primary #674EA7, dark #20124D. */
:root{--iv-accent:#674ea7;--iv-dark:#20124d;--iv-line:#d9d2ea;--iv-tint:#f1edf8}
body{font-family:var(--hsElevate--body__fontFamily,'Roboto'),Roboto,system-ui,sans-serif}
table td,table th{border-color:var(--iv-line)}
hr{border-top-color:var(--iv-line)}

.iv-topbar{background:var(--iv-dark);color:#fff;text-align:center;font-size:.95rem;padding:8px 16px}
.iv-topbar p{margin:0}
.iv-topbar a{color:#fff;text-decoration:underline}

.sh-header__logo img{height:64px;max-width:min(320px,60vw);object-fit:contain}
.sh-nav__item>a{color:var(--iv-dark)}
.sh-nav__item>a[aria-current="page"]{color:var(--iv-accent)}
.sh-nav__sub,.sh-nav__sub a:hover{border-color:var(--iv-line);background:var(--iv-tint)}
.sh-burger span{background:var(--iv-dark)}
.sh-header--landing .sh-header__bar{padding:32px;max-width:1360px;margin:0 auto}

.sh-footer{background:var(--iv-dark);color:#fff}
.sh-footer a{color:#fff}
.sh-footer a:hover{color:#d9cdf5}
.sh-footer__head{color:#b9a8e6}
.sh-footer__rule{border-top-color:rgba(255,255,255,.18)}
.sh-footer--landing{background:var(--iv-dark);height:auto;padding:40px 16px}

.sh-form{border-color:var(--iv-line)}

/* Upgrade carousels (HubSpot Splide module) render as a static grid: no carousel script */
.splide{visibility:visible!important}
.splide__track{overflow:visible}
.splide__list{display:grid!important;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:24px;list-style:none;margin:0;padding:0;transform:none!important}
.splide__slide{width:auto!important;margin:0!important}
.splide__arrows,.splide__pagination,.splide__toggle{display:none!important}

/* Elevate icon list (module CSS was HubSpot-hosted) */
.hs-elevate-list-container{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px}
.hs-elevate-list-container__item{display:flex;gap:10px;align-items:flex-start;color:var(--hsElevate--list__textColor,inherit)}
.hs-elevate-list-container__icon-container{flex:0 0 20px;width:20px;height:20px;margin-top:3px;border-radius:50%;
  background:var(--hsElevate--list__accentColor,var(--iv-accent));display:inline-flex;align-items:center;justify-content:center}
.hs-elevate-list-container__icon{width:11px;height:11px;fill:var(--hsElevate--list__sectionBackgroundColor,#fff)}

/* HubSpot TestimonialSlider (client-only island) rendered static by port.py */
.iv-quote{max-width:880px;margin:0 auto;padding:48px 16px;text-align:center;display:flex;flex-direction:column;align-items:center;gap:24px}
.iv-quote blockquote{margin:0;font-size:1.6rem;line-height:1.4;font-weight:500;color:var(--iv-dark);border:0;padding:0;background:none}
.iv-quote figcaption{display:flex;align-items:center;gap:16px;text-align:left;font-size:.95rem}
.iv-quote figcaption img{width:56px;height:56px;border-radius:50%;object-fit:cover}
.iv-quote__link{font-size:.95rem}

@media (max-width:767px){
  .iv-quote blockquote{font-size:1.25rem}
  .sh-header__logo img{height:48px}
}
