/* Safire Solutions HubSpot (Elevate) theme settings — used by the event landing pages */
: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: Inter ;
  --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: #4F38E0 ;
  --hsElevate--link--primary__textDecoration: none;
  --hsElevate--link--primary__textDecorationColor: transparent;
  --hsElevate--link--primary__hover--fontColor: #4F38E0 ;
  --hsElevate--link--primary__hover--textDecoration: underline;
  --hsElevate--link--primary__hover--textDecorationColor: #4F38E0 ;
  --hsElevate--link--secondary__fontColor: #D2CAFF ;
  --hsElevate--link--secondary__textDecoration: none;
  --hsElevate--link--secondary__textDecorationColor: transparent;
  --hsElevate--link--secondary__hover--fontColor: #D2CAFF ;
  --hsElevate--link--secondary__hover--textDecoration: underline;
  --hsElevate--link--secondary__hover--textDecorationColor: #D2CAFF ;
  --hsElevate--heading__tablet-modifier: 0.8;
  --hsElevate--heading__lineHeight: 1.2;
  --hsElevate--display1__font: Inter ;
  --hsElevate--display1__fontSize: 6.313rem;
  --hsElevate--display2__font: Inter ;
  --hsElevate--display2__fontSize: 4.75rem;
  --hsElevate--h1__font: Inter ;
  --hsElevate--h1__fontSize: 3.5625rem ;
  --hsElevate--h1__fontWeight: 500 ;
  --hsElevate--h1__fontStyle: normal ;
  --hsElevate--h2__font: Inter ;
  --hsElevate--h2__fontSize: 2.6875rem ;
  --hsElevate--h2__fontWeight: 600 ;
  --hsElevate--h2__fontStyle: normal ;
  --hsElevate--h3__font: Inter ;
  --hsElevate--h3__fontSize: 2.0rem ;
  --hsElevate--h3__fontWeight: 600 ;
  --hsElevate--h3__fontStyle: normal ;
  --hsElevate--h4__font: Inter ;
  --hsElevate--h4__fontSize: 1.5rem ;
  --hsElevate--h4__fontWeight: 600 ;
  --hsElevate--h4__fontStyle: normal ;
  --hsElevate--h5__font: Inter ;
  --hsElevate--h5__fontSize: 1.25rem ;
  --hsElevate--h5__fontWeight: 600 ;
  --hsElevate--h5__fontStyle: normal ;
  --hsElevate--h6__font: Inter ;
  --hsElevate--h6__fontSize: 1.0rem ;
  --hsElevate--h6__fontWeight: 600 ;
  --hsElevate--h6__fontStyle: normal ;
  --hsElevate--quotes__font: Inter ;
  --hsElevate--quotes__fontColor: ;
  --hsElevate--quotes__fontSize: 1.125rem ;
  --hsElevate--quotes__fontWeight: 400 ;
  --hsElevate--quotes__fontStyle: normal ;
  --hsElevate--captions__font: Inter ;
  --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: #F7F9FC ;
  --hsElevate--color--base--3: #09152B ;
  --hsElevate--color--accent--1: #F4F2FF ;
  --hsElevate--color--accent--2: #D2CAFF ;
  --hsElevate--color--accent--3: #4F38E0 ;
  --hsElevate--button--primary__buttonFill: filled ;
  --hsElevate--button--primary__font: Inter ;
  --hsElevate--button--primary__fontSize: 1.0rem ;
  --hsElevate--button--primary__fontWeight: 500 ;
  --hsElevate--button--primary__fontStyle: normal ;
  --hsElevate--button--primary__textColor: #F7F9FC ;
  --hsElevate--button--primary__hover--textColor: #F7F9FC ;
  --hsElevate--button--primary__borderRadius: 50px;
  --hsElevate--button--primary__backgroundColor: #4F38E0 ;
  --hsElevate--button--primary__hover--backgroundColor: #6854E8 ;
  --hsElevate--button--primary__active--backgroundColor: #4a36ca ;
  --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: Inter ;
  --hsElevate--button--secondary__fontSize: 1.0rem ;
  --hsElevate--button--secondary__fontWeight: 500 ;
  --hsElevate--button--secondary__fontStyle: normal ;
  --hsElevate--button--secondary__textColor: #4F38E0 ;
  --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: #4F38E0 ;
  --hsElevate--button--secondary__hover--borderColor: #6854E8 ;
  --hsElevate--button--tertiary__buttonFill: filled ;
  --hsElevate--button--tertiary__font: Inter ;
  --hsElevate--button--tertiary__fontSize: 1.0rem ;
  --hsElevate--button--tertiary__fontWeight: 500 ;
  --hsElevate--button--tertiary__fontStyle: normal ;
  --hsElevate--button--tertiary__textColor: #09152B ;
  --hsElevate--button--tertiary__hover--textColor: #09152B ;
  --hsElevate--button--tertiary__borderRadius: 50px;
  --hsElevate--button--tertiary__backgroundColor: #D2CAFF ;
  --hsElevate--button--tertiary__hover--backgroundColor: #E9E5FF ;
  --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: Inter ;
  --hsElevate--button--accent__fontSize: 1.0rem ;
  --hsElevate--button--accent__fontWeight: 500 ;
  --hsElevate--button--accent__fontStyle: normal ;
  --hsElevate--button--accent__textColor: #D2CAFF ;
  --hsElevate--button--accent__hover--textColor: #E9E5FF ;
  --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: #D2CAFF ;
  --hsElevate--button--accent__hover--borderColor: #E9E5FF ;
  --hsElevate--formField__backgroundColor: #F7F9FC ;
  --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: #09152B ;
  --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: #09152B ;
  --hsElevate--formLabel__font: Inter ;
  --hsElevate--formLabel__fontSize: 1.125rem ;
  --hsElevate--formLabel__fontWeight: 500 ;
  --hsElevate--formLabel__marginBottom: var(--hsElevate--spacing--8);
  --hsElevate--formHelpText__textColor: #647390;
  --hsElevate--form__backgroundColor: #FFFFFF ;
  --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: #FFFFFF ;
  --hsElevate--card--variant1__borderColor: #D3DAE4 ;
  --hsElevate--card--variant1__textColor: #09152B ;
  --hsElevate--card--variant1--link__fontColor: #4F38E0 ;
  --hsElevate--card--variant1--link__textDecoration: none;
  --hsElevate--card--variant1--link__textDecorationColor: transparent;
  --hsElevate--card--variant1--link__hover--fontColor: #4F38E0 ;
  --hsElevate--card--variant1--link__hover--textDecoration: underline;
  --hsElevate--card--variant1--link__hover--textDecorationColor: #4F38E0 ;
  --hsElevate--card--variant1__iconColor: #4F38E0 ;
  --hsElevate--card--variant1__iconBackgroundColor: #D2CAFF ;
  --hsElevate--card--variant2__borderRadius: 16px;
  --hsElevate--card--variant2__iconBorderRadius: 12px;
  --hsElevate--card--variant2__borderThickness: 1px ;
  --hsElevate--card--variant2__backgroundColor: #F7F9FC ;
  --hsElevate--card--variant2__borderColor: #D3DAE4 ;
  --hsElevate--card--variant2__textColor: #09152B ;
  --hsElevate--card--variant2--link__fontColor: #4F38E0 ;
  --hsElevate--card--variant2--link__textDecoration: none;
  --hsElevate--card--variant2--link__textDecorationColor: transparent;
  --hsElevate--card--variant2--link__hover--fontColor: #4F38E0 ;
  --hsElevate--card--variant2--link__hover--textDecoration: underline;
  --hsElevate--card--variant2--link__hover--textDecorationColor: #4F38E0 ;
  --hsElevate--card--variant2__iconColor: #4F38E0 ;
  --hsElevate--card--variant2__iconBackgroundColor: #D3DAE4 ;
  --hsElevate--card--variant3__borderRadius: 16px;
  --hsElevate--card--variant3__iconBorderRadius: 12px;
  --hsElevate--card--variant3__borderThickness: 1px ;
  --hsElevate--card--variant3__backgroundColor: #09152B ;
  --hsElevate--card--variant3__borderColor: #303F59 ;
  --hsElevate--card--variant3__textColor: #F7F9FC ;
  --hsElevate--card--variant3--link__fontColor: #D2CAFF ;
  --hsElevate--card--variant3--link__textDecoration: none;
  --hsElevate--card--variant3--link__textDecorationColor: transparent;
  --hsElevate--card--variant3--link__hover--fontColor: #D2CAFF ;
  --hsElevate--card--variant3--link__hover--textDecoration: underline;
  --hsElevate--card--variant3--link__hover--textDecorationColor: #D2CAFF ;
  --hsElevate--card--variant3__iconColor: #D2CAFF ;
  --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: #F7F9FC ;
  --hsElevate--card--variant4--link__fontColor: #D2CAFF ;
  --hsElevate--card--variant4--link__textDecoration: none;
  --hsElevate--card--variant4--link__textDecorationColor: transparent;
  --hsElevate--card--variant4--link__hover--fontColor: #D2CAFF ;
  --hsElevate--card--variant4--link__hover--textDecoration: underline;
  --hsElevate--card--variant4--link__hover--textDecorationColor: #D2CAFF ;
  --hsElevate--card--variant4__iconColor: #D2CAFF ;
  --hsElevate--card--variant4__iconBackgroundColor: #303F59 ;
  --hsElevate--section--lightSection--1__backgroundColor: #FFFFFF ;
  --hsElevate--section--lightSection--1__textColor: #09152B ;
  --hsElevate--section--lightSection--1__accentColor: #4F38E0 ;
  --hsElevate--section--lightSection--1__captionColor: #647390 ;
  --hsElevate--section--lightSection--1--blockquote__textColor: #09152B ;
  --hsElevate--section--lightSection--1--blockquote__backgroundColor: #F7F9FC ;
  --hsElevate--section--lightSection--1--blockquote__accentColor: #4F38E0 ;
  --hsElevate--section--lightSection--1--link__fontColor: #4F38E0 ;
  --hsElevate--section--lightSection--1--link__textDecoration: none;
  --hsElevate--section--lightSection--1--link__textDecorationColor: transparent;
  --hsElevate--section--lightSection--1--link__hover--fontColor: #4F38E0 ;
  --hsElevate--section--lightSection--1--link__hover--textDecoration: underline;
  --hsElevate--section--lightSection--1--link__hover--textDecorationColor: #4F38E0 ;
  --hsElevate--section--lightSection--2__backgroundColor: #F7F9FC ;
  --hsElevate--section--lightSection--2__textColor: #09152B ;
  --hsElevate--section--lightSection--2__accentColor: #4F38E0 ;
  --hsElevate--section--lightSection--2__captionColor: #647390 ;
  --hsElevate--section--lightSection--2--blockquote__textColor: #09152B ;
  --hsElevate--section--lightSection--2--blockquote__backgroundColor: #F7F9FC ;
  --hsElevate--section--lightSection--2--blockquote__accentColor: #4F38E0 ;
  --hsElevate--section--lightSection--2--link__fontColor: #4F38E0 ;
  --hsElevate--section--lightSection--2--link__textDecoration: none;
  --hsElevate--section--lightSection--2--link__textDecorationColor: transparent;
  --hsElevate--section--lightSection--2--link__hover--fontColor: #4F38E0 ;
  --hsElevate--section--lightSection--2--link__hover--textDecoration: underline;
  --hsElevate--section--lightSection--2--link__hover--textDecorationColor: #4F38E0 ;
  --hsElevate--section--lightSection--3__backgroundColor: #F4F2FF ;
  --hsElevate--section--lightSection--3__textColor: #09152B ;
  --hsElevate--section--lightSection--3__accentColor: #4F38E0 ;
  --hsElevate--section--lightSection--3__captionColor: #4D6080 ;
  --hsElevate--section--lightSection--3--blockquote__textColor: #09152B ;
  --hsElevate--section--lightSection--3--blockquote__backgroundColor: #F4F2FF ;
  --hsElevate--section--lightSection--3--blockquote__accentColor: #4F38E0 ;
  --hsElevate--section--lightSection--3--link__fontColor: #4F38E0 ;
  --hsElevate--section--lightSection--3--link__textDecoration: none;
  --hsElevate--section--lightSection--3--link__textDecorationColor: transparent;
  --hsElevate--section--lightSection--3--link__hover--fontColor: #4F38E0 ;
  --hsElevate--section--lightSection--3--link__hover--textDecoration: underline;
  --hsElevate--section--lightSection--3--link__hover--textDecorationColor: #4F38E0 ;
  --hsElevate--section--darkSection--1__backgroundColor: #09152B ;
  --hsElevate--section--darkSection--1__textColor: #F7F9FC ;
  --hsElevate--section--darkSection--1__accentColor: #D2CAFF ;
  --hsElevate--section--darkSection--1__captionColor: #7D8CA5 ;
  --hsElevate--section--darkSection--1--blockquote__textColor: #F7F9FC ;
  --hsElevate--section--darkSection--1--blockquote__backgroundColor: #18233B ;
  --hsElevate--section--darkSection--1--blockquote__accentColor: #D2CAFF ;
  --hsElevate--section--darkSection--1--link__fontColor: #D2CAFF ;
  --hsElevate--section--darkSection--1--link__textDecoration: none;
  --hsElevate--section--darkSection--1--link__textDecorationColor: transparent;
  --hsElevate--section--darkSection--1--link__hover--fontColor: #D2CAFF ;
  --hsElevate--section--darkSection--1--link__hover--textDecoration: underline;
  --hsElevate--section--darkSection--1--link__hover--textDecorationColor: #D2CAFF ;
  --hsElevate--tag__font: Inter ;
  --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   (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/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; }
}

