/* ============================================================
   Fire Service Professionals ? FSP Design System
   + LeptonX public layout overrides (logo, nav, full-bleed)
   Breadcrumb: untouched
   ============================================================ */

   @import url('https://fonts.googleapis.com/css2?family=Spectral:ital,wght@0,400;0,500;0,600;0,700;0,800;1,500&family=Hanken+Grotesk:wght@400;500;600;700;800&family=JetBrains+Mono:wght@500;600&display=swap');

   /* ?? Design tokens ????????????????????????????????????????? */
   :root {
     --ink:        #15181C;
     --black:      #0C0F14;
     --black-2:    #11151B;
     --navy:       #1C2A3A;
     --navy-deep:  #16212E;
     --oxblood:    #8C2F25;
     --ember:      #B23A2E;
     --ember-2:    #D14A36;
     --ember-hover:#9A3026;
     --surface:    #F7F4EF;
     --surface-2:  #EFEAE1;
     --slate:      #5B6670;
     --paper:      #FFFFFF;
     --cloud:      #F4F2EE;
     --line:        rgba(21,24,28,0.12);
     --line-soft:   rgba(21,24,28,0.07);
     --line-ondark: rgba(247,244,239,0.14);
     --oxblood-tint:rgba(140,47,37,0.07);
     --navy-tint:   rgba(28,42,58,0.05);
     --grad-ember: linear-gradient(120deg,#8C2F25 0%,#B23A2E 55%,#D14A36 100%);
     --grad-dark:  linear-gradient(160deg,#141A22 0%,#0C0F14 70%);
     --serif: 'Spectral', Georgia, serif;
     --sans:  'Hanken Grotesk', system-ui, -apple-system, Segoe UI, sans-serif;
     --mono:  'JetBrains Mono', ui-monospace, monospace;
     --r-sm: 4px; --r-md: 8px; --r-lg: 14px; --r-xl: 22px;
     --sh-sm: 0 1px 2px rgba(12,15,20,.06);
     --sh-md: 0 10px 30px -12px rgba(12,15,20,.22);
     --sh-lg: 0 30px 70px -24px rgba(12,15,20,.40);
     --sh-glow: 0 30px 90px -30px rgba(178,58,46,.5);
     --maxw: 1240px;
     --maxw-narrow: 900px;
     --gutter: clamp(20px,5vw,72px);
   }
   
   /* ============================================================
      LEPTONX HEADER ? full-width sticky nav with FSP branding
      ============================================================ */
   
   #lpx-wrapper {
       padding: 0 !important;
   }
   
   #lpx-wrapper header {
       top: 0 !important;
     position: sticky !important;
   }
   
   .lpx-topbar-container {
     display: none !important;
   }
   
   body.abp-public-layout .lpx-header-top {
     display: flex !important;
     align-items: center !important;
     justify-content: space-between !important;
     width: 100% !important;
     max-width: none !important;
     min-height: 76px !important;
     padding: 0 var(--gutter) !important;
     margin: 0 !important;
     background: rgba(255,255,255,0.92) !important;
     backdrop-filter: saturate(180%) blur(16px) !important;
     -webkit-backdrop-filter: saturate(180%) blur(16px) !important;
     border-bottom: 1px solid var(--line) !important;
     position: sticky !important;
     top: 0 !important;
     z-index: 100 !important;
     box-sizing: border-box !important;
   }
   
   body.abp-public-layout .lpx-logo-container {
     flex: 0 0 auto !important;
     flex-shrink: 0 !important;
     position: static !important;
     display: flex !important;
     align-items: center !important;
     width: auto !important;
     max-width: none !important;
   }
   
   body.abp-public-layout .fsp-brand-wrap {
     gap: 13px !important;
     flex: 0 0 auto !important;
     flex-shrink: 0 !important;
     width: auto !important;
     max-width: none !important;
   }

   body.abp-public-layout .fsp-logo-img {
     height: 40px !important;
     width: 40px !important;
     max-width: 40px !important;
     flex: none !important;
     display: block !important;
     object-fit: contain !important;
     object-position: left center !important;
   }

   body.abp-public-layout .fsp-brand-text {
     display: flex;
     flex-direction: column;
     align-items: flex-start;
     line-height: 1;
     flex: 0 0 auto;
     flex-shrink: 0;
     width: max-content;
     max-width: none;
   }

   body.abp-public-layout .fsp-brand-text h4 {
     font-family: var(--serif) !important;
     font-size: 19px !important;
     font-weight: 600 !important;
     letter-spacing: -0.02em !important;
     color: #000 !important;
     line-height: 1.1 !important;
     margin: 0 !important;
     white-space: nowrap !important;
   }

   body.abp-public-layout .fsp-brand-text .fsp-brand-sub {
     font-family: var(--sans) !important;
     font-size: 9.5px !important;
     font-weight: 500 !important;
     letter-spacing: 0.18em !important;
     text-transform: uppercase !important;
     color: #707070 !important;
     margin: 5px 0 0 !important;
     line-height: 1.2 !important;
     white-space: nowrap !important;
   }
   
   body.abp-public-layout .lpx-brand-name {
     display: none !important;
   }
   
   body.abp-public-layout .lpx-nav.lpx-nav-public-website {
     flex: 1 !important;
     display: flex !important;
     justify-content: center !important;
     margin: 0 !important;
   }
   
   body.abp-public-layout .lpx-nav-public-website > .lpx-nav-menu {
     display: flex !important;
     align-items: center !important;
     justify-content: center !important;
     gap: clamp(18px,2.5vw,36px) !important;
     list-style: none !important;
     margin: 0 !important;
     padding: 0 !important;
     flex-wrap: nowrap !important;
   }
   
   body.abp-public-layout .lpx-nav-public-website .lpx-menu-item-icon {
     display: none !important;
   }
   
   body.abp-public-layout .lpx-nav-public-website .lpx-menu-item-link {
     display: inline-flex !important;
     align-items: center !important;
     position: relative !important;
     padding: 6px 0 !important;
     font-family: var(--sans) !important;
     font-size: 15px !important;
     font-weight: 500 !important;
     color: var(--ink) !important;
     background: none !important;
     border: none !important;
     box-shadow: none !important;
     text-decoration: none !important;
     white-space: nowrap !important;
   }
   
   body.abp-public-layout .lpx-nav-public-website .lpx-menu-item-link::after {
     content: "" !important;
     position: absolute !important;
     left: 0 !important; right: 100% !important; bottom: -2px !important;
     height: 2px !important;
     background: var(--grad-ember) !important;
     transition: right .22s ease !important;
     border-radius: 2px !important;
   }
   
   body.abp-public-layout .lpx-nav-public-website .lpx-menu-item-link:hover::after,
   body.abp-public-layout .lpx-nav-public-website .lpx-menu-item-link.fsp-active::after,
   body.abp-public-layout .lpx-nav-public-website .lpx-menu-item-link[aria-current="page"]::after {
     right: 0 !important;
   }
   
   body.abp-public-layout .lpx-nav-public-website .lpx-menu-item-link.fsp-active,
   body.abp-public-layout .lpx-nav-public-website .lpx-menu-item-link[aria-current="page"] {
     color: var(--oxblood) !important;
   }
   
   body.abp-public-layout #lpx-public-website-top-right {
     flex: none !important;
     display: flex !important;
     align-items: center !important;
     gap: 10px !important;
   }
   
   body.abp-public-layout #lpx-settings {
     display: none !important;
   }
   
   body.abp-public-layout #lpx-public-website-top-right a[href*="ogi"] {
     display: inline-flex !important;
     align-items: center !important;
     gap: 7px !important;
     font-family: var(--sans) !important;
     font-size: 14px !important;
     font-weight: 600 !important;
     color: var(--ink) !important;
     padding: 9px 18px !important;
     border: 1.5px solid var(--line) !important;
     border-radius: 100px !important;
     text-decoration: none !important;
     background: transparent !important;
     transition: background .18s, color .18s, border-color .18s !important;
     white-space: nowrap !important;
   }
   
   body.abp-public-layout #lpx-public-website-top-right a[href*="ogi"]:hover {
     border-color: var(--ink) !important;
     background: var(--ink) !important;
     color: #fff !important;
   }
   
   body.abp-public-layout .lpx-mobile-navbar-container {
     border-top: 1px solid var(--line) !important;
     background: rgba(255,255,255,0.96) !important;
     backdrop-filter: blur(12px) !important;
   }
   
   @media (max-width: 767px) {
     body.abp-public-layout .lpx-nav.lpx-nav-public-website {
       display: none !important;
     }
   }
   
   /* ============================================================
      FULL-BLEED PAGE CONTENT ? FSP CMS pages ONLY
      Requires body.fsp-cms-page (set in global JS tagFspPageMode).
      Server-side pages never get this class ? LeptonX default layout.
      ============================================================ */
   
   body.abp-public-layout.fsp-cms-page .lpx-content-container {
     background: transparent !important;
     padding: 0 !important;
     margin: 0 !important;
     max-width: none !important;
   }
   
   body.abp-public-layout.fsp-cms-page .lpx-content-wrapper {
     padding: 0 !important;
     margin: 0 !important;
   }
   
   body.abp-public-layout.fsp-cms-page .lpx-content {
     padding: 0 !important;
     margin: 0 !important;
     background: transparent !important;
     max-width: none !important;
   }
   
   body.abp-public-layout.fsp-cms-page .row.lpx-content-toolbar {
     display: none !important;
   }
   
   body.abp-public-layout.fsp-cms-page .lpx-content .card,
   body.abp-public-layout.fsp-cms-page .lpx-content .card-body,
   body.abp-public-layout.fsp-cms-page .lpx-content .abp-widget-wrapper {
     border: none !important;
     box-shadow: none !important;
     background: transparent !important;
     padding: 0 !important;
     margin: 0 !important;
     border-radius: 0 !important;
     overflow: visible !important;
   }
   
   body.abp-public-layout.fsp-cms-page .lpx-content .abp-widget-wrapper {
     width: 100vw !important;
     max-width: 100vw !important;
     margin-left: calc(50% - 50vw) !important;
     margin-right: calc(50% - 50vw) !important;
     overflow-x: hidden !important;
   }
   
   .cms-page-content {
     width: 100vw;
     max-width: 100vw;
     margin-left: calc(50% - 50vw);
     margin-right: calc(50% - 50vw);
     overflow-x: hidden;
     font-family: var(--sans);
     font-size: 17px;
     line-height: 1.6;
     color: var(--ink);
     background: var(--paper);
     -webkit-font-smoothing: antialiased;
   }
   
   /* Hide LeptonX breadcrumb on all FSP CMS pages */
   body.abp-public-layout.fsp-cms-page .lpx-breadcrumb-container {
     display: none !important;
   }
   
   /* ?? FOUC fix: full-bleed BEFORE global JS adds .fsp-cms-page ?? */
   body.abp-public-layout:has(.cms-page-content),
   body.abp-public-layout:has(.fsp-home),
   body.abp-public-layout:has(.fsp-about),
   body.abp-public-layout:has(.fsp-services),
   body.abp-public-layout:has(.fsp-insights),
   body.abp-public-layout:has(.fsp-contact),
   body.abp-public-layout:has(.abp-widget-wrapper .hero),
   body.abp-public-layout:has(.abp-widget-wrapper .page-hero),
   body.abp-public-layout:has(.abp-widget-wrapper .insight-grid),
   body.abp-public-layout:has(.abp-widget-wrapper #contact-form) {
     --fsp-shell-active: 1;
   }
   
   body.abp-public-layout:has(.cms-page-content) .lpx-breadcrumb-container,
   body.abp-public-layout:has(.fsp-home) .lpx-breadcrumb-container,
   body.abp-public-layout:has(.fsp-about) .lpx-breadcrumb-container,
   body.abp-public-layout:has(.fsp-services) .lpx-breadcrumb-container,
   body.abp-public-layout:has(.fsp-insights) .lpx-breadcrumb-container,
   body.abp-public-layout:has(.fsp-contact) .lpx-breadcrumb-container,
   body.abp-public-layout:has(.abp-widget-wrapper .hero) .lpx-breadcrumb-container,
   body.abp-public-layout:has(.abp-widget-wrapper .page-hero) .lpx-breadcrumb-container,
   body.abp-public-layout:has(.abp-widget-wrapper .insight-grid) .lpx-breadcrumb-container,
   body.abp-public-layout:has(.abp-widget-wrapper #contact-form) .lpx-breadcrumb-container {
     display: none !important;
   }
   
   body.abp-public-layout:has(.cms-page-content) .lpx-content-container,
   body.abp-public-layout:has(.fsp-home) .lpx-content-container,
   body.abp-public-layout:has(.fsp-about) .lpx-content-container,
   body.abp-public-layout:has(.fsp-services) .lpx-content-container,
   body.abp-public-layout:has(.fsp-insights) .lpx-content-container,
   body.abp-public-layout:has(.fsp-contact) .lpx-content-container,
   body.abp-public-layout:has(.abp-widget-wrapper .hero) .lpx-content-container,
   body.abp-public-layout:has(.abp-widget-wrapper .page-hero) .lpx-content-container,
   body.abp-public-layout:has(.abp-widget-wrapper .insight-grid) .lpx-content-container,
   body.abp-public-layout:has(.abp-widget-wrapper #contact-form) .lpx-content-container,
   body.abp-public-layout:has(.cms-page-content) .lpx-content-wrapper,
   body.abp-public-layout:has(.fsp-home) .lpx-content-wrapper,
   body.abp-public-layout:has(.fsp-about) .lpx-content-wrapper,
   body.abp-public-layout:has(.fsp-services) .lpx-content-wrapper,
   body.abp-public-layout:has(.fsp-insights) .lpx-content-wrapper,
   body.abp-public-layout:has(.fsp-contact) .lpx-content-wrapper,
   body.abp-public-layout:has(.abp-widget-wrapper .hero) .lpx-content-wrapper,
   body.abp-public-layout:has(.abp-widget-wrapper .page-hero) .lpx-content-wrapper,
   body.abp-public-layout:has(.abp-widget-wrapper .insight-grid) .lpx-content-wrapper,
   body.abp-public-layout:has(.abp-widget-wrapper #contact-form) .lpx-content-wrapper,
   body.abp-public-layout:has(.cms-page-content) .lpx-content,
   body.abp-public-layout:has(.fsp-home) .lpx-content,
   body.abp-public-layout:has(.fsp-about) .lpx-content,
   body.abp-public-layout:has(.fsp-services) .lpx-content,
   body.abp-public-layout:has(.fsp-insights) .lpx-content,
   body.abp-public-layout:has(.fsp-contact) .lpx-content,
   body.abp-public-layout:has(.abp-widget-wrapper .hero) .lpx-content,
   body.abp-public-layout:has(.abp-widget-wrapper .page-hero) .lpx-content,
   body.abp-public-layout:has(.abp-widget-wrapper .insight-grid) .lpx-content,
   body.abp-public-layout:has(.abp-widget-wrapper #contact-form) .lpx-content {
     background: transparent !important;
     padding: 0 !important;
     margin: 0 !important;
     max-width: none !important;
   }
   
   body.abp-public-layout:has(.cms-page-content) .row.lpx-content-toolbar,
   body.abp-public-layout:has(.fsp-home) .row.lpx-content-toolbar,
   body.abp-public-layout:has(.fsp-about) .row.lpx-content-toolbar,
   body.abp-public-layout:has(.fsp-services) .row.lpx-content-toolbar,
   body.abp-public-layout:has(.fsp-insights) .row.lpx-content-toolbar,
   body.abp-public-layout:has(.fsp-contact) .row.lpx-content-toolbar,
   body.abp-public-layout:has(.abp-widget-wrapper .hero) .row.lpx-content-toolbar,
   body.abp-public-layout:has(.abp-widget-wrapper .page-hero) .row.lpx-content-toolbar,
   body.abp-public-layout:has(.abp-widget-wrapper .insight-grid) .row.lpx-content-toolbar,
   body.abp-public-layout:has(.abp-widget-wrapper #contact-form) .row.lpx-content-toolbar {
     display: none !important;
   }
   
   body.abp-public-layout:has(.cms-page-content) .lpx-content .card,
   body.abp-public-layout:has(.cms-page-content) .lpx-content .card-body,
   body.abp-public-layout:has(.cms-page-content) .lpx-content .abp-widget-wrapper,
   body.abp-public-layout:has(.fsp-home) .lpx-content .card,
   body.abp-public-layout:has(.fsp-home) .lpx-content .card-body,
   body.abp-public-layout:has(.fsp-home) .lpx-content .abp-widget-wrapper,
   body.abp-public-layout:has(.fsp-about) .lpx-content .card,
   body.abp-public-layout:has(.fsp-about) .lpx-content .card-body,
   body.abp-public-layout:has(.fsp-about) .lpx-content .abp-widget-wrapper,
   body.abp-public-layout:has(.fsp-services) .lpx-content .card,
   body.abp-public-layout:has(.fsp-services) .lpx-content .card-body,
   body.abp-public-layout:has(.fsp-services) .lpx-content .abp-widget-wrapper,
   body.abp-public-layout:has(.fsp-insights) .lpx-content .card,
   body.abp-public-layout:has(.fsp-insights) .lpx-content .card-body,
   body.abp-public-layout:has(.fsp-insights) .lpx-content .abp-widget-wrapper,
   body.abp-public-layout:has(.fsp-contact) .lpx-content .card,
   body.abp-public-layout:has(.fsp-contact) .lpx-content .card-body,
   body.abp-public-layout:has(.fsp-contact) .lpx-content .abp-widget-wrapper,
   body.abp-public-layout:has(.abp-widget-wrapper .hero) .lpx-content .card,
   body.abp-public-layout:has(.abp-widget-wrapper .hero) .lpx-content .card-body,
   body.abp-public-layout:has(.abp-widget-wrapper .hero) .lpx-content .abp-widget-wrapper,
   body.abp-public-layout:has(.abp-widget-wrapper .page-hero) .lpx-content .card,
   body.abp-public-layout:has(.abp-widget-wrapper .page-hero) .lpx-content .card-body,
   body.abp-public-layout:has(.abp-widget-wrapper .page-hero) .lpx-content .abp-widget-wrapper,
   body.abp-public-layout:has(.abp-widget-wrapper .insight-grid) .lpx-content .card,
   body.abp-public-layout:has(.abp-widget-wrapper .insight-grid) .lpx-content .card-body,
   body.abp-public-layout:has(.abp-widget-wrapper .insight-grid) .lpx-content .abp-widget-wrapper,
   body.abp-public-layout:has(.abp-widget-wrapper #contact-form) .lpx-content .card,
   body.abp-public-layout:has(.abp-widget-wrapper #contact-form) .lpx-content .card-body,
   body.abp-public-layout:has(.abp-widget-wrapper #contact-form) .lpx-content .abp-widget-wrapper {
     border: none !important;
     box-shadow: none !important;
     background: transparent !important;
     padding: 0 !important;
     margin: 0 !important;
     border-radius: 0 !important;
     overflow: visible !important;
   }
   
   body.abp-public-layout:has(.cms-page-content) .lpx-content .abp-widget-wrapper,
   body.abp-public-layout:has(.fsp-home) .lpx-content .abp-widget-wrapper,
   body.abp-public-layout:has(.fsp-about) .lpx-content .abp-widget-wrapper,
   body.abp-public-layout:has(.fsp-services) .lpx-content .abp-widget-wrapper,
   body.abp-public-layout:has(.fsp-insights) .lpx-content .abp-widget-wrapper,
   body.abp-public-layout:has(.fsp-contact) .lpx-content .abp-widget-wrapper,
   body.abp-public-layout:has(.abp-widget-wrapper .hero) .lpx-content .abp-widget-wrapper,
   body.abp-public-layout:has(.abp-widget-wrapper .page-hero) .lpx-content .abp-widget-wrapper,
   body.abp-public-layout:has(.abp-widget-wrapper .insight-grid) .lpx-content .abp-widget-wrapper,
   body.abp-public-layout:has(.abp-widget-wrapper #contact-form) .lpx-content .abp-widget-wrapper {
     width: 100vw !important;
     max-width: 100vw !important;
     margin-left: calc(50% - 50vw) !important;
     margin-right: calc(50% - 50vw) !important;
     overflow-x: hidden !important;
   }
   
   /* Insights + Contact ? shell reset when CMS content uses <main> instead of wrapper div */
   body:has(.cms-page-content.fsp-insights) .lpx-content-container,
   body:has(.cms-page-content.fsp-insights) .lpx-content,
   body:has(.cms-page-content.fsp-contact) .lpx-content-container,
   body:has(.cms-page-content.fsp-contact) .lpx-content,
   body:has(main.cms-page-content.fsp-insights) .lpx-content-container,
   body:has(main.cms-page-content.fsp-insights) .lpx-content,
   body:has(main.cms-page-content.fsp-contact) .lpx-content-container,
   body:has(main.cms-page-content.fsp-contact) .lpx-content {
     background: transparent !important;
     padding-top: 0 !important;
     margin-top: 0 !important;
   }
   
   body:has(.cms-page-content.fsp-insights) .card:has(.fsp-insights),
   body:has(.cms-page-content.fsp-insights) .card:has(.fsp-insights) > .card-body,
   body:has(.cms-page-content.fsp-insights) .abp-widget-wrapper:has(.fsp-insights),
   body:has(.cms-page-content.fsp-contact) .card:has(.fsp-contact),
   body:has(.cms-page-content.fsp-contact) .card:has(.fsp-contact) > .card-body,
   body:has(.cms-page-content.fsp-contact) .abp-widget-wrapper:has(.fsp-contact),
   body:has(main.cms-page-content.fsp-insights) .card,
   body:has(main.cms-page-content.fsp-insights) .card > .card-body,
   body:has(main.cms-page-content.fsp-contact) .card,
   body:has(main.cms-page-content.fsp-contact) .card > .card-body {
     border: none !important;
     background: transparent !important;
     padding: 0 !important;
     margin: 0 !important;
     box-shadow: none !important;
     overflow: visible !important;
   }
   
   .cms-page-content.fsp-insights,
   .cms-page-content.fsp-contact,
   main.cms-page-content.fsp-insights,
   main.cms-page-content.fsp-contact {
     width: 100vw;
     max-width: 100vw;
     margin-left: calc(50% - 50vw);
     margin-right: calc(50% - 50vw);
     overflow-x: hidden;
     font-family: var(--sans);
     font-size: 17px;
     line-height: 1.6;
     color: var(--ink);
     background: var(--paper);
     -webkit-font-smoothing: antialiased;
   }
   
   /* breadcrumb rules: none changed */
   
   /* ============================================================
      BASE RESET
      ============================================================ */
   *, *::before, *::after { box-sizing: border-box; }
   html { -webkit-text-size-adjust: 100%; scroll-behavior: smooth; }
   body {
     margin: 0;
     font-family: var(--sans);
     font-size: 17px;
     line-height: 1.6;
     color: var(--ink);
     background: var(--paper);
     -webkit-font-smoothing: antialiased;
     text-rendering: optimizeLegibility;
     overflow-x: hidden;
   }
   img { max-width: 100%; display: block; }
   a { color: inherit; text-decoration: none; }
   button { font-family: inherit; cursor: pointer; }
   h1, h2, h3, h4 { margin: 0; font-family: var(--serif); font-weight: 600; line-height: 1.04; letter-spacing: -0.02em; color: var(--ink); }
   p { margin: 0; }
   ::selection { background: var(--ember); color: #fff; }
   :focus-visible { outline: 3px solid var(--ember); outline-offset: 3px; border-radius: 3px; }
   
   /* ============================================================
      LAYOUT
      ============================================================ */
   .wrap { width: 100%; max-width: var(--maxw); margin-inline: auto; padding-inline: var(--gutter); }
   .wrap-narrow { max-width: var(--maxw-narrow); }
   .section { padding-block: clamp(64px,10vw,140px); }
   .section-tight { padding-block: clamp(40px,6vw,80px); }
   .skip-link { position: absolute; left: -999px; top: 0; z-index: 300; background: var(--ember); color: #fff; padding: 12px 18px; border-radius: 0 0 var(--r-md) 0; font-weight: 600; }
   .skip-link:focus { left: 0; }
   
   /* ============================================================
      TYPE
      ============================================================ */
   .eyebrow { font-family: var(--mono); font-size: 12px; font-weight: 600; letter-spacing: 0.22em; text-transform: uppercase; color: var(--oxblood); display: inline-flex; align-items: center; gap: 12px; }
   .eyebrow::before { content: ""; width: 22px; height: 2px; background: var(--grad-ember); display: inline-block; border-radius: 2px; }
   .eyebrow.on-dark { color: #E9B6AC; }
   .eyebrow.no-rule::before { display: none; }
   .sectnum { font-family: var(--mono); font-size: 13px; font-weight: 600; letter-spacing: .1em; color: var(--slate); }
   .display { font-size: clamp(46px,8vw,104px); line-height: 0.98; letter-spacing: -0.035em; font-weight: 600; }
   .h-xl { font-size: clamp(33px,5vw,60px); line-height: 1.02; letter-spacing: -0.028em; }
   .h-lg { font-size: clamp(26px,3.6vw,40px); line-height: 1.08; letter-spacing: -0.02em; }
   .h-md { font-size: clamp(21px,2.4vw,27px); line-height: 1.18; letter-spacing: -0.015em; }
   .lede { font-size: clamp(18px,2.1vw,22px); line-height: 1.5; color: var(--slate); font-weight: 400; max-width: 60ch; text-wrap: pretty; }
   .muted { color: var(--slate); }
   .measure { max-width: 64ch; text-wrap: pretty; }
   .italic-accent { font-style: italic; font-weight: 500; color: var(--oxblood); }
   
   /* ============================================================
      BUTTONS
      ============================================================ */
   .btn { display: inline-flex; align-items: center; gap: 10px; font-family: var(--sans); font-weight: 600; font-size: 16px; padding: 15px 26px; border-radius: 100px; border: 1.5px solid transparent; transition: background .18s ease, color .18s ease, border-color .18s ease, transform .18s ease, box-shadow .18s ease; cursor: pointer; line-height: 1; position: relative; }
   .btn svg { width: 17px; height: 17px; transition: transform .18s ease; }
   .btn-primary { background: var(--grad-ember); color: #fff; box-shadow: 0 8px 24px -10px rgba(178,58,46,.6); }
   .btn-primary:hover { transform: translateY(-2px); box-shadow: 0 14px 34px -10px rgba(178,58,46,.7); }
   .btn-primary:hover svg { transform: translateX(3px); }
   .btn-dark { background: var(--ink); color: #fff; }
   .btn-dark:hover { background: var(--black); transform: translateY(-2px); }
   .btn-ghost { background: transparent; color: var(--ink); border-color: var(--line); }
   .btn-ghost:hover { border-color: var(--ink); background: var(--ink); color: #fff; }
   .btn-ghost.on-dark { color: #fff; border-color: var(--line-ondark); }
   .btn-ghost.on-dark:hover { border-color: #fff; background: rgba(255,255,255,.96); color: var(--ink); }
   .btn-lg { padding: 18px 32px; font-size: 17px; }
   .btn-link { display: inline-flex; align-items: center; gap: 9px; font-weight: 600; color: var(--oxblood); font-size: 15px; transition: gap .18s; font-family: var(--sans); }
   .btn-link:hover { gap: 14px; }
   .btn-link svg { width: 16px; height: 16px; }
   .btn-link.on-dark { color: #E9B6AC; }
   
   /* Utility bar ? injected by fsp-global.js (#utility-header-top) */
   
   /* ============================================================
      STATIC SITE-HEADER (for standalone HTML prototype pages)
      ============================================================ */
   .site-header { position: sticky; top: 0; z-index: 100; background: rgba(255,255,255,0.82); backdrop-filter: saturate(180%) blur(16px); border-bottom: 1px solid var(--line); }
   .nav { display: flex; align-items: center; justify-content: space-between; min-height: 76px; gap: 24px; }
   .brand { display: flex; align-items: center; gap: 13px; }
   .brand-mark { width: 40px; height: 40px; flex: none; border-radius: 11px; background: var(--grad-dark); color: #fff; display: grid; place-items: center; position: relative; overflow: hidden; box-shadow: inset 0 0 0 1px rgba(255,255,255,.08); }
   .brand-mark svg { width: 22px; height: 22px; position: relative; }
   .brand-text { display: flex; flex-direction: column; line-height: 1; }
   .brand-text .b-name { font-family: var(--serif); font-weight: 600; font-size: 19px; letter-spacing: -0.02em; }
   .brand-text .b-sub { font-family: var(--mono); font-size: 9.5px; letter-spacing: 0.18em; text-transform: uppercase; color: var(--slate); margin-top: 5px; font-weight: 500; }
   .nav-links { display: flex; align-items: center; gap: 32px; }
   .nav-links a { font-size: 15px; font-weight: 500; color: var(--ink); position: relative; padding: 6px 0; }
   .nav-links a::after { content: ""; position: absolute; left: 0; right: 100%; bottom: -2px; height: 2px; background: var(--grad-ember); transition: right .22s ease; border-radius: 2px; }
   .nav-links a:hover::after, .nav-links a[aria-current="page"]::after { right: 0; }
   .nav-links a[aria-current="page"] { color: var(--oxblood); }
   .nav-cta { display: flex; align-items: center; gap: 14px; }
   .nav-toggle { display: none; background: none; border: 1px solid var(--line); border-radius: 10px; width: 46px; height: 46px; place-items: center; }
   .nav-toggle svg { width: 22px; height: 22px; }
   @media (max-width: 960px) { .nav-links, .nav-cta .btn { display: none; } .nav-toggle { display: grid; } }
   .mobile-menu { display: none; position: fixed; inset: 0; z-index: 200; background: var(--black); color: #fff; }
   .mobile-menu.open { display: block; }
   .mobile-menu .wrap { padding-top: 18px; }
   .mobile-menu .mm-head { display: flex; align-items: center; justify-content: space-between; min-height: 60px; }
   .mobile-menu .mm-close { background: none; border: 1px solid var(--line-ondark); border-radius: 10px; width: 46px; height: 46px; display: grid; place-items: center; color: #fff; }
   .mobile-menu nav { display: flex; flex-direction: column; margin-top: 22px; border-top: 1px solid var(--line-ondark); }
   .mobile-menu nav a { font-family: var(--serif); font-size: 32px; padding: 22px 0; border-bottom: 1px solid var(--line-ondark); color: #fff; display: flex; justify-content: space-between; align-items: center; }
   .mobile-menu nav a::after { content: "?"; color: var(--ember-2); }
   
   /* ============================================================
      SURFACES
      ============================================================ */
   .bg-surface { background: var(--surface); }
   .bg-surface-2 { background: var(--surface-2); }
   .bg-cloud { background: var(--cloud); }
   .bg-navy { background: var(--navy); color: var(--surface); }
   .bg-navy h1,.bg-navy h2,.bg-navy h3,.bg-navy h4 { color: #fff; }
   .bg-ink,.bg-black { background: var(--black); color: var(--surface); position: relative; }
   .bg-ink h1,.bg-ink h2,.bg-ink h3,.bg-black h1,.bg-black h2,.bg-black h3 { color: #fff; }
   .cine { position: relative; background: var(--grad-dark); color: var(--surface); overflow: hidden; }
   .cine h1,.cine h2,.cine h3,.cine h4 { color: #fff; }
   .cine::before { content: ""; position: absolute; inset: 0; pointer-events: none; background: radial-gradient(60% 60% at 85% 0%,rgba(178,58,46,.22),transparent 60%),radial-gradient(50% 50% at 0% 100%,rgba(28,42,58,.5),transparent 60%); }
   .cine::after { content: ""; position: absolute; inset: 0; pointer-events: none; opacity: .5; mix-blend-mode: overlay; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='140' height='140'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='0.35'/%3E%3C/svg%3E"); }
   .cine > * { position: relative; z-index: 1; }
   
   /* ============================================================
      HERO
      ============================================================ */
   .hero { position: relative; min-height: clamp(620px,88vh,900px); display: flex; align-items: flex-end; overflow: hidden; background: var(--black); }
   .hero .hero-bg { position: absolute; inset: 0; z-index: 0; background: radial-gradient(75% 95% at 82% 6%,rgba(178,58,46,.38),transparent 56%),radial-gradient(60% 70% at 0% 100%,rgba(28,42,58,.6),transparent 60%),var(--grad-dark); }
   .hero .hero-bg img { width: 100%; height: 100%; object-fit: cover; display: block; }
   .hero .hero-bg::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg,rgba(12,15,20,.55) 0%,rgba(12,15,20,.25) 35%,rgba(12,15,20,.85) 100%),linear-gradient(90deg,rgba(12,15,20,.75) 0%,rgba(12,15,20,.2) 60%,transparent 100%); }
   .hero .hero-bg .duotone { position: absolute; inset: 0; background: var(--grad-ember); mix-blend-mode: color; opacity: .14; }
   .hero .hero-bg .plan-anim { position: absolute; inset: 0; width: 100%; height: 100%; display: block; z-index: 0; }
   .plan-anim .plan-walls path { stroke-dasharray: 2600; stroke-dashoffset: 2600; animation: planDraw 2.6s ease-out forwards; }
   .plan-anim .plan-doors path { opacity: 0; animation: planFade 1s ease 2.2s forwards; }
   @keyframes planDraw { to { stroke-dashoffset: 0; } }
   @keyframes planFade { to { opacity: 1; } }
   .plan-anim .egress-path { opacity: 0; animation: egressIn 1.2s ease 2.4s forwards, egressFlow 1.4s linear 2.4s infinite; }
   @keyframes egressIn { to { opacity: 1; } }
   @keyframes egressFlow { to { stroke-dashoffset: -38; } }
   .plan-anim .rev-marker .rm-ring { fill: none; stroke: #E9B6AC; stroke-width: 1.6; opacity: 0; transform-box: fill-box; transform-origin: center; animation: ringPulse 3.4s ease-out calc(2.6s + var(--d)) infinite; }
   .plan-anim .rev-marker .rm-dot  { fill: #E9B6AC; opacity: 0; animation: dotIn 0.5s ease calc(2.6s + var(--d)) forwards; }
   .plan-anim .rev-exit .rm-ring { stroke: #D14A36; stroke-width: 2; }
   .plan-anim .rev-exit .rm-dot  { fill: #D14A36; }
   @keyframes ringPulse { 0% { opacity: .9; transform: scale(.45); } 60% { opacity: 0; transform: scale(1.5); } 100% { opacity: 0; transform: scale(1.5); } }
   @keyframes dotIn { to { opacity: .95; } }
   .plan-anim .plan-notes .pn { opacity: 0; fill-opacity: 0.6; animation: noteIn 0.7s ease calc(2.8s + var(--d)) forwards; }
   .plan-anim .plan-notes .pn-exit { fill-opacity: 0.85; }
   @keyframes noteIn { from { opacity: 0; } to { opacity: 1; } }
   .plan-anim .scan-beam { animation: scanSweep 6s cubic-bezier(.5,0,.5,1) 2.6s infinite; }
   @keyframes scanSweep { 0% { transform: translateX(120px); opacity: 0; } 8% { opacity: 1; } 92% { opacity: 1; } 100% { transform: translateX(1140px); opacity: 0; } }
   @media (prefers-reduced-motion: reduce) {
     .plan-anim .plan-walls path { stroke-dashoffset: 0; animation: none; }
     .plan-anim .plan-doors path,.plan-anim .egress-path,.plan-anim .rev-marker .rm-dot,.plan-anim .plan-notes .pn { opacity: 1; animation: none; }
     .plan-anim .rev-marker .rm-ring { opacity: .35; animation: none; }
     .plan-anim .scan-beam { display: none; }
   }
   .hero .hero-inner { position: relative; z-index: 2; width: 100%; padding-block: clamp(48px,9vw,110px); }
   .hero .hero-grid { display: grid; grid-template-columns: 1.4fr 0.6fr; gap: 40px; align-items: end; }
   @media (max-width: 900px) { .hero .hero-grid { grid-template-columns: 1fr; gap: 32px; } }
   .hero h1 { color: #fff; }
   .hero .hero-kicker { display: block; margin-top: 0.32em; font-size: clamp(20px,2.6vw,34px); font-weight: 500; letter-spacing: -0.01em; line-height: 1; color: #E9B6AC; }
   .hero .hero-kicker i { font-style: normal; color: rgba(233,182,172,.5); margin: 0 0.5ch; }
   .hero .hero-lede { color: rgba(247,244,239,.82); max-width: 54ch; }
   
   /* ============================================================
      GLASS STAT, MARQUEE, CARDS, FEATURE GRID, STATS, etc.
      ============================================================ */
   .glass-stat { background: rgba(255,255,255,0.06); border: 1px solid rgba(255,255,255,0.14); backdrop-filter: blur(14px); border-radius: var(--r-lg); padding: 24px 26px; color: #fff; }
   .glass-stat .gs-num { font-family: var(--serif); font-size: clamp(40px,5vw,56px); font-weight: 600; line-height: 1; letter-spacing: -0.02em; }
   .glass-stat .gs-num em { font-style: normal; background: var(--grad-ember); -webkit-background-clip: text; background-clip: text; color: transparent; }
   .glass-stat .gs-label { font-size: 14px; color: rgba(247,244,239,.72); margin-top: 10px; line-height: 1.4; }
   
   .marquee { background: var(--black); color: var(--surface); overflow: hidden; border-block: 1px solid var(--line-ondark); --gap: 56px; }
   .marquee .mq-track { display: flex; gap: var(--gap); width: max-content; padding-block: 20px; animation: mq 38s linear infinite; }
   .marquee:hover .mq-track { animation-play-state: paused; }
   .marquee .mq-item { display: flex; align-items: center; gap: 14px; flex: none; }
   .marquee .mq-item .mq-mark { font-family: var(--serif); font-weight: 700; font-size: 20px; color: #fff; }
   .marquee .mq-item .mq-text { font-family: var(--mono); font-size: 12.5px; letter-spacing: .14em; text-transform: uppercase; color: rgba(247,244,239,.66); }
   .marquee .mq-item svg { width: 18px; height: 18px; color: var(--ember-2); }
   .marquee .mq-dot { width: 5px; height: 5px; border-radius: 50%; background: var(--ember); flex: none; align-self: center; }
   @keyframes mq { to { transform: translateX(calc(-50% - var(--gap) / 2)); } }
   @media (prefers-reduced-motion: reduce) { .marquee .mq-track { animation: none; flex-wrap: wrap; width: auto; justify-content: center; } }
   
   .creds { border-block: 1px solid var(--line); background: var(--paper); }
   .creds .wrap { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 16px 28px; padding-block: 26px; }
   .cred-item { display: flex; align-items: center; gap: 12px; }
   .cred-item .ci-mark { font-family: var(--serif); font-weight: 700; font-size: 22px; color: var(--oxblood); }
   .cred-item .ci-label { font-size: 11px; color: var(--slate); font-weight: 500; line-height: 1.25; max-width: 18ch; font-family: var(--mono); letter-spacing: .04em; text-transform: uppercase; }
   .cred-item svg { width: 22px; height: 22px; color: var(--oxblood); flex: none; }
   .cred-sep { width: 1px; height: 34px; background: var(--line); }
   @media (max-width: 860px) { .cred-sep { display: none; } }
   
   .sec-head { display: flex; align-items: flex-end; justify-content: space-between; gap: 32px; flex-wrap: wrap; }
   
   .cards-3 { display: grid; grid-template-columns: repeat(3,1fr); gap: 20px; }
   @media (max-width: 940px) { .cards-3 { grid-template-columns: 1fr; max-width: 560px; margin-inline: auto; } }
   .scard { background: var(--paper); border: 1px solid var(--line); border-radius: var(--r-lg); padding: 34px 30px 30px; display: flex; flex-direction: column; gap: 16px; transition: box-shadow .22s ease, transform .22s ease, border-color .22s ease; position: relative; overflow: hidden; }
   .scard::before { content: ""; position: absolute; top: 0; left: 0; right: 0; height: 3px; background: var(--grad-ember); transform: scaleX(0); transform-origin: left; transition: transform .3s ease; }
   .scard:hover { box-shadow: var(--sh-lg); transform: translateY(-4px); border-color: transparent; }
   .scard:hover::before { transform: scaleX(1); }
   .scard .sc-icon { width: 52px; height: 52px; border-radius: 13px; background: var(--ink); display: grid; place-items: center; color: #fff; transition: background .22s ease; }
   .scard:hover .sc-icon { background: var(--grad-ember); }
   .scard .sc-icon svg { width: 25px; height: 25px; }
   .scard h3 { font-size: 25px; }
   .scard p { color: var(--slate); font-size: 15.5px; }
   .scard .sc-list { list-style: none; padding: 0; margin: 4px 0 0; display: flex; flex-direction: column; gap: 9px; }
   .scard .sc-list li { font-size: 14.5px; color: var(--ink); display: flex; gap: 10px; align-items: flex-start; }
   .scard .sc-list svg { width: 15px; height: 15px; color: var(--ember); flex: none; margin-top: 4px; }
   .scard .sc-foot { margin-top: auto; padding-top: 8px; }
   
   .feature-grid { display: grid; grid-template-columns: 1.05fr 1fr; gap: clamp(32px,6vw,88px); align-items: center; }
   @media (max-width: 900px) { .feature-grid { grid-template-columns: 1fr; gap: 40px; } }
   
   .pointlist { list-style: none; padding: 0; margin: 0; display: flex; flex-direction: column; gap: 4px; }
   .pointlist li { display: grid; grid-template-columns: auto 1fr; gap: 18px; padding: 22px 0; border-top: 1px solid var(--line-ondark); }
   .pointlist li:last-child { border-bottom: 1px solid var(--line-ondark); }
   .pointlist .pl-ico { width: 44px; height: 44px; border-radius: 12px; background: rgba(255,255,255,.06); border: 1px solid rgba(255,255,255,.1); display: grid; place-items: center; color: #E9B6AC; flex: none; }
   .pointlist .pl-ico svg { width: 21px; height: 21px; }
   .pointlist h4 { font-family: var(--serif); font-size: 20px; color: #fff; margin-bottom: 6px; font-weight: 600; }
   .pointlist p { font-size: 15px; color: rgba(247,244,239,.66); }
   
   .statrow { display: grid; grid-template-columns: repeat(3,1fr); gap: 28px; }
   @media (max-width: 720px) { .statrow { grid-template-columns: 1fr; gap: 26px; } }
   .stat .s-num { font-family: var(--serif); font-size: clamp(46px,7vw,76px); font-weight: 600; line-height: 0.92; color: var(--oxblood); letter-spacing: -0.03em; }
   .stat .s-num.on-dark { color: #fff; }
   .stat .s-num .grad { background: var(--grad-ember); -webkit-background-clip: text; background-clip: text; color: transparent; }
   .stat .s-label { font-size: 14.5px; color: var(--slate); margin-top: 14px; max-width: 28ch; }
   .bg-navy .stat .s-label,.bg-ink .stat .s-label,.cine .stat .s-label { color: rgba(247,244,239,.66); }
   
   .callout { display: grid; grid-template-columns: 1.15fr 1fr; gap: clamp(28px,5vw,72px); align-items: center; }
   @media (max-width: 900px) { .callout { grid-template-columns: 1fr; } }
   .callout .co-card { background: var(--black); color: #fff; border-radius: var(--r-lg); padding: clamp(28px,4vw,44px); position: relative; overflow: hidden; box-shadow: var(--sh-lg); }
   .callout .co-card::before { content: ""; position: absolute; inset: 0; background: radial-gradient(70% 80% at 100% 0%,rgba(178,58,46,.3),transparent 60%); }
   .callout .co-card > * { position: relative; }
   .quote { font-family: var(--serif); font-size: clamp(22px,3vw,31px); line-height: 1.3; letter-spacing: -0.015em; color: #fff; font-weight: 500; }
   .quote-mark { font-family: var(--serif); font-size: 70px; line-height: .5; background: var(--grad-ember); -webkit-background-clip: text; background-clip: text; color: transparent; display: block; height: 32px; }
   
   .cta-band { text-align: center; }
   .cta-band .cb-inner { max-width: 800px; margin-inline: auto; }
   .cta-band .btn-row { display: flex; gap: 14px; justify-content: center; flex-wrap: wrap; margin-top: 34px; }
   
   /* ============================================================
      FOOTER
      ============================================================ */
   .site-footer { background: var(--black); color: rgba(247,244,239,.66); padding-block: clamp(56px,8vw,96px) 36px; position: relative; overflow: hidden; }
   .site-footer::before { content: ""; position: absolute; top: 0; left: 0; right: 0; height: 1px; background: var(--grad-ember); }
   .footer-grid { display: grid; grid-template-columns: 1.7fr 1fr 1fr 1fr; gap: 44px; }
   @media (max-width: 860px) { .footer-grid { grid-template-columns: 1fr 1fr; gap: 40px 24px; } }
   @media (max-width: 520px) { .footer-grid { grid-template-columns: 1fr; } }
   .site-footer .f-brand .brand-text .b-name { color: #fff; }
   .site-footer .f-brand .brand-text .b-sub { color: rgba(247,244,239,.5); }
   .site-footer .f-about { font-size: 14.5px; line-height: 1.6; margin-top: 22px; max-width: 38ch; color: rgba(247,244,239,.6); }
   .f-col h5 { font-family: var(--mono); font-size: 11px; letter-spacing: 0.18em; text-transform: uppercase; color: rgba(247,244,239,.45); margin: 0 0 20px; font-weight: 600; }
   .f-col ul { list-style: none; padding: 0; margin: 0; display: flex; flex-direction: column; gap: 13px; }
   .f-col a { font-size: 15px; color: rgba(247,244,239,.78); }
   .f-col a:hover { color: #fff; }
   .footer-bottom { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 14px; align-items: center; margin-top: clamp(44px,6vw,72px); padding-top: 28px; border-top: 1px solid var(--line-ondark); font-size: 12.5px; color: rgba(247,244,239,.46); font-family: var(--mono); letter-spacing: .02em; }
   .footer-bottom .fb-note { max-width: 64ch; }
   
   /* ============================================================
      PAGE HERO (interior pages ? breadcrumb untouched)
      ============================================================ */
   .page-hero { padding-block: clamp(70px,9vw,130px) clamp(48px,6vw,84px); }
   .page-hero .ph-inner { max-width: 60ch; }
   .page-hero h1 { margin-top: 20px; }
   .page-hero .lede { margin-top: 24px; }
   .breadcrumb { font-family: var(--mono); font-size: 12px; letter-spacing: .08em; text-transform: uppercase; color: var(--slate); display: flex; gap: 9px; align-items: center; background: transparent !important; border: none !important; border-radius: 0 !important; padding: 0 !important; }
   .breadcrumb a:hover { color: var(--oxblood); }
   .breadcrumb svg { width: 13px; height: 13px; opacity: .6; }
   .page-hero .breadcrumb { background: transparent !important; border: none !important; border-radius: 0 !important; padding: 0 !important; }
   .page-hero.cine .breadcrumb { color: rgba(247,244,239,.6); }
   .page-hero.cine .lede { color: rgba(247,244,239,.78); }
   
   /* ============================================================
      MISC
      ============================================================ */
   .divider { height: 1px; background: var(--line); border: 0; margin: 0; }
   .tag { display: inline-flex; align-items: center; gap: 7px; font-family: var(--mono); font-size: 11px; font-weight: 600; letter-spacing: 0.1em; text-transform: uppercase; padding: 6px 11px; border-radius: 100px; background: var(--oxblood-tint); color: var(--oxblood); }
   .kicker-rule { width: 48px; height: 3px; background: var(--grad-ember); border: 0; margin: 0 0 26px; border-radius: 3px; }
   
   /* ============================================================
      SCROLL REVEAL ? visible on first paint; animate after JS ready
      ============================================================ */
   .reveal { opacity: 1 !important; transform: none !important; }
   .reveal.in { opacity: 1 !important; transform: none !important; }
   .reveal.d1 { transition-delay: .08s; }
   .reveal.d2 { transition-delay: .16s; }
   .reveal.d3 { transition-delay: .24s; }
   
   html.fsp-reveal-ready .reveal:not(.in) {
     opacity: 0 !important;
     transform: translateY(22px) !important;
     transition: opacity .8s ease, transform .8s cubic-bezier(.2,.7,.2,1);
   }
   html.fsp-reveal-ready .reveal.in {
     opacity: 1 !important;
     transform: none !important;
   }
   
   @media (prefers-reduced-motion: reduce) {
     * { animation-duration: .01ms !important; transition-duration: .01ms !important; scroll-behavior: auto !important; }
     html.fsp-reveal-ready .reveal:not(.in) { opacity: 1 !important; transform: none !important; }
   }
   
   /* FSP ABOUT PAGE */
   body:has(.cms-page-content.fsp-about) .lpx-breadcrumb-container { display: none !important; }
   body:has(.cms-page-content.fsp-about) .lpx-content-container,
   body:has(.cms-page-content.fsp-about) .lpx-content { background: transparent !important; padding-top: 0 !important; margin-top: 0 !important; }
   body:has(.cms-page-content.fsp-about) .card:has(.fsp-about),
   body:has(.cms-page-content.fsp-about) .card:has(.fsp-about) > .card-body,
   body:has(.cms-page-content.fsp-about) .abp-widget-wrapper:has(.fsp-about) { border: none !important; background: transparent !important; padding: 0 !important; margin: 0 !important; box-shadow: none !important; overflow: visible !important; }
   
   .cms-page-content.fsp-about {
     --ink: #15181C; --black: #0C0F14; --navy: #1C2A3A; --oxblood: #8C2F25; --ember: #B23A2E; --ember-2: #D14A36;
     --surface: #F7F4EF; --slate: #5B6670; --paper: #FFF; --line: rgba(21,24,28,.12); --line-ondark: rgba(247,244,239,.14);
     --oxblood-tint: rgba(140,47,37,.07); --grad-ember: linear-gradient(120deg, #8C2F25, #B23A2E 55%, #D14A36);
     --grad-dark: linear-gradient(160deg, #141A22 0%, #0C0F14 70%);
     --serif: 'Spectral', Georgia, serif; --sans: 'Hanken Grotesk', system-ui, sans-serif; --mono: 'JetBrains Mono', monospace;
     --r-lg: 14px; --sh-md: 0 10px 30px -12px rgba(12,15,20,.22); --sh-lg: 0 30px 70px -24px rgba(12,15,20,.40);
     --maxw: 1240px; --gutter: clamp(20px, 5vw, 72px);
     width: 100vw; max-width: 100vw; margin-left: calc(50% - 50vw); margin-right: calc(50% - 50vw);
     overflow-x: hidden; font-family: var(--sans); font-size: 17px; line-height: 1.6; color: var(--ink);
     background: var(--paper); -webkit-font-smoothing: antialiased;
   }
   .cms-page-content.fsp-about *, .cms-page-content.fsp-about *::before, .cms-page-content.fsp-about *::after { box-sizing: border-box; }
   .cms-page-content.fsp-about img { max-width: 100%; display: block; }
   .cms-page-content.fsp-about a { color: inherit; text-decoration: none; }
   .cms-page-content.fsp-about h1, .cms-page-content.fsp-about h2, .cms-page-content.fsp-about h3, .cms-page-content.fsp-about h4 { margin: 0; font-family: var(--serif); font-weight: 600; line-height: 1.04; letter-spacing: -.02em; color: var(--ink); }
   .cms-page-content.fsp-about p, .cms-page-content.fsp-about ul { margin: 0; }
   .cms-page-content.fsp-about .wrap { width: 100%; max-width: var(--maxw); margin-inline: auto; padding-inline: var(--gutter); }
   .cms-page-content.fsp-about .section { padding-block: clamp(64px, 10vw, 140px); }
   .cms-page-content.fsp-about .display { font-size: clamp(40px, 6vw, 84px); line-height: .98; letter-spacing: -.035em; }
   .cms-page-content.fsp-about .h-xl { font-size: clamp(33px, 5vw, 60px); line-height: 1.02; }
   .cms-page-content.fsp-about .h-lg { font-size: clamp(26px, 3.6vw, 40px); line-height: 1.08; }
   .cms-page-content.fsp-about .lede { font-size: clamp(18px, 2.1vw, 22px); line-height: 1.5; color: var(--slate); max-width: 60ch; }
   .cms-page-content.fsp-about .on-dark-lede { color: rgba(247,244,239,.78); }
   .cms-page-content.fsp-about .on-dark { color: #fff; }
   .cms-page-content.fsp-about .muted { color: var(--slate); }
   .cms-page-content.fsp-about .measure { max-width: 64ch; color: var(--slate); font-size: 17px; }
   .cms-page-content.fsp-about .feature-grid .h-lg + .measure { margin-top: 20px; }
   .cms-page-content.fsp-about .measure + .measure { margin-top: 18px; }
   .cms-page-content.fsp-about .eyebrow { font-family: var(--mono); font-size: 12px; font-weight: 600; letter-spacing: .22em; text-transform: uppercase; color: var(--oxblood); display: inline-flex; align-items: center; gap: 12px; }
   .cms-page-content.fsp-about .eyebrow::before { content: ""; width: 22px; height: 2px; background: var(--grad-ember); border-radius: 2px; }
   .cms-page-content.fsp-about .eyebrow.on-dark { color: #E9B6AC; }
   .cms-page-content.fsp-about .btn { display: inline-flex !important; align-items: center; gap: 10px; font-family: var(--sans) !important; font-weight: 600 !important; font-size: 16px !important; padding: 15px 26px !important; border-radius: 100px !important; border: 1.5px solid transparent !important; line-height: 1 !important; box-shadow: none; text-transform: none !important; transition: background .18s, color .18s, border-color .18s, transform .18s, box-shadow .18s; }
   .cms-page-content.fsp-about .btn svg { width: 17px; height: 17px; transition: transform .18s; }
   .cms-page-content.fsp-about .btn-primary { background: var(--grad-ember) !important; color: #fff !important; box-shadow: 0 8px 24px -10px rgba(178,58,46,.6) !important; }
   .cms-page-content.fsp-about .btn-primary:hover { transform: translateY(-2px); box-shadow: 0 14px 34px -10px rgba(178,58,46,.7) !important; }
   .cms-page-content.fsp-about .btn-primary:hover svg { transform: translateX(3px); }
   .cms-page-content.fsp-about .btn-ghost.on-dark { background: transparent !important; color: #fff !important; border-color: var(--line-ondark) !important; }
   .cms-page-content.fsp-about .btn-ghost.on-dark:hover { border-color: #fff !important; background: rgba(255,255,255,.96) !important; color: var(--ink) !important; }
   .cms-page-content.fsp-about .btn-lg { padding: 18px 32px !important; font-size: 17px !important; }
   .cms-page-content.fsp-about .bg-surface { background: var(--surface); }
   .cms-page-content.fsp-about .bg-navy { background: var(--navy); color: var(--surface); }
   .cms-page-content.fsp-about .bg-navy h1, .cms-page-content.fsp-about .bg-navy h2, .cms-page-content.fsp-about .bg-navy h3, .cms-page-content.fsp-about .bg-navy h4 { color: #fff; }
   .cms-page-content.fsp-about .bg-ink { background: var(--black); color: var(--surface); position: relative; }
   .cms-page-content.fsp-about .bg-ink h1, .cms-page-content.fsp-about .bg-ink h2, .cms-page-content.fsp-about .bg-ink h3 { color: #fff; }
   .cms-page-content.fsp-about .cine { position: relative; background: var(--grad-dark); color: var(--surface); overflow: hidden; }
   .cms-page-content.fsp-about .cine h1, .cms-page-content.fsp-about .cine h2, .cms-page-content.fsp-about .cine h3, .cms-page-content.fsp-about .cine h4 { color: #fff; }
   .cms-page-content.fsp-about .cine::before { content: ""; position: absolute; inset: 0; pointer-events: none; z-index: 1; background: radial-gradient(60% 60% at 85% 0%, rgba(178,58,46,.22), transparent 60%), radial-gradient(50% 50% at 0% 100%, rgba(28,42,58,.5), transparent 60%); }
   .cms-page-content.fsp-about .cine > .wrap { position: relative; z-index: 2; }
   .cms-page-content.fsp-about .page-hero { padding-block: clamp(70px, 9vw, 130px) clamp(48px, 6vw, 84px); margin-top: 0; }
   .cms-page-content.fsp-about .page-hero .ph-inner { max-width: 62ch; }
   .cms-page-content.fsp-about .page-hero .eyebrow { margin-top: 18px; }
   .cms-page-content.fsp-about .page-hero h1 { margin-top: 18px; }
   .cms-page-content.fsp-about .page-hero .lede { margin-top: 24px; color: rgba(247,244,239,.78); }
   .cms-page-content.fsp-about .ph-crumb { font-family: var(--mono); font-size: 12px; letter-spacing: .08em; text-transform: uppercase; color: rgba(247,244,239,.6); display: flex; gap: 9px; align-items: center; flex-wrap: wrap; background: none !important; border: none !important; border-radius: 0 !important; padding: 0 !important; margin: 0 !important; box-shadow: none !important; list-style: none; }
   .cms-page-content.fsp-about .ph-crumb a { color: rgba(247,244,239,.75); }
   .cms-page-content.fsp-about .ph-crumb a:hover { color: #E9B6AC; }
   .cms-page-content.fsp-about .ph-crumb .sep { color: rgba(247,244,239,.45); font-size: 11px; }
   .cms-page-content.fsp-about .ph-crumb span[aria-current="page"] { color: rgba(247,244,239,.9); }
   .cms-page-content.fsp-about .feature-grid { display: grid; grid-template-columns: 1.05fr 1fr; gap: clamp(32px, 6vw, 88px); align-items: center; }
   .cms-page-content.fsp-about .feature-grid > * { min-width: 0; }
   .cms-page-content.fsp-about .feature-grid--start { align-items: start; }
   .cms-page-content.fsp-about .feature-grid .h-xl.on-dark { margin-top: 18px; color: #fff; }
   .cms-page-content.fsp-about .feature-grid .on-dark-lede { margin-top: 20px; }
   .cms-page-content.fsp-about .about-photo { position: relative; margin: 0; width: 100%; aspect-ratio: 4 / 3; border-radius: 8px; overflow: hidden; line-height: 0; }
   .cms-page-content.fsp-about .about-photo img { position: absolute; inset: 0; width: 100% !important; height: 100% !important; max-width: none !important; object-fit: cover !important; object-position: center; border-radius: 0; }
   .cms-page-content.fsp-about .statrow { display: grid; grid-template-columns: repeat(3, 1fr); gap: 28px; margin-top: clamp(48px, 7vw, 80px); border-top: 1px solid var(--line); padding-top: 48px; }
   .cms-page-content.fsp-about .stat .s-num { font-family: var(--serif); font-size: clamp(46px, 7vw, 76px); font-weight: 600; line-height: .92; color: var(--oxblood); letter-spacing: -.03em; }
   .cms-page-content.fsp-about .stat .s-label { font-size: 14.5px; color: var(--slate); margin-top: 14px; max-width: 28ch; }
   .cms-page-content.fsp-about .sec-head-block { max-width: 60ch; margin-bottom: clamp(36px, 5vw, 52px); }
   .cms-page-content.fsp-about .sec-head-block .h-xl { margin-top: 18px; }
   .cms-page-content.fsp-about .sec-head-block .lede { margin-top: 18px; }
   .cms-page-content.fsp-about .cards-3 { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; }
   .cms-page-content.fsp-about .scard { background: var(--paper); border: 1px solid var(--line); border-radius: var(--r-lg); padding: 34px 30px 30px; display: flex; flex-direction: column; gap: 18px; transition: box-shadow .22s, transform .22s, border-color .22s; position: relative; overflow: hidden; }
   .cms-page-content.fsp-about .scard::before { content: ""; position: absolute; top: 0; left: 0; right: 0; height: 3px; background: var(--grad-ember); transform: scaleX(0); transform-origin: left; transition: transform .3s; }
   .cms-page-content.fsp-about .scard:hover { box-shadow: var(--sh-lg); transform: translateY(-4px); border-color: transparent; }
   .cms-page-content.fsp-about .scard:hover::before { transform: scaleX(1); }
   .cms-page-content.fsp-about .scard-img { position: relative; width: 100%; aspect-ratio: 1 / 1; border-radius: 6px; overflow: hidden; line-height: 0; flex: none; }
   .cms-page-content.fsp-about .scard-img img { position: absolute; inset: 0; width: 100% !important; height: 100% !important; max-width: none !important; object-fit: cover !important; object-position: center; }
   .cms-page-content.fsp-about .scard h3 { font-size: 21px; }
   .cms-page-content.fsp-about .scard .role { font-size: 14px; margin-top: 4px; }
   .cms-page-content.fsp-about .scard .card-desc { font-size: 14.5px; color: var(--slate); }
   .cms-page-content.fsp-about .tag-row { display: flex; flex-wrap: wrap; gap: 7px; }
   .cms-page-content.fsp-about .tag { display: inline-flex; align-items: center; font-family: var(--mono); font-size: 11px; font-weight: 600; letter-spacing: .1em; text-transform: uppercase; padding: 6px 11px; border-radius: 100px; background: var(--oxblood-tint); color: var(--oxblood); }
   .cms-page-content.fsp-about .pointlist { list-style: none; padding: 0; display: flex; flex-direction: column; gap: 4px; }
   .cms-page-content.fsp-about .pointlist li { display: grid; grid-template-columns: auto 1fr; gap: 18px; padding: 22px 0; border-top: 1px solid var(--line-ondark); }
   .cms-page-content.fsp-about .pointlist li:last-child { border-bottom: 1px solid var(--line-ondark); }
   .cms-page-content.fsp-about .pointlist .pl-ico { width: 44px; height: 44px; border-radius: 12px; background: rgba(255,255,255,.06); border: 1px solid rgba(255,255,255,.1); display: grid; place-items: center; color: #E9B6AC; }
   .cms-page-content.fsp-about .pointlist .pl-ico svg { width: 21px; height: 21px; }
   .cms-page-content.fsp-about .pointlist h4 { font-family: var(--serif); font-size: 20px; color: #fff; margin-bottom: 6px; }
   .cms-page-content.fsp-about .pointlist p { font-size: 15px; color: rgba(247,244,239,.66); }
   .cms-page-content.fsp-about .cta-band { text-align: center; }
   .cms-page-content.fsp-about .cta-band .cb-inner { max-width: 800px; margin-inline: auto; }
   .cms-page-content.fsp-about .cta-band .lede { margin: 20px auto 0; }
   .cms-page-content.fsp-about .cta-band .btn-row { display: flex; gap: 14px; justify-content: center; flex-wrap: wrap; margin-top: 34px; }
   .cms-page-content.fsp-about .site-footer { background: var(--black); color: rgba(247,244,239,.66); padding-block: clamp(56px, 8vw, 96px) 36px; position: relative; }
   .cms-page-content.fsp-about .site-footer::before { content: ""; position: absolute; top: 0; left: 0; right: 0; height: 1px; background: var(--grad-ember); }
   .cms-page-content.fsp-about .footer-grid { display: grid; grid-template-columns: 1.7fr 1fr 1fr 1fr; gap: 44px; }
   .cms-page-content.fsp-about .brand { display: flex; align-items: center; gap: 13px; }
   .cms-page-content.fsp-about .brand-mark { width: 40px; height: 40px; flex: none; border-radius: 11px; background: var(--grad-dark); color: #fff; display: grid; place-items: center; box-shadow: inset 0 0 0 1px rgba(255,255,255,.08); }
   .cms-page-content.fsp-about .brand-mark svg { width: 22px; height: 22px; }
   .cms-page-content.fsp-about .brand-text { display: flex; flex-direction: column; line-height: 1; }
   .cms-page-content.fsp-about .brand-text .b-name { font-family: var(--serif); font-weight: 600; font-size: 19px; letter-spacing: -.02em; }
   .cms-page-content.fsp-about .brand-text .b-sub { font-family: var(--mono); font-size: 9.5px; letter-spacing: .18em; text-transform: uppercase; color: var(--slate); margin-top: 5px; font-weight: 500; }
   .cms-page-content.fsp-about .site-footer .f-brand .brand-text .b-name { color: #fff; }
   .cms-page-content.fsp-about .site-footer .f-brand .brand-text .b-sub { color: rgba(247,244,239,.5); }
   .cms-page-content.fsp-about .site-footer .f-about { font-size: 14.5px; line-height: 1.6; margin-top: 22px; max-width: 38ch; color: rgba(247,244,239,.6); }
   .cms-page-content.fsp-about .f-col h5 { font-family: var(--mono); font-size: 11px; letter-spacing: .18em; text-transform: uppercase; color: rgba(247,244,239,.45); margin: 0 0 20px; font-weight: 600; }
   .cms-page-content.fsp-about .f-col ul { list-style: none; padding: 0; display: flex; flex-direction: column; gap: 13px; }
   .cms-page-content.fsp-about .f-col a { font-size: 15px; color: rgba(247,244,239,.78); }
   .cms-page-content.fsp-about .f-col a:hover { color: #fff; }
   .cms-page-content.fsp-about .footer-bottom { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 14px; align-items: center; margin-top: clamp(44px, 6vw, 72px); padding-top: 28px; border-top: 1px solid var(--line-ondark); font-size: 12.5px; color: rgba(247,244,239,.46); font-family: var(--mono); letter-spacing: .02em; }
   .cms-page-content.fsp-about .footer-bottom .fb-note { max-width: 64ch; }
   .cms-page-content.fsp-about .reveal { opacity: 0; transform: translateY(22px); transition: opacity .8s, transform .8s cubic-bezier(.2,.7,.2,1); }
   .cms-page-content.fsp-about .reveal.in { opacity: 1; transform: none; }
   .cms-page-content.fsp-about .reveal.d1 { transition-delay: .08s; }
   .cms-page-content.fsp-about .reveal.d2 { transition-delay: .16s; }
   @media (max-width: 960px) { .cms-page-content.fsp-about .cards-3 { grid-template-columns: 1fr; max-width: 560px; margin-inline: auto; } }
   @media (max-width: 900px) { .cms-page-content.fsp-about .feature-grid { grid-template-columns: 1fr; gap: 40px; } }
   @media (max-width: 860px) { .cms-page-content.fsp-about .footer-grid { grid-template-columns: 1fr 1fr; gap: 40px 24px; } }
   @media (max-width: 720px) { .cms-page-content.fsp-about .statrow { grid-template-columns: 1fr; gap: 26px; } }
   @media (max-width: 520px) { .cms-page-content.fsp-about .footer-grid { grid-template-columns: 1fr; } }
   @media (prefers-reduced-motion: reduce) { .cms-page-content.fsp-about .reveal { opacity: 1; transform: none; } }
   /* FSP INSIGHTS PAGE ? layout strips + content styles
      Triggers via DOM class (after ensureFspPageRoot wraps content)
      or via html[data-fsp-route] (set immediately by tagFspPageMode) */
   /* --- breadcrumb + toolbar hide --- */
   body:has(.cms-page-content.fsp-insights) .lpx-breadcrumb-container,
   html[data-fsp-route="/insights"] .lpx-breadcrumb-container { display: none !important; }
   body:has(.cms-page-content.fsp-insights) .row.lpx-content-toolbar,
   html[data-fsp-route="/insights"] .row.lpx-content-toolbar { display: none !important; }
   /* --- full-bleed content container --- */
   body:has(.cms-page-content.fsp-insights) .lpx-content-container,
   body:has(.cms-page-content.fsp-insights) .lpx-content-wrapper,
   body:has(.cms-page-content.fsp-insights) .lpx-content,
   html[data-fsp-route="/insights"] body.abp-public-layout .lpx-content-container,
   html[data-fsp-route="/insights"] body.abp-public-layout .lpx-content-wrapper,
   html[data-fsp-route="/insights"] body.abp-public-layout .lpx-content {
     max-width: none !important; padding: 0 !important; margin: 0 !important;
     background: transparent !important; overflow: visible !important;
   }
   /* --- strip card shell --- */
   body:has(.cms-page-content.fsp-insights) .card:has(.fsp-insights),
   body:has(.cms-page-content.fsp-insights) .card:has(.fsp-insights) > .card-body,
   body:has(.cms-page-content.fsp-insights) .abp-widget-wrapper:has(.fsp-insights),
   html[data-fsp-route="/insights"] body.abp-public-layout .card,
   html[data-fsp-route="/insights"] body.abp-public-layout .card > .card-body,
   html[data-fsp-route="/insights"] body.abp-public-layout .abp-widget-wrapper {
     border: none !important; background: transparent !important; padding: 0 !important;
     margin: 0 !important; box-shadow: none !important; overflow: visible !important;
   }
   /* --- design tokens + full-width reset on the content root --- */
   :is(.cms-page-content.fsp-insights, html[data-fsp-route="/insights"] body.abp-public-layout .abp-widget-wrapper) {
     --ink:#15181C; --black:#0C0F14; --oxblood:#8C2F25; --ember:#B23A2E; --ember-2:#D14A36;
     --surface:#F7F4EF; --slate:#5B6670; --paper:#FFF; --line:rgba(21,24,28,.12);
     --line-ondark:rgba(247,244,239,.14);
     --grad-ember:linear-gradient(120deg,#8C2F25,#B23A2E 55%,#D14A36);
     --grad-dark:linear-gradient(160deg,#141A22,#0C0F14 70%);
     --serif:'Spectral',Georgia,serif; --sans:'Hanken Grotesk',system-ui,sans-serif; --mono:'JetBrains Mono',monospace;
     --r:14px; --maxw:1240px; --gutter:clamp(20px,5vw,72px);
     width:100vw; max-width:100vw; margin-left:calc(50% - 50vw); margin-right:calc(50% - 50vw);
     overflow-x:hidden; font-family:var(--sans); font-size:17px; line-height:1.6; color:var(--ink);
     background:var(--paper); -webkit-font-smoothing:antialiased;
   }
   :is(.cms-page-content.fsp-insights, html[data-fsp-route="/insights"] body.abp-public-layout .abp-widget-wrapper) *,
   :is(.cms-page-content.fsp-insights, html[data-fsp-route="/insights"] body.abp-public-layout .abp-widget-wrapper) *::before,
   :is(.cms-page-content.fsp-insights, html[data-fsp-route="/insights"] body.abp-public-layout .abp-widget-wrapper) *::after { box-sizing:border-box; }
   :is(.cms-page-content.fsp-insights, html[data-fsp-route="/insights"] body.abp-public-layout .abp-widget-wrapper) img { max-width:100%; display:block; object-fit:cover; }
   :is(.cms-page-content.fsp-insights, html[data-fsp-route="/insights"] body.abp-public-layout .abp-widget-wrapper) a { color:inherit; text-decoration:none; }
   :is(.cms-page-content.fsp-insights, html[data-fsp-route="/insights"] body.abp-public-layout .abp-widget-wrapper) h1,
   :is(.cms-page-content.fsp-insights, html[data-fsp-route="/insights"] body.abp-public-layout .abp-widget-wrapper) h2,
   :is(.cms-page-content.fsp-insights, html[data-fsp-route="/insights"] body.abp-public-layout .abp-widget-wrapper) h3 {
     margin:0; font-family:var(--serif); font-weight:600; line-height:1.05; letter-spacing:-.02em; color:var(--ink);
   }
   :is(.cms-page-content.fsp-insights, html[data-fsp-route="/insights"] body.abp-public-layout .abp-widget-wrapper) p { margin:0; color:var(--slate); }
   :is(.cms-page-content.fsp-insights, html[data-fsp-route="/insights"] body.abp-public-layout .abp-widget-wrapper) .wrap { max-width:var(--maxw); margin-inline:auto; padding-inline:var(--gutter); }
   :is(.cms-page-content.fsp-insights, html[data-fsp-route="/insights"] body.abp-public-layout .abp-widget-wrapper) .section { padding-block:clamp(64px,10vw,120px); }
   :is(.cms-page-content.fsp-insights, html[data-fsp-route="/insights"] body.abp-public-layout .abp-widget-wrapper) .display { font-size:clamp(40px,6vw,84px); line-height:.98; letter-spacing:-.035em; }
   :is(.cms-page-content.fsp-insights, html[data-fsp-route="/insights"] body.abp-public-layout .abp-widget-wrapper) .h-xl { font-size:clamp(30px,4.5vw,56px); }
   :is(.cms-page-content.fsp-insights, html[data-fsp-route="/insights"] body.abp-public-layout .abp-widget-wrapper) .h-lg { font-size:clamp(26px,3.5vw,40px); }
   :is(.cms-page-content.fsp-insights, html[data-fsp-route="/insights"] body.abp-public-layout .abp-widget-wrapper) .lede { font-size:clamp(17px,2vw,21px); max-width:60ch; margin-top:18px; line-height:1.5; }
   :is(.cms-page-content.fsp-insights, html[data-fsp-route="/insights"] body.abp-public-layout .abp-widget-wrapper) .on-dark { color:#fff !important; }
   :is(.cms-page-content.fsp-insights, html[data-fsp-route="/insights"] body.abp-public-layout .abp-widget-wrapper) .on-dark-lede { color:rgba(247,244,239,.78) !important; }
   :is(.cms-page-content.fsp-insights, html[data-fsp-route="/insights"] body.abp-public-layout .abp-widget-wrapper) .eyebrow { font-family:var(--mono); font-size:12px; font-weight:600; letter-spacing:.22em; text-transform:uppercase; color:var(--oxblood); display:inline-flex; align-items:center; gap:12px; }
   :is(.cms-page-content.fsp-insights, html[data-fsp-route="/insights"] body.abp-public-layout .abp-widget-wrapper) .eyebrow::before { content:""; width:22px; height:2px; background:var(--grad-ember); border-radius:2px; }
   :is(.cms-page-content.fsp-insights, html[data-fsp-route="/insights"] body.abp-public-layout .abp-widget-wrapper) .eyebrow.on-dark { color:#E9B6AC; }
   :is(.cms-page-content.fsp-insights, html[data-fsp-route="/insights"] body.abp-public-layout .abp-widget-wrapper) .bg-surface { background:var(--surface); }
   :is(.cms-page-content.fsp-insights, html[data-fsp-route="/insights"] body.abp-public-layout .abp-widget-wrapper) .bg-ink { background:var(--black); }
   :is(.cms-page-content.fsp-insights, html[data-fsp-route="/insights"] body.abp-public-layout .abp-widget-wrapper) .cine { background:var(--grad-dark); color:var(--surface); position:relative; overflow:hidden; }
   :is(.cms-page-content.fsp-insights, html[data-fsp-route="/insights"] body.abp-public-layout .abp-widget-wrapper) .cine::before {
     content:""; position:absolute; inset:0; pointer-events:none;
     background:radial-gradient(60% 60% at 85% 0%,rgba(178,58,46,.22),transparent 60%),radial-gradient(50% 50% at 0% 100%,rgba(28,42,58,.5),transparent 60%);
   }
   :is(.cms-page-content.fsp-insights, html[data-fsp-route="/insights"] body.abp-public-layout .abp-widget-wrapper) .cine > * { position:relative; z-index:1; }
   :is(.cms-page-content.fsp-insights, html[data-fsp-route="/insights"] body.abp-public-layout .abp-widget-wrapper) .cine h1,
   :is(.cms-page-content.fsp-insights, html[data-fsp-route="/insights"] body.abp-public-layout .abp-widget-wrapper) .cine h2,
   :is(.cms-page-content.fsp-insights, html[data-fsp-route="/insights"] body.abp-public-layout .abp-widget-wrapper) .cine h3 { color:#fff !important; }
   :is(.cms-page-content.fsp-insights, html[data-fsp-route="/insights"] body.abp-public-layout .abp-widget-wrapper) .page-hero.cine .lede { color:rgba(247,244,239,.78) !important; }
   :is(.cms-page-content.fsp-insights, html[data-fsp-route="/insights"] body.abp-public-layout .abp-widget-wrapper) .page-hero { padding-block:clamp(70px,9vw,130px) clamp(48px,6vw,84px); margin-top:0; }
   :is(.cms-page-content.fsp-insights, html[data-fsp-route="/insights"] body.abp-public-layout .abp-widget-wrapper) .ph-inner { max-width:60ch; margin-top:18px; }
   :is(.cms-page-content.fsp-insights, html[data-fsp-route="/insights"] body.abp-public-layout .abp-widget-wrapper) .page-hero h1 { margin-top:18px; }
   :is(.cms-page-content.fsp-insights, html[data-fsp-route="/insights"] body.abp-public-layout .abp-widget-wrapper) .ph-crumb {
     font-family:var(--mono); font-size:12px; letter-spacing:.08em; text-transform:uppercase;
     color:rgba(247,244,239,.6); display:flex; gap:9px; align-items:center;
     background:none !important; border:none !important; border-radius:0 !important;
     padding:0 !important; margin:0 !important; box-shadow:none !important; list-style:none;
   }
   :is(.cms-page-content.fsp-insights, html[data-fsp-route="/insights"] body.abp-public-layout .abp-widget-wrapper) .ph-crumb a { color:rgba(247,244,239,.75); }
   :is(.cms-page-content.fsp-insights, html[data-fsp-route="/insights"] body.abp-public-layout .abp-widget-wrapper) .ph-crumb a:hover { color:#E9B6AC; }
   :is(.cms-page-content.fsp-insights, html[data-fsp-route="/insights"] body.abp-public-layout .abp-widget-wrapper) .ph-crumb .sep { color:rgba(247,244,239,.45); font-size:11px; }
   :is(.cms-page-content.fsp-insights, html[data-fsp-route="/insights"] body.abp-public-layout .abp-widget-wrapper) .ph-crumb span[aria-current="page"] { color:rgba(247,244,239,.9); }
   :is(.cms-page-content.fsp-insights, html[data-fsp-route="/insights"] body.abp-public-layout .abp-widget-wrapper) .sec-head { display:block; margin-bottom:36px; }
   :is(.cms-page-content.fsp-insights, html[data-fsp-route="/insights"] body.abp-public-layout .abp-widget-wrapper) .sec-head .h-lg { margin-top:16px; }
   :is(.cms-page-content.fsp-insights, html[data-fsp-route="/insights"] body.abp-public-layout .abp-widget-wrapper) .insight-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:22px; }
   :is(.cms-page-content.fsp-insights, html[data-fsp-route="/insights"] body.abp-public-layout .abp-widget-wrapper) .icard { display:flex; flex-direction:column; border:1px solid var(--line); border-radius:var(--r); overflow:hidden; background:var(--paper); transition:transform .18s,box-shadow .18s; }
   :is(.cms-page-content.fsp-insights, html[data-fsp-route="/insights"] body.abp-public-layout .abp-widget-wrapper) .icard:hover { transform:translateY(-2px); box-shadow:0 10px 30px -12px rgba(12,15,20,.22); }
   :is(.cms-page-content.fsp-insights, html[data-fsp-route="/insights"] body.abp-public-layout .abp-widget-wrapper) .ic-media { width:100%; aspect-ratio:16/10; overflow:hidden; flex:none; background:var(--surface); }
   :is(.cms-page-content.fsp-insights, html[data-fsp-route="/insights"] body.abp-public-layout .abp-widget-wrapper) .ic-media img { width:100%; height:100%; object-fit:cover; display:block; }
   :is(.cms-page-content.fsp-insights, html[data-fsp-route="/insights"] body.abp-public-layout .abp-widget-wrapper) .icard img { width:100%; height:100%; object-fit:cover; aspect-ratio:auto; max-height:none; }
   :is(.cms-page-content.fsp-insights, html[data-fsp-route="/insights"] body.abp-public-layout .abp-widget-wrapper) .ic-body { padding:26px; display:flex; flex-direction:column; gap:12px; flex:1; }
   :is(.cms-page-content.fsp-insights, html[data-fsp-route="/insights"] body.abp-public-layout .abp-widget-wrapper) .ic-meta { font-size:12px; letter-spacing:.1em; text-transform:uppercase; color:var(--slate); font-weight:600; display:flex; gap:10px; align-items:center; }
   :is(.cms-page-content.fsp-insights, html[data-fsp-route="/insights"] body.abp-public-layout .abp-widget-wrapper) .ic-meta .dot { width:4px; height:4px; border-radius:50%; background:var(--ember); }
   :is(.cms-page-content.fsp-insights, html[data-fsp-route="/insights"] body.abp-public-layout .abp-widget-wrapper) .icard h3 { font-size:21px; color:var(--ink); line-height:1.2; }
   :is(.cms-page-content.fsp-insights, html[data-fsp-route="/insights"] body.abp-public-layout .abp-widget-wrapper) .icard p { font-size:15px; }
   :is(.cms-page-content.fsp-insights, html[data-fsp-route="/insights"] body.abp-public-layout .abp-widget-wrapper) .ic-foot { margin-top:auto; padding-top:6px; }
   :is(.cms-page-content.fsp-insights, html[data-fsp-route="/insights"] body.abp-public-layout .abp-widget-wrapper) .btn-link { display:inline-flex; align-items:center; gap:9px; font-weight:600; color:var(--oxblood); font-size:15px; font-family:var(--sans); }
   :is(.cms-page-content.fsp-insights, html[data-fsp-route="/insights"] body.abp-public-layout .abp-widget-wrapper) .btn-link svg { width:16px; height:16px; }
   :is(.cms-page-content.fsp-insights, html[data-fsp-route="/insights"] body.abp-public-layout .abp-widget-wrapper) .btn-link:hover { gap:14px; }
   :is(.cms-page-content.fsp-insights, html[data-fsp-route="/insights"] body.abp-public-layout .abp-widget-wrapper) .faq { display:grid; grid-template-columns:.7fr 1.3fr; gap:clamp(28px,5vw,64px); align-items:start; }
   :is(.cms-page-content.fsp-insights, html[data-fsp-route="/insights"] body.abp-public-layout .abp-widget-wrapper) .faq-lede { font-size:18px; }
   :is(.cms-page-content.fsp-insights, html[data-fsp-route="/insights"] body.abp-public-layout .abp-widget-wrapper) .faq-ask { color:var(--oxblood); border-bottom:1.5px solid var(--oxblood); }
   :is(.cms-page-content.fsp-insights, html[data-fsp-route="/insights"] body.abp-public-layout .abp-widget-wrapper) .faq-list { display:flex; flex-direction:column; min-height:1px; }
   :is(.cms-page-content.fsp-insights, html[data-fsp-route="/insights"] body.abp-public-layout .abp-widget-wrapper) details.qa { border-top:1px solid var(--line); }
   :is(.cms-page-content.fsp-insights, html[data-fsp-route="/insights"] body.abp-public-layout .abp-widget-wrapper) details.qa:last-child { border-bottom:1px solid var(--line); }
   :is(.cms-page-content.fsp-insights, html[data-fsp-route="/insights"] body.abp-public-layout .abp-widget-wrapper) details.qa summary {
     list-style:none; cursor:pointer; padding:24px 0; display:flex; gap:18px; align-items:flex-start;
     font-family:var(--serif); font-size:clamp(18px,2.2vw,21px); font-weight:600; color:var(--ink); letter-spacing:-.01em;
   }
   :is(.cms-page-content.fsp-insights, html[data-fsp-route="/insights"] body.abp-public-layout .abp-widget-wrapper) details.qa summary::-webkit-details-marker { display:none; }
   :is(.cms-page-content.fsp-insights, html[data-fsp-route="/insights"] body.abp-public-layout .abp-widget-wrapper) details.qa .qa-ico { margin-left:auto; flex:none; width:26px; height:26px; display:grid; place-items:center; color:var(--oxblood); transition:transform .22s ease; }
   :is(.cms-page-content.fsp-insights, html[data-fsp-route="/insights"] body.abp-public-layout .abp-widget-wrapper) details.qa .qa-ico svg { width:20px; height:20px; }
   :is(.cms-page-content.fsp-insights, html[data-fsp-route="/insights"] body.abp-public-layout .abp-widget-wrapper) details.qa[open] .qa-ico { transform:rotate(45deg); }
   :is(.cms-page-content.fsp-insights, html[data-fsp-route="/insights"] body.abp-public-layout .abp-widget-wrapper) details.qa .qa-body { padding:0 44px 26px 0; color:var(--slate); font-size:16px; line-height:1.6; max-width:64ch; }
   :is(.cms-page-content.fsp-insights, html[data-fsp-route="/insights"] body.abp-public-layout .abp-widget-wrapper) details.qa .qa-body p + p { margin-top:12px; }
   :is(.cms-page-content.fsp-insights, html[data-fsp-route="/insights"] body.abp-public-layout .abp-widget-wrapper) .btn { display:inline-flex !important; align-items:center; gap:8px; font-family:var(--sans) !important; font-weight:600 !important; font-size:16px !important; padding:15px 26px !important; border-radius:100px !important; border:1.5px solid transparent !important; line-height:1 !important; transition:transform .18s; }
   :is(.cms-page-content.fsp-insights, html[data-fsp-route="/insights"] body.abp-public-layout .abp-widget-wrapper) .btn-primary { background:var(--grad-ember) !important; color:#fff !important; }
   :is(.cms-page-content.fsp-insights, html[data-fsp-route="/insights"] body.abp-public-layout .abp-widget-wrapper) .btn-primary:hover { transform:translateY(-2px); }
   :is(.cms-page-content.fsp-insights, html[data-fsp-route="/insights"] body.abp-public-layout .abp-widget-wrapper) .btn-ghost.on-dark { background:transparent !important; color:#fff !important; border-color:rgba(247,244,239,.2) !important; }
   :is(.cms-page-content.fsp-insights, html[data-fsp-route="/insights"] body.abp-public-layout .abp-widget-wrapper) .btn-ghost.on-dark:hover { background:#fff !important; color:var(--ink) !important; }
   :is(.cms-page-content.fsp-insights, html[data-fsp-route="/insights"] body.abp-public-layout .abp-widget-wrapper) .btn-lg { padding:17px 30px !important; }
   :is(.cms-page-content.fsp-insights, html[data-fsp-route="/insights"] body.abp-public-layout .abp-widget-wrapper) .cta-band { text-align:center; }
   :is(.cms-page-content.fsp-insights, html[data-fsp-route="/insights"] body.abp-public-layout .abp-widget-wrapper) .cb { max-width:720px; margin-inline:auto; }
   :is(.cms-page-content.fsp-insights, html[data-fsp-route="/insights"] body.abp-public-layout .abp-widget-wrapper) .btn-row { display:flex; gap:14px; justify-content:center; flex-wrap:wrap; margin-top:28px; }
   :is(.cms-page-content.fsp-insights, html[data-fsp-route="/insights"] body.abp-public-layout .abp-widget-wrapper) .site-footer { background:var(--black); color:rgba(247,244,239,.66); padding-block:clamp(56px,8vw,96px) 36px; position:relative; }
   :is(.cms-page-content.fsp-insights, html[data-fsp-route="/insights"] body.abp-public-layout .abp-widget-wrapper) .site-footer::before { content:""; position:absolute; top:0; left:0; right:0; height:1px; background:var(--grad-ember); }
   :is(.cms-page-content.fsp-insights, html[data-fsp-route="/insights"] body.abp-public-layout .abp-widget-wrapper) .footer-grid { display:grid; grid-template-columns:1.7fr 1fr 1fr 1fr; gap:44px; }
   :is(.cms-page-content.fsp-insights, html[data-fsp-route="/insights"] body.abp-public-layout .abp-widget-wrapper) .brand { display:flex; align-items:center; gap:13px; }
   :is(.cms-page-content.fsp-insights, html[data-fsp-route="/insights"] body.abp-public-layout .abp-widget-wrapper) .brand-mark { width:40px; height:40px; flex:none; border-radius:11px; background:var(--grad-dark); color:#fff; display:grid; place-items:center; box-shadow:inset 0 0 0 1px rgba(255,255,255,.08); }
   :is(.cms-page-content.fsp-insights, html[data-fsp-route="/insights"] body.abp-public-layout .abp-widget-wrapper) .brand-mark svg { width:22px; height:22px; }
   :is(.cms-page-content.fsp-insights, html[data-fsp-route="/insights"] body.abp-public-layout .abp-widget-wrapper) .brand-text { display:flex; flex-direction:column; line-height:1; }
   :is(.cms-page-content.fsp-insights, html[data-fsp-route="/insights"] body.abp-public-layout .abp-widget-wrapper) .brand-text .b-name { font-family:var(--serif); font-weight:600; font-size:19px; letter-spacing:-.02em; color:#fff; }
   :is(.cms-page-content.fsp-insights, html[data-fsp-route="/insights"] body.abp-public-layout .abp-widget-wrapper) .brand-text .b-sub { font-family:var(--mono); font-size:9.5px; letter-spacing:.18em; text-transform:uppercase; color:rgba(247,244,239,.5); margin-top:5px; font-weight:500; }
   :is(.cms-page-content.fsp-insights, html[data-fsp-route="/insights"] body.abp-public-layout .abp-widget-wrapper) .site-footer .f-about { font-size:14.5px; line-height:1.6; margin-top:22px; max-width:38ch; color:rgba(247,244,239,.6); }
   :is(.cms-page-content.fsp-insights, html[data-fsp-route="/insights"] body.abp-public-layout .abp-widget-wrapper) .f-col h5 { font-family:var(--mono); font-size:11px; letter-spacing:.18em; text-transform:uppercase; color:rgba(247,244,239,.45); margin:0 0 20px; font-weight:600; }
   :is(.cms-page-content.fsp-insights, html[data-fsp-route="/insights"] body.abp-public-layout .abp-widget-wrapper) .f-col ul { list-style:none; padding:0; margin:0; display:flex; flex-direction:column; gap:13px; }
   :is(.cms-page-content.fsp-insights, html[data-fsp-route="/insights"] body.abp-public-layout .abp-widget-wrapper) .f-col a { font-size:15px; color:rgba(247,244,239,.78); font-family:var(--sans); }
   :is(.cms-page-content.fsp-insights, html[data-fsp-route="/insights"] body.abp-public-layout .abp-widget-wrapper) .f-col a:hover { color:#fff; }
   :is(.cms-page-content.fsp-insights, html[data-fsp-route="/insights"] body.abp-public-layout .abp-widget-wrapper) .footer-bottom { display:flex; flex-wrap:wrap; justify-content:space-between; gap:14px; align-items:center; margin-top:clamp(44px,6vw,72px); padding-top:28px; border-top:1px solid var(--line-ondark); font-size:12.5px; color:rgba(247,244,239,.46); font-family:var(--mono); letter-spacing:.02em; }
   :is(.cms-page-content.fsp-insights, html[data-fsp-route="/insights"] body.abp-public-layout .abp-widget-wrapper) .footer-bottom .fb-note { max-width:64ch; }
   :is(.cms-page-content.fsp-insights, html[data-fsp-route="/insights"] body.abp-public-layout .abp-widget-wrapper) .reveal { opacity:0; transform:translateY(18px); transition:opacity .7s,transform .7s; }
   :is(.cms-page-content.fsp-insights, html[data-fsp-route="/insights"] body.abp-public-layout .abp-widget-wrapper) .reveal.in { opacity:1; transform:none; }
   :is(.cms-page-content.fsp-insights, html[data-fsp-route="/insights"] body.abp-public-layout .abp-widget-wrapper) .reveal.d1 { transition-delay:.08s; }
   :is(.cms-page-content.fsp-insights, html[data-fsp-route="/insights"] body.abp-public-layout .abp-widget-wrapper) .reveal.d2 { transition-delay:.16s; }
   @media (max-width:900px) {
     :is(.cms-page-content.fsp-insights, html[data-fsp-route="/insights"] body.abp-public-layout .abp-widget-wrapper) .insight-grid,
     :is(.cms-page-content.fsp-insights, html[data-fsp-route="/insights"] body.abp-public-layout .abp-widget-wrapper) .faq { grid-template-columns:1fr; }
   }
   @media (max-width:860px) { :is(.cms-page-content.fsp-insights, html[data-fsp-route="/insights"] body.abp-public-layout .abp-widget-wrapper) .footer-grid { grid-template-columns:1fr 1fr; gap:40px 24px; } }
   @media (max-width:520px) { :is(.cms-page-content.fsp-insights, html[data-fsp-route="/insights"] body.abp-public-layout .abp-widget-wrapper) .footer-grid { grid-template-columns:1fr; } }
   @media (prefers-reduced-motion:reduce) { :is(.cms-page-content.fsp-insights, html[data-fsp-route="/insights"] body.abp-public-layout .abp-widget-wrapper) .reveal { opacity:1; transform:none; } }
   /* FSP CONTACT PAGE ? layout strips + content styles */ 
   /* breadcrumb + toolbar hide */
   body:has(.cms-page-content.fsp-contact) .lpx-breadcrumb-container,
   html[data-fsp-route="/contacts"] .lpx-breadcrumb-container,
   html[data-fsp-route="/contact"] .lpx-breadcrumb-container,
   html[data-fsp-route="/contact-us"] .lpx-breadcrumb-container { display: none !important; }
   body:has(.cms-page-content.fsp-contact) .row.lpx-content-toolbar,
   html[data-fsp-route="/contacts"] .row.lpx-content-toolbar,
   html[data-fsp-route="/contact"] .row.lpx-content-toolbar,
   html[data-fsp-route="/contact-us"] .row.lpx-content-toolbar { display: none !important; }
   /* full-bleed content container */
   body:has(.cms-page-content.fsp-contact) .lpx-content-container,
   body:has(.cms-page-content.fsp-contact) .lpx-content-wrapper,
   body:has(.cms-page-content.fsp-contact) .lpx-content,
   html[data-fsp-route="/contacts"] body.abp-public-layout .lpx-content-container,
   html[data-fsp-route="/contacts"] body.abp-public-layout .lpx-content-wrapper,
   html[data-fsp-route="/contacts"] body.abp-public-layout .lpx-content,
   html[data-fsp-route="/contact"] body.abp-public-layout .lpx-content-container,
   html[data-fsp-route="/contact"] body.abp-public-layout .lpx-content-wrapper,
   html[data-fsp-route="/contact"] body.abp-public-layout .lpx-content,
   html[data-fsp-route="/contact-us"] body.abp-public-layout .lpx-content-container,
   html[data-fsp-route="/contact-us"] body.abp-public-layout .lpx-content-wrapper,
   html[data-fsp-route="/contact-us"] body.abp-public-layout .lpx-content {
     max-width: none !important; padding: 0 !important; margin: 0 !important;
     background: transparent !important; overflow: visible !important;
   }
   /* strip card shell */
   body:has(.cms-page-content.fsp-contact) .card:has(.fsp-contact),
   body:has(.cms-page-content.fsp-contact) .card:has(.fsp-contact) > .card-body,
   body:has(.cms-page-content.fsp-contact) .abp-widget-wrapper:has(.fsp-contact),
   html[data-fsp-route="/contacts"] body.abp-public-layout .card,
   html[data-fsp-route="/contacts"] body.abp-public-layout .card > .card-body,
   html[data-fsp-route="/contacts"] body.abp-public-layout .abp-widget-wrapper,
   html[data-fsp-route="/contact"] body.abp-public-layout .card,
   html[data-fsp-route="/contact"] body.abp-public-layout .card > .card-body,
   html[data-fsp-route="/contact"] body.abp-public-layout .abp-widget-wrapper,
   html[data-fsp-route="/contact-us"] body.abp-public-layout .card,
   html[data-fsp-route="/contact-us"] body.abp-public-layout .card > .card-body,
   html[data-fsp-route="/contact-us"] body.abp-public-layout .abp-widget-wrapper {
     border: none !important; background: transparent !important; padding: 0 !important;
     margin: 0 !important; box-shadow: none !important; overflow: visible !important;
   }
   /* design tokens + full-width reset */
   :is(.cms-page-content.fsp-contact, html[data-fsp-route="/contacts"] body.abp-public-layout .abp-widget-wrapper, html[data-fsp-route="/contact"] body.abp-public-layout .abp-widget-wrapper, html[data-fsp-route="/contact-us"] body.abp-public-layout .abp-widget-wrapper) {
     --ink:#15181C; --black:#0C0F14; --navy:#1C2A3A; --oxblood:#8C2F25; --ember:#B23A2E;
     --surface:#F7F4EF; --slate:#5B6670; --paper:#FFF; --line:rgba(21,24,28,.12);
     --grad-ember:linear-gradient(120deg,#8C2F25,#B23A2E 55%,#D14A36);
     --grad-dark:linear-gradient(160deg,#141A22,#0C0F14 70%);
     --serif:'Spectral',Georgia,serif; --sans:'Hanken Grotesk',system-ui,sans-serif; --mono:'JetBrains Mono',monospace;
     --r:14px; --maxw:1240px; --gutter:clamp(20px,5vw,72px);
     width:100vw; max-width:100vw; margin-left:calc(50% - 50vw); margin-right:calc(50% - 50vw);
     overflow-x:hidden; font-family:var(--sans); font-size:17px; line-height:1.6; color:var(--ink); background:var(--paper);
   }
   :is(.cms-page-content.fsp-contact, html[data-fsp-route="/contacts"] body.abp-public-layout .abp-widget-wrapper, html[data-fsp-route="/contact"] body.abp-public-layout .abp-widget-wrapper, html[data-fsp-route="/contact-us"] body.abp-public-layout .abp-widget-wrapper) *,
   :is(.cms-page-content.fsp-contact, html[data-fsp-route="/contacts"] body.abp-public-layout .abp-widget-wrapper, html[data-fsp-route="/contact"] body.abp-public-layout .abp-widget-wrapper, html[data-fsp-route="/contact-us"] body.abp-public-layout .abp-widget-wrapper) *::before,
   :is(.cms-page-content.fsp-contact, html[data-fsp-route="/contacts"] body.abp-public-layout .abp-widget-wrapper, html[data-fsp-route="/contact"] body.abp-public-layout .abp-widget-wrapper, html[data-fsp-route="/contact-us"] body.abp-public-layout .abp-widget-wrapper) *::after { box-sizing:border-box; }
   :is(.cms-page-content.fsp-contact, html[data-fsp-route="/contacts"] body.abp-public-layout .abp-widget-wrapper, html[data-fsp-route="/contact"] body.abp-public-layout .abp-widget-wrapper, html[data-fsp-route="/contact-us"] body.abp-public-layout .abp-widget-wrapper) a { color:inherit; text-decoration:none; }
   :is(.cms-page-content.fsp-contact, html[data-fsp-route="/contacts"] body.abp-public-layout .abp-widget-wrapper, html[data-fsp-route="/contact"] body.abp-public-layout .abp-widget-wrapper, html[data-fsp-route="/contact-us"] body.abp-public-layout .abp-widget-wrapper) h1,
   :is(.cms-page-content.fsp-contact, html[data-fsp-route="/contacts"] body.abp-public-layout .abp-widget-wrapper, html[data-fsp-route="/contact"] body.abp-public-layout .abp-widget-wrapper, html[data-fsp-route="/contact-us"] body.abp-public-layout .abp-widget-wrapper) h2,
   :is(.cms-page-content.fsp-contact, html[data-fsp-route="/contacts"] body.abp-public-layout .abp-widget-wrapper, html[data-fsp-route="/contact"] body.abp-public-layout .abp-widget-wrapper, html[data-fsp-route="/contact-us"] body.abp-public-layout .abp-widget-wrapper) h3 { margin:0; font-family:var(--serif); font-weight:600; line-height:1.05; letter-spacing:-.02em; }
   :is(.cms-page-content.fsp-contact, html[data-fsp-route="/contacts"] body.abp-public-layout .abp-widget-wrapper, html[data-fsp-route="/contact"] body.abp-public-layout .abp-widget-wrapper, html[data-fsp-route="/contact-us"] body.abp-public-layout .abp-widget-wrapper) p { margin:0; color:var(--slate); }
   :is(.cms-page-content.fsp-contact, html[data-fsp-route="/contacts"] body.abp-public-layout .abp-widget-wrapper, html[data-fsp-route="/contact"] body.abp-public-layout .abp-widget-wrapper, html[data-fsp-route="/contact-us"] body.abp-public-layout .abp-widget-wrapper) .wrap { max-width:var(--maxw); margin-inline:auto; padding-inline:var(--gutter); }
   :is(.cms-page-content.fsp-contact, html[data-fsp-route="/contacts"] body.abp-public-layout .abp-widget-wrapper, html[data-fsp-route="/contact"] body.abp-public-layout .abp-widget-wrapper, html[data-fsp-route="/contact-us"] body.abp-public-layout .abp-widget-wrapper) .section { padding-block:clamp(64px,10vw,120px); }
   :is(.cms-page-content.fsp-contact, html[data-fsp-route="/contacts"] body.abp-public-layout .abp-widget-wrapper, html[data-fsp-route="/contact"] body.abp-public-layout .abp-widget-wrapper, html[data-fsp-route="/contact-us"] body.abp-public-layout .abp-widget-wrapper) .display { font-size:clamp(40px,6vw,84px); line-height:.98; }
   :is(.cms-page-content.fsp-contact, html[data-fsp-route="/contacts"] body.abp-public-layout .abp-widget-wrapper, html[data-fsp-route="/contact"] body.abp-public-layout .abp-widget-wrapper, html[data-fsp-route="/contact-us"] body.abp-public-layout .abp-widget-wrapper) .h-lg { font-size:clamp(26px,3.5vw,40px); }
   :is(.cms-page-content.fsp-contact, html[data-fsp-route="/contacts"] body.abp-public-layout .abp-widget-wrapper, html[data-fsp-route="/contact"] body.abp-public-layout .abp-widget-wrapper, html[data-fsp-route="/contact-us"] body.abp-public-layout .abp-widget-wrapper) .h-md { font-size:clamp(21px,2.4vw,27px); }
   :is(.cms-page-content.fsp-contact, html[data-fsp-route="/contacts"] body.abp-public-layout .abp-widget-wrapper, html[data-fsp-route="/contact"] body.abp-public-layout .abp-widget-wrapper, html[data-fsp-route="/contact-us"] body.abp-public-layout .abp-widget-wrapper) .lede { font-size:clamp(17px,2vw,21px); max-width:60ch; margin-top:18px; }
   :is(.cms-page-content.fsp-contact, html[data-fsp-route="/contacts"] body.abp-public-layout .abp-widget-wrapper, html[data-fsp-route="/contact"] body.abp-public-layout .abp-widget-wrapper, html[data-fsp-route="/contact-us"] body.abp-public-layout .abp-widget-wrapper) .on-dark { color:#fff; }
   :is(.cms-page-content.fsp-contact, html[data-fsp-route="/contacts"] body.abp-public-layout .abp-widget-wrapper, html[data-fsp-route="/contact"] body.abp-public-layout .abp-widget-wrapper, html[data-fsp-route="/contact-us"] body.abp-public-layout .abp-widget-wrapper) .on-dark-lede { color:rgba(247,244,239,.78); }
   :is(.cms-page-content.fsp-contact, html[data-fsp-route="/contacts"] body.abp-public-layout .abp-widget-wrapper, html[data-fsp-route="/contact"] body.abp-public-layout .abp-widget-wrapper, html[data-fsp-route="/contact-us"] body.abp-public-layout .abp-widget-wrapper) .eyebrow { font-family:var(--mono); font-size:12px; font-weight:600; letter-spacing:.2em; text-transform:uppercase; color:var(--oxblood); display:inline-flex; align-items:center; gap:10px; }
   :is(.cms-page-content.fsp-contact, html[data-fsp-route="/contacts"] body.abp-public-layout .abp-widget-wrapper, html[data-fsp-route="/contact"] body.abp-public-layout .abp-widget-wrapper, html[data-fsp-route="/contact-us"] body.abp-public-layout .abp-widget-wrapper) .eyebrow::before { content:""; width:20px; height:2px; background:var(--grad-ember); }
   :is(.cms-page-content.fsp-contact, html[data-fsp-route="/contacts"] body.abp-public-layout .abp-widget-wrapper, html[data-fsp-route="/contact"] body.abp-public-layout .abp-widget-wrapper, html[data-fsp-route="/contact-us"] body.abp-public-layout .abp-widget-wrapper) .eyebrow.on-dark { color:#E9B6AC; }
   :is(.cms-page-content.fsp-contact, html[data-fsp-route="/contacts"] body.abp-public-layout .abp-widget-wrapper, html[data-fsp-route="/contact"] body.abp-public-layout .abp-widget-wrapper, html[data-fsp-route="/contact-us"] body.abp-public-layout .abp-widget-wrapper) .cine { background:var(--grad-dark); color:var(--surface); position:relative; overflow:hidden; }
   :is(.cms-page-content.fsp-contact, html[data-fsp-route="/contacts"] body.abp-public-layout .abp-widget-wrapper, html[data-fsp-route="/contact"] body.abp-public-layout .abp-widget-wrapper, html[data-fsp-route="/contact-us"] body.abp-public-layout .abp-widget-wrapper) .cine::before { content:""; position:absolute; inset:0; background:radial-gradient(60% 60% at 90% 0%,rgba(178,58,46,.2),transparent 60%); pointer-events:none; }
   :is(.cms-page-content.fsp-contact, html[data-fsp-route="/contacts"] body.abp-public-layout .abp-widget-wrapper, html[data-fsp-route="/contact"] body.abp-public-layout .abp-widget-wrapper, html[data-fsp-route="/contact-us"] body.abp-public-layout .abp-widget-wrapper) .cine > * { position:relative; z-index:1; }
   :is(.cms-page-content.fsp-contact, html[data-fsp-route="/contacts"] body.abp-public-layout .abp-widget-wrapper, html[data-fsp-route="/contact"] body.abp-public-layout .abp-widget-wrapper, html[data-fsp-route="/contact-us"] body.abp-public-layout .abp-widget-wrapper) .page-hero { padding-block:clamp(70px,9vw,130px) clamp(48px,6vw,84px); }
   :is(.cms-page-content.fsp-contact, html[data-fsp-route="/contacts"] body.abp-public-layout .abp-widget-wrapper, html[data-fsp-route="/contact"] body.abp-public-layout .abp-widget-wrapper, html[data-fsp-route="/contact-us"] body.abp-public-layout .abp-widget-wrapper) .ph-inner { max-width:60ch; margin-top:18px; }
   :is(.cms-page-content.fsp-contact, html[data-fsp-route="/contacts"] body.abp-public-layout .abp-widget-wrapper, html[data-fsp-route="/contact"] body.abp-public-layout .abp-widget-wrapper, html[data-fsp-route="/contact-us"] body.abp-public-layout .abp-widget-wrapper) .ph-crumb { font-family:var(--mono); font-size:12px; letter-spacing:.08em; text-transform:uppercase; color:rgba(247,244,239,.6); display:flex; gap:9px; align-items:center; }
   :is(.cms-page-content.fsp-contact, html[data-fsp-route="/contacts"] body.abp-public-layout .abp-widget-wrapper, html[data-fsp-route="/contact"] body.abp-public-layout .abp-widget-wrapper, html[data-fsp-route="/contact-us"] body.abp-public-layout .abp-widget-wrapper) .ph-crumb a:hover { color:#E9B6AC; }
   :is(.cms-page-content.fsp-contact, html[data-fsp-route="/contacts"] body.abp-public-layout .abp-widget-wrapper, html[data-fsp-route="/contact"] body.abp-public-layout .abp-widget-wrapper, html[data-fsp-route="/contact-us"] body.abp-public-layout .abp-widget-wrapper) .ph-crumb .sep { color:rgba(247,244,239,.45); }
   :is(.cms-page-content.fsp-contact, html[data-fsp-route="/contacts"] body.abp-public-layout .abp-widget-wrapper, html[data-fsp-route="/contact"] body.abp-public-layout .abp-widget-wrapper, html[data-fsp-route="/contact-us"] body.abp-public-layout .abp-widget-wrapper) .contact-grid { display:grid; grid-template-columns:1.1fr .9fr; gap:clamp(32px,6vw,72px); align-items:start; }
   :is(.cms-page-content.fsp-contact, html[data-fsp-route="/contacts"] body.abp-public-layout .abp-widget-wrapper, html[data-fsp-route="/contact"] body.abp-public-layout .abp-widget-wrapper, html[data-fsp-route="/contact-us"] body.abp-public-layout .abp-widget-wrapper) .intro { margin:8px 0 28px; }
   :is(.cms-page-content.fsp-contact, html[data-fsp-route="/contacts"] body.abp-public-layout .abp-widget-wrapper, html[data-fsp-route="/contact"] body.abp-public-layout .abp-widget-wrapper, html[data-fsp-route="/contact-us"] body.abp-public-layout .abp-widget-wrapper) .text-link { color:var(--oxblood); border-bottom:1.5px solid var(--oxblood); }
   :is(.cms-page-content.fsp-contact, html[data-fsp-route="/contacts"] body.abp-public-layout .abp-widget-wrapper, html[data-fsp-route="/contact"] body.abp-public-layout .abp-widget-wrapper, html[data-fsp-route="/contact-us"] body.abp-public-layout .abp-widget-wrapper) .field { display:flex; flex-direction:column; gap:8px; margin-bottom:18px; }
   :is(.cms-page-content.fsp-contact, html[data-fsp-route="/contacts"] body.abp-public-layout .abp-widget-wrapper, html[data-fsp-route="/contact"] body.abp-public-layout .abp-widget-wrapper, html[data-fsp-route="/contact-us"] body.abp-public-layout .abp-widget-wrapper) .field label { font-size:14px; font-weight:600; color:var(--ink); }
   :is(.cms-page-content.fsp-contact, html[data-fsp-route="/contacts"] body.abp-public-layout .abp-widget-wrapper, html[data-fsp-route="/contact"] body.abp-public-layout .abp-widget-wrapper, html[data-fsp-route="/contact-us"] body.abp-public-layout .abp-widget-wrapper) .req { color:var(--ember); }
   :is(.cms-page-content.fsp-contact, html[data-fsp-route="/contacts"] body.abp-public-layout .abp-widget-wrapper, html[data-fsp-route="/contact"] body.abp-public-layout .abp-widget-wrapper, html[data-fsp-route="/contact-us"] body.abp-public-layout .abp-widget-wrapper) .field input,
   :is(.cms-page-content.fsp-contact, html[data-fsp-route="/contacts"] body.abp-public-layout .abp-widget-wrapper, html[data-fsp-route="/contact"] body.abp-public-layout .abp-widget-wrapper, html[data-fsp-route="/contact-us"] body.abp-public-layout .abp-widget-wrapper) .field select,
   :is(.cms-page-content.fsp-contact, html[data-fsp-route="/contacts"] body.abp-public-layout .abp-widget-wrapper, html[data-fsp-route="/contact"] body.abp-public-layout .abp-widget-wrapper, html[data-fsp-route="/contact-us"] body.abp-public-layout .abp-widget-wrapper) .field textarea {
     font-family:var(--sans); font-size:16px; padding:13px 15px; border:1.5px solid var(--line); border-radius:8px; background:var(--paper); width:100%;
   }
   :is(.cms-page-content.fsp-contact, html[data-fsp-route="/contacts"] body.abp-public-layout .abp-widget-wrapper, html[data-fsp-route="/contact"] body.abp-public-layout .abp-widget-wrapper, html[data-fsp-route="/contact-us"] body.abp-public-layout .abp-widget-wrapper) .field input:focus,
   :is(.cms-page-content.fsp-contact, html[data-fsp-route="/contacts"] body.abp-public-layout .abp-widget-wrapper, html[data-fsp-route="/contact"] body.abp-public-layout .abp-widget-wrapper, html[data-fsp-route="/contact-us"] body.abp-public-layout .abp-widget-wrapper) .field select:focus,
   :is(.cms-page-content.fsp-contact, html[data-fsp-route="/contacts"] body.abp-public-layout .abp-widget-wrapper, html[data-fsp-route="/contact"] body.abp-public-layout .abp-widget-wrapper, html[data-fsp-route="/contact-us"] body.abp-public-layout .abp-widget-wrapper) .field textarea:focus { outline:none; border-color:var(--navy); box-shadow:0 0 0 3px rgba(28,42,58,.08); }
   :is(.cms-page-content.fsp-contact, html[data-fsp-route="/contacts"] body.abp-public-layout .abp-widget-wrapper, html[data-fsp-route="/contact"] body.abp-public-layout .abp-widget-wrapper, html[data-fsp-route="/contact-us"] body.abp-public-layout .abp-widget-wrapper) .field textarea { resize:vertical; min-height:130px; }
   :is(.cms-page-content.fsp-contact, html[data-fsp-route="/contacts"] body.abp-public-layout .abp-widget-wrapper, html[data-fsp-route="/contact"] body.abp-public-layout .abp-widget-wrapper, html[data-fsp-route="/contact-us"] body.abp-public-layout .abp-widget-wrapper) .field-row { display:grid; grid-template-columns:1fr 1fr; gap:16px; }
   :is(.cms-page-content.fsp-contact, html[data-fsp-route="/contacts"] body.abp-public-layout .abp-widget-wrapper, html[data-fsp-route="/contact"] body.abp-public-layout .abp-widget-wrapper, html[data-fsp-route="/contact-us"] body.abp-public-layout .abp-widget-wrapper) .form-note { font-size:13px; margin-top:12px; }
   :is(.cms-page-content.fsp-contact, html[data-fsp-route="/contacts"] body.abp-public-layout .abp-widget-wrapper, html[data-fsp-route="/contact"] body.abp-public-layout .abp-widget-wrapper, html[data-fsp-route="/contact-us"] body.abp-public-layout .abp-widget-wrapper) .info-card { background:var(--surface); border:1px solid var(--line); border-radius:var(--r); padding:28px; }
   :is(.cms-page-content.fsp-contact, html[data-fsp-route="/contacts"] body.abp-public-layout .abp-widget-wrapper, html[data-fsp-route="/contact"] body.abp-public-layout .abp-widget-wrapper, html[data-fsp-route="/contact-us"] body.abp-public-layout .abp-widget-wrapper) .info-card + .info-card { margin-top:20px; }
   :is(.cms-page-content.fsp-contact, html[data-fsp-route="/contacts"] body.abp-public-layout .abp-widget-wrapper, html[data-fsp-route="/contact"] body.abp-public-layout .abp-widget-wrapper, html[data-fsp-route="/contact-us"] body.abp-public-layout .abp-widget-wrapper) .info-card.counsel { background:var(--navy); border-color:transparent; }
   :is(.cms-page-content.fsp-contact, html[data-fsp-route="/contacts"] body.abp-public-layout .abp-widget-wrapper, html[data-fsp-route="/contact"] body.abp-public-layout .abp-widget-wrapper, html[data-fsp-route="/contact-us"] body.abp-public-layout .abp-widget-wrapper) .info-card.counsel .ii-label { color:#D9A89F; }
   :is(.cms-page-content.fsp-contact, html[data-fsp-route="/contacts"] body.abp-public-layout .abp-widget-wrapper, html[data-fsp-route="/contact"] body.abp-public-layout .abp-widget-wrapper, html[data-fsp-route="/contact-us"] body.abp-public-layout .abp-widget-wrapper) .info-card.counsel p { color:rgba(247,244,239,.84); font-size:15.5px; margin-top:10px; }
   :is(.cms-page-content.fsp-contact, html[data-fsp-route="/contacts"] body.abp-public-layout .abp-widget-wrapper, html[data-fsp-route="/contact"] body.abp-public-layout .abp-widget-wrapper, html[data-fsp-route="/contact-us"] body.abp-public-layout .abp-widget-wrapper) .info-item { display:flex; gap:15px; padding:18px 0; border-bottom:1px solid var(--line); }
   :is(.cms-page-content.fsp-contact, html[data-fsp-route="/contacts"] body.abp-public-layout .abp-widget-wrapper, html[data-fsp-route="/contact"] body.abp-public-layout .abp-widget-wrapper, html[data-fsp-route="/contact-us"] body.abp-public-layout .abp-widget-wrapper) .info-item:last-child { border-bottom:0; padding-bottom:0; }
   :is(.cms-page-content.fsp-contact, html[data-fsp-route="/contacts"] body.abp-public-layout .abp-widget-wrapper, html[data-fsp-route="/contact"] body.abp-public-layout .abp-widget-wrapper, html[data-fsp-route="/contact-us"] body.abp-public-layout .abp-widget-wrapper) .info-item:first-child { padding-top:0; }
   :is(.cms-page-content.fsp-contact, html[data-fsp-route="/contacts"] body.abp-public-layout .abp-widget-wrapper, html[data-fsp-route="/contact"] body.abp-public-layout .abp-widget-wrapper, html[data-fsp-route="/contact-us"] body.abp-public-layout .abp-widget-wrapper) .ii-ico { width:42px; height:42px; flex:none; border-radius:8px; background:rgba(140,47,37,.07); color:var(--oxblood); display:grid; place-items:center; font-size:18px; }
   :is(.cms-page-content.fsp-contact, html[data-fsp-route="/contacts"] body.abp-public-layout .abp-widget-wrapper, html[data-fsp-route="/contact"] body.abp-public-layout .abp-widget-wrapper, html[data-fsp-route="/contact-us"] body.abp-public-layout .abp-widget-wrapper) .ii-label { font-size:12px; letter-spacing:.1em; text-transform:uppercase; color:var(--slate); font-weight:600; }
   :is(.cms-page-content.fsp-contact, html[data-fsp-route="/contacts"] body.abp-public-layout .abp-widget-wrapper, html[data-fsp-route="/contact"] body.abp-public-layout .abp-widget-wrapper, html[data-fsp-route="/contact-us"] body.abp-public-layout .abp-widget-wrapper) .ii-value { font-size:16px; font-weight:500; margin-top:4px; color:var(--ink); }
   :is(.cms-page-content.fsp-contact, html[data-fsp-route="/contacts"] body.abp-public-layout .abp-widget-wrapper, html[data-fsp-route="/contact"] body.abp-public-layout .abp-widget-wrapper, html[data-fsp-route="/contact-us"] body.abp-public-layout .abp-widget-wrapper) .ii-value small { font-size:14px; color:var(--slate); font-weight:400; }
   :is(.cms-page-content.fsp-contact, html[data-fsp-route="/contacts"] body.abp-public-layout .abp-widget-wrapper, html[data-fsp-route="/contact"] body.abp-public-layout .abp-widget-wrapper, html[data-fsp-route="/contact-us"] body.abp-public-layout .abp-widget-wrapper) .ii-value a:hover { color:var(--oxblood); }
   :is(.cms-page-content.fsp-contact, html[data-fsp-route="/contacts"] body.abp-public-layout .abp-widget-wrapper, html[data-fsp-route="/contact"] body.abp-public-layout .abp-widget-wrapper, html[data-fsp-route="/contact-us"] body.abp-public-layout .abp-widget-wrapper) .success-msg { background:var(--navy); color:#fff; border-radius:var(--r); padding:32px; margin-top:8px; }
   :is(.cms-page-content.fsp-contact, html[data-fsp-route="/contacts"] body.abp-public-layout .abp-widget-wrapper, html[data-fsp-route="/contact"] body.abp-public-layout .abp-widget-wrapper, html[data-fsp-route="/contact-us"] body.abp-public-layout .abp-widget-wrapper) .success-msg[hidden] { display:none; }
   :is(.cms-page-content.fsp-contact, html[data-fsp-route="/contacts"] body.abp-public-layout .abp-widget-wrapper, html[data-fsp-route="/contact"] body.abp-public-layout .abp-widget-wrapper, html[data-fsp-route="/contact-us"] body.abp-public-layout .abp-widget-wrapper) .success-msg p { color:rgba(247,244,239,.82); margin-top:12px; }
   :is(.cms-page-content.fsp-contact, html[data-fsp-route="/contacts"] body.abp-public-layout .abp-widget-wrapper, html[data-fsp-route="/contact"] body.abp-public-layout .abp-widget-wrapper, html[data-fsp-route="/contact-us"] body.abp-public-layout .abp-widget-wrapper) .success-msg a { color:#fff; text-decoration:underline; }
   :is(.cms-page-content.fsp-contact, html[data-fsp-route="/contacts"] body.abp-public-layout .abp-widget-wrapper, html[data-fsp-route="/contact"] body.abp-public-layout .abp-widget-wrapper, html[data-fsp-route="/contact-us"] body.abp-public-layout .abp-widget-wrapper) .btn { display:inline-flex !important; align-items:center; font-family:var(--sans) !important; font-weight:600 !important; font-size:16px !important; padding:15px 26px !important; border-radius:100px !important; border:1.5px solid transparent !important; line-height:1 !important; cursor:pointer; transition:transform .18s; }
   :is(.cms-page-content.fsp-contact, html[data-fsp-route="/contacts"] body.abp-public-layout .abp-widget-wrapper, html[data-fsp-route="/contact"] body.abp-public-layout .abp-widget-wrapper, html[data-fsp-route="/contact-us"] body.abp-public-layout .abp-widget-wrapper) .btn-primary { background:var(--grad-ember) !important; color:#fff !important; }
   :is(.cms-page-content.fsp-contact, html[data-fsp-route="/contacts"] body.abp-public-layout .abp-widget-wrapper, html[data-fsp-route="/contact"] body.abp-public-layout .abp-widget-wrapper, html[data-fsp-route="/contact-us"] body.abp-public-layout .abp-widget-wrapper) .btn-primary:hover { transform:translateY(-2px); }
   :is(.cms-page-content.fsp-contact, html[data-fsp-route="/contacts"] body.abp-public-layout .abp-widget-wrapper, html[data-fsp-route="/contact"] body.abp-public-layout .abp-widget-wrapper, html[data-fsp-route="/contact-us"] body.abp-public-layout .abp-widget-wrapper) .btn-lg { padding:17px 30px !important; }
   :is(.cms-page-content.fsp-contact, html[data-fsp-route="/contacts"] body.abp-public-layout .abp-widget-wrapper, html[data-fsp-route="/contact"] body.abp-public-layout .abp-widget-wrapper, html[data-fsp-route="/contact-us"] body.abp-public-layout .abp-widget-wrapper) .site-footer { background:var(--black); color:rgba(247,244,239,.66); padding:clamp(56px,8vw,88px) 0 32px; }
   :is(.cms-page-content.fsp-contact, html[data-fsp-route="/contacts"] body.abp-public-layout .abp-widget-wrapper, html[data-fsp-route="/contact"] body.abp-public-layout .abp-widget-wrapper, html[data-fsp-route="/contact-us"] body.abp-public-layout .abp-widget-wrapper) .footer-grid { display:grid; grid-template-columns:1.6fr 1fr 1fr 1fr; gap:36px; }
   :is(.cms-page-content.fsp-contact, html[data-fsp-route="/contacts"] body.abp-public-layout .abp-widget-wrapper, html[data-fsp-route="/contact"] body.abp-public-layout .abp-widget-wrapper, html[data-fsp-route="/contact-us"] body.abp-public-layout .abp-widget-wrapper) .brand { display:flex; align-items:center; gap:12px; }
   :is(.cms-page-content.fsp-contact, html[data-fsp-route="/contacts"] body.abp-public-layout .abp-widget-wrapper, html[data-fsp-route="/contact"] body.abp-public-layout .abp-widget-wrapper, html[data-fsp-route="/contact-us"] body.abp-public-layout .abp-widget-wrapper) .brand-mark { width:38px; height:38px; border-radius:10px; background:var(--grad-dark); color:#E9B6AC; display:grid; place-items:center; font-size:14px; }
   :is(.cms-page-content.fsp-contact, html[data-fsp-route="/contacts"] body.abp-public-layout .abp-widget-wrapper, html[data-fsp-route="/contact"] body.abp-public-layout .abp-widget-wrapper, html[data-fsp-route="/contact-us"] body.abp-public-layout .abp-widget-wrapper) .b-name { font-family:var(--serif); font-size:18px; color:#fff; display:block; }
   :is(.cms-page-content.fsp-contact, html[data-fsp-route="/contacts"] body.abp-public-layout .abp-widget-wrapper, html[data-fsp-route="/contact"] body.abp-public-layout .abp-widget-wrapper, html[data-fsp-route="/contact-us"] body.abp-public-layout .abp-widget-wrapper) .b-sub { font-family:var(--mono); font-size:9px; letter-spacing:.16em; text-transform:uppercase; color:rgba(247,244,239,.5); }
   :is(.cms-page-content.fsp-contact, html[data-fsp-route="/contacts"] body.abp-public-layout .abp-widget-wrapper, html[data-fsp-route="/contact"] body.abp-public-layout .abp-widget-wrapper, html[data-fsp-route="/contact-us"] body.abp-public-layout .abp-widget-wrapper) .f-brand p { margin-top:18px; font-size:14px; max-width:36ch; }
   :is(.cms-page-content.fsp-contact, html[data-fsp-route="/contacts"] body.abp-public-layout .abp-widget-wrapper, html[data-fsp-route="/contact"] body.abp-public-layout .abp-widget-wrapper, html[data-fsp-route="/contact-us"] body.abp-public-layout .abp-widget-wrapper) .f-col h5 { font-family:var(--mono); font-size:11px; letter-spacing:.16em; text-transform:uppercase; color:rgba(247,244,239,.45); margin:0 0 16px; }
   :is(.cms-page-content.fsp-contact, html[data-fsp-route="/contacts"] body.abp-public-layout .abp-widget-wrapper, html[data-fsp-route="/contact"] body.abp-public-layout .abp-widget-wrapper, html[data-fsp-route="/contact-us"] body.abp-public-layout .abp-widget-wrapper) .f-col ul { list-style:none; padding:0; margin:0; display:flex; flex-direction:column; gap:11px; }
   :is(.cms-page-content.fsp-contact, html[data-fsp-route="/contacts"] body.abp-public-layout .abp-widget-wrapper, html[data-fsp-route="/contact"] body.abp-public-layout .abp-widget-wrapper, html[data-fsp-route="/contact-us"] body.abp-public-layout .abp-widget-wrapper) .f-col a { font-size:15px; color:rgba(247,244,239,.75); }
   :is(.cms-page-content.fsp-contact, html[data-fsp-route="/contacts"] body.abp-public-layout .abp-widget-wrapper, html[data-fsp-route="/contact"] body.abp-public-layout .abp-widget-wrapper, html[data-fsp-route="/contact-us"] body.abp-public-layout .abp-widget-wrapper) .f-col a:hover { color:#fff; }
   :is(.cms-page-content.fsp-contact, html[data-fsp-route="/contacts"] body.abp-public-layout .abp-widget-wrapper, html[data-fsp-route="/contact"] body.abp-public-layout .abp-widget-wrapper, html[data-fsp-route="/contact-us"] body.abp-public-layout .abp-widget-wrapper) .footer-bottom { display:flex; flex-wrap:wrap; justify-content:space-between; gap:12px; margin-top:48px; padding-top:24px; border-top:1px solid rgba(247,244,239,.12); font-size:12px; font-family:var(--mono); }
   :is(.cms-page-content.fsp-contact, html[data-fsp-route="/contacts"] body.abp-public-layout .abp-widget-wrapper, html[data-fsp-route="/contact"] body.abp-public-layout .abp-widget-wrapper, html[data-fsp-route="/contact-us"] body.abp-public-layout .abp-widget-wrapper) .reveal { opacity:0; transform:translateY(18px); transition:opacity .7s,transform .7s; }
   :is(.cms-page-content.fsp-contact, html[data-fsp-route="/contacts"] body.abp-public-layout .abp-widget-wrapper, html[data-fsp-route="/contact"] body.abp-public-layout .abp-widget-wrapper, html[data-fsp-route="/contact-us"] body.abp-public-layout .abp-widget-wrapper) .reveal.in { opacity:1; transform:none; }
   :is(.cms-page-content.fsp-contact, html[data-fsp-route="/contacts"] body.abp-public-layout .abp-widget-wrapper, html[data-fsp-route="/contact"] body.abp-public-layout .abp-widget-wrapper, html[data-fsp-route="/contact-us"] body.abp-public-layout .abp-widget-wrapper) .reveal.d1 { transition-delay:.08s; }
   @media (max-width:880px) {
     :is(.cms-page-content.fsp-contact, html[data-fsp-route="/contacts"] body.abp-public-layout .abp-widget-wrapper, html[data-fsp-route="/contact"] body.abp-public-layout .abp-widget-wrapper, html[data-fsp-route="/contact-us"] body.abp-public-layout .abp-widget-wrapper) .contact-grid,
     :is(.cms-page-content.fsp-contact, html[data-fsp-route="/contacts"] body.abp-public-layout .abp-widget-wrapper, html[data-fsp-route="/contact"] body.abp-public-layout .abp-widget-wrapper, html[data-fsp-route="/contact-us"] body.abp-public-layout .abp-widget-wrapper) .field-row { grid-template-columns:1fr; }
   }
   @media (max-width:900px) {
     :is(.cms-page-content.fsp-contact, html[data-fsp-route="/contacts"] body.abp-public-layout .abp-widget-wrapper, html[data-fsp-route="/contact"] body.abp-public-layout .abp-widget-wrapper, html[data-fsp-route="/contact-us"] body.abp-public-layout .abp-widget-wrapper) .footer-grid { grid-template-columns:1fr 1fr; }
   }
   @media (max-width:520px) {
     :is(.cms-page-content.fsp-contact, html[data-fsp-route="/contacts"] body.abp-public-layout .abp-widget-wrapper, html[data-fsp-route="/contact"] body.abp-public-layout .abp-widget-wrapper, html[data-fsp-route="/contact-us"] body.abp-public-layout .abp-widget-wrapper) .footer-grid { grid-template-columns:1fr; }
   }
   @media (prefers-reduced-motion:reduce) {
     :is(.cms-page-content.fsp-contact, html[data-fsp-route="/contacts"] body.abp-public-layout .abp-widget-wrapper, html[data-fsp-route="/contact"] body.abp-public-layout .abp-widget-wrapper, html[data-fsp-route="/contact-us"] body.abp-public-layout .abp-widget-wrapper) .reveal { opacity:1; transform:none; }
   }
   /* Injected utility bar */
   #utility-header-top.utility,
   #utility-header-top.utility-header-top {
     background: #000;
     color: #d1d1d1;
     font-size: 13px;
     letter-spacing: 0.02em;
     font-family: var(--mono);
     font-weight: 500;
     position: relative;
     z-index: 110;
   }
   #utility-header-top .utility-wrap {
     display: flex;
     align-items: center;
     justify-content: space-between;
     gap: 24px;
     min-height: 36px;
     padding-block: 9px;
     max-width: var(--maxw);
     margin-inline: auto;
     padding-inline: var(--gutter);
   }
   #utility-header-top .u-left {
     display: flex;
     align-items: center;
     flex-wrap: wrap;
     gap: 12px;
   }
   #utility-header-top .u-tag {
     color: #E9B6AC;
   }
   #utility-header-top .u-dot {
     width: 3px;
     height: 3px;
     border-radius: 50%;
     background: rgba(247, 244, 239, 0.4);
     flex-shrink: 0;
   }
   #utility-header-top .u-rest {
     color: #d1d1d1;
   }
   #utility-header-top .u-right {
     display: flex;
     align-items: center;
     flex-shrink: 0;
     gap: 24px;
   }
   #utility-header-top .u-right a {
     color: #d1d1d1;
     text-decoration: none;
     white-space: nowrap;
     transition: color 0.18s ease;
   }
   #utility-header-top .u-right a:hover {
     color: #fff;
   }
   @media (max-width: 960px) {
     #utility-header-top .u-right {
       display: none;
     }
   }
   @media (max-width: 767px) {
     #utility-header-top .utility-wrap {
       min-height: 34px;
       padding-block: 8px;
     }
     #utility-header-top {
       font-size: 12px;
       letter-spacing: 0.01em;
     }
     #utility-header-top .u-left {
       gap: 10px;
     }
   }
   /* Hero layout helpers (home + shared) */
   .cms-page-content .hero-main,
   .cms-page-content .hero-grid > * {
     width: 100%;
     max-width: 100%;
     min-width: 0;
   }
   .cms-page-content .hero-inner-pad {
     padding-block: clamp(48px, 10vw, 110px);
     padding-inline: var(--gutter);
   }
   .cms-page-content .hero-actions {
     display: flex;
     gap: 14px;
     flex-wrap: wrap;
     margin-top: clamp(24px, 5vw, 36px);
   }
   .cms-page-content .hero-title { margin-top: clamp(16px, 4vw, 26px); }
   .cms-page-content .hero-aside { min-width: 0; }
   .cms-page-content .sec-head-spaced { margin-bottom: clamp(40px, 5vw, 60px); }
   .cms-page-content .sec-head-copy { max-width: 60ch; min-width: 0; }
   .cms-page-content .sec-head-title { margin-top: 22px; }
   .cms-page-content .sec-head-link { padding-bottom: 8px; }
   .cms-page-content .feature-grid-start { align-items: start; }
   .cms-page-content .on-dark-title { margin-top: 24px; color: #fff; }
   .cms-page-content .on-dark-lede { margin-top: 24px; color: rgba(247,244,239,.78); }
   .cms-page-content .statrow-2 { margin-top: clamp(32px, 6vw, 48px); grid-template-columns: 1fr 1fr; }
   .cms-page-content .callout-title { margin-top: 20px; }
   .cms-page-content .callout-lede { margin-top: 22px; }
   .cms-page-content .callout-list {
     list-style: none;
     padding: 0;
     margin: 28px 0 0;
     display: flex;
     flex-direction: column;
     gap: 13px;
   }
   .cms-page-content .callout-list li {
     font-size: 16px;
     display: flex;
     gap: 10px;
     align-items: flex-start;
   }
   .cms-page-content .callout-list li::before {
     content: "?";
     color: var(--ember);
     font-weight: 700;
     flex: none;
   }
   .cms-page-content .callout-cta { margin-top: 32px; }
   .cms-page-content .co-card-foot {
     display: flex;
     align-items: center;
     gap: 14px;
     margin-top: 28px;
     padding-top: 24px;
     border-top: 1px solid rgba(255,255,255,.14);
   }
   .cms-page-content .co-brand-mark {
     width: 52px;
     height: 52px;
     flex: none;
     border-radius: 50%;
     background: rgba(233,182,172,.14);
     color: #E9B6AC;
     display: grid;
     place-items: center;
   }
   .cms-page-content .co-name { font-weight: 600; font-size: 15.5px; color: #fff; }
   .cms-page-content .co-sub {
     font-size: 13px;
     color: rgba(247,244,239,.6);
     font-family: var(--mono);
     letter-spacing: .04em;
     margin-top: 3px;
   }
   .cms-page-content .cta-eyebrow { justify-content: center; }
   .cms-page-content .cta-display {
     font-size: clamp(30px, 6vw, 76px);
     margin-top: 26px;
     color: #fff;
   }
   .cms-page-content .cta-lede {
     margin: 24px auto 0;
     color: rgba(247,244,239,.78);
   }
   /*  Safety overrides for legacy inline styles */
   .cms-page-content [style*="width: 1024px"],
   .cms-page-content [style*="width:1024px"] {
     width: 100% !important;
     max-width: 100% !important;
     min-width: 0 !important;
   }
   .cms-page-content .hero-inner[style*="padding: 110px"] {
     padding: clamp(48px, 10vw, 110px) var(--gutter) clamp(64px, 14vw, 170px) !important;
   }
   /* Tighter display type on phones */
   .cms-page-content .display,
   .cms-page-content.fsp-home .display {
     font-size: clamp(28px, 7vw, 104px);
     overflow-wrap: anywhere;
     word-wrap: break-word;
   }
   .cms-page-content .hero-kicker {
     display: block;
     margin-top: 0.32em;
     font-size: clamp(16px, 4.2vw, 34px);
   }
   /* MOBILE BREAKPOINTS */
   @media (max-width: 991.98px) {
     body.abp-public-layout .lpx-header-top {
       min-height: 64px !important;
       padding-inline: clamp(12px, 4vw, 24px) !important;
     }
     body.abp-public-layout .fsp-brand-wrap {
       gap: 10px !important;
       max-width: calc(100vw - 120px);
     }
     body.abp-public-layout .fsp-logo-img {
       height: 36px !important;
       width: 36px !important;
       max-width: 36px !important;
     }
     body.abp-public-layout .fsp-brand-text h4 {
       font-size: clamp(14px, 3.6vw, 19px) !important;
     }
     body.abp-public-layout .fsp-brand-text .fsp-brand-sub {
       font-size: clamp(7px, 1.8vw, 9.5px) !important;
       letter-spacing: clamp(0.1em, 0.4vw, 0.18em) !important;
     }
   }
   @media (max-width: 767.98px) {
     .cms-page-content,
     .cms-page-content.fsp-home,
     .cms-page-content.fsp-about,
     .cms-page-content.fsp-services,
     .cms-page-content.fsp-insights,
     .cms-page-content.fsp-contact {
       font-size: 16px;
     }
     .cms-page-content .hero {
       min-height: auto;
       align-items: stretch;
     }
     .cms-page-content .hero .hero-grid {
       grid-template-columns: 1fr;
       gap: 28px;
     }
     .cms-page-content .hero-actions {
       flex-direction: column;
       align-items: stretch;
     }
     .cms-page-content .hero-actions .btn,
     .cms-page-content .btn-row .btn,
     .cms-page-content .cta-band .btn {
       width: 100%;
       justify-content: center;
     }
     .cms-page-content .glass-stat {
       padding: 20px 22px;
     }
     .cms-page-content .sec-head {
       flex-direction: column;
       align-items: flex-start !important;
       gap: 20px;
     }
     .cms-page-content .sec-head .btn-link {
       align-self: flex-start;
     }
     .cms-page-content .statrow-2,
     .cms-page-content .statrow[style*="1fr 1fr"] {
       grid-template-columns: 1fr !important;
       gap: 26px;
     }
     .cms-page-content .callout-cta .btn {
       width: 100%;
       justify-content: center;
     }
     .cms-page-content .eyebrow {
       font-size: 10px;
       letter-spacing: 0.16em;
       gap: 10px;
     }
     .cms-page-content .eyebrow::before {
       width: 16px;
     }
     .cms-page-content .h-xl { font-size: clamp(24px, 6.5vw, 36px); }
     .cms-page-content .h-lg { font-size: clamp(22px, 5.5vw, 30px); }
     .cms-page-content .lede,
     .cms-page-content .hero-lede { font-size: clamp(16px, 4.2vw, 19px); }
     .cms-page-content .section { padding-block: clamp(48px, 12vw, 80px); }
     .cms-page-content .scard { padding: 28px 22px 24px; }
     .cms-page-content .pointlist li {
       grid-template-columns: auto 1fr;
       gap: 14px;
       padding: 18px 0;
     }
     .cms-page-content .pointlist h4 { font-size: 18px; }
     .cms-page-content .footer-bottom {
       flex-direction: column;
       align-items: flex-start;
     }
     .cms-page-content .footer-bottom .fb-note {
       max-width: none;
     }
   }
   @media (max-width: 399.98px) {
     body.abp-public-layout .fsp-brand-text .fsp-brand-sub {
       display: none;
     }

     body.abp-public-layout .fsp-logo-img {
       height: 34px !important;
       width: 34px !important;
       max-width: 34px !important;
     }
   }
   /* Prevent horizontal scroll from full-bleed + fixed children */
   .cms-page-content,
   .cms-page-content.fsp-home {
     min-width: 0;
     overflow-x: clip;
   }
   body.abp-public-layout.fsp-cms-page {
     overflow-x: clip;
   }