/* WrapJax.ai front-page body. Admin Settings overrides every design token below
   through public-settings.custom.css, which is generated as a static file. */
:root {
    --fp-page-background: #FFFFFF;
    --fp-hero-background: #FFFFFF;
    --fp-hero-heading-color: #002D55;
    --fp-hero-accent-color: #007BC9;
    --fp-hero-body-color: #415A6B;
    --fp-divider-color: #B8B8B8;
    --fp-upload-background: #ED1C24;
    --fp-upload-surface: #FFFFFF;
    --fp-upload-text-color: #8A8A8A;
    --fp-upload-icon-color: #111111;
    --fp-upload-notice-color: #FFFFFF;
    --fp-upload-scale: .7;
    --fp-services-background: #FFFFFF;
    --fp-services-icon-color: #111111;
    --fp-services-text-color: #111111;
    --fp-service-vehicle-icon-scale: 1;
    --fp-service-vehicle-text-size: 100%;
    --fp-service-boat-icon-scale: 1;
    --fp-service-boat-text-size: 100%;
    --fp-service-wall-icon-scale: .9;
    --fp-service-wall-text-size: 100%;
    --fp-service-color-icon-scale: .9;
    --fp-service-color-text-size: 100%;
    --fp-area-background: #007BC9;
    --fp-area-color: #FFFFFF;
    --fp-backbone-text-color: #FFFFFF;
    --fp-financing-background: #FFFFFF;
    --fp-financing-text-color: #002D55;
    --fp-financing-button-background: #2658E5;
    --fp-financing-button-color: #FFFFFF;
    --fp-jaxcash-background: #003C23;
    --fp-jaxcash-color: #FFFFFF;
    --fp-benefits-background: #FFFFFF;
    --fp-benefits-icon-color: #007BC9;
    --fp-benefits-text-color: #002D55;
    --fp-heading-font: "Montserrat", Arial, sans-serif;
    --fp-body-font: Arial, Helvetica, sans-serif;
    --fp-action-font: "Montserrat", Arial, sans-serif;
    --fp-hero-heading-font: "Montserrat", Arial, sans-serif;
    --fp-hero-heading-size: 70px;
    --fp-hero-heading-scale: 1;
    --fp-hero-heading-weight: 900;
    --fp-hero-heading-letter-spacing: -4.5px;
    --fp-hero-heading-line-height: 1.02;
    --fp-hero-heading-kerning: auto;
    --fp-jaxcash-icon-height: 96px;
    --fp-jaxcash-icon-margin-block: -6px;
    --fp-jaxcash-icon-scale: 1;
    --fp-jaxcash-icon-shift: 0px;
    --fp-jaxcash-padding-block: 12px;
    --fp-shell-max-width: 1280px;
    --fp-section-margin-top: 0px;
    --fp-section-margin-bottom: 0px;
    --fp-section-padding: 28px;
    --fp-content-gap: 36px;
    --fp-shell-gutter: 48px;
}