/* ---- site ---- */
/* ==========================================================================
   safire.solutions v2 — site stylesheet (hand-written; no HubSpot code)
   1. Elevate base (shared with safire.llc v2) for the two HubSpot event pages,
      reading the --hsElevate-* tokens in tokens.css.
   2. The hand-built safire.solutions styles (header, hero, intro, divisions,
      footer, legal pages), with their resets scoped to .sh-live / .site-head /
      .site-foot so they do not touch the Elevate content.
   3. web-parts/feed tuned to look like the live blog cards.
   ========================================================================== */
*,*::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}

/* ==================== hand-built safire.solutions ==================== */
:root{
  --ink:#09152B;            /* Ink Navy — text + footer */
  --ink-2:#0d1c38;
  --accent:#4F38E0;         /* Elevate purple — social pills / UI accent */
  --sapphire:#1860C0;
  --pill-bg:#e8f0fe;        /* light-blue category pill */
  --pill-tx:#1c4fb3;
  --line:#e7eaf0;
  --muted:#5a6473;
}
.sh-live *,.site-head *,.site-foot *{margin:0;padding:0}
/* headings inherit the page line-height on the hand-built pages (the Elevate base sets its own) */
.sh-live :is(h1,h2,h3,h4,h5,h6){line-height:inherit;font-weight:700}
.sh-live,.site-head,.site-foot{font-family:'Inter',system-ui,-apple-system,sans-serif;color:var(--ink);line-height:1.6;font-size:16px;-webkit-font-smoothing:antialiased}
.sh-live img,.site-head img,.site-foot img{max-width:100%;display:block}
.sh-live a,.site-head a,.site-foot a{color:inherit;text-decoration:none}
.wrap{max-width:1200px;margin:0 auto;padding:0 28px}

