	/*!
	Theme Name: Patriot Roofing
	Theme URI: https://patriotroof.net/
	Author: Patriot Roofing
	Author URI: https://patriotroof.net/
	Description: Description
	Version: 1.0.0
	Tested up to: 5.4
	Requires PHP: 5.6
	 
	*/
	
	/* === DESIGN TOKENS (synced from design-system/design-tokens.json after Figma extraction) === */
	:root {
	  /* Colors */
	  --clr-primary:      #1052A3;   /* Patriot blue */
	  --clr-primary-dark: #14235D;   /* royal navy header top utility bar */
	  --clr-secondary:    #E0A117;   /* Patriot gold */
	  --clr-dark:         #1B1656;   /* deep navy section backgrounds */
	  --clr-white:      #fff;
	  --clr-black:      #000;
	  --clr-light:      #F7F7F7;
	  --clr-border:     #E2E2E2;
	  --clr-muted:      #4A5565;
	  --clr-text: #000;
	  --clr-text-light: #686868;
	  --clr-202e6d:     #202E6D;   /* card surface on dark navy (pricing why_roofing_costs grid cards) */
	  --clr-fb2c36:     #FB2C36;   /* budget/red comparison card accent (pricing where_does) */
	
	  /* Typography Poppins (body) + Oswald (display/headings) */
	  --ff-primary:   'Poppins', sans-serif;
	  --ff-secondary: 'Oswald', sans-serif;
	
	  /* Spacing */
	  --section-padding-y: 80px;
	  --container-width: clamp(1280px, 88vw, 1480px);
	
	  /* Gap scale used by Layout Atoms (.stack, .cluster, .card, .btn-row) */
	  --gap-xs:  4px;
	  --gap-sm:  8px;
	  --gap-md: 16px;
	  --gap-lg: 32px;
	  --gap-xl: 64px;
	
	  /* Button radius (0 = square; Figma extraction may override) */
	  --btn-radius: 0;
	}
	
	/* --- Base / Reset --- */
	*, *::before, *::after { box-sizing: border-box; }
	html, body { margin: 0; padding: 0; }
	
	/* === Canonical body typography ============================================
	 * Body and content elements inherit font-family + size from here.
	 * NEVER re-declare font-family on a content element. Use .ff-head to swap.
	 * Vanilla translation of: body { @include fluid-font(16, 18, 768, 1600); }
	 *   slope = (18-16) / (1600-768) * 100 = 0.240
	 *   base  = 16 - (0.240 * 768 / 100)   = 14.157
	 *   font-size: clamp(16px, calc(14.157px + 0.240vw), 18px)
	 * ========================================================================= */
	 
	.custom-sitemap {
    display: flex;
    flex-wrap: wrap;
    column-gap: 32px;
    row-gap: 56px;
    justify-content: center;
}

.custom-sitemap__group {
    max-width: 33.33%;
    width: 100%;
}

	body {
	 
	  font-size: clamp(16px, calc(14.157px + 0.24vw), 18px);
	  line-height: 1.5;
	  color: var(--clr-dark);
	  overflow-x: hidden; 
	  -webkit-font-smoothing: antialiased;
	  -moz-osx-font-smoothing: grayscale;
	}
	img, picture, video, svg { max-width: 100%; display: block; }
	a { color: inherit; }
	
	.ff-body, body { font-family: var(--ff-primary);
	  font-weight: 400; color: #000; }
	
	/* === Wrapper === */
	.wrapper {
	  width: 100%;
	  max-width: var(--container-width);
	  margin-left: auto;
	  margin-right: auto;
	  padding-left: 20px;
	  padding-right: 20px;
	}
	
	/* === Layout Atoms ===
	   Reusable building blocks. Section blocks below MUST compose these atoms
	   and override only what's section-specific. Re-declaring an atom under a
	   per-section BEM name is what produces 1,800-line stylesheets. */
	
	.section-title { margin: 0 0 var(--gap-md) 0; }
	
	.eyebrow {
	  font-weight: 500;
	  text-transform: uppercase;
	  color: var(--clr-primary);
	}
	
	.section-intro { max-width: 680px; }
	
	.stack       { display: flex; flex-direction: column; gap: var(--gap-md); }
	.stack--lg   { gap: var(--gap-lg); }
	
	.cluster {
	  display: flex;
	  flex-wrap: wrap;
	  gap: var(--gap-md);
	  align-items: center;
	}
	
	.media { width: 100%; aspect-ratio: 16 / 9; overflow: hidden; }
	.media > img,
	.media > picture > img { width: 100%; height: 100%; object-fit: cover; display: block; }
	
	.card {
	  background: var(--clr-light);
	  border-radius: 8px;
	  padding: var(--gap-lg);
	}
	
	.btn-row {
	  display: flex;
	  flex-wrap: wrap;
	  gap: var(--gap-md);
	}
	
	/* === Canonical heading scale (element + class pair) =======================
	 * Vanilla translation of:
	 *   h1, .h1 { @include fluid-font(40, 100); }
	 *   h2, .h2 { @include fluid-font(24, 44);  }
	 *   h3, .h3 { @include fluid-font(22, 32);  }
	 *   h4, .h4 { @include fluid-font(20, 30);  }
	 *   h5, .h5 { @include fluid-font(20, 24);  }
	 *   h6, .h6 { @include fluid-font(16, 18, 1024, 1600); }
	 *
	 * fluid-font defaults span  
	 * Formula: slope = (max-min)/(maxVw-minVw)*100;  base = min - (slope*minVw/100)
	 * ========================================================================= */
	.ff-head,
	h1, .h1,
	h2, .h2,
	h3, .h3,
	h4, .h4,
	h5, .h5,
	h6, .h6 {
	  font-family: var(--ff-secondary);
	  font-weight: 700;
	  color: inherit;
	}
	h1, .h1 { font-size: clamp(40px, calc(-15.385px + 7.212vw), 100px); line-height: 1.05; }
	h2, .h2 { font-size: clamp(24px, calc(5.538px + 2.404vw),  44px); line-height: 1.1; }
	h3, .h3 { font-size: clamp(22px, calc(12.769px + 1.202vw), 32px); line-height: 1.15; }
	h4, .h4 { font-size: clamp(20px, calc(10.769px + 1.202vw), 30px); line-height: 1.2; }
	h5, .h5 { font-size: clamp(20px, calc(16.308px + 0.481vw), 24px); line-height: 1.25; }
	h6, .h6 { font-size: clamp(16px, calc(12.667px + 0.347vw), 18px); line-height: 1.3; }
	
	
	
	
	/* === Flex utility ÃƒÆ’Ã†â€™Ãƒâ€ Ã¢â‚¬â„¢ÃƒÆ’Ã¢â‚¬Â ÃƒÂ¢Ã¢â€šÂ¬Ã¢â€žÂ¢ÃƒÆ’Ã†â€™ÃƒÂ¢Ã¢â€šÂ¬Ã‚Â ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬ÃƒÂ¢Ã¢â‚¬Å¾Ã‚Â¢ÃƒÆ’Ã†â€™Ãƒâ€ Ã¢â‚¬â„¢ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬ ÃƒÆ’Ã†â€™Ãƒâ€šÃ‚Â¢ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â€šÂ¬Ã…Â¡Ãƒâ€šÃ‚Â¬ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â€šÂ¬Ã…Â¾Ãƒâ€šÃ‚Â¢ÃƒÆ’Ã†â€™Ãƒâ€ Ã¢â‚¬â„¢ÃƒÆ’Ã¢â‚¬Â ÃƒÂ¢Ã¢â€šÂ¬Ã¢â€žÂ¢ÃƒÆ’Ã†â€™Ãƒâ€šÃ‚Â¢ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â€šÂ¬Ã…Â¡Ãƒâ€šÃ‚Â¬ÃƒÆ’Ã¢â‚¬Å¡ ÃƒÆ’Ã†â€™Ãƒâ€ Ã¢â‚¬â„¢ÃƒÆ’Ã¢â‚¬Å¡Ãƒâ€šÃ‚Â¢ÃƒÆ’Ã†â€™Ãƒâ€šÃ‚Â¢ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬Ãƒâ€¦Ã‚Â¡ÃƒÆ’Ã¢â‚¬Å¡Ãƒâ€šÃ‚Â¬ÃƒÆ’Ã†â€™Ãƒâ€šÃ‚Â¢ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬Ãƒâ€¦Ã‚Â¾ÃƒÆ’Ã¢â‚¬Å¡Ãƒâ€šÃ‚Â¢ÃƒÆ’Ã†â€™Ãƒâ€ Ã¢â‚¬â„¢ÃƒÆ’Ã¢â‚¬Â ÃƒÂ¢Ã¢â€šÂ¬Ã¢â€žÂ¢ÃƒÆ’Ã†â€™ÃƒÂ¢Ã¢â€šÂ¬Ã‚Â ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬ÃƒÂ¢Ã¢â‚¬Å¾Ã‚Â¢ÃƒÆ’Ã†â€™Ãƒâ€ Ã¢â‚¬â„¢ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬Ãƒâ€¦Ã‚Â¡ÃƒÆ’Ã†â€™ÃƒÂ¢Ã¢â€šÂ¬Ã…Â¡ÃƒÆ’Ã¢â‚¬Å¡Ãƒâ€šÃ‚Â¢ÃƒÆ’Ã†â€™Ãƒâ€ Ã¢â‚¬â„¢ÃƒÆ’Ã¢â‚¬Â ÃƒÂ¢Ã¢â€šÂ¬Ã¢â€žÂ¢ÃƒÆ’Ã†â€™ÃƒÂ¢Ã¢â€šÂ¬Ã…Â¡ÃƒÆ’Ã¢â‚¬Å¡Ãƒâ€šÃ‚Â¢ÃƒÆ’Ã†â€™Ãƒâ€ Ã¢â‚¬â„¢ÃƒÆ’Ã¢â‚¬Å¡Ãƒâ€šÃ‚Â¢ÃƒÆ’Ã†â€™Ãƒâ€šÃ‚Â¢ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬Ãƒâ€¦Ã‚Â¡ÃƒÆ’Ã¢â‚¬Å¡Ãƒâ€šÃ‚Â¬ÃƒÆ’Ã†â€™ÃƒÂ¢Ã¢â€šÂ¬Ã‚Â¦ÃƒÆ’Ã¢â‚¬Å¡Ãƒâ€šÃ‚Â¡ÃƒÆ’Ã†â€™Ãƒâ€ Ã¢â‚¬â„¢ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬Ãƒâ€¦Ã‚Â¡ÃƒÆ’Ã†â€™ÃƒÂ¢Ã¢â€šÂ¬Ã…Â¡ÃƒÆ’Ã¢â‚¬Å¡Ãƒâ€šÃ‚Â¬ÃƒÆ’Ã†â€™Ãƒâ€ Ã¢â‚¬â„¢ÃƒÆ’Ã¢â‚¬Â ÃƒÂ¢Ã¢â€šÂ¬Ã¢â€žÂ¢ÃƒÆ’Ã†â€™Ãƒâ€šÃ‚Â¢ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â€šÂ¬Ã…Â¡Ãƒâ€šÃ‚Â¬ÃƒÆ’Ã¢â‚¬Å¡Ãƒâ€šÃ‚Â¦ÃƒÆ’Ã†â€™Ãƒâ€ Ã¢â‚¬â„¢ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬Ãƒâ€¦Ã‚Â¡ÃƒÆ’Ã†â€™ÃƒÂ¢Ã¢â€šÂ¬Ã…Â¡ÃƒÆ’Ã¢â‚¬Å¡Ãƒâ€šÃ‚Â¡ÃƒÆ’Ã†â€™Ãƒâ€ Ã¢â‚¬â„¢ÃƒÆ’Ã¢â‚¬Â ÃƒÂ¢Ã¢â€šÂ¬Ã¢â€žÂ¢ÃƒÆ’Ã†â€™ÃƒÂ¢Ã¢â€šÂ¬Ã‚Â ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬ÃƒÂ¢Ã¢â‚¬Å¾Ã‚Â¢ÃƒÆ’Ã†â€™Ãƒâ€ Ã¢â‚¬â„¢ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬ ÃƒÆ’Ã†â€™Ãƒâ€šÃ‚Â¢ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â€šÂ¬Ã…Â¡Ãƒâ€šÃ‚Â¬ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â€šÂ¬Ã…Â¾Ãƒâ€šÃ‚Â¢ÃƒÆ’Ã†â€™Ãƒâ€ Ã¢â‚¬â„¢ÃƒÆ’Ã¢â‚¬Â ÃƒÂ¢Ã¢â€šÂ¬Ã¢â€žÂ¢ÃƒÆ’Ã†â€™ÃƒÂ¢Ã¢â€šÂ¬Ã…Â¡ÃƒÆ’Ã¢â‚¬Å¡Ãƒâ€šÃ‚Â¢ÃƒÆ’Ã†â€™Ãƒâ€ Ã¢â‚¬â„¢ÃƒÆ’Ã¢â‚¬Å¡Ãƒâ€šÃ‚Â¢ÃƒÆ’Ã†â€™Ãƒâ€šÃ‚Â¢ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â€šÂ¬Ã…Â¡Ãƒâ€šÃ‚Â¬ÃƒÆ’Ã¢â‚¬Â¦Ãƒâ€šÃ‚Â¡ÃƒÆ’Ã†â€™ÃƒÂ¢Ã¢â€šÂ¬Ã…Â¡ÃƒÆ’Ã¢â‚¬Å¡Ãƒâ€šÃ‚Â¬ÃƒÆ’Ã†â€™Ãƒâ€ Ã¢â‚¬â„¢ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬Ãƒâ€šÃ‚Â¦ÃƒÆ’Ã†â€™ÃƒÂ¢Ã¢â€šÂ¬Ã…Â¡ÃƒÆ’Ã¢â‚¬Å¡Ãƒâ€šÃ‚Â¡ÃƒÆ’Ã†â€™Ãƒâ€ Ã¢â‚¬â„¢ÃƒÆ’Ã¢â‚¬Â ÃƒÂ¢Ã¢â€šÂ¬Ã¢â€žÂ¢ÃƒÆ’Ã†â€™ÃƒÂ¢Ã¢â€šÂ¬Ã‚Â ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬ÃƒÂ¢Ã¢â‚¬Å¾Ã‚Â¢ÃƒÆ’Ã†â€™Ãƒâ€ Ã¢â‚¬â„¢ÃƒÆ’Ã¢â‚¬Å¡Ãƒâ€šÃ‚Â¢ÃƒÆ’Ã†â€™Ãƒâ€šÃ‚Â¢ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬Ãƒâ€¦Ã‚Â¡ÃƒÆ’Ã¢â‚¬Å¡Ãƒâ€šÃ‚Â¬ÃƒÆ’Ã†â€™ÃƒÂ¢Ã¢â€šÂ¬Ã‚Â¦ÃƒÆ’Ã¢â‚¬Å¡Ãƒâ€šÃ‚Â¡  `.o-flex` =============================================
	 * Mandatory: every flex layout uses .o-flex + modifier classes. NEVER write
	 * `display: flex` inside a component. Override via CSS custom properties
	 * (--direction, --justify, --align, --gapx, --gapy, --wrap).
	 * ========================================================================= */
	.o-flex {
	  /* Reset defaults on each element so CSS custom properties don't leak
	     down from an ancestor that set --direction/--justify/--align/etc. */
	  --wrap: wrap;
	  --direction: row;
	  --justify: flex-start;
	  --align: stretch;
	  --gapx: 0;
	  --gapy: 0;
	  display: flex;
	  flex-wrap: var(--wrap);
	  flex-direction: var(--direction);
	  justify-content: var(--justify);
	  align-items: var(--align);
	  column-gap: var(--gapy);
	  row-gap: var(--gapx);
	}
	@media (min-width: 1280px) {
	  .o-flex.is-lg-reverse { --direction: row-reverse; }
	}
	.is-column      { --direction: column; }
	.is-reverse     { --direction: row-reverse; }
	.is-center      { --justify: center; --align: center; }
	.align-center   { --align: center; }
	.just-center    { --justify: center; }
	.space-between  { --justify: space-between; }
	
	/* === Button system  `.c-button` ===========================================
	 * Mandatory: all buttons compose .c-button + a modifier. Override visual
	 * properties via CSS custom properties (--btn-bg, --btn-color, etc.).
	 * NEVER write a new button selector that re-declares padding / border /
	 * display override via the variables.
	 * ========================================================================= */
	.c-button {
	  /* contract overridable per-modifier */
	  --btn-bg: var(--clr-primary);
	  --btn-color: var(--clr-white);
	  --btn-border-color: var(--clr-primary);
	  --btn-hover-bg: transparent;
	  --btn-hover-color: var(--clr-primary);
	  --btn-hover-border-color: var(--clr-primary);
	  --btn-padding: 14px 28px;
	  --btn-border-width: 1px;
	  --btn-border-radius: 0;
	  --btn-font-size: 16px;
	  --btn-font-weight: 600;
	  --btn-letter-spacing: 0.03em;
	  --btn-transition: 0.3s ease;
	  display: inline-flex;
	  align-items: center;
	  justify-content: center;
	  font-family: var(--ff-primary);
	  font-size: var(--btn-font-size);
	  font-weight: var(--btn-font-weight);
	  letter-spacing: var(--btn-letter-spacing);
	  line-height: 1;
	  text-transform: uppercase;
	  text-decoration: none;
	  text-align: center;
	  white-space: nowrap;
	  padding: var(--btn-padding);
	  border: var(--btn-border-width) solid var(--btn-border-color);
	  border-radius: var(--btn-border-radius);
	  background: var(--btn-bg);
	  color: var(--btn-color);
	  white-space: normal;
	  max-width: 100%;
	  cursor: pointer;
	  appearance: none;
	  -webkit-appearance: none;
	  transition: background var(--btn-transition), color var(--btn-transition), border-color var(--btn-transition);
	}
	
	.c-button:hover, .c-button:focus-visible, .c-button:focus, .c-button:focus-within, .c-button:active, .gform_wrapper .gform_button:focus {
	  background: var(--btn-hover-bg) !important;
	  color: var(--btn-hover-color) !important;
	  border-color: var(--btn-hover-border-color);
	}
	.c-button:focus { outline: none; }
	.c-button:focus-visible { outline: 1px dashed currentColor; outline-offset: 2px; }
	.c-button:disabled,
	.c-button.is-disabled { opacity: 0.5; pointer-events: none; cursor: not-allowed; }
	
	/* --- Modifiers --- */
	.c-button--primary {
	  --btn-bg: var(--clr-primary); --btn-color: var(--clr-white); --btn-border-color: var(--clr-primary); --btn-hover-bg: transparent; --btn-hover-color: var(--clr-primary);
	}
	.c-button--secondary {
	  --btn-bg: transparent; --btn-color: var(--clr-primary); --btn-border-color: var(--clr-primary); --btn-hover-bg: var(--clr-primary); --btn-hover-color: var(--clr-white);
	}
	.c-button--bordered {
	  --btn-bg: transparent;
	  --btn-color: var(--clr-white);
	  --btn-border-color: rgba(255,255,255,0.6);
	  --btn-hover-bg: var(--clr-white);
	  --btn-hover-color: var(--clr-primary);
	  --btn-hover-border-color: var(--clr-white);
	}
	.c-button--cta {
	  --btn-bg: var(--clr-secondary);
	  --btn-color: var(--clr-white);
	  --btn-border-color: var(--clr-secondary);
	  --btn-hover-bg: var(--clr-white);
	  --btn-hover-color: var(--clr-secondary);
	  --btn-hover-border-color: var(--clr-secondary);
	  x); */
	  --btn-padding: 16px 30px;
	}
	.c-button--lg { --btn-font-size: 18px; --btn-padding: 16px 36px; }
	.c-button--sm { --btn-font-size: 14px; --btn-padding: 8px 20px; }
	/* Outline yellow on light surface used by lp_protect_home secondary CTA, etc. */
	.c-button--outline-yellow {
	  --btn-bg: transparent;
	  --btn-color: var(--clr-secondary);
	  --btn-border-color: var(--clr-secondary);
	  --btn-hover-bg: var(--clr-secondary);
	  --btn-hover-color: var(--clr-white);
	  --btn-hover-border-color: var(--clr-secondary);
	}
	
	/* --- START: Utility Classes --- */
	.common-padding { padding: 80px 0; }
	.common-margin  { margin: 80px 0; }
	@media (max-width: 1023px) {
	  .common-padding { padding: 60px 0; }
	  .common-margin  { margin: 60px 0; }
	}
	@media (max-width: 767px) {
	  .common-padding { padding: 40px 0; }
	  .common-margin  { margin: 40px 0; }
	}
	
	body .gform-theme--framework .gform_validation_errors {
	    display: none;
	}
	
	.screen-reader-text {
	  border: 0;
	  clip: rect(1px,1px,1px,1px);
	  clip-path: inset(50%);
	  height: 1px;
	  margin: -1px;
	  overflow: hidden;
	  padding: 0;
	  position: absolute;
	  width: 1px;
	  word-wrap: normal !important;
	}
	.skip-link.screen-reader-text:focus {
	  background: #fff;
	  clip: auto !important;
	  clip-path: none;
	  color: var(--clr-primary);
	  display: block;
	  font-size: 14px;
	  font-weight: 700;
	  height: auto;
	  left: 5px;
	  line-height: normal;
	  padding: 12px 16px;
	  text-decoration: none;
	  top: 5px;
	  width: auto;
	  z-index: 100000;
	}
	/* --- END: Utility Classes --- */
	
	/* --- START: Site Header (Figma 2-row layout) --- */
	.site-header {
	  background: #202E6D;
	  color: var(--clr-white);
	  position: relative;
	  z-index: 99999999999;
	}
	.site-header a { color: inherit; }
	
	/* Row 1 top utility bar */
	.site-header__top {
	  font-size: clamp(12px, calc(10.154px + 0.240vw), 14.0px);
	  font-weight: 600;
	  letter-spacing: 0.04em;
	  text-transform: uppercase;
	  color: var(--clr-white);
	  position: relative;
	  overflow: hidden;
	}
	.site-header__top-inner {
	  --align: center;
	  --justify: flex-end;
	  padding: 9px 20px;
	}
	
	.site-header__top-inner:before {
		transform: skewX(-153deg);
		content: '';
		width: clamp(161px,41.25vw,3000px);
		right: -20px;
		height: 100%;
		background: #1052A3;
		position: absolute;
		z-index: -1;
		box-shadow: 0 0 0 1px #000 inset;
	}
	
	
	.site-header__top-block {
	  --align: center;
	  --gapx: 0;
	}
	.site-header__top-block--social { position: relative; }
	.site-header__top-block--social::after {
	  content: ""; display: block; width: 1px; height: 18px; background: rgba(255,255,255,0.25); margin: 0 18px;
	}

	.site-header__top-label {
	  font-size: clamp(11px, calc(9.154px + 0.240vw), 14px);
	  font-weight: 600;
	  font-family: 'Poppins';
	  margin-left: 8px;
	}

	.site-header__top-social {
	  list-style: none;
	  margin: 0;
	  padding: 0 0 0 11px;
	  --gapx: 8px;
	  --gapy: 8px;
	  --align: center;
	}

	.site-header__top-social li a {
	 display: inline-flex; align-items: center; justify-content: center; min-width: 22px; height: 22px; padding: 0 6px; color: var(--clr-white); text-decoration: none; font-size: 11.0px; font-weight: 700; 
	 letter-spacing: 0.04em; text-transform: uppercase; white-space: nowrap;
	}

	.site-header__top-social li a:has(img) {
	  padding: 0;
	}

	.site-header__top-social img {
		width: 18px; height: 18px; display: block; object-fit: contain;
	}
	
	.site-header__top-social li { font-size: 0; }
	
	 
	.site-header__top-social a:hover {
	    filter: brightness(0) invert(1);
	}

	.site-header__top-icon { width: 18px; height: 18px; display: inline-flex; align-items: center; justify-content: center; flex-shrink: 0; color: var(--clr-secondary); line-height: 0; }

	.site-header__top-icon svg {
	  width: 16px;
	  height: 16px;
	  display: block;
	}

	.site-header__top-phone {
	  text-decoration: none;
	  color: var(--clr-white);
	  font-weight: 700;
	}
	.site-header__top-phone:hover { color: var(--clr-secondary); }
	
	/* Row 2 main nav row */
	.site-header__main {
	}
	.site-header__inner {
	  --align: center;
	  --gapx: 24px;
	  --gapy: 24px;
	  padding: 16px 20px;
	}
	.site-branding {
	  flex-shrink: 0;
	}
	.site-branding .site-logo {
	  max-height: clamp(160px, 11vw, 208px);
	  max-width: clamp(160px, 16.5vw, 298px);
	  display: block;
	  margin: -58px 0;
	}
	.site-branding .site-title {
	  font-weight: 700;
	  text-decoration: none;
	  color: var(--clr-white);
	  font-size: clamp(16px, calc(12.308px + 0.481vw), 20.0px);
	}
	
	.primary-nav { margin-left: auto; }
	.primary-nav__list {
	  list-style: none;
	  margin: 0;
	  padding: 0;
	  --gapx: 28px;
	  --gapy: clamp(14px,2vw,37px);
	  --align: center;
	}
	.primary-nav__list > li {
	  position: relative;
	}
	.primary-nav__list a {
	  text-decoration: none;
	  color: var(--clr-white);
	  font-family: 'Poppins';
	  font-weight: 600;
	  font-size: clamp(14px, calc(12.154px + 0.240vw), 16.0px);
	  text-transform: uppercase;
	  padding: 10px 0;
	  display: inline-flex;
	  align-items: center;
	  gap: 6px;
	}
	.primary-nav__list a:hover,
	.primary-nav__list .current-menu-item > a {
	  color: var(--clr-secondary, #E0A117);
	}
	.primary-nav__list .menu-item-has-children > a::after {
	  content: "";
	  display: inline-block;
	  width: 8px;
	  height: 8px;
	  margin-left: 4px;
	  border-right: 2px solid currentColor;
	  border-bottom: 2px solid currentColor;
	  transform: rotate(45deg) translateY(-2px);
	}
	
	/* Submenu (desktop) */
	.primary-nav__list .sub-menu {
	  position: absolute;
	  top: calc(100% + 6px);
	  left: 0;
	  min-width: 200px;
	  background: var(--clr-white);
	  list-style: none;
	  margin: 0;
	  padding: 0;
	  opacity: 0;
	  visibility: hidden;
	  transform: translateY(-8px);
	  transition: opacity 0.18s ease, transform 0.18s ease, visibility 0s 0.18s;
	  box-shadow: 0 12px 24px rgba(0,0,0,0.18);
	  z-index: 1000;
	  transition: .7s ease;
	}
	.primary-nav__list > li:hover > .sub-menu,
	.primary-nav__list > li:focus-within > .sub-menu {
	  opacity: 1;
	  visibility: visible;
	  transform: translateY(0);
	  transition: opacity 0.18s ease, transform 0.18s ease, visibility 0s;
	}
	.primary-nav__list .sub-menu a {
	  display: block;
	  padding: 8px 18px;
	  color: var(--clr-dark);
	  font-size: clamp(12px, calc(10.154px + 0.240vw), 14.0px);
	  letter-spacing: 0.03em;
	}
	.primary-nav__list .sub-menu a:hover {
	  background: rgba(0,0,0,0.04);
	  color: var(--clr-primary);
	}
	
	/* CTA */
	.site-header__cta {
	  letter-spacing: 0.03em;
	  padding: 15px 18px;
	  margin-left: 13px;
	  min-width: clamp(240px, 20vw, 376px);
	}
	.site-header__cta:hover {--btn-hover-border-color: #fff;}
	
	/* Hamburger toggle size derived from bars + padding, no fixed w/h */
	.nav-toggle {
	  display: none;
	  margin-left: auto;
	  padding: 12px 10px;
	  min-width: 44px;
	  min-height: 44px;
	  background: transparent;
	  border: 0;
	  cursor: pointer;
	  position: relative;
	  z-index: 1001;
	  color: var(--clr-white);
	  line-height: 0;
	}
	.nav-toggle__bar {
	  display: block;
	  width: 26px;
	  height: 2px;
	  margin: 3px auto;
	  background: currentColor;
	  transition: transform 0.3s ease, opacity 0.3s ease;
	  transform-origin: center;
	}
	.nav-toggle__bar:first-child { margin-top: 0; }
	.nav-toggle__bar:last-of-type { margin-bottom: 0; }
	.nav-toggle.is-open .nav-toggle__bar--top    {transform: translateY(8px) rotate(45deg);}
	.nav-toggle.is-open .nav-toggle__bar--mid    {opacity: 0;}
	.nav-toggle.is-open .nav-toggle__bar--bottom { transform: translateY(-8px) rotate(-45deg); }
	
	/* Mobile drawer */
	.mobile-drawer {
	  position: fixed;
	  top: 0;
	  right: 0;
	  width: 100%;
	  max-width: 420px;
	  height: 100vh;
	  background: var(--clr-dark, #1B1656);
	  color: var(--clr-white);
	  transform: translateX(150%);
	  transition: transform 0.3s ease;
	  z-index: 1000;
	  overflow-y: auto;
	  box-shadow: -4px 0 24px rgba(0,0,0,0.4);
	}
	.mobile-drawer.is-open { transform: translateX(0); }
	.mobile-drawer__inner {
	  padding: 108px 20px 36px;
	  display: flex;
	  flex-direction: column;
	  gap: 20px;
	}
	.mobile-drawer__list { list-style: none; padding: 0; margin: 0; --direction: column; gap: 2px; }
	.mobile-drawer__list a { text-decoration: none; }
	.mobile-drawer__list > li { position: relative; }
	.mobile-drawer__list > li > a {
	  position: relative;
	  display: flex;
	  align-items: center;
	  padding: 16px 18px;
	  font-family: var(--ff-secondary, "Oswald"), sans-serif;
	  font-size: clamp(15px, calc(12.231px + 0.361vw), 18.0px);
	  font-weight: 600;
	  text-transform: uppercase;
	  letter-spacing: 0.08em;
	  text-decoration: none;
	  color: var(--clr-white);
	  background: transparent;
	  border-bottom: 1px solid rgba(255,255,255,0.07);
	  transition: background-color 0.25s ease, color 0.25s ease, padding-left 0.25s ease;
	}
 
	.mobile-drawer__list > li > a:hover::before,
	.mobile-drawer__list > li > a:focus-visible::before {
	  height: 18px;
	}
	.mobile-drawer__list > li.current-menu-item > a,
	.mobile-drawer__list > li.current-menu-ancestor > a {
	  color: var(--clr-secondary);
	  padding-left: 22px;
	}
	.mobile-drawer__list > li.current-menu-item > a::before,
	.mobile-drawer__list > li.current-menu-ancestor > a::before { height: 18px; }

	/* Accordion behavior ÃƒÂ¢Ã¢â€šÂ¬Ã¢â‚¬Â mobile drawer only */
	.mobile-drawer__list .menu-item-has-children > a { padding-right: 56px; }
	.mobile-drawer__list .menu-item-has-children.is-open > a {
	  color: var(--clr-secondary);
	  background: rgba(224,161,23,0.08);
	  padding-left: 22px;
	}
	.mobile-drawer__list .menu-item-has-children.is-open > a::before { height: 22px; }

	.mobile-drawer__submenu-toggle {
	  position: absolute;
	  top: 5px;
	  right: 8px;
	  width: 38px;
	  height: 38px;
	  display: inline-flex;
	  align-items: center;
	  justify-content: center;
	  padding: 0;
	  margin: 0;
	  color: var(--clr-white);
	  cursor: pointer;
	  -webkit-appearance: none;
	  appearance: none;
	  z-index: 2;
	  transition: background-color 0.25s ease, border-color 0.25s ease, color 0.25s ease, transform 0.25s ease;
	  background: no-repeat;
	  border: none;
	}
	.mobile-drawer__submenu-toggle:hover,
	.mobile-drawer__submenu-toggle:focus-visible {
	  outline: none;
	}
	.mobile-drawer__submenu-toggle.is-open {
	  background: transparent;
	  border-color: var(--clr-secondary);
	}
	.mobile-drawer__submenu-toggle::before {
	  content: "";
	  width: 8px;
	  height: 8px;
	  border-right: 2px solid currentColor;
	  border-bottom: 2px solid currentColor;
	  transform: translateY(-2px) rotate(45deg);
	  transition: transform 0.3s ease;
	}
	.mobile-drawer__submenu-toggle.is-open::before {
	  transform: translateY(2px) rotate(-135deg);
	}

	.mobile-drawer__list .sub-menu {
	  list-style: none;
	  position: relative;
	  padding: 0;
	  margin: 0;
	  display: none;
	}
	.mobile-drawer__list .sub-menu::before {
	  content: "";
	  position: absolute;
	  left: 0;
	  top: 8px;
	  bottom: 12px;
	  width: 2px;
	  background: linear-gradient(180deg, var(--clr-secondary) 0%, rgba(224,161,23,0.15) 100%);
	  border-radius: 2px;
	}
	.mobile-drawer__list .sub-menu a {
	  display: flex;
	  align-items: center;
	  font-size: 14px;
	  font-weight: 500;
	  letter-spacing: 0.06em;
	  padding: 10px 14px;
	  border-radius: 6px;
	  border-bottom: 0;
	  color: rgba(255,255,255,0.78);
	  text-transform: uppercase;
	  transition: background-color 0.2s ease, color 0.2s ease, padding-left 0.2s ease;
	}
	.mobile-drawer__list .sub-menu a::before {
	  content: "";
	  height: 6px;
	  border-radius: 50%;
	  background: rgba(255,255,255,0.25);
	  transition: background-color 0.2s ease, transform 0.2s ease;
	  flex-shrink: 0;
	}
	.mobile-drawer__list .sub-menu a:hover,
	.mobile-drawer__list .sub-menu a:focus-visible {
	  color: var(--clr-white);
	  background: rgba(255,255,255,0.05);
	  padding-left: 18px;
	  outline: none;
	}
	.mobile-drawer__list .sub-menu a:hover::before,
	.mobile-drawer__list .sub-menu a:focus-visible::before {
	  background: var(--clr-secondary);
	  transform: scale(1.4);
	}
	.mobile-drawer__list .sub-menu .current-menu-item > a {
	  color: var(--clr-secondary);
	}
	.mobile-drawer__list .sub-menu .current-menu-item > a::before {
	  background: var(--clr-secondary);
	}
	.mobile-drawer__phone {
	  display: inline-block;
	  margin-top: 8px;
	  font-family: var(--ff-secondary, "Oswald"), sans-serif;
	  font-weight: 700;
	  font-size: clamp(17px, calc(12.385px + 0.601vw), 22.0px);
	  color: var(--clr-secondary);
	  text-decoration: none;
	  text-align: center;
	}
	.mobile-drawer__cta {
	  display: inline-block;
	  text-align: center;
	  background: var(--clr-secondary);
	  color: var(--clr-white);
	  font-family: var(--ff-secondary), sans-serif;
	  font-weight: 700;
	  font-size: clamp(14px, calc(14.154px + 0.240vw), 16.0px);
	  text-transform: uppercase;
	  letter-spacing: 0.04em;
	  padding: 14px 24px;
	  text-decoration: none;
	  margin-top: 8px;
	  border-radius: 0;
	}
	
	body.nav-locked { overflow: hidden; }
	
	.mobile-drawer__backdrop {
	  position: fixed;
	  inset: 0;
	  background: rgba(0, 0, 0, 0.55);
	  opacity: 0;
	  pointer-events: none;
	  transition: opacity 0.25s ease;
	  z-index: 999;
	}
	.mobile-drawer__backdrop.is-open {
	  opacity: 1;
	  pointer-events: auto;
	}
	
	
	@media (max-width: 1570px) {
	.site-branding .site-logo { margin: -90px 0 }
	}
	
	@media (min-width: 1281px) {
	  .mobile-drawer__backdrop { display: none; }
	}
	
	@media (max-width: 1199px) {
	  .primary-nav__list { gap: 22px; }
	  .site-header__cta { font-size: 16px; padding: 16px 22px; }
	}
	@media (max-width: 1280px) {
	
	 
	  .site-header__top { display: none; }
	
	.site-branding .site-logo { margin: 0; }
		
	  .site-header__top-label { font-size: 11px; }
	  .primary-nav { display: none; }
	  .site-header__cta { display: none; }
	  .nav-toggle { display: inline-flex; flex-direction: column; justify-content: center; margin-left: auto; }
	  .site-header__inner { min-height: 88px; }
	}
	
	@media (max-width: 575px) {
	  .site-header__top-block--social .site-header__top-label { display: none; }
	  .site-header__top-block--social::after { display: none; }
	  .site-header__top-block--phone .site-header__top-label { display: none; }
	  .site-header__top-inner {}
	  .site-header__top-phone { font-size: 13px; }
	  .site-branding .site-logo img,
	  .site-branding .custom-logo {}
	  .site-header__inner {min-height: 72px;}
	}
	@media (min-width: 1281px) {
	  .mobile-drawer { display: none; }
	}
	
	
	@media (min-width: 2000px) {
	
		.site-header__top-inner:before {width: clamp(161px,44vw,3000px);}
	
	}
	
	/* --- END: Site Header --- */
	
	/* --- START: Site Footer (Figma 3-stack) --- */
	.site-footer { color: var(--clr-white); }
	.site-footer a { color: inherit; text-decoration: none; }
	.site-footer a:hover { color: var(--clr-secondary); }
	
	/* === Footer Info Row (yellow strip) === */
	.site-footer__info {
	  background: var(--clr-secondary, #E0A117);
	  color: var(--clr-white);
	  position: relative;
	  padding: 36px 0;
	}
	.site-footer__info-notch {background: url('./assets/imgs/contect-before.svg');height: auto;width: 100%;aspect-ratio: 1920/80;position: absolute;top: 0;background-position: center top;transform: translateY(-97%);background-size: cover;}
	.site-footer__info-inner {
	  display: grid;
	  grid-template-columns: repeat(3, 1fr);
	  gap: 32px;
	  align-items: center;
	}
	.site-footer__info-card {
	  --align: center;
	  --gapx: 18px;
	  --gapy: 18px;
	  --wrap: nowrap;
	}
	.site-footer__info-icon {
	  flex-shrink: 0;
	  width: 64px;
	  height: 64px;
	  --align: center;
	  --justify: center;
	}
	.site-footer__info-icon img {
	  width: 100%;
	  height: 100%;
	  display: block;
	  object-fit: contain;
	}
	.site-footer__info-body { display: flex; flex-direction: column; gap: 4px; }
	.site-footer__info-label {
	  font-size: clamp(11px, calc(10.154px + 0.440vw), 18px);
	  font-weight: 500;
	  letter-spacing: 0.18em;
	  text-transform: uppercase;
	  color: var(--clr-white);
	  opacity: 0.85;
	}
	.site-footer__info-value {
	  font-size: clamp(15px, calc(12.231px + 0.361vw), 18.0px);
	  font-weight: 700;
	  line-height: 1.3;
	  color: var(--clr-white);
	  max-width: 300px;
	}
	a.site-footer__info-value:hover { color: var(--clr-primary); }
	
	/* === Main Footer (dark navy) === */
	.site-footer__main {
	  background: #1B1656;
	  padding: clamp(52px, 7vw, 102px) 0px clamp(52px, 7vw, 110px);
	}
	.site-footer__inner {
	  display: grid;
	  grid-template-columns: 1.9fr 1.1fr .9fr 1.35fr;
	  gap: 40px;
	  align-items: start;
	}
	.site-footer__col--brand .site-footer__logo { display: inline-block; }
	.site-footer__logo img {max-width: clamp(240px, 26vw, 401px);}
	.site-footer__description {
	  margin: 16px 0 0;
	  line-height: 1.6;
	  font-size: clamp(13px, calc(11.154px + 0.240vw), 15.0px);
	  opacity: 0.85;
	}
	.site-footer__heading {
	  margin: 0 0 13px 0;
	  color: var(--clr-white);
	  letter-spacing: -0.44px;
	}
	.site-footer__heading--social {margin: clamp(10px, 2vw, 30px) 0;}
	.site-footer__links {
	  list-style: none;
	  padding: 0;
	  margin: 0;
	  --direction: column;
	  --gapx: 6px;
	  --gapy: 8px;
	}
	.site-footer__links li a {
	  display: inline-block;
	  position: relative;
	  padding-left: 18px;
	  font-size: clamp(14px, calc(14.154px + 0.440vw), 20px);
	  color: var(--clr-white);
	}
	.site-footer__links li a::before {
	  content: '';
	  position: absolute;
	  left: 0;
	  line-height: inherit;
	  height: 3px;
	  width: 3px;
	  background: #fff;
	  top: 50%;
	  border-radius: 50%;
	}
	.site-footer__hours-body {
	  color: var(--clr-white);
	}
	.site-footer__hours-body p { margin: 0 0 0.4em; }
	.site-footer__hours-body p:last-child { margin-bottom: 0; }
	.site-footer__social {
	  list-style: none;
	  padding: 0;
	  --gapx: clamp(10px, 1vw,16px);
	  --gapy: clamp(10px, 1vw,16px);
	  --align: center;
	}
	.site-footer__social li a {
	  display: inline-flex;
	  align-items: center;
	  justify-content: center;
	  max-width: 32px;
	  height: 32px;
	  padding: 0 8px;
	  border: none;
	  color: var(--clr-white);
	  font-size: clamp(10px, calc(8.154px + 0.240vw), 12.0px);
	  font-weight: 500;
	  letter-spacing: 0.02em;
	  white-space: nowrap;
	  transition: background 0.2s ease, border-color 0.2s ease;
	}
	.site-footer__social li a:hover {
	  filter: brightness(0) saturate(100%) invert(67%) sepia(63%) saturate(1152%) hue-rotate(8deg) brightness(96%) contrast(92%);
	}
	.site-footer__social li a:has(img),
	.site-footer__social li a:has(svg) {
	  padding: 0;
	}
	.site-footer__social img {max-width: 32px;max-height: 30px;display: block;object-fit: contain;}
	.site-footer__social svg { width: 22px; height: 22px; display: block; color: var(--clr-white); }
	.site-footer__social li a:hover svg { color: var(--clr-secondary); }
	
	/* === Copyright Bar (black) === */
	.site-footer__copyright {
	  background: #0B0737;
	  color: var(--clr-white);
	  padding: 23px 0;
	  font-size: clamp(12px, calc(10.154px + 0.240vw), 14.0px);
	}
	.site-footer__copyright-inner {
	  --justify: space-between;
	  --align: center;
	  --gapx: 24px; --gapy: 24px;
	  --wrap: wrap;
	}
	.site-footer__copyright-text {margin: 0;}
	.site-footer__copyright-links {
	  list-style: none;
	  padding: 0;
	  margin: 0;
	  --gapx: 10px; --gapy: 10px;
	  --align: center;
	  --wrap: wrap;
	}
	.site-footer__copyright-links li {
	  display: inline-flex;
	  align-items: center;
	  gap: 10px;
	}
	.site-footer__copyright-sep {}
	.site-footer__copyright-links a { color: var(--clr-white); }
	.site-footer__copyright-links a:hover { color: var(--clr-secondary); }
	
	/* Responsive */
	@media (max-width: 1199px) {
	  .site-footer__inner { grid-template-columns: 1fr 1fr 1fr; }
	  .site-footer__col--brand { grid-column: 1 / -1; }
	}
	@media (max-width: 991px) {
	  .site-footer__info { padding: 28px 0; }
	  .site-footer__info-inner {grid-template-columns: 1fr;gap: 18px;max-width: 440px;}
	  .site-footer__info-value { font-size: 16px; }
	  .site-footer__inner { grid-template-columns: 1fr 1fr; gap: 32px; }
	  .site-footer__col--brand {grid-column: 1 / -1;text-align: center;width: max-content;}
	  .site-footer__col--brand .site-footer__logo { display: inline-block; }
	}
	@media (max-width: 575px) {
	  .site-footer__info-card {flex-direction: column;align-items: center;text-align: center;gap: 10px;}
	  .site-footer__inner { grid-template-columns: 1fr; gap: 28px; }
	  .site-footer__copyright-inner { flex-direction: column; align-items: flex-start; gap: 6px; text-align: left; }
	  .site-footer__copyright-text { font-size: 13px; }
	}
	/* --- END: Site Footer --- */
	
	/*--------------------------------------------------------------
	>>> TABLE OF CONTENTS:
	----------------------------------------------------------------
	# Generic
		- Normalize
		- Box sizing
	# Base
		- Typography
		- Elements
		- Links
		- Forms
	## Layouts
	# Components
		- Navigation
		- Posts and pages
		- Comments
		- Widgets
		- Media
		- Captions
		- Galleries
	# plugins
		- Jetpack infinite scroll
	# Utilities
		- Accessibility
		- Alignments
	
	--------------------------------------------------------------*/
	
	/*--------------------------------------------------------------
	# Generic
	--------------------------------------------------------------*/
	
	/* Normalize
	--------------------------------------------- */
	
	/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */
	
	/* Document
		 ========================================================================== */
	
	/**
	 * 1. Correct the line height in all browsers.
	 * 2. Prevent adjustments of font size after orientation changes in iOS.
	 */
	html {
		line-height: 1.15;
		-webkit-text-size-adjust: 100%;
	}
	
	/* Sections
		 ========================================================================== */
	
	/**
	 * Remove the margin in all browsers.
	 */
	body {
		margin: 0;
	}
	
	/**
	 * Render the `main` element consistently in IE.
	 */
	main {
		display: block;
	}
	
	/**
	 * Correct the font size and margin on `h1` elements within `section` and
	 * `article` contexts in Chrome, Firefox, and Safari.
	 */
	h1 {
		font-size: 2em;
		margin: 0.67em 0;
	}
	
	/* Grouping content
		 ========================================================================== */
	
	/**
	 * 1. Add the correct box sizing in Firefox.
	 * 2. Show the overflow in Edge and IE.
	 */
	hr {
		box-sizing: content-box;
		height: 0;
		overflow: visible;
	}
	
	/**
	 * 1. Correct the inheritance and scaling of font size in all browsers.
	 * 2. Correct the odd `em` font sizing in all browsers.
	 */
	pre {
		font-family: monospace, monospace;
		font-size: 1em;
	}
	
	/* Text-level semantics
		 ========================================================================== */
	
	/**
	 * Remove the gray background on active links in IE 10.
	 */
	a {
		background-color: transparent;
	}
	
	/**
	 * 1. Remove the bottom border in Chrome 57-
	 * 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.
	 */
	abbr[title] {
		border-bottom: none;
		text-decoration: underline;
		text-decoration: underline dotted;
	}
	
	/**
	 * Add the correct font weight in Chrome, Edge, and Safari.
	 */
	b,
	strong {
		font-weight: bolder;
	}
	
	/**
	 * 1. Correct the inheritance and scaling of font size in all browsers.
	 * 2. Correct the odd `em` font sizing in all browsers.
	 */
	code,
	kbd,
	samp {
		font-family: monospace, monospace;
		font-size: 1em;
	}
	
	/**
	 * Add the correct font size in all browsers.
	 */
	small {
		font-size: 80%;
	}
	
	/* Embedded content
		 ========================================================================== */
	
	/**
	 * Remove the border on images inside links in IE 10.
	 */
	img {
		border-style: none;
	}
	
	/* Forms
		 ========================================================================== */
	
	/**
	 * 1. Change the font styles in all browsers.
	 * 2. Remove the margin in Firefox and Safari.
	 */
	button,
	input,
	optgroup,
	select,
	textarea {
		font-family: inherit;
		font-size: 100%;
		line-height: 1.15;
		margin: 0;
	}
	
	/**
	 * Show the overflow in IE.
	 * 1. Show the overflow in Edge.
	 */
	button,
	input {
		overflow: visible;
	}
	
	/**
	 * Remove the inheritance of text transform in Edge, Firefox, and IE.
	 * 1. Remove the inheritance of text transform in Firefox.
	 */
	button,
	select {
		text-transform: none;
	}
	
	/**
	 * Correct the inability to style clickable types in iOS and Safari.
	 */
	button,
	[type="button"],
	[type="reset"],
	[type="submit"] {
		-webkit-appearance: button;
	}
	
	/**
	 * Remove the inner border and padding in Firefox.
	 */
	button::-moz-focus-inner,
	[type="button"]::-moz-focus-inner,
	[type="reset"]::-moz-focus-inner,
	[type="submit"]::-moz-focus-inner {
		border-style: none;
		padding: 0;
	}
	
	/**
	 * Restore the focus styles unset by the previous rule.
	 */
	button:-moz-focusring,
	[type="button"]:-moz-focusring,
	[type="reset"]:-moz-focusring,
	[type="submit"]:-moz-focusring {
		outline: 1px dotted ButtonText;
	}
	
	/**
	 * Correct the padding in Firefox.
	 */
	fieldset {
		padding: 0.35em 0.75em 0.625em;
	}
	
	/**
	 * 1. Correct the text wrapping in Edge and IE.
	 * 2. Correct the color inheritance from `fieldset` elements in IE.
	 * 3. Remove the padding so developers are not caught out when they zero out
	 *		`fieldset` elements in all browsers.
	 */
	legend {
		box-sizing: border-box;
		color: inherit;
		display: table;
		max-width: 100%;
		padding: 0;
		white-space: normal;
	}
	
	/**
	 * Add the correct vertical alignment in Chrome, Firefox, and Opera.
	 */
	progress {
		vertical-align: baseline;
	}
	
	/**
	 * Remove the default vertical scrollbar in IE 10+.
	 */
	textarea {
		overflow: auto;
	}
	
	/**
	 * 1. Add the correct box sizing in IE 10.
	 * 2. Remove the padding in IE 10.
	 */
	[type="checkbox"],
	[type="radio"] {
		box-sizing: border-box;
		padding: 0;
	}
	
	/**
	 * Correct the cursor style of increment and decrement buttons in Chrome.
	 */
	[type="number"]::-webkit-inner-spin-button,
	[type="number"]::-webkit-outer-spin-button {
		height: auto;
	}
	
	/**
	 * 1. Correct the odd appearance in Chrome and Safari.
	 * 2. Correct the outline style in Safari.
	 */
	[type="search"] {
		-webkit-appearance: textfield;
		outline-offset: -2px;
	}
	
	/**
	 * Remove the inner padding in Chrome and Safari on macOS.
	 */
	[type="search"]::-webkit-search-decoration {
		-webkit-appearance: none;
	}
	
	/**
	 * 1. Correct the inability to style clickable types in iOS and Safari.
	 * 2. Change font properties to `inherit` in Safari.
	 */
	::-webkit-file-upload-button {
		-webkit-appearance: button;
		font: inherit;
	}
	
	/* Interactive
		 ========================================================================== */
	
	/*
	 * Add the correct display in Edge, IE 10+, and Firefox.
	 */
	details {
		display: block;
	}
	
	/*
	 * Add the correct display in all browsers.
	 */
	summary {
		display: list-item;
	}
	
	/* Misc
		 ========================================================================== */
	
	/**
	 * Add the correct display in IE 10+.
	 */
	template {
		display: none;
	}
	
	/**
	 * Add the correct display in IE 10.
	 */
	[hidden] {
		display: none;
	}
	
	/* Box sizing
	--------------------------------------------- */
	
	/* Inherit box-sizing to more easily change it's value on a component level.
	@link http://css-tricks.com/inheriting-box-sizing-probably-slightly-better-best-practice/ */
	*,
	*::before,
	*::after {
		box-sizing: inherit;
	}
	
	html {
		box-sizing: border-box;
	}
	
	
	
	/*--------------------------------------------------------------
	# Base
	--------------------------------------------------------------*/
	
	/* Typography
	--------------------------------------------- */
	/* Form controls only body/heading typography handled by canonical rules at top of file. */
	button,
	input,
	select,
	optgroup,
	textarea {
		color: inherit;
		font: inherit;
		line-height: 1.5;
	}
	
	/* Note: global `p { margin-bottom }` and `ul, ol { margin }` rules removed
	   margins on body typography belong to the parent container per
	   utility-classes/SKILL.md (rule 9). */
	
	dfn,
	cite,
	em,
	i {
		font-style: italic;
	}
	
	blockquote {
		margin: 0 1.5em;
	}
	
	address {
		margin: 0 0 1.5em;
	}
	
	pre {
		background: #eee;
		font-family: "Courier 10 Pitch", courier, monospace;
		line-height: 1.6;
		margin-bottom: 1.6em;
		max-width: 100%;
		overflow: auto;
		padding: 1.6em;
	}
	
	code,
	kbd,
	tt,
	var {
		font-family: monaco, consolas, "Andale Mono", "DejaVu Sans Mono", monospace;
	}
	
	abbr,
	acronym {
		border-bottom: 1px dotted #666;
		cursor: help;
	}
	
	mark,
	ins {
		background: #fff9c0;
		text-decoration: none;
	}
	
	big {
		font-size: 125%;
	}
	
	/* Elements
	--------------------------------------------- */
	body {
		background: #fff;
	}
	
	hr {
		background-color: #ccc;
		border: 0;
		height: 1px;
		margin-bottom: 1.5em;
	}
	
	ul { list-style: disc; }
	ol { list-style: decimal; }
	/* List margins/indentation handled by parent containers see utility-classes rule 9. */
	
	dt {
		font-weight: 700;
	}
	
	dd {
		margin: 0 1.5em 1.5em;
	}
	
	/* Make sure embeds and iframes fit their containers. */
	embed,
	iframe,
	object {
		max-width: 100%;
	}
	
	img {
		height: auto;
		max-width: 100%;
		object-fit: cover;
		object-position: center;
		max-height: 100%;
	}
	
	figure {
		margin: 1em 0;
	}
	
	table {
		margin: 0 0 1.5em;
		width: 100%;
	}
	
	/* Links
	--------------------------------------------- */
	a {
		color: #4169e1;
	}
	
	 
	
	 
	 
	
	a:hover,
	a:active {
		outline: 0;
	}
	
	/* Forms
	--------------------------------------------- */
	button,
	input[type="button"],
	input[type="reset"],
	input[type="submit"] {
		border: 1px solid;
		border-color: #ccc #ccc #bbb;
		border-radius: 0;
		background: #e6e6e6;
		color: rgba(0, 0, 0, 0.8);
		line-height: 1;
		padding: 0.6em 1em 0.4em;
	}
	
	button:hover,
	input[type="button"]:hover,
	input[type="reset"]:hover,
	input[type="submit"]:hover {
		border-color: #ccc #bbb #aaa;
	}
	
	button:active,
	button:focus,
	input[type="button"]:active,
	input[type="button"]:focus,
	input[type="reset"]:active,
	input[type="reset"]:focus,
	input[type="submit"]:active,
	input[type="submit"]:focus {
		border-color: #aaa #bbb #bbb;
	}
	
	input[type="text"],
	input[type="email"],
	input[type="url"],
	input[type="password"],
	input[type="search"],
	input[type="number"],
	input[type="tel"],
	input[type="range"],
	input[type="date"],
	input[type="month"],
	input[type="week"],
	input[type="time"],
	input[type="datetime"],
	input[type="datetime-local"],
	input[type="color"],
	textarea {
		color: #666;
		border: 1px solid #ccc;
		border-radius: 3px;
		padding: 3px;
	}
	
	input[type="text"]:focus,
	input[type="email"]:focus,
	input[type="url"]:focus,
	input[type="password"]:focus,
	input[type="search"]:focus,
	input[type="number"]:focus,
	input[type="tel"]:focus,
	input[type="range"]:focus,
	input[type="date"]:focus,
	input[type="month"]:focus,
	input[type="week"]:focus,
	input[type="time"]:focus,
	input[type="datetime"]:focus,
	input[type="datetime-local"]:focus,
	input[type="color"]:focus,
	textarea:focus {
		color: #111;
	}
	
	select {
		border: 1px solid #ccc;
	}
	
	textarea {
		width: 100%;
	}
	
	
	p, ul, dl, ol { margin: 0 0 1em; }
	
	p:last-child, ul:last-child, dl:last-child, ol:last-child {
	margin-bottom: 0; }
	
	/*--------------------------------------------------------------
	# Layouts
	--------------------------------------------------------------*/
	
	/*--------------------------------------------------------------
	# Components
	--------------------------------------------------------------*/
	
	/* Navigation
	--------------------------------------------- */
	.main-navigation {
		display: block;
		width: 100%;
	}
	
	.main-navigation ul {
		display: none;
		list-style: none;
		margin: 0;
		padding-left: 0;
	}
	
	.main-navigation ul ul {
		box-shadow: 0 3px 3px rgba(0, 0, 0, 0.2);
		float: left;
		position: absolute;
		top: 100%;
		left: -999em;
		z-index: 99999;
	}
	
	.main-navigation ul ul ul {
		left: -999em;
		top: 0;
	}
	
	.main-navigation ul ul li:hover > ul,
	.main-navigation ul ul li.focus > ul {
		display: block;
		left: auto;
	}
	
	.main-navigation ul ul a {
		width: 200px;
	}
	
	.main-navigation ul li:hover > ul,
	.main-navigation ul li.focus > ul {
		left: auto;
	}
	
	.main-navigation li {
		position: relative;
	}
	
	.main-navigation a {
		display: block;
		text-decoration: none;
	}
	
	/* Small menu. */
	.menu-toggle,
	.main-navigation.toggled ul {
		display: block;
	}
	
	@media screen and (min-width: 37.5em) {
	
		.menu-toggle {
			display: none;
		}
	
		.main-navigation ul {
			display: flex;
		}
	}
	
	.site-main .comment-navigation,
	.site-main
	.posts-navigation,
	.site-main
	.post-navigation {
		margin: 0 0 1.5em;
	}
	
	.comment-navigation .nav-links,
	.posts-navigation .nav-links,
	.post-navigation .nav-links {
		display: flex;
	}
	
	.comment-navigation .nav-previous,
	.posts-navigation .nav-previous,
	.post-navigation .nav-previous {
		flex: 1 0 50%;
	}
	
	.comment-navigation .nav-next,
	.posts-navigation .nav-next,
	.post-navigation .nav-next {
		text-align: end;
		flex: 1 0 50%;
	}
	
	/* Posts and pages
	--------------------------------------------- */
	.sticky {
		display: block;
	}
	
	.post,
	.page {
		margin: 0;
	}
	
	.updated:not(.published) {
		display: none;
	}
	
	.page-content,
	.entry-content,
	.entry-summary {
		margin: 1.5em 0 0;
	}
	
	.page-links {
		clear: both;
		margin: 0 0 1.5em;
	}
	
	/* Comments
	--------------------------------------------- */
	.comment-content a {
		word-wrap: break-word;
	}
	
	.bypostauthor {
		display: block;
	}
	
	/* Widgets
	--------------------------------------------- */
	.widget {
		margin: 0 0 1.5em;
	}
	
	.widget select {
		max-width: 100%;
	}
	
	/* Media
	--------------------------------------------- */
	.page-content .wp-smiley,
	.entry-content .wp-smiley,
	.comment-content .wp-smiley {
		border: none;
		margin-bottom: 0;
		margin-top: 0;
		padding: 0;
	}
	
	/* Make sure logo link wraps around logo image. */
	.custom-logo-link {
		display: inline-block;
	}
	
	/* Captions
	--------------------------------------------- */
	.wp-caption {
		margin-bottom: 1.5em;
		max-width: 100%;
	}
	
	.wp-caption img[class*="wp-image-"] {
		display: block;
		margin-left: auto;
		margin-right: auto;
	}
	
	.wp-caption .wp-caption-text {
		margin: 0.8075em 0;
	}
	
	.wp-caption-text {
		text-align: center;
	}
	
	/* Galleries
	--------------------------------------------- */
	.gallery {
		margin-bottom: 1.5em;
		display: grid;
		grid-gap: 1.5em;
	}
	
	.gallery-item {
		display: inline-block;
		text-align: center;
		width: 100%;
	}
	
	.gallery-columns-2 {
		grid-template-columns: repeat(2, 1fr);
	}
	
	.gallery-columns-3 {
		grid-template-columns: repeat(3, 1fr);
	}
	
	.gallery-columns-4 {
		grid-template-columns: repeat(4, 1fr);
	}
	
	.gallery-columns-5 {
		grid-template-columns: repeat(5, 1fr);
	}
	
	.gallery-columns-6 {
		grid-template-columns: repeat(6, 1fr);
	}
	
	.gallery-columns-7 {
		grid-template-columns: repeat(7, 1fr);
	}
	
	.gallery-columns-8 {
		grid-template-columns: repeat(8, 1fr);
	}
	
	.gallery-columns-9 {
		grid-template-columns: repeat(9, 1fr);
	}
	
	.gallery-caption {
		display: block;
	}
	
	/*--------------------------------------------------------------
	# Plugins
	--------------------------------------------------------------*/
	
	/* Jetpack infinite scroll
	--------------------------------------------- */
	
	/* Hide the Posts Navigation and the Footer when Infinite Scroll is in use. */
	.infinite-scroll .posts-navigation,
	.infinite-scroll.neverending .site-footer {
		display: none;
	}
	
	/* Re-display the Theme Footer when Infinite Scroll has reached its end. */
	.infinity-end.neverending .site-footer {
		display: block;
	}
	
	/*--------------------------------------------------------------
	# Utilities
	--------------------------------------------------------------*/
	
	/* Accessibility
	--------------------------------------------- */
	
	/* Text meant only for screen readers. */
	.screen-reader-text {
		border: 0;
		clip: rect(1px, 1px, 1px, 1px);
		clip-path: inset(50%);
		height: 1px;
		margin: -1px;
		overflow: hidden;
		padding: 0;
		position: absolute !important;
		width: 1px;
		word-wrap: normal !important;
	}
	
	.screen-reader-text:focus {
		background-color: #f1f1f1; border-radius: 3px; box-shadow: 0 0 2px 2px rgba(0, 0, 0, 0.6); clip: auto !important; clip-path: none; color: #21759b; display: block; font-size: 0.875rem; font-weight: 700; height: auto;
	   left: 5px; line-height: normal; padding: 15px 23px 14px; text-decoration: none; top: 5px; width: auto; z-index: 100000;
	}
	
	/* Do not show the outline on the skip link target. */
	#primary[tabindex="-1"]:focus {
		outline: 0;
	}
	
	/* Alignments
	--------------------------------------------- */
	.alignleft {
	
		/*rtl:ignore*/
		float: left;
	
		/*rtl:ignore*/
		margin-right: 1.5em;
		margin-bottom: 1.5em;
	}
	
	.alignright {
	
		/*rtl:ignore*/
		float: right;
	
		/*rtl:ignore*/
		margin-left: 1.5em;
		margin-bottom: 1.5em;
	}
	
	.aligncenter {
		clear: both;
		display: block;
		margin-left: auto;
		margin-right: auto;
		margin-bottom: 1.5em;
	}
	
	/*--------------------------------------------------------------
	# Utility Classes sitewide pattern (.fs<px>, .fw-<weight>, etc.)
	#
	# Pattern (enforced project-wide see .claude/skills/utility-classes):
	#   .fs<N>     -> font-size: Npx        (only values present in Figma)
	#   .fw-<N>    -> font-weight: N        (only weights present in Figma)
	#   .lh<N>     -> line-height: N (unitless, e.g. .lh1 = 1.0, .lh15 = 1.5)
	#   .ls<N>     -> letter-spacing: Npx (negative via .ls-N)
	#   .ttu/.ttl/.ttc/.ttn -> text-transform: uppercase/lowercase/capitalize/none
	#   .tac/.tal/.tar      -> text-align: center/left/right
	#
	# Rule: add a new .fs<N> or .fw-<N> ONLY when the value appears in the
	# extracted Figma tokens. Don't pre-emit generic ranges keeps the bundle
	# lean and prevents editors from inventing off-spec sizes.
	#
	# Line-height in component CSS: NEVER write `line-height: <N>px`. Use the
	# ratio form `line-height: calc(<lh-px>/<fs-px>)` e.g. an 80px headline
	# with 90px design line-height becomes `line-height: calc(90/80)` (= 1.125).
	# The math documents the Figma-source pairing at a glance. Generic .lh<NN>
	# utilities stay unitless; calc(lh/fs) is for element-specific rules.
	#
	# Apply via ACF *_classes fields (e.g. heading_classes = "fs40 fw-700") OR
	# directly in PHP markup. Always additive never override component styles
	# inside the utility class.
	--------------------------------------------------------------*/
	
	/* --- Font size canonical + project additions ---
	 * Canonical scale (utility-classes/SKILL.md): .fs14 .fs15 .fs16 .fs17 .fs20--xs .fs70 .fs90 .fs120 .fs128
	 * Project additions (kept additive): .fs18 .fs20 .fs28 .fs32 .fs40 .fs80
	 * fluid-font(min, max, minVw=768, maxVw=1600) -> clamp(minpx, calc(basepx + slopevw), maxpx)
	 *   slope = (max-min)/(maxVw-minVw)*100;  base = min - (slope*minVw/100)
	 */
	.fs14    { font-size: clamp(10px, calc(6.308px + 0.481vw),  14px); line-height: 1.4; }
	.fs15    { font-size: clamp(12px, calc(9.231px + 0.361vw),  15px); line-height: 1.4; }
	.fs16    { font-size: clamp(12px, calc(8.308px + 0.481vw),  16px); line-height: calc(22/16); }
	.fs17    { font-size: clamp(12px, calc(7.385px + 0.601vw),  17px); line-height: 1.4; }
	.fs18    { font-size: clamp(14px, calc(10.308px + 0.481vw), 18px); line-height: calc(30/18); }
	.fs20    { font-size: clamp(16px, calc(12.308px + 0.481vw), 20px); line-height: calc(30/20); }
	.fs20--xs { font-size: clamp(12px, calc(4.615px + 0.962vw), 20px); line-height: calc(17/12); }
	
	.fs25    { font-size: clamp(18px, calc(13.385px + 0.701vw), 25px); line-height: calc(36/25); }
	.fs24    { font-size: clamp(18px, calc(13.385px + 0.601vw), 24px); line-height: 1.35; }
	.fs23    { font-size: clamp(18px, calc(13px + 0.601vw), 23px); line-height: calc(38/23); }
	.fs28    { font-size: clamp(20px, calc(12.615px + 0.962vw), 28px); line-height: 1.25; }
	.fs30    { font-size: clamp(20px, calc(11.769px + 1.202vw), 30px); line-height: 1.25; }
	.fs32    { font-size: clamp(22px, calc(12.769px + 1.202vw), 32px); line-height: 1.2; }
	.fs34    { font-size: clamp(20px, calc(13.769px + 1.202vw), 34px); line-height: 1.25; }
	
	.fs37   {font-size: clamp(22px, calc(12.7538px + 1.442vw), 37px);line-height: 1.2;}
	.fs35    { font-size: clamp(22px, calc(11.538px + 1.442vw), 35px); line-height: 1.2; }
	.fs40    { font-size: clamp(24px, calc(9.231px + 1.923vw),  40px); line-height: 1.15; }
	.fs50    { font-size: clamp(28px, calc(7.692px + 2.404vw), 50px); line-height: 1.1; }
	.fs70    { font-size: clamp(33px, calc(-39.444px + 6.944vw), 70px); line-height: calc(82/70); }
	.fs80    { font-size: clamp(36px, calc(0.385px + 4.808vw),  80px); line-height: calc(89/80); }
	.fs90    { font-size: clamp(37px, calc(-54.722px + 9.201vw), 90px); line-height: 1.05; }
	.fs120   { font-size: clamp(37px, calc(2.313rem + 12.351vw, 120px)); line-height: calc(45/37); }
	.fs128   { font-size: clamp(50px, calc(-46.469px + 9.443vw), 128px); line-height: 1; }
	
	/* --- Font weight (.fw-<N>) Figma-only weights --- */
	.fw-400 { font-weight: 400; }
	.fw-500 { font-weight: 500; }
	.fw-600 {font-weight: 600;}
	.fw-700 { font-weight: 700; }
	
	/* --- Line height (unitless, .lh<NN> means N.N) --- */
	.lh1    { line-height: 1; }
	.lh11   { line-height: 1.1; }
	.lh12   { line-height: 1.2; }
	.lh13   { line-height: 1.3; }
	.lh14   { line-height: 1.4; }
	.lh15   { line-height: 1.5; }
	.lh16   { line-height: 1.6; }
	.lh17   { line-height: 1.7; }
	.lh18   { line-height: 1.8; }
	
	/* --- Letter spacing (.ls<N>px, negative via .ls-<N>) --- */
	.ls0    { letter-spacing: 0; }
	.ls1    { letter-spacing: 1px; }
	.ls2    { letter-spacing: 2px; }
	.ls3    { letter-spacing: 3px; }
	.ls4    { letter-spacing: 4px; }
	.ls-1   { letter-spacing: -1px; }
	.ls-2   { letter-spacing: -2px; }
	
	
	.ls--1-5 { letter-spacing: -0.15px; }
	.ls--4-4 { letter-spacing: -0.44px; }
	
	
	/* --- Text transform / alignment --- */
	.ttu { text-transform: uppercase; }
	.ttl { text-transform: lowercase; }
	.ttc { text-transform: capitalize; }
	.ttn { text-transform: none; }
	.tac { text-align: center; }
	.tal { text-align: left; }
	.tar { text-align: right; }
	
	/*--------------------------------------------------------------
	# Home page section blocks (auto-generated by section-builder)
	--------------------------------------------------------------*/
	
	/* === Section: hero_banner ============================================ */
	.has-bottom_decore:after {
	  content: ''; background: url('assets/imgs/border-inst-1.png'); height: auto; width: 100%; display: block; z-index: 3; position: relative; aspect-ratio: 1920/101; background-size: cover; background-position: top center;
	}
	
	
	.hero_banner {
	  position: relative;
	  --align: center;
	  color: var(--clr-white);
	  background-color: var(--clr-dark);
	  background-image: var(--hero-bg, none);
	  background-size: cover;
	  background-position: center center;
	  background-repeat: no-repeat;
	  overflow: hidden;
	}
	.hero_banner__overlay {
	  position: absolute;
	  inset: 0;
	  background: linear-gradient(90deg, rgba(31,27,77,0.95) 0%, rgba(31,27,77,0.85) 50%, rgba(31,27,77,0) 100%);
	  z-index: 0;
	}
	.hero_banner__inner {
	  position: relative;
	  z-index: 1;
	  --direction: column;
	  --align: flex-start;
	  --gapx: 15px;
	  --gapy: 24px;
	  padding: 103px 20px;
	  min-height: clamp(550px, 50vw, 702px);
	  --justify: center;
	}

.hero_banner__subtitle {
    max-width: 667px;
}
	
	.hero_banner__eyebrow {
	  display: inline-block;
	  background: rgba(16, 82, 163, 0.7);
	  color: var(--clr-white);
	  font-size: clamp(14px, calc(14.154px + 0.240vw), 18px);
	  font-weight: 500;
	  padding: 10px 18px;
	  font-family: 'Poppins';
	  text-transform: uppercase;
	}
	
	.parent-pageid-584 .hero_banner__headline {
	    max-width: 991px;
	}
	
	
	.hero_banner__subtitle ul { padding: 0; }
	
	.hero_banner__subtitle li:before {
	    height: clamp(24px,2.5vw, 36px);
	    background: url("./assets/imgs/true-mark.png") no-repeat;
	    content: '';
	    display: inline-flex;
	    align-items: center;
	    width: clamp(24px,2.5vw, 36px);
	    background-size: contain;
	}
	
	.hero_banner__subtitle li {list-style: none;display: flex;align-items: center;column-gap: clamp(12px, 1.5vw,20px);margin: 0 0 17px;}

	.hero_banner__subtitle p:has(strong:only-child):first-child strong {
    font-size: clamp(22px, 2vw, 34px);
    font-weight: 500; }

	.home .hero_banner__subtitle p:has(strong:only-child):first-child strong {
	    font-size: clamp(16px, 1.5vw, 20px);
	    font-weight: 600;
	}

	.hero_banner__headline {
	  margin: 0;
	  font-weight: 700;
	  font-size: clamp(40px, 5.5vw, 80px);
	  line-height: 1.05;
	  letter-spacing: 0;
	  text-transform: uppercase;
	  color: var(--clr-white);
	  max-width: 1220px;
	}
	.hero_banner__subtitle p:has(strong):only-child {
	  margin: 0;
	  font-weight: 500;
	  font-size: clamp(18px, 1.6vw, 28px);
	  line-height: 1.4;
	  color: var(--clr-white);
	  max-width: 720px;
	  font-family: 'Poppins';
	}
	.hero_banner__badges {
	 --wrap: wrap;
	 --gapx: clamp(14px, 2vw, 30px);
	 --gapy: clamp(14px, 2vw, 49px);
	 --align: center;
	 margin: 15px 0;
	}
	.hero_banner__badge {
	   --direction: column;
	   --align: center;
	   --gapx: 12px;
	   --gapy: 12px;
	}
	.hero_banner__badge-icon {
	  width: clamp(32px, 6vw, 59px);
	  height: clamp(32px, 6vw, 59px);
	}
	.hero_banner__badge-icon img,
	.hero_banner__badge-icon svg {
	  max-width: 100%;
	  max-height: 100%;
	  width: auto;
	  height: auto;
	}
	.hero_banner__badge-text {
	  --direction: column;
	  font-size: clamp(12px, calc(10.154px + 0.240vw), 14.0px);
	  line-height: 1.3;
	  color: var(--clr-white);
	  max-width: 126px;
	  text-align: center;
	}
	.hero_banner__badge-text p {margin: 0;/* max-width: 100px; */}
	.hero_banner__badge-line { display: block; }
	.hero_banner__ctas {
	  --wrap: wrap;
	  --gapx: 16px;
	  --gapy: clamp(12px, 2vw, 20px);
	  margin-top: 8px;
	}
	.hero_banner__cta {
	  padding: 17.7px 32px;
	  min-width: 200px;
	  font-size: clamp(14px, 1.75vw, 20px);
	}
	.hero_banner__cta:hover {
	  background-color: var(--clr-white);
	  color: var(--clr-secondary);
	  border-color: var(--clr-white);
	}
	.hero_banner__cta--secondary {
	  --btn-border-color: var(--clr-secondary);
	  --btn-color: var(--clr-secondary);
	  min-width: clamp(200px, 22vw, 270px);
	}
	@media (max-width: 767px) {
	  .hero_banner {}
	  .hero_banner__inner { gap: 18px; }
	  .hero_banner__badges { gap: 20px; }
	  .hero_banner__cta { padding: 14px 24px; font-size: 14px; }
	}
	
	
	
	.swiper-arrow--prev {transform: rotate(180deg);}
	
	/* === Section: services_section ======================================= */
	.services_section {
	  background: var(--clr-white);
	  padding: clamp(60px, 9vw,125px) 0 clamp(60px, 9vw,129px);
	}
	.services_section__inner {display: flex;flex-direction: column;gap: clamp(32px, 2.75vw,50px);max-width: 1660px;}
	.services_section__header {text-align: center;display: flex;flex-direction: column;gap: 10px;align-items: center;}
	
	.services_section__inner:has(.services_section__grid) { max-width: 1440px; }
	
	.services_section__title {
	  margin: 0; text-transform: uppercase;
	  color: var(--clr-black);
	}
	
	.services_section__content {
	  margin: 0 auto; color: var(--clr-text);
	}
	
	/* Slider-wrap is the positioning context for L/R arrows.
	   min-width: 0 + max-width: 100% prevents the flex parent from growing
	   to the swiper's intrinsic content size when slides overflow. */
	.services_section__slider-wrap {
	  position: relative;
	  width: 100%;
	  max-width: 100%;
	  min-width: 0;
	}
	.services_section__slider {
	  width: 100%;
	  max-width: 100%;
	  min-width: 0;
	  overflow: hidden;
	}
	.services_section__grid {--gapx: 27px;--gapy: 24px;--justify: center;}
	
	.services_section__card {
	  position: relative;
	  overflow: hidden;
	}
	
	.services_section__cta-wrap { --justify: center; margin-top: -18px; }
	
	.services_section .has-bottom_decore:after {position: ABSOLUTE;bottom: 0;left: 0;background: url('./assets/imgs/service-card-decore.svg'), linear-gradient(0deg, #fff 30%, transparent -440%);aspect-ratio: 464/57;background-position: bottom center, top center;background-size: 100%;}
	.services_section a { text-decoration: none;}
	
	.services_section__card-media {
	  width: 100%;
	  height: clamp(400px,46vw,540px);
	}
	.services_section__card-media img {
	  width: 100%;
	  height: 100%;
	  object-fit: cover;
	  display: block;
	  transition: transform 0.5s ease;
	  min-height: clamp(440px,30vw, 540px);
	}
	.services_section__card:hover .services_section__card-media img { transform: scale(1.04); }
	.services_section__card-footer {
	  padding: 60px 28px;
	  --justify: flex-end;
	  --gapx: clamp(26px, 4vw, 40px);
	  --direction: column;
	  position: absolute;
	  bottom: 0;
	  width: 100%;
	  left: 0;
	  background: linear-gradient(0deg, #1B1656, transparent);
	  height: 68%;
	  z-index: 1;
	  color: var(--clr-white);
	  box-sizing: border-box;
	  transition: .5s ease;
	}
	
	.services_section__card:hover 
	.services_section__card-hover {margin: 0;max-width: 320px;height: auto;}
	
	.services_section__card:hover { color: #fff; }
	
	.services_section__card:hover .services_section__goto { transform: inherit; }
	
	.services_section__card:hover .services_section__card-link {
	--justify: center; }
	
	.services_section__card:hover .services_section__goto {display: block;max-height: inherit;margin: 0;background-size: contain;}
	
	.services_section__card:hover .services_section__card-footer {
		background: rgba(27, 22, 86, .8);
		height: 100%;
		color: #fff;
		}
	
	
	.services_section__card-icn {
	height: clamp(42px, 5vw, 60px);
	width: clamp(42px, 5vw, 60px);
	}
	
	
	.services_section__card-link {
	  --justify: flex-end;
	  --direction: column;
	  --gapx: 20px;
	  --gapy: 12px;
	  text-decoration: none;
	  color: inherit;
	  transition: color 0.3s ease;
	  height: 100%;
	  transition: .5s ease;
	  --wrap: nowrap;
	}
	
	.services_section__card-hover {height: 0;overflow: hidden;}
	
	.services_section__goto {
		transform: translate(300%, 300%);
		transition: .5s ease;
		background: url('./assets/imgs/goto-button.png');
		height: clamp(32px, 6vw, 70px);
		width: clamp(32px, 6vw, 70px);
		max-height: 0;
		margin-bottom: -20px;
		background-size: contain;
		background-repeat: no-repeat;
	}
	
	.services_section__card-link:hover {color: var(--clr-white);}
	.services_section__card-title {
	  margin: 10px 0 6px;
	  color: inherit;
	  font-family: 'Poppins';
	}
	.services_section__card-bullet {
	  flex: 0 0 auto;
	  display: inline-block;
	  width: 22px;
	  height: 22px;
	  border-radius: 50%;
	  background: var(--clr-secondary);
	  position: relative;
	}
	.services_section__card-bullet::before {
	  content: "";
	  position: absolute;
	  inset: 0;
	  margin: auto;
	  width: 10px;
	  height: 10px;
	  background: var(--clr-white);
	  clip-path: polygon(
	    50% 0%, 61% 35%, 98% 35%, 68% 57%, 79% 91%, 50% 70%, 21% 91%, 32% 57%, 2% 35%, 39% 35%
	  );
	}
	.services_section__card-band {
	  position: absolute;
	  bottom: 18px;                /* sits flush above the chevron tab */
	  left: 0;
	  right: 0;
	  height: 6px;
	  background: var(--clr-secondary);
	}
	
	
	
	.services_section__card-chevron {
	  position: absolute;
	  left: 50%;
	  bottom: 0;
	  width: 0;
	  height: 0;
	  transform: translate(-50%, 18px);
	  border-left: 16px solid transparent;
	  border-right: 16px solid transparent;
	  border-top: 18px solid var(--clr-secondary);
	  pointer-events: none;
	}
	/* Slider nav arrows absolute-positioned outside the slider on the L/R sides
	   at >=768px, centered below on mobile. */
	.swiper-arrow {
	  width: clamp(28px, 2.5vw, 40px);
	  height: clamp(28px, 2.5vw, 40px);
	  border-radius: 50%;
	  border: none;
	  background: url('./assets/imgs/content-frame-icon-2.svg') no-repeat center;
	  font-size: 0;
	  cursor: pointer;
	  transition: all 0.3s ease;
	  z-index: 5;
	  display: inline-flex;
	  align-items: center;
	  justify-content: center;
	  background-size: contain;
	}
	.swiper-arrow:hover {
	  opacity: .7;
	}
	.swiper-arrow.is-disabled {
	  pointer-events: none;
	  cursor: not-allowed;
	  opacity: 0;
	}
	
	
	.services_section__grid .services_section__card {max-width: calc( (100% - 48px) / 3);}
	
	
	@media (max-width: 1280px) {
	
	.services_section__grid .services_section__card {max-width: calc( (100% - 24px) / 2);}
	
	}
	
	@media (max-width: 767px) {
	  .services_section { padding: 60px 0; }
	  .services_section__inner { gap: 32px; }
	  .services_section__slider-wrap { padding: 0; }
	  .services_section__nav-btn {margin: 14px 8px 0;}
	  .services_section__grid { grid-template-columns: 1fr; }
	  .services_section__nav-btn--prev,
	  .services_section__nav-btn--next {
	    display: inline-flex;
	  }
	  .services_section__slider-wrap {
	    text-align: center;
	  }

	.services_section__card-link {--align: center;}
	.services_section__slider { margin: 0 0 20px; }
	.services_section__grid .services_section__card { max-width: 100%; }
	
		
	}
	
	
	
	
	@media (min-width: 768px) {
	  .services_section__slider-wrap {padding: 0 clamp(54px,4.5vw,82px);}
	  .swiper-arrow {
	    position: absolute;
	    top: 50%;
	    transform: translateY(-50%);
	  }

		.swiper-arrow--prev {transform: translateY(-50%) rotate(180deg);left: 0;}
	
	 .testimonials__nav-btn {position: relative;transform: inherit;}
	
	
	.testimonials__nav {padding-bottom: 1.75%;}
	  .swiper-arrow--next { right: 0; }
	}
	
	.testimonials__nav-btn--prev { transform: rotate(180deg); }
	
	/* === Section: residential_roofing_section (marquee) ================== */
	.residential_roofing_section {
	  width: 100%;
	  background-color: var(--rrs-bg, var(--clr-secondary));
	  padding: 18px 0;
	  overflow: hidden;
	}
	.residential_roofing_section__track {
	  --wrap: nowrap;
	  width: max-content;
	  animation: residential_roofing_marquee 30s linear infinite;
	  will-change: transform;
	}
	.residential_roofing_section__list {
	  list-style: none;
	  margin: 0;
	  padding: 0;
	  --align: center;
	  --gapx: 60px; --gapy: 60px;
	  padding-right: 60px;
	  flex-shrink: 0;
	}
	.residential_roofing_section__item {
	  line-height: 1;
	  letter-spacing: 0.02em;
	  text-transform: uppercase;
	  color: var(--clr-white);
	  white-space: nowrap;
	  --align: center;
	}
	.residential_roofing_section__item::after {
	  content: "";
	  display: inline-block;
	  width: 18px;
	  height: 18px;
	  margin-left: 60px;
	  border: 2px solid var(--clr-white);
	  border-radius: 50%;
	  vertical-align: middle;
	}
	@keyframes residential_roofing_marquee {
	  from { transform: translateX(0); }
	  to   { transform: translateX(-50%); }
	}
	@media (prefers-reduced-motion: reduce) {
	  .residential_roofing_section__track { animation: none; }
	}
	
	/* === Section: bottom_section ========================================= */
	.bottom_section {
	  background: var(--bs-bg, var(--clr-white));
	  color: #000;
	}
	.bottom_section__grid {
	  display: grid;
	  grid-template-columns: 1fr 1fr;
	  align-items: stretch;
	  min-height: 460px;
	  overflow: hidden;
	  gap: clamp(32px, 4vw, 61px) clamp(32px, 3vw, 48.5px);
	}
	
	.bottom_section__media .bottom_section__grid {}
	
	.bottom_section:has(.wrapper) .bottom_section__content {
	    background: transparent;
	    padding: 0;
	}
	
	.bottom_section:has(.wrapper):after {
	    width: 0;
	}
	
	.bottom_section:has(.wrapper) {
	    padding: clamp(64px, 8vw,150px) 0;
	}

	.bottom_section:has(.wrapper) + .bottom_section:has(.wrapper) { padding-top: 0; }
	
	
	.bottom_section:has(.wrapper) .bottom_section--image-right .bottom_section__media { padding-left: 20px; }
	.bottom_section:has(.wrapper) .bottom_section--image-left .bottom_section__media { padding-right: 20px; }
	
	.has-bottom_decore--abs { position: relative; }
	.has-bottom_decore--abs:after {position: absolute;bottom: 0;left: 0;z-index: 5;}
	
	.bottom_section__media img { max-width: 100%; }
	.bottom_section--image-right .bottom_section__media {order: 2;}
	.bottom_section--image-right .bottom_section--image-right .bottom_section__content {order: 1; margin-right: auto; margin-left: 0; }
	.bottom_section__content-inner { }
	.bottom_section__media {
	  width: 100%;
	  min-height: 380px;
	  overflow: hidden;
	}
	.bottom_section__media img {
	  width: 100%;
	  height: 100%;
	  object-fit: cover;
	  object-position: center;
	  display: block;
	}
	
	.bottom_section--image-right .bottom_section__content-inner {
	    margin-right: auto;
	    margin-left: 0;
	}
	
	/* --- Variant: no-image (auto-detected when image field is empty) ---------- */
	/* Stacked text block. Container width matches site-wide .wrapper. */
	.bottom_section--no-image {
	  margin-block: clamp(36px, 5vw, 50px);
	  padding: clamp(36px, 5vw, 50px);
	}
	.bottom_section--no-image .bottom_section__grid {
	  grid-template-columns: 1fr;
	  min-height: auto;
	  max-width: var(--container-width);
	  margin-inline: auto;
	  padding-inline: 20px;
	}
	.bottom_section--no-image .bottom_section__content {
	  background: transparent;
	  color: var(--clr-black);
	  padding: 0;
	  text-align: left;
	}
	body .bottom_section--no-image .bottom_section__content-inner {
	  --align: flex-start;
	  max-width: 100%;
	}
	.bottom_section--no-image .bottom_section__title { color: var(--clr-black); }
	.bottom_section--no-image .bottom_section__subtitle { color: var(--clr-text); }
	.bottom_section--no-image .bottom_section__body {color: var(--clr-text);margin: 0 0 clamp(10px, 2.25vw, 40px);}
	.bottom_section--dark .bottom_section__body:last-child {
	    margin-bottom: 0; }
	
	body .pricing_faq--navy-items {
	    background: #F7F7F7;
	    margin: 0 auto;
	}
	
	.bottom_section--no-image + .bottom_section--no-image .bottom_section__content {
	    padding-top: clamp(36px, 5vw, 50px);
	    border-top: 1px solid #D7D7D7;
	}
	
	
	.bottom_section--no-image + .bottom_section--no-image.bottom_section--dark .bottom_section__content { padding-top: 0; border-top: 0; }
	
	/* When two no-image blocks stack, halve the gap between them. */
	.bottom_section--no-image + .bottom_section--no-image {padding-bottom: 0;padding-top: 0;}
	
	/* --- Variant: dark (inset navy card on white section bg) ------------------ */
	/* Section bg stays white with vertical breathing space. content-inner is the
	   navy card. The OUTER grid uses the site-wide container width. */
	.bottom_section--dark {
	  background: #1B1656;
	}
	.bottom_section--dark .bottom_section__content { background: transparent; color: var(--clr-white); padding: 0; text-align: left; }
	.bottom_section--dark .bottom_section__content-inner {
	  background: var(--clr-dark, #1B1656);
	  color: var(--clr-white);
	  padding: clamp(36px, 8vw, 104px) clamp(36px, 5vw, 94px) clamp(54px, 8vw, 182px);
	  --align: flex-start;
	  width: 100%;
	  max-width: 100%;
	  box-sizing: border-box;
	  flex: 1 1 auto;
	  min-width: 0;
	}
	.bottom_section--dark .bottom_section__title,
	.bottom_section--dark .bottom_section__subtitle { color: var(--clr-white); }
	.bottom_section--dark .bottom_section__body { color: rgba(255, 255, 255, 0.88); }
	 
	/* --- Variant: media-only (image banner no content side rendered) -------- */
	/* Banner spans the wrapper width. Minimal vertical padding so it feels inline. */
	.bottom_section--media-only {margin-block: clamp(24px, 6vw, 100px) clamp(36px, 5vw, 50px);}
	 
	
	.bottom_section--media-only .bottom_section__grid {
	  grid-template-columns: 1fr;
	  min-height: auto;
	  gap: 0;
	  max-width: var(--container-width);
	  margin-inline: auto;
	  padding-inline: 20px;
	}
	.bottom_section--media-only .bottom_section__media { width: 100%; min-height: 0; max-height: 641px; }
	.bottom_section--media-only .bottom_section__media img { width: 100%; height: auto; max-height: 641px; object-fit: cover; }
	
	.bottom_section__content {
	  background: var(--clr-dark);
	  color: var(--sec-color, #000);
	  --align: center;
	  padding: clamp(60px, 8vw, 83px) clamp(24px, 6vw, 100px) clamp(60px, 11vw, 196px);
	  --align: center;
	}
	.bottom_section__content-inner {
	  --direction: column;
	  --gapx: 10px;
	  --gapy: 10px;
	  max-width: 620px;
	}
	.bottom_section__subtitle {
	  text-transform: uppercase;
	}
	
	.bottom_section__grid.nowrapper {
	    column-gap: 0;
	    row-gap: 0;
	}

	.bottom_section__grid.nowrapper 
	.bottom_section__content {color: var(--sec-color, #fff);}
	
	.bottom_section__title {
	  margin: 0 0 clamp(10px, 1.25vw, 20px);
	  line-height: 1.1;
	  text-transform: uppercase;
	}
	
	.bottom_section__body {
		margin: 0 0 clamp(10px, 1.25vw, 20px);
	}
	
	.bottom_section__body, .bottom_section__body a {
	  font-family: var(--ff-primary);
	}
	
	.bottom_section__body h2 { font-size: clamp(33px, calc(-39.444px + 6.944vw), 70px); 
	text-transform: uppercase; margin: 20px 0; } 
	
	.bottom_section__body strong:first-child { color: #E0A117 }
	
	.bottom_section__body a {color:  #E0A117; }
	
	.bottom_section__body a:hover {  opacity: .8; } 
	
	.bottom_section__body p { margin: 0 0 1em; }
	.bottom_section__body p:last-child { margin-bottom: 0; }
	.bottom_section__cta {
	  align-self: flex-start;
	  --btn-hover-border-color: var(--clr-secondary);
	}
	 
	@media (max-width: 991px) {
		.bottom_section--image-right .bottom_section__media { padding: 0; }
	  .bottom_section__grid { grid-template-columns: 1fr; }
		.bottom_section__content-inner { max-width: 100%; }
	  .bottom_section--image-right .bottom_section__media,
	  .bottom_section--image-right .bottom_section__content {order: initial;}
	  .bottom_section__media { min-height: 280px; }
	   
	}
	
	
	@media (min-width: 2000px) {
		.bottom_section--image-left .bottom_section__content-inner, .bottom_section--image-right .bottom_section__content-inner {
			max-width: 690px;
			margin: 0 auto;
			}
	}
	/* === Section: our_services_area ====================================== */
	.our_services_area {
	  color: var(--clr-white);
	  padding: clamp(54px, 7vw, 139px) 0 clamp(54px, 8vw, 151px);
	  overflow: hidden;
	  background: #F7F7F7;
	}
	.our_services_area__inner {
	  display: grid;
	  grid-template-columns: 1fr 1.43fr;
	  gap: clamp(40px,4.5vw, 82px);
	  align-items: start;
	  background: var(--clr-dark);
	  padding: clamp(54px, 4vw, 64px) clamp(24px, 5vw, 80px) clamp(54px, 5vw, 72px) clamp(24px, 5vw, 73px);
	  position: relative;
	}
	.our_services_area__title {
	  margin: 0 0 clamp(32px, 7vw, 47px) 0;
	  font-weight: 700;
	  font-size: clamp(40px, 5vw, 80px);
	  line-height: 1;
	  text-transform: uppercase;
	  color: var(--clr-white);
	}
	
	.our_services_area__title:before {
	    content: '';
	    position: absolute;
	    background: #E0A117;
	    height: clamp(40px, 6vw,80px);
	    width: 5px;
	    display: block;
	    top: clamp(54px, 4vw, 69px);
	    left: 0;
	}
	
	
	.our_services_area__body {
	  font-size: clamp(14px, calc(12.154px + 0.240vw), 16.0px);
	  line-height: 1.7;
	  color: rgba(255,255,255,0.85);
	  margin-bottom: clamp(42px, 6vw, 98px);
	}

	.our_services_area__body a { color: #fff; }
	.our_services_area__body a:hover { color: var(--clr-secondary); }

	.our_services_area__body p {margin: 0 0 1em;max-width: 394px;}
	.our_services_area__body p:last-child { margin-bottom: 0; }
	.our_services_area__cta-card {
	  border: 1px solid rgba(255,255,255,0.18);
	  padding: 28px clamp(24px, 3vw, 45px) clamp(24px, 3vw, 51px);
	  --direction: column;
	  --align: flex-start;
	  --gapx: clamp(22px, 2vw, 34px);
	  --gapy: 14px;
	  max-width: min(498px, 100%);
	  background: #D9D9D912;
	}
	.our_services_area__cta-label {
	  margin: 0;
	  font-size: clamp(20px, calc(16.231px + 1.361vw), 32px);
	  font-weight: 700;
	  line-height: 1.3;
	  text-transform: uppercase;
	  letter-spacing: 0.04em;
	  color: var(--clr-white);
	  font-family: var(--ff-secondary);
	}
	.our_services_area__cta-btn {
	  background-color: var(--clr-secondary);
	  color: var(--clr-white);
	  border: 2px solid var(--clr-secondary);
	  padding: 15px 19px;
	  transition: all 0.3s ease;
	}
	.our_services_area__cta-btn:hover {
	  background-color: transparent;
	  color: var(--clr-secondary);
	}
	.our_services_area__right {display: flex;flex-direction: column;}
	.our_services_area__map {
	  width: 100%;
	  max-height: 317.5px;
	}
	.our_services_area__map iframe {display: block;width: 100%;border-radius: 0;}
	.our_services_area__cities {
	  list-style: none;
	  margin: 0;
	  padding: clamp(22px, 2vw, 43.5px) clamp(7px, 2vw, 44px) clamp(22px, 2vw, 46px);
	  display: grid;
	  grid-template-columns: repeat(3, 1fr);
	  gap: clamp(10px, 1.5vw,20px) clamp(12px, 1.75vw,24px);
	  background: #fff;
	  color: #121212;
	}
	.our_services_area__city {
	  --align: center;
	  --gapx: 8px;
	  --gapy: 8px;
	  font-size: clamp(14px, calc(12.154px + 0.240vw), 16.0px);
	  font-weight: 500;
	  color: #121212;
	  cursor: pointer;
	  transition: color 0.2s ease;
	  --wrap: nowrap;
	}
	
	.our_services_area__city { pointer-events: none; }
	.our_services_area__city-name {
	    max-width: calc(100% - 36px);
	}
	.our_services_area__city:hover {color: var(--clr-secondary);}
	
	.our_services_area__city-marker {background: url('./assets/imgs/location_on.svg') no-repeat;background-size: contain;height: 24px;width: 24px;}
	.our_services_area__city.is-active .our_services_area__city-marker {
	  transform: translateX(2px) scale(1.15);
	}
	@media (max-width: 991px) {
	  .our_services_area { padding: 72px 0; }
	  .our_services_area__inner { grid-template-columns: 1fr; gap: 36px; }
	}
	@media (max-width: 575px) {
	  .our_services_area__cities { grid-template-columns: repeat(2, 1fr); }
	}
	
	/* --- Variant: cities-grid (white bg, title + cities left, map right) ------- */
	.our_services_area--cities-grid { background: var(--clr-white); color: var(--clr-black); }
	.our_services_area--cities-grid .our_services_area__inner {
	  background: var(--clr-white);
	  color: var(--clr-black);
	  padding: 0;
	  grid-template-columns: 1.2fr 1fr;
	  gap: clamp(24px, 3vw, 30px);
	  align-items: stretch;
	}
	.our_services_area--cities-grid .our_services_area__title {
	  color: #1B1656;
	  margin: 0 0 clamp(28px, 4vw, 48px);
	}
	.our_services_area--cities-grid .our_services_area__title:before { display: none; }
	.our_services_area--cities-grid .our_services_area__cities {
	  padding: 0;
	  background: transparent;
	  grid-template-columns: repeat(3, minmax(0, 1fr));
	  gap: clamp(12px,1.5vw, 16px) clamp(12px,2vw, 32px);
	}
	.our_services_area--cities-grid .our_services_area__city {
	  color: var(--clr-dark, #1B1656);
	  font-weight: 500;
	  font-size: clamp(14px, calc(12.231px + 0.361vw), 18px);
	  padding: 14px 10px 13px;
	  border-bottom: 1px solid rgba(27, 22, 86, 0.10);
	  --gapy: 12px;
	}
	.our_services_area--cities-grid .our_services_area__city-marker {
	  width: 16px;
	  height: 22px;
	  background-image: url('./assets/imgs/city-pin.png');
	  min-width: 16px;
	}
	.our_services_area--cities-grid .our_services_area__right { gap: 0; }
	.our_services_area--cities-grid .our_services_area__map {
	  width: 100%;
	  max-height: none;
	  height: 100%;
	}
	.our_services_area--cities-grid .our_services_area__map img,
	.our_services_area--cities-grid .our_services_area__map-image {
	  width: 100%;
	  height: 100%;
	  display: block;
	  object-fit: cover;
	}
	
	@media (max-width: 991px) {
	  .our_services_area--cities-grid .our_services_area__inner { grid-template-columns: 1fr; }
	}
	@media (max-width: 575px) {
	  .our_services_area--cities-grid .our_services_area__cities { grid-template-columns: repeat(2, 1fr); }
	}
	
	/* === Section: memberships_logos_container ============================ */
	
	.memberships_logos_container {
	  background: var(--mlc-bg, var(--clr-white));
	  padding: clamp(54px, 7vw,112px) 0 clamp(54px, 7vw,120px);
	  border-bottom: 1px solid transparent;
	  margin-bottom: -1px;
	  position: relative;
	  z-index: 1;
	}
	
	
	.recent_articles_videos:has(+ .memberships_logos_container) {
		padding-bottom: clamp(114px, 13vw, 250px);
	}
	
	.recent_articles_videos + .memberships_logos_container {padding-top: 0;background: #d09a31;}
	
	.memberships_logos_container:has(+ .our_process) {
	padding-bottom: 0;}
	
	.recent_articles_videos + .memberships_logos_container .wrapper.memberships_logos_container__inner {
	    transform: translateY(-50%);
	    margin-bottom: -50%;
	    }
	
	
	.memberships_logos_container__title {
	    text-align: center;
	    margin: 0 0 clamp(54px,4vw,60px);
	    text-transform: uppercase;
	}
	
	.memberships_logos_container__title + .memberships_logos_container__list {
	    background: transparent;
	}
	
	.why_customers_choose:has(+ .testimonials) {
	    padding-bottom: 0;
	}
	
	.memberships_logos_container__list {
	  list-style: none;
	  margin: 0;
	  padding: 0;
	  --wrap: wrap;
	  --align: center;
	  --justify: space-around;
	  --gapx: 6px;
	  --gapy: clamp(8px, 3vw, 46px);
	  background: #fff;
	  padding: 0 10px;
	}
	.memberships_logos_container__item {
	  --align: center;
	  --justify: center;
	  max-width: 17%;
	}
	.memberships_logos_container__item img {
	  width: auto;
	  height: auto;
	  object-fit: contain;
	  transition: opacity 0.3s ease;
	  max-height: 154px;
	}
	.memberships_logos_container__link { display: inline-flex; transition: opacity 0.3s ease; }
	.memberships_logos_container__link:hover { opacity: 0.75; }
	@media (max-width: 767px) {
	  .memberships_logos_container__list { padding: 10px}
	.memberships_logos_container__item { max-width: 25%}
	  .memberships_logos_container { padding: 28px 0; }
	 
	}
	
	/* === Section: testimonials =========================================== */

	.bottom_section:has(.wrapper) + .testimonials {
	    padding-top: clamp(32px, 9vw,140px);
	}

	.bottom_section:has(.wrapper) + .textimonials {
	    padding-top: clamp(32px, 9vw,140px);
	}
	
	.bottom_section:has(.wrapper) + .testimonials .testimonials__header:before {
	    content: '';
	    width: 100%;
	    position: absolute;
	    height: 1px;
	    background: #0000001A;
	    top: 0;
	    left: 50%;
	    transform: translateX(-50%);
	    top: calc(clamp(32px, 9vw,140px) * -1);
	}

	

	.testimonials {
		position: relative;
	  background: var(--clr-white);
	  padding: clamp(32px, 7vw,97px) 0 clamp(32px, 9vw,144px);
	  --icn-size: clamp(32px, 6vw,60px);
	}
	.testimonials__inner {
	  --direction: column;
	  --gapx: clamp(32px, 3vw, 54px);
	}
	/* Source container also the slider mount point after JS swap.
	   min-width:0 prevents the swiper-wrapper's intrinsic slide widths from
	   stretching the parent flex item. */
	.testimonials__reviews {
	  width: 100%;
	  max-width: 100%;
	  min-width: 0;
	  overflow: hidden;
	}
	/* While the plugin renders its native list, keep it invisible until JS
	   rebuilds the slider prevents the unstyled list from flashing. */
	.testimonials__reviews .wp-gr { visibility: hidden; }
	.testimonials__reviews .testimonials__slider { visibility: visible; }
	.testimonials__header {
	  --align: flex-end;
	  --justify: space-between;
	  --gapx: 24px;
	  --gapy: 24px;
	  --wrap: wrap;
	  position: relative;
	}
	.testimonials__title-block { display: flex; flex-direction: column; gap: 10px; }
	.testimonials__subtitle {
	  font-size: clamp(15px, calc(12.231px + 0.361vw), 18.0px);
	  font-weight: 600;
	  letter-spacing: 0.06em;
	  text-transform: uppercase;
	  color: var(--clr-primary);
	}
	.testimonials__title {
	  margin: 0;
	  text-transform: uppercase;
	}
	.testimonials__nav { display: flex; gap: 12px; }
	.testimonials__nav-btn {
	}
	.testimonials__nav-btn:hover { color: var(--clr-primary); border-color: var(--clr-primary); }
	.testimonials__nav-btn.is-disabled {
	  opacity: 0.35;
	  pointer-events: none;
	  cursor: not-allowed;
	}
	/* Slider gets top padding so the quote-badge that protrudes above each card
	   is not clipped by the swiper's overflow:hidden. */
	.testimonials__slider {
	  width: 100%;
	  overflow: hidden;
	  padding-top: calc(var(--icn-size)/2);
	}
	.testimonials__card {
	  position: relative;
	  background: var(--clr-light);
	  padding: 71px 0 clamp(32px, 2.5vw, 44px) clamp(32px, 3.5vw, 77px);
	  display: flex;
	  flex-direction: column;
	  gap: 18px;
	  height: auto;
	  box-sizing: border-box;
	  border: #DDD 1px solid;
	}
	/* Make swiper slides equal height (tallest card sets height; shorter cards
	   stretch and push the author/divider to the bottom). */
	
	.testimonials__stars .rpi-stars {
	    --star-color: #E0A117;
	}
	
	.testimonials__quote-badge {
	  position: absolute;
	  top: calc(var(--icn-size)/-2);
	  right: clamp(32px, 4vw,53px);
	  width: var(--icn-size);
	  height: var(--icn-size);
	    background: url( './assets/imgs/quote-icon.png') no-repeat;
	  background-size: contain;
	  font-size: 0;
	}
	.testimonials__quote {
	  margin: 0 0 clamp(32px, 2.5vw, 44px);
	  line-height: calc(30/18);
	  color: #686868;
	  -webkit-line-clamp: 7;       /* number of lines */
	  -webkit-box-orient: vertical;
	  overflow: hidden;
	  display: -webkit-box;
	  padding-right: clamp(32px, 3vw, 53px);
	}
	.testimonials__divider {
	  border: 0;
	  border-top: 1px solid var(--clr-border);
	  margin: auto 0 0;          /* pushes itself + author to the card bottom */
	}
	.testimonials__author {
	  margin: auto 0 0;
	  font-weight: 700;
	  color: #393939;
	  padding-top: clamp(32px, 2.5vw, 40px);
	  border-top: 1px solid #ddd;
	}
	@media (max-width: 767px) {

	.testimonials__header { position: inherit; }
	.testimonials {padding: 60px 0 110px;}
	.testimonials__inner { gap: 28px; }
	.testimonials__card { padding: 28px 24px 24px; }
	.testimonials__nav { position: absolute; bottom: 40px; left: 50%; transform: translate(-50%); }
	
	
	}
	
	/* === Section: contact_us ============================================= */
	.contact_us {
	  background-color: var(--clr-dark);
	  color: var(--clr-white);
	  padding: 110px 0;
	  position: relative;
	}
	
	.contact_us:before {content: '';position: absolute;display: block;height: 100%;width: 100%;top: 0;background: var(--clr-dark);opacity: .92;z-index: 0;}
	
	.contact_us__inner {
	  --direction: column;
	  --gapx: clamp(40px, 4vw, 70px);
	  --gapy: 36px;
	  z-index: 2;
	  position: relative;
	}
	.contact_us__header {text-align: center;display: flex;flex-direction: column;gap: 6px;align-items: center;}
	.contact_us__subtitle {
	  font-size: clamp(14px, calc(12.154px + 0.240vw), 16.0px);
	  font-weight: 600;
	  letter-spacing: 0.08em;
	  text-transform: uppercase;
	  color: var(--clr-secondary);
	}
	.contact_us__title {
	  margin: 0;
	  font-weight: 700;
	  font-size: clamp(36px, 4.5vw, 70px);
	  line-height: 1.05;
	  text-transform: uppercase;
	  color: var(--clr-white);
	}
	.contact_us__card {
	  max-width: 1300px;
	  width: 100%;
	  margin: 0 auto;
	  background: linear-gradient(180deg, rgba(255, 255, 255, 0.1) 1.47%, rgba(255, 255, 255, 0) 100%);
	  padding: clamp(28px, 4vw, 70px) clamp(28px, 8vw, 123px);
	}
	.contact_us__card-heading {
	  margin: 0 0 clamp(28px, 3.5vw,47px) 0;
	  text-align: center;
	  font-weight: 700;
	  font-size: clamp(24px, 2.6vw, 40px);
	  line-height: calc(70/40);
	  text-transform: uppercase;
	  color: var(--clr-white);
	}
	.contact_us__form-fallback {
	  margin: 0;
	  text-align: center;
	  font-size: clamp(12px, calc(10.154px + 0.240vw), 14.0px);
	  color: rgba(255,255,255,0.7);
	  font-style: italic;
	}
	
	
	.gform_wrapper { --gf-form-gap-x: 20px !important;
	--gf-form-gap-y: 20px !important; }
	
	:focus-within {
	    outline: none !important;
	}
	
	body .gform_wrapper .gfield_label { display: none; }
	body .gform_wrapper input[type="text"],
	body .gform_wrapper input[type="email"],
	body .gform_wrapper input[type="tel"],
	body .gform_wrapper input[type="url"],
	body .gform_wrapper input[type="number"],
	body .gform_wrapper select,
	body .gform_wrapper textarea {
	  width: 100%;
	  padding: clamp(18px, 1.25vw, 26px) clamp(18px, 1.25vw, 28px);
	  border: 0;
	  border-radius: 0;
	  color: #262422;
	  box-sizing: border-box;
	  line-height: 1 !important;
	  font-size: clamp(12px, 1.75vw, 18px);
	  height: clamp(42px, 3.75vw, 70px);
	  min-block-size: inherit !important;
	  display: inline-flex;
	  align-items: center;
	}


	body .gform_wrapper input:focus,
	body .gform_wrapper select:focus,
	body .gform_wrapper textarea:focus {outline-width: 0 !important;!i;!;}



	body .gform_wrapper select {
	  appearance: none;
	  -webkit-appearance: none;
	  -moz-appearance: none;
	  padding-right: 48px;
	  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 8' width='12' height='8'><path d='M1 1l5 5 5-5' fill='none' stroke='%231B1656' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/></svg>");
	  background-repeat: no-repeat;
	  background-position: right 20px center;
	  background-size: 12px 8px;
	  cursor: pointer;
	  line-height: 1;
	  padding-top: 0;
	  padding-bottom: 0;
	}
	body .gform-theme--foundation .gfield textarea.large, body .gform-theme--foundation .gfield textarea {
	  height: 120px !important;
	  resize: none;
	  min-block-size: inherit;
	  max-height: inherit;
	}
	body .gform_wrapper .gform_footer {
	  margin-top: clamp(30px, 4vw, 70px);
	  display: block;
	}
	
	/* Gravity Forms submit button adopt the .c-button--cta contract via vars.
	   Gravity Forms doesn't accept extra classes on its <input type="submit">,
	   so we scope the c-button vars to .gform_button here and let the base
	   .c-button declarations cascade through. */
	body .gform_wrapper .gform_footer { text-align: center; }
	.gform_wrapper .gform_button {
	  /* Reset GF's inline-styled defaults that win specificity.
	     Auto width padding-driven sizing per Figma. */
	  font-family: 'Poppins' !important;
	  text-transform: uppercase !important;
	  background: #E0A117 !important;
	  border-radius: 0 !important;
	  font-size: clamp(14px, 2vw, 20px) !important;
	  padding: 19px 14px !important;
	  min-width: clamp(180px, 13vw, 221px) !important;
	  outline-width: 0 !important;
	  align-items: center;
	}


 

	body .gform_wrapper .gform_button:hover,
	.contact_us .gform_wrapper .gform_button:focus-visible {
	  background: var(--clr-white) !important;
	  color: var(--clr-secondary) !important;
	}
	
	@media (max-width: 767px) {
	  .contact_us { padding: 64px 0; }
	}
	
	/* === Section: why_customers_choose =================================== */
	.why_customers_choose {
	  background: var(--clr-light, #F7F7F7);
	  color: var(--clr-text, #4A4A51);
	  padding: clamp(64px, 7vw,126px) 0;
	}

	.why_customers_choose--callout-left { padding: clamp(64px, 7vw,117px) 0 0; }
	
	.why_customers_choose--callout-left .why_customers_choose__inner {padding-bottom: 57px;}

	.why_customers_choose__inner {
	  display: grid;
	  grid-template-columns: 47.5% auto;
	  gap: 35px;
	  align-items: start;
	}
	.why_customers_choose__left {
	  --direction: column;
	  --gapx: 16px; --gapy: 16px;
	}
	.why_customers_choose__subtitle {
	  margin: 0;
	  text-transform: uppercase;
	  color: #1052A3;
	}
	.why_customers_choose__title {
	  margin: 0 0 clamp(4px, 2vw, 16px) 0;
	  text-transform: uppercase;
	  color: var(--clr-black);
	  max-width: 700px;
	}
	.why_customers_choose__mascot {
	  width: 100%;
	}
	.why_customers_choose__mascot img {
	  display: block;
	  width: 100%;
	  height: auto;
	  object-fit: contain;
	  max-width: 282px;
	}
	.why_customers_choose__right {
	  --direction: column;
	  --gapx: 10px;
	  --gapy: 10px;
	  padding-bottom: 48px;
	}
	.why_customers_choose__feature {
	  --align: flex-start;
	  --gapx: 20px;
	  --gapy: 20px;
	  background: var(--clr-white);
	  border: 1px solid var(--clr-border);
	  box-shadow: 0 2px 8px rgba(0,0,0,0.04);
	  padding: 23px 25px;
	  --icn-size: clamp(42px, 7vw,76px);
	}
	.why_customers_choose__feature-icon {
	  width: var(--icn-size);
	  height: var(--icn-size);
	  border-radius: 50%;
	  background: var(
	  --clr-secondary);
	  --align: center;
	  --justify: center;
	}
	.why_customers_choose__feature-icon img {
	  object-fit: contain;
	}
	.why_customers_choose__feature-body {
	  max-width: calc(100% - var(--icn-size) - var(--gapy));
	  display: flex;
	  flex-wrap: wrap;
	  align-items: center;
	  column-gap: 16px;
	  row-gap: 4px;
	}
	.why_customers_choose__feature-title {
	  margin: 0;
	  font-family: 'Poppins';
	}
	
	.why_customers_choose__feature-desc {
	  margin: 0;
	}
	
	
	.why_customers_choose:has( + .recent_articles_videos) {padding-bottom: 0;}
	
	
	@media (max-width: 991px) {
	
	  .why_customers_choose:has( + .recent_articles_videos) {padding: 64px 0;}
	  .why_customers_choose__right { padding-bottom: 0; }
	  
	  .why_customers_choose__inner { grid-template-columns: 1fr; gap: 36px; }
	  .why_customers_choose__mascot img {max-height: clamp(280px, 40vw, 340px);}
	}
	@media (max-width: 575px) {
	  
	  .why_customers_choose__feature {padding: 18px;gap: 14px;--direction: column;}
	  .why_customers_choose__feature-icon {}
	  .why_customers_choose__feature-title { font-size: 17px; }
	}
	
	/* === Section: recent_articles_videos ================================= */
	.recent_articles_videos {position: relative;color: var(--clr-white);padding: clamp(64px, 8vw, 135px) 0 clamp(114px, 12vw, 146px);--icn-size: clamp(44px,6vw, 90px);}
	
	
	
	.recent_articles_videos__inner {
	  --direction: column;
	  --align: center;
	  z-index: 2;
	  position: relative;
	}
	
	
	.recent_articles_videos:before {
	    content: '';
	    background: #1B1656;
	    height: 100%;
	    width: 100%;
	    left: 0;
	    top: 0;
	    z-index: 0;
	    display: block;
	    position: absolute;
	    opacity: .9;
	}
	
	
	
	.recent_articles_videos__subtitle {
	  margin: 0 0 2px;
	  text-transform: uppercase;
	  color: var(--clr-secondary);
	}
	.recent_articles_videos__title {
	  margin: 0 0 48px 0;
	  text-transform: uppercase;
	  text-align: center;
	}
	.recent_articles_videos__grid {
	  width: 100%;
	  display: grid;
	  grid-template-columns: repeat(2, 1fr);
	  gap: 30px;
	}
	.recent_articles_videos__card {
	  --direction: column;
	  position: relative;
	  box-shadow: 0 1px 0 1px var(--clr-secondary);
	  outline: 1px var(--clr-secondary) solid;
	}
	.recent_articles_videos__media {
	  position: relative;
	  display: block;
	  width: 100%;
	  overflow: hidden;
	  background: rgba(255,255,255,0.04);
	  min-height: clamp(300px, 10vw, 450px);
	}
	.recent_articles_videos__media img {
	  display: block;
	  width: 100%;
	  height: 100%;
	  object-fit: cover;
	  transition: transform 0.4s ease;
	}
	.recent_articles_videos__media:hover img {
	  transform: scale(1.04);
	}
	/* Dark semi-transparent overlay shown only when the card is a video.
	   Rendered above the thumbnail but below the play badge. */
	.recent_articles_videos__overlay {
	  position: absolute;
	  inset: 0;
	  background: radial-gradient(50% 50% at 50% 50%, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0.06) 100%);
	  pointer-events: none;
	  transition: background 0.3s ease;
	}
	.recent_articles_videos__media:hover .recent_articles_videos__overlay {
	  background: rgba(11, 14, 40, 0.55);
	}
	.recent_articles_videos__play {
	  position: absolute;
	  top: 50%;
	  left: 50%;
	  transform: translate(-50%, -100%);
	  width: var(--icn-size);
	  height: var(--icn-size);
	  border-radius: 50%;
	  background: var(
	  --clr-secondary);
	  --align: center;
	  --justify: center;
	  pointer-events: none;
	}
	.recent_articles_videos__play::before {
	  content: "";
	  display: block;
	  width: 0;
	  height: 0;
	  border-top: 11px solid transparent;
	  border-bottom: 11px solid transparent;
	  border-left: 18px solid var(--clr-white);
	  margin-left: 4px;
	}
	.recent_articles_videos__card-title {
	  margin: 0;
	  font-size: clamp(17px, calc(19.385px + 0.601vw), 28px);
	  line-height: 1.35;
	  color: var(--clr-white);
	  background: linear-gradient(180deg, rgba(27, 22, 86, 0) 0%, #1B1656 100%);
	  position: absolute;
	  bottom: -1px;
	  width: 100%;
	  padding: clamp(24px, 5vw, 52px) clamp(24px, 5vw, 49px);
	  font-family: var(--ff-primary);
	}
	/* Cursor hint that the video card opens a modal, not a destination. */
	.recent_articles_videos__media.is-video { cursor: pointer; }
	
	/* === Video lightbox modal === */
	.video-modal {
	  position: fixed;
	  inset: 0;
	  z-index: 10000;
	  display: none;
	  align-items: center;
	  justify-content: center;
	  padding: 24px;
	}
	.video-modal.is-open { display: flex; }
	.video-modal__backdrop {
	  position: absolute;
	  inset: 0;
	  background: rgba(11, 14, 40, 0.85);
	  cursor: pointer;
	}
	.video-modal__dialog {
	  position: relative;
	  width: 100%;
	  max-width: 960px;
	  max-height: 100%;
	}
	.video-modal__close {
	  position: absolute;
	  top: -44px;
	  right: 0;
	  width: 36px;
	  height: 36px;
	  background: transparent;
	  border: 0;
	  color: var(--clr-white);
	  font-size: 32px;
	  line-height: 1;
	  cursor: pointer;
	  padding: 0;
	}
	.video-modal__close:hover { color: var(--clr-secondary); }
	.video-modal__frame {
	  position: relative;
	  width: 100%;
	  aspect-ratio: 16 / 9;
	  background: #000;
	  box-shadow: 0 30px 60px rgba(0,0,0,0.5);
	}
	.video-modal__frame iframe,
	.video-modal__frame video {
	  position: absolute;
	  inset: 0;
	  width: 100%;
	  height: 100%;
	  border: 0;
	}
	.screen-reader-text {
	  border: 0;
	  clip: rect(1px, 1px, 1px, 1px);
	  -webkit-clip-path: inset(50%);
	  clip-path: inset(50%);
	  height: 1px;
	  margin: -1px;
	  overflow: hidden;
	  padding: 0;
	  position: absolute;
	  width: 1px;
	  word-wrap: normal !important;
	}
	body.video-modal-open { overflow: hidden; }
	@media (max-width: 575px) {
	  .video-modal { padding: 12px; }
	  .video-modal__close { top: -36px; }
	}
	@media (max-width: 991px) {
	  .recent_articles_videos { padding: 72px 0; }
	  .recent_articles_videos__title { margin-bottom: 36px; }
	}
	@media (max-width: 767px) {
	  .recent_articles_videos__grid { grid-template-columns: 1fr; gap: 24px; }
	  .recent_articles_videos__card-title {font-size: 16px;text-align: center;}
	  .recent_articles_videos__play { width: 56px; height: 56px; }
	  .recent_articles_videos__play::before {
	    border-top-width: 10px;
	    border-bottom-width: 10px;
	    border-left-width: 16px;
	  }
	}
	
	/* === Section: our_process ============================================= */
	
	.memberships_logos_container + .our_process {
		padding-top: clamp(94px, 9vw, 172px);
	}
	
	.our_process {
	  background: var(--clr-secondary, #E0A117);
	  color: var(--clr-white);
	  padding: clamp(64px, 8vw, 92px) 0 clamp(64px, 9vw, 148px);
	  position: relative;
	  z-index: 0;
	}
	
	.our_process:before {position: absolute;background-image: radial-gradient(50% 48.1% at 50% 48.1%, rgba(224, 161, 23, 0) 65%, rgba(190, 134, 25, 0.5) 100%);content: '';display: block;z-index: 2;height: 100%;width: 100%;top: 0;left: 0;pointer-events: none;background-color: #e0a117d4;}
	
	.our_process__inner {
	  --direction: column;
	  --align: center;
	  position: relative;
	  z-index: 3;
	}
	.our_process__subtitle {
	  text-transform: uppercase;
	  margin: 0;
	}
	.our_process__title {
	  margin: 0 0 clamp(34px, 3.75vw, 62px) 0;
	  text-transform: uppercase;
	}
	.our_process__grid {
	  width: 100%;
	  display: grid;
	  grid-template-columns: repeat(3, 1fr);
	  gap: 21px;
	}
	.our_process__step {
	position: relative; overflow: hidden; background: var(--clr-white); padding: clamp(32px, 3.75vw, 58px) clamp(32px, 3.75vw, 57px) clamp(32px, 4vw, 70px); --direction: column; --gapx: 14px; --gapy: 14px;
	 --icn-size: clamp(54px, 4.5vw, 80px); position: relative;
	}

	.our_process__step-icon { width: var(--icn-size); height: var(--icn-size); border-radius: 50%; }
	
	.our_process__top:after { height: 20px; content: '';  background: url('./assets/imgs/long-right-arrow.svg') no-repeat;
	    width: calc(100% - var(--gapy, 0) - var(--icn-size)); margin-top: auto; margin-bottom: auto; background-position: right center; max-width: 210px; }
	
	.our_process__top { width: 100%; --wrap: none; --ailgn: center; --gapy: clamp(20px, 6vw, 56px); --direction: row; position: relative; margin: 0 0 clamp(20px, 3vw, 54px); }
	
	.our_process__step-icon img { display: block; object-fit: contain; width: 100%; }

	.our_process__step-divider { width: 100%; height: 1px; border: 0; background: rgba(224, 161, 23, 0.35); margin: 0 0 4px 0; }

	.our_process__step-title {
	  margin: 0 0 6px;
	  font-size: clamp(20px, calc(14.308px + 0.481vw), 24px);
	  font-weight: 600;
	  line-height: 1.3;
	  color: #000;
	  font-family: 'Poppins';
	}

	.our_process__step-desc {
	  margin: 0 0 -14px;
	  font-size: clamp(13px, calc(11.154px + 0.240vw), 15.0px);
	  line-height: 1.65;
	  color: var(--clr-text, #4A4A51);
	}
	.our_process__step-num {
	  position: absolute;
	  bottom: 0;
	  right: 22px;
	  font-family: var(--ff-secondary);
	  font-weight: 500;
	  font-size: clamp(40px, 6vw, 80px);
	  line-height: .85;
	  color: #E0A117;
	  pointer-events: none;
	}
	@media (max-width: 991px) {
	 
	  .our_process__title { margin-bottom: 36px; }
	  .our_process__grid { grid-template-columns: repeat(2, 1fr); }
	}
	@media (max-width: 767px) {
	  .our_process__grid { grid-template-columns: 1fr; gap: 20px; }
	  .our_process__step {}
	  .our_process__step-desc {
	    margin: 0;
	}
	}
	
	/* === Section: storm_services ======================================== */
	.storm_services {
	  background: var(--clr-dark, #1B1656);
	  color: var(--clr-white);
	  position: relative;
	  z-index: 0;
	}
	.storm_services__inner {
	  display: flex;
	  flex-direction: column;
	  align-items: center;
	  gap: clamp(28px, 3vw, 40px);
	  padding: clamp(48px, 8vw, 110px) 20px clamp(48px, 6vw, 84px);
	}
	.storm_services__grid {
	  width: 100%;
	  display: grid;
	  grid-template-columns: repeat(3, 1fr);
	  gap: clamp(18px, 1.4vw, 26px);
	  align-items: stretch;
	}
	.storm_services__card {
	  background: rgba(255, 255, 255, 0.10);
	  border: 1px solid rgba(255, 255, 255, 1);
	  padding: clamp(28px, 2.6vw, 37px) clamp(20px, 1.9vw, 33px) clamp(20px, 1.9vw, 43px);
	  display: flex;
	  flex-direction: column;
	  gap: clamp(16px, 1.2vw, 23px);
	}
	.storm_services__card-head {
	  --direction: row;
	  --align: flex-start;
	  --gapy: clamp(12px, 0.9vw, 16px);
	  --wrap: nowrap;
	}
	.storm_services__card-icon {
	  flex: 0 0 auto;
	  width: clamp(48px, 3.2vw, 60px);
	  height: clamp(48px, 3.2vw, 60px);
	  display: block;
	}
	.storm_services__card-icon img {
	  display: block;
	  width: 100%;
	  height: 100%;
	  object-fit: contain;
	}
	.storm_services__card-title {
	  margin: 0;
	  color: var(--clr-white);
	  line-height: 1.3;
	  flex: 1 1 auto;
	  align-self: center;
	}
	.storm_services__card-desc {
	  color: var(--clr-white);
	  line-height: 1.65;
	}
	.storm_services__card-desc p { margin: 0; }
	.storm_services__card-desc p + p { margin-top: 10px; }
	.storm_services__cta {
	  display: flex;
	  justify-content: center;
	  width: 100%;
	}
	.storm_services__cta .c-button {
	  min-width: clamp(280px, 30vw, 480px);
	}
	@media (max-width: 991px) {
	  .storm_services__grid { grid-template-columns: repeat(2, 1fr); }
	  .storm_services__cta .c-button { min-width: 0; width: 100%; max-width: 480px; }
	}
	@media (max-width: 600px) {
	  .storm_services__grid { grid-template-columns: 1fr; }
	}

	/* === Pricing-page utility shims ====================================== *
	 * Margin-zero atom referenced by registry global_utilities. Cheap to add  *
	 * here rather than re-emit per-section margin overrides.                 *
	 * ===================================================================== */
	.mb-0 { margin-bottom: 0 !important; }
	
	/* === Section: atlas_gold_section ==================================== */
	.atlas_gold_section {
	  background: #F7F7F7;
	  color: var(--clr-text);
	  padding: clamp(36px, 3vw, 46px) 0;
	}
	.atlas_gold_section__grid {
	  --direction: row;
	  --justify: space-between;
	  --align: stretch;
	  --wrap: wrap;
	  --col-gap: clamp(24px, 5vw, 60px);
	  --gapx: var(--col-gap);
	  --gapy: var(--col-gap);
	  list-style: none;
	  padding: 0;
	  margin: 0;
	  --justify: center;
	}
	.atlas_gold_section__cell {
	  flex: 0 1 calc((100% - 3 * var(--col-gap, 60px)) / 4);
	  min-width: 180px;
	  text-align: center;
	  --gapx: clamp(12px, 1.25vw, 20px);
	  --gapy: 8px;
	}
	.atlas_gold_section__value {
	  color: var(--clr-black);
	  line-height: 1.1;
	  letter-spacing: -0.44px;
	}
	.atlas_gold_section__label {
	  color: #4A5565;
	  letter-spacing: -.15px;
	}
	@media (max-width: 991px) {
		.atlas_gold_section__grid {--gapx: 40px;--gapy: 20px;}
	  .atlas_gold_section__cell {flex-basis: inherit;max-width: 200px;}
	}
	@media (max-width: 575px) {
	  .atlas_gold_section__cell { flex-basis: 100%; }
	}
	
	/* === Section: pricing_tier_grid ====================================== */
	.pricing_tier_grid {
	  padding: clamp(64px, 6vw, 97px) 0 clamp(64px, 6vw, 110px);
	}
	.pricing_tier_grid__inner {
	  display: grid;
	  gap: clamp(36px, 4vw, 72px);
	  gap: 25px;
	}
	.pricing_tier_grid__head { text-align: center; --gapx: 21px; --gapy: 21px; }
	.pricing_tier_grid__title { color: var(--clr-black); margin: 0; max-width: 1080px; text-transform: uppercase; }
	.pricing_tier_grid__intro { color: var(--clr-text); max-width: 1255px; text-align: center; }
	.pricing_tier_grid__band {
	  background: var(--clr-dark);
	  padding: clamp(40px, 5vw, 70px) clamp(24px, 5vw, 92px) clamp(40px, 14vw, 157px);
	  position: relative;
	  display: grid;
	  gap: clamp(28px, 3vw, 50px);
	}

	.pricing_tier_grid__band:after {
	   content: ''; display: block; opacity: 1; background: url('./assets/imgs/border-inst-1.png') no-repeat; height: auto; width: 100%; display: block; z-index: 3; position: relative; aspect-ratio: 1920 / 101; 
	   background-size: cover; background-position: top center; position: absolute; bottom: 0;
	}

	.pricing_tier_grid__band-head {text-align: center;--gapx: 20px;}
	.pricing_tier_grid__band-title { color: var(--clr-white); margin: 0; max-width: 804px; }
	.pricing_tier_grid__band-intro { color: var(--clr-white); }
	.pricing_tier_grid__tiers {
	  --direction: row;
	  --justify: center;
	  --align: stretch;
	  --wrap: wrap;
	  --gapy: clamp(20px, 3vw, 48px);
	  --gapx: clamp(56px, 4vw, 48px);
	}
	.pricing_tier_grid__tier {
	  --gapx: 20px;
	  max-width: calc(100% - ( var(--gapy) * 2 ) / 3);
	  background: var(
	  --clr-white);
	  color: var(
	  --clr-black);
	  padding: clamp(28px, 3.75vw, 60.5px) clamp(28px, 3.75vw, 48.5px);
	  text-align: center;
	  box-shadow: 0 0 0 clamp(4px, 1vw, 10px) #FFFFFF80;
	  --gapy: clamp(20px, 3vw, 48px);
	}
	.pricing_tier_grid__tier.is-highlighted {
	  background: var(--clr-secondary);
	  color: var(--clr-white);
	}
	.pricing_tier_grid__tier-label {text-transform: uppercase;letter-spacing: -0.44px;max-width: 163px;}
	.pricing_tier_grid__tier-price {display: block;color: #1B1656;max-width: 230px;}
	.pricing_tier_grid__tier-desc { max-width: 272px; }
	.pricing_tier_grid__pointer {
	  width: 0;
	  height: 0;
	  border-left: 38px solid transparent;
	  border-right: 38px solid transparent;
	  border-top: 38px solid var(--clr-secondary);
	  display: block;
	  margin: 0 auto;
	}
	.pricing_tier_grid__closing {text-align: center;color: var(--clr-text);max-width: 1255px;margin: clamp(12px, 4vw, 42px) auto 0;}
	.pricing_tier_grid__disclaimer {
	  background: #F7F7F7;
	  color: #000;
	  padding: clamp(20px, 2.5vw, 32px) clamp(24px, 3vw, 36px);
	  width: 100%;
	  margin: 0;
	  text-align: center;
	  --gapx: 12px;
	}

	.pricing_tier_grid__tier-desc:before { content: ''; background: #DBDBDB; height: 1px; width: 100%; display: block; margin: 22px 0; }
	.pricing_tier_grid__disclaimer-title {margin: 0 auto;max-width: 236px;letter-spacing: -.44px;font-family: 'Poppins';}

	.pricing_tier_grid__tier.is-highlighted .pricing_tier_grid__tier-label { max-width: 130px; }
	.pricing_tier_grid__tier.is-highlighted .pricing_tier_grid__tier-price { color: #fff; }

	@media (max-width: 1024px) {
	  .pricing_tier_grid__tiers { --direction: column; --align: center; }
	  .pricing_tier_grid__tier { flex: 1 1 auto; width: 100%; max-width: 480px; }
	}
	@media (max-width: 991px) {
	  .pricing_tier_grid__band { width: 100%; margin-left: 0; }
	  .pricing_tier_grid__tiers {--gapy: 18px;}
	}
	@media (max-width: 575px) {
	  .pricing_tier_grid__tier { padding: 22px 18px; }
	}
	
	/* === Section: what_drive ============================================= */
	.what_drive {
	  background: var(--clr-white);
	  color: var(--clr-black);
	  padding: clamp(64px, 8vw, 150px) 0 clamp(64px, 7vw, 130px);
	}
	.what_drive__inner {
	  display: grid;
	  gap: clamp(36px, 4vw, 74px);
	}
	.what_drive__head { text-align: center; --gapx: 40px; --gapy: 40px; }
	.what_drive__heading { margin: 0; text-transform: uppercase; }
	.what_drive__intro { max-width: 1255px; text-align: center; }
	.what_drive__media-text {
	  display: grid;
	  grid-template-columns: 1fr 1.22fr;
	  gap: clamp(36px, 5vw, 90px);
	  align-items: flex-start;
	}
	.what_drive__body { --gapy: 16px; }
	.what_drive__body p { margin: 0 0 16px; }
	.what_drive__body p:last-child { margin-bottom: 0; }
	.what_drive__photo img {
	  width: 100%;
	  height: auto;
	  display: block;
	  border-radius: 0;
	  aspect-ratio: 360 / 233;
	  object-fit: cover;
	  object-position: 0% 0%;
	}
	.what_drive__card {
	  background: var(--clr-light);
	  border: 1px solid var(--clr-border);
	  padding: clamp(28px, 3.75vw, 75px) clamp(12px, 3.25vw, 45px);
	  display: grid;
	  gap: clamp(18px, 2vw, 28px);
	}
	.what_drive__card-title { margin: 0; text-align: center; }
	.what_drive__card-subtitle { margin: 0; text-align: center; }
	.what_drive__card-list {--gapx: 0;--gapy: 25px;list-style: none;padding: 0;}
	.what_drive__card-item {--gapy: 15px;--align: flex-start;--wrap: none;border-bottom:  solid #E4E4E4;border-width: 1px 0;padding: 21px 0;}

	.what_drive__card-item:last-child {border-bottom: 0;}

	.what_drive__card-check {
	  --icn-size: clamp(24px, 2.5vw, 36px);
	  width: var(--icn-size);
	  height: var(--icn-size);
	  flex-shrink: 0;
	  border-radius: 50%;
	  background: url("./assets/imgs/true-mark.png") no-repeat;
	  position: relative;
	background-size: contain;
	}
	 
	.what_drive__card-item-body { display: grid; gap: 6px; }
	.what_drive__card-item-title { display: block; }
	.what_drive__closing { text-align: left; max-width: 1299px; margin: 0 auto; }
	#why-roofers-expensive .what_drive__card-subtitle {font-weight: 400;}
	#why-roofers-expensive .what_drive__card-subtitle b {font-weight: 600;display: block;margin-top: 15px;font-size: clamp(18px, calc(13.385px + 0.601vw), 24px);line-height: 1.35;}
	.what_drive__card-item:last-child {border-bottom: 0px;}
@media (max-width: 991px) {
	  .what_drive__media-text { grid-template-columns: 1fr; gap: 28px; }
	}
	
	/* === Section: where_does ============================================ */
	.where_does {
	  background: var(--clr-white);
	  color: var(--clr-black);
	  padding: clamp(64px, 7vw, 120px) 0 clamp(64px, 9vw, 136px);
	}
	.where_does__inner {
	  display: grid;
	  gap: clamp(26px, 2vw, 34px);
	}
	.where_does__head { text-align: center; --gapx: 24px; --gapy: 24px; }
	.where_does__heading { margin: 0; text-transform: uppercase; }
	.where_does__intro { max-width: 1299px; text-align: center; }
	.where_does__cards {
	  display: grid;
	  grid-template-columns: 1fr 1fr;
	  gap: clamp(20px, 2vw, 40px);
	  position: relative;
	}
	.where_does__card {
	  background: var(--clr-white);
	  padding: clamp(24px, 3vw, 34px) clamp(24px, 3vw, 36px);
	  border: 2px solid var(--clr-border);
	  display: grid;
	  gap: 24px;
	}
	.where_does__card--budget {
	  border-color: var(--clr-fb2c36);
	}
	.where_does__card--budget .where_does__card-label,
	.where_does__card--budget .where_does__card-price {color: var(--clr-fb2c36);}
	.where_does__card--budget .where_does__card-icon {background: rgba(251, 44, 54, 0.10);color: var(--clr-fb2c36);margin: 0 0 12px;}
	.where_does__card--budget .where_does__card-bullet-marker {
	  background: url("data:image/svg+xml;utf8,%3Csvg width='19' height='19' viewBox='0 0 19 19' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M16.666 9.166C16.666 5.024 13.308 1.666 9.166 1.666C5.024 1.666 1.666 5.024 1.666 9.166C1.666 13.308 5.024 16.666 9.166 16.666C13.308 16.666 16.666 13.308 16.666 9.166ZM18.333 9.166C18.333 14.229 14.229 18.333 9.166 18.333C4.104 18.333 0 14.229 0 9.166C0 4.104 4.104 0 9.166 0C14.229 0 18.333 4.104 18.333 9.166Z' fill='%23FB2C36'/%3E%3Cpath d='M11.077 6.077C11.403 5.752 11.93 5.752 12.255 6.077C12.581 6.403 12.581 6.93 12.255 7.255L7.255 12.255C6.93 12.581 6.403 12.581 6.077 12.255C5.752 11.93 5.752 11.403 6.077 11.077L11.077 6.077Z' fill='%23FB2C36'/%3E%3Cpath d='M6.077 6.077C6.403 5.752 6.93 5.752 7.255 6.077L12.255 11.077C12.581 11.403 12.581 11.93 12.255 12.255C11.93 12.581 11.403 12.581 11.077 12.255L6.077 7.255C5.752 6.93 5.752 6.403 6.077 6.077Z' fill='%23FB2C36'/%3E%3C/svg%3E") center/contain no-repeat;
	}
	.where_does__card--quality {
	  border-color: #e0a117;
	  box-shadow: 0px 20px 25px -5px #0000001A, 0px 8px 10px -6px #0000001A, 0px 0px 25px -5px #e0a1175c, 0px 8px 10px -6px #e0a11740;
	}
	.where_does__card--quality .where_does__card-label,
	.where_does__card--quality .where_does__card-price { color: var(--clr-secondary); }
	.where_does__card--quality .where_does__card-icon { background: rgba(224, 161, 23, 0.10); color: var(--clr-secondary); }
	.where_does__card--quality .where_does__card-bullet-marker {
	  background: url("data:image/svg+xml;utf8,%3Csvg width='19' height='19' viewBox='0 0 19 19' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M16.666 9.166C16.666 5.024 13.308 1.666 9.166 1.666C5.024 1.666 1.666 5.024 1.666 9.166C1.666 13.308 5.024 16.666 9.166 16.666C13.308 16.666 16.666 13.308 16.666 9.166ZM18.333 9.166C18.333 14.229 14.229 18.333 9.166 18.333C4.104 18.333 0 14.229 0 9.166C0 4.104 4.104 0 9.166 0C14.229 0 18.333 4.104 18.333 9.166Z' fill='%23E0A117'/%3E%3Cpath d='M11.077 6.911C11.403 6.585 11.93 6.585 12.255 6.911C12.581 7.236 12.581 7.763 12.255 8.089L8.922 11.422C8.597 11.748 8.069 11.748 7.743 11.422L6.077 9.755C5.752 9.43 5.752 8.902 6.077 8.577C6.403 8.252 6.93 8.252 7.255 8.577L8.332 9.654L11.077 6.911Z' fill='%23E0A117'/%3E%3C/svg%3E") center/contain no-repeat;
	}
	.where_does__card-head {--gapx: 6px;}
	.where_does__card-icon {
	  --icn-size: 48px;
	  width: var(--icn-size);
	  height: var(--icn-size);
	  border-radius: 50%;
	}
	.where_does__card-icon img {}
	.where_does__card-label {text-transform: uppercase;letter-spacing: 0.02em;margin: 0;font-family: 'Oswald';}
	.where_does__card-price { margin: 0; line-height: 1.1; color: var(--clr-dark); }
	.where_does__card-bullets {--gapy: 12px;list-style: none;padding: 0;--gapx: 20px;}
	.where_does__card-bullet {--gapy: 15px;--align: flex-start;color: #1B1656;--wrap: none;}
	.where_does__card-bullet-marker {
	  width: 18px;
	  height: 18px;
	  border-radius: 50%;
	  flex-shrink: 0;
	  margin-top: 6px;
	}
	.where_does__vs {
	  --icn-size: 80px;
	 width: var(--icn-size); height: var(--icn-size); border-radius: 50%; background: var(--clr-dark); color: var(--clr-white); --align: center; --justify: center; position: absolute;
	 top: 50%; left: 50%; transform: translate(-50%,-50%); border: 4px solid #FFF;
	  box-shadow: 0px 25px 50px -12px #00000040;
	}
	.where_does__vs-badge { display: block; text-transform: uppercase;font-family: var(--ff-secondary); }
	.where_does__closing {
	  margin: clamp(24px, 3vw, 34px) auto 0;
	  text-align: center;
	}
	
	@media (max-width: 991px) {
	.where_does__card--quality { padding-top: 44px; margin-top: -20px; }
	 .where_does__card--budget { padding-bottom: 44px; margin-bottom: -20px; }
	  .where_does__cards {grid-template-columns: 1fr;max-width: 520px;margin: 0 auto;}
	  .where_does__vs {margin: -30px auto;position: relative;left: inherit;top: inherit;transform: inherit;}
	}
	
	/* === Section: our_roofing ========================================== */

	.our_roofing {
	  background: var(--clr-dark);
	  color: var(--clr-white);
	}
	.our_roofing__inner {
	  display: grid;
	  gap: clamp(48px, 6vw, 45px);
	  padding: clamp(64px, 7vw, 120px) 20px clamp(64px, 7vw, 115px);
	}
	.our_roofing__head { text-align: center; --gapx: 24px; --gapy: 24px; }
	.our_roofing__heading { margin: 0; color: var(--clr-white); text-transform: uppercase; max-width: 808px; }
	.our_roofing__intro { max-width: 1299px; }
	.our_roofing__packages {
	  display: grid;
	  grid-template-columns: repeat(3, 1fr);
	  gap: clamp(20px, 2.75vw, 35px);
	  margin: clamp(20px, 3vw, 36px);
	}
	.our_roofing__package {
	  position: relative;
	  background: var(--clr-white);
	  color: var(--clr-black);
	  padding: 30px clamp(16px, 1.75vw, 36px)  20px;
	  box-shadow: 0 0 0 clamp(4px, .75vw,10px) #FFFFFF80;
	}

article.our_roofing__package.is-most-popular {}
	.our_roofing__package.is-most-popular {
	  box-shadow: 0 0 0 clamp(4px, .75vw,10px) var(--clr-secondary);
	}
	.our_roofing__pill {
	  position: absolute;
	  top: -16px;
	  left: 50%;
	  transform: translate(-50%, -50%);
	  background: var(--clr-secondary);
	  color: #fff;
	  padding: 8px 22px;
	  text-transform: uppercase;
	  white-space: nowrap;
	  font-family: 'Oswald';
	}
	.our_roofing__package-name {
	  margin: 0 auto 20px;
	  color: var(--clr-dark);
	  text-align: center;
	  text-transform: uppercase;
	  padding-bottom: clamp(14px, 1.6vw, 22px);
	  border-bottom: 1px solid var(--clr-border, #E5E7EB);
	  width: max-content;
	  max-width: 100%;
	  padding: 0 0 20px;
	}
	.our_roofing__features { --gapy: 14px; list-style: none; padding: 0; }
	.our_roofing__feature {--gapy: 14px;--align: center;line-height: 1;--wrap: nowrap;--gapy: clamp(10px, 1.5vw,22px);padding: clamp(10px, .5vw,17px) 0;border-bottom: #DBDBDB 1px solid;}
	.our_roofing__feature-check {
	  width: clamp(22px, 2vw, 36px);
	  height: clamp(22px, 2vw, 36px);
	  border-radius: 50%;
	  background: url('./assets/imgs/true-mark-icn.png') no-repeat;
	  flex-shrink: 0;
	  position: relative;
	  background-size: contain;
	}

	.our_roofing__feature:first-child { padding-top: 0; }
	.our_roofing__feature:last-child { padding-bottom: 0; border-bottom: none; }

	.our_roofing__feature span {max-width: calc(100% - 38px);line-height: calc(30/18);color: #1B1656;}

	 
	.our_roofing__disclaimer { text-align: center; color: var(--clr-white); max-width: 1299px; margin: 0 auto; }
	
	@media (max-width: 991px) {
	  .our_roofing__package.is-most-popular { margin-top: 20px}
	  .our_roofing__packages {grid-template-columns: 1fr;max-width: 480px;margin: 0 auto;row-gap: 60px;}
	}
	
	/* === Section: financing ============================================= */
	.financing {
	  color: var(--clr-white);
	  padding: clamp(40px, 8vw, 120px) 20px clamp(40px, 8vw, 150px);
	}
	.financing__inner {
	  position: relative;
	  isolation: isolate;
	  overflow: hidden;
	  background-image: var(--financing-bg);
	  background-size: cover;
	  background-position: center;
	  padding: clamp(48px, 4vw, 65px) clamp(32px, 4vw, 65px) clamp(48px, 4vw, 75px);
	}
	.financing__inner:before {
	  content: '';
	  position: absolute;
	  inset: 0;
	  background: linear-gradient(90deg, rgba(224, 161, 23, 1) 0%, rgba(224, 161, 23, 1) 40%, rgba(224, 161, 23, 0) 65%);
	  z-index: 0;
	  pointer-events: none;
	}
	.financing__content {
	  position: relative;
	  z-index: 1;
	  max-width: 64%;
	  --gapy: clamp(18px, 2vw, 28px);
	}
	.financing__heading {margin: 0 0 15px;color: var(--clr-white);text-transform: uppercase;}
	.financing__body {color: var(--clr-white);max-width: 640px;margin: 0 0 32px;}
	.financing__cta {
	  align-self: flex-start;
	  --btn-bg: var(--clr-white);
	  --btn-color: var(--clr-secondary);
	  --btn-border-color: var(--clr-white);
	  --btn-hover-bg: var(--clr-dark);
	  --btn-hover-color: var(--clr-white);
	  --btn-hover-border-color: var(--clr-dark);
	}
	.financing__captions {--gapy: 8px;color: var(--clr-white);max-width: 640px;margin: clamp(26px, 2.75vw, 40px) 0 0;}
	.financing__caption a { color: inherit; text-decoration: underline; }
	.financing__caption a:hover { filter: invert(.8); }
	.financing__caption--phone { font-weight: 600; }
	

	@media (max-width: 991px) {
	  .financing__content { max-width: 100%; }
	  .financing__inner:before {
    background: linear-gradient(90deg, rgba(224, 161, 23, 1) 0%, rgba(224, 161, 23, 1) 63%, rgba(224, 161, 23, 0) 100%);
}
	}
	
	/* === Section: what_does_each ======================================== */
	.what_does_each {
	  background: var(--clr-dark);
	  color: var(--clr-white);
	}
	.what_does_each__inner {
	  display: grid;
	  gap: clamp(32px, 4vw, 52px);
	  padding: clamp(64px, 4vw, 91px) 20px clamp(64px, 6vw, 113px);
	}
	.what_does_each__head { text-align: center; --gapx: 24px; --gapy: 24px; }
	.what_does_each__heading {margin: 0 auto 24px;color: var(--clr-white);text-transform: uppercase;max-width: 1073px;}
	.what_does_each__intro { max-width: 1299px; color: var(--clr-white); }
	.what_does_each__banner {
	  background: var(--clr-secondary);
	  color: var(--clr-white);
	  padding: clamp(24px, 3vw, 45px) clamp(24px, 4vw, 60px);
	  text-align: center;
	  --gapx: 12px;
	  margin: 0 auto;
	  width: 100%;
	}
	.what_does_each__banner-title {margin: 0;color: var(--clr-white);font-family: 'Poppins';}
	.what_does_each__banner-body { color: var(--clr-white); }
	
	/* === Section: comparing ============================================= */
	.comparing {
	  background: var(--clr-light);
	  color: var(--clr-black);
	  padding: clamp(64px, 7vw, 104px) 0 clamp(64px, 7vw, 116px);
	}
	.comparing__inner {
	  display: grid;
	  gap: clamp(20px, 2.5vw, 31px);
	}
	.comparing__heading { margin: 0; text-transform: uppercase; }
	.comparing__intro { max-width: 1299px; }
	.comparing__disclaimer { max-width: 1299px; }
	.comparing__scroll {
	  overflow-x: auto;
	}
	.comparing__table {
	  width: 100%;
	  border-collapse: collapse;
	  border: 1px solid var(--clr-border);
	  background: var(--clr-white);
	  min-width: 720px;
	  margin: 0;
	}
	.comparing__row--head { background: var(--clr-dark); color: var(--clr-white); }
	.comparing__row--alt {background: #F9FAFB;}
	.comparing__cell {
	  padding: 19px 24px;
	  text-align: left;
	  vertical-align: middle;
	  border-bottom: 1px solid var(--clr-border);
	  max-width: 360px;
	  color: #1B1656CC;
	}
	.comparing__row--head .comparing__cell {padding: 22.5px;border-bottom: 0;color: var(--clr-white);}
	.comparing__cell--factor {color: #1B1656;font-weight: 600;white-space: nowrap;}
	.comparing__row--head .comparing__cell--factor {color: var(--clr-white);}
	
	@media (max-width: 767px) {
	  .comparing__cell, .comparing__row--head .comparing__cell { padding: 14px 16px; }
	}
	
	/* === Modifier: why_customers_choose--callout-left =================== *
	 * Used by pricing what_makes section: swaps the mascot slot for an      *
	 * optional callout card and adds horizontal dividers between feature    *
	 * rows. Renders on dark-navy section background, so text + dividers     *
	 * are inverted from the base (light) variant.                          *
	 * ===================================================================== */
	.why_customers_choose--callout-left { color: var(--clr-white); }
	.why_customers_choose--callout-left .why_customers_choose__subtitle {color: #fff;max-width: 577px;text-transform: inherit;font-weight: 400;}
	.why_customers_choose--callout-left .why_customers_choose__title {color: var(--clr-white);order: -1;}
	.why_customers_choose--callout-left .why_customers_choose__callout {
	  padding: clamp(20px, 2.5vw, 30px);
	  margin-top: 24px;
	  max-width: 600px;
	  background: #FFFFFF08;
	}
	.why_customers_choose--callout-left .why_customers_choose__callout-title {margin: 0 0 8px;font-family: 'Poppins';}
	.why_customers_choose--callout-left .why_customers_choose__callout-body {/* color: var(--clr-text); */}
	.why_customers_choose--callout-left .why_customers_choose__feature {
	  background: transparent;
	  border: 0;
	  box-shadow: none;
	  padding: 22px 0;
	  border-bottom: 1px solid #E2E2E21A;
	}
	.why_customers_choose--callout-left .why_customers_choose__feature:last-child { border-bottom: 0; }
	.why_customers_choose--callout-left .why_customers_choose__feature-title { color: var(--clr-white); }
	.why_customers_choose--callout-left .why_customers_choose__feature-desc {}
	
	/* === Modifier: why_customers_choose--grid-cards ==================== *
	 * Used by pricing why_roofing_costs section: 2x2 grid of feature cards *
	 * on dark navy, card surface = var(--clr-202e6d). Heading sits above   *
	 * the grid (not in a left col), mascot is hidden via template.         *
	 * ===================================================================== */
	.why_customers_choose--grid-cards {
	  background: var(--clr-dark);
	  color: var(--clr-white);
	  padding: 0;
	}

	.why_customers_choose--grid-cards .why_customers_choose__feature-body {row-gap: 12px;}
	
	.why_customers_choose--grid-cards .why_customers_choose__inner {
	  display: grid;
	  grid-template-columns: 1fr;
	  gap: clamp(36px, 3vw, 40px);
	  padding: clamp(54px, 6vw,104px) 20px clamp(34px, 4vw,53px);
	}

	.why_customers_choose--grid-cards .why_customers_choose__head {
	  --gapx: 24px;
	  --gapy: 20px;
	  text-align: center;
	  align-items: center;
	}

	.why_customers_choose--grid-cards .why_customers_choose__subtitle {color: #fff;text-transform: inherit;}
	.why_customers_choose--grid-cards .why_customers_choose__title {color: var(--clr-white);max-width: none;margin: 0 auto;max-width: 1205px;}
	.why_customers_choose--grid-cards .why_customers_choose__right {
	  display: grid;
	  grid-template-columns: repeat(2, 1fr);
	  gap: clamp(14px, 1.5vw, 20px);
	}
	
	.why_customers_choose--grid-cards .why_customers_choose__feature {
	  background: #FFFFFF1A;
	  border: 0;
	  box-shadow: none;
	  padding: clamp(18px, 2vw, 33px);
	  color: var(--clr-white);
	  border: 1px solid #FFFFFF33;
	}


	.why_customers_choose--grid-cards .why_customers_choose__feature-title { color: var(--clr-white); }
	.why_customers_choose--grid-cards .why_customers_choose__feature-desc {}

	.why_customers_choose__summary  {
		text-align: center;
	}

	@media (max-width: 1024px) {
		.why_customers_choose--callout-left .why_customers_choose__subtitle, .why_customers_choose__title, .why_customers_choose--callout-left .why_customers_choose__callout { max-width: 100%; }
		.why_customers_choose__feature-body { max-width: 100%; }
	}

	@media (max-width: 767px) {
	
	  .why_customers_choose--grid-cards .why_customers_choose__right { grid-template-columns: 1fr; }
	}

	/* === Modifier: why_customers_choose--pricing-fall =====================
	 * Centered title + intro, 2-col (body paragraphs left, mascot right),
	 * full-width navy callout box below. Used by the "Where Does Patriot
	 * Roofing's Pricing Fall?" section on the pricing page.
	 * ===================================================================== */
	.why_customers_choose--pricing-fall {
	  background: #F7F7F7;
	  color: var(--clr-dark);
	  padding: clamp(64px, 7vw, 104px) 0 clamp(64px, 7vw, 120px);
	}

	.why_customers_choose--pricing-fall:after { height: 0; }

	.why_customers_choose--pricing-fall .why_customers_choose__inner {
	  display: flex;
	  flex-direction: column;
	  gap: 0;
	}
	.why_customers_choose--pricing-fall .why_customers_choose__head {
	  text-align: center;
	  --gapy: 16px;
	  max-width: 1080px;
	  margin: 0 auto;
	}
	.why_customers_choose--pricing-fall .why_customers_choose__title {color: #000;margin: 0 0 24px;text-transform: uppercase;max-width: 1200px;}
	.why_customers_choose--pricing-fall .why_customers_choose__subtitle {margin: 0 0 clamp(26px, 3vw,40px);max-width: 1300px;text-transform: inherit;color: #000;}
	.why_customers_choose--pricing-fall .why_customers_choose__body {
	  display: grid;
	  grid-template-columns: 1.05fr 1fr;
	  gap: clamp(32px, 4vw, 75px);
	  align-items: center;
	}
	.why_customers_choose--pricing-fall .why_customers_choose__paragraphs {
	  --gapy: clamp(14px, 1.4vw, 22px);
	}
	.why_customers_choose--pricing-fall .why_customers_choose__paragraph {
	  margin: 0 0 clamp(22px, 3vw, 40px);
	  color: #000;
	  line-height: 1.6;
	}
	.why_customers_choose--pricing-fall .why_customers_choose__mascot {
	  display: flex;
	  justify-content: center;
	  align-items: flex-end;
	}
	.why_customers_choose--pricing-fall .why_customers_choose__mascot img {
	  max-width: 100%;
	  height: auto;
	  max-height: 665px;
	  object-fit: contain;
	}
	.why_customers_choose--pricing-fall .why_customers_choose__callout {
	  background: var(--clr-dark);
	  color: var(--clr-white);
	  padding: clamp(24px, 3vw, 40px) clamp(24px, 4vw, 56px);
	}
	.why_customers_choose--pricing-fall .why_customers_choose__callout-title {margin: 0 0 10px;color: var(--clr-white);font-family: var(--ff-primary);}
	.why_customers_choose--pricing-fall .why_customers_choose__callout-body {}
	.why_customers_choose--pricing-fall .why_customers_choose__callout-body p { margin: 0; }

	@media (max-width: 991px) {
	  .why_customers_choose--pricing-fall .why_customers_choose__body { grid-template-columns: 1fr; }
	  .why_customers_choose--pricing-fall .why_customers_choose__mascot img { max-height: 360px; }
	}

	/* === Section: what_drives_cost ============================================= */
	.what_drives_cost {
	  background: #F7F7F7;
	  color: var(--clr-black);
	  padding: clamp(64px, 6vw, 104px) 0;
	}
	.what_drives_cost__inner {
	  display: flex;
	  flex-direction: column;
	  gap: clamp(36px, 3.75vw, 42px);
	}
	.what_drives_cost__head { text-align: center; --gapy: 24px; }
	.what_drives_cost__heading {margin: 0 auto 21px;max-width: 1080px;text-transform: uppercase;}
	.what_drives_cost__intro { color: var(--clr-text); max-width: 920px; margin: 0 auto; }
	.what_drives_cost__slider-wrap {
	  position: relative;
	  padding: 0 clamp(40px, 5vw, 80px);
	}
	.what_drives_cost__cards.swiper { overflow: hidden; padding-bottom: 4px; }
	.what_drives_cost__cards .swiper-slide { height: auto; display: flex; }
	.what_drives_cost__card {
	  --gapy: 16px;
	  flex: 1 1 auto;
	  width: 100%;
	  background: var(--clr-white);
	  padding: clamp(24px, 2.5vw, 36px);
	  align-items: flex-start;
	  border-bottom: #1B1656 clamp(2px, 1vw, 5px) solid;
	}
	.what_drives_cost__icon {
	  width: 64px;
	  height: 64px;
	  border-radius: 50%;
	  background: var(--clr-secondary);
	  --align: center;
	  --justify: center;
	}

	.what_drives_cost__card-title {margin: clamp(12px, 2.75vw, 33px) 0 13px; font-family: var(--ff-primary);}
	.what_drives_cost__card-desc { margin: 0; color: var(--clr-text); line-height: 1.6; }
	 
	.what_drives_cost__nav-btn--prev { left: 0; }
	 
	 
	.what_drives_cost__closing { text-align: center; color: var(--clr-text); max-width: 980px; margin: 0 auto; }

	@media (max-width: 767px) {
		
		.what_drives_cost__nav-btn { position: absolute;bottom: 0;}
		.what_drives_cost__slider-wrap {padding: 0 0 60px;}
		.what_drives_cost__nav-btn--prev { left: calc(50% - 20px); }
		.what_drives_cost__nav-btn--next { left: calc(50% + 20px); }
	}
	
	/* === Section: financing_options ============================================ */
	.financing_options {
	  background: var(--clr-white);
	  color: var(--clr-black);
	  padding: clamp(64px, 8vw, 104px) 0 clamp(64px, 8vw, 118px);
	}
	.financing_options__inner {
	}
	.financing_options__head { text-align: center; --gapy: 20px; }
	.financing_options__heading {margin: 0;align-self: center;text-transform: uppercase;}
	.financing_options__intro {color: var(--clr-text);max-width: 1299px;margin: clamp(22px, 3vw, 31px) auto clamp(32px, 4vw, 40px);}
	.financing_options__band {
	  background: var(--clr-white);
	  border: 1px solid var(--clr-secondary);
	  padding: clamp(28px, 5vw, 67px) clamp(20px, 5.5vw, 92px) clamp(28px, 5vw, 70px);
	}
	.financing_options__band-title { text-align: center; color: var(--clr-black); margin: 0 0 clamp(20px, 2.5vw, 32px); }
	.financing_options__grid {
	  --direction: row;
	  --justify: space-between;
	  --align: stretch;
	  --wrap: wrap;
	  --gapx: clamp(16px, 2vw, 32px);
	  --gapy: clamp(20px, 2.75vw, 50px);
	}
	.financing_options__card {
	  flex: 1 1 220px;
	  align-items: center;
	  text-align: center;
	  --gapy: 8px;
	  padding: clamp(16px, 2vw, 26px) 22px clamp(16px, 2.75vw, 37px);
	  border: 1px solid #E5E7EB;
	  background: #E5E7EB;
	}

	.financing_options__card:nth-child(2) {
		border: 2px solid #E0A117; 
		background: linear-gradient(135deg, rgba(224, 161, 23, 0.05) 0%, rgba(224, 161, 23, 0.1) 100%);
	}
	
	.financing_options__label {text-transform: uppercase;color: var(--clr-text);margin: 16px 0 25px;}
	.financing_options__value {color: #1B1656;margin: 0;}
	.financing_options__desc {color: var(--clr-text);margin: 17px 0 0;line-height: calc(22.75/18);}
	.financing_options__closing { text-align: center; color: var(--clr-text); max-width: 980px; margin: 20px auto 0px; }
	
	@media (max-width: 768px) {
	  .financing_options__grid { --justify: center; }
	  .financing_options__card { flex: 1 1 100%; max-width: 420px; }
	}
	
	/* === Section: pricing_faq (full-width accordion) =========================== */
	.pricing_faq {
	  padding: clamp(64px, 4vw, 72px) 0 clamp(64px, 7vw, 120px);
	}
	
	.pricing_faq__cta { width: max-content; max-width: 100%; }

	.pricing_faq__inner {
	  display: flex;
	  flex-direction: column;
	  gap: 24px;
	  margin: 0 auto;
	}
	.pricing_faq__head {text-align: center;--gapx: 24px;}
	.pricing_faq__heading {margin: 0;max-width: 1180px;align-self: center;text-transform: uppercase;}
	.pricing_faq__intro {margin: 0;}
	.pricing_faq__accordion {display: flex;flex-direction: column;gap: 26px;width: 100%;}
	.pricing_faq__item {
	  background: var(--clr-white);
	  overflow: hidden;
	  box-shadow: 0px 10px 15px -3px #0000001A;
	  border: 1px solid #E5E7EB;
	}

	.pricing_faq__item.is-open {
    border: 2px solid #E0A117;
}


	.pricing_faq__question {
	  width: 100%;
	  margin: 0;
	  padding: clamp(18px, 2vw, 26px) clamp(18px, 2.5vw, 34px);
	  background: transparent;
	  border: 0;
	  cursor: pointer;
	  display: flex;
	  align-items: center;
	  justify-content: space-between;
	  gap: 16px;
	  text-align: left;
	  color: #1B1656;
	  font-family: inherit;
	  user-select: none;
	  transition: background 0.2s ease;
	}
	.pricing_faq__question:hover {background: transparent;}
	.pricing_faq__question:focus-visible { outline: 2px solid var(--clr-secondary); outline-offset: -2px; }
	.pricing_faq__question-text { flex: 1; }
	.pricing_faq__indicator {
	  flex: 0 0 24px;
	  width: 24px;
	  height: 24px;
	  position: relative;
	  display: inline-flex;
	  align-items: center;
	  justify-content: center;
	  color: #1B1656;
	}
	.pricing_faq__indicator::before {
	  content: '';
	  display: block;
	  width: 12px;
	  height: 12px;
	  border-right: 2px solid currentColor;
	  border-bottom: 2px solid currentColor;
	  transform: translateY(-3px) rotate(45deg);
	  transition: transform 0.28s ease;
	}
	.pricing_faq__item.is-open .pricing_faq__indicator::before {
	  transform: translateY(2px) rotate(-135deg);
	}
	.pricing_faq__answer-inner {
	  padding: 0 clamp(18px, 2.5vw, 32px) clamp(18px, 2vw, 34px);
	  color: var(--clr-text);
	}
	.pricing_faq__answer-inner p { margin: 0 0 12px; }
	.pricing_faq__answer-inner p:last-child { margin-bottom: 0; }
	
	/* --- Variant: navy-items (used by service-area inner pages) ---------------- */
	.pricing_faq--navy-items .pricing_faq__inner {
	  max-width: var(--container-width);
	  padding-inline: 20px;
	  row-gap: clamp(12px, 2.5vw, 20px);
	}
	.pricing_faq--navy-items .pricing_faq__head[data-align="left"] { text-align: left; align-items: flex-start; }
	.pricing_faq--navy-items .pricing_faq__head[data-align="left"] .pricing_faq__heading {
	  align-self: flex-start;
	  max-width: none;
	  text-transform: uppercase;
	}
	.pricing_faq--navy-items .pricing_faq__accordion { gap: 8px; }
	.pricing_faq--navy-items .pricing_faq__item {
	  border: 0;
	  background: transparent;
	  box-shadow: none;
	}
	.pricing_faq--navy-items .pricing_faq__question {
	  color: var(--clr-white);
	  padding: clamp(14px, 1.5vw, 18px) clamp(18px, 2.5vw, 28px);
	  background: var(--clr-dark, #1B1656);
	  border-radius: 0;
	}
	.pricing_faq--navy-items .pricing_faq__question:hover {}
	/* Plus / minus indicator (replaces chevron for navy-items variant) */
	.pricing_faq--navy-items .pricing_faq__indicator {
	  width: 21px;
	  height: 21px;
	  background: var(--clr-secondary);
	  border-radius: 50%;
	  flex: inherit;
	  align-items: center;
	  justify-content: center;
	}
	/* Force a flat horizontal bar in both closed and open states (override chevron). */
	.pricing_faq--navy-items .pricing_faq__indicator::before,
	.pricing_faq--navy-items .pricing_faq__item.is-open .pricing_faq__indicator::before {
	  content: '';
	  width: 11px;
	  height: 4px;
	  border: 0;
	  background: var(--clr-dark, #1B1656);
	  position: absolute;
	  border-radius: 1px;
	  transition: opacity 0.2s ease;
	  left: 50%;
	  transform: translate(-50%, -50%);
	  top: 50%;
	}
	
	
	.pricing_faq--navy-items .pricing_faq__indicator::before,
	.pricing_faq--navy-items .pricing_faq__indicator::after { filter: brightness(0) invert(1); }
	
	.pricing_faq--navy-items .pricing_faq__indicator::after {
	  content: '';
	  width: 4px;
	  height: 12px;
	  background: var(--clr-dark, #1B1656);
	  position: absolute;
	  border-radius: 1px;
	  transition: opacity 0.2s ease;
	  left: 50%;
	  transform: translate(-50%, -50%);
	  top: 50%;
	  transition: .5s ease;
	}
	.pricing_faq--navy-items .pricing_faq__item.is-open .pricing_faq__indicator::after {opacity: 0;}
	.pricing_faq--navy-items .pricing_faq__answer {
	  color: var(--clr-text);
	}
	.pricing_faq--navy-items .pricing_faq__answer-inner {padding: 10px 0 20px;}
	
	
	/* === Section: our_gallery (atoms-first) ==================================== */
	/* Composes from .wrapper, .o-flex, .fsXX, .fw-NNN, .ff-head, .c-button.
	   Section-specific CSS is limited to grid layout + image aspect ratio. */
	.our_gallery {
	  background: var(--clr-white);
	  color: var(--clr-black);
	  padding: clamp(64px, 8vw, 130px) 0 clamp(48px, 6vw, 100px);
	}
	.our_gallery__inner { display: flex; flex-direction: column; gap: clamp(36px, 4vw, 50px); }
	.our_gallery__head { text-align: center; --gapy: 10px; align-items: center; }
	.our_gallery__subtitle { margin: 0; color: var(--clr-1052A3, #1052A3); text-transform: uppercase; letter-spacing: 0.02em; }
	.our_gallery__title {margin: 0;max-width: 970px;text-transform: uppercase;}
	.our_gallery__grid {
	  display: grid;
	  grid-template-columns: repeat(3, minmax(0, 1fr));
	  gap: clamp(16px, 1.5vw, 24px);
	}
	.our_gallery__cell {
	  margin: 0;
	  padding: 0;
	  border: 0;
	  background: transparent;
	  aspect-ratio: 464 / 539;
	  overflow: hidden;
	  cursor: zoom-in;
	  display: block;
	  position: relative;
	}
	
	
	button.our_gallery__cell:before {
	    content: '';
	    height: 100%;
	    width: 100%;
	    position: absolute;
	    background: linear-gradient(180deg, rgba(27, 22, 86, 0) 35.06%, rgba(27, 22, 86, 0.4) 67.53%, #1B1656 100%);
	    left: 0;
	    bottom: 0;
	    z-index: 1;
	}
	
	.our_gallery__cell:focus-visible { outline: 2px solid var(--clr-secondary); outline-offset: 2px; }
	.our_gallery__cell img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform 0.4s ease; }
	.our_gallery__cell:hover img { transform: scale(1.03); }
	.our_gallery__cta-wrap {display: flex;justify-content: center;}
	
	/* popup OFF disable triggers without changing markup */
	.our_gallery--popup-off .our_gallery__cell {
	  pointer-events: none;
	  cursor: default;
	}
	.our_gallery--popup-off .our_gallery__cell:hover img { transform: none; }
	
	@media (max-width: 991px) {
	  .our_gallery__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	}
	@media (max-width: 575px) {
	  .our_gallery__grid { grid-template-columns: 1fr; }
	}
	
	/* Lightbox dialog always rendered; `[hidden]` until JS opens it. */
	.our_gallery__lightbox {
	  position: fixed;
	  inset: 0;
	  background: rgba(0, 0, 0, 0.92);
	  z-index: 999999999999;
	  display: flex;
	  align-items: center;
	  justify-content: center;
	  padding: clamp(8px, 2vw, 32px);
	}
	.our_gallery__lightbox[hidden] { display: none; }
	.our_gallery__lightbox-figure {
	  margin: 0;
	  width: 100%;
	  height: 100%;
	  display: flex;
	  align-items: center;
	  justify-content: center;
	  pointer-events: none; /* clicks fall through to backdrop except on buttons */
	}
	.our_gallery__lightbox-img {
	  max-width: 96vw;
	  max-height: 96vh;
	  width: auto;
	  height: auto;
	  object-fit: contain;
	  display: block;
	  user-select: none;
	  pointer-events: auto;
	  opacity: 1;
	  transition: opacity 0.18s ease;
	}
	.our_gallery__lightbox-img.is-switching { opacity: 0; }
	@media (prefers-reduced-motion: reduce) {
	  .our_gallery__lightbox-img { transition: none; }
	  .our_gallery__lightbox-img.is-switching { opacity: 1; }
	}
	.our_gallery__lightbox-close,
	.our_gallery__lightbox-nav {
	  position: absolute;
	  background: rgba(255, 255, 255, 0.12);
	  color: #fff;
	  border: 1px solid rgba(255, 255, 255, 0.25);
	  border-radius: 50%;
	  width: 48px;
	  height: 48px;
	  cursor: pointer;
	  font-size: 24px;
	  display: inline-flex;
	  align-items: center;
	  justify-content: center;
	  transition: background 0.2s ease, transform 0.2s ease;
	  padding: 0;
	}
	.our_gallery__lightbox-close:hover,
	.our_gallery__lightbox-nav:hover {background: var(--clr-secondary);border: var(--clr-secondary);}
	.our_gallery__lightbox-close:focus-visible,
	.our_gallery__lightbox-nav:focus-visible { outline: 2px solid var(--clr-secondary); outline-offset: 2px; }
	.our_gallery__lightbox-close {top: clamp(28px, 4.5vw, 40px);right: clamp(28px, 4.5vw, 40px);font-size: 28px;padding: 4px 0 0;}
	.our_gallery__lightbox-nav--prev { left: clamp(8px, 1.5vw, 20px); top: 50%; transform: translateY(-50%); }
	.our_gallery__lightbox-nav--next {right: clamp(8px, 1.5vw, 20px);top: 50%;transform: translateY(-50%);z-index: 3;}
	
	body.has-lightbox-open { overflow: hidden; }
	
	@media (max-width: 575px) {
	  .our_gallery__lightbox-nav { width: 40px; height: 40px; }
	  .our_gallery__lightbox-img { max-width: 94vw; max-height: 80vh; }
	}
	
	/* === Section: contact_info (atoms-first, 3-card grid + map iframe) ========= */
	.contact_info {
	  background: var(--clr-white);
	  color: var(--clr-black);
	  padding: clamp(48px, 6vw, 120px) 0 clamp(48px, 6vw, 120px);
	}
	.contact_info__inner {display: flex;flex-direction: column;gap: clamp(32px, 3vw, 50px);}
	.contact_info__head {text-align: center;--gapy: 10px;align-items: center;--gapx: 10px;}
	.contact_info__subtitle {margin: 0;color: var(--clr-primary, #1052A3);text-transform: uppercase;}
	.contact_info__title {margin: 0;text-transform: uppercase;}
	.contact_info__intro {color: var(--clr-text);max-width: clamp(200px, 80%, 1018px);margin: 0 auto;}
	.contact_info__cards {
	  --direction: row;
	  --justify: center;
	  --align: stretch;
	  --wrap: wrap;
	  --gapx: clamp(20px, 2.5vw, 40px);
	  --gapy: clamp(20px, 2.5vw, 32px);
	}
	.contact_info__card {
	  text-align: center;
	  --gapy: 32px;
	  --icon-size: clamp(32px, 4vw, 72px);
	  padding: clamp(20px, 2.5vw, 32px);
	  box-shadow: 0px 4px 34px 0px #00000012;
	  border: 1px solid #0000001A;
	  max-width: calc( (100% - var(--gapy) * 2 ) / 3);
	  width: 100%;
	}
	.contact_info__icon {
	  width: var(--icon-size);
	  height: var(--icon-size);
	  border-radius: 50%;
	  background: var(
	  --clr-secondary);
	  --align: center;
	  --justify: center;
	  margin: 0 auto;
	}
	 
	.contact_info__label {margin: clamp(22px, 2vw, 40px) 0 12px;color: #4A5565;text-transform: uppercase;letter-spacing: 0.35em;}
	.contact_info__value { color: var(--clr-black); }
	.contact_info__value p { margin: 0; }
	.contact_info__value a { color: inherit; text-decoration: underline; text-decoration-color: transparent; transition: text-decoration-color 0.2s ease; }
	.contact_info__value a:hover { text-decoration-color: currentColor; }
	.contact_info__map { width: 100%; aspect-ratio: 1440 / 540; max-height: 540px; overflow: hidden; }
	.contact_info__map iframe { width: 100%; height: 100%; border: 0; display: block; }

	@media (max-width: 1200px) {
	
		.contact_info__card {max-width: calc( (100% - var(--gapy) ) / 2);}
	
	}


	@media (max-width: 991px) {
	  .contact_info__card { flex: 1 1 calc(50% - 20px); }
	}
	@media (max-width: 575px) {
	  .contact_info__card { flex: 1 1 100%; max-width: 480px; }
	  .contact_info__map { aspect-ratio: 4 / 3; }
	}
	
	/* === Landing Page namespaced .lp-* blocks ============================== */
	/*
	 * All landing-page styles live under a .lp- prefix so they cannot leak into
	 * the main site stylesheet (main site uses .site-* and per-block BEM blocks).
	 *
	 * Convention:
	 *   - Page-template scope:   `.is-landing-page` (body class) when needed
	 *   - Header:                `.lp-header`
	 *   - Footer:                `.lp-footer`
	 *   - Flex-block sections:   `.lp-{section_name}`
	 *
	 * Container width is controlled GLOBALLY by `.wrapper` (--container-width = 1480px).
	 * NEVER hardcode max-width on lp-*__inner use .wrapper at markup time instead.
	 * ========================================================================= */
	
	
	/* === lp-header absolute overlay on hero (phone left, logo center) ====== */
	.lp-header {
		position: absolute;
		top: 0;
		left: 0;
		right: 0;
		width: 100%;
		padding: 0;
		background: transparent;
		color: #fff;
		z-index: 10;
	}
	.lp-header__inner {
		position: relative;
		display: flex;
		align-items: center;
		justify-content: flex-start;
		gap: 24px;
	}
	.lp-header__phone {
		gap: clamp(12px, 1.25vw, 28px);
		color: #fff;
		padding: clamp(22px, 3vw, 42px) 0;
		position: relative;
	}
	.lp-header__phone-icon {
		width: clamp(32px, 3.75vw, 70px);
		height: clamp(32px, 3.75vw, 70px);
		flex-shrink: 0;
		display: block;
	}
	.lp-header__phone-text {
		display: flex;
		flex-direction: column;
		line-height: 1.1;
	}
	.lp-header__phone-label {
		color: #fff;
		text-transform: uppercase;
		letter-spacing: 0.035em;
	}
	.lp-header__phone-number {
		color: #fff;
		text-decoration: none;
		transition: color 0.3s ease;
	}
	.lp-header__phone-number:hover,
	.lp-header__phone-number:focus-visible {
		color: var(--clr-secondary);
	}
	.lp-header__brand {
		position: absolute;
		left: 50%;
		top: 50%;
		transform: translate(-50%, -50%);
		flex: 0 0 auto;
		font-size: 0;
	}
	.lp-header__logo {
		display: inline-flex;
		align-items: center;
		width: clamp(200px, 15vw, 260px);
		height: clamp(120px, 10vw, 181px);
		line-height: 1;
	}
	 
	.lp-header__logo--placeholder {
		display: inline-block;
		width: 160px;
		height: 48px;
	}
	@media (max-width: 1023px) {
		 
		.lp-header__phone-icon { width: 56px; height: 56px; }
		 
	}
	@media (max-width: 767px) {
		.lp-header__phone {padding: 0;margin: 32px 0;}
		.lp-header__phone-text {position: absolute;height: 100%;width: 100%;overflow: hidden;top: 0;opacity: 0;}	 
	}
	
	/* === lp-footer two-bar structure ====================================== */
	.lp-footer { color: #fff; }

	.site-footer__info-notch--lp {
	    position: relative;
	    transform: inherit;
	    margin-bottom: -1px;
	}

	/* Bar 1 navy info bar (#1B1656) */
	.lp-footer-info {
		background: #1B1656;
		padding: clamp(52px, 4vw, 75px) 0;
	}
	.lp-footer-info__inner {
		display: flex;
		flex-direction: column;
		gap: 22px;
	}
	.lp-footer-info__row--brand {
		gap: 48px;
		flex-wrap: wrap;
		justify-content: space-between;
	}
	.lp-footer-info__brand { flex: 0 0 auto; }
	.lp-footer-info__logo {
		display: inline-flex;
		align-items: center;
		max-width: 298px;
		max-height: 194px;
	}
	.lp-footer-info__logo img {
	}
	.lp-footer-info__logo--placeholder { display: inline-block; width: 200px; height: 80px; }
	.lp-footer-info__trust-list {
		gap: clamp(22px, 3vw, 42px);
		flex-wrap: wrap;
		list-style: none;
		padding: 0;
		margin: 0;
		justify-content: flex-end;
	}
	.lp-footer-info__trust-item {
		gap: clamp(12px, 1.25vw, 21px);
		min-height: 70px;
		padding: 20px;
		border: 1px solid rgba(255,255,255,0.18);
		flex: 0 1 auto;
		--icn-size: clamp(34px, 3vw, 51px);
		min-width: clamp(200px, 14.5vw, 268px);
	}
	.lp-footer-info__trust-icon {
		width: var(--icn-size);
		height: var(--icn-size);
		flex-shrink: 0;
		filter: brightness(0) invert(1);
	}
	.lp-footer-info__trust-label {
		color: #fff;
		white-space: normal;
		max-width: 160px;
	}
	.lp-footer-info__services-list {
		gap: 0 22px;
		flex-wrap: wrap;
		list-style: none;
		margin: 0;
		justify-content: space-between;
	}

	.lp-footer-info__services-list:before, .lp-footer-info__services-list:after {
	    height: 1px;
	    content: '';
	    width: 100%;
	    background: red;
	    background: linear-gradient(90deg, rgba(27, 22, 86, 0) 0%, rgba(255, 255, 255, 0.3) 50.48%, rgba(27, 22, 86, 0) 100%);
	}

	.lp-footer-info__services-item {flex: 0 0 auto;padding: clamp(12px, 1.25vw, 24px) clamp(6px, 1vw, 12px);}
	.lp-footer-info__services-link {
		color: #fff;
		text-transform: uppercase;
		text-decoration: none;
		transition: color 0.3s ease;
	}
	.lp-footer-info__services-link:hover,
	.lp-footer-info__services-link:focus-visible {
		color: var(--clr-secondary);
		text-decoration: none;
	}
	
	/* Bar 2 black copyright bar (#000) */
	.lp-copyright {
		background: #000;
		padding: 24px 0;
	}
	.lp-copyright__inner {
		gap: 24px;
		flex-wrap: wrap;
		justify-content: space-between;
	}
	.lp-copyright__text {color: #fff;letter-spacing: 0;}
	.lp-copyright__text p { margin: 0; color: inherit; }
	.lp-copyright__legal-list {
		gap: 0;
		list-style: none;
		padding: 0; margin: 0;
		flex-wrap: wrap;
	}
	.lp-copyright__legal-item { flex: 0 0 auto; }
	.lp-copyright__legal-item + .lp-copyright__legal-item::before {
		content: "|";
		display: inline-block;
		margin: 0 14px;
		color: rgba(255,255,255,0.35);
	}
	.lp-copyright__legal-link {
		color: #fff;
		text-decoration: none;
		transition: color 0.3s ease;
	}
	.lp-copyright__legal-link:hover,
	.lp-copyright__legal-link:focus-visible { color: var(--clr-secondary); }
	
	@media (max-width: 1024px) {
		.lp-footer-info { padding: 48px 0; }
		.lp-footer-info__row--brand {gap: 28px;justify-content: center;}
		.lp-footer-info__services-list {
    justify-content: center;
    padding-left: 0;
    --justify: center;
}
	}
	@media (max-width: 767px) {
		.lp-footer-info { padding: 36px 0; }
		.lp-footer-info__row--brand {gap: 20px;align-items: center;flex-direction: column;}
		.lp-footer-info__trust-list {justify-content: center;gap: 10px;}
		.lp-footer-info__trust-item { padding: 12px 16px; }
		.lp-footer-info__services-list {}
		.lp-copyright__inner {flex-direction: column;align-items: center;gap: 12px;}

		.lp-copyright__text  { text-align: center; }
	
	}
	
	
	/* === lp_hero_banner ====================================================== */
	.lp-hero-banner {
		position: relative;
		overflow: hidden;
		background-color: var(--clr-dark);
		background-image: url("assets/imgs/lp-hero-banner.png");
		background-size: cover;
		background-position: center center;
		background-repeat: no-repeat;
		color: #fff;
	}
	.lp-hero-banner__overlay {
		position: absolute;
		inset: 0;
		background: linear-gradient(90deg, rgb(20 35 93) 0%, rgba(20, 35, 93, 0.82) 48%, transparent 100%);
		z-index: 0;
		pointer-events: none;
	}
	.lp-hero-banner__inner {
		position: relative;
		z-index: 4;
		display: grid;
		grid-template-columns: auto  minmax(420px, 655px);
		gap: 64px;
		align-items: start;
		padding: clamp(160px, 16vw, 269px) 20px 62px;
		min-height: 760px;
	}
	.lp-hero-banner__copy {
		display: flex; flex-direction: column;
		padding-top: 8px;
	}
	.lp-hero-banner__eyebrow {
		display: inline-flex;
		align-items: center;
		align-self: flex-start;
		padding: 8px 16px;
		margin-bottom: 24px;
		background: var(--clr-primary);
		text-transform: uppercase;
		letter-spacing: 0.04em;
		color: #fff;
		border-radius: 2px;
	}
	.lp-hero-banner__headline {
		margin: 0 0 20px;
		color: #fff;
		text-transform: uppercase;
		line-height: 1.05;
		max-width: 730px;
	}
	.lp-hero-banner__body {
		margin: 0 0 32px;
		max-width: 560px;
		color: rgba(255,255,255,0.9);
		line-height: 1.55;
	}
	.lp-hero-banner__cta-row {gap: 16px clamp(12px, 2.5vw, 30px);margin-bottom: 40px;}
	
	.lp-hero-banner__trust {
		display: flex;
		align-items: center;
		gap: 40px;
		flex-wrap: wrap;
	}
	.lp-hero-banner__trust-list {
		display: flex;
		gap: 28px;
		list-style: none;
		padding: 0; margin: 0;
		flex-wrap: wrap;
	}
	
	.lp-hero-banner__cta {
	    --btn-bg: var(--clr-primary);
	    --btn-border-color: var(--clr-primary);
	    --btn-hover-bg: #fff;
	    --btn-hover-border-color: #fff;
	    --btn-hover-color: var(--clr-secondary);
	    font-size: clamp(14px, 1.75vw, 20px);
	}
	
	.lp-hero-banner .gform_wrapper .gform_button {
	
	  background: var(--clr-primary) !important;
	  border-color: var(--clr-primary) !important;
	}
	
	.lp-hero-banner .gform_wrapper .gform_button:hover {
	
	    background: var(--clr-secondary) !important;
	    border-color: var(--clr-secondary) !important;
	    color: #fff !important;
	}
	
	.lp-hero-banner__cta--secondary {
	    --btn-border-color: var(--clr-secondary);
	    --btn-bg: transparent;
	    --btn-color: var(--clr-secondary);
	    --btn-hover-bg: #fff;
	    --btn-hover-border-color: #fff;
	    --btn-hover-color: var(--clr-secondary);
	}
	
	.lp-hero-banner__trust-item {
		display: flex;
		flex-direction: column;
		align-items: center;
		gap: 10px;
		min-width: 98px;
	}
	.lp-hero-banner__trust-icon {
		display: block;
		width: clamp(42px, 4vw, 59px);
		height: clamp(42px, 4vw, 59px);
		border-radius: 50%;
		object-fit: contain;
	}
	.lp-hero-banner__trust-label {
		color: #fff;
		text-align: center;
		line-height: 1.3;
		max-width: 112px;
	}
	.lp-hero-banner__reviews {
		display: flex;
		align-items: center;
		gap: 12px;
	}
	.lp-hero-banner__reviews-logo {
		width: 36px;
		height: 36px;
		flex-shrink: 0;
	}
	.lp-hero-banner__reviews-text {
		color: #fff;
		line-height: 1.3;
	}
	
	.lp-hero-banner__form-card {
		position: relative;
		display: flex;
		flex-direction: column;
		background: #fff;
		 
		box-shadow: 0 24px 48px rgba(0,0,0,0.25);
	}
	
	
	.lp-hero-banner__form-card:after {
	    content: '';
	    position: absolute;
	    width: clamp(200px, 17vw,219px);
	    height: clamp(240px, 24vw,329px);
	    background: url('./assets/imgs/fox-decore.png') no-repeat;
	    bottom: 0;
	    right: 0;
	    transform: translate(60%, 45%);
	    z-index: 2;
	    background-size: contain;
	}
	
	
	.lp-hero-banner__form-head {
		padding: 21px 28px;
		background: #202E6D;
		text-align: center;
		border-top: clamp(2px, .5vw, 4px) solid #E0A117;
	}
	.lp-hero-banner__form-title {
		color: #fff;
		line-height: 1.25;
		max-width: 446px;
		text-transform: uppercase;
		margin: 0 auto;
		text-wrap: balance;
	}
	.lp-hero-banner__form-body {padding: 24px 25px 8px;}
	.lp-hero-banner__form-disclaimer {
		margin: 0;
		padding: 0 28px 24px;
		color: var(--clr-muted);
		text-align: center;
		line-height: 1.45;
	}
	
	/* GF2 scoped overrides only inside the hero card */
	.lp-hero-banner .gform_wrapper .gform_fields {
		display: grid !important;
		grid-template-columns: repeat(12, 1fr) !important;
		gap: 15px 13px !important;
	}
	.lp-hero-banner .gform_wrapper .gfield {
		margin: 0;
		padding: 0;
		grid-column: span 12;
	}
	.lp-hero-banner .gform_wrapper .gfield--width-half,
	.lp-hero-banner .gform_wrapper .gfield--width-6 { grid-column: span 6; }
	.lp-hero-banner .gform_wrapper .gfield--width-third,
	.lp-hero-banner .gform_wrapper .gfield--width-4 { grid-column: span 4; }
	.lp-hero-banner .gform_wrapper .gfield input[type="text"],
	.lp-hero-banner .gform_wrapper .gfield input[type="email"],
	.lp-hero-banner .gform_wrapper .gfield input[type="tel"],
	.lp-hero-banner .gform_wrapper .gfield input[type="number"],
	.lp-hero-banner .gform_wrapper .gfield select,
	.lp-hero-banner .gform_wrapper .gfield textarea {
		background-color: #F4F4F4;
		border: 1px solid #1B16564D;
		color: #00078;
	}
	.lp-hero-banner .gform_wrapper .gfield input:focus,
	.lp-hero-banner .gform_wrapper .gfield select:focus,
	.lp-hero-banner .gform_wrapper .gfield textarea:focus {
		outline: none;
	}
	.lp-hero-banner .gform_wrapper .gfield_label { display: none; }
	.lp-hero-banner .gform_wrapper .gform_footer {
		padding: clamp(22px,2vw, 31px) 0 11px;
		margin: 0;
		display: flex;
	}
	.lp-hero-banner .gform_wrapper .gform_button,
	.lp-hero-banner .gform_wrapper input[type="submit"],
	.lp-hero-banner .gform_wrapper button[type="submit"] {
		margin: 0 auto !important;
		min-width: clamp(24px, 68%, 321px) !important;
	}
	
	@media (max-width: 1279px) {
		.lp-hero-banner {min-height: auto;}
		.lp-hero-banner__inner {grid-template-columns: 1fr;gap: 48px;padding-bottom: 12%;}
		.lp-hero-banner__form-card {max-width: 540px;margin: 0 auto 0 0;width: 100%;}
	}
	@media (max-width: 768px) {
		.lp-hero-banner .gform_wrapper .gfield--width-half, .lp-hero-banner .gform_wrapper .gfield--width-6 {grid-column: span 12;}
		.lp-hero-banner__form-card:after {height: 220px;width: 220px;}
		.lp-hero-banner__inner {gap: 32px;padding-bottom: 19%;}
		.lp-hero-banner__copy {padding-top: 0;align-items: flex-start;}
		.lp-hero-banner__cta-row { flex-direction: column; align-items: stretch; }
		.lp-hero-banner__trust-list { gap: 16px; justify-content: flex-start; }
		.lp-hero-banner__trust { gap: 20px; }
		.lp-hero-banner__form-head { padding: 18px 20px; }
		.lp-hero-banner__form-body { padding: 18px 20px 4px; }
		.lp-hero-banner__form-disclaimer { padding: 0 20px 18px; }
		.lp-hero-banner__trust-item { max-width: 140px; }
		.lp-hero-banner__form-card:after { opacity: 0; }
	}
	/* === end lp_hero_banner ================================================== */
	
	
	/* === lp_features_listing ================================================= */
	.lp-features-listing {
		padding: clamp(64px, 9vw, 125px) 0;
	}
	.lp-features-listing__inner {
		display: flex;
		flex-direction: column;
		gap: clamp(32px, 3.5vw,50px);
	}
	.lp-features-listing__header {
		display: flex;
		flex-direction: column;
		align-items: center;
		text-align: center;
		gap: 30px;
	}
	.lp-features-listing__heading {
		margin: 0;
		color: #000;
		text-transform: uppercase;
		text-align: center;
		max-width: 924px;
	}
	.lp-features-listing__subheading {
		margin: 0;
		max-width: 645px;
		color: #000;
	}
	
	/* === Trust cards row (5 cards, equal-width grid) ========================= */
	.lp-features-listing__trust-grid {
		display: grid;
		grid-template-columns: repeat(5, 1fr);
		gap: 10px;
		list-style: none;
		padding: 0;
		margin: 0;
	}
	.lp-features-listing__trust-card {
		display: flex;
		flex-direction: column;
		align-items: center;
		gap: 9px;
		padding: clamp(24px, 2.25vw,40px) clamp(16px, 1.25vw,24px);
		background: #fff;
		text-align: center;
		box-shadow: 0px 4px 34px 0px #00000012;
		border: 1px solid #0000001A;
		--icn-size: clamp(52px, 6vw, 84px);
	}
	.lp-features-listing__trust-icon {
		width: var(--icn-size);
		height: var(--icn-size);
		flex-shrink: 0;
		display: block;
	}
	.lp-features-listing__trust-label {
		margin: 10px 0 0;
		text-align: center;
	}
	.lp-features-listing__trust-desc {
		margin: 0;
		color: #4A5565;
		text-align: center;
		max-width: 220px;
		line-height: calc(22 / 18);
	}
	
	/* === Process row (3 numbered circles + connector overlay + labels) ======= */
	.lp-features-listing__process {
		margin-top: 10px;
	}
 
	.lp-features-listing__process-label:before {
		width: var(--icn-size); height: var(--icn-size); display: flex; align-items: center; justify-content: center; background: #F7F7F7; border-radius: 50%; color: rgba(27, 22, 86, .35); letter-spacing: -0.01em; line-height: 1;
		content: attr(data-step); font-size: clamp(28px, calc(7.692px + 2.404vw), 50px); font-weight: 700; font-family: 'Oswald'; margin: 0 auto;
	}
 
	.lp-features-listing__process-labels {
		display: grid; grid-template-columns: repeat(3, 1fr); justify-items: center; gap: 0; list-style: none; padding: 0; max-width: 1305px; margin: 0 auto; width: 100%;
		--sep-color: #0a3c5738; --icn-size: var(); --icn-size: clamp(62px, 9vw, 104px);
	}

	.lp-features-listing__process-label {
		margin: 0; text-align: center; width: 100%; position: relative;
	}

	.lp-features-listing__process-label:not(:nth-child(3n)) .lp-features-listing__separator:before { right: 0; width: 112px; top: 0; transform: translate(50%, -6px); content: ''; height: 20px; position: absolute; 
		background: url('./assets/imgs/border-decore.svg') no-repeat; background-size: contain; }

	.lp-features-listing__separator { background: var(--sep-color); height: 2px; width: 100%; display: block; margin: 44px 0; position: relative; }

.lp-features-listing__separator:after {height: 8px;width: 8px;background: var(--rpi-star-color);position: absolute;transform: translate(-50%, -50%);content: '';border-radius: 50%;top: 0;left: 50%;outline: 4px solid #E0A11714;box-sizing: content-box;z-index: 2;}

.lp-features-listing__process-label:first-child .lp-features-listing__separator {
    background: linear-gradient(45deg, transparent, var(--sep-color));
}

.lp-features-listing__process-label:last-child .lp-features-listing__separator {
    background: linear-gradient(45deg , var(--sep-color), transparent);
}

	.lp-features-listing__process-label span {max-width: 240px;display: inline-block;}
	
	@media (max-width: 1280px) {
		.lp-features-listing {}
		.lp-features-listing__inner { gap: 64px; }
		.lp-features-listing__trust-grid { grid-template-columns: repeat(3, 1fr); gap: 20px; }
	}
	@media (max-width: 768px) {
 
		.lp-features-listing__inner { gap: 48px; }
		.lp-features-listing__trust-grid { grid-template-columns: repeat(2, 1fr); gap: 16px; }
		.lp-features-listing__trust-card { padding: 28px 16px; gap: 14px; }
		.lp-features-listing__process { gap: 24px; }
		.lp-features-listing__process-labels {grid-template-columns: 1fr;gap: 40px;}
		.lp-features-listing__separator { display: none; }	
		.lp-features-listing__process-label span {margin: 20px 0;color: #fff;font-size: 26px;max-width: inherit;}
		.lp-features-listing__process-label {background: #1152a3;padding: 40px 24px;color: #fff;border-left: 8px solid var(--clr-secondary);}
	
	}

	@media (max-width: 589px) {
	    .lp-features-listing__trust-grid {
        grid-template-columns: 1fr; }
	}

	/* === end lp_features_listing ============================================= */
	
	
	/* === lp_financing_plans ================================================== */
	.lp-financing-plans {
		position: relative; padding: clamp(64px, 7vw, 126px) 0; background-color: var(--clr-dark);
		background-image: linear-gradient(rgba(31,27,77,0.94), rgba(31,27,77,0.94)), url("./assets/imgs/lp-services-section.png");
		background-size: cover;
		background-position: center center;
		background-repeat: no-repeat; color: #fff; overflow: hidden;
	}
	.lp-financing-plans__inner {
		position: relative; z-index: 1; display: flex; flex-direction: column; gap: clamp(34px, 4vw, 50px); text-align: center;
	}

	.lp-financing-plans__header {}
	.lp-financing-plans__heading {
		margin: 0;
		text-transform: uppercase;
		line-height: 1.1;
	}
	
	.lp-financing-plans__grid {
		display: grid; grid-template-columns: repeat(3, 1fr); gap: clamp(18px, 3vw, 41px); list-style: none; padding: 0; margin: 0;
	}

	.lp-financing-plans__card {
		display: flex; flex-direction: column; align-items: center; gap: 10px; padding: clamp(32px, 3vw, 44px); color: #1B1656; transition: .5s ease; border: var(--outline-width) solid rgba(255, 255, 255, .22); 
		--outline-width: clamp(4px,1.25vw, 11px); --bg-color: #fff; position: relative;
	}

	.lp-financing-plans__card:hover {
		transform: translateY(-4px);
		box-shadow: 0 16px 36px rgba(0,0,0,0.3);
	}
	
	.lp-financing-plans__card--featured {
		--bg-color: var(--clr-secondary);
		border-color: #fff;
		color: #fff;
	}

	.lp-financing-plans__card--featured .lp-financing-plans__card-cta {--btn-hover-bg: #fff;--btn-hover-color: var(--clr-secondary);--btn-hover-border-color: #fff;--btn-bg: #164389;--btn-color: #fff;}

.lp-financing-plans__card:before {
    content: '';
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    height: 100%;
    background: var(
    --bg-color);
    width: 100%;
    z-index: -1;
}

	.lp-financing-plans__card-body:before {
    content: '';
    margin: 17px 0 27px;
    display: block;
    height: 1px;
    width: 100%;
    border: 1px solid #1B165636;
	}

.lp-financing-plans__card--featured
.lp-financing-plans__card-body:before { filter: invert(1); }

	.lp-financing-plans__card--featured:hover { transform: translateY(-12px); }
	.lp-financing-plans__card-heading {
		margin: 0 auto;
		text-transform: uppercase;
		max-width: 272px;
	}
	.lp-financing-plans__card-body {
		margin: 0 0 clamp(22px, 2vw, 34px);
		color: inherit;
		line-height: 1.6;
	}
	.lp-financing-plans__card-body p {margin: 0 auto;max-width: 272px;}
	.lp-financing-plans__card-cta {margin-top: auto;font-size: clamp(16px, 2vw, 20px);min-width: clamp(120px, 13vw, 251px );padding: 18px 22px;--btn-bg: transparent;--btn-color: var(--clr-secondary);--btn-border-color: var(--clr-secondary);
	--btn-hover-bg: #164389;--btn-hover-color: #fff;}
	.lp-financing-plans__disclaimer {
		color: #fff;
	}
	
	@media (max-width: 1024px) {
		.lp-financing-plans { padding: 80px 0; }
		.lp-financing-plans__grid {grid-template-columns: 1fr 1fr;gap: 20px;}
		.lp-financing-plans__card--featured {transform: none;}
		.lp-financing-plans__card--featured:hover { transform: translateY(-4px); }
	}
	@media (max-width: 768px) {
		.lp-financing-plans__grid { grid-template-columns: 1fr; }
		.lp-financing-plans { padding: 56px 0; }
		.lp-financing-plans__inner { gap: 32px; }
		.lp-financing-plans__card {max-width: 320px;margin: 0 auto;}
	}
	/* === end lp_financing_plans ============================================== */
	
	
	/* === lp_check_financing ================================================== */
	.lp-check-financing {
		padding: 100px 0;
		background: #fff;
		color: var(--clr-dark);
	}
	.lp-check-financing__inner {
		display: flex;
		flex-direction: column;
		gap: clamp(32px,4vw, 50px);
		text-align: center;
	}
	.lp-check-financing__heading {
		margin: 0 auto; color: var(--clr-text); text-transform: uppercase; line-height: 1.05;
	}
	.lp-check-financing__steps {
		display: flex; align-items: flex-start; justify-content: center; gap: 0; width: 100%; max-width: 460px; margin: 0 auto; padding: 8px 0;
	}
	.lp-check-financing__step {
		display: flex; flex-direction: column; align-items: center; gap: 12px; flex: 0 0 auto;
	}
	.lp-check-financing__step-circle {
		display: inline-flex;
		align-items: center;
		justify-content: center;
		border-radius: 50%;
		border: 4px solid #D1D5DB;
		color: #9CA3AF;
		transition: all 0.3s ease;
		padding: 16.25px 21.605px;
		background: #f7f7f7;
		z-index: 2;
		aspect-ratio: 1/1;
	}
	.lp-check-financing__step.is-active .lp-check-financing__step-circle,
	.lp-check-financing__step.is-completed .lp-check-financing__step-circle {
		background: var(--clr-primary-dark);
		border-color: var(--clr-primary-dark);
		color: #fff;
	}
	.lp-check-financing__step-label {
		color: #9CA3AF;
		text-transform: uppercase;
		letter-spacing: 0.06em;
	}
	.lp-check-financing__step.is-active .lp-check-financing__step-label,
	.lp-check-financing__step.is-completed .lp-check-financing__step-label {
		color: var(--clr-primary-dark);
	}
	.lp-check-financing__connector {
		flex: 1 1 auto; min-width: 80px; height: 2px; background: #D1D5DB; margin: 9% -8px 0; align-self: flex-start; position: relative; overflow: hidden;
	}
	.lp-check-financing__connector::after {
		content: ""; position: absolute; inset: 0; background: var(--clr-primary-dark); transform-origin: left center; transform: scaleX(var(--lp-fill, 0)); transition: transform 0.3s ease;
	}
	
	.lp-check-financing__form {
		margin: 0 auto;
		width: 100%;
		background: #F7F7F7;
		text-align: left;
		padding: clamp(44px, 8vw, 90px) clamp(44px, 7vw, 110px);
		display: flex;
		flex-direction: column;
		row-gap: clamp(32px,4vw, 50px);
	}
	
	/* GF3 scoped overrides */
	.lp-check-financing .gform_wrapper .gform_fields {
		display: grid !important;
		gap: 20px !important;
	}
	.lp-check-financing .gform_wrapper .gfield {
		margin: 0;
		padding: 0;
		grid-column: span 12;
	}
	.lp-check-financing .gform_wrapper .gfield--width-half,
	.lp-check-financing .gform_wrapper .gfield--width-6 { grid-column: span 6; }
	.lp-check-financing .gform_wrapper .gfield--width-third,
	.lp-check-financing .gform_wrapper .gfield--width-4 { grid-column: span 4; }
	.lp-check-financing .gform_wrapper .gfield input[type="text"],
	.lp-check-financing .gform_wrapper .gfield input[type="email"],
	.lp-check-financing .gform_wrapper .gfield input[type="tel"],
	.lp-check-financing .gform_wrapper .gfield input[type="number"],
	.lp-check-financing .gform_wrapper .gfield select,
	.lp-check-financing .gform_wrapper .gfield textarea {
		width: 100%;
		color: #000 !important;
		border: 1px solid #2624224D;
		max-height: 80px;
		height: clamp(56px,5vw, 80px);
		padding: 0 25px;
	}
 
	.lp-check-financing .gform_wrapper .gfield_label { display: none; }
	.lp-check-financing .gform_wrapper .gform_footer,
	.lp-check-financing .gform_wrapper .gform-page-footer {
		display: flex;
		justify-content: center;
		margin: clamp(32px,4vw, 40px) 0 0;
		padding: 0;
	}


button#gform_previous_button_3 { display: none; }
button#gform_next_button_3_6, button#gform_submit_button_3 {background: #164389 !important;}
button#gform_next_button_3_6 { font-size: 0 !important; }
button#gform_submit_button_3:hover, button#gform_next_button_3_6:hover {background: var(--clr-secondary) !important;color: #fff !important;}
button#gform_next_button_3_6:before {content: 'Continue'; font-size: clamp(12px, 2vw, 20px) !important; font-weight: 600; font-family: 'Poppins' !important; text-transform: uppercase;letter-spacing: .03em;}
.lp-check-financing .gform_wrapper .gf_progressbar_wrapper,
.lp-check-financing .gform_wrapper .gf_progressbar_title { display: none; }
	
	@media (max-width: 1024px) {
		.lp-check-financing { padding: 80px 0; }
		.lp-check-financing__form { padding: 32px 32px; }
	}
	@media (max-width: 768px) {
		.lp-check-financing { padding: 56px 0; }
		.lp-check-financing__inner { gap: 24px; }
		.lp-check-financing__form { padding: 24px 18px; }
		.lp-check-financing__steps { padding: 8px 0; gap: 0; max-width: 320px; }
		.lp-check-financing__connector { min-width: 40px; }
		.lp-check-financing [class*="gform_"] .gform_fields { grid-template-columns: 1fr; gap: 12px; }
	}
	/* === end lp_check_financing ============================================== */
	
	
	/* === lp_faq ============================================================== */
	.lp-faq {
		position: relative; background-color: var(--clr-dark); background-image: linear-gradient(rgba(31,27,77,0.96), rgba(31,27,77,0.96)), url("./assets/imgs/lp-faqs-section.png"); background-size: cover; 
		background-position: center center; background-repeat: no-repeat; color: #fff; overflow: hidden; background-attachment: fixed;
	}
	.lp-faq__inner {
		display: flex;
		flex-direction: column;
		gap: clamp(32px, 5vw, 60px);
		padding: clamp(85px, 8vw, 186px) 20px 85px;
	}
	.lp-faq__header { text-align: center; }
	.lp-faq__heading {
		margin: 0; color: #fff; text-transform: uppercase; text-align: center; line-height: 1.1; letter-spacing: 0.02em;
	}
	.lp-faq__list {
		display: grid;
		grid-template-columns: 1fr 1fr;
		column-gap: clamp(32px, 10vw, 180px);
		row-gap: 0;
		align-items: flex-start;
		position: relative;
		z-index: 2;
	}
	.lp-faq__item {
		border-bottom: 1px solid rgba(255, 255, 255, 0.3);
	}

	.lp-faq__item:nth-child(1) {
    border-top: 1px solid rgba(255, 255, 255, 0.3); }


	.lp-faq__trigger {
		all: unset;
		box-sizing: border-box;
		display: flex;
		align-items: center;
		justify-content: space-between;
		gap: 16px;
		width: 100%;
		padding: clamp(22px, 3vw, 44px) 0;
		color: #fff;
		text-align: left;
		cursor: pointer;
		font-family: var(--ff-primary);
		line-height: 1.4;
		transition: all 0.3s ease;
	}
	.lp-faq__trigger:focus-visible {
		outline: 2px solid var(--clr-secondary);
		outline-offset: 2px;
	}
	.lp-faq__trigger:hover { color: var(--clr-secondary); }
	.lp-faq__question {flex: 1;letter-spacing: .03em;}
	.lp-faq__icon {
		position: relative;
		flex-shrink: 0;
		width: 18px; height: 18px;
		display: inline-block;
		color: #fff;
	}
	.lp-faq__icon::before,
	.lp-faq__icon::after {
		content: "";
		position: absolute;
		left: 50%; top: 50%;
		background: currentColor;
		transition: transform 0.3s ease;
	}
	
	.lp-faq__trigger:hover  .lp-faq__icon { color: var(--clr-secondary); }

	.lp-faq__icon::before { width: 14px; height: 2px; transform: translate(-50%, -50%); }
	.lp-faq__icon::after  { width: 2px; height: 14px; transform: translate(-50%, -50%); }
	.lp-faq__trigger[aria-expanded="true"] .lp-faq__icon::after {
		transform: translate(-50%, -50%) rotate(90deg);
		opacity: 0;
	}
	.lp-faq__panel {
		overflow: hidden;
		padding: 0 0 clamp(32px, 5vw, 60px) 0;
		color: rgba(255,255,255,0.86);
		line-height: 1.55;
	}
	.lp-faq__panel[hidden] { display: none; }
	.lp-faq__answer p { margin: 0 0 12px; }
	.lp-faq__answer p:last-child { margin-bottom: 0; }
	
	.lp-faq .lp-faq__mascot {
		position: absolute;
		width: clamp(190px, 15vw,275px);
		height: auto;
		z-index: 1;
		transform: translate(-31%);
	}
	.lp-faq__inner > .lp-faq__mascot {
		left: 0;
		bottom: 3%;
	}
	
	@media (max-width: 1280px) {
		.lp-faq__inner {
    padding: clamp(85px, 8vw, 186px) 20px 285px;
}
		.lp-faq__mascot {}
	}
	@media (max-width: 768px) {
		.lp-faq {}
		.lp-faq__inner {gap: 32px;padding-bottom: 0;}
		.lp-faq__list { grid-template-columns: 1fr; column-gap: 0; }
		.lp-faq  .lp-faq__mascot {
    transform: translate(4%);
    bottom: 3%;
    position: relative;
}
	}
	/* === end lp_faq ========================================================== */
	
	
	/* === lp_protect_home ===================================================== */
	.lp-protect-home {
		background: #fff;
		color: var(--clr-dark);
	}
	.lp-protect-home__inner {
		display: grid;
		grid-template-columns: 1.0725fr 1fr;
		gap: 0;
		min-height: 360px;
		background: #f7f7f7;
		overflow: hidden;
		padding: 24px;
		margin: clamp(64px, 6vw, 126px) 0;
	}
	.lp-protect-home__media {
		position: relative;
		min-height: 360px;
	}
	.lp-protect-home__image {
		display: block;
		width: 100%;
		height: 100%;
		object-fit: cover;
	}
	.lp-protect-home__content {
		display: flex;
		flex-direction: column;
		justify-content: center;
		gap: clamp(16px, 1.75vw, 27px);
		padding: 40px 34px 40px clamp(40px, 7vw, 115px);
	}
	.lp-protect-home__heading {
		margin: 0;
		color: var(--clr-text);
		text-transform: uppercase;
		line-height: 1.05;
		letter-spacing: 0.01em;
		text-wrap: balance;
	}
	.lp-protect-home__sub {
		margin: 0;
		color: var(--clr-muted);
		line-height: 1.55;
	}
	.lp-protect-home__ctas {gap: 21px;margin-top: 0;flex-direction: column;align-items: stretch;align-items: flex-start;}
	.lp-protect-home__ctas .c-button {justify-content: center;font-size: clamp(12px, 1.5vw, 20px);padding: 18px;min-width: clamp(200px, 19vw, 313px);}
	
	@media (max-width: 1024px) {
		.lp-protect-home { padding: 64px 0; }
		.lp-protect-home__inner { grid-template-columns: 1fr; }
		.lp-protect-home__media { min-height: 280px; }
		.lp-protect-home__content { padding: 40px 32px; }
	}
	@media (max-width: 768px) {
		.lp-protect-home {
    padding: 0;
}
		.lp-protect-home__content { padding: 32px 22px; gap: 16px; }
		.lp-protect-home__ctas { max-width: none; }
	}
	/* === end lp_protect_home ================================================= */
	
	
	/* =============================================================================
	 * Inner Page Templates (search / 404 / archive / single / default page)
	 * Applied to all default WordPress template pages so they feel like part of
	 * the custom-designed site. No sidebar full-width container.
	 * ========================================================================== */
	
	.inner-page {
		padding: 120px 0 100px;
		background: #fff;
		color: #000;
	}
	
	.inner-page__inner {
		display: flex;
		flex-direction: column;
		gap: 56px;
	}
	
	/* --- Page header --- */
	.inner-page__header {
		display: flex;
		flex-direction: column;
		align-items: center;
		text-align: center;
		gap: 16px;
		max-width: 900px;
		margin: 0 auto;
	}
	.inner-page__eyebrow {
		display: inline-block;
		color: var(--clr-secondary, #E0A117);
		text-transform: uppercase;
	}
	.inner-page__title {
		margin: 0;
		color: #000;
		text-transform: uppercase;
	}
	.inner-page__title span,
	.inner-page__title em {
		color: var(--clr-secondary, #E0A117);
		font-style: normal;
	}
	.inner-page__subtitle {
		margin: 0;
		color: #000;
		max-width: 720px;
	}
	
	/* --- Body content (single post / page) --- */
	.inner-page__body {
		color: #000;
	}
	.inner-page__body > * + * { margin-top: 24px; }
	.inner-page__body h1,
	.inner-page__body h2,
	.inner-page__body h3,
	.inner-page__body h4,
	.inner-page__body h5,
	.inner-page__body h6 {
		margin: 48px 0 16px;
		font-family: var(--ff-secondary);
		text-transform: uppercase;
		line-height: 1.2;
	}
	.inner-page__body h1 { font-size: clamp(28px, calc(7.692px + 2.404vw), 50px); }
	.inner-page__body h2 { font-size: clamp(24px, calc(5.538px + 2.404vw), 44px); }
	.inner-page__body h3 { font-size: clamp(22px, calc(12.769px + 1.202vw), 32px); }
	.inner-page__body h4 { font-size: clamp(20px, calc(10.769px + 1.202vw), 30px); }
	.inner-page__body p { line-height: 1.6; }
	.inner-page__body a {
		color: var(--clr-secondary, #1B1656);
		text-decoration: underline;
		text-underline-offset: 3px;
		transition: color 0.3s ease;
	}
	.inner-page__body a:hover,
	.inner-page__body a:focus-visible {
		color: var(--clr-secondary, #E0A117);
	}
	.inner-page__body ul,
	.inner-page__body ol {
		padding-left: 28px;
		line-height: 1.6;
	}
	.inner-page__body blockquote {
		margin: 32px 0;
		padding: 24px 32px;
		background: #F7F7F7;
		border-left: 4px solid var(--clr-secondary, #E0A117);
		font-style: italic;
	}
	.inner-page__body img,
	.inner-page__body figure {
		margin: 32px auto;
		border-radius: 8px;
	}
	.inner-page__body pre,
	.inner-page__body code {
		font-family: ui-monospace, SFMono-Regular, Menlo, monospace;
		background: #F3F4F6;
		border-radius: 4px;
	}
	.inner-page__body code { padding: 2px 6px; }
	.inner-page__body pre { padding: 16px 20px; overflow-x: auto; }
	
	/* --- Featured image (single posts) --- */
	.inner-page__featured {
		margin: 0 auto 48px;
		max-width: 100%;
		border-radius: 12px;
		overflow: hidden;
		width: 100%;
		aspect-ratio: 16/9;
	}
	.inner-page__featured img { width: 100%; height: auto; display: block; }
	
	/* --- Post meta (date, author) --- */
	.inner-page__meta {
		display: flex; flex-wrap: wrap; justify-content: center; gap: 8px 20px; color: #6B7280; margin: 0 0 32px;
	}
	.inner-page__meta a { color: inherit; text-decoration: none; }
	.inner-page__meta a:hover { color: var(--clr-primary, #1B1656); }
	
	/* --- Post list (search results, archives, blog index) --- */
	.inner-page__post-list {
		display: grid; grid-template-columns: repeat(2, 1fr); gap: 32px; list-style: none; padding: 0; margin: 0;
	}
	.inner-page__post-list--single { grid-template-columns: 1fr; }
	
	.inner-page__post-card {
		display: flex; flex-direction: column; gap: 16px; padding: 32px; background: #fff; border: 1px solid #E5E7EB; border-radius: 8px; transition: box-shadow 0.3s ease, transform 0.3s ease;
	}
	.inner-page__post-card:hover {
		box-shadow: 0px 4px 34px 0px rgba(0, 0, 0, 0.07);
		transform: translateY(-2px);
	}
	.inner-page__post-card-thumb {
		display: block; margin: -32px -32px 0; border-radius: 8px 8px 0 0; overflow: hidden; aspect-ratio: 16/9; background: #F3F4F6;
	}
	.inner-page__post-card-thumb img {
		width: 100%;
		height: 100%;
		object-fit: cover;
	}
	.inner-page__post-card-title {
		margin: 0;
	}
	.inner-page__post-card-title a {
		color: #000;
		text-decoration: none;
		transition: color 0.3s ease;
	}
	.inner-page__post-card-title a:hover,
	.inner-page__post-card-title a:focus-visible {
		color: var(--clr-primary, #1B1656);
	}
	.inner-page__post-card-meta {
		color: #6B7280;
		margin: 0;
	}
	.inner-page__post-card-excerpt {
		color: #4B5563;
		margin: 0;
	}
	.inner-page__post-card-readmore {
		margin-top: auto; color: var(--clr-primary, #1B1656); text-decoration: none; font-weight: 600; text-transform: uppercase; letter-spacing: 0.03em;
	}
	.inner-page__post-card-readmore::after {
		content: "";
		transition: transform 0.3s ease;
	}
	.inner-page__post-card-readmore:hover { color: var(--clr-secondary, #E0A117); }
	
	/* --- Pagination --- */
	.inner-page__pagination {
		display: flex; flex-wrap: wrap;
		justify-content: center;
		gap: 8px; margin-top: 24px;
	}

	.inner-page__pagination .nav-links {
		display: flex; flex-wrap: wrap; justify-content: center; gap: 8px;
	}

	.inner-page__pagination .page-numbers {
		display: inline-flex;
		align-items: center;
		justify-content: center;
		min-width: 44px;
		height: 44px;
		padding: 0 12px;
		background: #fff;
		border: 1px solid #E5E7EB;
		border-radius: 4px;
		color: #000;
		text-decoration: none;
		font-weight: 600;
		transition: all 0.3s ease;
	}
	.inner-page__pagination .page-numbers:hover,
	.inner-page__pagination .page-numbers:focus-visible,
	.inner-page__pagination .page-numbers.current {
		background: var(--clr-primary, #1B1656);
		border-color: var(--clr-primary, #1B1656);
		color: #fff;
	}
	.inner-page__pagination .page-numbers.dots {
		background: transparent;
		border-color: transparent;
	}
	
	/* --- Post navigation (prev/next on single) --- */
	.inner-page__post-nav {
		display: grid;
		grid-template-columns: 1fr 1fr;
		gap: 24px;
		margin-top: 48px;
		padding-top: 32px;
		border-top: 1px solid #E5E7EB;
	}
	.inner-page__post-nav .nav-previous,
	.inner-page__post-nav .nav-next {
		padding: 20px 24px;
		background: #fff;
		border: 2px solid #E5E7EB;
		transition: border-color 0.3s ease;
	}
	.inner-page__post-nav .nav-next { text-align: right; }
	.inner-page__post-nav .nav-previous:hover,
	.inner-page__post-nav .nav-next:hover {
		border-color: var(--clr-secondary);
		background: var(--clr-secondary);
		color: #fff;
	}

	.inner-page__post-nav .nav-previous:hover a, .inner-page__post-nav .nav-next:hover a, .inner-page__post-nav .nav-previous:hover span, .inner-page__post-nav .nav-next:hover span {
	    color: #fff;
	}

	.inner-page__post-nav a {
		display: flex;
		flex-direction: column;
		gap: 4px;
		color: var(--clr-primary);
		text-decoration: none;
	}
	.inner-page__post-nav .nav-subtitle {
		font-size: 14px;
		text-transform: capitalize;
		font-weight: 600;
		font-family: 'Poppins';
	}
	.inner-page__post-nav .nav-title {
		color: #000;
		font-weight: 600;
	}
	
	/* --- Empty state ("Nothing Found" / "No Results") --- */
	.inner-page__empty {
		display: flex; flex-direction: column; align-items: center; text-align: center; gap: 24px; padding: 64px 24px; background: #F7F7F7; border-radius: 12px;
	}
	.inner-page__empty-icon {
		width: 80px; height: 80px; display: inline-flex; align-items: center; justify-content: center; background: #fff; border-radius: 50%; color: var(--clr-primary, #1B1656);
	}
	
	/* --- Search form (used in search results header + 404) --- */
	.c-searchform {
		display: flex;
		gap: 8px;
		width: 100%;
		max-width: 560px;
		margin: 0 auto;
	}
	.c-searchform__input {
		flex: 1 1 auto; min-width: 0; padding: 14px 18px; background: #fff; border: 1px solid #E5E7EB; border-radius: 4px; font-family: var(--ff-primary); color: #000; transition: border-color 0.3s ease, box-shadow 0.3s ease;
	}
	.c-searchform__input:focus {
		outline: none;
		border-color: var(--clr-primary, #1B1656);
		box-shadow: 0 0 0 3px rgba(27, 22, 86, 0.12);
	}
	.c-searchform__input::placeholder { color: #9CA3AF; }
	.c-searchform__submit { flex: 0 0 auto; }
	
	/* --- Comments --- */
	.inner-page__comments {
		max-width: 880px;
		margin: 64px auto 0;
		padding-top: 48px;
		border-top: 1px solid #E5E7EB;
	}
	.inner-page__comments .comment-list { list-style: none; padding: 0; margin: 0 0 32px; display: flex; flex-direction: column; gap: 24px; }

	.inner-page__comments .comment-list li { padding: 20px 24px; background: #F7F7F7; border-radius: 8px; }
	.inner-page__comments .comment-list .children {
		list-style: none; padding: 16px 0 0 24px; margin: 16px 0 0; border-left: 2px solid #E5E7EB; display: flex; flex-direction: column; gap: 16px;
	}
	.inner-page__comments .comment-respond input[type="text"], .inner-page__comments .comment-respond input[type="email"], .inner-page__comments .comment-respond input[type="url"],
	.inner-page__comments .comment-respond textarea { width: 100%; padding: 12px 16px; background: #fff; border: 1px solid #E5E7EB; border-radius: 4px; font-family: var(--ff-primary); }
	.inner-page__comments .comment-respond textarea { min-height: 140px; }
	 
	
	/* --- Responsive --- */
	@media (max-width: 1024px) {
		.inner-page { padding: 96px 0 80px; }
		.inner-page__inner { gap: 40px; }
	}
	@media (max-width: 768px) {
		.inner-page { padding: 72px 0 56px; }
		.inner-page__inner { gap: 32px; }
		.inner-page__post-list { grid-template-columns: 1fr; gap: 20px; }
		.inner-page__post-card { padding: 24px; }
		.inner-page__post-card-thumb { margin: -24px -24px 0; }
		.inner-page__post-nav { grid-template-columns: 1fr; }
		.inner-page__post-nav .nav-next { text-align: left; }
		.inner-page__empty { padding: 48px 20px; }
		.c-searchform { flex-direction: column; }
		.c-searchform__submit { width: 100%; }
	}
	/* === end Inner Page Templates ============================================ */

/* === Section: is_replacement_worth_it ====================================
 * Pricing page "Is a Full Roof Replacement Worth It - Or Should You Just
 * Repair?" panel. Three regions: 2-col top, centered 2x2 indicator grid,
 * full-width navy callout strip. Composes .o-flex, .fsXX atoms.
 * ========================================================================= */
.is_replacement_worth_it {
  background: var(--clr-white);
  padding: clamp(56px, 7vw, 110px) 0 0;
}
.is_replacement_worth_it__inner {
  display: flex;
  flex-direction: column;
  gap: clamp(20px, 3vw, 32px);
}

/* ---- Top: 2-col text + image ---------- */
.is_replacement_worth_it__top {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: clamp(32px, 4vw, 47px);
  align-items: start;
}
.is_replacement_worth_it__left {
  --gapx: clamp(14px, 1.8vw, 22px);
  --gapy: clamp(14px, 1.8vw, 22px);
}
.is_replacement_worth_it__title {
  margin: 0;
  text-transform: uppercase;
  color: var(--clr-black);
  line-height: 1.1;
  margin: 0 0 9px;
}
.is_replacement_worth_it__intro { margin: 0; color: var(--clr-text); }
.is_replacement_worth_it__intro p:first-child { margin-top: 0; }
.is_replacement_worth_it__intro p:last-child { margin-bottom: 0; }
.is_replacement_worth_it__repair-title {
  margin: 8px 0 0;
  color: var(--clr-black);
}
.is_replacement_worth_it__repair-body { margin: 0; color: var(--clr-text); }
.is_replacement_worth_it__repair-body p:first-child { margin-top: 0; }
.is_replacement_worth_it__repair-body p:last-child { margin-bottom: 0; }
.is_replacement_worth_it__media { width: 100%; height: 100%; }
.is_replacement_worth_it__media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  display: block;
  min-height: 320px;
}

/* ---- Middle: centered header + 2x2 grid ---------- */
.is_replacement_worth_it__replace {text-align: center;margin-top: 30px;}
.is_replacement_worth_it__replace-title {
  margin: 0 0 clamp(12px, 2vw, 17px);
}
.is_replacement_worth_it__replace-intro {
  margin: 0 auto clamp(20px, 1.75vw, 22px);
  color: var(--clr-text);
}
.is_replacement_worth_it__grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: clamp(14px, 1.4vw, 20px);
  text-align: left;
}
.is_replacement_worth_it__card {
  --align: flex-start;
  --gapy: clamp(14px, 1.4vw, 20px);
  border: 1px solid #E2E2E2;
  box-shadow: 0 2px 8px rgba(0,0,0,0.04);
  padding: clamp(16px, 1.8vw, 22px) clamp(18px, 2vw, 26px);
  --icn-size: clamp(44px, 4.5vw, 76px);
}
.is_replacement_worth_it__card-icon {
  width: var(--icn-size);
  height: var(--icn-size);
  border-radius: 50%;
  background: var(--clr-secondary);
  --align: center;
  --justify: center;
}
 
.is_replacement_worth_it__card-body { max-width: calc(100% - var(--icn-size) - var(--gapy)); }
.is_replacement_worth_it__card-title {margin: 0;font-family: var(--ff-primary);}
.is_replacement_worth_it__card-desc { margin: 0; color: var(--clr-text); }

/* ---- Bottom: navy callout strip ---------- */
.is_replacement_worth_it__callout {
  background: var(--clr-dark, #1B1656);
  color: var(--clr-white);
  padding: clamp(22px, 2.6vw, 34px) clamp(22px, 3vw, 40px);
}
.is_replacement_worth_it__callout-title {
  margin: 0 0 8px;
  color: var(--clr-white);
  font-family: var(--ff-primary);
}
.is_replacement_worth_it__callout-body { margin: 0; color: var(--clr-white); }
.is_replacement_worth_it__callout-body p:first-child { margin-top: 0; }
.is_replacement_worth_it__callout-body p:last-child { margin-bottom: 0; }

@media (max-width: 991px) {
  .is_replacement_worth_it__top { grid-template-columns: 1fr; gap: 28px; }
  .is_replacement_worth_it__media img { min-height: 240px; max-height: 380px; }
  .is_replacement_worth_it__grid { grid-template-columns: 1fr; }
}
@media (max-width: 575px) {
  .is_replacement_worth_it { padding: 56px 0 0; }
  .is_replacement_worth_it__card { padding: 16px; }
  .is_replacement_worth_it__card-icon { width: 44px; height: 44px; flex-basis: 44px; }
}
/* === end is_replacement_worth_it ========================================= */

/* === Thank You Page namespace â€” .ty-* blocks =============================
 * Mirrors the .lp-* convention. All styles scoped under .ty-* so they
 * cannot leak into the main site or the financing landing page.
 *
 * Page body class: .is-thank-you-page
 * Header:          .ty-header (absolute overlay on hero)
 * Footer:          .ty-footer (.ty-footer-info + .ty-copyright)
 * Flex blocks:     .ty-hero, .ty-trust, .ty-whats-next, .ty-testimonials, .ty-cta-band
 * ========================================================================= */

/* --- ty-header: absolute overlay on hero --------------------------------- */
.ty-header {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    width: 100%;
    padding: 0;
    background: transparent;
    color: #fff;
    z-index: 10;
}

.ty-header  chat-widget {position: absolute;} { position: absolute; }

.ty-header__inner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 24px;
}
/* Brand notch â€” white pentagonal/shield shape behind the logo that
   overhangs the top edge of the hero (matches Figma). */
.ty-header__brand {
    position: relative;
    
    /* Pointed-bottom pentagon, like a shield notch. */
    max-height: clamp(160px, 11vw, 182px);
    max-width: clamp(160px, 16.5vw, 261px);
}
.ty-header__logo {
}
.ty-header__logo imchat-widgetg { max-width: 100%; height: auto; display: block; }
.ty-header__logo--placeholder { display: inline-block; width: 140px; height: 90px; }

.ty-header__phone {
    gap: clamp(12px, 1.75vw, 32px);
    color: #fff;
    padding: clamp(22px, 3vw, 42px) 0;
    align-items: center;
    position: relative;
    overflow: hidden;
}
.ty-header__phone-icon {
    width: clamp(44px, 3.75vw, 68px);
    height: clamp(44px, 3.75vw, 68px);
    flex-shrink: 0;
    display: block;
}
.ty-header__phone-text {
    display: flex;
    flex-direction: column;
    line-height: 1.1;
    gap: 6px;
}
.ty-header__phone-label {
    color: #fff;
    text-transform: uppercase;
    letter-spacing: 0.35em;
    line-height: 1;
}
.ty-header__phone-number {
    color: #fff;
    text-decoration: none;
    transition: color 0.3s ease;
    line-height: 1;
}
.ty-header__phone-number:hover,
.ty-header__phone-number:focus-visible { color: var(--clr-secondary); }
@media (max-width: 1023px) {
    .ty-header__phone-icon { width: 52px; height: 52px; }
    .ty-header__brand { padding: 14px 22px 28px; }
    .ty-header__logo { width: clamp(96px, 12vw, 120px); }
}
@media (max-width: 575px) {
	.ty-header__phone { padding: 0; overflow: hidden; }
    .ty-header__phone-text {position: absolute;top: 0;height: 100%;width: 100%;left: 0;opacity: 0;}
    .ty-header__phone-icon { width: 40px; height: 40px; }
    .ty-header__brand { padding: 12px 16px 22px; }
    .ty-header__logo { width: 80px; }
}

/* --- ty-hero ------------------------------------------------------------ */
.ty-hero {
    position: relative;
    overflow: hidden;
    background-color: #1B1656;
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    color: #fff;
    padding: clamp(140px, 12vw, 180px) 0 clamp(60px, 6vw, 100px);
}
.ty-hero__overlay {
    position: absolute;
    inset: 0;
    background: linear-gradient(90deg, rgba(27, 22, 86, 0.88) 0%, rgba(27, 22, 86, 0.55) 60%, rgba(27, 22, 86, 0.4) 100%);
    z-index: 1;
}
/* Lighter overlay for the form variant â€” Figma shows the roof photo
   reading clearly through the navy tint, not nearly-opaque navy. */
.ty-hero--with-form .ty-hero__overlay {
    background: linear-gradient(90deg, rgba(27, 22, 86, 0.72) 0%, rgba(27, 22, 86, 0.45) 55%, rgba(27, 22, 86, 0.25) 100%);
}
.ty-hero__inner {
    position: relative;
    z-index: 2;
    gap: clamp(32px, 6vw, 96px);
    flex-wrap: wrap;
    --justify: space-between;
    justify-content: space-between;
    align-items: center;
}
.ty-hero__content {max-width: 46%;}
.ty-hero__headline {
    color: #fff;
    text-transform: uppercase;
    margin: 0 0 21px;
    letter-spacing: 0;
    line-height: calc(89/80);
}
.ty-hero__subtitle {
    color: #fff;
    max-width: 571px;
    margin: 0 0 40px;
    line-height: 1.5;
}
.ty-hero__badges {
    list-style: none;
    margin: 0;
    padding: 0;
    gap: 18px 32px;
    flex-wrap: wrap;
    align-items: stretch;
}
.ty-hero__badge {
    gap: clamp(10px, 1.5vw, 18px);
    flex: 0 1 auto;
    min-width: 0;
    --align: flex-start;
    align-items: center;
}
.ty-hero__badge-icon {
    width: clamp(32px, 3.25vw, 59px);
    height: clamp(32px, 3.25vw, 59px);
    flex-shrink: 0;
    display: block;
}
.ty-hero__badge-label {
    color: #fff;
    line-height: 1.35;
    max-width: 130px;
    display: block;
    font-weight: 400;
}
.ty-hero__media {
    position: relative;
    align-self: center;
    max-width: 47.33%;
}
.ty-hero__photo {
    width: 100%;
    height: auto;
    aspect-ratio: 682/599;
    max-height: 599px;
    object-fit: cover;
    object-position: 24% 4%;
    display: block;
    border: 5px solid #FFFFFF33;
    
    /*!
 Theme Name: Patriot Roofing
 Theme URI: https://patriotroof.net/
 Author: Patriot Roofing
 Author URI: https://patriotroof.net/
 Description: Description
 Version: 1.0.0
 Tested up to: 5.4
 Requires PHP: 5.6
  
 */
 
 /* === DESIGN TOKENS (synced from design-system/design-tokens.json after Figma extraction) === */
 :
    root {
   /* Colors */
   --clr-primary:      #1052A3;   /* Patriot blue */
    --clr-primary-dark: #14235D;   /* royal navy header top utility bar */
    --clr-secondary:    #E0A117;   /* Patriot gold */
    --clr-dark:         #1B1656;   /* deep navy section backgrounds */
    --clr-white:      #fff;
    --clr-black:      #000;
    --clr-light:      #F7F7F7;
    --clr-border:     #E2E2E2;
    --clr-muted:      #4A5565;
    --clr-text: #000;
    --clr-text-light: #686868;
    --clr-202e6d:     #202E6D;   /* card surface on dark navy (pricing why_roofing_costs grid cards) */
    --clr-fb2c36:     #FB2C36;   /* budget/red comparison card accent (pricing where_does) */
 
   /* Typography Poppins (body) + Oswald (display/headings) */
    --ff-primary:   'Poppins', sans-serif;
    --ff-secondary: 'Oswald', sans-serif;
 
   /* Spacing */
    --section-padding-y: 80px;
    --container-width: clamp(1280px, 88vw, 1480px);
 
   /* Gap scale used by Layout Atoms (.stack, .cluster, .card, .btn-row) */
    --gap-xs:  4px;
    --gap-sm:  8px;
    --gap-md: 16px;
    --gap-lg: 32px;
    --gap-xl: 64px;
 
   /* Button radius (0 = square; Figma extraction may override) */
    --btn-radius: 0;
 }
 
 /* --- Base / Reset --- */
 *, *::
    before, *::after { box-sizing: border-box; }
    html, body { margin: 0;
    padding: 0; }
 
 /* === Canonical body typography ============================================
  * Body and content elements inherit font-family + size from here.
  * NEVER re-declare font-family on a content element. Use .ff-head to swap.
  * Vanilla translation of: body { @include fluid-font(16, 18, 768, 1600); }
  *   slope = (18-16) / (1600-768) * 100 = 0.240
  *   base  = 16 - (0.240 * 768 / 100)   = 14.157
  *   font-size: clamp(16px, calc(14.157px + 0.240vw), 18px)
  * ========================================================================= */
    body {
  
   font-size: clamp(16px, calc(14.157px + 0.24vw), 18px);
    line-height: 1.5;
    color: var(--clr-dark);
    overflow-x: hidden;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
 }
    img, picture, video, svg { max-width: 100%;
    display: block; }
    a { color: inherit; }
 
 .ff-body,
    body { font-family: var(--ff-primary);
    font-weight: 400;
    color: #000; }
 
 /* === Wrapper === */
 .wrapper {
    width: 100%;
    max-width: var(--container-width);
    margin-left: auto;
    margin-right: auto;
    padding-left: 20px;
    padding-right: 20px;
 }
 
 /* === Layout Atoms ===
    Reusable building blocks. Section blocks below MUST compose these atoms
    and override only what's section-specific. Re-declaring an atom under a
    per-section BEM name is what produces 1,800-line stylesheets. */
 
 .section-title {
    margin: 0 0 var(--gap-md) 0; }
 
 .eyebrow {
    font-weight: 500;
    text-transform: uppercase;
    color: var(--clr-primary);
 }
 
 .section-intro {
    max-width: 680px; }
 
 .stack       {
    display: flex;
    flex-direction: column;
    gap: var(--gap-md); }
 .stack--lg   {
    gap: var(--gap-lg); }
 
 .cluster {
    display: flex;
    flex-wrap: wrap;
    gap: var(--gap-md);
    align-items: center;
 }
 
 .media {
    width: 100%;
    aspect-ratio: 16 / 9;
    overflow: hidden; }
 .media >
    img,
 .media > picture > img { width: 100%;
    height: 100%;
    object-fit: cover;
    display: block; }
 
 .card {
    background: var(--clr-light);
    border-radius: 8px;
    padding: var(--gap-lg);
 }
 
 .btn-row {
    display: flex;
    flex-wrap: wrap;
    gap: var(--gap-md);
 }
 
 /* === Canonical heading scale (element + class pair) =======================
  * Vanilla translation of:
  *   h1, .h1 { @include fluid-font(40, 100); }
  *   h2, .h2 { @include fluid-font(24, 44);  }
  *   h3, .h3 { @include fluid-font(22, 32);  }
  *   h4, .h4 { @include fluid-font(20, 30);  }
  *   h5, .h5 { @include fluid-font(20, 24);  }
  *   h6, .h6 { @include fluid-font(16, 18, 1024, 1600); }
  *
  * fluid-font defaults span  
  * Formula: slope = (max-min)/(maxVw-minVw)*100;  base = min - (slope*minVw/100)
  * ========================================================================= */
 .ff-head,
    h1, .h1,
 h2, .h2,
 h3, .h3,
 h4, .h4,
 h5, .h5,
 h6, .h6 {
   font-family: var(--ff-secondary);
    font-weight: 700;
    color: inherit;
 }
    h1, .h1 { font-size: clamp(40px, calc(-15.385px + 7.212vw), 100px);
    line-height: 1.05; }
    h2, .h2 { font-size: clamp(24px, calc(5.538px + 2.404vw),  44px);
    line-height: 1.1; }
    h3, .h3 { font-size: clamp(22px, calc(12.769px + 1.202vw), 32px);
    line-height: 1.15; }
    h4, .h4 { font-size: clamp(20px, calc(10.769px + 1.202vw), 30px);
    line-height: 1.2; }
    h5, .h5 { font-size: clamp(20px, calc(16.308px + 0.481vw), 24px);
    line-height: 1.25; }
    h6, .h6 { font-size: clamp(16px, calc(12.667px + 0.347vw), 18px);
    line-height: 1.3; }
 
 
 
 
 /* === Flex utility ÃƒÆ’Ã†â€™Ãƒâ€ Ã¢â‚¬â„¢ÃƒÆ’Ã¢â‚¬ ÃƒÂ¢Ã¢â€šÂ¬Ã¢â€žÂ¢ÃƒÆ’Ã†â€™ÃƒÂ¢Ã¢â€šÂ¬Ã‚ ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬ÃƒÂ¢Ã¢â‚¬Å¾Ã‚Â¢ÃƒÆ’Ã†â€™Ãƒâ€ Ã¢â‚¬â„¢ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬ ÃƒÆ’Ã†â€™Ãƒâ€šÃ‚Â¢ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â€šÂ¬Ã…Â¡Ãƒâ€šÃ‚Â¬ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â€šÂ¬Ã…Â¾Ãƒâ€šÃ‚Â¢ÃƒÆ’Ã†â€™Ãƒâ€ Ã¢â‚¬â„¢ÃƒÆ’Ã¢â‚¬ ÃƒÂ¢Ã¢â€šÂ¬Ã¢â€žÂ¢ÃƒÆ’Ã†â€™Ãƒâ€šÃ‚Â¢ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â€šÂ¬Ã…Â¡Ãƒâ€šÃ‚Â¬ÃƒÆ’Ã¢â‚¬Å¡ ÃƒÆ’Ã†â€™Ãƒâ€ Ã¢â‚¬â„¢ÃƒÆ’Ã¢â‚¬Å¡Ãƒâ€šÃ‚Â¢ÃƒÆ’Ã†â€™Ãƒâ€šÃ‚Â¢ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬Ãƒâ€¦Ã‚Â¡ÃƒÆ’Ã¢â‚¬Å¡Ãƒâ€šÃ‚Â¬ÃƒÆ’Ã†â€™Ãƒâ€šÃ‚Â¢ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬Ãƒâ€¦Ã‚Â¾ÃƒÆ’Ã¢â‚¬Å¡Ãƒâ€šÃ‚Â¢ÃƒÆ’Ã†â€™Ãƒâ€ Ã¢â‚¬â„¢ÃƒÆ’Ã¢â‚¬ ÃƒÂ¢Ã¢â€šÂ¬Ã¢â€žÂ¢ÃƒÆ’Ã†â€™ÃƒÂ¢Ã¢â€šÂ¬Ã‚ ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬ÃƒÂ¢Ã¢â‚¬Å¾Ã‚Â¢ÃƒÆ’Ã†â€™Ãƒâ€ Ã¢â‚¬â„¢ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬Ãƒâ€¦Ã‚Â¡ÃƒÆ’Ã†â€™ÃƒÂ¢Ã¢â€šÂ¬Ã…Â¡ÃƒÆ’Ã¢â‚¬Å¡Ãƒâ€šÃ‚Â¢ÃƒÆ’Ã†â€™Ãƒâ€ Ã¢â‚¬â„¢ÃƒÆ’Ã¢â‚¬ ÃƒÂ¢Ã¢â€šÂ¬Ã¢â€žÂ¢ÃƒÆ’Ã†â€™ÃƒÂ¢Ã¢â€šÂ¬Ã…Â¡ÃƒÆ’Ã¢â‚¬Å¡Ãƒâ€šÃ‚Â¢ÃƒÆ’Ã†â€™Ãƒâ€ Ã¢â‚¬â„¢ÃƒÆ’Ã¢â‚¬Å¡Ãƒâ€šÃ‚Â¢ÃƒÆ’Ã†â€™Ãƒâ€šÃ‚Â¢ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬Ãƒâ€¦Ã‚Â¡ÃƒÆ’Ã¢â‚¬Å¡Ãƒâ€šÃ‚Â¬ÃƒÆ’Ã†â€™ÃƒÂ¢Ã¢â€šÂ¬Ã‚Â¦ÃƒÆ’Ã¢â‚¬Å¡Ãƒâ€šÃ‚Â¡ÃƒÆ’Ã†â€™Ãƒâ€ Ã¢â‚¬â„¢ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬Ãƒâ€¦Ã‚Â¡ÃƒÆ’Ã†â€™ÃƒÂ¢Ã¢â€šÂ¬Ã…Â¡ÃƒÆ’Ã¢â‚¬Å¡Ãƒâ€šÃ‚Â¬ÃƒÆ’Ã†â€™Ãƒâ€ Ã¢â‚¬â„¢ÃƒÆ’Ã¢â‚¬ ÃƒÂ¢Ã¢â€šÂ¬Ã¢â€žÂ¢ÃƒÆ’Ã†â€™Ãƒâ€šÃ‚Â¢ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â€šÂ¬Ã…Â¡Ãƒâ€šÃ‚Â¬ÃƒÆ’Ã¢â‚¬Å¡Ãƒâ€šÃ‚Â¦ÃƒÆ’Ã†â€™Ãƒâ€ Ã¢â‚¬â„¢ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬Ãƒâ€¦Ã‚Â¡ÃƒÆ’Ã†â€™ÃƒÂ¢Ã¢â€šÂ¬Ã…Â¡ÃƒÆ’Ã¢â‚¬Å¡Ãƒâ€šÃ‚Â¡ÃƒÆ’Ã†â€™Ãƒâ€ Ã¢â‚¬â„¢ÃƒÆ’Ã¢â‚¬ ÃƒÂ¢Ã¢â€šÂ¬Ã¢â€žÂ¢ÃƒÆ’Ã†â€™ÃƒÂ¢Ã¢â€šÂ¬Ã‚ ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬ÃƒÂ¢Ã¢â‚¬Å¾Ã‚Â¢ÃƒÆ’Ã†â€™Ãƒâ€ Ã¢â‚¬â„¢ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬ ÃƒÆ’Ã†â€™Ãƒâ€šÃ‚Â¢ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â€šÂ¬Ã…Â¡Ãƒâ€šÃ‚Â¬ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â€šÂ¬Ã…Â¾Ãƒâ€šÃ‚Â¢ÃƒÆ’Ã†â€™Ãƒâ€ Ã¢â‚¬â„¢ÃƒÆ’Ã¢â‚¬ ÃƒÂ¢Ã¢â€šÂ¬Ã¢â€žÂ¢ÃƒÆ’Ã†â€™ÃƒÂ¢Ã¢â€šÂ¬Ã…Â¡ÃƒÆ’Ã¢â‚¬Å¡Ãƒâ€šÃ‚Â¢ÃƒÆ’Ã†â€™Ãƒâ€ Ã¢â‚¬â„¢ÃƒÆ’Ã¢â‚¬Å¡Ãƒâ€šÃ‚Â¢ÃƒÆ’Ã†â€™Ãƒâ€šÃ‚Â¢ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â€šÂ¬Ã…Â¡Ãƒâ€šÃ‚Â¬ÃƒÆ’Ã¢â‚¬Â¦Ãƒâ€šÃ‚Â¡ÃƒÆ’Ã†â€™ÃƒÂ¢Ã¢â€šÂ¬Ã…Â¡ÃƒÆ’Ã¢â‚¬Å¡Ãƒâ€šÃ‚Â¬ÃƒÆ’Ã†â€™Ãƒâ€ Ã¢â‚¬â„¢ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬Ãƒâ€šÃ‚Â¦ÃƒÆ’Ã†â€™ÃƒÂ¢Ã¢â€šÂ¬Ã…Â¡ÃƒÆ’Ã¢â‚¬Å¡Ãƒâ€šÃ‚Â¡ÃƒÆ’Ã†â€™Ãƒâ€ Ã¢â‚¬â„¢ÃƒÆ’Ã¢â‚¬ ÃƒÂ¢Ã¢â€šÂ¬Ã¢â€žÂ¢ÃƒÆ’Ã†â€™ÃƒÂ¢Ã¢â€šÂ¬Ã‚ ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬ÃƒÂ¢Ã¢â‚¬Å¾Ã‚Â¢ÃƒÆ’Ã†â€™Ãƒâ€ Ã¢â‚¬â„¢ÃƒÆ’Ã¢â‚¬Å¡Ãƒâ€šÃ‚Â¢ÃƒÆ’Ã†â€™Ãƒâ€šÃ‚Â¢ÃƒÆ’Ã‚Â¢ÃƒÂ¢Ã¢â‚¬Å¡Ã‚Â¬Ãƒâ€¦Ã‚Â¡ÃƒÆ’Ã¢â‚¬Å¡Ãƒâ€šÃ‚Â¬ÃƒÆ’Ã†â€™ÃƒÂ¢Ã¢â€šÂ¬Ã‚Â¦ÃƒÆ’Ã¢â‚¬Å¡Ãƒâ€šÃ‚Â¡  `.o-flex` =============================================
  * Mandatory: every flex layout uses .o-flex + modifier classes. NEVER write
  * `display: flex` inside a component. Override via CSS custom properties
  * (--direction, --justify, --align, --gapx, --gapy, --wrap).
  * ========================================================================= */
 .o-flex {
   /* Reset defaults on each element so CSS custom properties don't leak
      down from an ancestor that set --direction/--justify/--align/etc. */
    --wrap: wrap;
    --direction: row;
    --justify: flex-start;
    --align: stretch;
    --gapx: 0;
    --gapy: 0;
    display: flex;
    flex-wrap: var(--wrap);
    flex-direction: var(--direction);
    justify-content: var(--justify);
    align-items: var(--align);
    column-gap: var(--gapy);
    row-gap: var(--gapx);
 }
    @media (min-width: 1280px) {
   .o-flex.is-lg-reverse { --direction: row-reverse; }
 }
 .is-column      {
    --direction: column; }
 .is-reverse     {
    --direction: row-reverse; }
 .is-center      {
    --justify: center;
    --align: center; }
 .align-center   {
    --align: center; }
 .just-center    {
    --justify: center; }
 .space-between  {
    --justify: space-between; }
 
 /* === Button system  `.c-button` ===========================================
  * Mandatory: all buttons compose .c-button + a modifier. Override visual
  * properties via CSS custom properties (--btn-bg, --btn-color, etc.).
  * NEVER write a new button selector that re-declares padding / border /
  * display override via the variables.
  * ========================================================================= */
 .c-button {
   /* contract overridable per-modifier */
    --btn-bg: var(--clr-primary);
    --btn-color: var(--clr-white);
    --btn-border-color: var(--clr-primary);
    --btn-hover-bg: transparent;
    --btn-hover-color: var(--clr-primary);
    --btn-hover-border-color: var(--clr-primary);
    --btn-padding: 14px 28px;
    --btn-border-width: 1px;
    --btn-border-radius: 0;
    --btn-font-size: 16px;
    --btn-font-weight: 600;
    --btn-letter-spacing: 0.03em;
    --btn-transition: 0.3s ease;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-family: var(--ff-primary);
    font-size: var(--btn-font-size);
    font-weight: var(--btn-font-weight);
    letter-spacing: var(--btn-letter-spacing);
    line-height: 1;
    text-transform: uppercase;
    text-decoration: none;
    text-align: center;
    white-space: nowrap;
    padding: var(--btn-padding);
    border: var(--btn-border-width) solid var(--btn-border-color);
    border-radius: var(--btn-border-radius);
    background: var(--btn-bg);
    color: var(--btn-color);
    white-space: normal;
    max-width: 100%;
    cursor: pointer;
    appearance: none;
    -webkit-appearance: none;
    transition: background var(--btn-transition), color var(--btn-transition), border-color var(--btn-transition);
 }
 
 .c-button:
    hover, .c-button:focus-visible, .c-button:focus, .c-button:focus-within, .c-button:active, .gform_wrapper .gform_button:focus {
   background: var(--btn-hover-bg) !important;
    color: var(--btn-hover-color) !important;
    border-color: var(--btn-hover-border-color);
 }
 .c-button:
    focus { outline: none; }
 .c-button:
    focus-visible { outline: 1px dashed currentColor;
    outline-offset: 2px; }
 .c-button:
    disabled,
 .c-button.is-disabled { opacity: 0.5;
    pointer-events: none;
    cursor: not-allowed; }
 
 /* --- Modifiers --- */
 .c-button--primary {
    --btn-bg: var(--clr-primary);
    --btn-color: var(--clr-white);
    --btn-border-color: var(--clr-primary);
    --btn-hover-bg: transparent;
    --btn-hover-color: var(--clr-primary);
 }
 .c-button--secondary {
    --btn-bg: transparent;
    --btn-color: var(--clr-primary);
    --btn-border-color: var(--clr-primary);
    --btn-hover-bg: var(--clr-primary);
    --btn-hover-color: var(--clr-white);
 }
 .c-button--bordered {
    --btn-bg: transparent;
    --btn-color: var(--clr-white);
    --btn-border-color: rgba(255,255,255,0.6);
    --btn-hover-bg: var(--clr-white);
    --btn-hover-color: var(--clr-primary);
    --btn-hover-border-color: var(--clr-white);
 }
 .c-button--cta {
    --btn-bg: var(--clr-secondary);
    --btn-color: var(--clr-white);
    --btn-border-color: var(--clr-secondary);
    --btn-hover-bg: var(--clr-white);
    --btn-hover-color: var(--clr-secondary);
    --btn-hover-border-color: var(--clr-secondary);
    x); */
    --btn-padding: 16px 30px;
 }
 .c-button--lg {
    --btn-font-size: 18px;
    --btn-padding: 16px 36px; }
 .c-button--sm {
    --btn-font-size: 14px;
    --btn-padding: 8px 20px; }
 /* Outline yellow on light surface used by lp_protect_home secondary CTA, etc. */
 .c-button--outline-yellow {
    --btn-bg: transparent;
    --btn-color: var(--clr-secondary);
    --btn-border-color: var(--clr-secondary);
    --btn-hover-bg: var(--clr-secondary);
    --btn-hover-color: var(--clr-white);
    --btn-hover-border-color: var(--clr-secondary);
 }
    /* --- START: Utility Classes --- */
 .common-padding {
    padding: 80px 0; }
 .common-margin  {
    margin: 80px 0; }
    @media (max-width: 1023px) {
   .common-padding { padding: 60px 0; }
   .common-margin  {
    margin: 60px 0; }
 }
    @media (max-width: 767px) {
   .common-padding { padding: 40px 0; }
   .common-margin  {
    margin: 40px 0; }
 }
    body .gform-theme--framework .gform_validation_errors {
     display: none;
 }
 
 .screen-reader-text {
    border: 0;
    clip: rect(1px,1px,1px,1px);
    clip-path: inset(50%);
    height: 1px;
    margin: -1px;
    overflow: hidden;
    padding: 0;
    position: absolute;
    width: 1px;
    word-wrap: normal !important;
 }
 .skip-link.screen-reader-text:
    focus {
   background: #fff;
    clip: auto !important;
    clip-path: none;
    color: var(--clr-primary);
    display: block;
    font-size: 14px;
    font-weight: 700;
    height: auto;
    left: 5px;
    line-height: normal;
    padding: 12px 16px;
    text-decoration: none;
    top: 5px;
    width: auto;
    z-index: 100000;
 }
    /* --- END: Utility Classes --- */
    /* --- START: Site Header (Figma 2-row layout) --- */
 .site-header {
    background: #202E6D;
    color: var(--clr-white);
    position: relative;
    z-index: 99999999999;
 }
 .site-header
    a { color: inherit; }
 
 /* Row 1 top utility bar */
 .site-header__top {
    font-size: clamp(12px, calc(10.154px + 0.240vw), 14.0px);
    font-weight: 600;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    color: var(--clr-white);
    position: relative;
    overflow: hidden;
 }
 .site-header__top-inner {
    --align: center;
    --justify: flex-end;
    padding: 9px 20px;
 }
 
 .site-header__top-inner:
    before {
  transform: skewX(-153deg);
    content: '';
    width: clamp(161px,41.25vw,3000px);
    right: -20px;
    height: 100%;
    background: #1052A3;
    position: absolute;
    z-index: -1;
    box-shadow: 0 0 0 1px #000 inset;
 }
 
 
 .site-header__top-block {
    --align: center;
    --gapx: 0;
 }
 .site-header__top-block--social {
    position: relative; }
 .site-header__top-block--social::
    after {
   content: "";
    display: block;
    width: 1px;
    height: 18px;
    background: rgba(255,255,255,0.25);
    margin: 0 18px;
 }

 .site-header__top-label {
    font-size: clamp(11px, calc(9.154px + 0.240vw), 14px);
    font-weight: 600;
    font-family: 'Poppins';
    margin-left: 8px;
 }

 .site-header__top-social {
    list-style: none;
    margin: 0;
    padding: 0 0 0 11px;
    --gapx: 8px;
    --gapy: 8px;
    --align: center;
 }

 .site-header__top-social
    li a {
  display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 22px;
    height: 22px;
    padding: 0 6px;
    color: var(--clr-white);
    text-decoration: none;
    font-size: 11.0px;
    font-weight: 700;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    white-space: nowrap;
 }

 .site-header__top-social
    li a:has(img) {
   padding: 0;
 }

 .site-header__top-social
    img {
  width: 18px;
    height: 18px;
    display: block;
    object-fit: contain;
 }
 
 .site-header__top-social
    li { font-size: 0; }
 
  
 .site-header__top-social
    a:hover {
     filter: brightness(0) invert(1);
 }

 .site-header__top-icon {
    width: 18px;
    height: 18px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    color: var(--clr-secondary);
    line-height: 0; }

 .site-header__top-icon
    svg {
   width: 16px;
    height: 16px;
    display: block;
 }

 .site-header__top-phone {
    text-decoration: none;
    color: var(--clr-white);
    font-weight: 700;
 }
 .site-header__top-phone:
    hover { color: var(--clr-secondary); }
 
 /* Row 2 main nav row */
 .site-header__main {
 }
 .site-header__inner {
    --align: center;
    --gapx: 24px;
    --gapy: 24px;
    padding: 16px 20px;
 }
 .site-branding {
    flex-shrink: 0;
 }
 .site-branding .site-logo {
    max-height: clamp(160px, 11vw, 208px);
    max-width: clamp(160px, 16.5vw, 298px);
    display: block;
    margin: -58px 0;
 }
 .site-branding .site-title {
    font-weight: 700;
    text-decoration: none;
    color: var(--clr-white);
    font-size: clamp(16px, calc(12.308px + 0.481vw), 20.0px);
 }
 
 .primary-nav {
    margin-left: auto; }
 .primary-nav__list {
    list-style: none;
    margin: 0;
    padding: 0;
    --gapx: 28px;
    --gapy: clamp(14px,2vw,37px);
    --align: center;
 }
 .primary-nav__list >
    li {
   position: relative;
 }
 .primary-nav__list
    a {
   text-decoration: none;
    color: var(--clr-white);
    font-family: 'Poppins';
    font-weight: 600;
    font-size: clamp(14px, calc(12.154px + 0.240vw), 16.0px);
    text-transform: uppercase;
    padding: 10px 0;
    display: inline-flex;
    align-items: center;
    gap: 6px;
 }
 .primary-nav__list
    a:hover,
 .primary-nav__list .current-menu-item > a {
   color: var(--clr-secondary, #E0A117);
 }
 .primary-nav__list .menu-item-has-children >
    a::after {
   content: "";
    display: inline-block;
    width: 8px;
    height: 8px;
    margin-left: 4px;
    border-right: 2px solid currentColor;
    border-bottom: 2px solid currentColor;
    transform: rotate(45deg) translateY(-2px);
 }
 
 /* Submenu (desktop) */
 .primary-nav__list .sub-menu {
    position: absolute;
    top: calc(100% + 6px);
    left: 0;
    min-width: 200px;
    background: var(--clr-white);
    list-style: none;
    margin: 0;
    padding: 0;
    opacity: 0;
    visibility: hidden;
    transform: translateY(-8px);
    transition: opacity 0.18s ease, transform 0.18s ease, visibility 0s 0.18s;
    box-shadow: 0 12px 24px rgba(0,0,0,0.18);
    z-index: 1000;
    transition: .7s ease;
 }
 .primary-nav__list >
    li:hover > .sub-menu,
 .primary-nav__list > li:focus-within > .sub-menu {
   opacity: 1;
    visibility: visible;
    transform: translateY(0);
    transition: opacity 0.18s ease, transform 0.18s ease, visibility 0s;
 }
 .primary-nav__list .sub-menu
    a {
   display: block;
    padding: 8px 18px;
    color: var(--clr-dark);
    font-size: clamp(12px, calc(10.154px + 0.240vw), 14.0px);
    letter-spacing: 0.03em;
 }
 .primary-nav__list .sub-menu
    a:hover {
   background: rgba(0,0,0,0.04);
    color: var(--clr-primary);
 }
 
 /* CTA */
 .site-header__cta {
    letter-spacing: 0.03em;
    padding: 15px 18px;
    margin-left: 13px;
    min-width: clamp(240px, 20vw, 376px);
 }
 .site-header__cta:
    hover {--btn-hover-border-color: #fff;}
 
 /* Hamburger toggle size derived from bars + padding, no fixed w/h */
 .nav-toggle {
    display: none;
    margin-left: auto;
    padding: 12px 10px;
    min-width: 44px;
    min-height: 44px;
    background: transparent;
    border: 0;
    cursor: pointer;
    position: relative;
    z-index: 1001;
    color: var(--clr-white);
    line-height: 0;
 }
 .nav-toggle__bar {
    display: block;
    width: 26px;
    height: 2px;
    margin: 3px auto;
    background: currentColor;
    transition: transform 0.3s ease, opacity 0.3s ease;
    transform-origin: center;
 }
 .nav-toggle__bar:
    first-child { margin-top: 0; }
 .nav-toggle__bar:
    last-of-type { margin-bottom: 0; }
 .nav-toggle.is-open .nav-toggle__bar--top    {
    transform: translateY(8px) rotate(45deg);}
 .nav-toggle.is-open .nav-toggle__bar--mid    {
    opacity: 0;}
 .nav-toggle.is-open .nav-toggle__bar--bottom {
    transform: translateY(-8px) rotate(-45deg); }
 
 /* Mobile drawer */
 .mobile-drawer {
    position: fixed;
    top: 0;
    right: 0;
    width: 100%;
    max-width: 420px;
    height: 100vh;
    background: var(--clr-dark, #1B1656);
    color: var(--clr-white);
    transform: translateX(150%);
    transition: transform 0.3s ease;
    z-index: 1000;
    overflow-y: auto;
    box-shadow: -4px 0 24px rgba(0,0,0,0.4);
 }
 .mobile-drawer.is-open {
    transform: translateX(0); }
 .mobile-drawer__inner {
    padding: 108px 20px 36px;
    display: flex;
    flex-direction: column;
    gap: 20px;
 }
 .mobile-drawer__list {
    list-style: none;
    padding: 0;
    margin: 0;
    --direction: column;
    gap: 2px; }
 .mobile-drawer__list
    a { text-decoration: none; }
 .mobile-drawer__list >
    li { position: relative; }
 .mobile-drawer__list >
    li > a {
   position: relative;
    display: flex;
    align-items: center;
    padding: 16px 18px;
    font-family: var(--ff-secondary, "Oswald"), sans-serif;
    font-size: clamp(15px, calc(12.231px + 0.361vw), 18.0px);
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    text-decoration: none;
    color: var(--clr-white);
    background: transparent;
    border-bottom: 1px solid rgba(255,255,255,0.07);
    transition: background-color 0.25s ease, color 0.25s ease, padding-left 0.25s ease;
 }
 
 .mobile-drawer__list >
    li > a:hover::before,
 .mobile-drawer__list > li > a:focus-visible::before {
   height: 18px;
 }
 .mobile-drawer__list >
    li.current-menu-item > a,
 .mobile-drawer__list > li.current-menu-ancestor > a {
   color: var(--clr-secondary);
    padding-left: 22px;
 }
 .mobile-drawer__list >
    li.current-menu-item > a::before,
 .mobile-drawer__list > li.current-menu-ancestor > a::before { height: 18px; }

 /* Accordion behavior ÃƒÂ¢Ã¢â€šÂ¬Ã¢â‚¬Â mobile drawer only */
 .mobile-drawer__list .menu-item-has-children >
    a { padding-right: 56px; }
 .mobile-drawer__list .menu-item-has-children.is-open >
    a {
   color: var(--clr-secondary);
    background: rgba(224,161,23,0.08);
    padding-left: 22px;
 }
 .mobile-drawer__list .menu-item-has-children.is-open >
    a::before { height: 22px; }

 .mobile-drawer__submenu-toggle {
    position: absolute;
    top: 5px;
    right: 8px;
    width: 38px;
    height: 38px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0;
    margin: 0;
    color: var(--clr-white);
    cursor: pointer;
    -webkit-appearance: none;
    appearance: none;
    z-index: 2;
    transition: background-color 0.25s ease, border-color 0.25s ease, color 0.25s ease, transform 0.25s ease;
    background: no-repeat;
    border: none;
 }
 .mobile-drawer__submenu-toggle:
    hover,
 .mobile-drawer__submenu-toggle:focus-visible {
   outline: none;
 }
 .mobile-drawer__submenu-toggle.is-open {
    background: transparent;
    border-color: var(--clr-secondary);
 }
 .mobile-drawer__submenu-toggle::
    before {
   content: "";
    width: 8px;
    height: 8px;
    border-right: 2px solid currentColor;
    border-bottom: 2px solid currentColor;
    transform: translateY(-2px) rotate(45deg);
    transition: transform 0.3s ease;
 }
 .mobile-drawer__submenu-toggle.is-open::
    before {
   transform: translateY(2px) rotate(-135deg);
 }

 .mobile-drawer__list .sub-menu {
    list-style: none;
    position: relative;
    padding: 0;
    margin: 0;
    display: none;
 }
 .mobile-drawer__list .sub-menu::
    before {
   content: "";
    position: absolute;
    left: 0;
    top: 8px;
    bottom: 12px;
    width: 2px;
    background: linear-gradient(180deg, var(--clr-secondary) 0%, rgba(224,161,23,0.15) 100%);
    border-radius: 2px;
 }
 .mobile-drawer__list .sub-menu
    a {
   display: flex;
    align-items: center;
    font-size: 14px;
    font-weight: 500;
    letter-spacing: 0.06em;
    padding: 10px 14px;
    border-radius: 6px;
    border-bottom: 0;
    color: rgba(255,255,255,0.78);
    text-transform: uppercase;
    transition: background-color 0.2s ease, color 0.2s ease, padding-left 0.2s ease;
 }
 .mobile-drawer__list .sub-menu
    a::before {
   content: "";
    height: 6px;
    border-radius: 50%;
    background: rgba(255,255,255,0.25);
    transition: background-color 0.2s ease, transform 0.2s ease;
    flex-shrink: 0;
 }
 .mobile-drawer__list .sub-menu
    a:hover,
 .mobile-drawer__list .sub-menu a:focus-visible {
   color: var(--clr-white);
    background: rgba(255,255,255,0.05);
    padding-left: 18px;
    outline: none;
 }
 .mobile-drawer__list .sub-menu
    a:hover::before,
 .mobile-drawer__list .sub-menu a:focus-visible::before {
   background: var(--clr-secondary);
    transform: scale(1.4);
 }
 .mobile-drawer__list .sub-menu .current-menu-item >
    a {
   color: var(--clr-secondary);
 }
 .mobile-drawer__list .sub-menu .current-menu-item >
    a::before {
   background: var(--clr-secondary);
 }
 .mobile-drawer__phone {
    display: inline-block;
    margin-top: 8px;
    font-family: var(--ff-secondary, "Oswald"), sans-serif;
    font-weight: 700;
    font-size: clamp(17px, calc(12.385px + 0.601vw), 22.0px);
    color: var(--clr-secondary);
    text-decoration: none;
    text-align: center;
 }
 .mobile-drawer__cta {
    display: inline-block;
    text-align: center;
    background: var(--clr-secondary);
    color: var(--clr-white);
    font-family: var(--ff-secondary), sans-serif;
    font-weight: 700;
    font-size: clamp(14px, calc(14.154px + 0.240vw), 16.0px);
    text-transform: uppercase;
    letter-spacing: 0.04em;
    padding: 14px 24px;
    text-decoration: none;
    margin-top: 8px;
    border-radius: 0;
 }
    body.nav-locked { overflow: hidden; }
 
 .mobile-drawer__backdrop {
    position: fixed;
    inset: 0;
    background: rgba(0, 0, 0, 0.55);
    opacity: 0;
    pointer-events: none;
    transition: opacity 0.25s ease;
    z-index: 999;
 }
 .mobile-drawer__backdrop.is-open {
    opacity: 1;
    pointer-events: auto;
 }
    @media (max-width: 1570px) {
 .site-branding .site-logo { margin: -90px 0}
 }
    @media (min-width: 1281px) {
   .mobile-drawer__backdrop { display: none; }
 }
    @media (max-width: 1199px) {
   .primary-nav__list { gap: 22px; }
   .site-header__cta {
    font-size: 16px;
    padding: 16px 22px; }
 }
    @media (max-width: 1280px) {
 
  
   .site-header__top { display: none; }
 
 .site-branding .site-logo {
    margin: 0; }
  
   .site-header__top-label {
    font-size: 11px; }
   .primary-nav {
    display: none; }
   .site-header__cta {
    display: none; }
   .nav-toggle {
    display: inline-flex;
    flex-direction: column;
    justify-content: center;
    margin-left: auto; }
   .site-header__inner {
    min-height: 88px; }
 }
    @media (max-width: 575px) {
   .site-header__top-block--social .site-header__top-label { display: none; }
   .site-header__top-block--social::
    after { display: none; }
   .site-header__top-block--phone .site-header__top-label {
    display: none; }
   .site-header__top-inner {}
   .site-header__top-phone {
    font-size: 13px; }
   .site-branding .site-logo img,
   .site-branding .custom-logo {}
   .site-header__inner {
    min-height: 72px;}
 }
    @media (min-width: 1281px) {
   .mobile-drawer { display: none; }
 }
    @media (min-width: 2000px) {
 
  .site-header__top-inner:before {width: clamp(161px,44vw,3000px);}
 
 }
    /* --- END: Site Header --- */
    /* --- START: Site Footer (Figma 3-stack) --- */
 .site-footer {
    color: var(--clr-white); }
 .site-footer
    a { color: inherit;
    text-decoration: none; }
 .site-footer
    a:hover { color: var(--clr-secondary); }
 
 /* === Footer Info Row (yellow strip) === */
 .site-footer__info {
    background: var(--clr-secondary, #E0A117);
    color: var(--clr-white);
    position: relative;
    padding: 36px 0;
 }
 .site-footer__info-notch {
    background: url('./assets/imgs/contect-before.svg');
    height: auto;
    width: 100%;
    aspect-ratio: 1920/80;
    position: absolute;
    top: 0;
    background-position: center top;
    transform: translateY(-97%);
    background-size: cover;}
 .site-footer__info-inner {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 32px;
    align-items: center;
 }
 .site-footer__info-card {
    --align: center;
    --gapx: 18px;
    --gapy: 18px;
    --wrap: nowrap;
 }
 .site-footer__info-icon {
    flex-shrink: 0;
    width: 64px;
    height: 64px;
    --align: center;
    --justify: center;
 }
 .site-footer__info-icon
    img {
   width: 100%;
    height: 100%;
    display: block;
    object-fit: contain;
 }
 .site-footer__info-body {
    display: flex;
    flex-direction: column;
    gap: 4px; }
 .site-footer__info-label {
    font-size: clamp(11px, calc(10.154px + 0.440vw), 18px);
    font-weight: 500;
    letter-spacing: 0.18em;
    text-transform: uppercase;
    color: var(--clr-white);
    opacity: 0.85;
 }
 .site-footer__info-value {
    font-size: clamp(15px, calc(12.231px + 0.361vw), 18.0px);
    font-weight: 700;
    line-height: 1.3;
    color: var(--clr-white);
    max-width: 300px;
 }
    a.site-footer__info-value:hover { color: var(--clr-primary); }
 
 /* === Main Footer (dark navy) === */
 .site-footer__main {
    background: #1B1656;
    padding: clamp(52px, 7vw, 102px) 0px clamp(52px, 7vw, 110px);
 }
 .site-footer__inner {
    display: grid;
    grid-template-columns: 1.9fr 1.1fr .9fr 1.35fr;
    gap: 40px;
    align-items: start;
 }
 .site-footer__col--brand .site-footer__logo {
    display: inline-block; }
 .site-footer__logo
    img {max-width: clamp(240px, 26vw, 401px);}
 .site-footer__description {
    margin: 16px 0 0;
    line-height: 1.6;
    font-size: clamp(13px, calc(11.154px + 0.240vw), 15.0px);
    opacity: 0.85;
 }
 .site-footer__heading {
    margin: 0 0 13px 0;
    color: var(--clr-white);
    letter-spacing: -0.44px;
 }
 .site-footer__heading--social {
    margin: clamp(10px, 2vw, 30px) 0;}
 .site-footer__links {
    list-style: none;
    padding: 0;
    margin: 0;
    --direction: column;
    --gapx: 6px;
    --gapy: 8px;
 }
 .site-footer__links
    li a {
   display: inline-block;
    position: relative;
    padding-left: 18px;
    font-size: clamp(14px, calc(14.154px + 0.440vw), 20px);
    color: var(--clr-white);
 }
 .site-footer__links
    li a::before {
   content: '';
    position: absolute;
    left: 0;
    line-height: inherit;
    height: 3px;
    width: 3px;
    background: #fff;
    top: 50%;
    border-radius: 50%;
 }
 .site-footer__hours-body {
    color: var(--clr-white);
 }
 .site-footer__hours-body
    p { margin: 0 0 0.4em; }
 .site-footer__hours-body
    p:last-child { margin-bottom: 0; }
 .site-footer__social {
    list-style: none;
    padding: 0;
    --gapx: clamp(10px, 1vw,16px);
    --gapy: clamp(10px, 1vw,16px);
    --align: center;
 }
 .site-footer__social
    li a {
   display: inline-flex;
    align-items: center;
    justify-content: center;
    max-width: 32px;
    height: 32px;
    padding: 0 8px;
    border: none;
    color: var(--clr-white);
    font-size: clamp(10px, calc(8.154px + 0.240vw), 12.0px);
    font-weight: 500;
    letter-spacing: 0.02em;
    white-space: nowrap;
    transition: background 0.2s ease, border-color 0.2s ease;
 }
 .site-footer__social
    li a:hover {
   filter: brightness(0) saturate(100%) invert(67%) sepia(63%) saturate(1152%) hue-rotate(8deg) brightness(96%) contrast(92%);
 }
 .site-footer__social
    li a:has(img),
 .site-footer__social li a:has(svg) {
   padding: 0;
 }
 .site-footer__social
    img {max-width: 32px;
    max-height: 30px;
    display: block;
    object-fit: contain;}
 .site-footer__social
    svg { width: 22px;
    height: 22px;
    display: block;
    color: var(--clr-white); }
 .site-footer__social
    li a:hover svg { color: var(--clr-secondary); }
 
 /* === Copyright Bar (black) === */
 .site-footer__copyright {
    background: #0B0737;
    color: var(--clr-white);
    padding: 23px 0;
    font-size: clamp(12px, calc(10.154px + 0.240vw), 14.0px);
 }
 .site-footer__copyright-inner {
    --justify: space-between;
    --align: center;
    --gapx: 24px;
    --gapy: 24px;
    --wrap: wrap;
 }
 .site-footer__copyright-text {
    margin: 0;}
 .site-footer__copyright-links {
    list-style: none;
    padding: 0;
    margin: 0;
    --gapx: 10px;
    --gapy: 10px;
    --align: center;
    --wrap: wrap;
 }
 .site-footer__copyright-links
    li {
   display: inline-flex;
    align-items: center;
    gap: 10px;
 }
 .site-footer__copyright-sep {}
 .site-footer__copyright-links
    a { color: var(--clr-white); }
 .site-footer__copyright-links
    a:hover { color: var(--clr-secondary); }
 
 /* Responsive */
    @media (max-width: 1199px) {
   .site-footer__inner { grid-template-columns: 1fr 1fr 1fr; }
   .site-footer__col--brand {
    grid-column: 1 / -1; }
 }
    @media (max-width: 991px) {
   .site-footer__info { padding: 28px 0; }
   .site-footer__info-inner {
    grid-template-columns: 1fr;
    gap: 18px;
    max-width: 440px;}
   .site-footer__info-value {
    font-size: 16px; }
   .site-footer__inner {
    grid-template-columns: 1fr 1fr;
    gap: 32px; }
   .site-footer__col--brand {
    grid-column: 1 / -1;
    text-align: center;
    width: max-content;}
   .site-footer__col--brand .site-footer__logo {
    display: inline-block; }
 }
    @media (max-width: 575px) {
   .site-footer__info-card {flex-direction: column;
    align-items: center;
    text-align: center;
    gap: 10px;}
   .site-footer__inner {
    grid-template-columns: 1fr;
    gap: 28px; }
   .site-footer__copyright-inner {
    flex-direction: column;
    align-items: flex-start;
    gap: 6px;
    text-align: left; }
   .site-footer__copyright-text {
    font-size: 13px; }
 }
    /* --- END: Site Footer --- */
    /*--------------------------------------------------------------
 >>> TABLE OF CONTENTS:
 ----------------------------------------------------------------
 # Generic
  - Normalize
  - Box sizing
 # Base
  - Typography
  - Elements
  - Links
  - Forms
 ## Layouts
 # Components
  - Navigation
  - Posts and pages
  - Comments
  - Widgets
  - Media
  - Captions
  - Galleries
 # plugins
  - Jetpack infinite scroll
 # Utilities
  - Accessibility
  - Alignments
 
 --------------------------------------------------------------*/
 
 /*--------------------------------------------------------------
 # Generic
 --------------------------------------------------------------*/
 
 /* Normalize
 --------------------------------------------- */
 
 /*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */
 
 /* Document
   ========================================================================== */
 
 /**
  * 1. Correct the line height in all browsers.
  * 2. Prevent adjustments of font size after orientation changes in iOS.
  */
    html {
  line-height: 1.15;
    -webkit-text-size-adjust: 100%;
 }
 
 /* Sections
   ========================================================================== */
 
 /**
  * Remove the margin in all browsers.
  */
    body {
  margin: 0;
 }
 
 /**
  * Render the `main` element consistently in IE.
  */
    main {
  display: block;
 }
 
 /**
  * Correct the font size and margin on `h1` elements within `section` and
  * `article` contexts in Chrome, Firefox, and Safari.
  */
    h1 {
  font-size: 2em;
    margin: 0.67em 0;
 }
 
 /* Grouping content
   ========================================================================== */
 
 /**
  * 1. Add the correct box sizing in Firefox.
  * 2. Show the overflow in Edge and IE.
  */
    hr {
  box-sizing: content-box;
    height: 0;
    overflow: visible;
 }
 
 /**
  * 1. Correct the inheritance and scaling of font size in all browsers.
  * 2. Correct the odd `em` font sizing in all browsers.
  */
    pre {
  font-family: monospace, monospace;
    font-size: 1em;
 }
 
 /* Text-level semantics
   ========================================================================== */
 
 /**
  * Remove the gray background on active links in IE 10.
  */
    a {
  background-color: transparent;
 }
 
 /**
  * 1. Remove the bottom border in Chrome 57-
  * 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.
  */
    abbr[title] {
  border-bottom: none;
    text-decoration: underline;
    text-decoration: underline dotted;
 }
 
 /**
  * Add the correct font weight in Chrome, Edge, and Safari.
  */
    b,
 strong {
  font-weight: bolder;
 }
 
 /**
  * 1. Correct the inheritance and scaling of font size in all browsers.
  * 2. Correct the odd `em` font sizing in all browsers.
  */
    code,
 kbd,
 samp {
  font-family: monospace, monospace;
    font-size: 1em;
 }
 
 /**
  * Add the correct font size in all browsers.
  */
    small {
  font-size: 80%;
 }
 
 /* Embedded content
   ========================================================================== */
 
 /**
  * Remove the border on images inside links in IE 10.
  */
    img {
  border-style: none;
 }
 
 /* Forms
   ========================================================================== */
 
 /**
  * 1. Change the font styles in all browsers.
  * 2. Remove the margin in Firefox and Safari.
  */
    button,
 input,
 optgroup,
 select,
 textarea {
  font-family: inherit;
    font-size: 100%;
    line-height: 1.15;
    margin: 0;
 }
 
 /**
  * Show the overflow in IE.
  * 1. Show the overflow in Edge.
  */
    button,
 input {
  overflow: visible;
 }
 
 /**
  * Remove the inheritance of text transform in Edge, Firefox, and IE.
  * 1. Remove the inheritance of text transform in Firefox.
  */
    button,
 select {
  text-transform: none;
 }
 
 /**
  * Correct the inability to style clickable types in iOS and Safari.
  */
    button,
 [type="button"],
 [type="reset"],
 [type="submit"] {
  -webkit-appearance: button;
 }
 
 /**
  * Remove the inner border and padding in Firefox.
  */
    button::-moz-focus-inner,
 [type="button"]::-moz-focus-inner,
 [type="reset"]::-moz-focus-inner,
 [type="submit"]::-moz-focus-inner {
  border-style: none;
    padding: 0;
 }
 
 /**
  * Restore the focus styles unset by the previous rule.
  */
    button:-moz-focusring,
 [type="button"]:-moz-focusring,
 [type="reset"]:-moz-focusring,
 [type="submit"]:-moz-focusring {
  outline: 1px dotted ButtonText;
 }
 
 /**
  * Correct the padding in Firefox.
  */
    fieldset {
  padding: 0.35em 0.75em 0.625em;
 }
 
 /**
  * 1. Correct the text wrapping in Edge and IE.
  * 2. Correct the color inheritance from `fieldset` elements in IE.
  * 3. Remove the padding so developers are not caught out when they zero out
  *  `fieldset` elements in all browsers.
  */
    legend {
  box-sizing: border-box;
    color: inherit;
    display: table;
    max-width: 100%;
    padding: 0;
    white-space: normal;
 }
 
 /**
  * Add the correct vertical alignment in Chrome, Firefox, and Opera.
  */
    progress {
  vertical-align: baseline;
 }
 
 /**
  * Remove the default vertical scrollbar in IE 10+.
  */
    textarea {
  overflow: auto;
 }
 
 /**
  * 1. Add the correct box sizing in IE 10.
  * 2. Remove the padding in IE 10.
  */
 [
    type="checkbox"],
 [type="radio"] {
  box-sizing: border-box;
    padding: 0;
 }
 
 /**
  * Correct the cursor style of increment and decrement buttons in Chrome.
  */
 [
    type="number"]::-webkit-inner-spin-button,
 [type="number"]::-webkit-outer-spin-button {
  height: auto;
 }
 
 /**
  * 1. Correct the odd appearance in Chrome and Safari.
  * 2. Correct the outline style in Safari.
  */
 [
    type="search"] {
  -webkit-appearance: textfield;
    outline-offset: -2px;
 }
 
 /**
  * Remove the inner padding in Chrome and Safari on macOS.
  */
 [
    type="search"]::-webkit-search-decoration {
  -webkit-appearance: none;
 }
 
 /**
  * 1. Correct the inability to style clickable types in iOS and Safari.
  * 2. Change font properties to `inherit` in Safari.
  */
 ::
    -webkit-file-upload-button {
  -webkit-appearance: button;
    font: inherit;
 }
 
 /* Interactive
   ========================================================================== */
 
 /*
  * Add the correct display in Edge, IE 10+, and Firefox.
  */
    details {
  display: block;
 }
 
 /*
  * Add the correct display in all browsers.
  */
    summary {
  display: list-item;
 }
 
 /* Misc
   ========================================================================== */
 
 /**
  * Add the correct display in IE 10+.
  */
    template {
  display: none;
 }
 
 /**
  * Add the correct display in IE 10.
  */
 [
    hidden] {
  display: none;
 }
 
 /* Box sizing
 --------------------------------------------- */
 
 /* Inherit box-sizing to more easily change it's value on a component level.
 @link http://css-tricks.com/inheriting-box-sizing-probably-slightly-better-best-practice/ */
 *,
 *::
    before,
 *::after {
  box-sizing: inherit;
 }
    html {
  box-sizing: border-box;
 }
 
 
 
 /*--------------------------------------------------------------
 # Base
 --------------------------------------------------------------*/
 
 /* Typography
 --------------------------------------------- */
 /* Form controls only body/heading typography handled by canonical rules at top of file. */
    button,
 input,
 select,
 optgroup,
 textarea {
  color: inherit;
    font: inherit;
    line-height: 1.5;
 }
 
 /* Note: global `p { margin-bottom }` and `ul, ol { margin }` rules removed
    margins on body typography belong to the parent container per
    utility-classes/SKILL.md (rule 9). */
    dfn,
 cite,
 em,
 i {
  font-style: italic;
 }
    blockquote {
  margin: 0 1.5em;
 }
    address {
  margin: 0 0 1.5em;
 }
    pre {
  background: #eee;
    font-family: "Courier 10 Pitch", courier, monospace;
    line-height: 1.6;
    margin-bottom: 1.6em;
    max-width: 100%;
    overflow: auto;
    padding: 1.6em;
 }
    code,
 kbd,
 tt,
 var {
  font-family: monaco, consolas, "Andale Mono", "DejaVu Sans Mono", monospace;
 }
    abbr,
 acronym {
  border-bottom: 1px dotted #666;
    cursor: help;
 }
    mark,
 ins {
  background: #fff9c0;
    text-decoration: none;
 }
    big {
  font-size: 125%;
 }
 
 /* Elements
 --------------------------------------------- */
    body {
  background: #fff;
 }
    hr {
  background-color: #ccc;
    border: 0;
    height: 1px;
    margin-bottom: 1.5em;
 }
    ul { list-style: disc; }
    ol { list-style: decimal; }
 /* List margins/indentation handled by parent containers see utility-classes rule 9. */
    dt {
  font-weight: 700;
 }
    dd {
  margin: 0 1.5em 1.5em;
 }
 
 /* Make sure embeds and iframes fit their containers. */
    embed,
 iframe,
 object {
  max-width: 100%;
 }
    img {
  height: auto;
    max-width: 100%;
    object-fit: cover;
    object-position: center;
    max-height: 100%;
 }
    figure {
  margin: 1em 0;
 }
    table {
  margin: 0 0 1.5em;
    width: 100%;
 }
 
 /* Links
 --------------------------------------------- */
    a {
  color: #4169e1;
 }
    a:hover,
 a:active {
  outline: 0;
 }
 
 /* Forms
 --------------------------------------------- */
    button,
 input[type="button"],
 input[type="reset"],
 input[type="submit"] {
  border: 1px solid;
    border-color: #ccc #ccc #bbb;
    border-radius: 0;
    background: #e6e6e6;
    color: rgba(0, 0, 0, 0.8);
    line-height: 1;
    padding: 0.6em 1em 0.4em;
 }
    button:hover,
 input[type="button"]:hover,
 input[type="reset"]:hover,
 input[type="submit"]:hover {
  border-color: #ccc #bbb #aaa;
 }
    button:active,
 button:focus,
 input[type="button"]:active,
 input[type="button"]:focus,
 input[type="reset"]:active,
 input[type="reset"]:focus,
 input[type="submit"]:active,
 input[type="submit"]:focus {
  border-color: #aaa #bbb #bbb;
 }
    input[type="text"],
 input[type="email"],
 input[type="url"],
 input[type="password"],
 input[type="search"],
 input[type="number"],
 input[type="tel"],
 input[type="range"],
 input[type="date"],
 input[type="month"],
 input[type="week"],
 input[type="time"],
 input[type="datetime"],
 input[type="datetime-local"],
 input[type="color"],
 textarea {
  color: #666;
    border: 1px solid #ccc;
    border-radius: 3px;
    padding: 3px;
 }
    input[type="text"]:focus,
 input[type="email"]:focus,
 input[type="url"]:focus,
 input[type="password"]:focus,
 input[type="search"]:focus,
 input[type="number"]:focus,
 input[type="tel"]:focus,
 input[type="range"]:focus,
 input[type="date"]:focus,
 input[type="month"]:focus,
 input[type="week"]:focus,
 input[type="time"]:focus,
 input[type="datetime"]:focus,
 input[type="datetime-local"]:focus,
 input[type="color"]:focus,
 textarea:focus {
  color: #111;
 }
    select {
  border: 1px solid #ccc;
 }
    textarea {
  width: 100%;
 }
    p, ul, dl, ol { margin: 0 0 1em; }
    p:last-child, ul:last-child, dl:last-child, ol:last-child {
 margin-bottom: 0; }
 
 /*--------------------------------------------------------------
 # Layouts
 --------------------------------------------------------------*/
 
 /*--------------------------------------------------------------
 # Components
 --------------------------------------------------------------*/
 
 /* Navigation
 --------------------------------------------- */
 .main-navigation {
    display: block;
    width: 100%;
 }
 
 .main-navigation
    ul {
  display: none;
    list-style: none;
    margin: 0;
    padding-left: 0;
 }
 
 .main-navigation
    ul ul {
  box-shadow: 0 3px 3px rgba(0, 0, 0, 0.2);
    float: left;
    position: absolute;
    top: 100%;
    left: -999em;
    z-index: 99999;
 }
 
 .main-navigation
    ul ul ul {
  left: -999em;
    top: 0;
 }
 
 .main-navigation
    ul ul li:hover > ul,
 .main-navigation ul ul li.focus > ul {
  display: block;
    left: auto;
 }
 
 .main-navigation
    ul ul a {
  width: 200px;
 }
 
 .main-navigation
    ul li:hover > ul,
 .main-navigation ul li.focus > ul {
  left: auto;
 }
 
 .main-navigation
    li {
  position: relative;
 }
 
 .main-navigation
    a {
  display: block;
    text-decoration: none;
 }
 
 /* Small menu. */
 .menu-toggle,
 .main-navigation.toggled
    ul {
  display: block;
 }
    @media screen and (min-width: 37.5em) {
 
  .menu-toggle {
   display: none;
  }
 
  .main-navigation ul {
    display: flex;
  }
 }
 
 .site-main .comment-navigation,
 .site-main
 .posts-navigation,
 .site-main
 .post-navigation {
    margin: 0 0 1.5em;
 }
 
 .comment-navigation .nav-links,
 .posts-navigation .nav-links,
 .post-navigation .nav-links {
    display: flex;
 }
 
 .comment-navigation .nav-previous,
 .posts-navigation .nav-previous,
 .post-navigation .nav-previous {
    flex: 1 0 50%;
 }
 
 .comment-navigation .nav-next,
 .posts-navigation .nav-next,
 .post-navigation .nav-next {
    text-align: end;
    flex: 1 0 50%;
 }
 
 /* Posts and pages
 --------------------------------------------- */
 .sticky {
    display: block;
 }
 
 .post,
 .page {
    margin: 0;
 }
 
 .updated:not(.published) {
    display: none;
 }
 
 .page-content,
 .entry-content,
 .entry-summary {
    margin: 1.5em 0 0;
 }
 
 .page-links {
    clear: both;
    margin: 0 0 1.5em;
 }
 
 /* Comments
 --------------------------------------------- */
 .comment-content
    a {
  word-wrap: break-word;
 }
 
 .bypostauthor {
    display: block;
 }
 
 /* Widgets
 --------------------------------------------- */
 .widget {
    margin: 0 0 1.5em;
 }
 
 .widget
    select {
  max-width: 100%;
 }
 
 /* Media
 --------------------------------------------- */
 .page-content .wp-smiley,
 .entry-content .wp-smiley,
 .comment-content .wp-smiley {
    border: none;
    margin-bottom: 0;
    margin-top: 0;
    padding: 0;
 }
 
 /* Make sure logo link wraps around logo image. */
 .custom-logo-link {
    display: inline-block;
 }
 
 /* Captions
 --------------------------------------------- */
 .wp-caption {
    margin-bottom: 1.5em;
    max-width: 100%;
 }
 
 .wp-caption
    img[class*="wp-image-"] {
  display: block;
    margin-left: auto;
    margin-right: auto;
 }
 
 .wp-caption .wp-caption-text {
    margin: 0.8075em 0;
 }
 
 .wp-caption-text {
    text-align: center;
 }
 
 /* Galleries
 --------------------------------------------- */
 .gallery {
    margin-bottom: 1.5em;
    display: grid;
    grid-gap: 1.5em;
 }
 
 .gallery-item {
    display: inline-block;
    text-align: center;
    width: 100%;
 }
 
 .gallery-columns-2 {
    grid-template-columns: repeat(2, 1fr);
 }
 
 .gallery-columns-3 {
    grid-template-columns: repeat(3, 1fr);
 }
 
 .gallery-columns-4 {
    grid-template-columns: repeat(4, 1fr);
 }
 
 .gallery-columns-5 {
    grid-template-columns: repeat(5, 1fr);
 }
 
 .gallery-columns-6 {
    grid-template-columns: repeat(6, 1fr);
 }
 
 .gallery-columns-7 {
    grid-template-columns: repeat(7, 1fr);
 }
 
 .gallery-columns-8 {
    grid-template-columns: repeat(8, 1fr);
 }
 
 .gallery-columns-9 {
    grid-template-columns: repeat(9, 1fr);
 }
 
 .gallery-caption {
    display: block;
 }
 
 /*--------------------------------------------------------------
 # Plugins
 --------------------------------------------------------------*/
 
 /* Jetpack infinite scroll
 --------------------------------------------- */
 
 /* Hide the Posts Navigation and the Footer when Infinite Scroll is in use. */
 .infinite-scroll .posts-navigation,
 .infinite-scroll.neverending .site-footer {
    display: none;
 }
 
 /* Re-display the Theme Footer when Infinite Scroll has reached its end. */
 .infinity-end.neverending .site-footer {
    display: block;
 }
 
 /*--------------------------------------------------------------
 # Utilities
 --------------------------------------------------------------*/
 
 /* Accessibility
 --------------------------------------------- */
 
 /* Text meant only for screen readers. */
 .screen-reader-text {
    border: 0;
    clip: rect(1px, 1px, 1px, 1px);
    clip-path: inset(50%);
    height: 1px;
    margin: -1px;
    overflow: hidden;
    padding: 0;
    position: absolute !important;
    width: 1px;
    word-wrap: normal !important;
 }
 
 .screen-reader-text:
    focus {
  background-color: #f1f1f1;
    border-radius: 3px;
    box-shadow: 0 0 2px 2px rgba(0, 0, 0, 0.6);
    clip: auto !important;
    clip-path: none;
    color: #21759b;
    display: block;
    font-size: 0.875rem;
    font-weight: 700;
    height: auto;
    left: 5px;
    line-height: normal;
    padding: 15px 23px 14px;
    text-decoration: none;
    top: 5px;
    width: auto;
    z-index: 100000;
 }
 
 /* Do not show the outline on the skip link target. */
 #primary[
    tabindex="-1"]:focus {
  outline: 0;
 }
 
 /* Alignments
 --------------------------------------------- */
 .alignleft {
 
  /*rtl:ignore*/
    float: left;
 
  /*rtl:ignore*/
    margin-right: 1.5em;
    margin-bottom: 1.5em;
 }
 
 .alignright {
 
  /*rtl:ignore*/
    float: right;
 
  /*rtl:ignore*/
    margin-left: 1.5em;
    margin-bottom: 1.5em;
 }
 
 .aligncenter {
    clear: both;
    display: block;
    margin-left: auto;
    margin-right: auto;
    margin-bottom: 1.5em;
 }
    /*--------------------------------------------------------------
 # Utility Classes sitewide pattern (.fs<px>, .fw-<weight>, etc.)
 #
 # Pattern (enforced project-wide see .claude/skills/utility-classes):
 #   .fs<N>     -> font-size: Npx        (only values present in Figma)
 #   .fw-<N>    -> font-weight: N        (only weights present in Figma)
 #   .lh<N>     -> line-height: N (unitless, e.g. .lh1 = 1.0, .lh15 = 1.5)
 #   .ls<N>     -> letter-spacing: Npx (negative via .ls-N)
 #   .ttu/.ttl/.ttc/.ttn -> text-transform: uppercase/lowercase/capitalize/none
 #   .tac/.tal/.tar      -> text-align: center/left/right
 #
 # Rule: add a new .fs<N> or .fw-<N> ONLY when the value appears in the
 # extracted Figma tokens. Don't pre-emit generic ranges keeps the bundle
 # lean and prevents editors from inventing off-spec sizes.
 #
 # Line-height in component CSS: NEVER write `line-height: <N>px`. Use the
 # ratio form `line-height: calc(<lh-px>/<fs-px>)` e.g. an 80px headline
 # with 90px design line-height becomes `line-height: calc(90/80)` (= 1.125).
 # The math documents the Figma-source pairing at a glance. Generic .lh<NN>
 # utilities stay unitless; calc(lh/fs) is for element-specific rules.
 #
 # Apply via ACF *_classes fields (e.g. heading_classes = "fs40 fw-700") OR
 # directly in PHP markup. Always additive never override component styles
 # inside the utility class.
 --------------------------------------------------------------*/
    /* --- Font size canonical + project additions ---
  * Canonical scale (utility-classes/SKILL.md): .fs14 .fs15 .fs16 .fs17 .fs20--xs .fs70 .fs90 .fs120 .fs128
  * Project additions (kept additive): .fs18 .fs20 .fs28 .fs32 .fs40 .fs80
  * fluid-font(min, max, minVw=768, maxVw=1600) -> clamp(minpx, calc(basepx + slopevw), maxpx)
  *   slope = (max-min)/(maxVw-minVw)*100;  base = min - (slope*minVw/100)
  */
 .fs14    {
    font-size: clamp(10px, calc(6.308px + 0.481vw),  14px);
    line-height: 1.4; }
 .fs15    {
    font-size: clamp(12px, calc(9.231px + 0.361vw),  15px);
    line-height: 1.4; }
 .fs16    {
    font-size: clamp(12px, calc(8.308px + 0.481vw),  16px);
    line-height: calc(22/16); }
 .fs17    {
    font-size: clamp(12px, calc(7.385px + 0.601vw),  17px);
    line-height: 1.4; }
 .fs18    {
    font-size: clamp(14px, calc(10.308px + 0.481vw), 18px);
    line-height: calc(30/18); }
 .fs20    {
    font-size: clamp(16px, calc(12.308px + 0.481vw), 20px);
    line-height: calc(30/20); }
 .fs20--xs {
    font-size: clamp(12px, calc(4.615px + 0.962vw), 20px);
    line-height: calc(17/12); }
 
 .fs25    {
    font-size: clamp(18px, calc(13.385px + 0.701vw), 25px);
    line-height: calc(36/25); }
 .fs24    {
    font-size: clamp(18px, calc(13.385px + 0.601vw), 24px);
    line-height: 1.35; }
 .fs23    {
    font-size: clamp(18px, calc(13px + 0.601vw), 23px);
    line-height: calc(38/23); }
 .fs28    {
    font-size: clamp(20px, calc(12.615px + 0.962vw), 28px);
    line-height: 1.25; }
 .fs30    {
    font-size: clamp(20px, calc(11.769px + 1.202vw), 30px);
    line-height: 1.25; }
 .fs32    {
    font-size: clamp(22px, calc(12.769px + 1.202vw), 32px);
    line-height: 1.2; }
 .fs34    {
    font-size: clamp(20px, calc(13.769px + 1.202vw), 34px);
    line-height: 1.25; }
 
 .fs37   {
    font-size: clamp(22px, calc(12.7538px + 1.442vw), 37px);
    line-height: 1.2;}
 .fs35    {
    font-size: clamp(22px, calc(11.538px + 1.442vw), 35px);
    line-height: 1.2; }
 .fs40    {
    font-size: clamp(24px, calc(9.231px + 1.923vw),  40px);
    line-height: 1.15; }
 .fs50    {
    font-size: clamp(28px, calc(7.692px + 2.404vw), 50px);
    line-height: 1.1; }
 .fs70    {
    font-size: clamp(33px, calc(-39.444px + 6.944vw), 70px);
    line-height: calc(82/70); }
 .fs80    {
    font-size: clamp(36px, calc(0.385px + 4.808vw),  80px);
    line-height: calc(89/80); }
 .fs90    {
    font-size: clamp(37px, calc(-54.722px + 9.201vw), 90px);
    line-height: 1.05; }
 .fs120   {
    font-size: clamp(37px, calc(2.313rem + 12.351vw, 120px));
    line-height: calc(45/37); }
 .fs128   {
    font-size: clamp(50px, calc(-46.469px + 9.443vw), 128px);
    line-height: 1; }
 
 /* --- Font weight (.fw-<N>) Figma-only weights --- */
 .fw-400 {
    font-weight: 400; }
 .fw-500 {
    font-weight: 500; }
 .fw-600 {
    font-weight: 600;}
 .fw-700 {
    font-weight: 700; }
 
 /* --- Line height (unitless, .lh<NN> means N.N) --- */
 .lh1    {
    line-height: 1; }
 .lh11   {
    line-height: 1.1; }
 .lh12   {
    line-height: 1.2; }
 .lh13   {
    line-height: 1.3; }
 .lh14   {
    line-height: 1.4; }
 .lh15   {
    line-height: 1.5; }
 .lh16   {
    line-height: 1.6; }
 .lh17   {
    line-height: 1.7; }
 .lh18   {
    line-height: 1.8; }
 
 /* --- Letter spacing (.ls<N>px, negative via .ls-<N>) --- */
 .ls0    {
    letter-spacing: 0; }
 .ls1    {
    letter-spacing: 1px; }
 .ls2    {
    letter-spacing: 2px; }
 .ls3    {
    letter-spacing: 3px; }
 .ls4    {
    letter-spacing: 4px; }
 .ls-1   {
    letter-spacing: -1px; }
 .ls-2   {
    letter-spacing: -2px; }
 
 
 .ls--1-5 {
    letter-spacing: -0.15px; }
 .ls--4-4 {
    letter-spacing: -0.44px; }
 
 
 /* --- Text transform / alignment --- */
 .ttu {
    text-transform: uppercase; }
 .ttl {
    text-transform: lowercase; }
 .ttc {
    text-transform: capitalize; }
 .ttn {
    text-transform: none; }
 .tac {
    text-align: center; }
 .tal {
    text-align: left; }
 .tar {
    text-align: right; }
 
 /*--------------------------------------------------------------
 # Home page section blocks (auto-generated by section-builder)
 --------------------------------------------------------------*/
 
 /* === Section: hero_banner ============================================ */
 .has-bottom_decore:
    after {
   content: '';
    background: url('assets/imgs/border-inst-1.png');
    height: auto;
    width: 100%;
    display: block;
    z-index: 3;
    position: relative;
    aspect-ratio: 1920/101;
    background-size: cover;
    background-position: top center;
 }
 
 
 .hero_banner {
    position: relative;
    --align: center;
    color: var(--clr-white);
    background-color: var(--clr-dark);
    background-image: var(--hero-bg, none);
    background-size: cover;
    background-position: center center;
    background-repeat: no-repeat;
    overflow: hidden;
 }
 .hero_banner__overlay {
    position: absolute;
    inset: 0;
    background: linear-gradient(90deg, rgba(31,27,77,0.95) 0%, rgba(31,27,77,0.85) 50%, rgba(31,27,77,0) 100%);
    z-index: 0;
 }
 .hero_banner__inner {
    position: relative;
    z-index: 1;
    --direction: column;
    --align: flex-start;
    --gapx: 15px;
    --gapy: 24px;
    padding: 103px 20px;
    min-height: clamp(550px, 50vw, 702px);
    --justify: center;
 }

.hero_banner__subtitle {
    max-width: 667px;
}
 
 .hero_banner__eyebrow {
    display: inline-block;
    background: rgba(16, 82, 163, 0.7);
    color: var(--clr-white);
    font-size: clamp(14px, calc(14.154px + 0.240vw), 18px);
    font-weight: 500;
    padding: 10px 18px;
    font-family: 'Poppins';
    text-transform: uppercase;
 }
 
 .parent-pageid-584 .hero_banner__headline {
    max-width: 991px;
 }
 
 
 .hero_banner__subtitle
    ul { padding: 0; }
 
 .hero_banner__subtitle
    li:before {
     height: clamp(24px,2.5vw, 36px);
    background: url("./assets/imgs/true-mark.png") no-repeat;
    content: '';
    display: inline-flex;
    align-items: center;
    width: clamp(24px,2.5vw, 36px);
    background-size: contain;
 }
 
 .hero_banner__subtitle
    li {list-style: none;
    display: flex;
    align-items: center;
    column-gap: clamp(12px, 1.5vw,20px);
    margin: 0 0 17px;}

 .hero_banner__subtitle
    p:has(strong:only-child):first-child strong {
    font-size: clamp(22px, 2vw, 34px);
    font-weight: 500; }

 .home .hero_banner__subtitle
    p:has(strong:only-child):first-child strong {
     font-size: clamp(16px, 1.5vw, 20px);
    font-weight: 600;
 }

 .hero_banner__headline {
    margin: 0;
    font-weight: 700;
    font-size: clamp(40px, 5.5vw, 80px);
    line-height: 1.05;
    letter-spacing: 0;
    text-transform: uppercase;
    color: var(--clr-white);
    max-width: 956px;
 }
 .hero_banner__subtitle
    p:has(strong):only-child {
   margin: 0;
    font-weight: 500;
    font-size: clamp(18px, 1.6vw, 28px);
    line-height: 1.4;
    color: var(--clr-white);
    max-width: 720px;
    font-family: 'Poppins';
 }
 .hero_banner__badges {
    --wrap: wrap;
    --gapx: clamp(14px, 2vw, 30px);
    --gapy: clamp(14px, 2vw, 49px);
    --align: center;
    margin: 15px 0;
 }
 .hero_banner__badge {
    --direction: column;
    --align: center;
    --gapx: 12px;
    --gapy: 12px;
 }
 .hero_banner__badge-icon {
    width: clamp(32px, 6vw, 59px);
    height: clamp(32px, 6vw, 59px);
 }
 .hero_banner__badge-icon
    img,
 .hero_banner__badge-icon svg {
   max-width: 100%;
    max-height: 100%;
    width: auto;
    height: auto;
 }
 .hero_banner__badge-text {
    --direction: column;
    font-size: clamp(12px, calc(10.154px + 0.240vw), 14.0px);
    line-height: 1.3;
    color: var(--clr-white);
    max-width: 126px;
    text-align: center;
 }
 .hero_banner__badge-text
    p {margin: 0;
    /* max-width: 100px; */}
 .hero_banner__badge-line {
    display: block; }
 .hero_banner__ctas {
    --wrap: wrap;
    --gapx: 16px;
    --gapy: clamp(12px, 2vw, 20px);
    margin-top: 8px;
 }
 .hero_banner__cta {
    padding: 17.7px 32px;
    min-width: 200px;
    font-size: clamp(14px, 1.75vw, 20px);
 }
 .hero_banner__cta:
    hover {
   background-color: var(--clr-white);
    color: var(--clr-secondary);
    border-color: var(--clr-white);
 }
 .hero_banner__cta--secondary {
    --btn-border-color: var(--clr-secondary);
    --btn-color: var(--clr-secondary);
    min-width: clamp(200px, 22vw, 270px);
 }
    @media (max-width: 767px) {
   .hero_banner {}
   .hero_banner__inner {
    gap: 18px; }
   .hero_banner__badges {
    gap: 20px; }
   .hero_banner__cta {
    padding: 14px 24px;
    font-size: 14px; }
 }
 
 
 
 .swiper-arrow--prev {
    transform: rotate(180deg);}
 
 /* === Section: services_section ======================================= */
 .services_section {
    background: var(--clr-white);
    padding: clamp(60px, 9vw,125px) 0 clamp(60px, 9vw,129px);
 }
 .services_section__inner {
    display: flex;
    flex-direction: column;
    gap: clamp(32px, 2.75vw,50px);
    max-width: 1660px;}
 .services_section__header {
    text-align: center;
    display: flex;
    flex-direction: column;
    gap: 10px;
    align-items: center;}
 
 .services_section__inner:has(.services_section__grid) {
    max-width: 1440px; }
 
 .services_section__title {
    margin: 0;
    text-transform: uppercase;
    color: var(--clr-black);
 }
 
 .services_section__content {
    margin: 0 auto;
    color: var(--clr-text);
 }
 
 /* Slider-wrap is the positioning context for L/R arrows.
    min-width: 0 + max-width: 100% prevents the flex parent from growing
    to the swiper's intrinsic content size when slides overflow. */
 .services_section__slider-wrap {
    position: relative;
    width: 100%;
    max-width: 100%;
    min-width: 0;
 }
 .services_section__slider {
    width: 100%;
    max-width: 100%;
    min-width: 0;
    overflow: hidden;
 }
 .services_section__grid {
    --gapx: 27px;
    --gapy: 24px;
    --justify: center;}
 
 .services_section__card {
    position: relative;
    overflow: hidden;
 }
 
 .services_section__cta-wrap {
    --justify: center;
    margin-top: -18px; }
 
 .services_section .has-bottom_decore:
    after {position: ABSOLUTE;
    bottom: 0;
    left: 0;
    background: url('./assets/imgs/service-card-decore.svg'), linear-gradient(0deg, #fff 30%, transparent -440%);
    aspect-ratio: 464/57;
    background-position: bottom center, top center;
    background-size: 100%;}
 .services_section
    a { text-decoration: none;}
 
 .services_section__card-media {
    width: 100%;
    height: clamp(400px,46vw,540px);
 }
 .services_section__card-media
    img {
   width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    transition: transform 0.5s ease;
    min-height: clamp(440px,30vw, 540px);
 }
 .services_section__card:
    hover .services_section__card-media img { transform: scale(1.04); }
 .services_section__card-footer {
    padding: 60px 28px;
    --justify: flex-end;
    --gapx: clamp(26px, 4vw, 40px);
    --direction: column;
    position: absolute;
    bottom: 0;
    width: 100%;
    left: 0;
    background: linear-gradient(0deg, #1B1656, transparent);
    height: 68%;
    z-index: 1;
    color: var(--clr-white);
    box-sizing: border-box;
    transition: .5s ease;
 }
 
 .services_section__card:
    hover 
 .services_section__card-hover {margin: 0;
    max-width: 320px;
    height: auto;}
 
 .services_section__card:
    hover { color: #fff; }
 
 .services_section__card:
    hover .services_section__goto { transform: inherit; }
 
 .services_section__card:
    hover .services_section__card-link {
 --justify: center; }
 
 .services_section__card:
    hover .services_section__goto {display: block;
    max-height: inherit;
    margin: 0;
    background-size: contain;}
 
 .services_section__card:
    hover .services_section__card-footer {
  background: rgba(27, 22, 86, .8);
    height: 100%;
    color: #fff;
  }
 
 
 .services_section__card-icn {
    height: clamp(32px, 5vw, 60px);
    width: clamp(32px, 5vw, 60px);
 }
 
 
 .services_section__card-link {
    --justify: flex-end;
    --direction: column;
    --gapx: 20px;
    --gapy: 12px;
    text-decoration: none;
    color: inherit;
    transition: color 0.3s ease;
    height: 100%;
    transition: .5s ease;
    --wrap: nowrap;
 }
 
 .services_section__card-hover {
    height: 0;
    overflow: hidden;}
 
 .services_section__goto {
    transform: translate(300%, 300%);
    transition: .5s ease;
    background: url('./assets/imgs/goto-button.png');
    height: clamp(32px, 6vw, 70px);
    width: clamp(32px, 6vw, 70px);
    max-height: 0;
    margin-bottom: -20px;
    background-size: contain;
    background-repeat: no-repeat;
 }
 
 .services_section__card-link:
    hover {color: var(--clr-white);}
 .services_section__card-title {
    margin: 10px 0 6px;
    color: inherit;
    font-family: 'Poppins';
 }
 .services_section__card-bullet {
    flex: 0 0 auto;
    display: inline-block;
    width: 22px;
    height: 22px;
    border-radius: 50%;
    background: var(--clr-secondary);
    position: relative;
 }
 .services_section__card-bullet::
    before {
   content: "";
    position: absolute;
    inset: 0;
    margin: auto;
    width: 10px;
    height: 10px;
    background: var(--clr-white);
    clip-path: polygon(
     50% 0%, 61% 35%, 98% 35%, 68% 57%, 79% 91%, 50% 70%, 21% 91%, 32% 57%, 2% 35%, 39% 35%
   );
 }
 .services_section__card-band {
    position: absolute;
    bottom: 18px;                /* sits flush above the chevron tab */
    left: 0;
    right: 0;
    height: 6px;
    background: var(--clr-secondary);
 }
 
 
 
 .services_section__card-chevron {
    position: absolute;
    left: 50%;
    bottom: 0;
    width: 0;
    height: 0;
    transform: translate(-50%, 18px);
    border-left: 16px solid transparent;
    border-right: 16px solid transparent;
    border-top: 18px solid var(--clr-secondary);
    pointer-events: none;
 }
 /* Slider nav arrows absolute-positioned outside the slider on the L/R sides
    at >=768px, centered below on mobile. */
 .swiper-arrow {
    width: clamp(28px, 2.5vw, 40px);
    height: clamp(28px, 2.5vw, 40px);
    border-radius: 50%;
    border: none;
    background: url('./assets/imgs/content-frame-icon-2.svg') no-repeat center;
    font-size: 0;
    cursor: pointer;
    transition: all 0.3s ease;
    z-index: 5;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background-size: contain;
 }
 .swiper-arrow:
    hover {
   opacity: .7;
 }
 .swiper-arrow.is-disabled {
    pointer-events: none;
    cursor: not-allowed;
    opacity: 0;
 }
 
 
 .services_section__grid .services_section__card {
    max-width: calc( (100% - 48px) / 3);}
    @media (max-width: 1280px) {
 
 .services_section__grid .services_section__card {max-width: calc( (100% - 24px) / 2);}
 
 }
    @media (max-width: 767px) {
   .services_section { padding: 60px 0; }
   .services_section__inner {
    gap: 32px; }
   .services_section__slider-wrap {
    padding: 0; }
   .services_section__nav-btn {
    margin: 14px 8px 0;}
   .services_section__grid {
    grid-template-columns: 1fr; }
   .services_section__nav-btn--prev,
   .services_section__nav-btn--next {
    display: inline-flex;
   }
   .services_section__slider-wrap {
    text-align: center;
   }

 .services_section__card-link {
    --align: center;}
 .services_section__slider {
    margin: 0 0 20px; }
 .services_section__grid .services_section__card {
    max-width: 100%; }
 
  
 }
    @media (min-width: 768px) {
   .services_section__slider-wrap {padding: 0 clamp(54px,4.5vw,82px);}
   .swiper-arrow {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
   }

  .swiper-arrow--prev {
    transform: translateY(-50%) rotate(180deg);
    left: 0;}
 
  .testimonials__nav-btn {
    position: relative;
    transform: inherit;}
 
 
 .testimonials__nav {
    padding-bottom: 1.75%;}
   .swiper-arrow--next {
    right: 0; }
 }
 
 .testimonials__nav-btn--prev {
    transform: rotate(180deg); }
 
 /* === Section: residential_roofing_section (marquee) ================== */
 .residential_roofing_section {
    width: 100%;
    background-color: var(--rrs-bg, var(--clr-secondary));
    padding: 18px 0;
    overflow: hidden;
 }
 .residential_roofing_section__track {
    --wrap: nowrap;
    width: max-content;
    animation: residential_roofing_marquee 30s linear infinite;
    will-change: transform;
 }
 .residential_roofing_section__list {
    list-style: none;
    margin: 0;
    padding: 0;
    --align: center;
    --gapx: 60px;
    --gapy: 60px;
    padding-right: 60px;
    flex-shrink: 0;
 }
 .residential_roofing_section__item {
    line-height: 1;
    letter-spacing: 0.02em;
    text-transform: uppercase;
    color: var(--clr-white);
    white-space: nowrap;
    --align: center;
 }
 .residential_roofing_section__item::
    after {
   content: "";
    display: inline-block;
    width: 18px;
    height: 18px;
    margin-left: 60px;
    border: 2px solid var(--clr-white);
    border-radius: 50%;
    vertical-align: middle;
 }
    @keyframes residential_roofing_marquee {
   from { transform: translateX(0); }
   to   {
    transform: translateX(-50%); }
 }
    @media (prefers-reduced-motion: reduce) {
   .residential_roofing_section__track { animation: none; }
 }
 
 /* === Section: bottom_section ========================================= */
 .bottom_section {
    background: var(--bs-bg, var(--clr-white));
    color: #000;
 }
 .bottom_section__grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    align-items: stretch;
    min-height: 460px;
    overflow: hidden;
    gap: clamp(32px, 4vw, 61px) clamp(32px, 3vw, 48.5px);
 }
 
 .bottom_section__media .bottom_section__grid {}
 
 .bottom_section:has(.wrapper) .bottom_section__content {
    background: transparent;
    padding: 0;
 }
 
 .bottom_section:has(.wrapper):
    after {
     width: 0;
 }
 
 .bottom_section:has(.wrapper) {
    padding: clamp(64px, 8vw,150px) 0;
 }

 .bottom_section:has(.wrapper) + .bottom_section:has(.wrapper) {
    padding-top: 0; }
 
 
 .bottom_section:has(.wrapper) .bottom_section--image-right .bottom_section__media {
    padding-left: 20px; }
 .bottom_section:has(.wrapper) .bottom_section--image-left .bottom_section__media {
    padding-right: 20px; }
 
 .has-bottom_decore--abs {
    position: relative; }
 .has-bottom_decore--abs:
    after {position: absolute;
    bottom: 0;
    left: 0;
    z-index: 5;}
 
 .bottom_section__media
    img { max-width: 100%; }
 .bottom_section--image-right .bottom_section__media {
    order: 2;}
 .bottom_section--image-right .bottom_section--image-right .bottom_section__content {
    order: 1;
    margin-right: auto;
    margin-left: 0; }
 .bottom_section__content-inner { }
 .bottom_section__media {
    width: 100%;
    min-height: 380px;
    overflow: hidden;
 }
 .bottom_section__media
    img {
   width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    display: block;
 }
 
 .bottom_section--image-right .bottom_section__content-inner {
    margin-right: auto;
    margin-left: 0;
 }
    /* --- Variant: no-image (auto-detected when image field is empty) ---------- */
 /* Stacked text block. Container width matches site-wide .wrapper. */
 .bottom_section--no-image {
    margin-block: clamp(36px, 5vw, 50px);
    padding: clamp(36px, 5vw, 50px);
 }
 .bottom_section--no-image .bottom_section__grid {
    grid-template-columns: 1fr;
    min-height: auto;
    max-width: var(--container-width);
    margin-inline: auto;
    padding-inline: 20px;
 }
 .bottom_section--no-image .bottom_section__content {
    background: transparent;
    color: var(--clr-black);
    padding: 0;
    text-align: left;
 }
    body .bottom_section--no-image .bottom_section__content-inner {
   --align: flex-start;
    max-width: 100%;
 }
 .bottom_section--no-image .bottom_section__title {
    color: var(--clr-black); }
 .bottom_section--no-image .bottom_section__subtitle {
    color: var(--clr-text); }
 .bottom_section--no-image .bottom_section__body {
    color: var(--clr-text);
    margin: 0 0 clamp(10px, 2.25vw, 40px);}
 .bottom_section--dark .bottom_section__body:
    last-child {
     margin-bottom: 0; }
    body .pricing_faq--navy-items {
     background: #F7F7F7;
    margin: 0 auto;
 }
 
 .bottom_section--no-image + .bottom_section--no-image .bottom_section__content {
    padding-top: clamp(36px, 5vw, 50px);
    border-top: 1px solid #D7D7D7;
 }
 
 
 .bottom_section--no-image + .bottom_section--no-image.bottom_section--dark .bottom_section__content {
    padding-top: 0;
    border-top: 0; }
 
 /* When two no-image blocks stack, halve the gap between them. */
 .bottom_section--no-image + .bottom_section--no-image {
    padding-bottom: 0;
    padding-top: 0;}
    /* --- Variant: dark (inset navy card on white section bg) ------------------ */
 /* Section bg stays white with vertical breathing space. content-inner is the
    navy card. The OUTER grid uses the site-wide container width. */
 .bottom_section--dark {
    background: #1B1656;
 }
 .bottom_section--dark .bottom_section__content {
    background: transparent;
    color: var(--clr-white);
    padding: 0;
    text-align: left; }
 .bottom_section--dark .bottom_section__content-inner {
    background: var(--clr-dark, #1B1656);
    color: var(--clr-white);
    padding: clamp(36px, 8vw, 104px) clamp(36px, 5vw, 94px) clamp(54px, 8vw, 182px);
    --align: flex-start;
    width: 100%;
    max-width: 100%;
    box-sizing: border-box;
    flex: 1 1 auto;
    min-width: 0;
 }
 .bottom_section--dark .bottom_section__title,
 .bottom_section--dark .bottom_section__subtitle {
    color: var(--clr-white); }
 .bottom_section--dark .bottom_section__body {
    color: rgba(255, 255, 255, 0.88); }
    /* --- Variant: media-only (image banner no content side rendered) -------- */
 /* Banner spans the wrapper width. Minimal vertical padding so it feels inline. */
 .bottom_section--media-only {
    margin-block: clamp(24px, 6vw, 100px) clamp(36px, 5vw, 50px);}
  
 
 .bottom_section--media-only .bottom_section__grid {
    grid-template-columns: 1fr;
    min-height: auto;
    gap: 0;
    max-width: var(--container-width);
    margin-inline: auto;
    padding-inline: 20px;
 }
 .bottom_section--media-only .bottom_section__media {
    width: 100%;
    min-height: 0;
    max-height: 641px; }
 .bottom_section--media-only .bottom_section__media
    img { width: 100%;
    height: auto;
    max-height: 641px;
    object-fit: cover; }
 
 .bottom_section__content {
    background: var(--clr-dark);
    color: var(--sec-color, #000);
    --align: center;
    padding: clamp(60px, 8vw, 83px) clamp(24px, 6vw, 100px) clamp(60px, 11vw, 196px);
    --align: center;
 }
 .bottom_section__content-inner {
    --direction: column;
    --gapx: 10px;
    --gapy: 10px;
    max-width: 620px;
 }
 .bottom_section__subtitle {
    text-transform: uppercase;
 }
 
 .bottom_section__grid.nowrapper {
    column-gap: 0;
    row-gap: 0;
 }

 .bottom_section__grid.nowrapper 
 .bottom_section__content {
    color: var(--sec-color, #fff);}
 
 .bottom_section__title {
    margin: 0 0 clamp(10px, 1.25vw, 20px);
    line-height: 1.1;
    text-transform: uppercase;
 }
 
 .bottom_section__body {
    margin: 0 0 clamp(10px, 1.25vw, 20px);
 }
 
 .bottom_section__body, .bottom_section__body
    a {
   font-family: var(--ff-primary);
 }
 
 .bottom_section__body
    h2 { font-size: clamp(33px, calc(-39.444px + 6.944vw), 70px);
    text-transform: uppercase;
    margin: 20px 0; } 
 
 .bottom_section__body
    strong:first-child { color: #E0A117}
 
 .bottom_section__body
    a {color:  #E0A117; }
 
 .bottom_section__body
    a:hover {  opacity: .8; } 
 
 .bottom_section__body
    p { margin: 0 0 1em; }
 .bottom_section__body
    p:last-child { margin-bottom: 0; }
 .bottom_section__cta {
    align-self: flex-start;
    --btn-hover-border-color: var(--clr-secondary);
 }
    @media (max-width: 991px) {
  .bottom_section--image-right .bottom_section__media { padding: 0; }
   .bottom_section__grid {
    grid-template-columns: 1fr; }
  .bottom_section__content-inner {
    max-width: 100%; }
   .bottom_section--image-right .bottom_section__media,
   .bottom_section--image-right .bottom_section__content {
    order: initial;}
   .bottom_section__media {
    min-height: 280px; }
    
 }
    @media (min-width: 2000px) {
  .bottom_section--image-left .bottom_section__content-inner, .bottom_section--image-right .bottom_section__content-inner {
   max-width: 690px;
    margin: 0 auto;
   }
 }
 /* === Section: our_services_area ====================================== */
 .our_services_area {
    color: var(--clr-white);
    padding: clamp(54px, 7vw, 139px) 0 clamp(54px, 8vw, 151px);
    overflow: hidden;
    background: #F7F7F7;
 }
 .our_services_area__inner {
    display: grid;
    grid-template-columns: 1fr 1.43fr;
    gap: clamp(40px,4.5vw, 82px);
    align-items: start;
    background: var(--clr-dark);
    padding: clamp(54px, 4vw, 64px) clamp(24px, 5vw, 80px) clamp(54px, 5vw, 72px) clamp(24px, 5vw, 73px);
    position: relative;
 }
 .our_services_area__title {
    margin: 0 0 clamp(32px, 7vw, 47px) 0;
    font-weight: 700;
    font-size: clamp(40px, 5vw, 80px);
    line-height: 1;
    text-transform: uppercase;
    color: var(--clr-white);
 }
 
 .our_services_area__title:
    before {
     content: '';
    position: absolute;
    background: #E0A117;
    height: clamp(40px, 6vw,80px);
    width: 5px;
    display: block;
    top: clamp(54px, 4vw, 69px);
    left: 0;
 }
 
 
 .our_services_area__body {
    font-size: clamp(14px, calc(12.154px + 0.240vw), 16.0px);
    line-height: 1.7;
    color: rgba(255,255,255,0.85);
    margin-bottom: clamp(42px, 6vw, 98px);
 }

 .our_services_area__body
    a { color: #fff; }
 .our_services_area__body
    a:hover { color: var(--clr-secondary); }

 .our_services_area__body
    p {margin: 0 0 1em;
    max-width: 394px;}
 .our_services_area__body
    p:last-child { margin-bottom: 0; }
 .our_services_area__cta-card {
    border: 1px solid rgba(255,255,255,0.18);
    padding: 28px clamp(24px, 3vw, 45px) clamp(24px, 3vw, 51px);
    --direction: column;
    --align: flex-start;
    --gapx: clamp(22px, 2vw, 34px);
    --gapy: 14px;
    max-width: min(498px, 100%);
    background: #D9D9D912;
 }
 .our_services_area__cta-label {
    margin: 0;
    font-size: clamp(20px, calc(16.231px + 1.361vw), 32px);
    font-weight: 700;
    line-height: 1.3;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    color: var(--clr-white);
    font-family: var(--ff-secondary);
 }
 .our_services_area__cta-btn {
    background-color: var(--clr-secondary);
    color: var(--clr-white);
    border: 2px solid var(--clr-secondary);
    padding: 15px 19px;
    transition: all 0.3s ease;
 }
 .our_services_area__cta-btn:
    hover {
   background-color: transparent;
    color: var(--clr-secondary);
 }
 .our_services_area__right {
    display: flex;
    flex-direction: column;}
 .our_services_area__map {
    width: 100%;
    max-height: 317.5px;
 }
 .our_services_area__map
    iframe {display: block;
    width: 100%;
    border-radius: 0;}
 .our_services_area__cities {
    list-style: none;
    margin: 0;
    padding: clamp(22px, 2vw, 43.5px) clamp(7px, 2vw, 44px) clamp(22px, 2vw, 46px);
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: clamp(10px, 1.5vw,20px) clamp(12px, 1.75vw,24px);
    background: #fff;
    color: #121212;
 }
 .our_services_area__city {
    --align: center;
    --gapx: 8px;
    --gapy: 8px;
    font-size: clamp(14px, calc(12.154px + 0.240vw), 16.0px);
    font-weight: 500;
    color: #121212;
    cursor: pointer;
    transition: color 0.2s ease;
    --wrap: nowrap;
 }
 
 .our_services_area__city {
    pointer-events: none; }
 .our_services_area__city-name {
    max-width: calc(100% - 36px);
 }
 .our_services_area__city:
    hover {color: var(--clr-secondary);}
 
 .our_services_area__city-marker {
    background: url('./assets/imgs/location_on.svg') no-repeat;
    background-size: contain;
    height: 24px;
    width: 24px;}
 .our_services_area__city.is-active .our_services_area__city-marker {
    transform: translateX(2px) scale(1.15);
 }
    @media (max-width: 991px) {
   .our_services_area { padding: 72px 0; }
   .our_services_area__inner {
    grid-template-columns: 1fr;
    gap: 36px; }
 }
    @media (max-width: 575px) {
   .our_services_area__cities { grid-template-columns: repeat(2, 1fr); }
 }
    /* --- Variant: cities-grid (white bg, title + cities left, map right) ------- */
 .our_services_area--cities-grid {
    background: var(--clr-white);
    color: var(--clr-black); }
 .our_services_area--cities-grid .our_services_area__inner {
    background: var(--clr-white);
    color: var(--clr-black);
    padding: 0;
    grid-template-columns: 1.2fr 1fr;
    gap: clamp(24px, 3vw, 30px);
    align-items: stretch;
 }
 .our_services_area--cities-grid .our_services_area__title {
    color: #1B1656;
    margin: 0 0 clamp(28px, 4vw, 48px);
 }
 .our_services_area--cities-grid .our_services_area__title:
    before { display: none; }
 .our_services_area--cities-grid .our_services_area__cities {
    padding: 0;
    background: transparent;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: clamp(12px,1.5vw, 16px) clamp(12px,2vw, 32px);
 }
 .our_services_area--cities-grid .our_services_area__city {
    color: var(--clr-dark, #1B1656);
    font-weight: 500;
    font-size: clamp(14px, calc(12.231px + 0.361vw), 18px);
    padding: 14px 10px 13px;
    border-bottom: 1px solid rgba(27, 22, 86, 0.10);
    --gapy: 12px;
 }
 .our_services_area--cities-grid .our_services_area__city-marker {
    width: 16px;
    height: 22px;
    background-image: url('./assets/imgs/city-pin.png');
    min-width: 16px;
 }
 .our_services_area--cities-grid .our_services_area__right {
    gap: 0; }
 .our_services_area--cities-grid .our_services_area__map {
    width: 100%;
    max-height: none;
    height: 100%;
 }
 .our_services_area--cities-grid .our_services_area__map
    img,
 .our_services_area--cities-grid .our_services_area__map-image {
   width: 100%;
    height: 100%;
    display: block;
    object-fit: cover;
 }
    @media (max-width: 991px) {
   .our_services_area--cities-grid .our_services_area__inner { grid-template-columns: 1fr; }
 }
    @media (max-width: 575px) {
   .our_services_area--cities-grid .our_services_area__cities { grid-template-columns: repeat(2, 1fr); }
 }
 
 /* === Section: memberships_logos_container ============================ */
 
 .memberships_logos_container {
    background: var(--mlc-bg, var(--clr-white));
    padding: clamp(54px, 7vw,112px) 0 clamp(54px, 7vw,120px);
    border-bottom: 1px solid transparent;
    margin-bottom: -1px;
    position: relative;
    z-index: 1;
 }
 
 
 .recent_articles_videos:has(+ .memberships_logos_container) {
    padding-bottom: clamp(114px, 13vw, 250px);
 }
 
 .recent_articles_videos + .memberships_logos_container {
    padding-top: 0;
    background: #d09a31;}
 
 .memberships_logos_container:has(+ .our_process) {
    padding-bottom: 0;}
 
 .recent_articles_videos + .memberships_logos_container .wrapper.memberships_logos_container__inner {
    transform: translateY(-50%);
    margin-bottom: -50%;
     }
 
 
 .memberships_logos_container__title {
    text-align: center;
    margin: 0 0 clamp(54px,4vw,60px);
    text-transform: uppercase;
 }
 
 .memberships_logos_container__title + .memberships_logos_container__list {
    background: transparent;
 }
 
 .why_customers_choose:has(+ .testimonials) {
    padding-bottom: 0;
 }
 
 .memberships_logos_container__list {
    list-style: none;
    margin: 0;
    padding: 0;
    --wrap: wrap;
    --align: center;
    --justify: space-around;
    --gapx: 6px;
    --gapy: clamp(8px, 3vw, 46px);
    background: #fff;
    padding: 0 10px;
 }
 .memberships_logos_container__item {
    --align: center;
    --justify: center;
    max-width: 17%;
 }
 .memberships_logos_container__item
    img {
   width: auto;
    height: auto;
    object-fit: contain;
    transition: opacity 0.3s ease;
    max-height: 154px;
 }
 .memberships_logos_container__link {
    display: inline-flex;
    transition: opacity 0.3s ease; }
 .memberships_logos_container__link:
    hover { opacity: 0.75; }
    @media (max-width: 767px) {
   .memberships_logos_container__list { padding: 10px}
 .memberships_logos_container__item {
    max-width: 25%}
   .memberships_logos_container {
    padding: 28px 0; }
  
 }
 
 /* === Section: testimonials =========================================== */

 .bottom_section:has(.wrapper) + .testimonials {
    padding-top: clamp(32px, 9vw,140px);
 }

 .bottom_section:has(.wrapper) + .textimonials {
    padding-top: clamp(32px, 9vw,140px);
 }
 
 .bottom_section:has(.wrapper) + .testimonials .testimonials__header:
    before {
     content: '';
    width: 100%;
    position: absolute;
    height: 1px;
    background: #0000001A;
    top: 0;
    left: 50%;
    transform: translateX(-50%);
    top: calc(clamp(32px, 9vw,140px) * -1);
 }

 

 .testimonials {
    position: relative;
    background: var(--clr-white);
    padding: clamp(32px, 7vw,97px) 0 clamp(32px, 9vw,144px);
    --icn-size: clamp(32px, 6vw,60px);
 }
 .testimonials__inner {
    --direction: column;
    --gapx: clamp(32px, 3vw, 54px);
 }
 /* Source container also the slider mount point after JS swap.
    min-width:0 prevents the swiper-wrapper's intrinsic slide widths from
    stretching the parent flex item. */
 .testimonials__reviews {
    width: 100%;
    max-width: 100%;
    min-width: 0;
    overflow: hidden;
 }
 /* While the plugin renders its native list, keep it invisible until JS
    rebuilds the slider prevents the unstyled list from flashing. */
 .testimonials__reviews .wp-gr {
    visibility: hidden; }
 .testimonials__reviews .testimonials__slider {
    visibility: visible; }
 .testimonials__header {
    --align: flex-end;
    --justify: space-between;
    --gapx: 24px;
    --gapy: 24px;
    --wrap: wrap;
    position: relative;
 }
 .testimonials__title-block {
    display: flex;
    flex-direction: column;
    gap: 10px; }
 .testimonials__subtitle {
    font-size: clamp(15px, calc(12.231px + 0.361vw), 18.0px);
    font-weight: 600;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: var(--clr-primary);
 }
 .testimonials__title {
    margin: 0;
    text-transform: uppercase;
 }
 .testimonials__nav {
    display: flex;
    gap: 12px; }
 .testimonials__nav-btn {
 }
 .testimonials__nav-btn:
    hover { color: var(--clr-primary);
    border-color: var(--clr-primary); }
 .testimonials__nav-btn.is-disabled {
    opacity: 0.35;
    pointer-events: none;
    cursor: not-allowed;
 }
 /* Slider gets top padding so the quote-badge that protrudes above each card
    is not clipped by the swiper's overflow:hidden. */
 .testimonials__slider {
    width: 100%;
    overflow: hidden;
    padding-top: calc(var(--icn-size)/2);
 }
 .testimonials__card {
    position: relative;
    background: var(--clr-light);
    padding: 71px 0 clamp(32px, 2.5vw, 44px) clamp(32px, 3.5vw, 77px);
    display: flex;
    flex-direction: column;
    gap: 18px;
    height: auto;
    box-sizing: border-box;
    border: #DDD 1px solid;
 }
 /* Make swiper slides equal height (tallest card sets height; shorter cards
    stretch and push the author/divider to the bottom). */
 
 .testimonials__stars .rpi-stars {
    --star-color: #E0A117;
 }
 
 .testimonials__quote-badge {
    position: absolute;
    top: calc(var(--icn-size)/-2);
    right: clamp(32px, 4vw,53px);
    width: var(--icn-size);
    height: var(--icn-size);
    background: url( './assets/imgs/quote-icon.png') no-repeat;
    background-size: contain;
    font-size: 0;
 }
 .testimonials__quote {
    margin: 0 0 clamp(32px, 2.5vw, 44px);
    line-height: calc(30/18);
    color: #686868;
    -webkit-line-clamp: 7;       /* number of lines */
    -webkit-box-orient: vertical;
    overflow: hidden;
    display: -webkit-box;
    padding-right: clamp(32px, 3vw, 53px);
 }
 .testimonials__divider {
    border: 0;
    border-top: 1px solid var(--clr-border);
    margin: auto 0 0;          /* pushes itself + author to the card bottom */
 }
 .testimonials__author {
    margin: auto 0 0;
    font-weight: 700;
    color: #393939;
    padding-top: clamp(32px, 2.5vw, 40px);
    border-top: 1px solid #ddd;
 }
    @media (max-width: 767px) {

 .testimonials__header { position: inherit; }
 .testimonials {
    padding: 60px 0 110px;}
 .testimonials__inner {
    gap: 28px; }
 .testimonials__card {
    padding: 28px 24px 24px; }
 .testimonials__nav {
    position: absolute;
    bottom: 40px;
    left: 50%;
    transform: translate(-50%); }
 
 
 }
 
 /* === Section: contact_us ============================================= */
 .contact_us {
    background-color: var(--clr-dark);
    color: var(--clr-white);
    padding: 110px 0;
    position: relative;
 }
 
 .contact_us:
    before {content: '';
    position: absolute;
    display: block;
    height: 100%;
    width: 100%;
    top: 0;
    background: var(--clr-dark);
    opacity: .92;
    z-index: 0;}
 
 .contact_us__inner {
    --direction: column;
    --gapx: clamp(40px, 4vw, 70px);
    --gapy: 36px;
    z-index: 2;
    position: relative;
 }
 .contact_us__header {
    text-align: center;
    display: flex;
    flex-direction: column;
    gap: 6px;
    align-items: center;}
 .contact_us__subtitle {
    font-size: clamp(14px, calc(12.154px + 0.240vw), 16.0px);
    font-weight: 600;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: var(--clr-secondary);
 }
 .contact_us__title {
    margin: 0;
    font-weight: 700;
    font-size: clamp(36px, 4.5vw, 70px);
    line-height: 1.05;
    text-transform: uppercase;
    color: var(--clr-white);
 }
 .contact_us__card {
    max-width: 1300px;
    width: 100%;
    margin: 0 auto;
    background: linear-gradient(180deg, rgba(255, 255, 255, 0.1) 1.47%, rgba(255, 255, 255, 0) 100%);
    padding: clamp(28px, 4vw, 70px) clamp(28px, 8vw, 123px);
 }
 .contact_us__card-heading {
    margin: 0 0 clamp(28px, 3.5vw,47px) 0;
    text-align: center;
    font-weight: 700;
    font-size: clamp(24px, 2.6vw, 40px);
    line-height: calc(70/40);
    text-transform: uppercase;
    color: var(--clr-white);
 }
 .contact_us__form-fallback {
    margin: 0;
    text-align: center;
    font-size: clamp(12px, calc(10.154px + 0.240vw), 14.0px);
    color: rgba(255,255,255,0.7);
    font-style: italic;
 }
 
 
 .gform_wrapper {
    --gf-form-gap-x: 20px !important;
    --gf-form-gap-y: 20px !important; }
 
 :
    focus-within {
     outline: none !important;
 }
    body .gform_wrapper .gfield_label { display: none; }
    body .gform_wrapper input[type="text"],
 body .gform_wrapper input[type="email"],
 body .gform_wrapper input[type="tel"],
 body .gform_wrapper input[type="url"],
 body .gform_wrapper input[type="number"],
 body .gform_wrapper select,
 body .gform_wrapper textarea {
   width: 100%;
    padding: clamp(18px, 1.25vw, 26px) clamp(18px, 1.25vw, 28px);
    border: 0;
    border-radius: 0;
    color: #262422;
    box-sizing: border-box;
    line-height: 1 !important;
    font-size: clamp(12px, 1.75vw, 18px);
    height: clamp(42px, 3.75vw, 70px);
    min-block-size: inherit !important;
    display: inline-flex;
    align-items: center;
 }
    body .gform_wrapper input:focus,
 body .gform_wrapper select:focus,
 body .gform_wrapper textarea:focus {outline-width: 0 !important;!i;!;}
    body .gform_wrapper select {
   appearance: none;
    -webkit-appearance: none;
    -moz-appearance: none;
    padding-right: 48px;
    background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 8' width='12' height='8'><path d='M1 1l5 5 5-5' fill='none' stroke='%231B1656' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/></svg>");
    background-repeat: no-repeat;
    background-position: right 20px center;
    background-size: 12px 8px;
    cursor: pointer;
    line-height: 1;
    padding-top: 0;
    padding-bottom: 0;
 }
    body .gform-theme--foundation .gfield textarea.large, body .gform-theme--foundation .gfield textarea {
   height: 120px !important;
    resize: none;
    min-block-size: inherit;
    max-height: inherit;
 }
    body .gform_wrapper .gform_footer {
   margin-top: clamp(30px, 4vw, 70px);
    display: block;
 }
 
 /* Gravity Forms submit button adopt the .c-button--cta contract via vars.
    Gravity Forms doesn't accept extra classes on its <input type="submit">,
    so we scope the c-button vars to .gform_button here and let the base
    .c-button declarations cascade through. */
    body .gform_wrapper .gform_footer { text-align: center; }
 .gform_wrapper .gform_button {
   /* Reset GF's inline-styled defaults that win specificity.
      Auto width padding-driven sizing per Figma. */
    font-family: 'Poppins' !important;
    text-transform: uppercase !important;
    background: #E0A117 !important;
    border-radius: 0 !important;
    font-size: clamp(14px, 2vw, 20px) !important;
    padding: 19px 14px !important;
    min-width: clamp(180px, 13vw, 221px) !important;
    outline-width: 0 !important;
    align-items: center;
 }
    body .gform_wrapper .gform_button:hover,
 .contact_us .gform_wrapper .gform_button:focus-visible {
   background: var(--clr-white) !important;
    color: var(--clr-secondary) !important;
 }
    @media (max-width: 767px) {
   .contact_us { padding: 64px 0; }
 }
 
 /* === Section: why_customers_choose =================================== */
 .why_customers_choose {
    background: var(--clr-light, #F7F7F7);
    color: var(--clr-text, #4A4A51);
    padding: clamp(64px, 7vw,126px) 0;
 }

 .why_customers_choose--callout-left {
    padding: clamp(64px, 7vw,117px) 0 0; }
 
 .why_customers_choose--callout-left .why_customers_choose__inner {
    padding-bottom: 57px;}

 .why_customers_choose__inner {
    display: grid;
    grid-template-columns: 47.5% auto;
    gap: 35px;
    align-items: start;
 }
 .why_customers_choose__left {
    --direction: column;
    --gapx: 16px;
    --gapy: 16px;
 }
 .why_customers_choose__subtitle {
    margin: 0;
    text-transform: uppercase;
    color: #1052A3;
 }
 .why_customers_choose__title {
    margin: 0 0 clamp(4px, 2vw, 16px) 0;
    text-transform: uppercase;
    color: var(--clr-black);
    max-width: 700px;
 }
 .why_customers_choose__mascot {
    width: 100%;
 }
 .why_customers_choose__mascot
    img {
   display: block;
    width: 100%;
    height: auto;
    object-fit: contain;
    max-width: 282px;
 }
 .why_customers_choose__right {
    --direction: column;
    --gapx: 10px;
    --gapy: 10px;
    padding-bottom: 48px;
 }
 .why_customers_choose__feature {
    --align: flex-start;
    --gapx: 20px;
    --gapy: 20px;
    background: var(--clr-white);
    border: 1px solid var(--clr-border);
    box-shadow: 0 2px 8px rgba(0,0,0,0.04);
    padding: 23px 25px;
    --icn-size: clamp(42px, 7vw,76px);
 }
 .why_customers_choose__feature-icon {
    width: var(--icn-size);
    height: var(--icn-size);
    border-radius: 50%;
    background: var(
   --clr-secondary);
    --align: center;
    --justify: center;
 }
 .why_customers_choose__feature-icon
    img {
   object-fit: contain;
 }
 .why_customers_choose__feature-body {
    max-width: calc(100% - var(--icn-size) - var(--gapy));
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    column-gap: 16px;
    row-gap: 4px;
 }
 .why_customers_choose__feature-title {
    margin: 0;
    font-family: 'Poppins';
 }
 
 .why_customers_choose__feature-desc {
    margin: 0;
 }
 
 
 .why_customers_choose:has( + .recent_articles_videos) {
    padding-bottom: 0;}
    @media (max-width: 991px) {
 
   .why_customers_choose:has( + .recent_articles_videos) {padding: 64px 0;}
   .why_customers_choose__right {
    padding-bottom: 0; }
   
   .why_customers_choose__inner {
    grid-template-columns: 1fr;
    gap: 36px; }
   .why_customers_choose__mascot img {
    max-height: clamp(280px, 40vw, 340px);}
 }
    @media (max-width: 575px) {
   
   .why_customers_choose__feature {padding: 18px;
    gap: 14px;
    --direction: column;}
   .why_customers_choose__feature-icon {}
   .why_customers_choose__feature-title {
    font-size: 17px; }
 }
 
 /* === Section: recent_articles_videos ================================= */
 .recent_articles_videos {
    position: relative;
    color: var(--clr-white);
    padding: clamp(64px, 8vw, 135px) 0 clamp(114px, 12vw, 146px);
    --icn-size: clamp(44px,6vw, 90px);}
 
 
 
 .recent_articles_videos__inner {
    --direction: column;
    --align: center;
    z-index: 2;
    position: relative;
 }
 
 
 .recent_articles_videos:
    before {
     content: '';
    background: #1B1656;
    height: 100%;
    width: 100%;
    left: 0;
    top: 0;
    z-index: 0;
    display: block;
    position: absolute;
    opacity: .9;
 }
 
 
 
 .recent_articles_videos__subtitle {
    margin: 0 0 2px;
    text-transform: uppercase;
    color: var(--clr-secondary);
 }
 .recent_articles_videos__title {
    margin: 0 0 48px 0;
    text-transform: uppercase;
    text-align: center;
 }
 .recent_articles_videos__grid {
    width: 100%;
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 30px;
 }
 .recent_articles_videos__card {
    --direction: column;
    position: relative;
    box-shadow: 0 1px 0 1px var(--clr-secondary);
    outline: 1px var(--clr-secondary) solid;
 }
 .recent_articles_videos__media {
    position: relative;
    display: block;
    width: 100%;
    overflow: hidden;
    background: rgba(255,255,255,0.04);
    min-height: clamp(300px, 10vw, 450px);
 }
 .recent_articles_videos__media
    img {
   display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.4s ease;
 }
 .recent_articles_videos__media:
    hover img {
   transform: scale(1.04);
 }
 /* Dark semi-transparent overlay shown only when the card is a video.
    Rendered above the thumbnail but below the play badge. */
 .recent_articles_videos__overlay {
    position: absolute;
    inset: 0;
    background: radial-gradient(50% 50% at 50% 50%, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0.06) 100%);
    pointer-events: none;
    transition: background 0.3s ease;
 }
 .recent_articles_videos__media:
    hover .recent_articles_videos__overlay {
   background: rgba(11, 14, 40, 0.55);
 }
 .recent_articles_videos__play {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -100%);
    width: var(--icn-size);
    height: var(--icn-size);
    border-radius: 50%;
    background: var(
   --clr-secondary);
    --align: center;
    --justify: center;
    pointer-events: none;
 }
 .recent_articles_videos__play::
    before {
   content: "";
    display: block;
    width: 0;
    height: 0;
    border-top: 11px solid transparent;
    border-bottom: 11px solid transparent;
    border-left: 18px solid var(--clr-white);
    margin-left: 4px;
 }
 .recent_articles_videos__card-title {
    margin: 0;
    font-size: clamp(17px, calc(19.385px + 0.601vw), 28px);
    line-height: 1.35;
    color: var(--clr-white);
    background: linear-gradient(180deg, rgba(27, 22, 86, 0) 0%, #1B1656 100%);
    position: absolute;
    bottom: -1px;
    width: 100%;
    padding: clamp(24px, 5vw, 52px) clamp(24px, 5vw, 49px);
    font-family: var(--ff-primary);
 }
 /* Cursor hint that the video card opens a modal, not a destination. */
 .recent_articles_videos__media.is-video {
    cursor: pointer; }
 
 /* === Video lightbox modal === */
 .video-modal {
    position: fixed;
    inset: 0;
    z-index: 10000;
    display: none;
    align-items: center;
    justify-content: center;
    padding: 24px;
 }
 .video-modal.is-open {
    display: flex; }
 .video-modal__backdrop {
    position: absolute;
    inset: 0;
    background: rgba(11, 14, 40, 0.85);
    cursor: pointer;
 }
 .video-modal__dialog {
    position: relative;
    width: 100%;
    max-width: 960px;
    max-height: 100%;
 }
 .video-modal__close {
    position: absolute;
    top: -44px;
    right: 0;
    width: 36px;
    height: 36px;
    background: transparent;
    border: 0;
    color: var(--clr-white);
    font-size: 32px;
    line-height: 1;
    cursor: pointer;
    padding: 0;
 }
 .video-modal__close:
    hover { color: var(--clr-secondary); }
 .video-modal__frame {
    position: relative;
    width: 100%;
    aspect-ratio: 16 / 9;
    background: #000;
    box-shadow: 0 30px 60px rgba(0,0,0,0.5);
 }
 .video-modal__frame
    iframe,
 .video-modal__frame video {
   position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    border: 0;
 }
 .screen-reader-text {
    border: 0;
    clip: rect(1px, 1px, 1px, 1px);
    -webkit-clip-path: inset(50%);
    clip-path: inset(50%);
    height: 1px;
    margin: -1px;
    overflow: hidden;
    padding: 0;
    position: absolute;
    width: 1px;
    word-wrap: normal !important;
 }
    body.video-modal-open { overflow: hidden; }
    @media (max-width: 575px) {
   .video-modal { padding: 12px; }
   .video-modal__close {
    top: -36px; }
 }
    @media (max-width: 991px) {
   .recent_articles_videos { padding: 72px 0; }
   .recent_articles_videos__title {
    margin-bottom: 36px; }
 }
    @media (max-width: 767px) {
   .recent_articles_videos__grid { grid-template-columns: 1fr;
    gap: 24px; }
   .recent_articles_videos__card-title {
    font-size: 16px;
    text-align: center;}
   .recent_articles_videos__play {
    width: 56px;
    height: 56px; }
   .recent_articles_videos__play::
    before {
     border-top-width: 10px;
    border-bottom-width: 10px;
    border-left-width: 16px;
   }
 }
 
 /* === Section: our_process ============================================= */
 
 .memberships_logos_container + .our_process {
    padding-top: clamp(94px, 9vw, 172px);
 }
 
 .our_process {
    background: var(--clr-secondary, #E0A117);
    color: var(--clr-white);
    padding: clamp(64px, 8vw, 92px) 0 clamp(64px, 9vw, 148px);
    position: relative;
    z-index: 0;
 }
 
 .our_process:
    before {position: absolute;
    background-image: radial-gradient(50% 48.1% at 50% 48.1%, rgba(224, 161, 23, 0) 65%, rgba(190, 134, 25, 0.5) 100%);
    content: '';
    display: block;
    z-index: 2;
    height: 100%;
    width: 100%;
    top: 0;
    left: 0;
    pointer-events: none;
    background-color: #e0a117d4;}
 
 .our_process__inner {
    --direction: column;
    --align: center;
    position: relative;
    z-index: 3;
 }
 .our_process__subtitle {
    text-transform: uppercase;
    margin: 0;
 }
 .our_process__title {
    margin: 0 0 clamp(34px, 3.75vw, 62px) 0;
    text-transform: uppercase;
 }
 .our_process__grid {
    width: 100%;
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 21px;
 }
 .our_process__step {
    position: relative;
    overflow: hidden;
    background: var(--clr-white);
    padding: clamp(32px, 3.75vw, 58px) clamp(32px, 3.75vw, 57px) clamp(32px, 4vw, 70px);
    --direction: column;
    --gapx: 14px;
    --gapy: 14px;
    --icn-size: clamp(54px, 4.5vw, 80px);
    position: relative;
 }

 .our_process__step-icon {
    width: var(--icn-size);
    height: var(--icn-size);
    border-radius: 50%; }
 
 .our_process__top:
    after { height: 20px;
    content: '';
    background: url('./assets/imgs/long-right-arrow.svg') no-repeat;
    width: calc(100% - var(--gapy, 0) - var(--icn-size));
    margin-top: auto;
    margin-bottom: auto;
    background-position: right center;
    max-width: 210px; }
 
 .our_process__top {
    width: 100%;
    --wrap: none;
    --ailgn: center;
    --gapy: clamp(20px, 6vw, 56px);
    --direction: row;
    position: relative;
    margin: 0 0 clamp(20px, 3vw, 54px); }
 
 .our_process__step-icon
    img { display: block;
    object-fit: contain;
    width: 100%; }

 .our_process__step-divider {
    width: 100%;
    height: 1px;
    border: 0;
    background: rgba(224, 161, 23, 0.35);
    margin: 0 0 4px 0; }

 .our_process__step-title {
    margin: 0 0 6px;
    font-size: clamp(20px, calc(14.308px + 0.481vw), 24px);
    font-weight: 600;
    line-height: 1.3;
    color: #000;
    font-family: 'Poppins';
 }

 .our_process__step-desc {
    margin: 0 0 -14px;
    font-size: clamp(13px, calc(11.154px + 0.240vw), 15.0px);
    line-height: 1.65;
    color: var(--clr-text, #4A4A51);
 }
 .our_process__step-num {
    position: absolute;
    bottom: 0;
    right: 22px;
    font-family: var(--ff-secondary);
    font-weight: 500;
    font-size: clamp(40px, 6vw, 80px);
    line-height: .85;
    color: #E0A117;
    pointer-events: none;
 }
    @media (max-width: 991px) {
  
   .our_process__title { margin-bottom: 36px; }
   .our_process__grid {
    grid-template-columns: repeat(2, 1fr); }
 }
    @media (max-width: 767px) {
   .our_process__grid { grid-template-columns: 1fr;
    gap: 20px; }
   .our_process__step {}
   .our_process__step-desc {
    margin: 0;
 }
 }
 
 /* === Section: storm_services ======================================== */
 .storm_services {
    background: var(--clr-dark, #1B1656);
    color: var(--clr-white);
    position: relative;
    z-index: 0;
 }
 .storm_services__inner {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: clamp(28px, 3vw, 40px);
    padding: clamp(48px, 8vw, 110px) 20px clamp(48px, 6vw, 84px);
 }
 .storm_services__grid {
    width: 100%;
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: clamp(18px, 1.4vw, 26px);
    align-items: stretch;
 }
 .storm_services__card {
    background: rgba(255, 255, 255, 0.10);
    border: 1px solid rgba(255, 255, 255, 1);
    padding: clamp(28px, 2.6vw, 37px) clamp(20px, 1.9vw, 33px) clamp(20px, 1.9vw, 43px);
    display: flex;
    flex-direction: column;
    gap: clamp(16px, 1.2vw, 23px);
 }
 .storm_services__card-head {
    --direction: row;
    --align: flex-start;
    --gapy: clamp(12px, 0.9vw, 16px);
    --wrap: nowrap;
 }
 .storm_services__card-icon {
    flex: 0 0 auto;
    width: clamp(48px, 3.2vw, 60px);
    height: clamp(48px, 3.2vw, 60px);
    display: block;
 }
 .storm_services__card-icon
    img {
   display: block;
    width: 100%;
    height: 100%;
    object-fit: contain;
 }
 .storm_services__card-title {
    margin: 0;
    color: var(--clr-white);
    line-height: 1.3;
    flex: 1 1 auto;
    align-self: center;
 }
 .storm_services__card-desc {
    color: var(--clr-white);
    line-height: 1.65;
 }
 .storm_services__card-desc
    p { margin: 0; }
 .storm_services__card-desc
    p + p { margin-top: 10px; }
 .storm_services__cta {
    display: flex;
    justify-content: center;
    width: 100%;
 }
 .storm_services__cta .c-button {
    min-width: clamp(280px, 30vw, 480px);
 }
    @media (max-width: 991px) {
   .storm_services__grid { grid-template-columns: repeat(2, 1fr); }
   .storm_services__cta .c-button {
    min-width: 0;
    width: 100%;
    max-width: 480px; }
 }
    @media (max-width: 600px) {
   .storm_services__grid { grid-template-columns: 1fr; }
 }

 /* === Pricing-page utility shims ====================================== *
  * Margin-zero atom referenced by registry global_utilities. Cheap to add  *
  * here rather than re-emit per-section margin overrides.                 *
  * ===================================================================== */
 .mb-0 {
    margin-bottom: 0 !important; }
 
 /* === Section: atlas_gold_section ==================================== */
 .atlas_gold_section {
    background: #F7F7F7;
    color: var(--clr-text);
    padding: clamp(36px, 3vw, 46px) 0;
 }
 .atlas_gold_section__grid {
    --direction: row;
    --justify: space-between;
    --align: stretch;
    --wrap: wrap;
    --col-gap: clamp(24px, 5vw, 60px);
    --gapx: var(--col-gap);
    --gapy: var(--col-gap);
    list-style: none;
    padding: 0;
    margin: 0;
    --justify: center;
 }
 .atlas_gold_section__cell {
    flex: 0 1 calc((100% - 3 * var(--col-gap, 60px)) / 4);
    min-width: 180px;
    text-align: center;
    --gapx: clamp(12px, 1.25vw, 20px);
    --gapy: 8px;
 }
 .atlas_gold_section__value {
    color: var(--clr-black);
    line-height: 1.1;
    letter-spacing: -0.44px;
 }
 .atlas_gold_section__label {
    color: #4A5565;
    letter-spacing: -.15px;
 }
    @media (max-width: 991px) {
  .atlas_gold_section__grid {--gapx: 40px;
    --gapy: 20px;}
   .atlas_gold_section__cell {
    flex-basis: inherit;
    max-width: 200px;}
 }
    @media (max-width: 575px) {
   .atlas_gold_section__cell { flex-basis: 100%; }
 }
 
 /* === Section: pricing_tier_grid ====================================== */
 .pricing_tier_grid {
    padding: clamp(64px, 6vw, 97px) 0 clamp(64px, 6vw, 110px);
 }
 .pricing_tier_grid__inner {
    display: grid;
    gap: clamp(36px, 4vw, 72px);
    gap: 25px;
 }
 .pricing_tier_grid__head {
    text-align: center;
    --gapx: 21px;
    --gapy: 21px; }
 .pricing_tier_grid__title {
    color: var(--clr-black);
    margin: 0;
    max-width: 1080px;
    text-transform: uppercase; }
 .pricing_tier_grid__intro {
    color: var(--clr-text);
    max-width: 1255px;
    text-align: center; }
 .pricing_tier_grid__band {
    background: var(--clr-dark);
    padding: clamp(40px, 5vw, 70px) clamp(24px, 5vw, 92px) clamp(40px, 14vw, 157px);
    position: relative;
    display: grid;
    gap: clamp(28px, 3vw, 50px);
 }

 .pricing_tier_grid__band:
    after {
    content: '';
    display: block;
    opacity: 1;
    background: url('./assets/imgs/border-inst-1.png') no-repeat;
    height: auto;
    width: 100%;
    display: block;
    z-index: 3;
    position: relative;
    aspect-ratio: 1920 / 101;
    background-size: cover;
    background-position: top center;
    position: absolute;
    bottom: 0;
 }

 .pricing_tier_grid__band-head {
    text-align: center;
    --gapx: 20px;}
 .pricing_tier_grid__band-title {
    color: var(--clr-white);
    margin: 0;
    max-width: 804px; }
 .pricing_tier_grid__band-intro {
    color: var(--clr-white); }
 .pricing_tier_grid__tiers {
    --direction: row;
    --justify: center;
    --align: stretch;
    --wrap: wrap;
    --gapy: clamp(20px, 3vw, 48px);
    --gapx: clamp(56px, 4vw, 48px);
 }
 .pricing_tier_grid__tier {
    --gapx: 20px;
    max-width: calc(100% - ( var(--gapy) * 2 ) / 3);
    background: var(
   --clr-white);
    color: var(
   --clr-black);
    padding: clamp(28px, 3.75vw, 60.5px) clamp(28px, 3.75vw, 48.5px);
    text-align: center;
    box-shadow: 0 0 0 clamp(4px, 1vw, 10px) #FFF80;
    --gapy: clamp(20px, 3vw, 48px);
 }
 .pricing_tier_grid__tier.is-highlighted {
    background: var(--clr-secondary);
    color: var(--clr-white);
    border-color: var(--clr-secondary);
 }
 .pricing_tier_grid__tier-label {
    text-transform: uppercase;
    letter-spacing: -0.44px;
    max-width: 163px;}
 .pricing_tier_grid__tier-price {
    display: block;
    color: #1B1656;
    max-width: 230px;}
 .pricing_tier_grid__tier-desc {
    max-width: 272px; }
 .pricing_tier_grid__pointer {
    width: 0;
    height: 0;
    border-left: 38px solid transparent;
    border-right: 38px solid transparent;
    border-top: 38px solid var(--clr-secondary);
    display: block;
    margin: 0 auto;
 }
 .pricing_tier_grid__closing {
    text-align: center;
    color: var(--clr-text);
    max-width: 1255px;
    margin: clamp(12px, 4vw, 42px) auto 0;}
 .pricing_tier_grid__disclaimer {
    background: #F7F7F7;
    color: #000;
    padding: clamp(20px, 2.5vw, 32px) clamp(24px, 3vw, 36px);
    width: 100%;
    margin: 0;
    text-align: center;
    --gapx: 12px;
 }

 .pricing_tier_grid__tier-desc:
    before { content: '';
    background: #DBDBDB;
    height: 1px;
    width: 100%;
    display: block;
    margin: 22px 0; }
 .pricing_tier_grid__disclaimer-title {
    margin: 0 auto;
    max-width: 236px;
    letter-spacing: -.44px;
    font-family: 'Poppins';}

 .pricing_tier_grid__tier.is-highlighted .pricing_tier_grid__tier-label {
    max-width: 130px; }
 .pricing_tier_grid__tier.is-highlighted .pricing_tier_grid__tier-price {
    color: #fff; }
    @media (max-width: 1024px) {
   .pricing_tier_grid__tiers { --direction: column;
    --align: center; }
   .pricing_tier_grid__tier {
    flex: 1 1 auto;
    width: 100%;
    max-width: 480px; }
 }
    @media (max-width: 991px) {
   .pricing_tier_grid__band { width: 100%;
    margin-left: 0; }
   .pricing_tier_grid__tiers {
    --gapy: 18px;}
 }
    @media (max-width: 575px) {
   .pricing_tier_grid__tier { padding: 22px 18px; }
 }
 
 /* === Section: what_drive ============================================= */
 .what_drive {
    background: var(--clr-white);
    color: var(--clr-black);
    padding: clamp(64px, 8vw, 150px) 0 clamp(64px, 7vw, 130px);
 }
 .what_drive__inner {
    display: grid;
    gap: clamp(36px, 4vw, 74px);
 }
 .what_drive__head {
    text-align: center;
    --gapx: 40px;
    --gapy: 40px; }
 .what_drive__heading {
    margin: 0;
    text-transform: uppercase; }
 .what_drive__intro {
    max-width: 1255px;
    text-align: center; }
 .what_drive__media-text {
    display: grid;
    grid-template-columns: 1fr 1.22fr;
    gap: clamp(36px, 5vw, 90px);
    align-items: flex-start;
 }
 .what_drive__body {
    --gapy: 16px; }
 .what_drive__body
    p { margin: 0 0 16px; }
 .what_drive__body
    p:last-child { margin-bottom: 0; }
 .what_drive__photo
    img {
   width: 100%;
    height: auto;
    display: block;
    border-radius: 0;
    aspect-ratio: 360 / 233;
    object-fit: cover;
    object-position: 0% 0%;
 }
 .what_drive__card {
    background: var(--clr-light);
    border: 1px solid var(--clr-border);
    padding: clamp(28px, 3.75vw, 75px) clamp(12px, 3.25vw, 45px);
    display: grid;
    gap: clamp(18px, 2vw, 28px);
 }
 .what_drive__card-title {
    margin: 0;
    text-align: center; }
 .what_drive__card-subtitle {
    margin: 0;
    text-align: center; }
 .what_drive__card-list {
    --gapx: 0;
    --gapy: 25px;
    list-style: none;
    padding: 0;}
 .what_drive__card-item {
    --gapy: 15px;
    --align: flex-start;
    --wrap: none;
    border-bottom:  solid #E4E4E4;
    border-width: 1px 0;
    padding: 21px 0;}

 .what_drive__card-item:
    last-child {border-bottom: 0;}

 .what_drive__card-check {
    --icn-size: clamp(24px, 2.5vw, 36px);
    width: var(--icn-size);
    height: var(--icn-size);
    flex-shrink: 0;
    border-radius: 50%;
    background: url("./assets/imgs/true-mark.png") no-repeat;
    position: relative;
    background-size: contain;
 }
  
 .what_drive__card-item-body {
    display: grid;
    gap: 6px; }
 .what_drive__card-item-title {
    display: block; }
 .what_drive__closing {
    text-align: left;
    max-width: 1299px;
    margin: 0 auto; }
 #why-roofers-expensive .what_drive__card-subtitle {
    font-weight: 400;}
 #why-roofers-expensive .what_drive__card-subtitle
    b {font-weight: 600;
    display: block;
    margin-top: 15px;
    font-size: clamp(18px, calc(13.385px + 0.601vw), 24px);
    line-height: 1.35;}
 .what_drive__card-item:
    last-child {border-bottom: 0px;}
    @media (max-width: 991px) {
   .what_drive__media-text { grid-template-columns: 1fr;
    gap: 28px; }
 }
 
 /* === Section: where_does ============================================ */
 .where_does {
    background: var(--clr-white);
    color: var(--clr-black);
    padding: clamp(64px, 7vw, 120px) 0 clamp(64px, 9vw, 136px);
 }
 .where_does__inner {
    display: grid;
    gap: clamp(26px, 2vw, 34px);
 }
 .where_does__head {
    text-align: center;
    --gapx: 24px;
    --gapy: 24px; }
 .where_does__heading {
    margin: 0;
    text-transform: uppercase; }
 .where_does__intro {
    max-width: 1299px;
    text-align: center; }
 .where_does__cards {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: clamp(20px, 2vw, 40px);
    position: relative;
 }
 .where_does__card {
    background: var(--clr-white);
    padding: clamp(24px, 3vw, 34px) clamp(24px, 3vw, 36px);
    border: 2px solid var(--clr-border);
    display: grid;
    gap: 24px;
 }
 .where_does__card--budget {
    border-color: var(--clr-fb2c36);
 }
 .where_does__card--budget .where_does__card-label,
 .where_does__card--budget .where_does__card-price {
    color: var(--clr-fb2c36);}
 .where_does__card--budget .where_does__card-icon {
    background: rgba(251, 44, 54, 0.10);
    color: var(--clr-fb2c36);
    margin: 0 0 12px;}
 .where_does__card--budget .where_does__card-bullet-marker {
    background: url("data:image/svg+xml;utf8,%3Csvg width='19' height='19' viewBox='0 0 19 19' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M16.666 9.166C16.666 5.024 13.308 1.666 9.166 1.666C5.024 1.666 1.666 5.024 1.666 9.166C1.666 13.308 5.024 16.666 9.166 16.666C13.308 16.666 16.666 13.308 16.666 9.166ZM18.333 9.166C18.333 14.229 14.229 18.333 9.166 18.333C4.104 18.333 0 14.229 0 9.166C0 4.104 4.104 0 9.166 0C14.229 0 18.333 4.104 18.333 9.166Z' fill='%23FB2C36'/%3E%3Cpath d='M11.077 6.077C11.403 5.752 11.93 5.752 12.255 6.077C12.581 6.403 12.581 6.93 12.255 7.255L7.255 12.255C6.93 12.581 6.403 12.581 6.077 12.255C5.752 11.93 5.752 11.403 6.077 11.077L11.077 6.077Z' fill='%23FB2C36'/%3E%3Cpath d='M6.077 6.077C6.403 5.752 6.93 5.752 7.255 6.077L12.255 11.077C12.581 11.403 12.581 11.93 12.255 12.255C11.93 12.581 11.403 12.581 11.077 12.255L6.077 7.255C5.752 6.93 5.752 6.403 6.077 6.077Z' fill='%23FB2C36'/%3E%3C/svg%3E") center/contain no-repeat;
 }
 .where_does__card--quality {
    border-color: #e0a117;
    box-shadow: 0px 20px 25px -5px #0000001A, 0px 8px 10px -6px #0000001A, 0px 0px 25px -5px #e0a1175c, 0px 8px 10px -6px #e0a11740;
 }
 .where_does__card--quality .where_does__card-label,
 .where_does__card--quality .where_does__card-price {
    color: var(--clr-secondary); }
 .where_does__card--quality .where_does__card-icon {
    background: rgba(224, 161, 23, 0.10);
    color: var(--clr-secondary); }
 .where_does__card--quality .where_does__card-bullet-marker {
    background: url("data:image/svg+xml;utf8,%3Csvg width='19' height='19' viewBox='0 0 19 19' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M16.666 9.166C16.666 5.024 13.308 1.666 9.166 1.666C5.024 1.666 1.666 5.024 1.666 9.166C1.666 13.308 5.024 16.666 9.166 16.666C13.308 16.666 16.666 13.308 16.666 9.166ZM18.333 9.166C18.333 14.229 14.229 18.333 9.166 18.333C4.104 18.333 0 14.229 0 9.166C0 4.104 4.104 0 9.166 0C14.229 0 18.333 4.104 18.333 9.166Z' fill='%23E0A117'/%3E%3Cpath d='M11.077 6.911C11.403 6.585 11.93 6.585 12.255 6.911C12.581 7.236 12.581 7.763 12.255 8.089L8.922 11.422C8.597 11.748 8.069 11.748 7.743 11.422L6.077 9.755C5.752 9.43 5.752 8.902 6.077 8.577C6.403 8.252 6.93 8.252 7.255 8.577L8.332 9.654L11.077 6.911Z' fill='%23E0A117'/%3E%3C/svg%3E") center/contain no-repeat;
 }
 .where_does__card-head {
    --gapx: 6px;}
 .where_does__card-icon {
    --icn-size: 48px;
    width: var(--icn-size);
    height: var(--icn-size);
    border-radius: 50%;
 }
 .where_does__card-icon
    img {}
 .where_does__card-label {
    text-transform: uppercase;
    letter-spacing: 0.02em;
    margin: 0;
    font-family: 'Oswald';}
 .where_does__card-price {
    margin: 0;
    line-height: 1.1;
    color: var(--clr-dark); }
 .where_does__card-bullets {
    --gapy: 12px;
    list-style: none;
    padding: 0;
    --gapx: 20px;}
 .where_does__card-bullet {
    --gapy: 15px;
    --align: flex-start;
    color: #1B1656;
    --wrap: none;}
 .where_does__card-bullet-marker {
    width: 18px;
    height: 18px;
    border-radius: 50%;
    flex-shrink: 0;
    margin-top: 6px;
 }
 .where_does__vs {
    --icn-size: 80px;
    width: var(--icn-size);
    height: var(--icn-size);
    border-radius: 50%;
    background: var(--clr-dark);
    color: var(--clr-white);
    --align: center;
    --justify: center;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%,-50%);
    border: 4px solid #FFF;
    box-shadow: 0px 25px 50px -12px #00000040;
 }
 .where_does__vs-badge {
    display: block;
    text-transform: uppercase;
    font-family: var(--ff-secondary); }
 .where_does__closing {
    margin: clamp(24px, 3vw, 34px) auto 0;
    text-align: center;
 }
    @media (max-width: 991px) {
 .where_does__card--quality { padding-top: 44px;
    margin-top: -20px; }
  .where_does__card--budget {
    padding-bottom: 44px;
    margin-bottom: -20px; }
   .where_does__cards {
    grid-template-columns: 1fr;
    max-width: 520px;
    margin: 0 auto;}
   .where_does__vs {
    margin: -30px auto;
    position: relative;
    left: inherit;
    top: inherit;
    transform: inherit;}
 }
 
 /* === Section: our_roofing ========================================== */

 .our_roofing {
    background: var(--clr-dark);
    color: var(--clr-white);
 }
 .our_roofing__inner {
    display: grid;
    gap: clamp(48px, 6vw, 45px);
    padding: clamp(64px, 7vw, 120px) 20px clamp(64px, 7vw, 115px);
 }
 .our_roofing__head {
    text-align: center;
    --gapx: 24px;
    --gapy: 24px; }
 .our_roofing__heading {
    margin: 0;
    color: var(--clr-white);
    text-transform: uppercase;
    max-width: 808px; }
 .our_roofing__intro {
    max-width: 1299px; }
 .our_roofing__packages {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: clamp(20px, 2.75vw, 35px);
    margin: clamp(20px, 3vw, 36px);
 }
 .our_roofing__package {
    position: relative;
    background: var(--clr-white);
    color: var(--clr-black);
    padding: 30px clamp(16px, 1.75vw, 36px)  20px;
    border: 10px solid #FFF80;
    box-shadow: 0 0 0 clamp(4px, .75vw,10px) #FFF80;
 }
 .our_roofing__package.is-most-popular {
    box-shadow: 0 0 0 clamp(4px, .75vw,10px) var(--clr-secondary);
 }
 .our_roofing__pill {
    position: absolute;
    top: -16px;
    left: 50%;
    transform: translate(-50%, -50%);
    background: var(--clr-secondary);
    color: #fff;
    padding: 8px 22px;
    text-transform: uppercase;
    white-space: nowrap;
    font-family: 'Oswald';
 }
 .our_roofing__package-name {
    margin: 0 auto 20px;
    color: var(--clr-dark);
    text-align: center;
    text-transform: uppercase;
    padding-bottom: clamp(14px, 1.6vw, 22px);
    border-bottom: 1px solid var(--clr-border, #E5E7EB);
    width: max-content;
    max-width: 100%;
    padding: 0 0 20px;
 }
 .our_roofing__features {
    --gapy: 14px;
    list-style: none;
    padding: 0; }
 .our_roofing__feature {
    --gapy: 14px;
    --align: center;
    line-height: 1;
    --wrap: nowrap;
    --gapy: clamp(10px, 1.5vw,22px);
    padding: clamp(10px, .5vw,17px) 0;
    border-bottom: #DBDBDB 1px solid;}
 .our_roofing__feature-check {
    width: clamp(22px, 2vw, 36px);
    height: clamp(22px, 2vw, 36px);
    border-radius: 50%;
    background: url('./assets/imgs/true-mark-icn.png') no-repeat;
    flex-shrink: 0;
    position: relative;
    background-size: contain;
 }

 .our_roofing__feature:
    first-child { padding-top: 0; }
 .our_roofing__feature:
    last-child { padding-bottom: 0;
    border-bottom: none; }

 .our_roofing__feature
    span {max-width: calc(100% - 38px);
    line-height: calc(30/18);
    color: #1B1656;}

  
 .our_roofing__disclaimer {
    text-align: center;
    color: var(--clr-white);
    max-width: 1299px;
    margin: 0 auto; }
    @media (max-width: 991px) {
   .our_roofing__package.is-most-popular { margin-top: 20px}
   .our_roofing__packages {
    grid-template-columns: 1fr;
    max-width: 480px;
    margin: 0 auto;
    row-gap: 60px;}
 }
 
 /* === Section: financing ============================================= */
 .financing {
    color: var(--clr-white);
    padding: clamp(40px, 8vw, 120px) 20px clamp(40px, 8vw, 150px);
 }
 .financing__inner {
    position: relative;
    isolation: isolate;
    overflow: hidden;
    background-image: var(--financing-bg);
    background-size: cover;
    background-position: center;
    padding: clamp(48px, 4vw, 65px) clamp(32px, 4vw, 65px) clamp(48px, 4vw, 75px);
 }
 .financing__inner:
    before {
   content: '';
    position: absolute;
    inset: 0;
    background: linear-gradient(90deg, rgba(224, 161, 23, 1) 0%, rgba(224, 161, 23, 1) 40%, rgba(224, 161, 23, 0) 65%);
    z-index: 0;
    pointer-events: none;
 }
 .financing__content {
    position: relative;
    z-index: 1;
    max-width: 64%;
    --gapy: clamp(18px, 2vw, 28px);
 }
 .financing__heading {
    margin: 0 0 15px;
    color: var(--clr-white);
    text-transform: uppercase;}
 .financing__body {
    color: var(--clr-white);
    max-width: 640px;
    margin: 0 0 32px;}
 .financing__cta {
    align-self: flex-start;
    --btn-bg: var(--clr-white);
    --btn-color: var(--clr-secondary);
    --btn-border-color: var(--clr-white);
    --btn-hover-bg: var(--clr-dark);
    --btn-hover-color: var(--clr-white);
    --btn-hover-border-color: var(--clr-dark);
 }
 .financing__captions {
    --gapy: 8px;
    color: var(--clr-white);
    max-width: 640px;
    margin: clamp(26px, 2.75vw, 40px) 0 0;}
 .financing__caption
    a { color: inherit;
    text-decoration: underline; }
 .financing__caption
    a:hover { filter: invert(.8); }
 .financing__caption--phone {
    font-weight: 600; }
    @media (max-width: 991px) {
   .financing__content { max-width: 100%; }
   .financing__inner:
    before {
    background: linear-gradient(90deg, rgba(224, 161, 23, 1) 0%, rgba(224, 161, 23, 1) 63%, rgba(224, 161, 23, 0) 100%);
}
 }
 
 /* === Section: what_does_each ======================================== */
 .what_does_each {
    background: var(--clr-dark);
    color: var(--clr-white);
 }
 .what_does_each__inner {
    display: grid;
    gap: clamp(32px, 4vw, 52px);
    padding: clamp(64px, 4vw, 91px) 20px clamp(64px, 6vw, 113px);
 }
 .what_does_each__head {
    text-align: center;
    --gapx: 24px;
    --gapy: 24px; }
 .what_does_each__heading {
    margin: 0 auto 24px;
    color: var(--clr-white);
    text-transform: uppercase;
    max-width: 1073px;}
 .what_does_each__intro {
    max-width: 1299px;
    color: var(--clr-white); }
 .what_does_each__banner {
    background: var(--clr-secondary);
    color: var(--clr-white);
    padding: clamp(24px, 3vw, 45px) clamp(24px, 4vw, 60px);
    text-align: center;
    --gapx: 12px;
    margin: 0 auto;
    width: 100%;
 }
 .what_does_each__banner-title {
    margin: 0;
    color: var(--clr-white);
    font-family: 'Poppins';}
 .what_does_each__banner-body {
    color: var(--clr-white); }
 
 /* === Section: comparing ============================================= */
 .comparing {
    background: var(--clr-light);
    color: var(--clr-black);
    padding: clamp(64px, 7vw, 104px) 0 clamp(64px, 7vw, 116px);
 }
 .comparing__inner {
    display: grid;
    gap: clamp(20px, 2.5vw, 31px);
 }
 .comparing__heading {
    margin: 0;
    text-transform: uppercase; }
 .comparing__intro {
    max-width: 1299px; }
 .comparing__disclaimer {
    max-width: 1299px; }
 .comparing__scroll {
    overflow-x: auto;
 }
 .comparing__table {
    width: 100%;
    border-collapse: collapse;
    border: 1px solid var(--clr-border);
    background: var(--clr-white);
    min-width: 720px;
    margin: 0;
 }
 .comparing__row--head {
    background: var(--clr-dark);
    color: var(--clr-white); }
 .comparing__row--alt {
    background: #F9FAFB;}
 .comparing__cell {
    padding: 19px 24px;
    text-align: left;
    vertical-align: middle;
    border-bottom: 1px solid var(--clr-border);
    max-width: 360px;
    color: #1B1656CC;
 }
 .comparing__row--head .comparing__cell {
    padding: 22.5px;
    border-bottom: 0;
    color: var(--clr-white);}
 .comparing__cell--factor {
    color: #1B1656;
    font-weight: 600;
    white-space: nowrap;}
 .comparing__row--head .comparing__cell--factor {
    color: var(--clr-white);}
    @media (max-width: 767px) {
   .comparing__cell, .comparing__row--head .comparing__cell { padding: 14px 16px; }
 }
 
 /* === Modifier: why_customers_choose--callout-left =================== *
  * Used by pricing what_makes section: swaps the mascot slot for an      *
  * optional callout card and adds horizontal dividers between feature    *
  * rows. Renders on dark-navy section background, so text + dividers     *
  * are inverted from the base (light) variant.                          *
  * ===================================================================== */
 .why_customers_choose--callout-left {
    color: var(--clr-white); }
 .why_customers_choose--callout-left .why_customers_choose__subtitle {
    color: #fff;
    max-width: 577px;
    text-transform: inherit;
    font-weight: 400;}
 .why_customers_choose--callout-left .why_customers_choose__title {
    color: var(--clr-white);
    order: -1;}
 .why_customers_choose--callout-left .why_customers_choose__callout {
    padding: clamp(20px, 2.5vw, 30px);
    margin-top: 24px;
    max-width: 600px;
    background: #FFF08;
 }
 .why_customers_choose--callout-left .why_customers_choose__callout-title {
    margin: 0 0 8px;
    font-family: 'Poppins';}
 .why_customers_choose--callout-left .why_customers_choose__callout-body {
    /* color: var(--clr-text); */}
 .why_customers_choose--callout-left .why_customers_choose__feature {
    background: transparent;
    border: 0;
    box-shadow: none;
    padding: 22px 0;
    border-bottom: 1px solid #E2E2E21A;
 }
 .why_customers_choose--callout-left .why_customers_choose__feature:
    last-child { border-bottom: 0; }
 .why_customers_choose--callout-left .why_customers_choose__feature-title {
    color: var(--clr-white); }
 .why_customers_choose--callout-left .why_customers_choose__feature-desc {}
 
 /* === Modifier: why_customers_choose--grid-cards ==================== *
  * Used by pricing why_roofing_costs section: 2x2 grid of feature cards *
  * on dark navy, card surface = var(--clr-202e6d). Heading sits above   *
  * the grid (not in a left col), mascot is hidden via template.         *
  * ===================================================================== */
 .why_customers_choose--grid-cards {
    background: var(--clr-dark);
    color: var(--clr-white);
    padding: 0;
 }

 .why_customers_choose--grid-cards .why_customers_choose__feature-body {
    row-gap: 12px;}
 
 .why_customers_choose--grid-cards .why_customers_choose__inner {
    display: grid;
    grid-template-columns: 1fr;
    gap: clamp(36px, 3vw, 40px);
    padding: clamp(54px, 6vw,104px) 20px clamp(34px, 4vw,53px);
 }

 .why_customers_choose--grid-cards .why_customers_choose__head {
    --gapx: 24px;
    --gapy: 20px;
    text-align: center;
    align-items: center;
 }

 .why_customers_choose--grid-cards .why_customers_choose__subtitle {
    color: #fff;
    text-transform: inherit;}
 .why_customers_choose--grid-cards .why_customers_choose__title {
    color: var(--clr-white);
    max-width: none;
    margin: 0 auto;
    max-width: 1205px;}
 .why_customers_choose--grid-cards .why_customers_choose__right {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: clamp(14px, 1.5vw, 20px);
 }
 
 .why_customers_choose--grid-cards .why_customers_choose__feature {
    background: #FFF1A;
    border: 0;
    box-shadow: none;
    padding: clamp(18px, 2vw, 33px);
    color: var(--clr-white);
    border: 1px solid #FFF33;
 }


 .why_customers_choose--grid-cards .why_customers_choose__feature-title {
    color: var(--clr-white); }
 .why_customers_choose--grid-cards .why_customers_choose__feature-desc {}

 .why_customers_choose__summary  {
    text-align: center;
 }
    @media (max-width: 1024px) {
  .why_customers_choose--callout-left .why_customers_choose__subtitle, .why_customers_choose__title, .why_customers_choose--callout-left .why_customers_choose__callout { max-width: 100%; }
  .why_customers_choose__feature-body {
    max-width: 100%; }
 }
    @media (max-width: 767px) {
 
   .why_customers_choose--grid-cards .why_customers_choose__right { grid-template-columns: 1fr; }
 }

 /* === Modifier: why_customers_choose--pricing-fall =====================
  * Centered title + intro, 2-col (body paragraphs left, mascot right),
  * full-width navy callout box below. Used by the "Where Does Patriot
  * Roofing's Pricing Fall?" section on the pricing page.
  * ===================================================================== */
 .why_customers_choose--pricing-fall {
    background: #F7F7F7;
    color: var(--clr-dark);
    padding: clamp(64px, 7vw, 104px) 0 clamp(64px, 7vw, 120px);
 }

 .why_customers_choose--pricing-fall:
    after { height: 0; }

 .why_customers_choose--pricing-fall .why_customers_choose__inner {
    display: flex;
    flex-direction: column;
    gap: 0;
 }
 .why_customers_choose--pricing-fall .why_customers_choose__head {
    text-align: center;
    --gapy: 16px;
    max-width: 1080px;
    margin: 0 auto;
 }
 .why_customers_choose--pricing-fall .why_customers_choose__title {
    color: #000;
    margin: 0 0 24px;
    text-transform: uppercase;
    max-width: 1200px;}
 .why_customers_choose--pricing-fall .why_customers_choose__subtitle {
    margin: 0 0 clamp(26px, 3vw,40px);
    max-width: 1300px;
    text-transform: inherit;
    color: #000;}
 .why_customers_choose--pricing-fall .why_customers_choose__body {
    display: grid;
    grid-template-columns: 1.05fr 1fr;
    gap: clamp(32px, 4vw, 75px);
    align-items: center;
 }
 .why_customers_choose--pricing-fall .why_customers_choose__paragraphs {
    --gapy: clamp(14px, 1.4vw, 22px);
 }
 .why_customers_choose--pricing-fall .why_customers_choose__paragraph {
    margin: 0 0 clamp(22px, 3vw, 40px);
    color: #000;
    line-height: 1.6;
 }
 .why_customers_choose--pricing-fall .why_customers_choose__mascot {
    display: flex;
    justify-content: center;
    align-items: flex-end;
 }
 .why_customers_choose--pricing-fall .why_customers_choose__mascot
    img {
   max-width: 100%;
    height: auto;
    max-height: 665px;
    object-fit: contain;
 }
 .why_customers_choose--pricing-fall .why_customers_choose__callout {
    background: var(--clr-dark);
    color: var(--clr-white);
    padding: clamp(24px, 3vw, 40px) clamp(24px, 4vw, 56px);
 }
 .why_customers_choose--pricing-fall .why_customers_choose__callout-title {
    margin: 0 0 10px;
    color: var(--clr-white);
    font-family: var(--ff-primary);}
 .why_customers_choose--pricing-fall .why_customers_choose__callout-body {}
 .why_customers_choose--pricing-fall .why_customers_choose__callout-body
    p { margin: 0; }
    @media (max-width: 991px) {
   .why_customers_choose--pricing-fall .why_customers_choose__body { grid-template-columns: 1fr; }
   .why_customers_choose--pricing-fall .why_customers_choose__mascot img {
    max-height: 360px; }
 }

 /* === Section: what_drives_cost ============================================= */
 .what_drives_cost {
    background: #F7F7F7;
    color: var(--clr-black);
    padding: clamp(64px, 6vw, 104px) 0;
 }
 .what_drives_cost__inner {
    display: flex;
    flex-direction: column;
    gap: clamp(36px, 3.75vw, 42px);
 }
 .what_drives_cost__head {
    text-align: center;
    --gapy: 24px; }
 .what_drives_cost__heading {
    margin: 0 auto 21px;
    max-width: 1080px;
    text-transform: uppercase;}
 .what_drives_cost__intro {
    color: var(--clr-text);
    max-width: 920px;
    margin: 0 auto; }
 .what_drives_cost__slider-wrap {
    position: relative;
    padding: 0 clamp(40px, 5vw, 80px);
 }
 .what_drives_cost__cards.swiper {
    overflow: hidden;
    padding-bottom: 4px; }
 .what_drives_cost__cards .swiper-slide {
    height: auto;
    display: flex; }
 .what_drives_cost__card {
    --gapy: 16px;
    flex: 1 1 auto;
    width: 100%;
    background: var(--clr-white);
    padding: clamp(24px, 2.5vw, 36px);
    align-items: flex-start;
    border-bottom: #1B1656 clamp(2px, 1vw, 5px) solid;
 }
 .what_drives_cost__icon {
    width: 64px;
    height: 64px;
    border-radius: 50%;
    background: var(--clr-secondary);
    --align: center;
    --justify: center;
 }

 .what_drives_cost__card-title {
    margin: clamp(12px, 2.75vw, 33px) 0 13px;
    font-family: var(--ff-primary);}
 .what_drives_cost__card-desc {
    margin: 0;
    color: var(--clr-text);
    line-height: 1.6; }
  
 .what_drives_cost__nav-btn--prev {
    left: 0; }
  
  
 .what_drives_cost__closing {
    text-align: center;
    color: var(--clr-text);
    max-width: 980px;
    margin: 0 auto; }
    @media (max-width: 767px) {
  
  .what_drives_cost__nav-btn { position: absolute;
    bottom: 0;}
  .what_drives_cost__slider-wrap {
    padding: 0 0 60px;}
  .what_drives_cost__nav-btn--prev {
    left: calc(50% - 20px); }
  .what_drives_cost__nav-btn--next {
    left: calc(50% + 20px); }
 }
 
 /* === Section: financing_options ============================================ */
 .financing_options {
    background: var(--clr-white);
    color: var(--clr-black);
    padding: clamp(64px, 8vw, 104px) 0 clamp(64px, 8vw, 118px);
 }
 .financing_options__inner {
 }
 .financing_options__head {
    text-align: center;
    --gapy: 20px; }
 .financing_options__heading {
    margin: 0;
    align-self: center;
    text-transform: uppercase;}
 .financing_options__intro {
    color: var(--clr-text);
    max-width: 1299px;
    margin: clamp(22px, 3vw, 31px) auto clamp(32px, 4vw, 40px);}
 .financing_options__band {
    background: var(--clr-white);
    border: 1px solid var(--clr-secondary);
    padding: clamp(28px, 5vw, 67px) clamp(20px, 5.5vw, 92px) clamp(28px, 5vw, 70px);
 }
 .financing_options__band-title {
    text-align: center;
    color: var(--clr-black);
    margin: 0 0 clamp(20px, 2.5vw, 32px); }
 .financing_options__grid {
    --direction: row;
    --justify: space-between;
    --align: stretch;
    --wrap: wrap;
    --gapx: clamp(16px, 2vw, 32px);
    --gapy: clamp(20px, 2.75vw, 50px);
 }
 .financing_options__card {
    flex: 1 1 220px;
    align-items: center;
    text-align: center;
    --gapy: 8px;
    padding: clamp(16px, 2vw, 26px) 22px clamp(16px, 2.75vw, 37px);
    border: 1px solid #E5E7EB;
    background: #E5E7EB;
 }

 .financing_options__card:nth-child(2) {
    border: 2px solid #E0A117;
    background: linear-gradient(135deg, rgba(224, 161, 23, 0.05) 0%, rgba(224, 161, 23, 0.1) 100%);
 }
 
 .financing_options__label {
    text-transform: uppercase;
    color: var(--clr-text);
    margin: 16px 0 25px;}
 .financing_options__value {
    color: #1B1656;
    margin: 0;}
 .financing_options__desc {
    color: var(--clr-text);
    margin: 17px 0 0;
    line-height: calc(22.75/18);}
 .financing_options__closing {
    text-align: center;
    color: var(--clr-text);
    max-width: 980px;
    margin: 20px auto 0px; }
    @media (max-width: 768px) {
   .financing_options__grid { --justify: center; }
   .financing_options__card {
    flex: 1 1 100%;
    max-width: 420px; }
 }
 
 /* === Section: pricing_faq (full-width accordion) =========================== */
 .pricing_faq {
    padding: clamp(64px, 4vw, 72px) 0 clamp(64px, 7vw, 120px);
 }
 .pricing_faq__inner {
    display: flex;
    flex-direction: column;
    gap: 24px;
    margin: 0 auto;
 }
 .pricing_faq__head {
    text-align: center;
    --gapx: 24px;}
 .pricing_faq__heading {
    margin: 0;
    max-width: 1180px;
    align-self: center;
    text-transform: uppercase;}
 .pricing_faq__intro {
    margin: 0;}
 .pricing_faq__accordion {
    display: flex;
    flex-direction: column;
    gap: 26px;
    width: 100%;}
 .pricing_faq__item {
    background: var(--clr-white);
    overflow: hidden;
    box-shadow: 0px 10px 15px -3px #0000001A;
    border: 1px solid #E5E7EB;
 }

 .pricing_faq__item.is-open {
    border: 2px solid #E0A117;
}


 .pricing_faq__question {
    width: 100%;
    margin: 0;
    padding: clamp(18px, 2vw, 26px) clamp(18px, 2.5vw, 34px);
    background: transparent;
    border: 0;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    text-align: left;
    color: #1B1656;
    font-family: inherit;
    user-select: none;
    transition: background 0.2s ease;
 }
 .pricing_faq__question:
    hover {background: transparent;}
 .pricing_faq__question:
    focus-visible { outline: 2px solid var(--clr-secondary);
    outline-offset: -2px; }
 .pricing_faq__question-text {
    flex: 1; }
 .pricing_faq__indicator {
    flex: 0 0 24px;
    width: 24px;
    height: 24px;
    position: relative;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: #1B1656;
 }
 .pricing_faq__indicator::
    before {
   content: '';
    display: block;
    width: 12px;
    height: 12px;
    border-right: 2px solid currentColor;
    border-bottom: 2px solid currentColor;
    transform: translateY(-3px) rotate(45deg);
    transition: transform 0.28s ease;
 }
 .pricing_faq__item.is-open .pricing_faq__indicator::
    before {
   transform: translateY(2px) rotate(-135deg);
 }
 .pricing_faq__answer-inner {
    padding: 0 clamp(18px, 2.5vw, 32px) clamp(18px, 2vw, 34px);
    color: var(--clr-text);
 }
 .pricing_faq__answer-inner
    p { margin: 0 0 12px; }
 .pricing_faq__answer-inner
    p:last-child { margin-bottom: 0; }
    /* --- Variant: navy-items (used by service-area inner pages) ---------------- */
 .pricing_faq--navy-items .pricing_faq__inner {
    max-width: var(--container-width);
    padding-inline: 20px;
    row-gap: clamp(12px, 2.5vw, 20px);
 }
 .pricing_faq--navy-items .pricing_faq__head[
    data-align="left"] { text-align: left;
    align-items: flex-start; }
 .pricing_faq--navy-items .pricing_faq__head[
    data-align="left"] .pricing_faq__heading {
   align-self: flex-start;
    max-width: none;
    text-transform: uppercase;
 }
 .pricing_faq--navy-items .pricing_faq__accordion {
    gap: 8px; }
 .pricing_faq--navy-items .pricing_faq__item {
    border: 0;
    background: transparent;
    box-shadow: none;
 }
 .pricing_faq--navy-items .pricing_faq__question {
    color: var(--clr-white);
    padding: clamp(14px, 1.5vw, 18px) clamp(18px, 2.5vw, 28px);
    background: var(--clr-dark, #1B1656);
    border-radius: 0;
 }
 .pricing_faq--navy-items .pricing_faq__question:
    hover {}
 /* Plus / minus indicator (replaces chevron for navy-items variant) */
 .pricing_faq--navy-items .pricing_faq__indicator {
    width: 21px;
    height: 21px;
    background: var(--clr-secondary);
    border-radius: 50%;
    flex: inherit;
    align-items: center;
    justify-content: center;
 }
 /* Force a flat horizontal bar in both closed and open states (override chevron). */
 .pricing_faq--navy-items .pricing_faq__indicator::
    before,
 .pricing_faq--navy-items .pricing_faq__item.is-open .pricing_faq__indicator::before {
   content: '';
    width: 11px;
    height: 4px;
    border: 0;
    background: var(--clr-dark, #1B1656);
    position: absolute;
    border-radius: 1px;
    transition: opacity 0.2s ease;
    left: 50%;
    transform: translate(-50%, -50%);
    top: 50%;
 }
 
 
 .pricing_faq--navy-items .pricing_faq__indicator::
    before,
 .pricing_faq--navy-items .pricing_faq__indicator::after { filter: brightness(0) invert(1); }
 
 .pricing_faq--navy-items .pricing_faq__indicator::
    after {
   content: '';
    width: 4px;
    height: 12px;
    background: var(--clr-dark, #1B1656);
    position: absolute;
    border-radius: 1px;
    transition: opacity 0.2s ease;
    left: 50%;
    transform: translate(-50%, -50%);
    top: 50%;
    transition: .5s ease;
 }
 .pricing_faq--navy-items .pricing_faq__item.is-open .pricing_faq__indicator::
    after {opacity: 0;}
 .pricing_faq--navy-items .pricing_faq__answer {
    color: var(--clr-text);
 }
 .pricing_faq--navy-items .pricing_faq__answer-inner {
    padding: 10px 0 20px;}
 
 
 /* === Section: our_gallery (atoms-first) ==================================== */
 /* Composes from .wrapper, .o-flex, .fsXX, .fw-NNN, .ff-head, .c-button.
    Section-specific CSS is limited to grid layout + image aspect ratio. */
 .our_gallery {
    background: var(--clr-white);
    color: var(--clr-black);
    padding: clamp(64px, 8vw, 130px) 0 clamp(48px, 6vw, 100px);
 }
 .our_gallery__inner {
    display: flex;
    flex-direction: column;
    gap: clamp(36px, 4vw, 50px); }
 .our_gallery__head {
    text-align: center;
    --gapy: 10px;
    align-items: center; }
 .our_gallery__subtitle {
    margin: 0;
    color: var(--clr-1052A3, #1052A3);
    text-transform: uppercase;
    letter-spacing: 0.02em; }
 .our_gallery__title {
    margin: 0;
    max-width: 970px;
    text-transform: uppercase;}
 .our_gallery__grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: clamp(16px, 1.5vw, 24px);
 }
 .our_gallery__cell {
    margin: 0;
    padding: 0;
    border: 0;
    background: transparent;
    aspect-ratio: 464 / 539;
    overflow: hidden;
    cursor: zoom-in;
    display: block;
    position: relative;
 }
    button.our_gallery__cell:before {
     content: '';
    height: 100%;
    width: 100%;
    position: absolute;
    background: linear-gradient(180deg, rgba(27, 22, 86, 0) 35.06%, rgba(27, 22, 86, 0.4) 67.53%, #1B1656 100%);
    left: 0;
    bottom: 0;
    z-index: 1;
 }
 
 .our_gallery__cell:
    focus-visible { outline: 2px solid var(--clr-secondary);
    outline-offset: 2px; }
 .our_gallery__cell
    img { width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    transition: transform 0.4s ease; }
 .our_gallery__cell:
    hover img { transform: scale(1.03); }
 .our_gallery__cta-wrap {
    display: flex;
    justify-content: center;}
 
 /* popup OFF disable triggers without changing markup */
 .our_gallery--popup-off .our_gallery__cell {
    pointer-events: none;
    cursor: default;
 }
 .our_gallery--popup-off .our_gallery__cell:
    hover img { transform: none; }
    @media (max-width: 991px) {
   .our_gallery__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
 }
    @media (max-width: 575px) {
   .our_gallery__grid { grid-template-columns: 1fr; }
 }
 
 /* Lightbox dialog always rendered; `[hidden]` until JS opens it. */
 .our_gallery__lightbox {
    position: fixed;
    inset: 0;
    background: rgba(0, 0, 0, 0.92);
    z-index: 999999999999;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: clamp(8px, 2vw, 32px);
 }
 .our_gallery__lightbox[
    hidden] { display: none; }
 .our_gallery__lightbox-figure {
    margin: 0;
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    pointer-events: none; /* clicks fall through to backdrop except on buttons */
 }
 .our_gallery__lightbox-img {
    max-width: 96vw;
    max-height: 96vh;
    width: auto;
    height: auto;
    object-fit: contain;
    display: block;
    user-select: none;
    pointer-events: auto;
    opacity: 1;
    transition: opacity 0.18s ease;
 }
 .our_gallery__lightbox-img.is-switching {
    opacity: 0; }
    @media (prefers-reduced-motion: reduce) {
   .our_gallery__lightbox-img { transition: none; }
   .our_gallery__lightbox-img.is-switching {
    opacity: 1; }
 }
 .our_gallery__lightbox-close,
 .our_gallery__lightbox-nav {
    position: absolute;
    background: rgba(255, 255, 255, 0.12);
    color: #fff;
    border: 1px solid rgba(255, 255, 255, 0.25);
    border-radius: 50%;
    width: 48px;
    height: 48px;
    cursor: pointer;
    font-size: 24px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    transition: background 0.2s ease, transform 0.2s ease;
    padding: 0;
 }
 .our_gallery__lightbox-close:
    hover,
 .our_gallery__lightbox-nav:hover {background: var(--clr-secondary);
    border: var(--clr-secondary);}
 .our_gallery__lightbox-close:
    focus-visible,
 .our_gallery__lightbox-nav:focus-visible { outline: 2px solid var(--clr-secondary);
    outline-offset: 2px; }
 .our_gallery__lightbox-close {
    top: clamp(28px, 4.5vw, 40px);
    right: clamp(28px, 4.5vw, 40px);
    font-size: 28px;
    padding: 4px 0 0;}
 .our_gallery__lightbox-nav--prev {
    left: clamp(8px, 1.5vw, 20px);
    top: 50%;
    transform: translateY(-50%); }
 .our_gallery__lightbox-nav--next {
    right: clamp(8px, 1.5vw, 20px);
    top: 50%;
    transform: translateY(-50%);
    z-index: 3;}
    body.has-lightbox-open { overflow: hidden; }
    @media (max-width: 575px) {
   .our_gallery__lightbox-nav { width: 40px;
    height: 40px; }
   .our_gallery__lightbox-img {
    max-width: 94vw;
    max-height: 80vh; }
 }
 
 /* === Section: contact_info (atoms-first, 3-card grid + map iframe) ========= */
 .contact_info {
    background: var(--clr-white);
    color: var(--clr-black);
    padding: clamp(48px, 6vw, 120px) 0 clamp(48px, 6vw, 120px);
 }
 .contact_info__inner {
    display: flex;
    flex-direction: column;
    gap: clamp(32px, 3vw, 50px);}
 .contact_info__head {
    text-align: center;
    --gapy: 10px;
    align-items: center;
    --gapx: 10px;}
 .contact_info__subtitle {
    margin: 0;
    color: var(--clr-primary, #1052A3);
    text-transform: uppercase;}
 .contact_info__title {
    margin: 0;
    text-transform: uppercase;}
 .contact_info__intro {
    color: var(--clr-text);
    max-width: clamp(200px, 80%, 1018px);
    margin: 0 auto;}
 .contact_info__cards {
    --direction: row;
    --justify: center;
    --align: stretch;
    --wrap: wrap;
    --gapx: clamp(20px, 2.5vw, 40px);
    --gapy: clamp(20px, 2.5vw, 32px);
 }
 .contact_info__card {
    text-align: center;
    --gapy: 32px;
    --icon-size: clamp(32px, 4vw, 72px);
    padding: clamp(20px, 2.5vw, 32px);
    box-shadow: 0px 4px 34px 0px #00000012;
    border: 1px solid #0000001A;
    max-width: calc( (100% - var(--gapy) * 2 ) / 3);
    width: 100%;
 }
 .contact_info__icon {
    width: var(--icon-size);
    height: var(--icon-size);
    border-radius: 50%;
    background: var(
   --clr-secondary);
    --align: center;
    --justify: center;
    margin: 0 auto;
 }
  
 .contact_info__label {
    margin: clamp(22px, 2vw, 40px) 0 12px;
    color: #4A5565;
    text-transform: uppercase;
    letter-spacing: 0.35em;}
 .contact_info__value {
    color: var(--clr-black); }
 .contact_info__value
    p { margin: 0; }
 .contact_info__value
    a { color: inherit;
    text-decoration: underline;
    text-decoration-color: transparent;
    transition: text-decoration-color 0.2s ease; }
 .contact_info__value
    a:hover { text-decoration-color: currentColor; }
 .contact_info__map {
    width: 100%;
    aspect-ratio: 1440 / 540;
    max-height: 540px;
    overflow: hidden; }
 .contact_info__map
    iframe { width: 100%;
    height: 100%;
    border: 0;
    display: block; }
    @media (max-width: 1200px) {
 
  .contact_info__card {max-width: calc( (100% - var(--gapy) ) / 2);}
 
 }
    @media (max-width: 991px) {
   .contact_info__card { flex: 1 1 calc(50% - 20px); }
 }
    @media (max-width: 575px) {
   .contact_info__card { flex: 1 1 100%;
    max-width: 480px; }
   .contact_info__map {
    aspect-ratio: 4 / 3; }
 }
 
 /* === Landing Page namespaced .lp-* blocks ============================== */
 /*
  * All landing-page styles live under a .lp- prefix so they cannot leak into
  * the main site stylesheet (main site uses .site-* and per-block BEM blocks).
  *
  * Convention:
  *   - Page-template scope:   `.is-landing-page` (body class) when needed
  *   - Header:                `.lp-header`
  *   - Footer:                `.lp-footer`
  *   - Flex-block sections:   `.lp-{section_name}`
  *
  * Container width is controlled GLOBALLY by `.wrapper` (--container-width = 1480px).
  * NEVER hardcode max-width on lp-*__inner use .wrapper at markup time instead.
  * ========================================================================= */
 
 
 /* === lp-header absolute overlay on hero (phone left, logo center) ====== */
 .lp-header {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    width: 100%;
    padding: 0;
    background: transparent;
    color: #fff;
    z-index: 10;
 }
 .lp-header__inner {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: flex-start;
    gap: 24px;
 }
 .lp-header__phone {
    gap: clamp(12px, 1.25vw, 28px);
    color: #fff;
    padding: clamp(22px, 3vw, 42px) 0;
    position: relative;
 }
 .lp-header__phone-icon {
    width: clamp(32px, 3.75vw, 70px);
    height: clamp(32px, 3.75vw, 70px);
    flex-shrink: 0;
    display: block;
 }
 .lp-header__phone-text {
    display: flex;
    flex-direction: column;
    line-height: 1.1;
 }
 .lp-header__phone-label {
    color: #fff;
    text-transform: uppercase;
    letter-spacing: 0.035em;
 }
 .lp-header__phone-number {
    color: #fff;
    text-decoration: none;
    transition: color 0.3s ease;
 }
 .lp-header__phone-number:
    hover,
 .lp-header__phone-number:focus-visible {
  color: var(--clr-secondary);
 }
 .lp-header__brand {
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    flex: 0 0 auto;
    font-size: 0;
 }
 .lp-header__logo {
    display: inline-flex;
    align-items: center;
    width: clamp(200px, 15vw, 260px);
    height: clamp(120px, 10vw, 181px);
    line-height: 1;
 }
  
 .lp-header__logo--placeholder {
    display: inline-block;
    width: 160px;
    height: 48px;
 }
    @media (max-width: 1023px) {
   
  .lp-header__phone-icon { width: 56px;
    height: 56px; }
   
 }
    @media (max-width: 767px) {
  .lp-header__phone {padding: 0;
    margin: 32px 0;}
  .lp-header__phone-text {
    position: absolute;
    height: 100%;
    width: 100%;
    overflow: hidden;
    top: 0;
    opacity: 0;}  
 }
 
 /* === lp-footer two-bar structure ====================================== */
 .lp-footer {
    color: #fff; }

 .site-footer__info-notch--lp {
    position: relative;
    transform: inherit;
    margin-bottom: -1px;
 }

 /* Bar 1 navy info bar (#1B1656) */
 .lp-footer-info {
    background: #1B1656;
    padding: clamp(52px, 4vw, 75px) 0;
 }
 .lp-footer-info__inner {
    display: flex;
    flex-direction: column;
    gap: 22px;
 }
 .lp-footer-info__row--brand {
    gap: 48px;
    flex-wrap: wrap;
    justify-content: space-between;
 }
 .lp-footer-info__brand {
    flex: 0 0 auto; }
 .lp-footer-info__logo {
    display: inline-flex;
    align-items: center;
    max-width: 298px;
    max-height: 194px;
 }
 .lp-footer-info__logo
    img {}
 .lp-footer-info__logo--placeholder {
    display: inline-block;
    width: 200px;
    height: 80px; }
 .lp-footer-info__trust-list {
    gap: clamp(22px, 3vw, 42px);
    flex-wrap: wrap;
    list-style: none;
    padding: 0;
    margin: 0;
    justify-content: flex-end;
 }
 .lp-footer-info__trust-item {
    gap: clamp(12px, 1.25vw, 21px);
    min-height: 70px;
    padding: 20px;
    border: 1px solid rgba(255,255,255,0.18);
    flex: 0 1 auto;
    --icn-size: clamp(34px, 3vw, 51px);
    min-width: clamp(200px, 14.5vw, 268px);
 }
 .lp-footer-info__trust-icon {
    width: var(--icn-size);
    height: var(--icn-size);
    flex-shrink: 0;
    filter: brightness(0) invert(1);
 }
 .lp-footer-info__trust-label {
    color: #fff;
    white-space: normal;
    max-width: 160px;
 }
 .lp-footer-info__services-list {
    gap: 0 22px;
    flex-wrap: wrap;
    list-style: none;
    margin: 0;
    justify-content: space-between;
 }

 .lp-footer-info__services-list:
    before, .lp-footer-info__services-list:after {
     height: 1px;
    content: '';
    width: 100%;
    background: red;
    background: linear-gradient(90deg, rgba(27, 22, 86, 0) 0%, rgba(255, 255, 255, 0.3) 50.48%, rgba(27, 22, 86, 0) 100%);
 }

 .lp-footer-info__services-item {
    flex: 0 0 auto;
    padding: clamp(12px, 1.25vw, 24px) clamp(6px, 1vw, 12px);}
 .lp-footer-info__services-link {
    color: #fff;
    text-transform: uppercase;
    text-decoration: none;
    transition: color 0.3s ease;
 }
 .lp-footer-info__services-link:
    hover,
 .lp-footer-info__services-link:focus-visible {
  color: var(--clr-secondary);
    text-decoration: none;
 }
 
 /* Bar 2 black copyright bar (#000) */
 .lp-copyright {
    background: #000;
    padding: 24px 0;
 }
 .lp-copyright__inner {
    gap: 24px;
    flex-wrap: wrap;
    justify-content: space-between;
 }
 .lp-copyright__text {
    color: #fff;
    letter-spacing: 0;}
 .lp-copyright__text
    p { margin: 0;
    color: inherit; }
 .lp-copyright__legal-list {
    gap: 0;
    list-style: none;
    padding: 0;
    margin: 0;
    flex-wrap: wrap;
 }
 .lp-copyright__legal-item {
    flex: 0 0 auto; }
 .lp-copyright__legal-item + .lp-copyright__legal-item::
    before {
  content: "|";
    display: inline-block;
    margin: 0 14px;
    color: rgba(255,255,255,0.35);
 }
 .lp-copyright__legal-link {
    color: #fff;
    text-decoration: none;
    transition: color 0.3s ease;
 }
 .lp-copyright__legal-link:
    hover,
 .lp-copyright__legal-link:focus-visible { color: var(--clr-secondary); }
    @media (max-width: 1024px) {
  .lp-footer-info { padding: 48px 0; }
  .lp-footer-info__row--brand {
    gap: 28px;
    justify-content: center;}
  .lp-footer-info__services-list {
    justify-content: center;
    padding-left: 0;
    --justify: center;
}
 }
    @media (max-width: 767px) {
  .lp-footer-info { padding: 36px 0; }
  .lp-footer-info__row--brand {
    gap: 20px;
    align-items: center;
    flex-direction: column;}
  .lp-footer-info__trust-list {
    justify-content: center;
    gap: 10px;}
  .lp-footer-info__trust-item {
    padding: 12px 16px; }
  .lp-footer-info__services-list {}
  .lp-copyright__inner {
    flex-direction: column;
    align-items: center;
    gap: 12px;}

  .lp-copyright__text  {
    text-align: center; }
 
 }
 
 
 /* === lp_hero_banner ====================================================== */
 .lp-hero-banner {
    position: relative;
    overflow: hidden;
    background-color: var(--clr-dark);
    background-image: url("assets/imgs/lp-hero-banner.png");
    background-size: cover;
    background-position: center center;
    background-repeat: no-repeat;
    color: #fff;
 }
 .lp-hero-banner__overlay {
    position: absolute;
    inset: 0;
    background: linear-gradient(90deg, rgb(20 35 93) 0%, rgba(20, 35, 93, 0.82) 48%, transparent 100%);
    z-index: 0;
    pointer-events: none;
 }
 .lp-hero-banner__inner {
    position: relative;
    z-index: 4;
    display: grid;
    grid-template-columns: auto  minmax(420px, 655px);
    gap: 64px;
    align-items: start;
    padding: clamp(160px, 16vw, 269px) 20px 62px;
    min-height: 760px;
 }
 .lp-hero-banner__copy {
    display: flex;
    flex-direction: column;
    padding-top: 8px;
 }
 .lp-hero-banner__eyebrow {
    display: inline-flex;
    align-items: center;
    align-self: flex-start;
    padding: 8px 16px;
    margin-bottom: 24px;
    background: var(--clr-primary);
    text-transform: uppercase;
    letter-spacing: 0.04em;
    color: #fff;
    border-radius: 2px;
 }
 .lp-hero-banner__headline {
    margin: 0 0 20px;
    color: #fff;
    text-transform: uppercase;
    line-height: 1.05;
    max-width: 730px;
 }
 .lp-hero-banner__body {
    margin: 0 0 32px;
    max-width: 560px;
    color: rgba(255,255,255,0.9);
    line-height: 1.55;
 }
 .lp-hero-banner__cta-row {
    gap: 16px clamp(12px, 2.5vw, 30px);
    margin-bottom: 40px;}
 
 .lp-hero-banner__trust {
    display: flex;
    align-items: center;
    gap: 40px;
    flex-wrap: wrap;
 }
 .lp-hero-banner__trust-list {
    display: flex;
    gap: 28px;
    list-style: none;
    padding: 0;
    margin: 0;
    flex-wrap: wrap;
 }
 
 .lp-hero-banner__cta {
    --btn-bg: var(--clr-primary);
    --btn-border-color: var(--clr-primary);
    --btn-hover-bg: #fff;
    --btn-hover-border-color: #fff;
    --btn-hover-color: var(--clr-secondary);
    font-size: clamp(14px, 1.75vw, 20px);
 }
 
 .lp-hero-banner .gform_wrapper .gform_button {
    background: var(--clr-primary) !important;
    border-color: var(--clr-primary) !important;
 }
 
 .lp-hero-banner .gform_wrapper .gform_button:
    hover {
 
     background: var(--clr-secondary) !important;
    border-color: var(--clr-secondary) !important;
    color: #fff !important;
 }
 
 .lp-hero-banner__cta--secondary {
    --btn-border-color: var(--clr-secondary);
    --btn-bg: transparent;
    --btn-color: var(--clr-secondary);
    --btn-hover-bg: #fff;
    --btn-hover-border-color: #fff;
    --btn-hover-color: var(--clr-secondary);
 }
 
 .lp-hero-banner__trust-item {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 10px;
    min-width: 98px;
 }
 .lp-hero-banner__trust-icon {
    display: block;
    width: clamp(42px, 4vw, 59px);
    height: clamp(42px, 4vw, 59px);
    border-radius: 50%;
    object-fit: contain;
 }
 .lp-hero-banner__trust-label {
    color: #fff;
    text-align: center;
    line-height: 1.3;
    max-width: 112px;
 }
 .lp-hero-banner__reviews {
    display: flex;
    align-items: center;
    gap: 12px;
 }
 .lp-hero-banner__reviews-logo {
    width: 36px;
    height: 36px;
    flex-shrink: 0;
 }
 .lp-hero-banner__reviews-text {
    color: #fff;
    line-height: 1.3;
 }
 
 .lp-hero-banner__form-card {
    position: relative;
    display: flex;
    flex-direction: column;
    background: #fff;
    box-shadow: 0 24px 48px rgba(0,0,0,0.25);
 }
 
 
 .lp-hero-banner__form-card:
    after {
     content: '';
    position: absolute;
    width: clamp(200px, 17vw,219px);
    height: clamp(240px, 24vw,329px);
    background: url('./assets/imgs/fox-decore.png') no-repeat;
    bottom: 0;
    right: 0;
    transform: translate(60%, 45%);
    z-index: 2;
    background-size: contain;
 }
 
 
 .lp-hero-banner__form-head {
    padding: 21px 28px;
    background: #202E6D;
    text-align: center;
    border-top: clamp(2px, .5vw, 4px) solid #E0A117;
 }
 .lp-hero-banner__form-title {
    color: #fff;
    line-height: 1.25;
    max-width: 446px;
    text-transform: uppercase;
    margin: 0 auto;
    text-wrap: balance;
 }
 .lp-hero-banner__form-body {
    padding: 24px 25px 8px;}
 .lp-hero-banner__form-disclaimer {
    margin: 0;
    padding: 0 28px 24px;
    color: var(--clr-muted);
    text-align: center;
    line-height: 1.45;
 }
 
 /* GF2 scoped overrides only inside the hero card */
 .lp-hero-banner .gform_wrapper .gform_fields {
    display: grid !important;
    grid-template-columns: repeat(12, 1fr) !important;
    gap: 15px 13px !important;
 }
 .lp-hero-banner .gform_wrapper .gfield {
    margin: 0;
    padding: 0;
    grid-column: span 12;
 }
 .lp-hero-banner .gform_wrapper .gfield--width-half,
 .lp-hero-banner .gform_wrapper .gfield--width-6 {
    grid-column: span 6; }
 .lp-hero-banner .gform_wrapper .gfield--width-third,
 .lp-hero-banner .gform_wrapper .gfield--width-4 {
    grid-column: span 4; }
 .lp-hero-banner .gform_wrapper .gfield
    input[type="text"],
 .lp-hero-banner .gform_wrapper .gfield input[type="email"],
 .lp-hero-banner .gform_wrapper .gfield input[type="tel"],
 .lp-hero-banner .gform_wrapper .gfield input[type="number"],
 .lp-hero-banner .gform_wrapper .gfield select,
 .lp-hero-banner .gform_wrapper .gfield textarea {
  background-color: #F4F4F4;
    border: 1px solid #1B16564D;
    color: #00078;
 }
 .lp-hero-banner .gform_wrapper .gfield
    input:focus,
 .lp-hero-banner .gform_wrapper .gfield select:focus,
 .lp-hero-banner .gform_wrapper .gfield textarea:focus {
  outline: none;
 }
 .lp-hero-banner .gform_wrapper .gfield_label {
    display: none; }
 .lp-hero-banner .gform_wrapper .gform_footer {
    padding: clamp(22px,2vw, 31px) 0 11px;
    margin: 0;
    display: flex;
 }
 .lp-hero-banner .gform_wrapper .gform_button,
 .lp-hero-banner .gform_wrapper
    input[type="submit"],
 .lp-hero-banner .gform_wrapper button[type="submit"] {
  margin: 0 auto !important;
    min-width: clamp(24px, 68%, 321px) !important;
 }
    @media (max-width: 1279px) {
  .lp-hero-banner {min-height: auto;}
  .lp-hero-banner__inner {
    grid-template-columns: 1fr;
    gap: 48px;
    padding-bottom: 12%;}
  .lp-hero-banner__form-card {
    max-width: 540px;
    margin: 0 auto 0 0;
    width: 100%;}
 }
    @media (max-width: 768px) {
  .lp-hero-banner .gform_wrapper .gfield--width-half, .lp-hero-banner .gform_wrapper .gfield--width-6 {grid-column: span 12;}
  .lp-hero-banner__form-card:
    after {height: 220px;
    width: 220px;}
  .lp-hero-banner__inner {
    gap: 32px;
    padding-bottom: 19%;}
  .lp-hero-banner__copy {
    padding-top: 0;
    align-items: flex-start;}
  .lp-hero-banner__cta-row {
    flex-direction: column;
    align-items: stretch; }
  .lp-hero-banner__trust-list {
    gap: 16px;
    justify-content: flex-start; }
  .lp-hero-banner__trust {
    gap: 20px; }
  .lp-hero-banner__form-head {
    padding: 18px 20px; }
  .lp-hero-banner__form-body {
    padding: 18px 20px 4px; }
  .lp-hero-banner__form-disclaimer {
    padding: 0 20px 18px; }
  .lp-hero-banner__trust-item {
    max-width: 140px; }
  .lp-hero-banner__form-card:
    after { opacity: 0; }
 }
 /* === end lp_hero_banner ================================================== */
 
 
 /* === lp_features_listing ================================================= */
 .lp-features-listing {
    padding: clamp(64px, 9vw, 125px) 0;
 }
 .lp-features-listing__inner {
    display: flex;
    flex-direction: column;
    gap: clamp(32px, 3.5vw,50px);
 }
 .lp-features-listing__header {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    gap: 30px;
 }
 .lp-features-listing__heading {
    margin: 0;
    color: #000;
    text-transform: uppercase;
    text-align: center;
    max-width: 924px;
 }
 .lp-features-listing__subheading {
    margin: 0;
    max-width: 645px;
    color: #000;
 }
 
 /* === Trust cards row (5 cards, equal-width grid) ========================= */
 .lp-features-listing__trust-grid {
    display: grid;
    grid-template-columns: repeat(5, 1fr);
    gap: 10px;
    list-style: none;
    padding: 0;
    margin: 0;
 }
 .lp-features-listing__trust-card {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 9px;
    padding: clamp(24px, 2.25vw,40px) clamp(16px, 1.25vw,24px);
    background: #fff;
    text-align: center;
    box-shadow: 0px 4px 34px 0px #00000012;
    border: 1px solid #0000001A;
    --icn-size: clamp(52px, 6vw, 84px);
 }
 .lp-features-listing__trust-icon {
    width: var(--icn-size);
    height: var(--icn-size);
    flex-shrink: 0;
    display: block;
 }
 .lp-features-listing__trust-label {
    margin: 10px 0 0;
    text-align: center;
 }
 .lp-features-listing__trust-desc {
    margin: 0;
    color: #4A5565;
    text-align: center;
    max-width: 220px;
    line-height: calc(22 / 18);
 }
 
 /* === Process row (3 numbered circles + connector overlay + labels) ======= */
 .lp-features-listing__process {
    margin-top: 10px;
 }
 
 .lp-features-listing__process-label:
    before {
  width: var(--icn-size);
    height: var(--icn-size);
    display: flex;
    align-items: center;
    justify-content: center;
    background: #F7F7F7;
    border-radius: 50%;
    color: rgba(27, 22, 86, .35);
    letter-spacing: -0.01em;
    line-height: 1;
    content: attr(data-step);
    font-size: clamp(28px, calc(7.692px + 2.404vw), 50px);
    font-weight: 700;
    font-family: 'Oswald';
    margin: 0 auto;
 }
 
 .lp-features-listing__process-labels {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    justify-items: center;
    gap: 0;
    list-style: none;
    padding: 0;
    max-width: 1305px;
    margin: 0 auto;
    width: 100%;
    --sep-color: #0a3c5738;
    --icn-size: var();
    --icn-size: clamp(62px, 9vw, 104px);
 }

 .lp-features-listing__process-label {
    margin: 0;
    text-align: center;
    width: 100%;
    position: relative;
 }

 .lp-features-listing__process-label:not(:nth-child(3n)) .lp-features-listing__separator:
    before { right: 0;
    width: 112px;
    top: 0;
    transform: translate(50%, -6px);
    content: '';
    height: 20px;
    position: absolute;
    background: url('./assets/imgs/border-decore.svg') no-repeat;
    background-size: contain; }

 .lp-features-listing__separator {
    background: var(--sep-color);
    height: 2px;
    width: 100%;
    display: block;
    margin: 44px 0;
    position: relative; }

.lp-features-listing__separator:
    after {height: 8px;
    width: 8px;
    background: var(--rpi-star-color);
    position: absolute;
    transform: translate(-50%, -50%);
    content: '';
    border-radius: 50%;
    top: 0;
    left: 50%;
    outline: 4px solid #E0A11714;
    box-sizing: content-box;
    z-index: 2;}

.lp-features-listing__process-label:
    first-child .lp-features-listing__separator {
    background: linear-gradient(45deg, transparent, var(--sep-color));
}

.lp-features-listing__process-label:
    last-child .lp-features-listing__separator {
    background: linear-gradient(45deg , var(--sep-color), transparent);
}

 .lp-features-listing__process-label
    span {max-width: 240px;
    display: inline-block;}
    @media (max-width: 1280px) {
  .lp-features-listing {}
  .lp-features-listing__inner {
    gap: 64px; }
  .lp-features-listing__trust-grid {
    grid-template-columns: repeat(3, 1fr);
    gap: 20px; }
 }
    @media (max-width: 768px) {
 
  .lp-features-listing__inner { gap: 48px; }
  .lp-features-listing__trust-grid {
    grid-template-columns: repeat(2, 1fr);
    gap: 16px; }
  .lp-features-listing__trust-card {
    padding: 28px 16px;
    gap: 14px; }
  .lp-features-listing__process {
    gap: 24px; }
  .lp-features-listing__process-labels {
    grid-template-columns: 1fr;
    gap: 40px;}
  .lp-features-listing__separator {
    display: none; } 
  .lp-features-listing__process-label span {
    margin: 20px 0;
    color: #fff;
    font-size: 26px;
    max-width: inherit;}
  .lp-features-listing__process-label {
    background: #1152a3;
    padding: 40px 24px;
    color: #fff;
    border-left: 8px solid var(--clr-secondary);}
 
 }
    @media (max-width: 589px) {
     .lp-features-listing__trust-grid {
        grid-template-columns: 1fr; }
 }

 /* === end lp_features_listing ============================================= */
 
 
 /* === lp_financing_plans ================================================== */
 .lp-financing-plans {
    position: relative;
    padding: clamp(64px, 7vw, 126px) 0;
    background-color: var(--clr-dark);
    background-image: linear-gradient(rgba(31,27,77,0.94), rgba(31,27,77,0.94)), url("./assets/imgs/lp-services-section.png");
    background-size: cover;
    background-position: center center;
    background-repeat: no-repeat;
    color: #fff;
    overflow: hidden;
 }
 .lp-financing-plans__inner {
    position: relative;
    z-index: 1;
    display: flex;
    flex-direction: column;
    gap: clamp(34px, 4vw, 50px);
    text-align: center;
 }

 .lp-financing-plans__header {}
 .lp-financing-plans__heading {
    margin: 0;
    text-transform: uppercase;
    line-height: 1.1;
 }
 
 .lp-financing-plans__grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: clamp(18px, 3vw, 41px);
    list-style: none;
    padding: 0;
    margin: 0;
 }

 .lp-financing-plans__card {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 10px;
    padding: clamp(32px, 3vw, 44px);
    color: #1B1656;
    transition: .5s ease;
    border: var(--outline-width) solid rgba(255, 255, 255, .22);
    --outline-width: clamp(4px,1.25vw, 11px);
    --bg-color: #fff;
    position: relative;
 }

 .lp-financing-plans__card:
    hover {
  transform: translateY(-4px);
    box-shadow: 0 16px 36px rgba(0,0,0,0.3);
 }
 
 .lp-financing-plans__card--featured {
    --bg-color: var(--clr-secondary);
    border-color: #fff;
    color: #fff;
 }

 .lp-financing-plans__card--featured .lp-financing-plans__card-cta {
    --btn-hover-bg: #fff;
    --btn-hover-color: var(--clr-secondary);
    --btn-hover-border-color: #fff;
    --btn-bg: #164389;
    --btn-color: #fff;}

.lp-financing-plans__card:
    before {
    content: '';
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    height: 100%;
    background: var(
    --bg-color);
    width: 100%;
    z-index: -1;
}

 .lp-financing-plans__card-body:
    before {
    content: '';
    margin: 17px 0 27px;
    display: block;
    height: 1px;
    width: 100%;
    border: 1px solid #1B165636;
 }

.lp-financing-plans__card--featured
.lp-financing-plans__card-body:
    before { filter: invert(1); }

 .lp-financing-plans__card--featured:
    hover { transform: translateY(-12px); }
 .lp-financing-plans__card-heading {
    margin: 0 auto;
    text-transform: uppercase;
    max-width: 272px;
 }
 .lp-financing-plans__card-body {
    margin: 0 0 clamp(22px, 2vw, 34px);
    color: inherit;
    line-height: 1.6;
 }
 .lp-financing-plans__card-body
    p {margin: 0 auto;
    max-width: 272px;}
 .lp-financing-plans__card-cta {
    margin-top: auto;
    font-size: clamp(16px, 2vw, 20px);
    min-width: clamp(120px, 13vw, 251px );
    padding: 18px 22px;
    --btn-bg: transparent;
    --btn-color: var(--clr-secondary);
    --btn-border-color: var(--clr-secondary);
    --btn-hover-bg: #164389;
    --btn-hover-color: #fff;}
 .lp-financing-plans__disclaimer {
    color: #fff;
 }
    @media (max-width: 1024px) {
  .lp-financing-plans { padding: 80px 0; }
  .lp-financing-plans__grid {
    grid-template-columns: 1fr 1fr;
    gap: 20px;}
  .lp-financing-plans__card--featured {
    transform: none;}
  .lp-financing-plans__card--featured:
    hover { transform: translateY(-4px); }
 }
    @media (max-width: 768px) {
  .lp-financing-plans__grid { grid-template-columns: 1fr; }
  .lp-financing-plans {
    padding: 56px 0; }
  .lp-financing-plans__inner {
    gap: 32px; }
  .lp-financing-plans__card {
    max-width: 320px;
    margin: 0 auto;}
 }
 /* === end lp_financing_plans ============================================== */
 
 
 /* === lp_check_financing ================================================== */
 .lp-check-financing {
    padding: 100px 0;
    background: #fff;
    color: var(--clr-dark);
 }
 .lp-check-financing__inner {
    display: flex;
    flex-direction: column;
    gap: clamp(32px,4vw, 50px);
    text-align: center;
 }
 .lp-check-financing__heading {
    margin: 0 auto;
    color: var(--clr-text);
    text-transform: uppercase;
    line-height: 1.05;
 }
 .lp-check-financing__steps {
    display: flex;
    align-items: flex-start;
    justify-content: center;
    gap: 0;
    width: 100%;
    max-width: 460px;
    margin: 0 auto;
    padding: 8px 0;
 }
 .lp-check-financing__step {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 12px;
    flex: 0 0 auto;
 }
 .lp-check-financing__step-circle {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    border: 4px solid #D1D5DB;
    color: #9CA3AF;
    transition: all 0.3s ease;
    padding: 16.25px 21.605px;
    background: #f7f7f7;
    z-index: 2;
    aspect-ratio: 1/1;
 }
 .lp-check-financing__step.is-active .lp-check-financing__step-circle,
 .lp-check-financing__step.is-completed .lp-check-financing__step-circle {
    background: var(--clr-primary-dark);
    border-color: var(--clr-primary-dark);
    color: #fff;
 }
 .lp-check-financing__step-label {
    color: #9CA3AF;
    text-transform: uppercase;
    letter-spacing: 0.06em;
 }
 .lp-check-financing__step.is-active .lp-check-financing__step-label,
 .lp-check-financing__step.is-completed .lp-check-financing__step-label {
    color: var(--clr-primary-dark);
 }
 .lp-check-financing__connector {
    flex: 1 1 auto;
    min-width: 80px;
    height: 2px;
    background: #D1D5DB;
    margin: 9% -8px 0;
    align-self: flex-start;
    position: relative;
    overflow: hidden;
 }
 .lp-check-financing__connector::
    after {
  content: "";
    position: absolute;
    inset: 0;
    background: var(--clr-primary-dark);
    transform-origin: left center;
    transform: scaleX(var(--lp-fill, 0));
    transition: transform 0.3s ease;
 }
 
 .lp-check-financing__form {
    margin: 0 auto;
    width: 100%;
    background: #F7F7F7;
    text-align: left;
    padding: clamp(44px, 8vw, 90px) clamp(44px, 7vw, 110px);
    display: flex;
    flex-direction: column;
    row-gap: clamp(32px,4vw, 50px);
 }
 
 /* GF3 scoped overrides */
 .lp-check-financing .gform_wrapper .gform_fields {
    display: grid !important;
    gap: 20px !important;
 }
 .lp-check-financing .gform_wrapper .gfield {
    margin: 0;
    padding: 0;
    grid-column: span 12;
 }
 .lp-check-financing .gform_wrapper .gfield--width-half,
 .lp-check-financing .gform_wrapper .gfield--width-6 {
    grid-column: span 6; }
 .lp-check-financing .gform_wrapper .gfield--width-third,
 .lp-check-financing .gform_wrapper .gfield--width-4 {
    grid-column: span 4; }
 .lp-check-financing .gform_wrapper .gfield
    input[type="text"],
 .lp-check-financing .gform_wrapper .gfield input[type="email"],
 .lp-check-financing .gform_wrapper .gfield input[type="tel"],
 .lp-check-financing .gform_wrapper .gfield input[type="number"],
 .lp-check-financing .gform_wrapper .gfield select,
 .lp-check-financing .gform_wrapper .gfield textarea {
  width: 100%;
    color: #000 !important;
    border: 1px solid #2624224D;
    max-height: 80px;
    height: clamp(56px,5vw, 80px);
    padding: 0 25px;
 }
 
 .lp-check-financing .gform_wrapper .gfield_label {
    display: none; }
 .lp-check-financing .gform_wrapper .gform_footer,
 .lp-check-financing .gform_wrapper .gform-page-footer {
    display: flex;
    justify-content: center;
    margin: clamp(32px,4vw, 40px) 0 0;
    padding: 0;
 }
    button#gform_previous_button_3 { display: none; }
    button#gform_next_button_3_6, button#gform_submit_button_3 {background: #164389 !important;}
    button#gform_next_button_3_6 { font-size: 0 !important; }
    button#gform_submit_button_3:hover, button#gform_next_button_3_6:hover {background: var(--clr-secondary) !important;
    color: #fff !important;}
    button#gform_next_button_3_6:before {content: 'Continue';
    font-size: clamp(12px, 2vw, 20px) !important;
    font-weight: 600;
    font-family: 'Poppins' !important;
    text-transform: uppercase;
    letter-spacing: .03em;}
.lp-check-financing .gform_wrapper .gf_progressbar_wrapper,
.lp-check-financing .gform_wrapper .gf_progressbar_title {
    display: none; }
    @media (max-width: 1024px) {
  .lp-check-financing { padding: 80px 0; }
  .lp-check-financing__form {
    padding: 32px 32px; }
 }
    @media (max-width: 768px) {
  .lp-check-financing { padding: 56px 0; }
  .lp-check-financing__inner {
    gap: 24px; }
  .lp-check-financing__form {
    padding: 24px 18px; }
  .lp-check-financing__steps {
    padding: 8px 0;
    gap: 0;
    max-width: 320px; }
  .lp-check-financing__connector {
    min-width: 40px; }
  .lp-check-financing [class*=
    "gform_"] .gform_fields { grid-template-columns: 1fr;
    gap: 12px; }
 }
 /* === end lp_check_financing ============================================== */
 
 
 /* === lp_faq ============================================================== */
 .lp-faq {
    position: relative;
    background-color: var(--clr-dark);
    background-image: linear-gradient(rgba(31,27,77,0.96), rgba(31,27,77,0.96)), url("./assets/imgs/lp-faqs-section.png");
    background-size: cover;
    background-position: center center;
    background-repeat: no-repeat;
    color: #fff;
    overflow: hidden;
    background-attachment: fixed;
 }
 .lp-faq__inner {
    display: flex;
    flex-direction: column;
    gap: clamp(32px, 5vw, 60px);
    padding: clamp(85px, 8vw, 186px) 20px 85px;
 }
 .lp-faq__header {
    text-align: center; }
 .lp-faq__heading {
    margin: 0;
    color: #fff;
    text-transform: uppercase;
    text-align: center;
    line-height: 1.1;
    letter-spacing: 0.02em;
 }
 .lp-faq__list {
    display: grid;
    grid-template-columns: 1fr 1fr;
    column-gap: clamp(32px, 10vw, 180px);
    row-gap: 0;
    align-items: flex-start;
    position: relative;
    z-index: 2;
 }
 .lp-faq__item {
    border-bottom: 1px solid rgba(255, 255, 255, 0.3);
 }

 .lp-faq__item:nth-child(1) {
    border-top: 1px solid rgba(255, 255, 255, 0.3); }


 .lp-faq__trigger {
    all: unset;
    box-sizing: border-box;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    width: 100%;
    padding: clamp(22px, 3vw, 44px) 0;
    color: #fff;
    text-align: left;
    cursor: pointer;
    font-family: var(--ff-primary);
    line-height: 1.4;
    transition: all 0.3s ease;
 }
 .lp-faq__trigger:
    focus-visible {
  outline: 2px solid var(--clr-secondary);
    outline-offset: 2px;
 }
 .lp-faq__trigger:
    hover { color: var(--clr-secondary); }
 .lp-faq__question {
    flex: 1;
    letter-spacing: .03em;}
 .lp-faq__icon {
    position: relative;
    flex-shrink: 0;
    width: 18px;
    height: 18px;
    display: inline-block;
    color: #fff;
 }
 .lp-faq__icon::
    before,
 .lp-faq__icon::after {
  content: "";
    position: absolute;
    left: 50%;
    top: 50%;
    background: currentColor;
    transition: transform 0.3s ease;
 }
 
 .lp-faq__trigger:
    hover  .lp-faq__icon { color: var(--clr-secondary); }

 .lp-faq__icon::
    before { width: 14px;
    height: 2px;
    transform: translate(-50%, -50%); }
 .lp-faq__icon::
    after  { width: 2px;
    height: 14px;
    transform: translate(-50%, -50%); }
 .lp-faq__trigger[
    aria-expanded="true"] .lp-faq__icon::after {
  transform: translate(-50%, -50%) rotate(90deg);
    opacity: 0;
 }
 .lp-faq__panel {
    overflow: hidden;
    padding: 0 0 clamp(32px, 5vw, 60px) 0;
    color: rgba(255,255,255,0.86);
    line-height: 1.55;
 }
 .lp-faq__panel[
    hidden] { display: none; }
 .lp-faq__answer
    p { margin: 0 0 12px; }
 .lp-faq__answer
    p:last-child { margin-bottom: 0; }
 
 .lp-faq .lp-faq__mascot {
    position: absolute;
    width: clamp(190px, 15vw,275px);
    height: auto;
    z-index: 1;
    transform: translate(-31%);
 }
 .lp-faq__inner > .lp-faq__mascot {
    left: 0;
    bottom: 3%;
 }
    @media (max-width: 1280px) {
  .lp-faq__inner {
    padding: clamp(85px, 8vw, 186px) 20px 285px;
}
  .lp-faq__mascot {}
 }
    @media (max-width: 768px) {
  .lp-faq {}
  .lp-faq__inner {
    gap: 32px;
    padding-bottom: 0;}
  .lp-faq__list {
    grid-template-columns: 1fr;
    column-gap: 0; }
  .lp-faq  .lp-faq__mascot {
    transform: translate(4%);
    bottom: 3%;
    position: relative;
}
 }
 /* === end lp_faq ========================================================== */
 
 
 /* === lp_protect_home ===================================================== */
 .lp-protect-home {
    background: #fff;
    color: var(--clr-dark);
 }
 .lp-protect-home__inner {
    display: grid;
    grid-template-columns: 1.0725fr 1fr;
    gap: 0;
    min-height: 360px;
    background: #f7f7f7;
    overflow: hidden;
    padding: 24px;
    margin: clamp(64px, 6vw, 126px) 0;
 }
 .lp-protect-home__media {
    position: relative;
    min-height: 360px;
 }
 .lp-protect-home__image {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
 }
 .lp-protect-home__content {
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: clamp(16px, 1.75vw, 27px);
    padding: 40px 34px 40px clamp(40px, 7vw, 115px);
 }
 .lp-protect-home__heading {
    margin: 0;
    color: var(--clr-text);
    text-transform: uppercase;
    line-height: 1.05;
    letter-spacing: 0.01em;
    text-wrap: balance;
 }
 .lp-protect-home__sub {
    margin: 0;
    color: var(--clr-muted);
    line-height: 1.55;
 }
 .lp-protect-home__ctas {
    gap: 21px;
    margin-top: 0;
    flex-direction: column;
    align-items: stretch;
    align-items: flex-start;}
 .lp-protect-home__ctas .c-button {
    justify-content: center;
    font-size: clamp(12px, 1.5vw, 20px);
    padding: 18px;
    min-width: clamp(200px, 19vw, 313px);}
    @media (max-width: 1024px) {
  .lp-protect-home { padding: 64px 0; }
  .lp-protect-home__inner {
    grid-template-columns: 1fr; }
  .lp-protect-home__media {
    min-height: 280px; }
  .lp-protect-home__content {
    padding: 40px 32px; }
 }
    @media (max-width: 768px) {
  .lp-protect-home {
    padding: 0;
}
  .lp-protect-home__content {
    padding: 32px 22px;
    gap: 16px; }
  .lp-protect-home__ctas {
    max-width: none; }
 }
 /* === end lp_protect_home ================================================= */
 
 
 /* =============================================================================
  * Inner Page Templates (search / 404 / archive / single / default page)
  * Applied to all default WordPress template pages so they feel like part of
  * the custom-designed site. No sidebar full-width container.
  * ========================================================================== */
 
 .inner-page {
    padding: 120px 0 100px;
    background: #fff;
    color: #000;
 }
 
 .inner-page__inner {
    display: flex;
    flex-direction: column;
    gap: 56px;
 }
 
 /* --- Page header --- */
 .inner-page__header {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    gap: 16px;
    max-width: 900px;
    margin: 0 auto;
 }
 .inner-page__eyebrow {
    display: inline-block;
    color: var(--clr-secondary, #E0A117);
    text-transform: uppercase;
 }
 .inner-page__title {
    margin: 0;
    color: #000;
    text-transform: uppercase;
 }
 .inner-page__title
    span,
 .inner-page__title em {
  color: var(--clr-secondary, #E0A117);
    font-style: normal;
 }
 .inner-page__subtitle {
    margin: 0;
    color: #000;
    max-width: 720px;
 }
 
 /* --- Body content (single post / page) --- */
 .inner-page__body {
    color: #000;
 }
 .inner-page__body > * + * {
    margin-top: 24px; }
 .inner-page__body
    h1,
 .inner-page__body h2,
 .inner-page__body h3,
 .inner-page__body h4,
 .inner-page__body h5,
 .inner-page__body h6 {
  margin: 48px 0 16px;
    font-family: var(--ff-secondary);
    text-transform: uppercase;
    line-height: 1.2;
 }
 .inner-page__body
    h1 { font-size: clamp(28px, calc(7.692px + 2.404vw), 50px); }
 .inner-page__body
    h2 { font-size: clamp(24px, calc(5.538px + 2.404vw), 44px); }
 .inner-page__body
    h3 { font-size: clamp(22px, calc(12.769px + 1.202vw), 32px); }
 .inner-page__body
    h4 { font-size: clamp(20px, calc(10.769px + 1.202vw), 30px); }
 .inner-page__body
    p { line-height: 1.6; }
 .inner-page__body
    a {
  color: var(--clr-primary, #1B1656);
    text-decoration: underline;
    text-underline-offset: 3px;
    transition: color 0.3s ease;
 }
 .inner-page__body
    a:hover,
 .inner-page__body a:focus-visible {
  color: var(--clr-secondary, #E0A117);
 }
 .inner-page__body
    ul,
 .inner-page__body ol {
  padding-left: 28px;
    line-height: 1.6;
 }
 .inner-page__body
    blockquote {
  margin: 32px 0;
    padding: 24px 32px;
    background: #F7F7F7;
    border-left: 4px solid var(--clr-secondary, #E0A117);
    font-style: italic;
 }
 .inner-page__body
    img,
 .inner-page__body figure {
  margin: 32px auto;
    border-radius: 8px;
 }
 .inner-page__body
    pre,
 .inner-page__body code {
  font-family: ui-monospace, SFMono-Regular, Menlo, monospace;
    background: #F3F4F6;
    border-radius: 4px;
 }
 .inner-page__body
    code { padding: 2px 6px; }
 .inner-page__body
    pre { padding: 16px 20px;
    overflow-x: auto; }
 
 /* --- Featured image (single posts) --- */
 .inner-page__featured {
    margin: 0 auto 48px;
    max-width: 100%;
    border-radius: 12px;
    overflow: hidden;
    width: 100%;
    aspect-ratio: 16/9;
 }
 .inner-page__featured
    img { width: 100%;
    height: auto;
    display: block; }
 
 /* --- Post meta (date, author) --- */
 .inner-page__meta {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 8px 20px;
    color: #6B7280;
    margin: 0 0 32px;
 }
 .inner-page__meta
    a { color: inherit;
    text-decoration: none; }
 .inner-page__meta
    a:hover { color: var(--clr-primary, #1B1656); }
 
 /* --- Post list (search results, archives, blog index) --- */
 .inner-page__post-list {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 32px;
    list-style: none;
    padding: 0;
    margin: 0;
 }
 .inner-page__post-list--single {
    grid-template-columns: 1fr; }
 
 .inner-page__post-card {
    display: flex;
    flex-direction: column;
    gap: 16px;
    padding: 32px;
    background: #fff;
    border: 1px solid #E5E7EB;
    border-radius: 8px;
    transition: box-shadow 0.3s ease, transform 0.3s ease;
 }
 .inner-page__post-card:
    hover {
  box-shadow: 0px 4px 34px 0px rgba(0, 0, 0, 0.07);
    transform: translateY(-2px);
 }
 .inner-page__post-card-thumb {
    display: block;
    margin: -32px -32px 0;
    border-radius: 8px 8px 0 0;
    overflow: hidden;
    aspect-ratio: 16/9;
    background: #F3F4F6;
 }
 .inner-page__post-card-thumb
    img {
  width: 100%;
    height: 100%;
    object-fit: cover;
 }
 .inner-page__post-card-title {
    margin: 0;
 }
 .inner-page__post-card-title
    a {
  color: #000;
    text-decoration: none;
    transition: color 0.3s ease;
 }
 .inner-page__post-card-title
    a:hover,
 .inner-page__post-card-title a:focus-visible {
  color: var(--clr-primary, #1B1656);
 }
 .inner-page__post-card-meta {
    color: #6B7280;
    margin: 0;
 }
 .inner-page__post-card-excerpt {
    color: #4B5563;
    margin: 0;
 }
 .inner-page__post-card-readmore {
    margin-top: auto;
    color: var(--clr-primary, #1B1656);
    text-decoration: none;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.03em;
 }
 .inner-page__post-card-readmore::
    after {
  content: "";
    transition: transform 0.3s ease;
 }
 .inner-page__post-card-readmore:
    hover { color: var(--clr-secondary, #E0A117); }
 
 /* --- Pagination --- */
 .inner-page__pagination {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 8px;
    margin-top: 24px;
 }

 .inner-page__pagination .nav-links {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 8px;
 }

 .inner-page__pagination .page-numbers {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 44px;
    height: 44px;
    padding: 0 12px;
    background: #fff;
    border: 1px solid #E5E7EB;
    border-radius: 4px;
    color: #000;
    text-decoration: none;
    font-weight: 600;
    transition: all 0.3s ease;
 }
 .inner-page__pagination .page-numbers:
    hover,
 .inner-page__pagination .page-numbers:focus-visible,
 .inner-page__pagination .page-numbers.current {
  background: var(--clr-primary, #1B1656);
    border-color: var(--clr-primary, #1B1656);
    color: #fff;
 }
 .inner-page__pagination .page-numbers.dots {
    background: transparent;
    border-color: transparent;
 }
 
 /* --- Post navigation (prev/next on single) --- */
 .inner-page__post-nav {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 24px;
    margin-top: 48px;
    padding-top: 32px;
    border-top: 1px solid #E5E7EB;
 }
 .inner-page__post-nav .nav-previous,
 .inner-page__post-nav .nav-next {
    padding: 20px 24px;
    background: #fff;
    border: 2px solid #E5E7EB;
    transition: border-color 0.3s ease;
 }
 .inner-page__post-nav .nav-next {
    text-align: right; }
 .inner-page__post-nav .nav-previous:
    hover,
 .inner-page__post-nav .nav-next:hover {
  border-color: var(--clr-secondary);
    background: var(--clr-secondary);
    color: #fff;
 }

 .inner-page__post-nav .nav-previous:
    hover a, .inner-page__post-nav .nav-next:hover a, .inner-page__post-nav .nav-previous:hover span, .inner-page__post-nav .nav-next:hover span {
     color: #fff;
 }

 .inner-page__post-nav
    a {
  display: flex;
    flex-direction: column;
    gap: 4px;
    color: var(--clr-primary);
    text-decoration: none;
 }
 .inner-page__post-nav .nav-subtitle {
    font-size: 14px;
    text-transform: capitalize;
    font-weight: 600;
    font-family: 'Poppins';
 }
 .inner-page__post-nav .nav-title {
    color: #000;
    font-weight: 600;
 }
 
 /* --- Empty state ("Nothing Found" / "No Results") --- */
 .inner-page__empty {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    gap: 24px;
    padding: 64px 24px;
    background: #F7F7F7;
    border-radius: 12px;
 }
 .inner-page__empty-icon {
    width: 80px;
    height: 80px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: #fff;
    border-radius: 50%;
    color: var(--clr-primary, #1B1656);
 }
 
 /* --- Search form (used in search results header + 404) --- */
 .c-searchform {
    display: flex;
    gap: 8px;
    width: 100%;
    max-width: 560px;
    margin: 0 auto;
 }
 .c-searchform__input {
    flex: 1 1 auto;
    min-width: 0;
    padding: 14px 18px;
    background: #fff;
    border: 1px solid #E5E7EB;
    border-radius: 4px;
    font-family: var(--ff-primary);
    color: #000;
    transition: border-color 0.3s ease, box-shadow 0.3s ease;
 }
 .c-searchform__input:
    focus {
  outline: none;
    border-color: var(--clr-primary, #1B1656);
    box-shadow: 0 0 0 3px rgba(27, 22, 86, 0.12);
 }
 .c-searchform__input::
    placeholder { color: #9CA3AF; }
 .c-searchform__submit {
    flex: 0 0 auto; }
 
 /* --- Comments --- */
 .inner-page__comments {
    max-width: 880px;
    margin: 64px auto 0;
    padding-top: 48px;
    border-top: 1px solid #E5E7EB;
 }
 .inner-page__comments .comment-list {
    list-style: none;
    padding: 0;
    margin: 0 0 32px;
    display: flex;
    flex-direction: column;
    gap: 24px; }

 .inner-page__comments .comment-list
    li { padding: 20px 24px;
    background: #F7F7F7;
    border-radius: 8px; }
 .inner-page__comments .comment-list .children {
    list-style: none;
    padding: 16px 0 0 24px;
    margin: 16px 0 0;
    border-left: 2px solid #E5E7EB;
    display: flex;
    flex-direction: column;
    gap: 16px;
 }
 .inner-page__comments .comment-respond
    input[type="text"], .inner-page__comments .comment-respond input[type="email"], .inner-page__comments .comment-respond input[type="url"],
 .inner-page__comments .comment-respond textarea { width: 100%;
    padding: 12px 16px;
    background: #fff;
    border: 1px solid #E5E7EB;
    border-radius: 4px;
    font-family: var(--ff-primary); }
 .inner-page__comments .comment-respond
    textarea { min-height: 140px; }
  
 
 /* --- Responsive --- */
    @media (max-width: 1024px) {
  .inner-page { padding: 96px 0 80px; }
  .inner-page__inner {
    gap: 40px; }
 }
    @media (max-width: 768px) {
  .inner-page { padding: 72px 0 56px; }
  .inner-page__inner {
    gap: 32px; }
  .inner-page__post-list {
    grid-template-columns: 1fr;
    gap: 20px; }
  .inner-page__post-card {
    padding: 24px; }
  .inner-page__post-card-thumb {
    margin: -24px -24px 0; }
  .inner-page__post-nav {
    grid-template-columns: 1fr; }
  .inner-page__post-nav .nav-next {
    text-align: left; }
  .inner-page__empty {
    padding: 48px 20px; }
  .c-searchform {
    flex-direction: column; }
  .c-searchform__submit {
    width: 100%; }
 }
 /* === end Inner Page Templates ============================================ */

/* === Section: is_replacement_worth_it ====================================
 * Pricing page "Is a Full Roof Replacement Worth It - Or Should You Just
 * Repair?" panel. Three regions: 2-col top, centered 2x2 indicator grid,
 * full-width navy callout strip. Composes .o-flex, .fsXX atoms.
 * ========================================================================= */
.is_replacement_worth_it {
    background: var(--clr-white);
    padding: clamp(56px, 7vw, 110px) 0 0;
}
.is_replacement_worth_it__inner {
    display: flex;
    flex-direction: column;
    gap: clamp(20px, 3vw, 32px);
}
    /* ---- Top: 2-col text + image ---------- */
.is_replacement_worth_it__top {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    gap: clamp(32px, 4vw, 47px);
    align-items: start;
}
.is_replacement_worth_it__left {
    --gapx: clamp(14px, 1.8vw, 22px);
    --gapy: clamp(14px, 1.8vw, 22px);
}
.is_replacement_worth_it__title {
    margin: 0;
    text-transform: uppercase;
    color: var(--clr-black);
    line-height: 1.1;
    margin: 0 0 9px;
}
.is_replacement_worth_it__intro {
    margin: 0;
    color: var(--clr-text); }
.is_replacement_worth_it__intro
    p:first-child { margin-top: 0; }
.is_replacement_worth_it__intro
    p:last-child { margin-bottom: 0; }
.is_replacement_worth_it__repair-title {
    margin: 8px 0 0;
    color: var(--clr-black);
}
.is_replacement_worth_it__repair-body {
    margin: 0;
    color: var(--clr-text); }
.is_replacement_worth_it__repair-body
    p:first-child { margin-top: 0; }
.is_replacement_worth_it__repair-body
    p:last-child { margin-bottom: 0; }
.is_replacement_worth_it__media {
    width: 100%;
    height: 100%; }
.is_replacement_worth_it__media
    img {
  width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    display: block;
    min-height: 320px;
}
    /* ---- Middle: centered header + 2x2 grid ---------- */
.is_replacement_worth_it__replace {
    text-align: center;
    margin-top: 30px;}
.is_replacement_worth_it__replace-title {
    margin: 0 0 clamp(12px, 2vw, 17px);
}
.is_replacement_worth_it__replace-intro {
    margin: 0 auto clamp(20px, 1.75vw, 22px);
    color: var(--clr-text);
}
.is_replacement_worth_it__grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: clamp(14px, 1.4vw, 20px);
    text-align: left;
}
.is_replacement_worth_it__card {
    --align: flex-start;
    --gapy: clamp(14px, 1.4vw, 20px);
    border: 1px solid #E2E2E2;
    box-shadow: 0 2px 8px rgba(0,0,0,0.04);
    padding: clamp(16px, 1.8vw, 22px) clamp(18px, 2vw, 26px);
    --icn-size: clamp(44px, 4.5vw, 76px);
}
.is_replacement_worth_it__card-icon {
    width: var(--icn-size);
    height: var(--icn-size);
    border-radius: 50%;
    background: var(--clr-secondary);
    --align: center;
    --justify: center;
}
 
.is_replacement_worth_it__card-body {
    max-width: calc(100% - var(--icn-size) - var(--gapy)); }
.is_replacement_worth_it__card-title {
    margin: 0;
    font-family: var(--ff-primary);}
.is_replacement_worth_it__card-desc {
    margin: 0;
    color: var(--clr-text); }
    /* ---- Bottom: navy callout strip ---------- */
.is_replacement_worth_it__callout {
    background: var(--clr-dark, #1B1656);
    color: var(--clr-white);
    padding: clamp(22px, 2.6vw, 34px) clamp(22px, 3vw, 40px);
}
.is_replacement_worth_it__callout-title {
    margin: 0 0 8px;
    color: var(--clr-white);
    font-family: var(--ff-primary);
}
.is_replacement_worth_it__callout-body {
    margin: 0;
    color: var(--clr-white); }
.is_replacement_worth_it__callout-body
    p:first-child { margin-top: 0; }
.is_replacement_worth_it__callout-body
    p:last-child { margin-bottom: 0; }
    @media (max-width: 991px) {
  .is_replacement_worth_it__top { grid-template-columns: 1fr;
    gap: 28px; }
  .is_replacement_worth_it__media img {
    min-height: 240px;
    max-height: 380px; }
  .is_replacement_worth_it__grid {
    grid-template-columns: 1fr; }
}
    @media (max-width: 575px) {
  .is_replacement_worth_it { padding: 56px 0 0; }
  .is_replacement_worth_it__card {
    padding: 16px; }
  .is_replacement_worth_it__card-icon {
    width: 44px;
    height: 44px;
    flex-basis: 44px; }
}
/* === end is_replacement_worth_it ========================================= */

/* === Thank You Page namespace â€” .ty-* blocks =============================
 * Mirrors the .lp-* convention. All styles scoped under .ty-* so they
 * cannot leak into the main site or the financing landing page.
 *
 * Page body class: .is-thank-you-page
 * Header:          .ty-header (absolute overlay on hero)
 * Footer:          .ty-footer (.ty-footer-info + .ty-copyright)
 * Flex blocks:     .ty-hero, .ty-trust, .ty-whats-next, .ty-testimonials, .ty-cta-band
 * ========================================================================= */
    /* --- ty-header: absolute overlay on hero --------------------------------- */
.ty-header {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    width: 100%;
    padding: 0;
    background: transparent;
    color: #fff;
    z-index: 10;
}

.ty-header
    chat-widget {position: absolute;} {
    position: absolute; }

.ty-header__inner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 24px;
}
/* Brand notch â€” white pentagonal/shield shape behind the logo that
   overhangs the top edge of the hero (matches Figma). */
.ty-header__brand {
    position: relative;
    
    /* Pointed-bottom pentagon, like a shield notch. */
    max-height: clamp(160px, 11vw, 182px);
    max-width: clamp(160px, 16.5vw, 261px);
}
.ty-header__logo {
}
.ty-header__logo
    imchat-widgetg { max-width: 100%;
    height: auto;
    display: block; }
.ty-header__logo--placeholder {
    display: inline-block;
    width: 140px;
    height: 90px; }

.ty-header__phone {
    gap: clamp(12px, 1.75vw, 32px);
    color: #fff;
    padding: clamp(22px, 3vw, 42px) 0;
    align-items: center;
    position: relative;
    overflow: hidden;
}
.ty-header__phone-icon {
    width: clamp(44px, 3.75vw, 68px);
    height: clamp(44px, 3.75vw, 68px);
    flex-shrink: 0;
    display: block;
}
.ty-header__phone-text {
    display: flex;
    flex-direction: column;
    line-height: 1.1;
    gap: 6px;
}
.ty-header__phone-label {
    color: #fff;
    text-transform: uppercase;
    letter-spacing: 0.35em;
    line-height: 1;
}
.ty-header__phone-number {
    color: #fff;
    text-decoration: none;
    transition: color 0.3s ease;
    line-height: 1;
}
.ty-header__phone-number:
    hover,
.ty-header__phone-number:focus-visible { color: var(--clr-secondary); }
    @media (max-width: 1023px) {
    .ty-header__phone-icon { width: 52px;
    height: 52px; }
    .ty-header__brand {
    padding: 14px 22px 28px; }
    .ty-header__logo {
    width: clamp(96px, 12vw, 120px); }
}
    @media (max-width: 575px) {
 .ty-header__phone { padding: 0;
    overflow: hidden; }
    .ty-header__phone-text {
    position: absolute;
    top: 0;
    height: 100%;
    width: 100%;
    left: 0;
    opacity: 0;}
    .ty-header__phone-icon {
    width: 40px;
    height: 40px; }
    .ty-header__brand {
    padding: 12px 16px 22px; }
    .ty-header__logo {
    width: 80px; }
}

/* --- ty-hero ------------------------------------------------------------ */
.ty-hero {
    position: relative;
    overflow: hidden;
    background-color: #1B1656;
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    color: #fff;
    padding: clamp(140px, 12vw, 180px) 0 clamp(60px, 6vw, 100px);
}
.ty-hero__overlay {
    position: absolute;
    inset: 0;
    background: linear-gradient(90deg, rgba(27, 22, 86, 0.88) 0%, rgba(27, 22, 86, 0.55) 60%, rgba(27, 22, 86, 0.4) 100%);
    z-index: 1;
}
/* Lighter overlay for the form variant â€” Figma shows the roof photo
   reading clearly through the navy tint, not nearly-opaque navy. */
.ty-hero--with-form .ty-hero__overlay {
    background: linear-gradient(90deg, rgba(27, 22, 86, 0.72) 0%, rgba(27, 22, 86, 0.45) 55%, rgba(27, 22, 86, 0.25) 100%);
}
.ty-hero__inner {
    position: relative;
    z-index: 2;
    gap: clamp(32px, 6vw, 96px);
    flex-wrap: wrap;
    --justify: space-between;
    justify-content: space-between;
    align-items: center;
}
.ty-hero__content {
    flex: 1 1 480px;
    max-width: 720px;
}
.ty-hero__headline {
    color: #fff;
    text-transform: uppercase;
    margin: 0 0 21px;
    letter-spacing: 0;
    line-height: calc(89/80);
}
.ty-hero__subtitle {
    color: #fff;
    max-width: 571px;
    margin: 0 0 40px;
    line-height: 1.5;
}
.ty-hero__badges {
    list-style: none;
    margin: 0;
    padding: 0;
    gap: clamp(20px, 2.5vw, 48px);
    flex-wrap: wrap;
    align-items: stretch;
}
.ty-hero__badge {
    gap: clamp(10px, 1.5vw, 18px);
    flex: 0 1 auto;
    min-width: 0;
    --align: flex-start;
    align-items: center;
}
.ty-hero__badge-icon {
    width: clamp(32px, 3.25vw, 59px);
    height: clamp(32px, 3.25vw, 59px);
    flex-shrink: 0;
    display: block;
}
.ty-hero__badge-label {
    color: #fff;
    line-height: 1.35;
    max-width: 180px;
    display: block;
    font-weight: 400;
}
.ty-hero__media {
    position: relative;
    flex: 0 1 682px;
    max-width: 100%;
    align-self: center;
}
.ty-hero__photo {
    width: 100%;
    height: auto;
    aspect-ratio: 682/599;
    max-height: 599px;
    object-fit: cover;
    object-position: 24% 4%;
    display: block;
    border-radius: 4px;
}
.ty-hero__mascot {
    position: absolute;
    right: -48px;
    bottom: -36px;
    width: clamp(180px, 18vw, 261px);
    height: auto;
    z-index: 3;
    pointer-events: none;
}
    @media (max-width: 1023px) {
    .ty-hero__mascot { right: -24px;
    bottom: -24px;
    width: 140px; }
}
    @media (max-width: 1023px) {
    .ty-hero { padding: 120px 0 60px; }
    .ty-hero__photo {
    max-height: 320px; }
    .ty-hero__mascot {
    right: -16px;
    bottom: -16px;
    width: 120px; }
}
    @media (max-width: 767px) {
    .ty-hero__inner { flex-direction: column; }
    .ty-hero__content {
    flex: 1 1 100%; }
    .ty-hero__media {
    width: 100%; }
 body .ty-hero--with-form .ty-hero__media {
    flex: inherit;}
}
    /* --- ty-trust: trust badges / social proof strip ------------------------- */
.ty-trust {
    background: #F7F7F7;
    padding: clamp(80px, 7vw, 125px) 0 clamp(80px, 7vw, 120px);
}
.ty-trust__inner {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: clamp(40px, 4vw, 60px);
}
.ty-trust__heading {
    color: #000;
    text-transform: uppercase;
    text-align: center;
    margin: 0;
    max-width: 1000px;
}
.ty-trust__logos {
    list-style: none;
    margin: 0;
    padding: 0;
    width: 100%;
    gap: clamp(24px, 2vw, 30px);
    flex-wrap: wrap;
    justify-content: space-between;
}
.ty-trust__logo-item {
    max-width: 19%;
}
.ty-trust__logo {
    max-height: clamp(100px, 8.25vw, 154px);}
    @media (max-width: 767px) {
    .ty-trust__heading { font-size: clamp(28px, 8vw, 44px);
    line-height: 1.15; }
    .ty-trust__logo-item {
    max-width: 28%; }
 .ty-trust__logos {
    justify-content: center; }

}
    /* --- ty-whats-next: two-column "Here's What Happens Next:" --------------- */
.ty-whats-next {
    background: #fff;
    position: relative;
}
.ty-whats-next__grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    align-items: stretch;
    min-height: 480px;
}
.ty-whats-next__media {
    position: relative;
    overflow: hidden;
}
.ty-whats-next__image {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: 18% 3%;
    display: block;
}
.ty-whats-next__panel {
    background: #1B1656;
    color: #fff;
    display: flex;
    align-items: center;
    padding: clamp(40px, 5vw, 80px) clamp(32px, 5vw, 100px);
}
.ty-whats-next__panel-inner {
    display: flex;
    flex-direction: column;
    gap: 32px;
    max-width: 720px;
}
.ty-whats-next__heading {
    color: #fff;
    text-transform: uppercase;
    margin: 0;
}
.ty-whats-next__list {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 20px;
}
.ty-whats-next__item {
    gap: 16px;
    align-items: center;
    --align: center;
    --wrap: nowrap;
}
.ty-whats-next__icon {
    width: clamp(20px, 1.5vw, 24px);
    height: clamp(20px, 1.5vw, 24px);
    flex-shrink: 0;
    display: block;
}
.ty-whats-next__text {
    color: #fff;
    line-height: 1.65;
    flex: 1  auto;
    text-align: left;
    max-width: calc(100% - 22px);
}
    @media (max-width: 1023px) {
    .ty-whats-next__grid { grid-template-columns: 1fr; }
    .ty-whats-next__media {
    min-height: 320px; }

 .ty-whats-next__heading {
    text-align: center; }
}
    /* --- ty-testimonials: Rich Showcase wrapper (thank-you-only design) ----- */
.ty-testimonials {
    background: #fff;
    padding: clamp(60px, 7vw, 130px) 0;
}
.ty-testimonials__inner {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: clamp(40px, 4vw, 50px);
}
.ty-testimonials__heading {
    text-transform: uppercase;
    text-align: center;
    margin: 0;
}
.ty-testimonials__reviews {
    width: 100%; }
/* Scoped overrides for the Rich Showcase plugin output. All selectors
   are scoped under .ty-testimonials â€” they do NOT touch the main-site
   .testimonials block. Plugin DOM: .wp-gr > .wp-google-list >
   .rpi-flx.rpi-col16 > .wp-google-review (card). */
.ty-testimonials__reviews .wp-gr,
.ty-testimonials__reviews .wp-google-list {
    width: 100%; }
.ty-testimonials__reviews .wp-google-list > .rpi-flx.rpi-col16 {
    display: flex !important;
    column-gap: var(--gapy) !important;
    --gapy: clamp(22px, 3.15vw, 60px);
    row-gap: var(--gapy) !important;
    --dir: row;
    --align: streach;
    overflow: visible !important;
    flex-wrap: wrap !important;
}
/* Show only the first 3 cards (design shows 3 reviews on the thank-you page).
   Editor still controls the source plugin shortcode; we only crop the visible set. */
.ty-testimonials__reviews .wp-google-list > .rpi-flx.rpi-col16 > .wp-google-review:nth-child(
    n+4) {
    display: none !important;
}
.ty-testimonials__reviews .wp-google-review {
    background: linear-gradient(180deg, rgba(255, 255, 255, 0.1) 0%, rgba(16, 82, 163, 0.1) 100%);
    border: 0;
    border-radius: 0;
    padding: clamp(28px, 3vw, 50px);
    box-shadow: 0 0 0 1px rgba(27,22,86,0.06);
    display: block !important;
    margin: 0;
    width: 100%;
    min-height: clamp(280px, 18vw,340px);
    box-sizing: border-box;
    text-align: left;
    max-width: calc((100% - (var(--gapy) * 2 )) / 3);
    box-shadow: 0px 15px 80px 0px #0000001A;
}
/* Plugin DOM:
 *   .wp-google-review
 *     .rpi-flx.rpi-row12
 *       .grw-img-wrap (avatar)
 *       .rpi-flx.rpi-col4
 *         .wp-google-name
 *         .wp-google-time
 *         .wp-google-feedback > .rpi-stars + .wp-google-text
 * Figma wants: stars (top) â†’ review text â†’ avatar + name (bottom row).
 * Use grid + `display: contents` to flatten the nested plugin wrappers
 * and place each leaf node in its own grid area. */
.ty-testimonials__reviews .wp-google-review > .rpi-flx,
.ty-testimonials__reviews .wp-google-review .rpi-row12 {
    height: 100%;
    min-height: 280px;
    --dir: column-reverse;
    justify-content: space-between;
    height: 100%;
    position: relative;
    --img-size: clamp(43px, 4vw, 60px);
}
.ty-testimonials__reviews .wp-google-review .rpi-col4 {
    position: relative;
    height: 100%;
    justify-content: space-between;
    --card--inner-space: clamp(32px, 4vw, 50px);
}

.ty-testimonials__reviews .wp-google-review .rpi-col4:
    after {content: '';
    height: var(--img-size);
    width: var(--img-size);
    background: url('./assets/imgs/googlr-icon.svg') no-repeat;
    background-position: center;
    background-size: contain;
    position: absolute;
    right: 0;
    bottom: 0;}


.ty-testimonials__reviews .wp-google-review .wp-google-feedback {
    order: -1;}

.ty-testimonials__reviews .grw-img-wrap {
    border-radius: 50%;
    overflow: hidden;
    position: absolute;
    bottom: 0;
    left: 0;
}
.ty-testimonials__reviews
    img.grw-img-wrap {--img-size: clamp(44px, 4vw, 60px);
    width: var(--img-size) !important;
    height: var(--img-size) !important;}

/* Reviewer name (link) â€” dark navy, semibold, left aligned next to avatar */
.ty-testimonials__reviews .wp-gr.rpi
    a.wp-google-name {
    align-self: center;
    font-family: 'Oswald';
    font-size: clamp(16px, 1.75vw, 18px) !important;
    font-weight: 700 !important;
    color: #1B1656 !important;
    display: block;
    max-width: 100%;
    margin-top: auto !important;
    position: relative;
    overflow: visible !important;
}

.ty-testimonials__reviews .wp-gr.rpi
    a.wp-google-name:before {content: '';
    position: absolute;
    top: calc(-1 * var(--card--inner-space));
    width: 100%;
    left: 0;
    display: block;
    border-top: 1px solid #1E1E1E26;}

.ty-testimonials__reviews .wp-gr .wp-google-time {
    font-size: clamp(12px, 1.25vw, 14px) !important;
    color: #4A5565 !important;}

.ty-testimonials__reviews .wp-gr.rpi
    a.wp-google-name,
.ty-testimonials__reviews .wp-gr .wp-google-time {padding: 0 calc(var(--img-size) + 22px);
    pointer-events: none;
    width: 100%;}


.ty-testimonials__reviews .wp-google-name:
    hover { color: #1052A3 !important;
    text-decoration: none; }

/* Star row â€” gold/orange, top-left */
.ty-testimonials__reviews .rpi-stars,
.ty-testimonials__reviews [
    class*="grw-star"] {
    grid-area: stars;
    fill: #E0A117;
}
.ty-testimonials__reviews .rpi-stars
    svg,
.ty-testimonials__reviews .rpi-stars i,
.ty-testimonials__reviews .rpi-stars span { color: #E0A117 !important;
    fill: #E0A117 !important; }

/* Review body text */
.ty-testimonials__reviews .wp-gr .rpi-stars+.wp-google-text {
    grid-area: text;
    font-family: var(--ff-primary);
    font-size: clamp(13px, 1.75vw,16px) !important;
    color: #000 !important;
    text-align: left;
    display: block;
    width: 100%;
    margin: 0 0 var(--card--inner-space) !important;
    padding: 20px 0 var(--card--inner-space) !important;
}

/* Hide elements not present in design: date, "See All Reviews" link, etc. */
.ty-testimonials__reviews .wp-google-url, .ty-testimonials__reviews .grw-fa-circle, .ty-testimonials__reviews .grw-google {
    display: none !important;
}

.ty-testimonials__reviews
    a {
    color: #1052A3;
    text-decoration: none;
    font-weight: 600;
}
.ty-testimonials__reviews
    a:hover { color: #E0A117;
    text-decoration: underline; }
.ty-testimonials__cta-wrap {
    display: flex;
    justify-content: center;
    width: 100%;
}
.ty-testimonials__cta {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: #E0A117;
    color: #fff;
    padding: clamp(14px, 1.25vw, 16.25px) clamp(20px, 3.25vw, 27px);
    text-transform: uppercase;
    text-decoration: none;
    letter-spacing: 0.05em;
    transition: background 0.3s ease, color 0.3s ease;
    font-size: clamp(14px, 1.75vw, 20px);
    border-radius: 0;
}
.ty-testimonials__cta:
    hover,
.ty-testimonials__cta:focus-visible {
    background: #1B1656;
    color: #fff;
    text-decoration: none;
}
    @media (max-width: 1023px) {
    .ty-testimonials__reviews .wp-google-review {max-width: calc((100% - (var(--gapy) )) / 2);}
}
    @media (max-width: 575px) {
    .ty-testimonials__reviews .wp-google-review {
        max-width: 100%;
    }
}

/* --- ty-cta-band --------------------------------------------------------- */
.ty-cta-band {
    background: #E0A117;
    padding: clamp(40px, 4vw, 50px) 0;
}
.ty-cta-band__inner {
    display: flex;
    justify-content: center;
    align-items: center;
    text-align: center;
}
.ty-cta-band__text {
    color: #fff;
    text-transform: uppercase;
    text-align: center;
    max-width: 968px;
    margin: 0;
    line-height: 1.4;
}
.ty-cta-band__text
    a {
    color: #fff;
    text-decoration: underline;
    font-weight: 700;
    transition: color 0.3s ease;
    font-size: 125%;
}
.ty-cta-band__text
    a:hover,
.ty-cta-band__text a:focus-visible {
    color: #1B1656;
    text-decoration: underline;
}
    /* --- ty-footer-info: navy info bar with photo overlay -------------------- */
.ty-footer-info {
    position: relative;
    background-color: #1B1656;
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    padding: clamp(48px, 5vw, 90px) 0;
    overflow: hidden;
}
.ty-footer-info__overlay {
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg, rgba(27,22,86,0.85) 0%, rgba(27,22,86,0.92) 100%);
    z-index: 1;
}
.ty-footer-info__inner {
    position: relative;
    z-index: 2;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: clamp(32px, 4vw, 51px);
}
.ty-footer-info__brand {
    display: flex;
    justify-content: center;
    margin-top: -16px;
}
.ty-footer-info__logo {
    display: inline-flex;
    align-items: center;
    width: clamp(180px, 18vw, 281px);
}
.ty-footer-info__logo
    img { max-width: 100%;
    height: auto;
    display: block; }
.ty-footer-info__row {
    width: 100%;
    gap: clamp(24px, 2.5vw, 48px) 24px;
    
    =:
    space-between;
    align-items: center;
    border-top: 1px solid rgba(255,255,255,0.2);
    padding-top: clamp(32px, 4vw, 51px);
    --justify: space-between;
    --wrap: nowrap;
}
    @media (max-width: 1023px) {
    .ty-footer-info__row { flex-wrap: wrap; }
}
.ty-footer-info__phone,
.ty-footer-info__address {
    color: #fff;
    text-decoration: none;
    gap: 18px;
    flex: 0 1 auto;
    min-width: 0;
    --wrap: none;
}
.ty-footer-info__phone-number,
.ty-footer-info__address-value {
}
.ty-footer-info__phone-icon,
.ty-footer-info__address-icon {
    width: clamp(40px, 4.5vw, 68px);
    height: clamp(40px, 4.5vw, 68px);
}
.ty-footer-info__phone-text,
.ty-footer-info__address-text {
    display: flex;
    flex-direction: column;
    line-height: 1.15;
    gap: 8px;
    max-width: 383px;
}
.ty-footer-info__phone-label,
.ty-footer-info__address-label {
    color: #fff;
    text-transform: uppercase;
    letter-spacing: 0.35em;
}
.ty-footer-info__phone-number {
    color: #fff;
    text-decoration: none;
    transition: color 0.3s ease;
}
.ty-footer-info__phone-number:
    hover,
.ty-footer-info__phone-number:focus-visible { color: var(--clr-secondary); }
.ty-footer-info__address {
    transition: color 0.3s ease; }
.ty-footer-info__address-value {
    color: #fff; }
.ty-footer-info__address:
    hover .ty-footer-info__address-value,
.ty-footer-info__address:focus-visible .ty-footer-info__address-value { color: var(--clr-secondary); }
.ty-footer-info__cta {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: #E0A117;
    color: #fff;
    text-decoration: none;
    padding: 18px 30px;
    text-transform: uppercase;
    letter-spacing: 0.03em;
    text-align: center;
    transition: background 0.3s ease;
    flex: 0 0 auto;
    white-space: nowrap;
}
.ty-footer-info__cta:
    hover,
.ty-footer-info__cta:focus-visible {
    background: #1052A3;
    color: #fff;
    text-decoration: none;
}
    @media (max-width: 1023px) {
    .ty-footer-info__row {gap: 32px;
    justify-content: center;
    --direction: column;}
    .ty-footer-info__cta {
    width: auto;
    max-width: 100%;}

 .ty-footer-info__phone, .ty-footer-info__address {
    --direction: column;
    text-align: center; }

}
    /* --- ty-copyright: black copyright bar ---------------------------------- */
.ty-copyright {
    background: #000;
    padding: 24px 0;
}
.ty-copyright__inner {
    gap: 24px;
    flex-wrap: wrap;
    justify-content: space-between;
    --justify: space-between;
}
.ty-copyright__text {
    color: #fff;
    line-height: 1.4;
    letter-spacing: -0.01em; }
.ty-copyright__text
    p { margin: 0;
    color: #fff; }
.ty-copyright__legal-list {
    list-style: none;
    margin: 0;
    padding: 0;
    gap: 24px;
    flex-wrap: wrap;
}
.ty-copyright__legal-item {
    flex: 0 0 auto; }
.ty-copyright__legal-link {
    color: #fff;
    text-decoration: none;
    transition: color 0.3s ease;
    line-height: 1.4;
}
.ty-copyright__legal-link:
    hover,
.ty-copyright__legal-link:focus-visible {
    color: var(--clr-secondary);
    text-decoration: none;
}
    @media (max-width: 767px) {
    .ty-copyright__inner { justify-content: center;
    text-align: center; }
}

/* === Quiz Landing Page additions ========================================
 * Variant modifiers on shared TY blocks + the new project-gallery block.
 * Shares the .ty-* namespace; only overrides what differs from the
 * Thank You baseline.
 * ======================================================================== */
    /* --- ty-hero modifier: with-form ----------------------------------------- */
.ty-hero--with-form .ty-hero__eyebrow {
    display: inline-block;
    background: rgba(16, 82, 163, 0.7);
    color: #fff;
    padding: 10px 15px;
    text-transform: uppercase;
    letter-spacing: 0;
    line-height: 1.5;
    margin: 0 0 21px;
}
.ty-hero--with-form .ty-hero__media {
    flex: 0 1 655px;
    max-width: 655px;
    align-self: stretch;
}

.ty-hero--with-form .ty-hero__form {
    position: relative;
    background: #fff;
    border-radius: 0;
    overflow: hidden;
    width: 100%;
    z-index: 2;
    /* Reset the inherited white text color from .ty-hero so the form body
       text isn't invisible-on-white. The navy header strip below overrides
       back to white where it needs to. */
    color: #1E1E1E;
}

.ty-hero--with-form  .gform_button {
    background: var(--clr-202e6d);}


/* Navy header strip â€” the design's "QUESTION 01" / question title / helper
   note block. Gravity Forms emits these as a .gfield--type-html node with
   inner .c-qlabel / .c-question / .c-qnote spans, so we paint the navy on
   the HTML field itself and color the spans. */
.ty-hero--with-form .ty-hero__form .gfield--type-html {
    background: #202E6D;
    color: #fff;
    margin: 0 0 25px;
    padding: 40px 24px 30px !important;
    text-align: center;
}
.ty-hero--with-form .ty-hero__form .gfield--type-html * {
    color: #fff; }
.ty-hero--with-form .ty-hero__form .c-qlabel {
    display: block;
    font-family: var(--ff-body, 'Poppins', sans-serif);
    font-weight: 600;
    font-size: clamp(14px, 1.5vw, 16px);
    line-height: 1;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    margin-bottom: 10px;
}
.ty-hero--with-form .ty-hero__form .c-question {
    display: block;
    font-family: var(--ff-head, 'Oswald', sans-serif);
    font-weight: 700;
    font-size: clamp(22px, 2.5vw, 40px);
    line-height: 1.15;
    text-transform: uppercase;
    margin: 0 auto 7px;
    max-width: 510px;
}
.ty-hero--with-form .ty-hero__form .c-qnote {
    display: block;
    font-family: 'Oswald';
    font-weight: 700;
    font-size: clamp(12px, 1.25vw, 16px);
    line-height: 1.2;
}
/* Hide the GF progress bar at the top â€” Figma shows only "QUESTION 01" eyebrow. */
.ty-hero--with-form .ty-hero__form .gf_progressbar_wrapper,
.ty-hero--with-form .ty-hero__form .gf_step_active_anchor,
.ty-hero--with-form .ty-hero__form .gform_page_steps {
    display: none;
}
/* Gravity form header strip (navy block with QUESTION 01 + title) */
.ty-hero--with-form .ty-hero__form .gform_heading,
.ty-hero--with-form .ty-hero__form .gform_title,
.ty-hero--with-form .ty-hero__form .gform_description {
    background: #202E6D;
    color: #fff;
    text-align: center;
    margin: 0;
    padding: 0;
}
.ty-hero--with-form .ty-hero__form .gform_heading {
    padding: 40px 24px 30px;
}
.ty-hero--with-form .ty-hero__form .gform_title {
    font-family: var(--ff-head, 'Oswald', sans-serif);
    font-weight: 700;
    font-size: clamp(24px, 2.4vw, 34px);
    line-height: 1.15;
    text-transform: uppercase;
    margin: 10px 0 0;
}
.ty-hero--with-form .ty-hero__form .gform_description {
    font-family: var(--ff-body, 'Poppins', sans-serif);
    font-weight: 600;
    font-size: 16px;
    text-transform: uppercase;
    letter-spacing: 0;
    margin-bottom: 10px;
    padding: 0 24px;
}
.ty-hero--with-form .ty-hero__form .gform_body {
    padding: 0;
    border-radius: 0;
}
.ty-hero--with-form .ty-hero__form .gfield_label {
    display: none;
}
.ty-hero--with-form .ty-hero__form .gfield {
    margin: 0;
    padding: 25px 24px;
}

.ty-hero--with-form .ty-hero__form #gform_page_4_3 .gfield {
    padding: 0;
}

.ty-hero--with-form .ty-hero__form #gform_page_4_3 .gform_page_fields {
    padding: 25px 24px; }

.ty-hero--with-form .ty-hero__form .gfield
    input[type="text"],
.ty-hero--with-form .ty-hero__form .gfield input[type="email"],
.ty-hero--with-form .ty-hero__form .gfield input[type="tel"],
.ty-hero--with-form .ty-hero__form .gfield textarea {
    background: #F7F7F7;
    border: 1px solid #E2E2E2;
    border-radius: 0;
    padding: 22px 21px;
    font-family: var(--ff-body, 'Poppins', sans-serif);
    font-size: 18px;
    line-height: 30px;
    color: #1E1E1E;
    width: 100%;
}
.ty-hero--with-form .ty-hero__form .gfield
    input::placeholder,
.ty-hero--with-form .ty-hero__form .gfield textarea::placeholder {
    color: #686868;
}
.ty-hero--with-form .ty-hero__form .gchoice {
    background: #F7F7F7;
    border: 1px solid #E2E2E2;
    padding: 22px 21px;
    cursor: pointer;
    transition: border-color 0.2s ease, background 0.2s ease;
    align-items: center;
    column-gap: 10px !important;
}
.ty-hero--with-form .ty-hero__form .gchoice:
    hover {
    border-color: #1052A3;
}
.ty-hero--with-form .ty-hero__form .gchoice
    label {
    color: #686868;
    font-size: clamp(14px, 1.75vw,18px);
    line-height: calc(30/18);
    font-weight: 400;
    cursor: pointer;
    margin: 0;
}
.ty-hero--with-form .ty-hero__form .gchoice
    input[type="radio"],
.ty-hero--with-form .ty-hero__form .gchoice input[type="checkbox"] {
    accent-color: #164389;
    width: 18px;
    height: 18px;
    --gf-ctrl-choice-check-color: #164389;
    --gf-ctrl-radio-check-size: 6px;
    border-color: #164389;
    border-radius: 0;
}

.ty-hero--with-form .ty-hero__form .gchoice
    input[type="radio"] { border-radius: 40px; }

.ty-hero--with-form .ty-hero__form .gform_page_footer,
.ty-hero--with-form .ty-hero__form .gform_footer {
    padding: 0 24px 15px;
    display: flex;
    justify-content: space-between;
    gap: 15px;
    margin: 0;
}
.ty-hero--with-form .ty-hero__form .gform_previous_button,
.ty-hero--with-form .ty-hero__form .gform_next_button,
.ty-hero--with-form .ty-hero__form .gform_button {
    background: #1052A3 !important;
    color: #fff !important;
    font-weight: 600 !important;
    column-gap: 10px !important;
}

.ty-hero--with-form .ty-hero__form .gform_previous_button:
    hover, .ty-hero--with-form .ty-hero__form .gform_next_button:hover, .ty-hero--with-form .ty-hero__form .gform_button:hover { color: #fff !important;
    background: var(--clr-secondary) !important;
    border-color: var(--clr-secondary) !important;  }

.ty-hero--with-form  .gform_next_button:
    after, .ty-hero--with-form  .gform_previous_button:before  {content: '' !important;
    height: 11px;
    width: 12px;
    background: url('./assets/imgs/arrow-double-icn.png') no-repeat;
    background-size: contain; }
 
 .ty-hero--with-form  .gform_next_button:
    after { transform: rotate(180deg); }
 
.ty-hero--with-form .ty-hero__form .gform_confirmation_message {
    padding: 40px 24px;
    text-align: center;
    color: #1052A3;
    font-family: var(--ff-body, 'Poppins', sans-serif);
    font-size: 18px;
    font-weight: 500;
}
/* Tiny disclaimer line below button row */
 

.ty-hero__form-copy {
    display: block;
    padding: 0 24px 35px;
    font-size: 16px;
    line-height: calc(22/16);
    color: #4A5565;
    text-align: center;
    background: #fff;
}

/* Eyebrow pill (with-form variant only) */
.ty-hero {
    padding: 0;}
.ty-hero .ty-hero__inner{
    padding: clamp(160px, 14vw, 234px) 20px 74px;}
.ty-hero--with-form .ty-hero__inner{
    padding: clamp(160px, 14vw, 234px) 20px 27px;}
    /* --- ty-cta-band modifier: with-cta -------------------------------------- */
.ty-cta-band--with-cta {
    position: relative;
    background-color: #E0A117;
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    padding: clamp(60px, 7vw, 130px) 0;
    overflow: hidden;
}
.ty-cta-band--with-cta .ty-cta-band__overlay {
    position: absolute;
    inset: 0;
    background: rgb(255 255 255 / 90%);
    z-index: 1;
}
.ty-cta-band--with-cta .ty-cta-band__inner {
    position: relative;
    z-index: 2;
    flex-direction: column;
    gap: 30px;
}
.ty-cta-band--with-cta .ty-cta-band__text {
    color: #000;
    max-width: 1052px;
}
.ty-cta-band--with-cta .ty-cta-band__cta {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: #E0A117;
    color: #fff;
    text-decoration: none;
    padding: 18px 30px;
    text-transform: uppercase;
    letter-spacing: 0.03em;
    text-align: center;
    transition: background 0.3s ease, color 0.3s ease;
    border: 2px solid #E0A117;
}
.ty-cta-band--with-cta .ty-cta-band__cta:
    hover,
.ty-cta-band--with-cta .ty-cta-band__cta:focus-visible {
    background: #fff;
    color: #E0A117;
    text-decoration: none;
}
    /* --- ty-whats-next modifier: paragraph-with-badges (Quiz "Why Trust") ---- */
.ty-whats-next--paragraph-with-badges:
    after {content: '';
    background: url(assets/imgs/border-inst-1.png);
    height: auto;
    width: 100%;
    display: block;
    aspect-ratio: 1920 / 101;
    background-size: cover;
    background-position: top center;
    position: absolute;
    bottom: 0;
    z-index: 2;
    left: 0;}
.ty-whats-next--paragraph-with-badges .ty-whats-next__panel {
    padding: clamp(48px, 5vw, 100px) clamp(32px, 5vw, 100px) clamp(48px, 8vw, 120px);
}
.ty-whats-next--paragraph-with-badges .ty-whats-next__panel-inner {
    gap: clamp(22px, 2vw, 30px);
    max-width: 720px;
}
.ty-whats-next--paragraph-with-badges .ty-whats-next__heading {
}
.ty-whats-next--paragraph-with-badges .ty-whats-next__badges {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-wrap: wrap;
    gap: clamp(14px, 1.75vw, 20px);
}
.ty-whats-next--paragraph-with-badges .ty-whats-next__badge {
    flex: 1 1 130px;
    min-width: 130px;
    max-width: 192px;
    gap: 10px;
    padding: 25px 10px;
    text-align: center;
    flex-direction: column;
    --align: center;
    --direction: column;
    border: 1px solid #FFFFFF33;
}
.ty-whats-next--paragraph-with-badges .ty-whats-next__badge-icon {
    width: 59px;
    height: 59px;
    object-fit: contain;
    display: block;
}
.ty-whats-next--paragraph-with-badges .ty-whats-next__badge-label {
    color: #fff;
    line-height: 1.4;
    display: block;
    max-width: 144px;
    margin: 10px 0 0;
    font-size: clamp(13px, calc(6.308px + 0.481vw),  14px);
}
.ty-whats-next--paragraph-with-badges .ty-whats-next__paragraph {
    color: #fff;
}

.ty-whats-next--paragraph-with-badges .ty-whats-next__paragraph
    p { margin: 0 0 14px;
    color: #fff; }
.ty-whats-next--paragraph-with-badges .ty-whats-next__paragraph
    p:last-child { margin-bottom: 0; }
    @media (max-width: 767px) {
    .ty-whats-next--paragraph-with-badges .ty-whats-next__badges {gap: 12px;
    justify-content: center;}
    .ty-whats-next--paragraph-with-badges .ty-whats-next__badge {
    flex: 1 1 calc(50% - 6px);
    padding: 16px 8px; }
}
    /* --- ty-gallery: NEW Project Gallery block (before/after slider) -------- */
.ty-gallery {
    background: #fff;
    padding: clamp(60px, 8vw, 136px) 0;
    --arrow-size: clamp(42px, 4.5vw, 61px);
}
.ty-gallery__inner {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: clamp(32px, 3vw, 50px);
    max-width: 1672px;
    --arrow-size): ;
}
.ty-gallery__heading {
    color: #000;
    text-transform: uppercase;
    text-align: center;
    margin: 0;
}
.ty-gallery__slider-wrap {
    position: relative;
    width: 100%;
    --arrow-size: clamp(32px, 3vw, 61px)); 
}

.ty-gallery__slider {
    width: 100%;
    max-width: 1440px;
    display: inline-block;
    vertical-align: middle;
    box-shadow: 0px 4px 54px 0px #ececec;
    max-width: calc(100% - ( var(--arrow-size) * 2 ) - 50px);
    margin: 0 20px;
}
.ty-gallery__card {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 5px;
    height: auto;
    padding: 10px;
    box-shadow: 0px 4px 54px 0px #00000033;
    box-sizing: border-box;
    background: #fff;
}
.ty-gallery__shot {
    position: relative;
    margin: 0;
    overflow: hidden;
    aspect-ratio: 169/223;
    background: #1B1656;
}
.ty-gallery__image {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}
.ty-gallery__label {
    position: absolute;
    left: 16px;
    bottom: 16px;
    margin: 0;
    color: #fff;
    text-shadow: 0 1px 3px rgba(0,0,0,0.5);
    line-height: 1;
    z-index: 2;
}
.ty-gallery__arrow {
    background: transparent;
    border: 0;
    cursor: pointer;
    padding: 0;
    width: var(--arw-size);
    height: 31px;
    display: inline-block;
    vertical-align: middle;
    transition: opacity 0.3s ease;
}

.ty-gallery__arrow-icon {
    display: block;
    width: var(--arrow-size);
    height: 31px;
    object-fit: contain;
    transition: filter 0.3s ease;
}

.ty-gallery__arrow:
    hover .ty-gallery__arrow-icon,
.ty-gallery__arrow:focus-visible .ty-gallery__arrow-icon {
    filter: brightness(0.5); }

.ty-gallery__arrow.is-disabled,
.ty-gallery__arrow[
    disabled] {
    opacity: 0.35;
    cursor: not-allowed;
    pointer-events: none; }
    @media (max-width: 767px) {
 .ty-gallery__card {grid-template-columns: 1fr;}
 .ty-gallery__slider {
    max-width: 100%;
    margin: 0;}
    .ty-gallery__slider-wrap {
    position: relative;
    padding-bottom: 44px;}
    .ty-gallery__arrow {
    width: 44px;
    height: 22px;
    position: absolute;
    bottom: 0;
    left: calc(50% - 53px);}
    .ty-gallery__arrow-icon {
    width: 44px;
    height: 22px; }
 .ty-gallery__arrow--next {
    left: calc(50% + 10px);}

}

.ty-hero--with-form  .gform-theme .gform-loader,
.ty-hero--with-form  .gform_wrapper .gform_ajax_spinner {
    display: none !important;
} 
/* === end Quiz Landing Page additions ==================================== */
/* === end Thank You Page namespace ======================================= */';;
}
.ty-hero__mascot {
    position: absolute;
    right: -17%;
    bottom: -22%;
    width: clamp(180px, 18vw, 186px);
    height: auto;
    z-index: 3;
    pointer-events: none;
}
@media (max-width: 1023px) {
    .ty-hero__mascot {right: -7%;bottom: -22%;width: 140px;}
}
@media (max-width: 1023px) {
    .ty-hero { padding: 120px 0 60px; }
    .ty-hero__photo { max-height: 320px; }
    .ty-hero__mascot {}
}
@media (max-width: 767px) {
    .ty-hero__inner {flex-direction: column;align-items: flex-start;}
    .ty-hero__content {flex: 1 1 100%;max-width: 100%;}
    .ty-hero__media {width: 100%;max-width: 460px;margin-left: 0;margin-right: auto;}
	body .ty-hero--with-form .ty-hero__media {flex: inherit;}
}

/* --- ty-trust: trust badges / social proof strip ------------------------- */
.ty-trust {
    background: #F7F7F7;
    padding: clamp(80px, 7vw, 125px) 0 clamp(80px, 7vw, 120px);
}
.ty-trust__inner {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: clamp(40px, 4vw, 60px);
}
.ty-trust__heading {
    color: #000;
    text-transform: uppercase;
    text-align: center;
    margin: 0;
    max-width: 1000px;
}
.ty-trust__logos {
    list-style: none;
    margin: 0;
    padding: 0;
    width: 100%;
    gap: clamp(24px, 2vw, 30px);
    flex-wrap: wrap;
    justify-content: space-between;
}
.ty-trust__logo-item {
    max-width: 19%;
}
.ty-trust__logo {max-height: clamp(100px, 8.25vw, 154px);}
@media (max-width: 767px) {
    .ty-trust__heading { font-size: clamp(28px, 8vw, 44px); line-height: 1.15; }
    .ty-trust__logo-item { max-width: 28%; }
	.ty-trust__logos { justify-content: center; }

}

/* --- ty-whats-next: two-column "Here's What Happens Next:" --------------- */
.ty-whats-next {
    background: #fff;
    position: relative;
}

.ty-whats-next:after {
    content: '';
    position: absolute;
    bottom: 0;
    z-index: 2;
    background: url(assets/imgs/border-inst-1.png);
    height: auto;
    width: 100%;
    display: block;
    z-index: 3;
    aspect-ratio: 1920 / 101;
    background-size: cover;
    background-position: top center;
 }

.ty-whats-next__grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    align-items: stretch;
    min-height: 480px;
}
.ty-whats-next__media {
    position: relative;
    overflow: hidden;
}
.ty-whats-next__image {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: 18% 3%;
    display: block;
}
.ty-whats-next__panel {
    background: #1B1656;
    color: #fff;
    display: flex;
    align-items: center;
    padding: clamp(40px, 5vw, 80px) clamp(32px, 5vw, 100px) clamp(64px, 10vw, 124px);
    min-height: min(33.5vw, 646px);
    justify-content: center;
}
.ty-whats-next__panel-inner {
    display: flex;
    flex-direction: column;
    gap: 32px;
    max-width: 720px;
}
.ty-whats-next__heading {
    color: #fff;
    text-transform: uppercase;
    margin: 0;
}
.ty-whats-next__list {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 20px;
}
.ty-whats-next__item {
    gap: 16px;
    align-items: center;
    --align: flex-start;
    --wrap: nowrap;
    width: 100%;
}
.ty-whats-next__icon {
    width: clamp(20px, 1.5vw, 24px);
    height: clamp(20px, 1.5vw, 24px);
    flex-shrink: 0;
    display: block;
    margin-bottom: auto;
}
.ty-whats-next__text {
    color: #fff;
    line-height: 1.65;
    flex: 1  auto;
    text-align: left;
    max-width: min(calc(100% - 42px), 546px);
    width: 100%;
}
@media (max-width: 1023px) {
    .ty-whats-next__grid { grid-template-columns: 1fr; }
    .ty-whats-next__media { min-height: 320px; }

	.ty-whats-next__heading { text-align: center; }
}

/* --- ty-testimonials: Rich Showcase wrapper (thank-you-only design) ----- */
.ty-testimonials {
    background: #fff;
    padding: clamp(60px, 7vw, 130px) 0;
}
.ty-testimonials__inner {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: clamp(40px, 4vw, 50px);
}
.ty-testimonials__heading {
    text-transform: uppercase;
    text-align: center;
    margin: 0;
}
.ty-testimonials__reviews { width: 100%; }
/* Scoped overrides for the Rich Showcase plugin output. All selectors
   are scoped under .ty-testimonials â€” they do NOT touch the main-site
   .testimonials block. Plugin DOM: .wp-gr > .wp-google-list >
   .rpi-flx.rpi-col16 > .wp-google-review (card). */
.ty-testimonials__reviews .wp-gr,
.ty-testimonials__reviews .wp-google-list { width: 100%; }
.ty-testimonials__reviews .wp-google-list > .rpi-flx.rpi-col16 {
    display: flex !important;
    column-gap: var(--gapy) !important;
    --gapy: clamp(22px, 3.15vw, 60px);
    row-gap: var(--gapy) !important;
    --dir: row;
    --align: streach;
    overflow: visible !important;
    flex-wrap: wrap !important;
}
/* Show only the first 3 cards (design shows 3 reviews on the thank-you page).
   Editor still controls the source plugin shortcode; we only crop the visible set. */
.ty-testimonials__reviews .wp-google-list > .rpi-flx.rpi-col16 > .wp-google-review:nth-child(n+4) {
    display: none !important;
}
.ty-testimonials__reviews .wp-google-review {
    background: linear-gradient(180deg, rgba(255, 255, 255, 0.1) 0%, rgba(16, 82, 163, 0.1) 100%);
    border: 0;
    border-radius: 0;
    padding: clamp(28px, 3vw, 50px);
    box-shadow: 0 0 0 1px rgba(27,22,86,0.06);
    display: block !important;
    margin: 0;
    width: 100%;
    min-height: clamp(280px, 18vw,340px);
    box-sizing: border-box;
    text-align: left;
    max-width: calc((100% - (var(--gapy) * 2 )) / 3);
    box-shadow: 0px 15px 80px 0px #0000001A;
}
/* Plugin DOM:
 *   .wp-google-review
 *     .rpi-flx.rpi-row12
 *       .grw-img-wrap (avatar)
 *       .rpi-flx.rpi-col4
 *         .wp-google-name
 *         .wp-google-time
 *         .wp-google-feedback > .rpi-stars + .wp-google-text
 * Figma wants: stars (top) â†’ review text â†’ avatar + name (bottom row).
 * Use grid + `display: contents` to flatten the nested plugin wrappers
 * and place each leaf node in its own grid area. */
.ty-testimonials__reviews .wp-google-review > .rpi-flx,
.ty-testimonials__reviews .wp-google-review .rpi-row12 {
    height: 100%;
    min-height: 280px;
    --dir: column-reverse;
    justify-content: space-between;
    height: 100%;
    position: relative;
    --img-size: clamp(43px, 4vw, 60px);
}
.ty-testimonials__reviews .wp-google-review .rpi-col4 {
    position: relative;
    height: 100%;
    justify-content: space-between;
    --card--inner-space: clamp(32px, 4vw, 50px);
}

.ty-testimonials__reviews .wp-google-review .rpi-col4:after {content: '';height: var(--img-size);width: var(--img-size);background: url('./assets/imgs/googlr-icon.svg') no-repeat;background-position: center;background-size: contain;position: absolute;right: 0;bottom: 0;}


.ty-testimonials__reviews .wp-google-review .wp-google-feedback {order: -1;}

.ty-testimonials__reviews .grw-img-wrap {
    border-radius: 50%;
    overflow: hidden;
    position: absolute;
    bottom: 0;
    left: 0;
}
.ty-testimonials__reviews img.grw-img-wrap {--img-size: clamp(44px, 4vw, 60px);width: var(--img-size) !important;height: var(--img-size) !important;}

/* Reviewer name (link) â€” dark navy, semibold, left aligned next to avatar */
.ty-testimonials__reviews .wp-gr.rpi a.wp-google-name {
    align-self: center; text-transform: uppercase;
    font-family: 'Oswald';
    font-size: clamp(16px, 1.75vw, 20px) !important;
    font-weight: 700 !important;
    color: #1E1E1E!important;
    display: block;
    max-width: 100%;
    margin-top: auto !important;
    position: relative;
    overflow: visible !important;
}

.ty-testimonials__reviews .wp-gr.rpi a.wp-google-name:before {content: '';position: absolute;top: calc(-1 * var(--card--inner-space));width: 100%;left: 0;display: block;border-top: 1px solid #1E1E1E26;}

.ty-testimonials__reviews .wp-gr .wp-google-time {font-size: clamp(12px, 1.25vw, 18px) !important;color: #4A5565 !important;font-weight: 400 !important;}

.ty-testimonials__reviews .wp-gr.rpi a.wp-google-name,
.ty-testimonials__reviews .wp-gr .wp-google-time {padding: 0 calc(var(--img-size) + 22px);pointer-events: none;width: 100%;}


.ty-testimonials__reviews .wp-google-name:hover { color: #1052A3 !important; text-decoration: none; }

/* Star row â€” gold/orange, top-left */
.ty-testimonials__reviews .rpi-stars,
.ty-testimonials__reviews [class*="grw-star"] {
    grid-area: stars;
    fill: #E0A117;
}
.ty-testimonials__reviews .rpi-stars svg,
.ty-testimonials__reviews .rpi-stars i,
.ty-testimonials__reviews .rpi-stars span { color: #E0A117 !important; fill: #E0A117 !important; }

/* Review body text */
.ty-testimonials__reviews .wp-gr .rpi-stars+.wp-google-text {
    grid-area: text;
    font-family: var(--ff-primary);
    font-size: clamp(13px, 1.75vw,16px) !important;
    color: #000 !important;
    text-align: left;
    display: block;
    width: 100%;
    margin: 0 0 var(--card--inner-space) !important;
    padding: 20px 0 var(--card--inner-space) !important;
}

/* Hide elements not present in design: date, "See All Reviews" link, etc. */
.ty-testimonials__reviews .wp-google-url, .ty-testimonials__reviews .grw-fa-circle, .ty-testimonials__reviews .grw-google {
    display: none !important;
}

.ty-testimonials__reviews a {
    color: #1052A3;
    text-decoration: none;
    font-weight: 600;
}
.ty-testimonials__reviews a:hover { color: #E0A117; text-decoration: underline; }
.ty-testimonials__cta-wrap {
    display: flex;
    justify-content: center;
    width: 100%;
}
.ty-testimonials__cta {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: #E0A117;
    color: #fff;
    padding: clamp(14px, 1.25vw, 16.25px) clamp(20px, 3.25vw, 27px);
    text-transform: uppercase;
    text-decoration: none;
    letter-spacing: 0.05em;
    transition: background 0.3s ease, color 0.3s ease;
    font-size: clamp(14px, 1.75vw, 20px);
    border-radius: 0;
}
.ty-testimonials__cta:hover,
.ty-testimonials__cta:focus-visible {
    background: #1B1656;
    color: #fff;
    text-decoration: none;
}
@media (max-width: 1023px) {
    .ty-testimonials__reviews .wp-google-review {max-width: calc((100% - (var(--gapy) )) / 2);}
}
@media (max-width: 575px) {
    .ty-testimonials__reviews .wp-google-review {
        max-width: 100%;
    }
}

/* --- ty-cta-band --------------------------------------------------------- */
.ty-cta-band {
    background: #E0A117;
    padding: clamp(40px, 4vw, 50px) 0;
}
.ty-cta-band__inner {
    display: flex;
    justify-content: center;
    align-items: center;
    text-align: center;
}
.ty-cta-band__text {
    color: #fff;
    text-transform: uppercase;
    text-align: center;
    max-width: 968px;
    margin: 0;
    line-height: 1.4;
}
.ty-cta-band__text a {
    color: #fff;
    text-decoration: underline;
    font-weight: 700;
    transition: color 0.3s ease;
    font-size: 125%;
}
.ty-cta-band__text a:hover,
.ty-cta-band__text a:focus-visible {
    color: #1B1656;
    text-decoration: underline;
}

/* --- ty-footer-info: navy info bar with photo overlay -------------------- */
.ty-footer-info {
    position: relative;
    background-color: #1B1656;
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    padding: clamp(48px, 5vw, 90px) 0;
    overflow: hidden;
}
.ty-footer-info__overlay {
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg, rgba(27,22,86,0.85) 0%, rgba(27,22,86,0.92) 100%);
    z-index: 1;
}
.ty-footer-info__inner {
    position: relative;
    z-index: 2;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: clamp(32px, 4vw, 51px);
}
.ty-footer-info__brand {
    display: flex;
    justify-content: center;
    margin-top: -16px;
}
.ty-footer-info__logo {
    display: inline-flex;
    align-items: center;
    width: clamp(180px, 18vw, 281px);
}
.ty-footer-info__logo img { max-width: 100%; height: auto; display: block; }
.ty-footer-info__row {
    width: 100%;
    gap: clamp(24px, 2.5vw, 48px) 24px;
    
    =:
    space-between;
    align-items: center;
    border-top: 1px solid rgba(255,255,255,0.2);
    padding-top: clamp(32px, 4vw, 51px);
    --justify: space-between;
    --wrap: nowrap;
}
@media (max-width: 1023px) {
    .ty-footer-info__row { flex-wrap: wrap; }
}
.ty-footer-info__phone,
.ty-footer-info__address {
    color: #fff;
    text-decoration: none;
    gap: 18px;
    flex: 0 1 auto;
    min-width: 0;
    --wrap: none;
}
.ty-footer-info__phone-number,
.ty-footer-info__address-value {
}
.ty-footer-info__phone-icon,
.ty-footer-info__address-icon {
    width: clamp(40px, 4.5vw, 68px);
    height: clamp(40px, 4.5vw, 68px);
}
.ty-footer-info__phone-text,
.ty-footer-info__address-text {
    display: flex;
    flex-direction: column;
    line-height: 1.15;
    gap: 8px;
    max-width: 383px;
}
.ty-footer-info__phone-label,
.ty-footer-info__address-label {
    color: #fff;
    text-transform: uppercase;
    letter-spacing: 0.35em;
}
.ty-footer-info__phone-number {
    color: #fff;
    text-decoration: none;
    transition: color 0.3s ease;
}
.ty-footer-info__phone-number:hover,
.ty-footer-info__phone-number:focus-visible { color: var(--clr-secondary); }
.ty-footer-info__address { transition: color 0.3s ease; }
.ty-footer-info__address-value { color: #fff; }
.ty-footer-info__address:hover .ty-footer-info__address-value,
.ty-footer-info__address:focus-visible .ty-footer-info__address-value { color: var(--clr-secondary); }
.ty-footer-info__cta {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: #E0A117;
    color: #fff;
    text-decoration: none;
    padding: 18px 30px;
    text-transform: uppercase;
    letter-spacing: 0.03em;
    text-align: center;
    transition: background 0.3s ease;
    flex: 0 0 auto;
    white-space: nowrap;
}
.ty-footer-info__cta:hover,
.ty-footer-info__cta:focus-visible {
    background: #1052A3;
    color: #fff;
    text-decoration: none;
}
@media (max-width: 1023px) {
    .ty-footer-info__row {gap: 32px;justify-content: center;--direction: column;}
    .ty-footer-info__cta {width: auto;max-width: 100%;}

	.ty-footer-info__phone, .ty-footer-info__address { --direction: column; text-align: center; }

}

/* --- ty-copyright: black copyright bar ---------------------------------- */
.ty-copyright {
    background: #000;
    padding: 24px 0;
}
.ty-copyright__inner {
    gap: 24px;
    flex-wrap: wrap;
    justify-content: space-between;
    --justify: space-between;
}
.ty-copyright__text { color: #fff; line-height: 1.4; letter-spacing: -0.01em; }
.ty-copyright__text p { margin: 0; color: #fff; }
.ty-copyright__legal-list {
    list-style: none;
    margin: 0;
    padding: 0;
    gap: 24px;
    flex-wrap: wrap;
}
.ty-copyright__legal-item { flex: 0 0 auto; }
.ty-copyright__legal-link {
    color: #fff;
    text-decoration: none;
    transition: color 0.3s ease;
    line-height: 1.4;
}
.ty-copyright__legal-link:hover,
.ty-copyright__legal-link:focus-visible {
    color: var(--clr-secondary);
    text-decoration: none;
}
@media (max-width: 767px) {
    .ty-copyright__inner { justify-content: center; text-align: center; }
}

/* === Quiz Landing Page additions ========================================
 * Variant modifiers on shared TY blocks + the new project-gallery block.
 * Shares the .ty-* namespace; only overrides what differs from the
 * Thank You baseline.
 * ======================================================================== */

/* --- ty-hero modifier: with-form ----------------------------------------- */
.ty-hero--with-form .ty-hero__eyebrow {
    display: inline-block;
    background: rgba(16, 82, 163, 0.7);
    color: #fff;
    padding: 10px 15px;
    text-transform: uppercase;
    letter-spacing: 0;
    line-height: 1.5;
    margin: 0 0 21px;
}
.ty-hero--with-form .ty-hero__media {
    max-width: 50.5%;
    align-self: stretch;
    width: 100%;
}

.ty-hero--with-form .ty-hero__form {
    position: relative;
    background: #fff;
    border-radius: 0;
    overflow: hidden;
    width: 100%;
    z-index: 2;
    /* Reset the inherited white text color from .ty-hero so the form body
       text isn't invisible-on-white. The navy header strip below overrides
       back to white where it needs to. */
    color: #1E1E1E;
    border-top: 3px solid var(--Color-2, #E0A117);
}

.ty-hero--with-form  .gform_button {background: var(--clr-202e6d);}


/* Navy header strip â€” the design's "QUESTION 01" / question title / helper
   note block. Gravity Forms emits these as a .gfield--type-html node with
   inner .c-qlabel / .c-question / .c-qnote spans, so we paint the navy on
   the HTML field itself and color the spans. */
.ty-hero--with-form .ty-hero__form .gfield--type-html {
    background: #202E6D;
    color: #fff;
    margin: 0 0 25px;
    padding: 40px 24px 30px !important;
    text-align: center;
}
.ty-hero--with-form .ty-hero__form .gfield--type-html * { color: #fff; }
.ty-hero--with-form .ty-hero__form .c-qlabel {
    display: block;
    font-family: var(--ff-body, 'Poppins', sans-serif);
    font-weight: 600;
    font-size: clamp(14px, 1.5vw, 16px);
    line-height: 1;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    margin-bottom: 10px;
}
.ty-hero--with-form .ty-hero__form .c-question {
    display: block;
    font-family: var(--ff-head, 'Oswald', sans-serif);
    font-weight: 700;
    font-size: clamp(22px, 2.5vw, 40px);
    line-height: 1.15;
    text-transform: uppercase;
    margin: 0 auto 7px;
    max-width: 510px;
}
.ty-hero--with-form .ty-hero__form .c-qnote {
    display: block;
    font-family: 'Oswald';
    font-weight: 700;
    font-size: clamp(12px, 1.25vw, 16px);
    line-height: 1.2;
}
/* Hide the GF progress bar at the top â€” Figma shows only "QUESTION 01" eyebrow. */
.ty-hero--with-form .ty-hero__form .gf_progressbar_wrapper,
.ty-hero--with-form .ty-hero__form .gf_step_active_anchor,
.ty-hero--with-form .ty-hero__form .gform_page_steps {
    display: none;
}
/* Gravity form header strip (navy block with QUESTION 01 + title) */
.ty-hero--with-form .ty-hero__form .gform_heading,
.ty-hero--with-form .ty-hero__form .gform_title,
.ty-hero--with-form .ty-hero__form .gform_description {
    background: #202E6D;
    color: #fff;
    text-align: center;
    margin: 0;
    padding: 0;
}
.ty-hero--with-form .ty-hero__form .gform_heading {
    padding: 40px 24px 30px;
}
.ty-hero--with-form .ty-hero__form .gform_title {
    font-family: var(--ff-head, 'Oswald', sans-serif);
    font-weight: 700;
    font-size: clamp(24px, 2.4vw, 34px);
    line-height: 1.15;
    text-transform: uppercase;
    margin: 10px 0 0;
}
.ty-hero--with-form .ty-hero__form .gform_description {
    font-family: var(--ff-body, 'Poppins', sans-serif);
    font-weight: 600;
    font-size: 16px;
    text-transform: uppercase;
    letter-spacing: 0;
    margin-bottom: 10px;
    padding: 0 24px;
}
.ty-hero--with-form .ty-hero__form .gform_body {
    padding: 0;
    border-radius: 0;
}
.ty-hero--with-form .ty-hero__form .gfield_label {
    display: none;
}
.ty-hero--with-form .ty-hero__form .gfield {
    margin: 0;
    padding: 25px 24px;
}

.ty-hero--with-form .ty-hero__form #gform_page_4_3 .gfield {
    padding: 0;
}

.ty-hero--with-form .ty-hero__form #gform_page_4_3 .gform_page_fields { padding: 25px 24px; }

.ty-hero--with-form .ty-hero__form .gfield input[type="text"],
.ty-hero--with-form .ty-hero__form .gfield input[type="email"],
.ty-hero--with-form .ty-hero__form .gfield input[type="tel"],
.ty-hero--with-form .ty-hero__form .gfield textarea {
    background: #F7F7F7;
    border: 1px solid #E2E2E2;
    border-radius: 0;
    padding: 22px 21px;
    font-family: var(--ff-body, 'Poppins', sans-serif);
    font-size: 18px;
    line-height: 30px;
    color: #1E1E1E;
    width: 100%;
}
.ty-hero--with-form .ty-hero__form .gfield input::placeholder,
.ty-hero--with-form .ty-hero__form .gfield textarea::placeholder {
    color: #686868;
}
.ty-hero--with-form .ty-hero__form .gchoice {
    background: #F7F7F7;
    border: 1px solid #E2E2E2;
    padding: 22px 21px;
    cursor: pointer;
    transition: border-color 0.2s ease, background 0.2s ease;
    align-items: center;
    column-gap: 10px !important;
}
.ty-hero--with-form .ty-hero__form .gchoice:hover {
    border-color: #1052A3;
}
.ty-hero--with-form .ty-hero__form .gchoice label {
    color: #686868;
    font-size: clamp(14px, 1.75vw,18px);
    line-height: calc(30/18);
    font-weight: 400;
    cursor: pointer;
    margin: 0;
}
.ty-hero--with-form .ty-hero__form .gchoice input[type="radio"],
.ty-hero--with-form .ty-hero__form .gchoice input[type="checkbox"] {
    accent-color: #164389;
    width: 18px;
    height: 18px;
    --gf-ctrl-choice-check-color: #164389;
    --gf-ctrl-radio-check-size: 6px;
    border-color: #164389;
    border-radius: 0;
}

.ty-hero--with-form .ty-hero__form .gchoice input[type="radio"] { border-radius: 40px; }

.ty-hero--with-form .ty-hero__form .gform_page_footer,
.ty-hero--with-form .ty-hero__form .gform_footer {
    padding: 0 24px 15px;
    display: flex;
    justify-content: space-between;
    gap: 15px;
    margin: 0;
}
.ty-hero--with-form .ty-hero__form .gform_previous_button,
.ty-hero--with-form .ty-hero__form .gform_next_button,
.ty-hero--with-form .ty-hero__form .gform_button {
    background: #1052A3 !important;
    color: #fff !important;
    font-weight: 600 !important;
    column-gap: 10px !important;
}

.ty-hero--with-form .ty-hero__form .gform_previous_button:hover, .ty-hero--with-form .ty-hero__form .gform_next_button:hover, .ty-hero--with-form .ty-hero__form .gform_button:hover { color: #fff !important; background: var(--clr-secondary) !important; border-color: var(--clr-secondary) !important;  }

.ty-hero--with-form  .gform_next_button:after, .ty-hero--with-form  .gform_previous_button:before  {content: '' !important;height: 11px;width: 12px;background: url('./assets/imgs/arrow-double-icn.png') no-repeat; background-size: contain; }
 
 .ty-hero--with-form  .gform_next_button:after { transform: rotate(180deg); }
 
.ty-hero--with-form .ty-hero__form .gform_confirmation_message {
    padding: 40px 24px;
    text-align: center;
    color: #1052A3;
    font-family: var(--ff-body, 'Poppins', sans-serif);
    font-size: 18px;
    font-weight: 500;
}
/* Tiny disclaimer line below button row */
 

.ty-hero__form-copy {
    display: block;
    padding: 0 24px 35px;
    font-size: 16px;
    line-height: calc(22/16);
    color: #4A5565;
    text-align: center;
    background: #fff;
}

/* Eyebrow pill (with-form variant only) */
.ty-hero {padding: 0;}
.ty-hero .ty-hero__inner{padding: clamp(160px, 14vw, 234px) 20px 74px;gap: clamp(32px, 6vw, 96px) 32px;}
.ty-hero--with-form .ty-hero__inner{padding: clamp(160px, 14vw, 234px) 20px 27px;}

/* --- ty-cta-band modifier: with-cta -------------------------------------- */
.ty-cta-band--with-cta {
    position: relative;
    background-color: #E0A117;
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    padding: clamp(60px, 7vw, 130px) 0;
    overflow: hidden;
}
.ty-cta-band--with-cta .ty-cta-band__overlay {
    position: absolute;
    inset: 0;
    background: rgb(255 255 255 / 90%);
    z-index: 1;
}
.ty-cta-band--with-cta .ty-cta-band__inner {
    position: relative;
    z-index: 2;
    flex-direction: column;
    gap: 30px;
}
.ty-cta-band--with-cta .ty-cta-band__text {
    color: #000;
    max-width: 1052px;
}
.ty-cta-band--with-cta .ty-cta-band__cta {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: #E0A117;
    color: #fff;
    text-decoration: none;
    padding: 18px 30px;
    text-transform: uppercase;
    letter-spacing: 0.03em;
    text-align: center;
    transition: background 0.3s ease, color 0.3s ease;
    border: 2px solid #E0A117;
}
.ty-cta-band--with-cta .ty-cta-band__cta:hover,
.ty-cta-band--with-cta .ty-cta-band__cta:focus-visible {
    background: #fff;
    color: #E0A117;
    text-decoration: none;
}

/* --- ty-whats-next modifier: paragraph-with-badges (Quiz "Why Trust") ---- */
.ty-whats-next--paragraph-with-badges:after {content: '';background: url(assets/imgs/border-inst-1.png);height: auto;width: 100%;display: block;aspect-ratio: 1920 / 101;background-size: cover;background-position: top center;position: absolute;bottom: 0;z-index: 2;left: 0;}
.ty-whats-next--paragraph-with-badges .ty-whats-next__panel {
    padding: clamp(48px, 5vw, 100px) clamp(32px, 5vw, 100px) clamp(48px, 8vw, 120px);
}
.ty-whats-next--paragraph-with-badges .ty-whats-next__panel-inner {
    gap: clamp(22px, 2vw, 30px);
    max-width: 720px;
}
.ty-whats-next--paragraph-with-badges .ty-whats-next__heading {
}
.ty-whats-next--paragraph-with-badges .ty-whats-next__badges {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-wrap: wrap;
    gap: clamp(14px, 1.75vw, 20px);
}
.ty-whats-next--paragraph-with-badges .ty-whats-next__badge {
    flex: 1 1 130px;
    min-width: 130px;
    max-width: 192px;
    gap: 10px;
    padding: 25px 10px;
    text-align: center;
    flex-direction: column;
    --align: center;
    --direction: column;
    border: 1px solid #FFFFFF33;
}
.ty-whats-next--paragraph-with-badges .ty-whats-next__badge-icon {
    width: 59px;
    height: 59px;
    object-fit: contain;
    display: block;
}
.ty-whats-next--paragraph-with-badges .ty-whats-next__badge-label {
    color: #fff;
    line-height: 1.4;
    display: block;
    max-width: 144px;
    margin: 10px 0 0;
    font-size: clamp(13px, calc(6.308px + 0.481vw),  14px);
}
.ty-whats-next--paragraph-with-badges .ty-whats-next__paragraph {
    color: #fff;
}

.ty-whats-next--paragraph-with-badges .ty-whats-next__paragraph p { margin: 0 0 14px; color: #fff; }
.ty-whats-next--paragraph-with-badges .ty-whats-next__paragraph p:last-child { margin-bottom: 0; }

@media (max-width: 1270px) {

	.ty-whats-next--paragraph-with-badges .ty-whats-next__paragraph p { text-align: center; }
	.ty-whats-next--paragraph-with-badges .ty-whats-next__badges { justify-content: center; }
	.ty-hero--with-form .ty-hero__inner { justify-content: center; }
	.ty-hero--with-form .ty-hero__media , .ty-hero__content { max-width: 600px; }

}


@media (max-width: 767px) {
 
	
    .ty-whats-next--paragraph-with-badges .ty-whats-next__badges {gap: 12px;justify-content: center;}
    .ty-whats-next--paragraph-with-badges .ty-whats-next__badge { flex: 1 1 calc(50% - 6px); padding: 16px 8px; }
}

/* --- ty-gallery: NEW Project Gallery block (before/after slider) -------- */
.ty-gallery {
    background: #fff;
    padding: clamp(60px, 8vw, 136px) 0;
    --arrow-size: clamp(42px, 4.5vw, 61px);
}
.ty-gallery__inner {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: clamp(32px, 3vw, 50px);
    max-width: 1672px;
    --arrow-size): ;
}
.ty-gallery__heading {
    color: #000;
    text-transform: uppercase;
    text-align: center;
    margin: 0;
}
.ty-gallery__slider-wrap {
    position: relative;
    width: 100%;
    --arrow-size: clamp(32px, 3vw, 61px)); 
}

.ty-gallery__slider {
    width: 100%;
    max-width: 1440px;
    display: inline-block;
    vertical-align: middle;
    box-shadow: 0px 4px 54px 0px #ececec;
    max-width: calc(100% - ( var(--arrow-size) * 2 ) - 50px);
    margin: 0 20px;
}
.ty-gallery__card {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 5px;
    height: auto;
    padding: 10px;
    box-shadow: 0px 4px 54px 0px #00000033;
    box-sizing: border-box;
    background: #fff;
}
.ty-gallery__shot {
    position: relative;
    margin: 0;
    overflow: hidden;
    aspect-ratio: 169/223;
    background: #1B1656;
}
.ty-gallery__image {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}
.ty-gallery__label {
   position: absolute; left: 16px; bottom: 16px; margin: 0; color: #fff; text-shadow: 0 1px 3px rgba(0,0,0,0.5); line-height: 1; z-index: 2;
}
.ty-gallery__arrow {
 background: transparent;
 border: 0;
 cursor: pointer;
 padding: 0;
 width: var(--arw-size);
 height: 31px;
 display: inline-block;
 vertical-align: middle;
 transition: opacity 0.3s ease;
}

.ty-gallery__arrow-icon {
    display: block;
    width: var(--arrow-size);
    height: 31px;
    object-fit: contain;
    transition: filter 0.3s ease;
}

.ty-gallery__arrow:hover .ty-gallery__arrow-icon,
.ty-gallery__arrow:focus-visible .ty-gallery__arrow-icon {
    filter: brightness(0.5); }

.ty-gallery__arrow.is-disabled,
.ty-gallery__arrow[disabled] {
    opacity: 0.35; cursor: not-allowed;
    pointer-events: none; }

@media (max-width: 767px) {
	.ty-gallery__card {grid-template-columns: 1fr;}
	.ty-gallery__slider {max-width: 100%;margin: 0;}
    .ty-gallery__slider-wrap {position: relative;padding-bottom: 44px;}
    .ty-gallery__arrow {width: 44px;height: 22px;position: absolute;bottom: 0;left: calc(50% - 53px);}
    .ty-gallery__arrow-icon { width: 44px; height: 22px; }
	.ty-gallery__arrow--next {left: calc(50% + 10px);}

}

.ty-hero--with-form  .gform-theme .gform-loader,
.ty-hero--with-form  .gform_wrapper .gform_ajax_spinner {
    display: none !important;
} 
/* === end Quiz Landing Page additions ==================================== */
/* === end Thank You Page namespace ======================================= */