*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body.frontpage { overflow-x: hidden; background: var(--fp-page-background); color: var(--fp-hero-body-color); font-family: var(--fp-body-font); text-rendering: optimizeLegibility; }
.frontpage .wj-site-header { margin-bottom: clamp(16px, 1.8vw, 30px); }
.frontpage img { display: block; max-width: 100%; height: auto; }
.frontpage .visually-hidden { position: absolute !important; width: 1px; height: 1px; margin: -1px; padding: 0; overflow: hidden; clip: rect(0 0 0 0); border: 0; white-space: nowrap; }
.frontpage .sr-only { position: absolute !important; width: 1px; height: 1px; padding: 0; overflow: hidden; clip: rect(0, 0, 0, 0); border: 0; white-space: nowrap; }
.frontpage :focus-visible { outline: 4px solid #FFD54A; outline-offset: 4px; }
.fp-main { display: flex; flex-direction: column; }
.fp-section { position: relative; margin: var(--fp-section-margin-top) 0 var(--fp-section-margin-bottom); padding-block: var(--fp-section-padding); border-top: var(--fp-current-border-top-width, var(--fp-row-border-top-width, 0)) solid var(--fp-current-border-top-color, var(--fp-row-border-top-color, transparent)); border-bottom: var(--fp-current-border-bottom-width, var(--fp-row-border-bottom-width, 0)) solid var(--fp-current-border-bottom-color, var(--fp-row-border-bottom-color, transparent)); }
[data-frontpage-row="hero"] { --fp-current-border-top-width: var(--fp-hero-border-top-width, var(--fp-row-border-top-width, 0)); --fp-current-border-top-color: var(--fp-hero-border-top-color, var(--fp-row-border-top-color, transparent)); --fp-current-border-bottom-width: var(--fp-hero-border-bottom-width, var(--fp-row-border-bottom-width, 0)); --fp-current-border-bottom-color: var(--fp-hero-border-bottom-color, var(--fp-row-border-bottom-color, transparent)); }
[data-frontpage-row="upload"] { --fp-current-border-top-width: var(--fp-upload-border-top-width, var(--fp-row-border-top-width, 0)); --fp-current-border-top-color: var(--fp-upload-border-top-color, var(--fp-row-border-top-color, transparent)); --fp-current-border-bottom-width: var(--fp-upload-border-bottom-width, var(--fp-row-border-bottom-width, 0)); --fp-current-border-bottom-color: var(--fp-upload-border-bottom-color, var(--fp-row-border-bottom-color, transparent)); }
[data-frontpage-row="services"] { --fp-current-border-top-width: var(--fp-services-border-top-width, var(--fp-row-border-top-width, 0)); --fp-current-border-top-color: var(--fp-services-border-top-color, var(--fp-row-border-top-color, transparent)); --fp-current-border-bottom-width: var(--fp-services-border-bottom-width, var(--fp-row-border-bottom-width, 0)); --fp-current-border-bottom-color: var(--fp-services-border-bottom-color, var(--fp-row-border-bottom-color, transparent)); }
[data-frontpage-row="service_area"] { --fp-current-border-top-width: var(--fp-service_area-border-top-width, var(--fp-row-border-top-width, 0)); --fp-current-border-top-color: var(--fp-service_area-border-top-color, var(--fp-row-border-top-color, transparent)); --fp-current-border-bottom-width: var(--fp-service_area-border-bottom-width, var(--fp-row-border-bottom-width, 0)); --fp-current-border-bottom-color: var(--fp-service_area-border-bottom-color, var(--fp-row-border-bottom-color, transparent)); }
[data-frontpage-row="promotion_banner"] { --fp-current-border-top-width: var(--fp-promotion_banner-border-top-width, var(--fp-row-border-top-width, 0)); --fp-current-border-top-color: var(--fp-promotion_banner-border-top-color, var(--fp-row-border-top-color, transparent)); --fp-current-border-bottom-width: var(--fp-promotion_banner-border-bottom-width, var(--fp-row-border-bottom-width, 0)); --fp-current-border-bottom-color: var(--fp-promotion_banner-border-bottom-color, var(--fp-row-border-bottom-color, transparent)); }
[data-frontpage-row="finance"] { --fp-current-border-top-width: var(--fp-finance-border-top-width, var(--fp-row-border-top-width, 0)); --fp-current-border-top-color: var(--fp-finance-border-top-color, var(--fp-row-border-top-color, transparent)); --fp-current-border-bottom-width: var(--fp-finance-border-bottom-width, var(--fp-row-border-bottom-width, 0)); --fp-current-border-bottom-color: var(--fp-finance-border-bottom-color, var(--fp-row-border-bottom-color, transparent)); }
[data-frontpage-row="jaxcash"] { --fp-current-border-top-width: var(--fp-jaxcash-border-top-width, var(--fp-row-border-top-width, 0)); --fp-current-border-top-color: var(--fp-jaxcash-border-top-color, var(--fp-row-border-top-color, transparent)); --fp-current-border-bottom-width: var(--fp-jaxcash-border-bottom-width, var(--fp-row-border-bottom-width, 0)); --fp-current-border-bottom-color: var(--fp-jaxcash-border-bottom-color, var(--fp-row-border-bottom-color, transparent)); }
[data-frontpage-row="benefits"] { --fp-current-border-top-width: var(--fp-benefits-border-top-width, var(--fp-row-border-top-width, 0)); --fp-current-border-top-color: var(--fp-benefits-border-top-color, var(--fp-row-border-top-color, transparent)); --fp-current-border-bottom-width: var(--fp-benefits-border-bottom-width, var(--fp-row-border-bottom-width, 0)); --fp-current-border-bottom-color: var(--fp-benefits-border-bottom-color, var(--fp-row-border-bottom-color, transparent)); }
[data-frontpage-row="press"] { --fp-current-border-top-width: var(--fp-press-border-top-width, var(--fp-row-border-top-width, 0)); --fp-current-border-top-color: var(--fp-press-border-top-color, var(--fp-row-border-top-color, transparent)); --fp-current-border-bottom-width: var(--fp-press-border-bottom-width, var(--fp-row-border-bottom-width, 0)); --fp-current-border-bottom-color: var(--fp-press-border-bottom-color, var(--fp-row-border-bottom-color, transparent)); }
[data-frontpage-row="faq"] { --fp-current-border-top-width: var(--fp-faq-border-top-width, var(--fp-row-border-top-width, 0)); --fp-current-border-top-color: var(--fp-faq-border-top-color, var(--fp-row-border-top-color, transparent)); --fp-current-border-bottom-width: var(--fp-faq-border-bottom-width, var(--fp-row-border-bottom-width, 0)); --fp-current-border-bottom-color: var(--fp-faq-border-bottom-color, var(--fp-row-border-bottom-color, transparent)); }
.fp-shell { width: min(calc(100% - (var(--fp-shell-gutter) * 2)), var(--fp-shell-max-width)); margin-inline: auto; }
.fp-mask-icon, .fp-service-icon, .fp-washington-icon, .fp-jaxcash-icon, .fp-benefit-icon { display: block; flex: 0 0 auto; background: currentColor; -webkit-mask: var(--fp-icon) center / contain no-repeat; mask: var(--fp-icon) center / contain no-repeat; }

/* ROW 02: Hero */
.fp-hero { margin-top: 0; padding-top: clamp(8px, 1.2vw, 14px); background: var(--fp-hero-background); }
.fp-hero-grid { display: grid; grid-template-columns: minmax(300px, .72fr) minmax(520px, 1.5fr); align-items: center; gap: var(--fp-content-gap); }
.fp-hero-copy { padding-right: var(--fp-content-gap); border-right: 1px solid var(--fp-divider-color); text-align: right; }
.fp-hero-copy h1 { margin: 0; color: var(--fp-hero-heading-color); font-family: var(--fp-hero-heading-font); font-size: calc(var(--fp-hero-heading-size) * var(--fp-hero-heading-scale)); font-weight: var(--fp-hero-heading-weight); line-height: var(--fp-hero-heading-line-height); letter-spacing: var(--fp-hero-heading-letter-spacing); font-kerning: var(--fp-hero-heading-kerning); text-transform: none; }
.fp-hero-copy h1 span { color: var(--fp-hero-accent-color); }
.fp-hero-copy .fp-period { color: var(--color-accent, #CD1017); }
.fp-hero-copy p { max-width: 31rem; margin: clamp(22px, 2.4vw, 34px) 0 0 auto; color: var(--fp-hero-body-color); font: 400 clamp(1rem, 1.45vw, 1.3rem)/1.38 var(--fp-body-font); }
.fp-hero-picture { min-width: 0; }
.fp-hero-picture img { width: 100%; max-height: 500px; object-fit: contain; }

/* ROW 03: Universal upload CTA. Matches the FLEETWRAPS template. */
.fw-upload { padding: calc(var(--fp-section-padding-y, var(--fp-section-padding, 28px)) * .77) 0 calc(var(--fp-section-padding-y, var(--fp-section-padding, 28px)) * .63); color: var(--fp-upload-notice-color); background: var(--fp-upload-background); font-family: "Montserrat", Arial, sans-serif; text-align: center; }
.fw-upload__inner { width: min(calc(100% - (2 * var(--fp-section-padding-x, var(--fp-shell-gutter, 48px)))), var(--fp-shell-max-width, 1760px)); margin-inline: auto; font-size: calc(1rem * var(--fp-upload-scale)); }
.fw-upload h2 { margin: 0 0 clamp(10px, 1vw, 17px); color: inherit; font-size: calc(clamp(1rem, 1.55vw, 1.7rem) * var(--fp-upload-scale)); font-weight: 600; line-height: 1.35; }
.fw-upload__button { display: grid; width: min(80%, 896px); min-height: clamp(54px, 4.2vw, 72px); margin-inline: auto; padding: clamp(9px, .8vw, 12px) clamp(14px, 1.4vw, 23px); grid-template-columns: minmax(54px, 16%) 1fr minmax(123px, 27%); align-items: center; column-gap: clamp(4px, .56vw, 9px); border-radius: clamp(10px, 1vw, 17px); color: var(--fp-upload-text-color); background: var(--fp-upload-surface); box-shadow: 0 9px 11px rgba(0, 0, 0, .3); text-decoration: none; transition: transform 180ms ease, box-shadow 180ms ease; }
.fw-upload__button:hover, .fw-upload__button:focus-visible { box-shadow: 0 18px 26px rgba(0, 0, 0, .36); transform: translateY(-2px); }
.fw-upload__button > span + span { border-left: 2px solid color-mix(in srgb, var(--fp-upload-text-color) 42%, transparent); }
.fw-upload__icon { display: block; width: calc(clamp(52px, 4.8vw, 83px) * var(--fp-upload-scale)); height: calc(clamp(44px, 4vw, 70px) * var(--fp-upload-scale)); margin-inline: auto; color: var(--fp-upload-icon-color); }
.fw-upload__label { padding: 0 clamp(14px, 1.6vw, 29px); font-size: calc(clamp(1.16rem, 1.88vw, 2.04rem) * var(--fp-upload-scale)); font-weight: 400; line-height: 1.15; }
.fw-upload__types { display: grid; width: calc(100% - 9px); min-height: clamp(33px, 3.08vw, 53px); margin-inline: auto; padding-left: clamp(9px, 1.12vw, 17px); grid-template-columns: clamp(28px, 2.8vw, 44px) 1fr; align-items: center; gap: clamp(6px, .8vw, 12px); color: var(--fp-upload-text-color); font-size: calc(clamp(.8rem, 1.24vw, 1.32rem) * var(--fp-upload-scale)); line-height: 1.18; }
.fw-upload__types i { display: block; width: 100%; height: clamp(29px, 2.8vw, 46px); color: var(--fp-upload-icon-color); }
.fw-upload__secure { display: flex; margin: clamp(14px, 1.4vw, 24px) 0 0; align-items: center; justify-content: center; gap: .45em; color: inherit; font-size: calc(clamp(.95rem, 1.45vw, 1.5rem) * var(--fp-upload-scale)); line-height: 1.3; }
.fw-upload__secure-icon { display: inline-flex; width: .78em; height: 1em; flex: 0 0 auto; color: #fff; }
.fw-upload__icon svg, .fw-upload__types svg, .fw-upload__secure-icon svg { display: block; width: 100%; height: 100%; fill: currentColor; }
.fw-upload__secure-icon svg path { fill: currentColor; }

/* ROW 04: Services */
.fp-services { background: var(--fp-services-background); }
.fp-services-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); }
.fp-service-card { display: grid; min-width: 0; margin: 0; padding: 12px clamp(14px, 2vw, 32px); justify-items: center; color: var(--fp-services-icon-color); font-size: clamp(.96rem, 1.3vw, 1.23rem); text-align: center; }
.fp-service-card + .fp-service-card { border-left: 1px solid var(--fp-divider-color); }
.fp-service-icon { width: clamp(88px, 9vw, 125px); height: clamp(70px, 7.5vw, 96px); margin-bottom: 13px; transform: scale(var(--fp-service-icon-scale, 1)); }
.fp-service-card--vehicle { --fp-service-icon-scale: var(--fp-service-vehicle-icon-scale); --fp-service-text-size: var(--fp-service-vehicle-text-size); }
.fp-service-card--boat { --fp-service-icon-scale: var(--fp-service-boat-icon-scale); --fp-service-text-size: var(--fp-service-boat-text-size); }
.fp-service-card--wall { --fp-service-icon-scale: var(--fp-service-wall-icon-scale); --fp-service-text-size: var(--fp-service-wall-text-size); }
.fp-service-card--color { --fp-service-icon-scale: var(--fp-service-color-icon-scale); --fp-service-text-size: var(--fp-service-color-text-size); }
.fp-service-icon--vehicle { --fp-icon: url('../icons/WRAPJAXAI-icon-vehiclewraps.svg'); }
.fp-service-icon--boat { --fp-icon: url('../icons/WRAPJAXAI-icon-boatwraps.svg'); }
.fp-service-icon--wall { --fp-icon: url('../icons/WRAPJAXAI-icon-wall-wraps.svg'); }
.fp-service-icon--color { --fp-icon: url('../icons/WRAPJAXAI-icon-colorchange.svg'); }
.fp-service-card h3 { margin: 0; color: var(--fp-services-text-color); font: 800 var(--fp-service-text-size, 100%)/1.25 var(--fp-heading-font); }

/* ROW 05: Service area */
.fp-area { color: var(--fp-area-color); background: var(--fp-area-background); }
.fp-area-inner { position: relative; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); align-items: stretch; gap: 0; }
.fp-area-inner::after { position: absolute; top: 0; bottom: 0; left: 50%; width: 1px; background: currentColor; content: ""; pointer-events: none; transform: translateX(-.5px); }
.fp-area-promise { display: flex; min-width: 0; margin: 0; padding-inline: var(--fp-content-gap); align-items: center; justify-content: center; border-right: 0; font: 800 clamp(1.25rem, 2.6vw, 2.25rem)/1.1 var(--fp-heading-font); text-align: center; white-space: nowrap; }
.fp-area-promise sup { font-size: .36em; vertical-align: super; }
.fp-area-location { display: flex; min-width: 0; padding-inline: var(--fp-content-gap); align-items: center; justify-content: center; gap: clamp(18px, 2.8vw, 34px); }
.fp-washington-icon { --fp-icon: url('../icons/WRAPJAXAI-icon-washington-state.svg'); width: clamp(100px, 12vw, 155px); height: clamp(72px, 8.5vw, 105px); color: var(--fp-area-color); }
.fp-area-location p { margin: 0; color: var(--fp-area-color); font: 700 clamp(1rem, 1.85vw, 1.55rem)/1.05 var(--fp-heading-font); text-transform: uppercase; white-space: nowrap; }

/* ROW 06: Backbone / ViziLight */
.fp-backbone { min-height: clamp(220px, 22vw, 360px); padding: 0 0 clamp(24px, 2.4vw, 38px); overflow: hidden; background: #000; }
.fp-backbone::after { position: absolute; z-index: 1; inset: 0; background: linear-gradient(90deg, rgba(0,0,0,.55) 0%, rgba(0,0,0,.05) 55%, transparent 75%); content: ""; pointer-events: none; }
.fp-backbone-picture, .fp-backbone-picture img { position: absolute; inset: 0; width: 100%; height: 100%; }
.fp-backbone-picture img { object-fit: cover; object-position: center; }
.fp-backbone-inner { position: relative; z-index: 2; display: flex; min-height: inherit; align-items: center; }
.fp-backbone-content { width: 36%; color: var(--fp-backbone-text-color); text-align: left; text-transform: uppercase; }
.fp-vizilight-logo { display: block; width: min(100%, 420px); margin: 0 0 18px; }
.fp-vizilight-logo img { display: block; width: 100%; height: auto; }
.fp-backbone h2 { margin: 0 0 16px; font: 800 clamp(1.35rem, 2.3vw, 2.15rem)/1 var(--fp-heading-font); }
.fp-outline-button { display: inline-flex; min-width: 150px; min-height: 48px; padding: 10px 22px; align-items: center; justify-content: center; border: 2px solid currentColor; border-radius: 10px; color: var(--fp-backbone-text-color); font: 800 1.05rem/1 var(--fp-action-font); text-decoration: none; text-transform: uppercase; transition: color 180ms ease, background 180ms ease; }
.fp-outline-button:hover { color: #000; background: var(--fp-backbone-text-color); }

/* ROW 07: Financing */
.fp-financing { background: var(--fp-financing-background); }
.fp-financing-grid { display: grid; grid-template-columns: minmax(0, .85fr) minmax(0, 1.4fr) minmax(0, .8fr); align-items: center; gap: 0; color: var(--fp-financing-text-color); }
.fp-financing-item { min-width: 0; }
.fp-financing-item + .fp-financing-item { padding-left: var(--fp-content-gap); border-left: 1px solid var(--fp-divider-color); }
.fp-financing-provider { padding-right: var(--fp-content-gap); }
.fp-financing-provider small { display: block; margin: 0 0 4px; font: 600 .72rem/1 var(--fp-body-font); }
.fp-financing-provider img { width: min(100%, 290px); }
.fp-financing-copy { text-align: center; }
.fp-financing-copy h2 { margin: 0; font: 900 clamp(.9rem, 2.6vw, 2.65rem)/.98 var(--fp-heading-font); text-transform: uppercase; }
.fp-financing-copy p { margin: 5px 0 0; font: 700 clamp(.7rem, 1.5vw, 1.35rem)/1.1 var(--fp-body-font); }
.fp-financing-action { display: grid; justify-items: center; }
.fp-financing-button { display: inline-flex; width: min(100%, 280px); min-height: 48px; padding: 10px clamp(9px, 1.6vw, 20px); align-items: center; justify-content: center; border-radius: 8px; color: var(--fp-financing-button-color); background: var(--fp-financing-button-background); font: 800 clamp(.74rem, 1.4vw, 1.2rem)/1 var(--fp-action-font); text-align: center; text-decoration: none; text-transform: uppercase; transition: transform 180ms ease, filter 180ms ease; }
.fp-financing-button:hover { filter: brightness(.92); transform: translateY(-2px); }
.fp-financing-action p { margin: 8px 0 0; font: 700 clamp(.62rem, 1vw, .94rem)/1.2 var(--fp-body-font); text-align: center; }
.fp-financing-action p span { margin-inline: 8px; }

/* ROW 08: JaxCash */
.fp-jaxcash { z-index: 1; padding-block: var(--fp-jaxcash-padding-block); color: var(--fp-jaxcash-color); background: var(--fp-jaxcash-background); }
.fp-jaxcash-inner { display: grid; grid-template-columns: minmax(170px, 240px) 1fr auto; align-items: center; gap: var(--fp-content-gap); }
.fp-jaxcash-icon { --fp-icon: url('../icons/WRAPJAXSAI-icon-jaxcash.svg'); position: relative; z-index: 2; width: min(100%, 230px); height: var(--fp-jaxcash-icon-height); margin-block: var(--fp-jaxcash-icon-margin-block); color: var(--fp-jaxcash-color); transform: translateY(var(--fp-jaxcash-icon-shift)) scale(var(--fp-jaxcash-icon-scale)); transform-origin: center; }
.fp-jaxcash-copy { min-width: 0; padding-left: 40px; text-align: left; }
.fp-jaxcash-copy h2 { margin: 0; font: 900 clamp(1.02rem, 2.1vw, 2rem)/.96 var(--fp-heading-font); text-transform: uppercase; }
.fp-jaxcash-copy p { margin: 7px 0 0; font: italic 400 clamp(.82rem, 1.2vw, 1.05rem)/1 var(--fp-body-font); text-transform: lowercase; }
.fp-jaxcash-button { display: inline-flex; min-width: 170px; min-height: 54px; padding: 10px 20px; align-items: center; justify-content: center; gap: 15px; border: 2px solid currentColor; border-radius: 10px; color: var(--fp-jaxcash-color); background: transparent; font: 800 1rem/1 var(--fp-action-font); text-decoration: none; text-transform: uppercase; transition: color 180ms ease, background 180ms ease; }
.fp-jaxcash-button:hover { color: var(--fp-jaxcash-background); background: var(--fp-jaxcash-color); }
.fp-jaxcash-button span {
    position: relative;
    display: inline-block;
    width: 2.5rem;
    height: 1rem;
    flex: 0 0 2.5rem;
    overflow: hidden;
    font-size: 0;
    line-height: 1;
}
.fp-jaxcash-button span::before {
    content: "";
    position: absolute;
    top: 50%;
    left: 0;
    width: 100%;
    height: 2px;
    background: currentColor;
    transform: translateY(-50%);
}
.fp-jaxcash-button span::after {
    content: "";
    position: absolute;
    top: 50%;
    right: 1px;
    width: .55rem;
    height: .55rem;
    border-top: 2px solid currentColor;
    border-right: 2px solid currentColor;
    transform: translateY(-50%) rotate(45deg);
    transform-origin: center;
}

/* ROW 09: Benefits */
.fp-benefits { background: var(--fp-benefits-background); }
.fp-benefits-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); }
.fp-benefit-card { display: grid; min-width: 0; margin: 0; padding: 8px clamp(12px, 2vw, 28px); justify-items: center; color: var(--fp-benefits-icon-color); text-align: center; }
.fp-benefit-card + .fp-benefit-card { border-left: 1px solid var(--fp-divider-color); }
.fp-benefit-icon { width: clamp(52px, 5vw, 70px); height: clamp(52px, 5vw, 70px); margin-bottom: 9px; }
.fp-benefit-icon--quote { --fp-icon: url('../icons/WRAPJAXAI-icon-quickquote.svg'); }
.fp-benefit-icon--people { --fp-icon: url('../icons/WRAPJAXAI-icon-real-people.svg'); }
.fp-benefit-icon--quality { --fp-icon: url('../icons/WRAPJAXAI-icon-premium-quality.svg'); }
.fp-benefit-icon--satisfaction { --fp-icon: url('../icons/WRAPJAXAI-icon-Satisfaction.svg'); }
.fp-benefit-card h3 { margin: 0 0 4px; color: var(--fp-benefits-text-color); font: 800 clamp(.88rem, 1.15vw, 1.08rem)/1.1 var(--fp-heading-font); }
.fp-benefit-card p { margin: 0; color: var(--fp-benefits-text-color); font: 600 clamp(.76rem, 1vw, .96rem)/1.12 var(--fp-body-font); }

/* Packaged responsive defaults. A saved Admin stylesheet repeats these rules
   at the administrator's selected breakpoints and loads after this file. */
@media (max-width: 600px) {
    body.frontpage { --fp-section-padding: 20px; --fp-content-gap: 18px; --fp-shell-gutter: 24px; --fp-hero-heading-size: 46px; --fp-hero-heading-scale: 1.1; --fp-jaxcash-icon-height: 80px; --fp-jaxcash-icon-margin-block: 0px; --fp-jaxcash-icon-scale: 1; --fp-jaxcash-icon-shift: 0px; }
    .frontpage .fp-hero-grid, .frontpage .fp-jaxcash-inner { grid-template-columns: 1fr; }
    .frontpage .fp-hero-copy { padding-right: 0; padding-bottom: var(--fp-content-gap); border-right: 0; border-bottom: 1px solid var(--fp-divider-color); text-align: center; }
    .frontpage .fp-hero-copy p { margin-inline: auto; }
    .frontpage .fp-services-grid, .frontpage .fp-benefits-grid { grid-template-columns: 1fr; }
    .frontpage .fp-service-card + .fp-service-card, .frontpage .fp-benefit-card + .fp-benefit-card { border-left: 0; border-top: 1px solid var(--fp-divider-color); }
    .frontpage .fp-area-inner { grid-template-columns: 1fr; text-align: center; }
    .frontpage .fp-area-inner::after { display: none; }
    .frontpage .fp-area-location { padding: var(--fp-content-gap) 0 0; flex-direction: column; text-align: center; }
    .frontpage .fp-area-promise { padding: 0 0 var(--fp-content-gap); border-right: 0; border-bottom: 1px solid currentColor; white-space: normal; }
    .frontpage .fp-backbone-content { width: 100%; text-align: center; }
    .frontpage .fp-backbone-picture img { object-position: 70% center; opacity: .58; }
    .frontpage .fp-vizilight-logo { width: min(100%, 360px); margin-inline: auto; }
    .frontpage .fp-jaxcash-inner { text-align: center; justify-items: center; }
    .frontpage .fp-jaxcash-inner { row-gap: 12px; }
    .frontpage .fp-jaxcash-copy { padding-left: 0; text-align: center; }
    .frontpage .fp-jaxcash-icon { height: 80px; margin-block: 0; transform: none; }
}

@media (max-width: 820px) {
    .frontpage .fw-upload__button { grid-template-columns: minmax(60px, 16%) 1fr minmax(136px, 29%); }
    .frontpage .fw-upload__label { font-size: clamp(.67rem, 2vw, 1.06rem); }
}

@media (max-width: 600px) {
    .frontpage .fw-upload__button { min-height: 0; padding: 12px; grid-template-columns: 40px 1fr; gap: 9px; }
    .frontpage .fw-upload__button > span + span { border-left: 0; }
    .frontpage .fw-upload__icon { width: 37px; height: 33px; }
    .frontpage .fw-upload__label { padding: 0; font-size: .7rem; text-align: left; }
    .frontpage .fw-upload__types { width: 100%; min-height: 42px; padding: 8px 4px 0; grid-column: 1 / -1; grid-template-columns: 29px 1fr; border-top: 1px solid color-mix(in srgb, var(--fp-upload-text-color) 42%, transparent); font-size: .56rem; text-align: left; }
    .frontpage .fw-upload__types i { height: 29px; }
}

@media (max-width: 600px) and (orientation: portrait) {
    .frontpage .fp-financing-grid { grid-template-columns: 1fr; justify-items: center; text-align: center; }
    .frontpage .fp-financing-item, .frontpage .fp-financing-item + .fp-financing-item { width: min(100%, 560px); padding-left: 0; grid-column: 1; border-left: 0; }
    .frontpage .fp-financing-item + .fp-financing-item { padding-top: var(--fp-content-gap); border-top: 1px solid var(--fp-divider-color); }
    .frontpage .fp-financing-provider { padding-right: 0; padding-bottom: 0; }
    .frontpage .fp-financing-provider img { margin-inline: auto; }
    .frontpage .fp-financing-provider small { text-align: center; }
    .frontpage .fw-upload__button { padding: 7px 6px; grid-template-columns: 30px minmax(0, 1fr) minmax(70px, 77px); column-gap: 4px; }
    .frontpage .fw-upload__button > span + span { border-left: 1px solid color-mix(in srgb, var(--fp-upload-text-color) 42%, transparent); }
    .frontpage .fw-upload__icon { width: 27px; height: 26px; }
    .frontpage .fw-upload__label { padding-inline: 5px; font-size: clamp(.54rem, 2.48vw, .64rem); line-height: 1.15; text-align: center; }
    .frontpage .fw-upload__types { width: 100%; min-height: 30px; padding: 0 0 0 5px; grid-column: auto; grid-template-columns: 22px minmax(0, 1fr); gap: 3px; border-top: 0; font-size: clamp(.4rem, 1.84vw, .5rem); line-height: 1.12; text-align: left; }
    .frontpage .fw-upload__types i { height: 23px; }
}

@media (min-width: 601px) and (max-width: 1024px) {
    body.frontpage { --fp-section-padding: 24px; --fp-content-gap: 24px; --fp-shell-gutter: 32px; --fp-hero-heading-size: 50px; --fp-hero-heading-scale: 1; --fp-jaxcash-icon-height: 92px; --fp-jaxcash-icon-margin-block: -4px; --fp-jaxcash-icon-scale: 1; --fp-jaxcash-icon-shift: 0px; }
    .frontpage .fp-hero-grid { grid-template-columns: minmax(240px, .8fr) minmax(360px, 1.2fr); }
    .frontpage .fp-services-grid, .frontpage .fp-benefits-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .frontpage .fp-service-card:nth-child(3), .frontpage .fp-benefit-card:nth-child(3) { border-left: 0; }
}

@media (min-width: 601px) and (max-width: 1024px) and (orientation: portrait) {
    .frontpage .fp-jaxcash-inner { grid-template-columns: minmax(160px, 180px) minmax(0, 1fr) minmax(140px, 150px); justify-items: stretch; gap: 18px; text-align: left; }
    .frontpage .fp-jaxcash-copy { padding-left: 40px; text-align: left; }
    .frontpage .fp-jaxcash-icon { height: 84px; margin-block: 0; transform: none; }
    .frontpage .fp-jaxcash-button { min-width: 140px; padding-inline: 12px; }
}

@media (min-width: 601px) and (max-width: 760px) and (orientation: landscape) {
    .frontpage .fp-jaxcash-inner { grid-template-columns: minmax(160px, 180px) minmax(0, 1fr) minmax(140px, 150px); gap: 18px; }
    .frontpage .fp-jaxcash-icon { height: 84px; margin-block: 0; transform: none; }
    .frontpage .fp-jaxcash-copy { padding-left: 40px; }
    .frontpage .fp-jaxcash-button { min-width: 140px; padding-inline: 12px; }
}

@media (min-width: 1025px) {
    body.frontpage { --fp-section-padding: 28px; --fp-content-gap: 36px; --fp-shell-gutter: 48px; --fp-hero-heading-size: 70px; --fp-hero-heading-scale: 1; --fp-jaxcash-icon-height: 96px; --fp-jaxcash-icon-margin-block: -6px; --fp-jaxcash-icon-scale: 1; --fp-jaxcash-icon-shift: 0px; }
}

@media (prefers-reduced-motion: reduce) {
    html { scroll-behavior: auto; }
    .frontpage *, .frontpage *::before, .frontpage *::after { transition-duration: .01ms !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; }
}
.managed-aeo {
    padding: clamp(18px, 3vw, 34px) var(--fp-shell-gutter, 24px);
    color: var(--fp-faq-static-color, #182033);
    background: var(--fp-faq-background, #fff);
    font-family: var(--fp-faq-body-font, var(--fp-body-font, Arial, sans-serif));
}
.managed-aeo__inner { max-width: var(--fp-shell-max-width, 1100px); margin: 0 auto; }
.managed-aeo details { margin: 0; }
.managed-aeo summary { display: flex; align-items: center; justify-content: space-between; gap: 20px; list-style: none; cursor: pointer; }
.managed-aeo summary::-webkit-details-marker { display: none; }
.managed-aeo summary::after { content: "+"; width: 1.5em; flex: 0 0 1.5em; font: 700 1.35em/1 var(--fp-faq-heading-font, var(--fp-heading-font, sans-serif)); text-align: center; }
.managed-aeo details[open] > summary::after { content: "−"; }
.managed-aeo__toggle { overflow: hidden; border: 1px solid var(--fp-faq-accordion-border-color, #d8dee8); border-radius: 10px; background: var(--fp-faq-static-background, #f8fafc); }
.managed-aeo__toggle[open] { border-color: var(--fp-faq-accordion-open-border-color, #f65004); background: var(--fp-faq-reveal-background, #fff); }
.managed-aeo__toggle > summary { position: relative; min-height: 58px; padding: 14px 60px; color: var(--fp-faq-static-color, #182033); background: var(--fp-faq-static-background, #f8fafc); font: 700 clamp(1rem, 2vw, 1.3rem)/1.25 var(--fp-faq-heading-font, var(--fp-heading-font, sans-serif)); }
.managed-aeo__toggle > summary > span { width: 100%; text-align: center; }
.managed-aeo__toggle > summary::after { position: absolute; right: 20px; }
.managed-aeo__toggle[open] > summary { color: var(--fp-faq-reveal-color, #182033); background: var(--fp-faq-reveal-background, #fff); }
.managed-aeo__reveal { padding: 0 20px 20px; color: var(--fp-faq-reveal-color, #182033); background: var(--fp-faq-reveal-background, #fff); }
.managed-aeo__summary { max-width: 820px; margin: 0 auto 18px; padding-top: 4px; text-align: center; }
.managed-aeo__list { display: grid; gap: 10px; }
.managed-aeo__item { overflow: hidden; border: 1px solid var(--fp-faq-accordion-border-color, #d8dee8); border-radius: 9px; color: var(--fp-faq-item-static-color, #182033); background: var(--fp-faq-item-static-background, #f8fafc); }
.managed-aeo__item[open] { border-color: var(--fp-faq-accordion-open-border-color, #f65004); color: var(--fp-faq-item-reveal-color, #182033); background: var(--fp-faq-item-reveal-background, #fff); }
.managed-aeo__item > summary { min-height: 50px; padding: 12px 16px; color: var(--fp-faq-item-static-color, #182033); background: var(--fp-faq-item-static-background, #f8fafc); font: 700 1rem/1.35 var(--fp-faq-heading-font, var(--fp-heading-font, sans-serif)); }
.managed-aeo__item[open] > summary { color: var(--fp-faq-item-reveal-color, #182033); background: var(--fp-faq-item-reveal-background, #fff); }
.managed-aeo__answer { padding: 0 16px 14px; color: var(--fp-faq-item-reveal-color, #182033); background: var(--fp-faq-item-reveal-background, #fff); }
.managed-aeo__answer p { margin: 0; }
@media (max-width: 600px) {
    .managed-aeo { padding-inline: 14px; }
    .managed-aeo__toggle > summary { padding-inline: 48px; }
    .managed-aeo__toggle > summary::after { right: 14px; }
    .managed-aeo__reveal { padding-inline: 14px; }
}
[data-promotion-button] { max-width:100%; white-space:normal; overflow-wrap:anywhere; text-align:center; }
[data-promotion-button][data-promotion-arrows="0"] { justify-content:center; }