/* ---------- Header ---------- */
.site-head{position:sticky;top:0;z-index:50;background:#fff;border-bottom:1px solid var(--line)}
.head-inner{display:flex;align-items:center;gap:32px;height:118px}
.brand img{height:88px;width:auto}
.nav{display:flex;align-items:center;gap:56px;margin-left:auto;margin-right:auto}
.nav a{font-size:22px;font-weight:500;color:var(--ink);white-space:nowrap}
.nav a:hover{color:var(--sapphire)}
.head-spacer{width:88px}
@media(max-width:820px){
  .head-inner{height:84px;gap:14px}
  .brand img{height:58px}
  .nav{gap:20px}
  .nav a{font-size:15px}
  .head-spacer{display:none}
}

/* ---------- Hero ---------- */
.hero{
  position:relative;
  background:linear-gradient(90deg,rgba(6,20,48,.55),rgba(6,20,48,.15)),
             var(--hero-img) center/cover no-repeat;
  min-height:250px;display:flex;align-items:center;
}
.hero h1{color:#fff;font-weight:800;font-size:clamp(38px,6.4vw,76px);line-height:1.03;letter-spacing:-.01em;max-width:1000px;text-shadow:0 2px 18px rgba(0,10,30,.35)}
.hero .wrap{padding-top:34px;padding-bottom:34px}

/* ---------- Intro ---------- */
.intro{padding:88px 0 40px}
.intro-grid{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:center}
.intro-logo{display:flex;justify-content:center}
.intro-logo img{max-width:460px;width:100%}
.intro h2{font-size:clamp(34px,4.4vw,52px);font-weight:800;letter-spacing:-.01em;margin-bottom:22px}
.intro p{font-size:19px;color:var(--ink);margin-bottom:20px}
@media(max-width:860px){.intro-grid{grid-template-columns:1fr;gap:32px}.intro{padding:52px 0 28px}.intro-logo{order:-1}}

/* ---------- Divisions ---------- */
.divisions{padding:36px 0 72px}
.div-grid{display:grid;grid-template-columns:1fr 1fr;gap:56px}
.div-card-img{border-radius:14px;overflow:hidden;box-shadow:0 10px 34px rgba(9,21,43,.10);margin-bottom:26px;aspect-ratio:1000/548;background:#0d1c38}
.div-card-img img{width:100%;height:100%;object-fit:cover}
.div-col{display:flex;flex-direction:column}
.div-col p{font-size:18px;color:var(--ink);margin-bottom:26px;flex:1 0 auto}
.socials{display:flex;gap:16px;flex-wrap:wrap;margin-top:auto}
.socials a{width:56px;height:56px;border-radius:50%;background:var(--accent);display:flex;align-items:center;justify-content:center;transition:transform .15s,background .15s}
.socials a:hover{transform:translateY(-2px);background:#3d29c2}
.socials svg{width:26px;height:26px;fill:#fff}
@media(max-width:860px){.div-grid{grid-template-columns:1fr;gap:44px}}

/* ---------- Blog (web-parts/feed, styled like the live cards) ---------- */
.blog{padding:24px 0 84px}
/* ---------- Footer ---------- */
.site-foot{background:var(--ink);color:#dfe6f5;padding:70px 0 44px}
.foot-nav{display:flex;justify-content:center;gap:64px;margin-bottom:40px;flex-wrap:wrap}
.foot-nav a{font-size:19px;color:#dfe6f5}
.foot-nav a:hover{color:#fff}
.foot-rule{height:1px;background:rgba(255,255,255,.14);max-width:1140px;margin:0 auto 26px}
.foot-legal{text-align:center;color:#aab6d4;font-size:16px}
.foot-legal a{color:#aab6d4}.foot-legal a:hover{color:#fff}

/* ---------- Legal / prose pages ---------- */
.legal-hero{background:var(--ink);color:#fff;padding:56px 0 44px}
.legal-hero h1{font-size:clamp(30px,4.4vw,48px);font-weight:800;letter-spacing:-.01em}
.legal-hero p{color:#aab6d4;margin-top:10px;font-size:16px}
.prose{padding:52px 0 80px;max-width:900px}
.prose h2{font-size:26px;font-weight:800;margin:34px 0 12px;letter-spacing:-.01em}
.prose h3{font-size:20px;font-weight:700;margin:26px 0 10px}
.prose p{margin:0 0 16px;color:#26324a}
.prose ul,.prose ol{margin:0 0 18px 24px}.prose li{margin:6px 0;color:#26324a}
.prose a{color:var(--sapphire);text-decoration:underline}
/* standardized footer NAP */
.foot-nap{display:flex;justify-content:center;gap:10px 34px;flex-wrap:wrap;color:#c8d2e0;font-size:15px;margin-bottom:18px}
.foot-nap a{color:#c8d2e0}.foot-nap a:hover{color:#fff}

/* ---------- web-parts/feed tuned to the live Safire Solutions cards ---------- */
.sh-feed{--wp-fd-pad-y:0;--wp-fd-max:100%;--wp-fd-radius:16px;--wp-fd-bg:#fff;--wp-fd-border:var(--line);--wp-fd-gap:34px;
  --wp-fd-pad:24px;--wp-fd-accent:var(--sapphire);--wp-fd-ink:var(--ink);padding-inline:0}
.sh-feed .wp-feed__card{transition:box-shadow .18s,transform .18s;position:relative}
.sh-feed .wp-feed__card:hover{box-shadow:0 16px 40px rgba(9,21,43,.12);transform:translateY(-3px)}
.sh-feed .wp-feed__media{aspect-ratio:16/10;background:#e9eef6}
.sh-feed .wp-feed__media img{width:100%;height:100%;object-fit:cover}
.sh-feed .wp-feed__body{padding:24px 24px 30px}
.sh-feed .wp-feed__title{font-size:26px;font-weight:800;line-height:1.18;letter-spacing:-.01em;margin:0}
.sh-feed .wp-feed__link{color:var(--ink);text-decoration:none}
.sh-feed .wp-feed__link::after{content:"";position:absolute;inset:0}
.sh-feed .wp-feed__meta,.sh-feed .wp-feed__excerpt,.sh-feed .wp-feed__more{display:none}
.sh-tags{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:16px}
.sh-tag{background:var(--pill-bg);color:var(--pill-tx);font-size:13px;font-weight:600;padding:5px 13px;border-radius:20px}
@media (min-width:901px){.sh-feed .wp-feed__grid{grid-template-columns:repeat(3,1fr)}}
@media (max-width:900px){.sh-feed .wp-feed__grid{grid-template-columns:1fr;max-width:520px;margin:0 auto}}

/* ---------- HubSpot event landing pages (Elevate content) ---------- */
.sh-page--event .sh-main,.sh-page--dcsf .sh-main{font-family:'Inter',system-ui,sans-serif}
