/* FLEETWRAPS.ai shared public header, policy bank, and future ai Directory. */
html { box-sizing: border-box; }
*, *::before, *::after { box-sizing: inherit; }
body { margin: 0; }
.skip-link { position: fixed; z-index: 2000; top: 8px; left: 8px; padding: 10px 14px; transform: translateY(-150%); border-radius: 6px; color: #fff; background: #002d55; font: 800 .85rem/1.2 Arial, sans-serif; }
.skip-link:focus { transform: translateY(0); }
.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
.wj-public-shell {
    width: min(calc(100% - 64px), 1720px);
    margin-inline: auto;
}

.wj-site-header {
    position: relative;
    z-index: 20;
    min-height: clamp(132px, 9.6vw, 184px);
    margin-bottom: clamp(36px, 3.4vw, 64px);
    overflow: visible;
    color: #fff;
    background: var(--color-primary, #FF0000);
    font-family: var(--font-brand, "Montserrat", Arial, sans-serif);
}

.wj-site-header__inner {
    display: flex;
    min-height: inherit;
    align-items: center;
    justify-content: space-between;
    gap: clamp(30px, 6vw, 110px);
}

.wj-site-header__brand {
    position: relative;
    z-index: 2;
    display: block;
    width: clamp(250px, 25vw, 455px);
    margin-bottom: clamp(-70px, -3.8vw, -38px);
    flex: 0 1 auto;
    text-decoration: none;
    transition: transform 180ms ease;
}

.wj-site-header__brand:hover { transform: scale(1.02); }
.wj-site-header__brand-picture { display: block; width: 100%; }
.wj-site-header__brand img { display: block; width: 100%; height: auto; }
.wj-site-header__brand--fleetwraps { width: clamp(260px, 30vw, 520px); margin-bottom: 0; padding: 20px; }
.wj-site-header__promise {
    margin: 0;
    font-size: clamp(1.1rem, 2vw, 2rem);
    font-weight: 800;
    line-height: 1.2;
    text-align: right;
    white-space: nowrap;
}
.wj-site-header__promise sup { font-size: .42em; vertical-align: super; }
.wj-site-header__promise-artwork { display: block; width: min(48%, 760px); margin: 0; }
.wj-site-header__promise-artwork img { display: block; width: 100%; height: auto; }

.wj-ai-directory {
    --wj-directory-panel-width: min(var(--wj-directory-panel-width-desktop, 142px), calc(100vw - var(--wj-directory-tab-width) - 12px));
    --wj-directory-tab-width: 44px;
    --wj-directory-radius: 14px;
    position: fixed;
    z-index: 950;
    top: var(--wj-directory-top-desktop, 240px);
    right: calc(-1 * var(--wj-directory-panel-width));
    display: grid;
    width: calc(var(--wj-directory-tab-width) + var(--wj-directory-panel-width));
    grid-template-columns: var(--wj-directory-tab-width) var(--wj-directory-panel-width);
    align-items: stretch;
    border-radius: var(--wj-directory-radius) 0 0 var(--wj-directory-radius);
    filter: drop-shadow(-4px 6px 8px rgba(0, 44, 84, .24));
    opacity: 1;
    transition: right 300ms cubic-bezier(.22, 1, .36, 1), opacity 240ms ease;
}
.wj-ai-directory.is-open { z-index: 2147483647; right: 0; }
.wj-ai-directory.is-scroll-hidden { opacity: 0; pointer-events: none; }
.wj-ai-directory__toggle {
    display: flex;
    width: var(--wj-directory-tab-width);
    height: 124px;
    min-height: 0;
    padding: 9px 5px;
    align-self: start;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 7px;
    border: 0;
    border-radius: var(--wj-directory-radius) 0 0 var(--wj-directory-radius);
    color: var(--wj-directory-button-text-color, #fff);
    background: var(--wj-directory-button-color, #FF0000);
    cursor: pointer;
}
.wj-ai-directory__toggle:hover, .wj-ai-directory__toggle:focus-visible, .wj-ai-directory.is-open .wj-ai-directory__toggle { background: color-mix(in srgb, var(--wj-directory-button-hover-color, #B00000) 88%, #000); }
.wj-ai-directory__toggle:focus-visible {
    outline: 0;
    box-shadow: inset 3px 0 0 currentColor, inset 0 3px 0 currentColor, inset 0 -3px 0 currentColor;
}
.wj-ai-directory__mark { width: 23px; height: 24px; flex: 0 0 auto; background: currentColor; -webkit-mask: url('../icons/ai-directory.svg') center / contain no-repeat; mask: url('../icons/ai-directory.svg') center / contain no-repeat; }
.wj-ai-directory__label { font-size: .68rem; font-weight: 800; letter-spacing: .055em; line-height: 1; writing-mode: vertical-rl; }
.wj-ai-directory__panel { display: grid; min-height: 178px; padding: 11px max(18px, calc(13px + env(safe-area-inset-right))) 11px 13px; align-items: center; border: 1px solid #d8d8d8; border-right: 0; border-radius: 0 0 0 var(--wj-directory-radius); background: #fff; }
.wj-ai-directory__links { display: grid; min-width: 0; justify-items: center; gap: 4px; }
.wj-ai-directory__link { display: grid; width: var(--wj-directory-logo-width, 100%); height: var(--wj-directory-wordmark-height, 19px); place-items: center; color: #6d6d6d; text-decoration: none; }
.wj-ai-directory__link > span { display: block; width: 100%; height: 100%; background: currentColor; -webkit-mask-image: var(--wj-directory-icon); mask-image: var(--wj-directory-icon); -webkit-mask-position: var(--wj-directory-logo-position, center); mask-position: var(--wj-directory-logo-position, center); -webkit-mask-size: var(--wj-directory-logo-mask-size, contain); mask-size: var(--wj-directory-logo-mask-size, contain); -webkit-mask-repeat: no-repeat; mask-repeat: no-repeat; }
.wj-ai-directory__link:hover, .wj-ai-directory__link:focus-visible { color: color-mix(in srgb, var(--wj-directory-button-hover-color, #B00000) 88%, #000); outline: 0; }
.wj-ai-directory__link--canva { --wj-directory-icon: url('../icons/ai-wordmarks/wordmark-canva.svg'); --wj-directory-logo-mask-size: var(--wj-directory-canva-mask-size, contain); }
.wj-ai-directory__link--chatgpt { --wj-directory-icon: url('../icons/ai-wordmarks/wordmark-chatgpt.svg'); --wj-directory-logo-mask-size: var(--wj-directory-chatgpt-mask-size, contain); }
.wj-ai-directory__link--claude { --wj-directory-icon: url('../icons/ai-wordmarks/wordmark-claude.svg'); --wj-directory-logo-mask-size: var(--wj-directory-claude-mask-size, contain); }
.wj-ai-directory__link--copilot { --wj-directory-icon: url('../icons/ai-wordmarks/wordmark-copilot.svg'); --wj-directory-logo-mask-size: var(--wj-directory-copilot-mask-size, contain); }
.wj-ai-directory__link--gemini { --wj-directory-icon: url('../icons/ai-wordmarks/wordmark-gemini.svg'); --wj-directory-logo-mask-size: var(--wj-directory-gemini-mask-size, contain); }
.wj-ai-directory__link--grok { --wj-directory-icon: url('../icons/ai-wordmarks/wordmark-grok.svg'); --wj-directory-logo-mask-size: var(--wj-directory-grok-mask-size, contain); }
.wj-ai-directory__link--midjourney { --wj-directory-icon: url('../icons/ai-wordmarks/wordmark-midjourney.svg'); --wj-directory-logo-mask-size: var(--wj-directory-midjourney-mask-size, contain); }

.wj-about-drawer-tab{position:fixed;z-index:951;top:var(--about-drawer-top-desktop,379px);right:0;display:flex;width:44px;min-height:86px;padding:12px 7px;align-items:center;justify-content:center;border:1px solid rgba(0,0,0,.16);border-right:0;border-radius:14px 0 0 14px;color:var(--about-drawer-color,#000);background:var(--about-drawer-background,#fff);cursor:pointer;box-shadow:-4px 6px 8px rgba(0,44,84,.18);text-decoration:none;opacity:1;transition:background-color .2s ease,color .2s ease,opacity .24s ease}.wj-about-drawer-tab:link,.wj-about-drawer-tab:visited,.wj-about-drawer-tab:active{color:var(--about-drawer-color,#000);background:var(--about-drawer-background,#fff);text-decoration:none}.wj-about-drawer-tab:hover,.wj-about-drawer-tab:focus-visible{text-decoration:none}.wj-about-drawer-tab span{font-size:.68rem;font-weight:800;letter-spacing:.055em;line-height:1.05;text-align:center;writing-mode:vertical-rl;overflow-wrap:anywhere}.wj-about-drawer-tab:hover,.wj-about-drawer-tab:focus-visible{color:var(--about-drawer-hover-color,#000);background:color-mix(in srgb,var(--about-drawer-hover-background,#E5E7EB) 88%,#000);outline:0}.wj-about-drawer-tab:focus-visible{box-shadow:inset 3px 0 0 currentColor,inset 0 3px 0 currentColor,inset 0 -3px 0 currentColor,-4px 6px 8px rgba(0,44,84,.18)}.wj-about-drawer-tab.is-scroll-hidden{opacity:0;pointer-events:none}

.wj-policy-page { min-height: 45vh; padding: clamp(25px, 5vw, 70px) 0 clamp(60px, 8vw, 110px); color: #666; font-family: var(--font-utility, Arial, sans-serif); }
.wj-policy-page__article { width: min(100%, 940px); margin-inline: auto; }
.wj-public-breadcrumbs { display: flex; flex-wrap: wrap; align-items: center; gap: 5px; margin: 0 0 18px; color: #718394; font-size: .72rem; font-weight: 800; line-height: 1.4; }
.wj-public-breadcrumbs a, .wj-public-breadcrumbs a:visited, .wj-public-breadcrumbs a:active { color: var(--color-primary, #FF0000); text-decoration: none; }
.wj-public-breadcrumbs a:hover, .wj-public-breadcrumbs a:focus-visible { color: #B30000; color: color-mix(in srgb, var(--color-primary, #FF0000) 75%, #000); text-decoration: underline; text-underline-offset: 3px; }
.wj-public-breadcrumbs span[aria-current="page"] { color: #718394; }
.wj-policy-page h1 { margin: 0 0 30px; color: var(--color-primary, #FF0000); font-family: var(--font-brand, "Montserrat", Arial, sans-serif); font-size: clamp(2rem, 5vw, 3.6rem); line-height: 1.05; }
.wj-policy-page h2, .wj-policy-page h3, .wj-policy-page h4, .wj-policy-page h5, .wj-policy-page h6 { color: var(--color-primary, #FF0000); font-family: var(--font-brand, "Montserrat", Arial, sans-serif); }
.wj-policy-page p, .wj-policy-page li { line-height: 1.7; }
.wj-policy-page a, .wj-policy-page a:visited, .wj-policy-page a:active { color: var(--color-primary, #FF0000); font-weight: 700; }
.wj-policy-page a:hover, .wj-policy-page a:focus-visible { color: #B30000; color: color-mix(in srgb, var(--color-primary, #FF0000) 75%, #000); }
.wj-policy-page a:active { color: var(--color-primary, #FF0000); }
.wj-location-page__featured { display: block; width: 100%; max-height: 520px; margin: 0 0 clamp(24px, 4vw, 40px); border-radius: 14px; object-fit: cover; box-shadow: 0 12px 34px rgba(45, 15, 15, .16); }
.wj-location-page__eyebrow { margin: 0 0 8px !important; color: #715555; font-size: .78rem; font-weight: 900; letter-spacing: .12em; text-transform: uppercase; }
.wj-location-page__description { margin-bottom: 30px; font-size: 1.05rem; }
.wj-location-page__details { padding: clamp(20px, 4vw, 32px); border: 1px solid #dfcccc; border-radius: 12px; background: #fff9f9; }
.wj-location-page__details h2 { margin-top: 0; }
.wj-location-page__details address { font-style: normal; line-height: 1.7; }
.wj-location-page__cta { margin-top: 28px; }
.wj-location-page__cta a { display: inline-flex; padding: 13px 20px; border-radius: 7px; color: #fff !important; background: var(--color-primary, #FF0000); text-decoration: none; }
.wj-footer-location__landing-link { color: inherit !important; text-decoration: underline; text-underline-offset: .18em; }

.wj-footer-locations { display: grid; width: 100%; margin: 0 0 14px; grid-template-columns: 1fr; gap: clamp(10px, 1.5vw, 18px); color: inherit; font-size: var(--wj-footer-location-font-size, 12px); }
.wj-footer-location { min-width: 0; padding-inline: clamp(4px, .7vw, 10px); }
.wj-footer-location + .wj-footer-location { padding-top: clamp(10px, 1.5vw, 18px); border-top: 1px solid rgba(255, 255, 255, .35); }
.wj-footer-location h2 { margin: 0 0 5px; color: inherit; font: 800 1em/1.2 var(--font-brand, "Montserrat", Arial, sans-serif); }
.wj-footer-location__address { display: flex; min-width: 0; align-items: center; justify-content: center; color: inherit; }
.wj-footer-location__map-link { display: flex; width: 100%; min-width: 0; align-items: center; justify-content: center; color: inherit; text-align: center; text-decoration: none; }
.wj-footer-location__map-link:hover, .wj-footer-location__map-link:focus-visible { text-decoration: none; }
.wj-footer-location address { min-width: 0; margin: 0; color: inherit; font: inherit; line-height: 1.35; overflow-wrap: anywhere; }
.wj-footer-location p { margin: 4px 0 0; color: inherit; font-size: .9em; line-height: 1.3; overflow-wrap: anywhere; }
.wj-footer-location p a { color: inherit; }
.wj-footer-location__contacts { display: flex; width: 100%; max-width: 100%; flex-wrap: wrap; align-items: baseline; justify-content: center; gap: 3px 5px; text-align: center; font-size: clamp(7px, .75em, 10px) !important; }
.wj-footer-location__contact { display: inline-flex; align-items: baseline; justify-content: center; gap: .3em; white-space: nowrap; }

@media (max-width: 820px) {
    .wj-about-drawer-tab{top:var(--about-drawer-top-mobile,291px);min-height:72px;padding:9px 5px;border-radius:11px 0 0 11px}.wj-about-drawer-tab span{font-size:.6rem}
    .wj-public-shell { width: min(calc(100% - 34px), 1720px); }
    .wj-site-header { min-height: 128px; margin-bottom: 38px; }
    .wj-site-header__brand { width: clamp(205px, 41vw, 290px); margin-bottom: -44px; }
    .wj-site-header__promise { font-size: clamp(.86rem, 2.8vw, 1.2rem); }
}

/* Stack shared header branding on phones in either orientation and tablets in portrait. */
@media (max-width: 960px), (orientation: portrait) and (max-width: 1100px) {
    .wj-site-header {
        min-height: 0;
        margin-bottom: 32px;
        padding: 20px 0 24px;
    }
    .wj-site-header__inner {
        min-height: 0;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        gap: 0;
    }
    .wj-site-header__brand {
        width: min(290px, 68vw);
        margin: 0 0 20px;
        align-self: center;
    }
    .wj-site-header__brand--fleetwraps { width: min(270px, 64vw); padding: 20px; }
    .wj-site-header__promise {
        align-self: center;
        font-size: clamp(.9rem, 3vw, 1.25rem);
        text-align: center;
        white-space: normal;
    }
    .wj-site-header__promise-artwork { width: min(520px, 86vw); align-self: center; }
    .wj-ai-directory { top: var(--wj-directory-top-mobile, 190px); }
}

@media (max-width: 560px), (orientation: portrait) and (max-width: 760px) {
    .wj-public-shell { width: min(calc(100% - 26px), 1720px); }
    .wj-site-header { margin-bottom: 28px; padding: 17px 0 20px; }
    .wj-site-header__brand { width: min(230px, 68vw); margin-bottom: 20px; }
    .wj-site-header__brand--fleetwraps { width: min(230px, 68vw); padding: 20px; }
    .wj-site-header__promise { font-size: clamp(.78rem, 3.5vw, 1rem); }
    .wj-site-header__promise-artwork { width: min(420px, 86vw); }
    .wj-ai-directory { --wj-directory-panel-width: min(var(--wj-directory-panel-width-mobile, 124px), calc(100vw - var(--wj-directory-tab-width) - 12px)); --wj-directory-tab-width: 32px; --wj-directory-radius: 11px; }
    .wj-about-drawer-tab { width: 32px; }
    .wj-ai-directory__toggle { height: 86px; padding: 6px 3px; gap: 5px; }
    .wj-ai-directory__mark { width: 18px; height: 19px; }
    .wj-ai-directory__label { font-size: .54rem; letter-spacing: .04em; }
    .wj-ai-directory__panel { min-height: 154px; padding: 9px max(15px, calc(11px + env(safe-area-inset-right))) 9px 11px; }
    .wj-ai-directory__links { gap: 3px; }
    .wj-ai-directory__link { width: var(--wj-directory-logo-mobile-width, 100%); height: var(--wj-directory-wordmark-mobile-height, 17px); }
}

@media (prefers-reduced-motion: reduce) {
    .wj-site-header__brand, .wj-ai-directory { transition-duration: .01ms !important; }
}

/* Responsive Fleetwraps subpage branding is 20% larger; desktop remains unchanged. */
@media (min-width: 961px) and (max-width: 1100px) and (orientation: landscape) {
    .wj-site-header__brand--fleetwraps { width: clamp(312px, 36vw, 624px); }
}
@media (min-width: 961px) and (max-width: 1100px) and (orientation: portrait) {
    .wj-site-header__brand--fleetwraps { width: min(324px, 76.8vw); }
}
@media (max-width: 960px) {
    .wj-site-header__brand--fleetwraps { width: min(324px, 76.8vw); }
}
@media (max-width: 560px), (orientation: portrait) and (max-width: 760px) {
    .wj-site-header__brand--fleetwraps { width: min(276px, 81.6vw); }
}

@media (max-width: 1100px) and (orientation: landscape) {
    body.quote-form-page .wj-site-header__promise-artwork { width: min(33.6%, 532px); }
}

@media (max-width: 960px) and (orientation: landscape) {
    body.quote-form-page .wj-site-header__promise-artwork { width: min(364px, 60.2vw); }
}

/* Desktop quote form header: the patch logo is 30% smaller than the shared
   baseline, and the complete row consumes the administrator-managed padding. */
@media (min-width: 1101px) {
    body.quote-form-page .wj-site-header__inner {
        padding-bottom: var(--public-form-header-padding-bottom, 10px);
    }
    body.quote-form-page .wj-site-header__brand--fleetwraps {
        width: clamp(210px, 23.8vw, 413px);
    }
    body.quote-form-page .wj-site-header__promise-artwork {
        width: min(33.6%, 532px);
    }
}
