/**
 * FYI Presentation Framework v1.2.8
 * Cassiopeia presentation layer
 */

body.fyi-muffdusters-option2 {
    background: var(--fyi-muff2-body-background, #fff);
    color: #333;
}

body.fyi-muffdusters-option2 .container-header {
    position: relative;
    background: var(--fyi-muff2-header-background, #fff);
    background-image: none;
    box-shadow: var(--fyi-muff2-header-shadow, 0 1px 8px rgb(0 0 0 / 8%));
    color: #333;
    min-height: var(--fyi-muff2-header-height, 106px);
    z-index: 1100;
}

body.fyi-muffdusters-option2-sticky .container-header {
    position: sticky;
    top: 0;
}

/* Cassiopeia normally places branding and navigation in separate grid rows.
   The brand is positioned inside the same visual header row while the menu
   remains in Cassiopeia's native menu position. */
body.fyi-muffdusters-option2 .container-header .navbar-brand {
    position: absolute;
    z-index: 3;
    top: 50%;
    left: max(var(--fyi-muff2-logo-left-padding, 24px), calc((100vw - var(--fyi-muff2-content-width, 1400px)) / 2));
    transform: translateY(calc(-50% + var(--fyi-muff2-logo-vertical-offset, 0px)));
    margin: 0;
    padding: 0;
    line-height: 1;
}

body.fyi-muffdusters-option2 .container-header .container-nav {
    width: 100%;
    max-width: none;
    min-height: var(--fyi-muff2-header-height, 106px);
    margin-inline: auto;
    padding-inline: var(--fyi-muff2-menu-outer-padding, 24px);
    box-sizing: border-box;
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 1.5rem;
}

body.fyi-muffdusters-option2 .navbar-brand img,
body.fyi-muffdusters-option2 .container-header .site-logo img {
    width: var(--fyi-muff2-logo-width, 475px);
    max-width: min(42vw, 100%);
    height: auto;
    display: block;
}

body.fyi-muffdusters-option2 .container-header .mod-menu,
body.fyi-muffdusters-option2 .container-header .metismenu {
    margin: 0 0 0 auto;
    padding: 0;
    align-items: center;
    justify-content: flex-end;
    gap: var(--fyi-muff2-nav-gap, 24px);
}

body.fyi-muffdusters-option2 .container-header .mod-menu > li > a,
body.fyi-muffdusters-option2 .container-header .mod-menu > li > span,
body.fyi-muffdusters-option2 .container-header .metismenu > li > a,
body.fyi-muffdusters-option2 .container-header .metismenu > li > button {
    color: var(--fyi-muff2-nav-color, #777);
    font-size: var(--fyi-muff2-nav-size, 15px);
    font-weight: var(--fyi-muff2-nav-weight, 700);
    letter-spacing: var(--fyi-muff2-nav-letter-spacing, 1px);
    line-height: 1.2;
    text-transform: uppercase;
    padding-block: var(--fyi-muff2-nav-vertical-padding, 16px);
    text-decoration: none;
    transition: color .18s ease;
}

body.fyi-muffdusters-option2 .container-header .mod-menu > li > a:hover,
body.fyi-muffdusters-option2 .container-header .mod-menu > li > a:focus,
body.fyi-muffdusters-option2 .container-header .mod-menu > li.active > a,
body.fyi-muffdusters-option2 .container-header .mod-menu > li.current > a,
body.fyi-muffdusters-option2 .container-header .metismenu > li.active > a,
body.fyi-muffdusters-option2 .container-header .metismenu > li.current > a {
    color: var(--fyi-muff2-active-color, #d89200);
}

body.fyi-muffdusters-option2 .container-banner {
    margin: 0;
    padding: 0;
    max-width: none;
}

body.fyi-muffdusters-option2 .container-banner .banner-overlay,
body.fyi-muffdusters-option2 .container-banner .mod-custom,
body.fyi-muffdusters-option2 .container-banner .moduletable {
    width: 100%;
    margin: 0;
}

body.fyi-muffdusters-option2 .container-banner img,
body.fyi-muffdusters-option2 .fyi-muff2-hero img {
    width: 100%;
    height: min(var(--fyi-muff2-hero-max-height, 620px), 52vw);
    min-height: 300px;
    object-fit: cover;
    object-position: center;
    display: block;
}

body.fyi-muffdusters-option2 .site-grid,
body.fyi-muffdusters-option2 .grid-child:not(.container-banner):not(.container-header) {
    width: min(100% - 40px, var(--fyi-muff2-content-width, 1400px));
    max-width: none;
    margin-inline: auto;
}

body.fyi-muffdusters-option2 main {
    padding-block: var(--fyi-muff2-section-space, 40px);
}

body.fyi-muffdusters-option2.home main,
body.fyi-muffdusters-option2.view-featured main {
    padding-top: var(--fyi-muff2-homepage-top-space, 0px);
}

body.fyi-muffdusters-option2 .page-header h1,
body.fyi-muffdusters-option2 .item-page > h1,
body.fyi-muffdusters-option2 .blog > h1 {
    margin-bottom: 1.5rem;
    color: #4b4b4b;
    font-weight: 500;
}

body.fyi-muffdusters-option2 .fyi-muff2-video,
body.fyi-muffdusters-option2 .video-responsive,
body.fyi-muffdusters-option2 .responsive-video {
    position: relative;
    width: 100%;
    aspect-ratio: 16 / 9;
    overflow: hidden;
    background: #000;
}

body.fyi-muffdusters-option2 .fyi-muff2-video iframe,
body.fyi-muffdusters-option2 .video-responsive iframe,
body.fyi-muffdusters-option2 .responsive-video iframe,
body.fyi-muffdusters-option2 iframe[src*="youtube.com"],
body.fyi-muffdusters-option2 iframe[src*="youtu.be"],
body.fyi-muffdusters-option2 iframe[src*="vimeo.com"] {
    width: 100%;
    max-width: 100%;
    aspect-ratio: 16 / 9;
    height: auto;
    border: 0;
}

/* FYI Media Framework / embedded video modules: cinematic page width. */
body.fyi-muffdusters-option2 .fyi-media-player,
body.fyi-muffdusters-option2 .fyi-media-framework,
body.fyi-muffdusters-option2 .fyi-muff2-media-wide,
body.fyi-muffdusters-option2 main .moduletable:has(iframe[src*="youtube.com"]),
body.fyi-muffdusters-option2 main .moduletable:has(iframe[src*="youtu.be"]),
body.fyi-muffdusters-option2 main .moduletable:has(iframe[src*="vimeo.com"]),
body.fyi-muffdusters-option2 main .mod-custom:has(iframe[src*="youtube.com"]),
body.fyi-muffdusters-option2 main .mod-custom:has(iframe[src*="youtu.be"]),
body.fyi-muffdusters-option2 main .mod-custom:has(iframe[src*="vimeo.com"]) {
    width: calc(100vw - (2 * var(--fyi-muff2-media-edge-padding, 40px)));
    max-width: var(--fyi-muff2-media-max-width, 1760px);
    margin-inline: max(calc(50% - 50vw + var(--fyi-muff2-media-edge-padding, 40px)), calc((100% - var(--fyi-muff2-media-max-width, 1760px)) / 2));
    border-radius: var(--fyi-muff2-media-radius, 0px);
    overflow: hidden;
}

body.fyi-muffdusters-option2 .btn-primary {
    background-color: var(--fyi-muff2-active-color, #d89200);
    border-color: var(--fyi-muff2-active-color, #d89200);
}

body.fyi-muffdusters-option2 .btn-primary:hover,
body.fyi-muffdusters-option2 .btn-primary:focus {
    filter: brightness(.9);
}

@media (max-width: 1199.98px) {
    body.fyi-muffdusters-option2 .navbar-brand img,
    body.fyi-muffdusters-option2 .container-header .site-logo img {
        width: min(var(--fyi-muff2-logo-width, 475px), 34vw);
    }

    body.fyi-muffdusters-option2 .container-header .mod-menu,
    body.fyi-muffdusters-option2 .container-header .metismenu {
        gap: .85rem;
    }

    body.fyi-muffdusters-option2 .container-header .mod-menu > li > a,
    body.fyi-muffdusters-option2 .container-header .metismenu > li > a {
        font-size: min(var(--fyi-muff2-nav-size, 15px), 14px);
    }
}

@media (max-width: 991.98px) {
    body.fyi-muffdusters-option2 .container-header {
        min-height: 82px;
    }

    body.fyi-muffdusters-option2 .container-header .navbar-brand {
        left: 14px;
    }

    body.fyi-muffdusters-option2 .container-header .container-nav {
        width: min(100% - 28px, var(--fyi-muff2-content-width, 1400px));
        min-height: 82px;
        flex-wrap: wrap;
        padding-block: .55rem;
    }

    body.fyi-muffdusters-option2 .navbar-brand img,
    body.fyi-muffdusters-option2 .container-header .site-logo img {
        width: var(--fyi-muff2-mobile-logo-width, 190px);
        max-width: 55vw;
    }

    body.fyi-muffdusters-option2 .navbar-toggler {
        margin-left: auto;
        color: #555;
        border-color: rgb(0 0 0 / 16%);
    }

    body.fyi-muffdusters-option2 .container-header .navbar-collapse {
        width: 100%;
        background: var(--fyi-muff2-header-background, #fff);
        padding: .5rem 0 1rem;
    }

    body.fyi-muffdusters-option2 .container-header .mod-menu,
    body.fyi-muffdusters-option2 .container-header .metismenu {
        align-items: stretch;
        gap: 0;
    }

    body.fyi-muffdusters-option2 .container-header .mod-menu > li > a,
    body.fyi-muffdusters-option2 .container-header .metismenu > li > a {
        display: block;
        padding: .8rem 0;
        font-size: var(--fyi-muff2-nav-size, 15px);
    }

    body.fyi-muffdusters-option2 .container-banner img,
    body.fyi-muffdusters-option2 .fyi-muff2-hero img {
        min-height: 220px;
        height: 48vw;
    }

    body.fyi-muffdusters-option2 .fyi-media-player,
    body.fyi-muffdusters-option2 .fyi-media-framework,
    body.fyi-muffdusters-option2 .fyi-muff2-media-wide,
    body.fyi-muffdusters-option2 main .moduletable:has(iframe),
    body.fyi-muffdusters-option2 main .mod-custom:has(iframe) {
        width: calc(100vw - 40px);
        margin-inline: calc(50% - 50vw + 20px);
    }
}

@media (max-width: 575.98px) {
    body.fyi-muffdusters-option2 .site-grid,
    body.fyi-muffdusters-option2 .grid-child:not(.container-banner):not(.container-header) {
        width: min(100% - 24px, var(--fyi-muff2-content-width, 1400px));
    }

    body.fyi-muffdusters-option2 .container-banner img,
    body.fyi-muffdusters-option2 .fyi-muff2-hero img {
        min-height: 190px;
        height: 58vw;
    }

    body.fyi-muffdusters-option2 .fyi-media-player,
    body.fyi-muffdusters-option2 .fyi-media-framework,
    body.fyi-muffdusters-option2 .fyi-muff2-media-wide,
    body.fyi-muffdusters-option2 main .moduletable:has(iframe),
    body.fyi-muffdusters-option2 main .mod-custom:has(iframe) {
        width: 100vw;
        margin-inline: calc(50% - 50vw);
    }
}

/* FYI Presentation Framework additions — v1.2.0 */
body.fyi-muffdusters-option2 .container-header .container-nav {
    transform: translateY(var(--fyi-muff2-nav-vertical-offset, 0px));
}
body.fyi-muffdusters-option2 .container-header .mod-menu,
body.fyi-muffdusters-option2 .container-header .metismenu {
    justify-content: var(--fyi-nav-justify, flex-end);
}
/* Authoritative header-to-content spacing rules. */
body.fyi-muffdusters-option2:not(.fyi-home-page) main {
    padding-top: calc(var(--fyi-muff2-inner-page-top-space, 0px) + var(--fyi-muff2-header-content-gap, 0px)) !important;
}
body.fyi-muffdusters-option2.fyi-home-page main {
    padding-top: calc(var(--fyi-muff2-homepage-top-space, 0px) + var(--fyi-muff2-header-content-gap, 0px)) !important;
}

/* When homepage media is in Cassiopeia's banner position, the gap belongs
   on the banner rather than main. This prevents the slider from appearing
   to do nothing when the media player sits outside the component area. */
body.fyi-muffdusters-option2.fyi-home-page .container-banner:not(:empty) {
    margin-top: calc(var(--fyi-muff2-homepage-top-space, 0px) + var(--fyi-muff2-header-content-gap, 0px)) !important;
}
body.fyi-muffdusters-option2.fyi-home-page:has(.container-banner:not(:empty)) main {
    padding-top: var(--fyi-muff2-section-space, 40px) !important;
}
body.fyi-muffdusters-option2.fyi-media-mode-contained .fyi-media-player,
body.fyi-muffdusters-option2.fyi-media-mode-contained .fyi-media-framework,
body.fyi-muffdusters-option2.fyi-media-mode-contained .fyi-muff2-media-wide {
    width: 100%;
    max-width: 100%;
    margin-inline: 0;
}
body.fyi-muffdusters-option2.fyi-media-mode-wide .fyi-media-player,
body.fyi-muffdusters-option2.fyi-media-mode-wide .fyi-media-framework,
body.fyi-muffdusters-option2.fyi-media-mode-wide .fyi-muff2-media-wide {
    width: calc(100vw - (2 * var(--fyi-muff2-media-edge-padding, 40px)));
    max-width: var(--fyi-muff2-media-max-width, 1760px);
}
body.fyi-muffdusters-option2.fyi-media-mode-full .fyi-media-player,
body.fyi-muffdusters-option2.fyi-media-mode-full .fyi-media-framework,
body.fyi-muffdusters-option2.fyi-media-mode-full .fyi-muff2-media-wide,
body.fyi-muffdusters-option2.fyi-media-mode-full main .moduletable:has(iframe[src*="youtube.com"]),
body.fyi-muffdusters-option2.fyi-media-mode-full main .moduletable:has(iframe[src*="youtu.be"]),
body.fyi-muffdusters-option2.fyi-media-mode-full main .moduletable:has(iframe[src*="vimeo.com"]) {
    width: calc(100vw - (2 * var(--fyi-muff2-media-edge-padding, 0px)));
    max-width: none;
    margin-left: calc(50% - 50vw + var(--fyi-muff2-media-edge-padding, 0px));
    margin-right: calc(50% - 50vw + var(--fyi-muff2-media-edge-padding, 0px));
}

/* Authoritative header-to-content spacing rules.
   The global gap applies to the first visible content region on every page,
   including article titles, component output, and homepage media/banner areas. */
body.fyi-muffdusters-option2 {
    --fyi-muff2-effective-page-gap:
        calc(
            var(--fyi-muff2-header-content-gap, 0px)
            + var(--fyi-muff2-inner-page-top-space, 0px)
        );
}

body.fyi-muffdusters-option2.fyi-home-page {
    --fyi-muff2-effective-page-gap:
        calc(
            var(--fyi-muff2-header-content-gap, 0px)
            + var(--fyi-muff2-homepage-top-space, 0px)
        );
}

/* Standard component/article area, including article titles. */
body.fyi-muffdusters-option2 main {
    padding-top: var(--fyi-muff2-effective-page-gap) !important;
}

/* Cassiopeia banner/media published before main content. */
body.fyi-muffdusters-option2 .container-banner:not(:empty) {
    margin-top: var(--fyi-muff2-effective-page-gap) !important;
}

/* Apply the gap only once when a banner is the first visible page content. */
body.fyi-muffdusters-option2:has(.container-banner:not(:empty)) main {
    padding-top: var(--fyi-muff2-section-space, 40px) !important;
}

/* Remove native top margins that otherwise make article-title spacing appear
   larger than the selected header-to-content gap. */
body.fyi-muffdusters-option2 main > .blog,
body.fyi-muffdusters-option2 main > .blog-featured,
body.fyi-muffdusters-option2 main > .com-content-article,
body.fyi-muffdusters-option2 main > .item-page,
body.fyi-muffdusters-option2 main > .com-content-category-blog,
body.fyi-muffdusters-option2 main .page-header:first-child,
body.fyi-muffdusters-option2 main h1:first-child {
    margin-top: 0 !important;
}



/* v1.2.8 — compact mobile header: logo + Joomla hamburger toggle. */
@media (max-width: 991.98px) {
    body.fyi-muffdusters-option2 .container-header {
        min-height: 76px;
    }

    body.fyi-muffdusters-option2 .container-header .navbar-brand {
        position: absolute;
        top: 50%;
        left: 14px;
        transform: translateY(calc(-50% + var(--fyi-muff2-logo-vertical-offset, 0px)));
        z-index: 5;
        max-width: calc(100% - 82px);
    }

    body.fyi-muffdusters-option2 .navbar-brand img,
    body.fyi-muffdusters-option2 .container-header .site-logo img {
        width: min(var(--fyi-muff2-mobile-logo-width, 190px), calc(100vw - 96px));
        max-width: calc(100vw - 96px);
        max-height: 58px;
        object-fit: contain;
        object-position: left center;
    }

    body.fyi-muffdusters-option2 .container-header .container-nav {
        width: 100%;
        min-height: 76px;
        padding: 0 14px;
        display: flex;
        align-items: center;
        justify-content: flex-end;
        flex-wrap: wrap;
        transform: none;
    }

    body.fyi-muffdusters-option2 .container-header .navbar-toggler {
        display: inline-flex !important;
        align-items: center;
        justify-content: center;
        width: 46px;
        height: 42px;
        margin: 0 0 0 auto;
        padding: 8px;
        color: var(--fyi-muff2-nav-color, #555);
        background: transparent;
        border: 1px solid rgb(0 0 0 / 18%);
        border-radius: 6px;
        z-index: 6;
    }

    body.fyi-muffdusters-option2 .container-header .navbar-collapse:not(.show),
    body.fyi-muffdusters-option2 .container-header .collapse:not(.show) {
        display: none !important;
    }

    body.fyi-muffdusters-option2 .container-header .navbar-collapse.show,
    body.fyi-muffdusters-option2 .container-header .collapsing {
        display: block !important;
        flex-basis: 100%;
        width: 100%;
        margin-top: 76px;
        padding: .35rem 0 .75rem;
        background: var(--fyi-muff2-header-background, #fff);
        border-top: 1px solid rgb(0 0 0 / 8%);
    }

    body.fyi-muffdusters-option2 .container-header .navbar-collapse .mod-menu,
    body.fyi-muffdusters-option2 .container-header .navbar-collapse .metismenu,
    body.fyi-muffdusters-option2 .container-header .collapse .mod-menu,
    body.fyi-muffdusters-option2 .container-header .collapse .metismenu {
        width: 100%;
        margin: 0;
        display: block;
    }

    body.fyi-muffdusters-option2 .container-header .navbar-collapse .mod-menu > li > a,
    body.fyi-muffdusters-option2 .container-header .navbar-collapse .metismenu > li > a,
    body.fyi-muffdusters-option2 .container-header .collapse .mod-menu > li > a,
    body.fyi-muffdusters-option2 .container-header .collapse .metismenu > li > a {
        display: block;
        padding: .75rem 14px;
        font-size: var(--fyi-muff2-nav-size, 15px);
    }
}


/* Muffdusters project layer — Black header / smoky club-stage direction */
body.fyi-muffdusters-option2 {
    --fyi-muffdusters-accent: #d1232a;
    font-family: "Arial Narrow", "Roboto Condensed", Arial, sans-serif;
}
body.fyi-muffdusters-option2 .container-header { border-bottom: 3px solid #d1232a; }
body.fyi-muffdusters-option2 .container-header .mod-menu > li > a,
body.fyi-muffdusters-option2 .container-header .metismenu > li > a { font-family: Impact, "Arial Black", sans-serif; letter-spacing: .12em; }
body.fyi-muffdusters-option2 .fyi-muffdusters-project-hero {
    min-height: clamp(420px, 64vw, 780px);
    display: grid;
    align-items: center;
    position: relative;
    overflow: hidden;
    background-image: linear-gradient(90deg, rgba(0,0,0,.92) 0%, rgba(0,0,0,.62) 43%, rgba(0,0,0,.20) 72%, rgba(0,0,0,.64) 100%), url("../images/muffdusters-hero.jpg");
    background-size: cover;
    background-position: center 38%;
}
body.fyi-muffdusters-option2 .fyi-muffdusters-project-hero::after {
    content: ""; position:absolute; inset:auto 0 0; height:34px;
    background: repeating-linear-gradient(135deg, transparent 0 12px, #111111 13px 24px);
    opacity:.96;
}
body.fyi-muffdusters-option2 .fyi-muffdusters-hero-inner {
    width:min(100% - 40px, var(--fyi-muff2-content-width, 1400px));
    margin-inline:auto; position:relative; z-index:2; padding:72px 0 96px;
}
body.fyi-muffdusters-option2 .fyi-muffdusters-hero-kicker { color:#d1232a; font-weight:900; letter-spacing:.28em; margin:0 0 10px; }
body.fyi-muffdusters-option2 .fyi-muffdusters-project-hero h1 {
    color:#ffffff; max-width:760px; margin:0 0 26px; text-transform:uppercase;
    font-family: Impact, "Arial Black", sans-serif; font-size:clamp(3rem, 7vw, 7.4rem); line-height:.87; letter-spacing:.01em;
    text-shadow: 0 3px 22px rgb(0 0 0 / 24%);
}
body.fyi-muffdusters-option2 .fyi-muffdusters-hero-button {
    display:inline-block; padding:14px 27px; color:#fff; background:#d1232a; border:2px solid #d1232a;
    font-weight:900; letter-spacing:.13em; text-transform:uppercase; text-decoration:none; transform:skew(-4deg);
}
body.fyi-muffdusters-option2 .fyi-muffdusters-hero-button:hover { color:#d1232a; background:transparent; }
body.fyi-muffdusters-option2 main h1, body.fyi-muffdusters-option2 main h2 { font-family:Impact, "Arial Black", sans-serif; text-transform:uppercase; letter-spacing:.03em; }
body.fyi-muffdusters-option2 a { text-decoration-thickness:2px; text-underline-offset:3px; }
@media (max-width: 991.98px) {
 body.fyi-muffdusters-option2 .fyi-muffdusters-project-hero { min-height:520px; background-position:62% center; }
 body.fyi-muffdusters-option2 .fyi-muffdusters-hero-inner { padding:76px 0 100px; }
 body.fyi-muffdusters-option2 .fyi-muffdusters-project-hero h1 { max-width:82%; }
}
@media (max-width: 575.98px) {
 body.fyi-muffdusters-option2 .fyi-muffdusters-project-hero { min-height:500px; background-position:68% center; }
 body.fyi-muffdusters-option2 .fyi-muffdusters-project-hero h1 { max-width:100%; font-size:clamp(2.75rem, 16vw, 4.7rem); }
}


/* FYI Platform v1.1.0: header social icons and login modal */
body.fyi-muffdusters-option2 .container-header { position: relative; }
body.fyi-muffdusters-option2 .fyi-header-tools { position:absolute; right:20px; top:50%; transform:translateY(-50%); z-index:1200; display:flex; align-items:center; gap:10px; }
body.fyi-muffdusters-option2 .fyi-header-icon { width:34px; height:34px; padding:7px; border:1px solid currentColor; border-radius:50%; display:inline-flex; align-items:center; justify-content:center; background:transparent; color:var(--fyi-muff2-nav-color); cursor:pointer; text-decoration:none; transition:transform .18s ease,color .18s ease,border-color .18s ease; }
body.fyi-muffdusters-option2 .fyi-header-icon:hover, body.fyi-muffdusters-option2 .fyi-header-icon:focus-visible { color:var(--fyi-muff2-active-color); border-color:var(--fyi-muff2-active-color); transform:translateY(-2px); }
body.fyi-muffdusters-option2 .fyi-header-icon svg { width:100%; height:100%; fill:none; stroke:currentColor; stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round; }
body.fyi-muffdusters-option2 .fyi-social-facebook svg path, body.fyi-muffdusters-option2 .fyi-social-spotify svg circle { fill:currentColor; stroke:none; }
body.fyi-muffdusters-option2 .fyi-social-facebook svg path { transform:scale(.8); transform-origin:center; }
body.fyi-muffdusters-option2 .fyi-login-modal { width:min(92vw,460px); border:0; padding:0; background:transparent; color:inherit; }
body.fyi-muffdusters-option2 .fyi-login-modal::backdrop { background:rgb(0 0 0 / 78%); backdrop-filter:blur(4px); }
body.fyi-muffdusters-option2 .fyi-login-panel { position:relative; padding:38px; border:1px solid var(--fyi-muff2-active-color); background:#0b0b0b; color:#f7f7f7; box-shadow:0 24px 80px rgb(0 0 0 / 55%); }
body.fyi-muffdusters-option2 .fyi-login-panel::before { content:''; position:absolute; inset:0 0 auto; height:6px; background:var(--fyi-muff2-active-color); }
body.fyi-muffdusters-option2 .fyi-login-panel h2 { margin:0 0 24px; text-transform:uppercase; letter-spacing:.05em; }
body.fyi-muffdusters-option2 .fyi-login-panel label { display:block; margin:0 0 16px; font-weight:700; text-transform:uppercase; font-size:.82rem; letter-spacing:.05em; }
body.fyi-muffdusters-option2 .fyi-login-panel input[type=text], body.fyi-muffdusters-option2 .fyi-login-panel input[type=password] { width:100%; margin-top:7px; padding:12px 14px; border:1px solid #555; background:#151515; color:inherit; }
body.fyi-muffdusters-option2 .fyi-login-remember { display:flex !important; align-items:center; gap:8px; text-transform:none !important; }
body.fyi-muffdusters-option2 .fyi-login-submit { width:100%; padding:13px 18px; border:0; background:var(--fyi-muff2-active-color); color:#fff; font-weight:800; text-transform:uppercase; letter-spacing:.08em; }
body.fyi-muffdusters-option2 .fyi-login-close { position:absolute; top:12px; right:14px; border:0; background:transparent; color:inherit; font-size:30px; line-height:1; cursor:pointer; }
body.fyi-muffdusters-option2 .fyi-login-links { display:flex; justify-content:space-between; gap:16px; margin-top:18px; font-size:.9rem; }
body.fyi-muffdusters-option2 .fyi-login-links a { color:var(--fyi-muff2-active-color); }
@media (max-width: 991.98px) { body.fyi-muffdusters-option2 .fyi-header-tools { right:70px; gap:6px; } body.fyi-muffdusters-option2 .fyi-header-icon { width:30px; height:30px; padding:6px; } }
@media (max-width: 575.98px) { body.fyi-muffdusters-option2 .fyi-header-tools a:not(.fyi-login-trigger) { display:none; } body.fyi-muffdusters-option2 .fyi-login-panel { padding:32px 24px 24px; } }


/* FYI Website Platform v1.2.0 — exact project composition */
body.fyi-muffdusters-option2 .fyi-muffdusters-project-hero{display:grid;grid-template-columns:minmax(0,58%) minmax(420px,42%);min-height:clamp(520px,52vw,760px);background:#080808!important;position:relative;}
body.fyi-muffdusters-option2 .fyi-muffdusters-hero-image{background:url("../images/muffdusters-hero.jpg") center/cover no-repeat;min-height:100%;}
body.fyi-muffdusters-option2 .fyi-muffdusters-hero-copy{display:flex;flex-direction:column;justify-content:center;padding:clamp(40px,6vw,90px);position:relative;z-index:2;}
body.fyi-muffdusters-option2 .fyi-muffdusters-hero-kicker{display:none}
body.fyi-muffdusters-option2 .fyi-muffdusters-project-hero h1{margin:0 0 30px;max-width:none!important;font-size:clamp(3rem,5.8vw,7rem);line-height:.86;text-shadow:none;}
body.fyi-muffdusters-option2 .fyi-hero-line{display:block;white-space:nowrap;}
body.fyi-muffdusters-option2 .fyi-hero-line-1{color:#fff}
body.fyi-muffdusters-option2 .fyi-hero-line-2{color:#b32025}
body.fyi-muffdusters-option2 .fyi-hero-line-3{color:#fff;font-family:"Brush Script MT","Segoe Script",cursive;font-size:.62em;line-height:1.1;margin-top:.16em;}
body.fyi-muffdusters-option2 .fyi-muff-home-foundation{font-family:"Arial Narrow",Arial,sans-serif;background:#f4f0e8;color:#151515;}
body.fyi-muffdusters-option2 .fyi-muff-home-foundation h2,body.fyi-muffdusters-option2 .fyi-muff-home-foundation h3{font-family:Impact,"Arial Black",sans-serif;text-transform:uppercase;}
body.fyi-muffdusters-option2 .fyi-muff-album,body.fyi-muffdusters-option2 .fyi-muff-section,body.fyi-muffdusters-option2 .fyi-muff-split,body.fyi-muffdusters-option2 .fyi-mailing,body.fyi-muffdusters-option2 .fyi-muff-footer{padding:clamp(30px,5vw,70px) max(24px,calc((100vw - 1400px)/2));}
body.fyi-muffdusters-option2 .fyi-muff-album{display:grid;grid-template-columns:1fr 1fr;align-items:center;min-height:300px;background:radial-gradient(circle at 20% 20%,#fff,#eee8dd);}
body.fyi-muffdusters-option2 .fyi-muff-album img{max-width:380px;justify-self:center;filter:drop-shadow(0 20px 20px #0005)}
body.fyi-muffdusters-option2 .fyi-platform-icons{display:flex;gap:24px;font-size:2rem}
body.fyi-muffdusters-option2 .fyi-section-heading{display:flex;justify-content:space-between;align-items:center}
body.fyi-muffdusters-option2 .fyi-media-cards{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}
body.fyi-muffdusters-option2 .fyi-card-art{aspect-ratio:16/9;background:linear-gradient(135deg,#111,#7c171b);display:grid;place-items:center;color:#fff;font-size:2rem}
body.fyi-muffdusters-option2 .fyi-media-cards h3{font-size:1rem;margin:10px 0 0}
body.fyi-muffdusters-option2 .fyi-muff-split{display:grid;grid-template-columns:1fr 1fr;padding:0}
body.fyi-muffdusters-option2 .fyi-shows,body.fyi-muffdusters-option2 .fyi-about{padding:clamp(30px,5vw,70px)}
body.fyi-muffdusters-option2 .fyi-shows{background:#a8171c;color:#fff}
body.fyi-muffdusters-option2 .fyi-shows p{display:flex;gap:20px;border-bottom:1px solid #ffffff44;padding:9px 0}
body.fyi-muffdusters-option2 .fyi-shows a{margin-left:auto;background:#111;color:#fff;padding:4px 10px;text-decoration:none}
body.fyi-muffdusters-option2 .fyi-merch-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
body.fyi-muffdusters-option2 .fyi-merch-grid div{min-height:180px;background:#111;color:#fff;display:grid;place-items:end center;padding:18px;font-weight:800}
body.fyi-muffdusters-option2 .fyi-mailing{background:#111;color:#fff;text-align:center}
body.fyi-muffdusters-option2 .fyi-mailing form{display:flex;justify-content:center;gap:12px}
body.fyi-muffdusters-option2 .fyi-mailing input{width:min(420px,65vw);padding:14px}
body.fyi-muffdusters-option2 .fyi-mailing button{background:#b32025;color:#fff;border:0;padding:14px 30px;font-weight:800}
body.fyi-muffdusters-option2 .fyi-muff-footer{display:grid;grid-template-columns:1.5fr repeat(4,1fr);gap:30px;background:#111;color:#fff}
body.fyi-muffdusters-option2 .fyi-header-tools{right:max(18px,calc((100vw - var(--fyi-muff2-content-width,1400px))/2));}
body.fyi-muffdusters-option2 .container-header .container-nav{padding-right:210px!important}
@media(max-width:900px){body.fyi-muffdusters-option2 .fyi-muffdusters-project-hero{grid-template-columns:1fr;}body.fyi-muffdusters-option2 .fyi-muffdusters-hero-image{min-height:360px}body.fyi-muffdusters-option2 .fyi-muffdusters-hero-copy{padding:40px 24px 70px}body.fyi-muffdusters-option2 .fyi-muffdusters-project-hero h1{font-size:clamp(2.8rem,12vw,5.4rem)}body.fyi-muffdusters-option2 .fyi-media-cards,body.fyi-muffdusters-option2 .fyi-merch-grid{grid-template-columns:repeat(2,1fr)}body.fyi-muffdusters-option2 .fyi-muff-split,body.fyi-muffdusters-option2 .fyi-muff-album{grid-template-columns:1fr}body.fyi-muffdusters-option2 .fyi-muff-footer{grid-template-columns:1fr 1fr}}

body.fyi-muffdusters-option2 .fyi-muff-home-foundation{background:#070707;color:#fff}body.fyi-muffdusters-option2 .fyi-muff-album{background:radial-gradient(circle at 70% 30%,#32100f,#070707)}body.fyi-muffdusters-option2 .fyi-muff-section,body.fyi-muffdusters-option2 .fyi-about{background:#080808;color:#fff}body.fyi-muffdusters-option2 .fyi-shows{background:#090909;border:1px solid #8d1519}body.fyi-muffdusters-option2 .fyi-muff-footer{border-top:1px solid #8d1519}

/* FYI Social Designer v1.3.0 */
body.fyi-muffdusters-option2 .fyi-header-tools { gap:var(--fyi-social-gap,8px); }
body.fyi-muffdusters-option2 .fyi-header-icon { width:var(--fyi-social-size,34px); height:var(--fyi-social-size,34px); color:var(--fyi-social-color); background:var(--fyi-social-bg); border-radius:var(--fyi-social-radius); }
body.fyi-muffdusters-option2 .fyi-social-style-outline .fyi-header-icon { border:1px solid currentColor; background:transparent; }
body.fyi-muffdusters-option2 .fyi-social-style-filled .fyi-header-icon { border-color:transparent; }
body.fyi-muffdusters-option2 .fyi-social-shape-none .fyi-header-icon { border:0; background:transparent; }
body.fyi-muffdusters-option2 .fyi-social-hover-fade .fyi-header-icon:hover { opacity:.62; }
body.fyi-muffdusters-option2 .fyi-social-hover-lift .fyi-header-icon:hover { transform:translateY(-3px); }
body.fyi-muffdusters-option2 .fyi-social-hover-glow .fyi-header-icon:hover { box-shadow:0 0 16px currentColor; }
body.fyi-muffdusters-option2 .fyi-social-hover-rotate .fyi-header-icon:hover { transform:rotate(8deg); }
body.fyi-muffdusters-option2 .fyi-header-icon { transition:transform .18s ease,opacity .18s ease,box-shadow .18s ease; }
