/* =========================================================
   FH FAIR — DIGITAL MARKET / FESTIVAL POSTER
   A deliberately different visual language from the rest.
   ========================================================= */

.page-fh-fair{
    --fair-ink:#11110f;
    --fair-paper:#f4ead2;
    --fair-paper-2:#eadbb9;
    --fair-red:#f4473f;
    --fair-blue:#2d4cff;
    --fair-acid:#d9ff43;
    --fair-pink:#ff9fb2;
    --fair-orange:#ff9d2e;
    --fair-white:#fffdf6;
    --fair-line:rgba(17,17,15,.24);
    --fair-muted:#676259;
    background:var(--fair-paper);
    color:var(--fair-ink);
}


/* FH Fair keeps the FullHouse family mark, while its navigation is fair-specific. */
.page-fh-fair .brand{
    justify-content:flex-start;
}

.page-fh-fair .brand img{
    width:184px;
    height:96px;
    object-fit:contain;
    object-position:left center;
}

.page-fh-fair .sidebar-nav{
    overflow-y:auto;
    scrollbar-width:none;
}

.page-fh-fair .sidebar-nav::-webkit-scrollbar{display:none}

.page-fh-fair .nav-item{
    min-height:50px;
}

.page-fh-fair .nav-item--back{
    margin-top:8px;
    border-top:1px solid rgba(255,255,255,.18);
}

.page-fh-fair :where(#fair-top,#fair-about,#fair-archive,#fair-videos,#fair-photos){
    scroll-margin-top:92px;
}

.page-fh-fair .fh-main{
    position:relative;
    margin-left:var(--sidebar-width);
    min-height:100vh;
    overflow:hidden;
    background:
        radial-gradient(circle at 22% 12%,rgba(255,159,178,.36),transparent 20%),
        radial-gradient(circle at 92% 28%,rgba(217,255,67,.30),transparent 21%),
        linear-gradient(90deg,rgba(17,17,15,.045) 1px,transparent 1px),
        linear-gradient(rgba(17,17,15,.045) 1px,transparent 1px),
        var(--fair-paper);
    background-size:auto,auto,40px 40px,40px 40px,auto;
}

.page-fh-fair .fh-main::before{
    content:"";
    position:absolute;
    inset:0;
    pointer-events:none;
    opacity:.32;
    background-image:
        radial-gradient(circle at 20% 30%,rgba(17,17,15,.17) 0 1px,transparent 1.4px),
        radial-gradient(circle at 80% 60%,rgba(17,17,15,.11) 0 1px,transparent 1.3px);
    background-size:19px 19px,27px 27px;
    mask-image:linear-gradient(to bottom,#000 0%,transparent 55%);
}

.page-fh-fair .fh-hero,
.page-fh-fair .fh-programs{
    position:relative;
    z-index:1;
}

.page-fh-fair .fh-hero{
    padding:38px clamp(26px,4.8vw,72px) 50px;
}

.page-fh-fair .fh-hero-inner{
    position:relative;
    max-width:1280px;
    min-height:650px;
    display:grid;
    grid-template-columns:minmax(0,1.12fr) minmax(340px,.88fr);
    grid-template-rows:auto 1fr;
    column-gap:56px;
    align-items:center;
}

.page-fh-fair .fh-back{
    grid-column:1/-1;
    align-self:start;
    justify-self:start;
    display:inline-flex;
    align-items:center;
    gap:10px;
    min-height:42px;
    padding:0 14px;
    color:var(--fair-ink);
    background:var(--fair-white);
    border:1px solid var(--fair-ink);
    box-shadow:5px 5px 0 var(--fair-ink);
    text-decoration:none;
    font:900 10px/1 ui-monospace,SFMono-Regular,Menlo,monospace;
    letter-spacing:1px;
    text-transform:uppercase;
    transition:transform .2s ease,box-shadow .2s ease;
}

.page-fh-fair .fh-back:hover{
    transform:translate(-2px,-2px);
    box-shadow:8px 8px 0 var(--fair-ink);
}

.page-fh-fair .fair-hero-copy{
    position:relative;
    z-index:2;
    align-self:center;
    padding:62px 0 34px;
}

.page-fh-fair .fh-title{
    position:relative;
    max-width:760px;
    margin:0 0 28px;
    font-size:clamp(92px,12vw,190px);
    line-height:.62;
    letter-spacing:-.09em;
    font-weight:1000;
    text-transform:uppercase;
    text-wrap:balance;
}

.page-fh-fair .fh-title::before{
    content:"MARKET / MUSIC / PEOPLE";
    position:absolute;
    left:6px;
    top:-31px;
    font:900 9px/1 ui-monospace,SFMono-Regular,Menlo,monospace;
    letter-spacing:1.45px;
    color:var(--fair-ink);
}

.page-fh-fair .fh-title .accent{
    display:block;
    margin-left:.18em;
    color:var(--fair-red);
    -webkit-text-stroke:1px var(--fair-ink);
    text-shadow:7px 7px 0 var(--fair-acid);
}

.page-fh-fair .fh-intro{
    max-width:670px;
    margin:0;
    padding-left:20px;
    border-left:5px solid var(--fair-blue);
    color:#45413a;
    font-size:clamp(17px,1.55vw,21px);
    line-height:1.6;
    font-weight:700;
}

.page-fh-fair .fair-hero-visual{
    position:relative;
    min-height:520px;
    align-self:center;
}

.page-fh-fair .fair-ticket{
    position:absolute;
    inset:54px 20px 20px 8px;
    display:flex;
    flex-direction:column;
    padding:26px;
    color:var(--fair-white);
    background:var(--fair-blue);
    border:2px solid var(--fair-ink);
    box-shadow:18px 18px 0 var(--fair-ink);
    transform:rotate(3.2deg);
}

.page-fh-fair .fair-ticket::before,
.page-fh-fair .fair-ticket::after{
    content:"";
    position:absolute;
    width:34px;
    height:34px;
    top:48%;
    border-radius:50%;
    background:var(--fair-paper);
    border:2px solid var(--fair-ink);
}

.page-fh-fair .fair-ticket::before{left:-20px}
.page-fh-fair .fair-ticket::after{right:-20px}

.page-fh-fair .fair-ticket-code{
    font:900 11px/1 ui-monospace,SFMono-Regular,Menlo,monospace;
    letter-spacing:1.4px;
}

.page-fh-fair .fair-ticket-mark{
    margin:auto 0 26px;
    font-size:clamp(76px,9vw,138px);
    line-height:.7;
    letter-spacing:-.09em;
    font-weight:1000;
    transform:translateX(-4px);
}

.page-fh-fair .fair-symbol-grid{
    display:grid;
    grid-template-columns:repeat(5,1fr);
    border:1px solid rgba(255,255,255,.7);
}

.page-fh-fair .fair-symbol-grid span{
    aspect-ratio:1;
    display:grid;
    place-items:center;
    border-right:1px solid rgba(255,255,255,.7);
    font-size:clamp(16px,2vw,25px);
}

.page-fh-fair .fair-symbol-grid span:last-child{border-right:0}
.page-fh-fair .fair-symbol-grid span:nth-child(2){background:var(--fair-red)}
.page-fh-fair .fair-symbol-grid span:nth-child(3){color:var(--fair-ink);background:var(--fair-acid)}
.page-fh-fair .fair-symbol-grid span:nth-child(4){color:var(--fair-ink);background:var(--fair-pink)}
.page-fh-fair .fair-symbol-grid span:nth-child(5){color:var(--fair-ink);background:var(--fair-orange)}

.page-fh-fair .fair-sticker{
    position:absolute;
    z-index:4;
    display:grid;
    place-items:center;
    width:78px;
    height:78px;
    color:var(--fair-ink);
    background:var(--fair-acid);
    border:2px solid var(--fair-ink);
    border-radius:50%;
    box-shadow:6px 7px 0 var(--fair-ink);
    font-size:25px;
}

.page-fh-fair .fair-sticker--one{
    right:-4px;
    top:16px;
    transform:rotate(12deg);
}

.page-fh-fair .fair-sticker--two{
    left:-26px;
    bottom:28px;
    width:68px;
    height:68px;
    background:var(--fair-pink);
    transform:rotate(-11deg);
}

.page-fh-fair .fh-vol4-notice{
    position:relative;
    max-width:640px;
    margin-top:34px;
    padding:18px 20px 17px 24px;
    overflow:visible;
    color:var(--fair-ink);
    background:var(--fair-white);
    border:1px solid var(--fair-ink);
    border-left:1px solid var(--fair-ink);
    border-radius:0;
    box-shadow:9px 9px 0 var(--fair-red);
    transform:rotate(-.55deg);
}

.page-fh-fair .fh-vol4-notice::before{
    content:"";
    position:absolute;
    width:84px;
    height:20px;
    left:44px;
    top:-13px;
    background:rgba(217,255,67,.86);
    border:1px solid rgba(17,17,15,.15);
    transform:rotate(-4deg);
}

.page-fh-fair .fh-vol4-notice-label{
    position:relative;
    z-index:2;
    display:flex;
    align-items:center;
    gap:8px;
    margin-bottom:7px;
    color:var(--fair-red);
    font:1000 10px/1.2 ui-monospace,SFMono-Regular,Menlo,monospace;
    letter-spacing:1.1px;
    text-transform:uppercase;
}

.page-fh-fair .fh-vol4-notice p{
    position:relative;
    z-index:2;
    margin:0;
    color:var(--fair-ink);
    font-size:14.5px;
    line-height:1.55;
    font-weight:750;
}

.page-fh-fair .fh-programs{
    padding:12px clamp(26px,4.8vw,72px) 108px;
}

.page-fh-fair .fh-grid{
    max-width:1280px;
    display:grid;
    grid-template-columns:minmax(0,1.3fr) minmax(330px,.7fr);
    gap:24px;
    align-items:start;
}

.page-fh-fair .fh-card{
    --card-accent:var(--fair-red);
    position:relative;
    min-width:0;
    padding:30px;
    overflow:hidden;
    color:var(--fair-ink);
    background:var(--fair-white);
    border:1px solid var(--fair-ink);
    border-radius:0;
    box-shadow:12px 12px 0 var(--fair-ink);
}

.page-fh-fair .fh-card::after{
    content:"";
    position:absolute;
    width:170px;
    height:170px;
    right:-88px;
    top:-95px;
    border-radius:50%;
    background:var(--card-accent);
    opacity:.17;
    pointer-events:none;
}

.page-fh-fair .fh-card--archive{
    --card-accent:var(--fair-acid);
    grid-column:1/-1;
    background:#151515;
    color:#fff;
    box-shadow:12px 12px 0 var(--fair-blue);
}

.page-fh-fair .fh-card--videos{
    --card-accent:var(--fair-pink);
    min-height:660px;
    background:var(--fair-pink);
}

.page-fh-fair .fh-card--photos{
    --card-accent:var(--fair-blue);
    min-height:660px;
    background:#fffdf6;
}

.page-fh-fair .fh-card--wide{
    grid-column:auto;
}

.page-fh-fair .fh-card-top,
.page-fh-fair .fh-slider-head{
    position:relative;
    z-index:2;
    display:flex;
    align-items:flex-start;
    justify-content:space-between;
    gap:18px;
    margin-bottom:26px;
}

.page-fh-fair .fh-icon{
    width:56px;
    height:56px;
    display:grid;
    place-items:center;
    color:var(--fair-ink);
    background:var(--fair-acid);
    border:1px solid var(--fair-ink);
    border-radius:50%;
    box-shadow:5px 5px 0 var(--fair-ink);
    font-size:19px;
}

.page-fh-fair .fh-card--videos .fh-icon{background:var(--fair-white)}
.page-fh-fair .fh-card--photos .fh-icon{color:#fff;background:var(--fair-blue)}

.page-fh-fair .fh-kicker{
    position:relative;
    z-index:2;
    display:inline-block;
    width:max-content;
    margin-bottom:9px;
    padding:6px 8px;
    color:#fff;
    background:var(--fair-ink);
    font:900 9px/1 ui-monospace,SFMono-Regular,Menlo,monospace;
    letter-spacing:1.1px;
    text-transform:uppercase;
}

.page-fh-fair .fh-card--archive .fh-kicker{
    color:var(--fair-ink);
    background:var(--fair-acid);
}

.page-fh-fair .fh-card h2,
.page-fh-fair .fh-card h3{
    position:relative;
    z-index:2;
    margin:0 0 14px;
    font-size:clamp(34px,4vw,62px);
    line-height:.88;
    letter-spacing:-.055em;
    font-weight:1000;
    text-wrap:balance;
}

.page-fh-fair .fh-card p{
    position:relative;
    z-index:2;
    max-width:720px;
    margin:0 0 26px;
    color:var(--fair-muted);
    font-size:14.5px;
    line-height:1.62;
}

.page-fh-fair .fh-card--archive p{
    color:rgba(255,255,255,.62);
}

.page-fh-fair .fh-media-count{
    position:relative;
    z-index:2;
    min-width:48px;
    height:48px;
    padding:0 12px;
    display:grid;
    place-items:center;
    color:var(--fair-ink);
    background:var(--fair-white);
    border:1px solid var(--fair-ink);
    box-shadow:4px 4px 0 var(--fair-ink);
    font:1000 12px/1 ui-monospace,SFMono-Regular,Menlo,monospace;
}

.page-fh-fair .fh-slider-controls{
    display:flex;
    gap:8px;
}

.page-fh-fair .fh-slider-arrow,
.page-fh-fair .fair-photo-page-arrow{
    width:46px;
    height:46px;
    display:grid;
    place-items:center;
    border:1px solid currentColor;
    border-radius:50%;
    color:var(--fair-ink);
    background:var(--fair-white);
    cursor:pointer;
    font-size:13px;
    transition:transform .2s ease,background .2s ease,color .2s ease;
}

.page-fh-fair .fh-card--archive .fh-slider-arrow{
    color:#fff;
    background:transparent;
    border-color:rgba(255,255,255,.46);
}

.page-fh-fair .fh-slider-arrow:hover,
.page-fh-fair .fair-photo-page-arrow:hover:not(:disabled){
    transform:rotate(-8deg) scale(1.05);
    color:#fff;
    background:var(--fair-blue);
}

.page-fh-fair .fh-card--archive .fh-slider-arrow:hover{
    color:var(--fair-ink);
    background:var(--fair-acid);
    border-color:var(--fair-acid);
}

.page-fh-fair .fh-fair-slider{
    position:relative;
    z-index:2;
    display:grid;
    grid-auto-flow:column;
    grid-auto-columns:minmax(270px,350px);
    gap:18px;
    overflow-x:auto;
    padding:4px 6px 16px 3px;
    scroll-snap-type:x mandatory;
    scrollbar-width:none;
}

.page-fh-fair .fh-fair-slider::-webkit-scrollbar{display:none}

.page-fh-fair .fh-edition{
    scroll-snap-align:start;
    overflow:hidden;
    color:var(--fair-ink);
    background:var(--fair-paper);
    border:1px solid #fff;
    box-shadow:8px 8px 0 rgba(255,255,255,.16);
    transform:rotate(-.55deg);
    transition:transform .25s ease;
}

.page-fh-fair .fh-edition:nth-child(even){
    transform:rotate(.75deg);
}

.page-fh-fair .fh-edition:hover{
    transform:rotate(0) translateY(-4px);
}

.page-fh-fair .fh-edition-image{
    position:relative;
    aspect-ratio:4/5;
    display:flex;
    align-items:center;
    justify-content:center;
    color:var(--fair-muted);
    background:var(--fair-paper-2);
    border:0;
    border-bottom:1px solid var(--fair-ink);
    font-size:12px;
    font-weight:900;
}

.page-fh-fair .fh-edition-image.fh-media{
    aspect-ratio:4/5;
    background:#ece6d9;
}

.page-fh-fair .fh-edition-image.fh-media img{
    object-fit:contain;
    background:#ece6d9;
}

.page-fh-fair .fh-edition-body{
    padding:18px 18px 20px;
}

.page-fh-fair .fh-edition-number{
    display:inline-block;
    margin-bottom:8px;
    padding:5px 7px;
    color:#fff;
    background:var(--fair-red);
    font:900 9px/1 ui-monospace,SFMono-Regular,Menlo,monospace;
    letter-spacing:1px;
}

.page-fh-fair .fh-edition h3{
    margin-bottom:7px;
    font-size:27px;
    line-height:.94;
    letter-spacing:-.04em;
}

.page-fh-fair .fh-edition p{
    margin:0;
    color:#5f5a50;
    font-size:13.5px;
}

.page-fh-fair .fair-volume-tabs{
    position:relative;
    z-index:2;
    display:flex;
    gap:9px;
    flex-wrap:wrap;
    margin:8px 0 22px;
}

.page-fh-fair .fair-volume-tab{
    min-height:42px;
    padding:0 15px;
    border:1px solid var(--fair-ink);
    border-radius:999px;
    background:transparent;
    color:var(--fair-ink);
    font:900 11px/1 ui-monospace,SFMono-Regular,Menlo,monospace;
    cursor:pointer;
    transition:transform .18s ease,background .18s ease,color .18s ease;
}

.page-fh-fair .fair-volume-tab:hover{
    transform:translateY(-2px);
}

.page-fh-fair .fair-volume-tab.active{
    color:#fff;
    background:var(--fair-blue);
    border-color:var(--fair-blue);
    box-shadow:4px 4px 0 var(--fair-ink);
}

.page-fh-fair .fair-volume-panel{
    display:none;
    position:relative;
    z-index:2;
}

.page-fh-fair .fair-volume-panel.active{display:block}

.page-fh-fair .fh-gallery{
    position:relative;
    z-index:2;
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:9px;
}

.page-fh-fair .fh-media{
    position:relative;
    aspect-ratio:1;
    overflow:hidden;
    padding:0;
    border:1px solid var(--fair-ink);
    border-radius:0;
    background:var(--fair-paper-2);
    cursor:pointer;
}

.page-fh-fair .fh-media img,
.page-fh-fair .fh-media video{
    width:100%;
    height:100%;
    display:block;
    object-fit:cover;
    transition:transform .4s cubic-bezier(.2,.8,.2,1),filter .3s ease;
}

.page-fh-fair .fh-media:hover img,
.page-fh-fair .fh-media:hover video{
    transform:scale(1.055);
    filter:saturate(1.06) contrast(1.02);
}

.page-fh-fair .fh-video-slider{
    position:relative;
    z-index:2;
    width:100%;
    max-width:380px;
    margin:8px auto 0;
}

.page-fh-fair .fh-video-slide{
    display:flex;
    justify-content:center;
}

.page-fh-fair .fh-video-slide[hidden]{display:none}

.page-fh-fair .fh-media--video{
    width:100%;
    max-width:340px;
    aspect-ratio:9/16;
    border:1px solid var(--fair-ink);
    background:#111;
    box-shadow:10px 10px 0 var(--fair-ink);
    transform:rotate(1.2deg);
}

.page-fh-fair .fh-play{
    position:absolute;
    left:50%;
    top:50%;
    transform:translate(-50%,-50%);
    width:62px;
    height:62px;
    display:grid;
    place-items:center;
    color:var(--fair-ink);
    background:var(--fair-acid);
    border:1px solid var(--fair-ink);
    border-radius:50%;
    box-shadow:4px 4px 0 var(--fair-ink);
    font-size:18px;
}

.page-fh-fair .fh-video-controls,
.page-fh-fair .fair-photo-page-controls{
    position:relative;
    z-index:2;
    display:flex;
    align-items:center;
    justify-content:center;
    gap:11px;
    margin-top:22px;
}

.page-fh-fair .fh-video-status,
.page-fh-fair .fair-photo-page-status{
    min-width:72px;
    text-align:center;
    color:var(--fair-ink);
    font:900 11px/1 ui-monospace,SFMono-Regular,Menlo,monospace;
}

.page-fh-fair .fair-photo-page-arrow:disabled{
    opacity:.32;
    cursor:default;
}

.page-fh-fair .fh-empty{
    position:relative;
    z-index:2;
    margin:0 !important;
    padding:18px;
    border:1px dashed var(--fair-ink);
    background:rgba(255,255,255,.35);
}

.page-fh-fair .fh-lightbox{
    position:fixed;
    inset:0;
    z-index:9999;
    display:flex;
    align-items:center;
    justify-content:center;
    padding:74px 24px 24px;
    background:rgba(9,9,10,.96);
    backdrop-filter:blur(12px);
}

.page-fh-fair .fh-lightbox[hidden]{display:none}

.page-fh-fair .fh-lightbox-content{
    width:100%;
    height:100%;
    display:flex;
    align-items:center;
    justify-content:center;
}

.page-fh-fair .fh-lightbox-content img,
.page-fh-fair .fh-lightbox-content video{
    max-width:100%;
    max-height:100%;
    object-fit:contain;
    border:1px solid rgba(255,255,255,.26);
}

.page-fh-fair .fh-lightbox-close{
    position:absolute;
    top:18px;
    right:20px;
    min-height:44px;
    padding:0 15px;
    display:inline-flex;
    align-items:center;
    gap:9px;
    border:1px solid #fff;
    border-radius:0;
    color:#111;
    background:var(--fair-acid);
    font:900 11px/1 Arial,Helvetica,sans-serif;
    text-transform:uppercase;
    cursor:pointer;
}

.page-fh-fair [data-lightbox-prev],
.page-fh-fair [data-lightbox-next]{
    color:var(--fair-ink) !important;
    background:var(--fair-acid) !important;
    border:1px solid var(--fair-ink) !important;
    box-shadow:4px 4px 0 var(--fair-red);
}

.page-fh-fair :where(a,button):focus-visible{
    outline:3px solid var(--fair-blue);
    outline-offset:3px;
}

@keyframes fairFloat{
    0%,100%{transform:rotate(3.2deg) translateY(0)}
    50%{transform:rotate(2.4deg) translateY(-7px)}
}

@keyframes fairSticker{
    0%,100%{transform:rotate(12deg) scale(1)}
    50%{transform:rotate(17deg) scale(1.04)}
}

@media (prefers-reduced-motion:no-preference){
    .page-fh-fair .fair-ticket{animation:fairFloat 6s ease-in-out infinite}
    .page-fh-fair .fair-sticker--one{animation:fairSticker 4.8s ease-in-out infinite}
}

@media(max-width:1100px){
    .page-fh-fair .fh-hero-inner{
        grid-template-columns:minmax(0,1.05fr) minmax(310px,.95fr);
        column-gap:34px;
    }

    .page-fh-fair .fh-title{
        font-size:clamp(82px,11vw,142px);
    }

    .page-fh-fair .fh-gallery{
        grid-template-columns:repeat(3,minmax(0,1fr));
    }
}

@media(max-width:900px){
    .page-fh-fair .fh-hero-inner{
        min-height:auto;
        grid-template-columns:1fr;
        grid-template-rows:auto auto auto;
    }

    .page-fh-fair .fh-back{
        grid-column:auto;
    }

    .page-fh-fair .fair-hero-copy{
        padding-bottom:20px;
    }

    .page-fh-fair .fair-hero-visual{
        min-height:420px;
        max-width:560px;
        width:100%;
        justify-self:center;
        margin-top:6px;
    }

    .page-fh-fair .fair-ticket{
        inset:28px 30px 20px 30px;
    }

    .page-fh-fair .fh-grid{
        grid-template-columns:1fr;
    }

    .page-fh-fair .fh-card--archive,
    .page-fh-fair .fh-card--videos,
    .page-fh-fair .fh-card--photos,
    .page-fh-fair .fh-card--wide{
        grid-column:auto;
    }
}

@media(max-width:800px){
    .page-fh-fair .mobile-logo{
        display:flex;
        align-items:center;
        max-width:calc(100vw - 82px);
        overflow:visible;
    }

    .page-fh-fair .mobile-logo img{
        width:150px;
        height:48px;
        max-width:100%;
        object-fit:contain;
        object-position:left center;
    }

    .page-fh-fair .fh-main{
        margin-left:0;
        padding-top:72px;
        background-size:auto,auto,34px 34px,34px 34px,auto;
    }

    .page-fh-fair .fh-hero{
        padding:30px 20px 34px;
    }

    .page-fh-fair .fh-title{
        font-size:clamp(74px,22vw,126px);
    }

    .page-fh-fair .fh-title .accent{
        text-shadow:5px 5px 0 var(--fair-acid);
    }

    .page-fh-fair .fh-programs{
        padding:0 20px 76px;
    }

    .page-fh-fair .fh-card{
        padding:24px;
        box-shadow:8px 8px 0 var(--fair-ink);
    }

    .page-fh-fair .fh-card--archive{
        box-shadow:8px 8px 0 var(--fair-blue);
    }

    .page-fh-fair .fh-gallery{
        grid-template-columns:repeat(2,minmax(0,1fr));
    }
}

@media(max-width:520px){
    .page-fh-fair .fh-hero{
        padding-left:16px;
        padding-right:16px;
    }

    .page-fh-fair .fh-title{
        margin-bottom:24px;
        font-size:clamp(67px,24vw,102px);
    }

    .page-fh-fair .fh-title::before{
        top:-25px;
        font-size:7px;
    }

    .page-fh-fair .fh-intro{
        padding-left:14px;
        font-size:16px;
    }

    .page-fh-fair .fh-vol4-notice{
        margin-top:28px;
        padding:16px;
        box-shadow:7px 7px 0 var(--fair-red);
    }

    .page-fh-fair .fair-hero-visual{
        min-height:340px;
    }

    .page-fh-fair .fair-ticket{
        inset:24px 18px 14px 18px;
        padding:20px;
        box-shadow:11px 11px 0 var(--fair-ink);
    }

    .page-fh-fair .fair-ticket-mark{
        font-size:clamp(64px,25vw,94px);
    }

    .page-fh-fair .fair-sticker{
        width:60px;
        height:60px;
        font-size:20px;
    }

    .page-fh-fair .fair-sticker--one{right:-4px;top:3px}
    .page-fh-fair .fair-sticker--two{left:-5px;bottom:8px;width:54px;height:54px}

    .page-fh-fair .fh-programs{
        padding-left:16px;
        padding-right:16px;
    }

    .page-fh-fair .fh-card{
        padding:20px;
    }

    .page-fh-fair .fh-card h2,
    .page-fh-fair .fh-card h3{
        font-size:clamp(33px,11vw,48px);
    }

    .page-fh-fair .fh-slider-head{
        align-items:flex-start;
    }

    .page-fh-fair .fh-fair-slider{
        grid-auto-columns:82vw;
    }

    .page-fh-fair .fh-media--video{
        max-width:275px;
        box-shadow:7px 7px 0 var(--fair-ink);
    }

    .page-fh-fair .fh-gallery{
        gap:7px;
    }
}

@media(prefers-reduced-motion:reduce){
    .page-fh-fair *,
    .page-fh-fair *::before,
    .page-fh-fair *::after{
        scroll-behavior:auto !important;
        animation-duration:.01ms !important;
        animation-iteration-count:1 !important;
        transition-duration:.01ms !important;
    }
}

/* =========================================================
   FH FAIR VOL.4 — APPLICATION + INTERNAL PARTICIPANTS
   ========================================================= */
.page-fh-fair .fh-vol4-apply-button{
    position:relative;
    z-index:2;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:16px;
    width:fit-content;
    margin-top:16px;
    padding:12px 15px;
    color:var(--fair-white);
    background:var(--fair-ink);
    border:1px solid var(--fair-ink);
    text-decoration:none;
    font:1000 10px/1 ui-monospace,SFMono-Regular,Menlo,monospace;
    letter-spacing:1px;
    text-transform:uppercase;
    transition:transform .18s ease,box-shadow .18s ease;
}
.page-fh-fair .fh-vol4-apply-button:hover{
    transform:translate(-2px,-2px);
    box-shadow:5px 5px 0 var(--fair-blue);
}

.page-fh-fair-apply .fh-main,
.page-fh-fair-internal .fh-main{
    min-height:100vh;
}
.page-fh-fair-apply :where(#apply-top,#apply-category,#apply-days,#apply-media),
.page-fh-fair-internal [id^="cat-"]{
    scroll-margin-top:90px;
}
.page-fh-fair-apply .fh-apply-main{
    padding:38px clamp(22px,4.7vw,72px) 100px;
}
.page-fh-fair-apply .fh-apply-hero,
.page-fh-fair-apply .fh-apply-wrap,
.page-fh-fair-internal .fh-internal-hero,
.page-fh-fair-internal .fh-internal-categories{
    position:relative;
    z-index:1;
    width:min(1180px,100%);
}
.page-fh-fair-apply .fh-apply-hero .fh-back{
    margin-bottom:54px;
}
.page-fh-fair-apply .fh-apply-heading{
    display:grid;
    grid-template-columns:minmax(0,1fr) auto;
    gap:34px;
    align-items:end;
    padding-bottom:38px;
    border-bottom:2px solid var(--fair-ink);
}
.page-fh-fair .fh-apply-kicker{
    display:block;
    margin-bottom:12px;
    color:var(--fair-red);
    font:1000 10px/1.1 ui-monospace,SFMono-Regular,Menlo,monospace;
    letter-spacing:1.45px;
    text-transform:uppercase;
}
.page-fh-fair-apply .fh-apply-heading h1,
.page-fh-fair-internal .fh-internal-hero h1{
    max-width:900px;
    margin:0;
    font-size:clamp(56px,8vw,116px);
    line-height:.82;
    letter-spacing:-.065em;
    font-weight:1000;
    text-transform:uppercase;
}
.page-fh-fair-apply .fh-apply-heading p,
.page-fh-fair-internal .fh-internal-hero>p{
    max-width:760px;
    margin:24px 0 0;
    color:#514c43;
    font-size:17px;
    line-height:1.65;
    font-weight:700;
}
.page-fh-fair-apply .fh-apply-badge{
    width:148px;
    aspect-ratio:1;
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    color:var(--fair-white);
    background:var(--fair-blue);
    border:2px solid var(--fair-ink);
    box-shadow:10px 10px 0 var(--fair-ink);
    transform:rotate(4deg);
}
.page-fh-fair-apply .fh-apply-badge strong{
    font-size:66px;
    line-height:.85;
    letter-spacing:-.08em;
}
.page-fh-fair-apply .fh-apply-badge span{
    margin-top:9px;
    font:1000 10px/1 ui-monospace,SFMono-Regular,Menlo,monospace;
    letter-spacing:1.3px;
}
.page-fh-fair-apply .fh-apply-wrap{
    margin-top:34px;
}
.page-fh-fair .fh-apply-notice{
    display:flex;
    gap:14px;
    align-items:flex-start;
    margin:0 0 24px;
    padding:16px 18px;
    border:2px solid var(--fair-ink);
    box-shadow:7px 7px 0 var(--fair-ink);
    font-weight:800;
}
.page-fh-fair .fh-apply-notice>i{font-size:22px}
.page-fh-fair .fh-apply-notice strong{display:block;font-size:17px}
.page-fh-fair .fh-apply-notice span{display:block;margin-top:3px;font-weight:650}
.page-fh-fair .fh-apply-notice ul{margin:0;padding-left:19px}
.page-fh-fair .fh-apply-notice--success{background:var(--fair-acid)}
.page-fh-fair .fh-apply-notice--error{background:var(--fair-pink)}
.page-fh-fair-apply .fh-apply-form{
    display:grid;
    gap:22px;
}
.page-fh-fair-apply .fh-apply-section{
    position:relative;
    padding:30px;
    background:var(--fair-white);
    border:2px solid var(--fair-ink);
    box-shadow:10px 10px 0 var(--fair-ink);
}
.page-fh-fair-apply .fh-apply-section:nth-of-type(2){box-shadow:10px 10px 0 var(--fair-red)}
.page-fh-fair-apply .fh-apply-section:nth-of-type(3){box-shadow:10px 10px 0 var(--fair-blue)}
.page-fh-fair-apply .fh-apply-section:nth-of-type(4){box-shadow:10px 10px 0 var(--fair-orange)}
.page-fh-fair-apply .fh-apply-section:nth-of-type(5){box-shadow:10px 10px 0 var(--fair-pink)}
.page-fh-fair-apply .fh-apply-section-head{
    display:flex;
    gap:17px;
    align-items:flex-start;
    margin-bottom:26px;
    padding-bottom:18px;
    border-bottom:1px solid var(--fair-line);
}
.page-fh-fair-apply .fh-apply-section-head>span{
    display:grid;
    place-items:center;
    flex:0 0 45px;
    height:45px;
    color:var(--fair-white);
    background:var(--fair-ink);
    font:1000 12px/1 ui-monospace,SFMono-Regular,Menlo,monospace;
}
.page-fh-fair-apply .fh-apply-section-head h2{
    margin:0;
    font-size:clamp(27px,3vw,42px);
    line-height:.95;
    letter-spacing:-.04em;
    font-weight:1000;
    text-transform:uppercase;
}
.page-fh-fair-apply .fh-apply-section-head p{
    margin:6px 0 0;
    color:var(--fair-muted);
    font:800 11px/1.4 ui-monospace,SFMono-Regular,Menlo,monospace;
    letter-spacing:.25px;
}
.page-fh-fair-apply .fh-apply-fields{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:18px;
}
.page-fh-fair-apply .fh-field{
    display:grid;
    gap:8px;
    min-width:0;
}
.page-fh-fair-apply .fh-field--wide{grid-column:1/-1}
.page-fh-fair-apply .fh-field>span{
    font-size:13px;
    font-weight:950;
    text-transform:uppercase;
    letter-spacing:.04em;
}
.page-fh-fair-apply .fh-field>span em{
    color:var(--fair-red);
    font-style:normal;
}
.page-fh-fair-apply .fh-field>span small{
    margin-left:6px;
    color:var(--fair-muted);
    font:750 9px/1 ui-monospace,SFMono-Regular,Menlo,monospace;
}
.page-fh-fair-apply .fh-field input,
.page-fh-fair-apply .fh-field textarea{
    width:100%;
    min-width:0;
    box-sizing:border-box;
    padding:14px 15px;
    color:var(--fair-ink);
    background:#fffdf8;
    border:1.5px solid var(--fair-ink);
    border-radius:0;
    outline:0;
    font:700 15px/1.4 inherit;
    transition:box-shadow .16s ease,transform .16s ease,background .16s ease;
}
.page-fh-fair-apply .fh-field textarea{resize:vertical;min-height:120px}
.page-fh-fair-apply .fh-field input:focus,
.page-fh-fair-apply .fh-field textarea:focus{
    background:#fff;
    box-shadow:4px 4px 0 var(--fair-blue);
    transform:translate(-1px,-1px);
}
.page-fh-fair-apply .fh-field>small{
    color:var(--fair-muted);
    font-size:11px;
    line-height:1.45;
    font-weight:650;
}
.page-fh-fair-apply .fh-field-icon{
    position:relative;
}
.page-fh-fair-apply .fh-field-icon i{
    position:absolute;
    left:15px;
    top:50%;
    transform:translateY(-50%);
    font-size:18px;
}
.page-fh-fair-apply .fh-field-icon input{padding-left:45px}
.page-fh-fair-apply .fh-choice-grid{
    display:grid;
    gap:12px;
}
.page-fh-fair-apply .fh-choice-grid--categories{
    grid-template-columns:repeat(3,minmax(0,1fr));
}
.page-fh-fair-apply .fh-choice-card,
.page-fh-fair-apply .fh-day-card{
    position:relative;
    cursor:pointer;
}
.page-fh-fair-apply .fh-choice-card input,
.page-fh-fair-apply .fh-day-card input{
    position:absolute;
    opacity:0;
    pointer-events:none;
}
.page-fh-fair-apply .fh-choice-card-inner{
    min-height:128px;
    display:flex;
    flex-direction:column;
    justify-content:flex-end;
    padding:18px;
    background:var(--fair-paper);
    border:1.5px solid var(--fair-ink);
    transition:transform .16s ease,box-shadow .16s ease,background .16s ease;
}
.page-fh-fair-apply .fh-choice-card-inner>i{
    margin-bottom:auto;
    font-size:25px;
}
.page-fh-fair-apply .fh-choice-card-inner strong{
    margin-top:16px;
    font-size:19px;
    line-height:1;
    font-weight:1000;
}
.page-fh-fair-apply .fh-choice-card-inner>span{
    margin-top:5px;
    color:var(--fair-muted);
    font:800 8px/1 ui-monospace,SFMono-Regular,Menlo,monospace;
    letter-spacing:1px;
}
.page-fh-fair-apply .fh-choice-card:hover .fh-choice-card-inner{
    transform:translate(-2px,-2px);
    box-shadow:5px 5px 0 var(--fair-ink);
}
.page-fh-fair-apply .fh-choice-card input:checked+.fh-choice-card-inner{
    color:var(--fair-white);
    background:var(--fair-blue);
    box-shadow:6px 6px 0 var(--fair-acid);
    transform:translate(-2px,-2px);
}
.page-fh-fair-apply .fh-choice-card input:checked+.fh-choice-card-inner>span{color:var(--fair-white)}
.page-fh-fair-apply .fh-choice-grid--days{
    grid-template-columns:1fr 1fr 1.25fr;
}
.page-fh-fair-apply .fh-day-card>span{
    position:relative;
    min-height:150px;
    display:flex;
    flex-direction:column;
    padding:18px;
    background:#fffdf8;
    border:1.5px solid var(--fair-ink);
    transition:transform .16s ease,box-shadow .16s ease,background .16s ease;
}
.page-fh-fair-apply .fh-day-card b{
    color:var(--fair-red);
    font:1000 32px/.9 ui-monospace,SFMono-Regular,Menlo,monospace;
}
.page-fh-fair-apply .fh-day-card strong{
    margin-top:auto;
    max-width:90%;
    font-size:22px;
    line-height:1.05;
}
.page-fh-fair-apply .fh-day-card small{
    margin-top:7px;
    max-width:90%;
    color:var(--fair-muted);
    font-size:11px;
    line-height:1.4;
    font-weight:650;
}
.page-fh-fair-apply .fh-day-card i{
    position:absolute;
    right:17px;
    top:17px;
    font-size:23px;
}
.page-fh-fair-apply .fh-day-card input:checked+span{
    background:var(--fair-acid);
    box-shadow:6px 6px 0 var(--fair-ink);
    transform:translate(-2px,-2px);
}
.page-fh-fair-apply .fh-day-card--both input:checked+span{
    color:var(--fair-white);
    background:var(--fair-red);
}
.page-fh-fair-apply .fh-day-card--both input:checked+span b,
.page-fh-fair-apply .fh-day-card--both input:checked+span small{color:var(--fair-white)}
.page-fh-fair-apply .fh-upload-grid{
    display:grid;
    grid-template-columns:.8fr 1.2fr;
    gap:16px;
}
.page-fh-fair-apply .fh-upload-box{
    position:relative;
    min-height:245px;
    display:flex;
    flex-direction:column;
    align-items:flex-start;
    padding:22px;
    overflow:hidden;
    background:var(--fair-paper);
    border:2px dashed var(--fair-ink);
    cursor:pointer;
    transition:transform .16s ease,background .16s ease,box-shadow .16s ease;
}
.page-fh-fair-apply .fh-upload-box:hover{
    background:var(--fair-paper-2);
    transform:translate(-2px,-2px);
    box-shadow:6px 6px 0 var(--fair-ink);
}
.page-fh-fair-apply .fh-upload-box input{
    position:absolute;
    inset:0;
    width:100%;
    height:100%;
    opacity:0;
    cursor:pointer;
}
.page-fh-fair-apply .fh-upload-icon{
    display:grid;
    place-items:center;
    width:56px;
    height:56px;
    margin-bottom:auto;
    color:var(--fair-white);
    background:var(--fair-blue);
    border:1.5px solid var(--fair-ink);
    box-shadow:4px 4px 0 var(--fair-ink);
    font-size:22px;
}
.page-fh-fair-apply .fh-upload-box--photos .fh-upload-icon{background:var(--fair-red)}
.page-fh-fair-apply .fh-upload-box>strong{font-size:26px;line-height:1;font-weight:1000;text-transform:uppercase}
.page-fh-fair-apply .fh-upload-box>span:not(.fh-upload-icon){margin-top:5px;font-weight:800}
.page-fh-fair-apply .fh-upload-box>small{margin-top:7px;max-width:560px;color:var(--fair-muted);font-size:11px;line-height:1.5;font-weight:650}
.page-fh-fair-apply .fh-upload-box output{margin-top:12px;font:900 10px/1.3 ui-monospace,SFMono-Regular,Menlo,monospace;overflow-wrap:anywhere}
.page-fh-fair-apply .fh-upload-preview{
    display:grid;
    grid-template-columns:repeat(5,1fr);
    gap:8px;
    margin-top:12px;
}
.page-fh-fair-apply .fh-upload-preview:empty{display:none}
.page-fh-fair-apply .fh-upload-preview span{aspect-ratio:1;overflow:hidden;border:1.5px solid var(--fair-ink);background:var(--fair-paper-2)}
.page-fh-fair-apply .fh-upload-preview img{width:100%;height:100%;object-fit:cover;display:block}
.page-fh-fair-apply .fh-apply-submit-row{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:24px;
    padding:24px 0 0;
}
.page-fh-fair-apply .fh-apply-submit-row p{display:grid;gap:5px;margin:0}
.page-fh-fair-apply .fh-apply-submit-row p strong{font:1000 12px/1 ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:1px}
.page-fh-fair-apply .fh-apply-submit-row p span{color:var(--fair-muted);font-size:12px;font-weight:700}
.page-fh-fair-apply .fh-apply-submit-row button{
    display:flex;
    align-items:center;
    gap:22px;
    min-height:58px;
    padding:0 22px;
    color:var(--fair-white);
    background:var(--fair-ink);
    border:2px solid var(--fair-ink);
    border-radius:0;
    box-shadow:7px 7px 0 var(--fair-red);
    cursor:pointer;
    font:950 12px/1 inherit;
    text-transform:uppercase;
    letter-spacing:.03em;
    transition:transform .16s ease,box-shadow .16s ease;
}
.page-fh-fair-apply .fh-apply-submit-row button:hover:not(:disabled){transform:translate(-2px,-2px);box-shadow:10px 10px 0 var(--fair-blue)}
.page-fh-fair-apply .fh-apply-submit-row button:disabled{opacity:.45;cursor:not-allowed}
.page-fh-fair-apply .fh-apply-submit-row button.is-loading{pointer-events:none;opacity:.72}

/* Internal participants */
.page-fh-fair-internal .fh-internal-main{
    padding:44px clamp(22px,4.7vw,72px) 110px;
}
.page-fh-fair-internal .fh-internal-hero{
    padding-bottom:34px;
    border-bottom:2px solid var(--fair-ink);
}
.page-fh-fair-internal .fh-internal-title-row{
    display:flex;
    align-items:flex-end;
    justify-content:space-between;
    gap:24px;
}
/* More compact internal participants page title. */
.page-fh-fair-internal .fh-internal-hero h1{
    max-width:820px;
    font-size:clamp(42px,5.3vw,76px);
    line-height:.9;
    letter-spacing:-.045em;
}

.page-fh-fair-internal .fh-internal-title-row>strong{
    display:grid;
    place-items:center;
    flex:0 0 94px;
    height:94px;
    color:var(--fair-white);
    background:var(--fair-red);
    border:2px solid var(--fair-ink);
    box-shadow:8px 8px 0 var(--fair-ink);
    font-size:42px;
}
.page-fh-fair-internal .fh-internal-categories{
    display:grid;
    gap:42px;
    margin-top:36px;
}
.page-fh-fair-internal .fh-internal-category{
    min-width:0;
}
.page-fh-fair-internal .fh-internal-category-head{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:20px;
    margin-bottom:18px;
    padding:0 0 13px;
    border-bottom:2px solid var(--fair-ink);
}
.page-fh-fair-internal .fh-internal-category-head>div{display:flex;align-items:center;gap:12px;min-width:0}
.page-fh-fair-internal .fh-internal-category-head i{font-size:24px}
.page-fh-fair-internal .fh-internal-category-head h2{margin:0;font-size:clamp(32px,4.4vw,58px);line-height:.9;letter-spacing:-.05em;text-transform:uppercase}
.page-fh-fair-internal .fh-internal-category-head>span{
    flex:0 0 auto;
    padding:7px 9px;
    background:var(--fair-acid);
    border:1px solid var(--fair-ink);
    font:950 9px/1 ui-monospace,SFMono-Regular,Menlo,monospace;
    text-transform:uppercase;
}
.page-fh-fair-internal .fh-participant-grid{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:18px;
}
.page-fh-fair-internal .fh-participant-card{
    min-width:0;
    padding:20px;
    background:var(--fair-white);
    border:1.5px solid var(--fair-ink);
    box-shadow:7px 7px 0 var(--fair-ink);
}
.page-fh-fair-internal .fh-participant-brand{
    display:grid;
    grid-template-columns:96px minmax(0,1fr);
    gap:16px;
    align-items:center;
}
.page-fh-fair-internal .fh-participant-brand>a,
.page-fh-fair-internal .fh-participant-initials{
    width:96px;
    height:96px;
    display:grid;
    place-items:center;
    overflow:hidden;
    background:var(--fair-paper);
    border:1.5px solid var(--fair-ink);
}
.page-fh-fair-internal .fh-participant-brand img{width:100%;height:100%;object-fit:contain;display:block;padding:7px;box-sizing:border-box}
.page-fh-fair-internal .fh-participant-initials{font-size:32px;font-weight:1000}
.page-fh-fair-internal .fh-participant-brand>div>span{font:900 9px/1 ui-monospace,SFMono-Regular,Menlo,monospace;color:var(--fair-red)}
.page-fh-fair-internal .fh-participant-brand h3{margin:5px 0 0;font-size:27px;line-height:.95;letter-spacing:-.03em}
.page-fh-fair-internal .fh-participant-brand p{margin:6px 0 0;color:var(--fair-muted);font-size:12px;font-weight:750}
.page-fh-fair-internal .fh-participant-meta{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:7px 13px;
    margin-top:17px;
    padding:13px 0;
    border-top:1px solid var(--fair-line);
    border-bottom:1px solid var(--fair-line);
}
.page-fh-fair-internal .fh-participant-meta span{min-width:0;display:flex;align-items:center;gap:7px;font-size:11px;font-weight:750;overflow-wrap:anywhere}
.page-fh-fair-internal .fh-participant-meta a{color:inherit}
.page-fh-fair-internal .fh-participant-copy{margin-top:15px;font-size:13px;line-height:1.55;font-weight:650}
.page-fh-fair-internal .fh-participant-copy>p{margin:0}
.page-fh-fair-internal .fh-participant-copy aside{margin-top:12px;padding:11px;background:var(--fair-paper);border-left:4px solid var(--fair-orange)}
.page-fh-fair-internal .fh-participant-copy aside strong{display:block;margin-bottom:4px;font-size:9px;text-transform:uppercase;letter-spacing:.08em}
.page-fh-fair-internal .fh-participant-photos{display:grid;grid-template-columns:repeat(5,1fr);gap:5px;margin-top:15px}
.page-fh-fair-internal .fh-participant-photos a{aspect-ratio:1;overflow:hidden;border:1px solid var(--fair-ink)}
.page-fh-fair-internal .fh-participant-photos img{width:100%;height:100%;object-fit:cover;display:block}
.page-fh-fair-internal .fh-participant-card>code{display:block;margin-top:12px;padding:8px;background:#171717;color:#fff;font-size:9px;overflow-wrap:anywhere}
.page-fh-fair-internal .fh-internal-empty{margin:0;padding:24px;background:rgba(255,255,255,.48);border:1.5px dashed var(--fair-ink);font-weight:800}
.page-fh-fair-internal .fh-program-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.page-fh-fair-internal .fh-program-item{display:grid;grid-template-columns:150px minmax(0,1fr);min-height:180px;background:#171717;color:#fff;border:2px solid var(--fair-ink);box-shadow:7px 7px 0 var(--fair-blue)}
.page-fh-fair-internal .fh-program-item>img{width:100%;height:100%;object-fit:cover;min-height:180px}
.page-fh-fair-internal .fh-program-item>div{padding:18px}
.page-fh-fair-internal .fh-program-item span{font:900 9px/1 ui-monospace,SFMono-Regular,Menlo,monospace;color:var(--fair-acid)}
.page-fh-fair-internal .fh-program-item h3{margin:8px 0 4px;font-size:27px;line-height:.95}
.page-fh-fair-internal .fh-program-item strong{font-size:12px;color:var(--fair-pink)}
.page-fh-fair-internal .fh-program-item p{font-size:12px;line-height:1.5}
.page-fh-fair-internal .fh-program-item a{color:#fff;font-weight:800}

@media(max-width:980px){
    .page-fh-fair-apply .fh-apply-main,
    .page-fh-fair-internal .fh-internal-main{padding:92px 22px 80px}
    .page-fh-fair-apply .fh-choice-grid--categories{grid-template-columns:repeat(2,minmax(0,1fr))}
    .page-fh-fair-internal .fh-participant-grid{grid-template-columns:1fr}
}
@media(max-width:700px){
    .page-fh-fair-apply .fh-apply-heading{grid-template-columns:1fr}
    .page-fh-fair-apply .fh-apply-badge{width:104px;justify-self:start}
    .page-fh-fair-apply .fh-apply-badge strong{font-size:48px}
    .page-fh-fair-apply .fh-apply-section{padding:20px;box-shadow:7px 7px 0 var(--fair-ink)}
    .page-fh-fair-apply .fh-apply-fields{grid-template-columns:1fr}
    .page-fh-fair-apply .fh-field--wide{grid-column:auto}
    .page-fh-fair-apply .fh-choice-grid--days{grid-template-columns:1fr}
    .page-fh-fair-apply .fh-day-card>span{min-height:116px}
    .page-fh-fair-apply .fh-upload-grid{grid-template-columns:1fr}
    .page-fh-fair-apply .fh-upload-preview{grid-template-columns:repeat(5,minmax(0,1fr))}
    .page-fh-fair-apply .fh-apply-submit-row{align-items:stretch;flex-direction:column}
    .page-fh-fair-apply .fh-apply-submit-row button{justify-content:space-between;width:100%}
    .page-fh-fair-internal .fh-internal-title-row{align-items:flex-start;flex-direction:column}
    .page-fh-fair-internal .fh-internal-title-row>strong{flex-basis:auto;width:76px;height:76px}
    .page-fh-fair-internal .fh-program-grid{grid-template-columns:1fr}
}
@media(max-width:520px){
    .page-fh-fair-apply .fh-apply-main,
    .page-fh-fair-internal .fh-internal-main{padding-left:16px;padding-right:16px}
    .page-fh-fair-apply .fh-apply-hero .fh-back{margin-bottom:38px}
    .page-fh-fair-apply .fh-apply-heading h1{font-size:clamp(49px,15vw,72px)}
    .page-fh-fair-internal .fh-internal-hero h1{font-size:clamp(34px,10vw,50px);line-height:.94;letter-spacing:-.035em}
    .page-fh-fair-apply .fh-choice-grid--categories{grid-template-columns:1fr 1fr;gap:8px}
    .page-fh-fair-apply .fh-choice-card-inner{min-height:112px;padding:14px}
    .page-fh-fair-apply .fh-choice-card-inner strong{font-size:16px}
    .page-fh-fair-apply .fh-upload-preview{grid-template-columns:repeat(3,1fr)}
    .page-fh-fair-internal .fh-participant-brand{grid-template-columns:72px minmax(0,1fr)}
    .page-fh-fair-internal .fh-participant-brand>a,
    .page-fh-fair-internal .fh-participant-initials{width:72px;height:72px}
    .page-fh-fair-internal .fh-participant-meta{grid-template-columns:1fr}
    .page-fh-fair-internal .fh-participant-photos{grid-template-columns:repeat(3,1fr)}
    .page-fh-fair-internal .fh-program-item{grid-template-columns:1fr}
    .page-fh-fair-internal .fh-program-item>img{height:220px;min-height:0}
}


/* =========================================================
   FH FAIR — CATEGORY CARDS / FINAL
   Every category card has exactly the same size.
   accepts_applications = 0 is clearly INACTIVE.
   ========================================================= */
.page-fh-fair-apply .fh-choice-grid--categories{
    align-items:stretch;
}

.page-fh-fair-apply .fh-choice-grid--categories .fh-choice-card{
    height:144px;
}

.page-fh-fair-apply .fh-choice-grid--categories .fh-choice-card-inner{
    min-height:0;
    height:144px;
    box-sizing:border-box;
    overflow:hidden;
}

/* Inactive/program category */
.page-fh-fair-apply .fh-choice-card--disabled{
    cursor:not-allowed;
}

.page-fh-fair-apply .fh-choice-card--disabled .fh-choice-card-inner{
    color:#696969;
    background:#d7d7d4;
    border:2px dashed #8a8a87;
    box-shadow:6px 6px 0 #a3a3a0;
    filter:none;
    opacity:1;
    transform:none;
}

.page-fh-fair-apply .fh-choice-card--disabled:hover .fh-choice-card-inner{
    background:#d7d7d4;
    transform:none;
    box-shadow:6px 6px 0 #a3a3a0;
}

.page-fh-fair-apply .fh-choice-card--disabled .fh-choice-card-inner>i{
    color:#7b7b78;
}

.page-fh-fair-apply .fh-choice-card--disabled .fh-choice-card-inner strong{
    color:#5d5d5a;
}

.page-fh-fair-apply .fh-choice-card--disabled .fh-choice-card-slug{
    display:none;
}

.page-fh-fair-apply .fh-choice-card-status{
    position:absolute;
    top:12px;
    right:12px;
    display:inline-flex;
    align-items:center;
    gap:5px;
    width:max-content;
    max-width:calc(100% - 60px);
    margin:0;
    padding:5px 7px;
    color:#f7f7f4 !important;
    background:#777774;
    border:1px solid #656562;
    font:1000 7px/1 ui-monospace,SFMono-Regular,Menlo,monospace !important;
    letter-spacing:.45px !important;
    white-space:nowrap;
}

.page-fh-fair-apply .fh-choice-card-status i{
    font-size:7px;
}

.page-fh-fair-apply .fh-choice-card-note{
    display:block;
    margin-top:5px;
    color:#5f5f5c;
    font-size:9px;
    line-height:1.15;
    font-weight:850;
    letter-spacing:0;
    text-transform:none;
    white-space:normal;
}

.page-fh-fair-apply .fh-choice-card--disabled input:focus-visible + .fh-choice-card-inner{
    outline:3px solid var(--fair-blue);
    outline-offset:3px;
}

@media(max-width:520px){
    .page-fh-fair-apply .fh-choice-grid--categories .fh-choice-card,
    .page-fh-fair-apply .fh-choice-grid--categories .fh-choice-card-inner{
        height:126px;
    }

    .page-fh-fair-apply .fh-choice-card-status{
        top:9px;
        right:9px;
        max-width:calc(100% - 48px);
        padding:4px 5px;
        font-size:6px !important;
    }

    .page-fh-fair-apply .fh-choice-card-note{
        font-size:8px;
        line-height:1.1;
    }
}

/* =========================================================
   FH FAIR VOL.4 APPLY — ART NAIVE / POSTER EDITION
   Inspired by the Vol.4 call poster: warm paper, red grid,
   primary blue/red type, hand-drawn organic shapes.
   Scoped ONLY to fh-fair-apply.php.
   ========================================================= */
.page-fh-fair-apply{
    --naive-paper:#fffdf8;
    --naive-grid:rgba(225,79,70,.12);
    --naive-red:#ef4f46;
    --naive-blue:#3850ad;
    --naive-green:#758f68;
    --naive-sage:#b8c4a9;
    --naive-aqua:#b7dfe1;
    --naive-pink:#ef9fc4;
    --naive-yellow:#f4dc14;
    --naive-black:#292727;
    --naive-soft:#f6eee4;
    background:var(--naive-paper);
}

.page-fh-fair-apply .fh-apply-main{
    position:relative;
    isolation:isolate;
    overflow:hidden;
    background-color:var(--naive-paper);
    background-image:
        linear-gradient(var(--naive-grid) 1px,transparent 1px),
        linear-gradient(90deg,var(--naive-grid) 1px,transparent 1px);
    background-size:54px 54px;
}

/* Abstract painted garden at the page edges — CSS only, so the form stays fast. */
.page-fh-fair-apply .fh-apply-main::before{
    content:"";
    position:absolute;
    z-index:0;
    left:-8vw;
    bottom:5%;
    width:min(52vw,720px);
    height:360px;
    opacity:.58;
    pointer-events:none;
    background:
        radial-gradient(ellipse at 19% 77%,var(--naive-aqua) 0 17%,transparent 17.5%),
        radial-gradient(ellipse at 40% 58%,#d6d8c7 0 16%,transparent 16.5%),
        radial-gradient(ellipse at 57% 73%,#c5b886 0 15%,transparent 15.5%),
        radial-gradient(ellipse at 23% 42%,var(--naive-sage) 0 13%,transparent 13.5%),
        radial-gradient(circle at 14% 30%,rgba(239,79,70,.85) 0 2.2%,transparent 2.7%),
        radial-gradient(circle at 19% 22%,rgba(56,80,173,.9) 0 2%,transparent 2.5%),
        radial-gradient(circle at 29% 33%,rgba(239,79,70,.85) 0 2%,transparent 2.5%),
        radial-gradient(circle at 34% 18%,rgba(56,80,173,.9) 0 2%,transparent 2.5%);
    filter:saturate(.88);
    transform:rotate(-5deg);
}

.page-fh-fair-apply .fh-apply-main::after{
    content:"";
    position:absolute;
    z-index:0;
    right:-9vw;
    top:16%;
    width:min(42vw,590px);
    height:420px;
    opacity:.54;
    pointer-events:none;
    background:
        radial-gradient(ellipse at 57% 56%,#6f8258 0 21%,transparent 21.5%),
        radial-gradient(ellipse at 75% 73%,#c8c08a 0 17%,transparent 17.5%),
        radial-gradient(circle at 35% 28%,var(--naive-red) 0 2.2%,transparent 2.7%),
        radial-gradient(circle at 42% 22%,var(--naive-red) 0 2.2%,transparent 2.7%),
        radial-gradient(circle at 49% 31%,var(--naive-red) 0 2.2%,transparent 2.7%),
        radial-gradient(circle at 61% 18%,var(--naive-yellow) 0 3.2%,transparent 3.7%),
        radial-gradient(circle at 68% 30%,var(--naive-yellow) 0 3%,transparent 3.5%),
        radial-gradient(circle at 76% 22%,var(--naive-yellow) 0 2.8%,transparent 3.3%);
    transform:rotate(6deg);
}

.page-fh-fair-apply .fh-apply-hero,
.page-fh-fair-apply .fh-apply-wrap{
    z-index:2;
}

.page-fh-fair-apply .fh-apply-hero .fh-back{
    color:var(--naive-blue);
    background:#fff;
    border:2px solid var(--naive-blue);
    border-radius:18px 12px 20px 11px / 13px 20px 12px 18px;
    box-shadow:5px 5px 0 rgba(239,79,70,.72);
    transform:rotate(-1deg);
}

.page-fh-fair-apply .fh-apply-hero .fh-back:hover{
    box-shadow:8px 8px 0 rgba(239,79,70,.72);
}

.page-fh-fair-apply .fh-apply-heading{
    position:relative;
    align-items:center;
    padding:18px 0 46px;
    border-bottom:0;
}

.page-fh-fair-apply .fh-apply-heading::after{
    content:"";
    position:absolute;
    left:0;
    right:0;
    bottom:12px;
    height:10px;
    background:
        radial-gradient(ellipse at center,var(--naive-blue) 0 58%,transparent 61%) 0 50%/26px 8px repeat-x;
    opacity:.9;
    transform:rotate(-.45deg);
}

.page-fh-fair-apply .fh-apply-kicker{
    display:inline-block;
    margin:0 0 14px 7px;
    padding:7px 12px 6px;
    color:#fff;
    background:var(--naive-red);
    border-radius:14px 9px 13px 8px / 9px 14px 9px 13px;
    font-family:ui-monospace,SFMono-Regular,Menlo,monospace;
    letter-spacing:1.15px;
    transform:rotate(-1.4deg);
}

.page-fh-fair-apply .fh-apply-heading h1{
    max-width:820px;
    color:var(--naive-red);
    font-family:"Arial Black","Trebuchet MS",system-ui,sans-serif;
    font-size:clamp(58px,8.2vw,118px);
    line-height:.87;
    letter-spacing:-.055em;
    text-shadow:3px 3px 0 rgba(239,79,70,.11);
    transform:rotate(-.35deg);
}

.page-fh-fair-apply .fh-apply-heading p{
    max-width:790px;
    margin-top:28px;
    padding:18px 22px;
    color:var(--naive-blue);
    background:rgba(255,255,255,.7);
    border:2px solid rgba(56,80,173,.28);
    border-radius:28px 18px 30px 17px / 19px 29px 17px 27px;
    font-family:"Trebuchet MS",system-ui,sans-serif;
    font-size:clamp(17px,1.65vw,21px);
    line-height:1.52;
    font-weight:900;
    box-shadow:8px 9px 0 rgba(184,196,169,.55);
}

.page-fh-fair-apply .fh-apply-badge{
    position:relative;
    width:154px;
    aspect-ratio:1;
    color:#fff;
    background:var(--naive-blue);
    border:0;
    border-radius:44% 56% 46% 54% / 59% 41% 59% 41%;
    box-shadow:none;
    transform:rotate(6deg);
}

.page-fh-fair-apply .fh-apply-badge::before{
    content:"";
    position:absolute;
    inset:-12px;
    z-index:-1;
    border:4px dotted var(--naive-red);
    border-radius:47% 53% 59% 41% / 53% 44% 56% 47%;
    transform:rotate(-8deg);
}

.page-fh-fair-apply .fh-apply-badge strong{
    font-family:"Arial Black",system-ui,sans-serif;
    font-size:68px;
}

.page-fh-fair-apply .fh-apply-badge span{
    padding:4px 8px;
    color:var(--naive-black);
    background:var(--naive-yellow);
    border-radius:8px 13px 7px 12px;
    letter-spacing:.9px;
    transform:rotate(-4deg);
}

.page-fh-fair-apply .fh-apply-wrap{
    margin-top:28px;
}

.page-fh-fair-apply .fh-apply-form{
    gap:34px;
}

.page-fh-fair-apply .fh-apply-section{
    position:relative;
    padding:34px;
    overflow:visible;
    background:rgba(255,253,248,.94);
    border:2.5px solid var(--naive-blue);
    border-radius:34px 22px 31px 19px / 24px 35px 20px 32px;
    box-shadow:13px 13px 0 rgba(239,79,70,.73);
    transform:rotate(-.12deg);
}

.page-fh-fair-apply .fh-apply-section:nth-of-type(2){
    border-color:var(--naive-red);
    border-radius:22px 38px 20px 35px / 33px 22px 37px 20px;
    box-shadow:13px 13px 0 rgba(56,80,173,.72);
    transform:rotate(.13deg);
}

.page-fh-fair-apply .fh-apply-section:nth-of-type(3){
    border-color:var(--naive-blue);
    border-radius:38px 20px 34px 23px / 23px 36px 21px 34px;
    box-shadow:13px 13px 0 rgba(244,220,20,.85);
}

.page-fh-fair-apply .fh-apply-section:nth-of-type(4){
    border-color:var(--naive-green);
    border-radius:24px 35px 26px 40px / 37px 22px 39px 25px;
    box-shadow:13px 13px 0 rgba(239,159,196,.72);
    transform:rotate(.1deg);
}

.page-fh-fair-apply .fh-apply-section:nth-of-type(5){
    border-color:var(--naive-red);
    border-radius:39px 22px 30px 20px / 23px 38px 21px 34px;
    box-shadow:13px 13px 0 rgba(183,223,225,.92);
    transform:rotate(-.08deg);
}

.page-fh-fair-apply .fh-apply-section::after{
    position:absolute;
    z-index:3;
    right:22px;
    top:-24px;
    display:grid;
    place-items:center;
    width:54px;
    height:54px;
    color:var(--naive-red);
    background:#fff;
    border:3px solid currentColor;
    border-radius:50% 46% 54% 49%;
    font-size:26px;
    font-weight:900;
    line-height:1;
    transform:rotate(9deg);
}

.page-fh-fair-apply .fh-apply-section:nth-of-type(1)::after{content:"✿";color:var(--naive-red)}
.page-fh-fair-apply .fh-apply-section:nth-of-type(2)::after{content:"✦";color:var(--naive-blue)}
.page-fh-fair-apply .fh-apply-section:nth-of-type(3)::after{content:"●";color:var(--naive-yellow);text-shadow:0 0 0 var(--naive-black);border-color:var(--naive-green)}
.page-fh-fair-apply .fh-apply-section:nth-of-type(4)::after{content:"✿";color:var(--naive-pink)}
.page-fh-fair-apply .fh-apply-section:nth-of-type(5)::after{content:"✹";color:var(--naive-red)}

.page-fh-fair-apply .fh-apply-section-head{
    gap:20px;
    align-items:center;
    margin-bottom:30px;
    padding-bottom:21px;
    border-bottom:0;
    background:
        radial-gradient(ellipse at center,rgba(56,80,173,.72) 0 48%,transparent 52%) 0 100%/20px 4px repeat-x;
}

.page-fh-fair-apply .fh-apply-section-head>span{
    flex-basis:56px;
    height:56px;
    color:#fff;
    background:var(--naive-red);
    border-radius:47% 53% 45% 55% / 55% 44% 56% 45%;
    box-shadow:4px 5px 0 var(--naive-blue);
    font-size:14px;
    transform:rotate(-7deg);
}

.page-fh-fair-apply .fh-apply-section:nth-of-type(even) .fh-apply-section-head>span{
    background:var(--naive-blue);
    box-shadow:4px 5px 0 var(--naive-red);
    transform:rotate(6deg);
}

.page-fh-fair-apply .fh-apply-section-head h2{
    color:var(--naive-blue);
    font-family:"Arial Black","Trebuchet MS",system-ui,sans-serif;
    font-size:clamp(29px,3.15vw,46px);
    line-height:.95;
    letter-spacing:-.035em;
}

.page-fh-fair-apply .fh-apply-section:nth-of-type(even) .fh-apply-section-head h2{
    color:var(--naive-red);
}

.page-fh-fair-apply .fh-apply-section-head p{
    margin-top:8px;
    color:#666158;
    font-family:"Trebuchet MS",system-ui,sans-serif;
    font-size:11.5px;
    line-height:1.45;
    font-weight:850;
}

.page-fh-fair-apply .fh-field{
    gap:9px;
}

.page-fh-fair-apply .fh-field>span{
    color:var(--naive-black);
    font-family:"Trebuchet MS",system-ui,sans-serif;
    font-size:13px;
    font-weight:950;
    letter-spacing:.025em;
}

.page-fh-fair-apply .fh-field>span em{
    color:var(--naive-red);
}

.page-fh-fair-apply .fh-field input,
.page-fh-fair-apply .fh-field textarea{
    padding:15px 17px;
    color:var(--naive-black);
    background:rgba(255,255,255,.94);
    border:2px solid rgba(56,80,173,.83);
    border-radius:18px 12px 17px 11px / 12px 18px 10px 17px;
    font-size:15px;
    font-weight:750;
    box-shadow:3px 4px 0 rgba(184,196,169,.52);
}

.page-fh-fair-apply .fh-field:nth-child(3n+2) input,
.page-fh-fair-apply .fh-field:nth-child(3n+2) textarea{
    border-color:rgba(239,79,70,.78);
    border-radius:12px 19px 10px 18px / 18px 11px 19px 10px;
}

.page-fh-fair-apply .fh-field input:focus,
.page-fh-fair-apply .fh-field textarea:focus{
    background:#fff;
    border-color:var(--naive-blue);
    box-shadow:5px 6px 0 rgba(239,79,70,.62);
    transform:translate(-1px,-1px) rotate(-.08deg);
}

.page-fh-fair-apply .fh-field-icon i{
    color:var(--naive-red);
}

.page-fh-fair-apply .fh-field>small{
    color:#716c63;
    font-family:"Trebuchet MS",system-ui,sans-serif;
}

.page-fh-fair-apply .fh-choice-grid{
    gap:15px;
}

.page-fh-fair-apply .fh-choice-grid--categories .fh-choice-card,
.page-fh-fair-apply .fh-choice-grid--categories .fh-choice-card-inner{
    height:154px;
}

.page-fh-fair-apply .fh-choice-card-inner{
    position:relative;
    padding:19px;
    overflow:hidden;
    color:var(--naive-black);
    background:#f6eee4;
    border:2px solid var(--naive-blue);
    border-radius:28px 15px 26px 17px / 18px 29px 16px 26px;
    box-shadow:4px 5px 0 rgba(56,80,173,.14);
}

.page-fh-fair-apply .fh-choice-card:nth-child(4n+2) .fh-choice-card-inner{
    background:#eef1e8;
    border-color:var(--naive-green);
    border-radius:16px 29px 18px 27px / 28px 17px 29px 16px;
}

.page-fh-fair-apply .fh-choice-card:nth-child(4n+3) .fh-choice-card-inner{
    background:#f6e7e1;
    border-color:var(--naive-red);
}

.page-fh-fair-apply .fh-choice-card:nth-child(4n+4) .fh-choice-card-inner{
    background:#edf1f8;
    border-color:var(--naive-blue);
    border-radius:30px 17px 29px 15px / 17px 31px 16px 28px;
}

.page-fh-fair-apply .fh-choice-card-inner::after{
    content:"";
    position:absolute;
    right:-18px;
    bottom:-24px;
    width:78px;
    height:78px;
    border:7px dotted rgba(239,79,70,.32);
    border-radius:50%;
    pointer-events:none;
}

.page-fh-fair-apply .fh-choice-card-inner>i{
    color:var(--naive-blue);
    font-size:26px;
}

.page-fh-fair-apply .fh-choice-card-inner strong{
    position:relative;
    z-index:1;
    color:var(--naive-blue);
    font-family:"Arial Black","Trebuchet MS",system-ui,sans-serif;
    font-size:19px;
}

.page-fh-fair-apply .fh-choice-card-inner>span{
    position:relative;
    z-index:1;
}

.page-fh-fair-apply .fh-choice-card:hover .fh-choice-card-inner{
    box-shadow:6px 7px 0 rgba(239,79,70,.58);
    transform:translate(-2px,-2px) rotate(-.2deg);
}

.page-fh-fair-apply .fh-choice-card input:checked+.fh-choice-card-inner{
    color:#fff;
    background:var(--naive-blue);
    border-color:var(--naive-blue);
    box-shadow:8px 8px 0 var(--naive-red);
    transform:translate(-2px,-2px) rotate(-.35deg);
}

.page-fh-fair-apply .fh-choice-card input:checked+.fh-choice-card-inner strong,
.page-fh-fair-apply .fh-choice-card input:checked+.fh-choice-card-inner>i,
.page-fh-fair-apply .fh-choice-card input:checked+.fh-choice-card-inner>span{
    color:#fff;
}

.page-fh-fair-apply .fh-choice-card--disabled .fh-choice-card-inner,
.page-fh-fair-apply .fh-choice-card--disabled:hover .fh-choice-card-inner{
    color:#77726c;
    background:#ebe8e2;
    border:2px dashed #aaa39a;
    border-radius:22px 15px 25px 17px / 16px 26px 14px 24px;
    box-shadow:4px 5px 0 rgba(120,115,108,.18);
    transform:none;
}

.page-fh-fair-apply .fh-choice-card--disabled .fh-choice-card-inner strong{
    color:#6e6962;
}

.page-fh-fair-apply .fh-choice-card--disabled .fh-choice-card-inner>i{
    color:#8a847c;
}

.page-fh-fair-apply .fh-choice-card-status{
    color:#fff !important;
    background:#8f8981;
    border:0;
    border-radius:10px 7px 11px 7px;
}

.page-fh-fair-apply .fh-choice-grid--days{
    gap:18px;
}

.page-fh-fair-apply .fh-day-card>span{
    min-height:166px;
    padding:22px;
    overflow:hidden;
    background:#fff;
    border:2px solid var(--naive-red);
    border-radius:31px 17px 29px 19px / 19px 30px 18px 27px;
    box-shadow:5px 6px 0 rgba(239,79,70,.18);
}

.page-fh-fair-apply .fh-day-card:nth-child(2)>span{
    border-color:var(--naive-blue);
    border-radius:18px 32px 17px 28px / 29px 18px 31px 16px;
}

.page-fh-fair-apply .fh-day-card--both>span{
    background:#f2f4ea;
    border-color:var(--naive-green);
}

.page-fh-fair-apply .fh-day-card b{
    color:var(--naive-red);
    font-family:"Arial Black",ui-monospace,monospace;
    font-size:38px;
}

.page-fh-fair-apply .fh-day-card:nth-child(2) b{
    color:var(--naive-blue);
}

.page-fh-fair-apply .fh-day-card strong{
    color:var(--naive-blue);
    font-family:"Arial Black","Trebuchet MS",system-ui,sans-serif;
    font-size:23px;
}

.page-fh-fair-apply .fh-day-card i{
    display:grid;
    place-items:center;
    width:38px;
    height:38px;
    color:#fff;
    background:var(--naive-red);
    border-radius:49% 51% 44% 56%;
    font-size:17px;
}

.page-fh-fair-apply .fh-day-card:nth-child(2) i{background:var(--naive-blue)}
.page-fh-fair-apply .fh-day-card--both i{background:var(--naive-green)}

.page-fh-fair-apply .fh-day-card input:checked+span{
    color:var(--naive-black);
    background:#fff6a8;
    border-color:var(--naive-blue);
    box-shadow:8px 8px 0 var(--naive-blue);
    transform:translate(-2px,-2px) rotate(-.25deg);
}

.page-fh-fair-apply .fh-day-card--both input:checked+span{
    color:#fff;
    background:var(--naive-red);
    border-color:var(--naive-red);
    box-shadow:8px 8px 0 var(--naive-blue);
}

.page-fh-fair-apply .fh-upload-grid{
    gap:20px;
}

.page-fh-fair-apply .fh-upload-box{
    min-height:260px;
    padding:24px;
    background:#f3f0df;
    border:2px dashed var(--naive-green);
    border-radius:34px 18px 32px 20px / 20px 34px 18px 31px;
}

.page-fh-fair-apply .fh-upload-box--photos{
    background:#f7e7e4;
    border-color:var(--naive-red);
    border-radius:20px 35px 18px 32px / 34px 19px 36px 17px;
}

.page-fh-fair-apply .fh-upload-box:hover{
    background:#fff;
    box-shadow:8px 8px 0 rgba(56,80,173,.58);
    transform:translate(-2px,-2px) rotate(-.15deg);
}

.page-fh-fair-apply .fh-upload-icon{
    width:62px;
    height:62px;
    color:#fff;
    background:var(--naive-blue);
    border:0;
    border-radius:45% 55% 49% 51% / 57% 43% 58% 42%;
    box-shadow:5px 5px 0 var(--naive-yellow);
    font-size:24px;
    transform:rotate(-6deg);
}

.page-fh-fair-apply .fh-upload-box--photos .fh-upload-icon{
    background:var(--naive-red);
    box-shadow:5px 5px 0 var(--naive-blue);
    transform:rotate(5deg);
}

.page-fh-fair-apply .fh-upload-box>strong{
    color:var(--naive-blue);
    font-family:"Arial Black","Trebuchet MS",system-ui,sans-serif;
    font-size:27px;
}

.page-fh-fair-apply .fh-upload-box--photos>strong{
    color:var(--naive-red);
}

.page-fh-fair-apply .fh-upload-preview span{
    border:2px solid var(--naive-blue);
    border-radius:14px 9px 13px 8px;
    background:#fff;
}

.page-fh-fair-apply .fh-apply-submit-row{
    position:relative;
    margin-top:4px;
    padding:32px 8px 8px;
}

.page-fh-fair-apply .fh-apply-submit-row::before{
    content:"";
    position:absolute;
    left:0;
    top:4px;
    width:42%;
    height:10px;
    background:radial-gradient(circle,var(--naive-red) 0 3px,transparent 3.5px) 0 50%/17px 10px repeat-x;
    opacity:.85;
}

.page-fh-fair-apply .fh-apply-submit-row p strong{
    color:var(--naive-blue);
}

.page-fh-fair-apply .fh-apply-submit-row button{
    min-height:66px;
    padding:0 27px;
    color:#fff;
    background:var(--naive-red);
    border:2px solid var(--naive-red);
    border-radius:22px 14px 24px 13px / 14px 23px 13px 22px;
    box-shadow:8px 9px 0 var(--naive-blue);
    font-family:"Arial Black","Trebuchet MS",system-ui,sans-serif;
    font-size:13px;
    letter-spacing:.015em;
    transform:rotate(-.65deg);
}

.page-fh-fair-apply .fh-apply-submit-row button:hover:not(:disabled){
    background:var(--naive-blue);
    border-color:var(--naive-blue);
    box-shadow:10px 11px 0 var(--naive-red);
    transform:translate(-2px,-2px) rotate(.25deg);
}

.page-fh-fair-apply .fh-apply-notice{
    border:2px solid var(--naive-blue);
    border-radius:22px 15px 24px 14px / 15px 23px 14px 22px;
    box-shadow:7px 7px 0 var(--naive-red);
}

.page-fh-fair-apply .fh-apply-notice--success{
    background:#edf3c9;
}

.page-fh-fair-apply .fh-apply-notice--error{
    background:#f9ddd9;
}

/* Fee modal: same poster language, not the generic rounded modal. */
.page-fh-fair-apply .fh-fee-modal{
    background:rgba(44,39,34,.48) !important;
    backdrop-filter:blur(5px) !important;
}

.page-fh-fair-apply .fh-fee-modal-card{
    width:min(100%,540px) !important;
    padding:30px !important;
    background-color:#fffdf8 !important;
    background-image:
        linear-gradient(rgba(239,79,70,.10) 1px,transparent 1px),
        linear-gradient(90deg,rgba(239,79,70,.10) 1px,transparent 1px) !important;
    background-size:34px 34px !important;
    border:2px solid var(--naive-blue) !important;
    border-radius:30px 18px 28px 17px / 19px 31px 17px 29px !important;
    box-shadow:12px 12px 0 var(--naive-red) !important;
}

.page-fh-fair-apply .fh-fee-modal-card::before{
    width:120px !important;
    height:120px !important;
    right:-40px !important;
    top:-45px !important;
    background:var(--naive-yellow) !important;
    border-radius:47% 53% 44% 56% !important;
    opacity:.88;
}

.page-fh-fair-apply .fh-fee-modal-icon{
    background:var(--naive-blue) !important;
    border-radius:48% 52% 46% 54% !important;
    box-shadow:4px 5px 0 var(--naive-red);
    transform:rotate(-6deg);
}

.page-fh-fair-apply .fh-fee-modal-card h3{
    color:var(--naive-red) !important;
    font-family:"Arial Black","Trebuchet MS",system-ui,sans-serif;
    letter-spacing:-.03em !important;
}

.page-fh-fair-apply .fh-fee-modal-card p{
    color:var(--naive-blue) !important;
    font-family:"Trebuchet MS",system-ui,sans-serif;
    font-weight:800;
}

.page-fh-fair-apply .fh-fee-modal-ok{
    color:#fff !important;
    background:var(--naive-red) !important;
    border:2px solid var(--naive-red) !important;
    border-radius:15px 9px 16px 8px !important;
    box-shadow:5px 5px 0 var(--naive-blue);
    font-weight:950 !important;
}

.page-fh-fair-apply .fh-fee-modal-close{
    color:#fff !important;
    background:var(--naive-blue) !important;
    border-radius:46% 54% 48% 52% !important;
}

.page-fh-fair-apply .fh-choice-grid--days.is-missing .fh-day-card>span{
    outline:3px solid var(--naive-red) !important;
    outline-offset:4px !important;
}

@media(max-width:980px){
    .page-fh-fair-apply .fh-apply-main::before,
    .page-fh-fair-apply .fh-apply-main::after{
        opacity:.34;
    }
}

@media(max-width:700px){
    .page-fh-fair-apply .fh-apply-heading{
        gap:28px;
        padding-top:5px;
    }

    .page-fh-fair-apply .fh-apply-heading h1{
        font-size:clamp(50px,14vw,82px);
    }

    .page-fh-fair-apply .fh-apply-badge{
        width:112px;
    }

    .page-fh-fair-apply .fh-apply-badge strong{
        font-size:50px;
    }

    .page-fh-fair-apply .fh-apply-section{
        padding:22px;
        border-radius:25px 16px 24px 15px / 17px 25px 15px 23px;
        box-shadow:8px 8px 0 rgba(239,79,70,.67);
        transform:none !important;
    }

    .page-fh-fair-apply .fh-apply-section:nth-of-type(2){box-shadow:8px 8px 0 rgba(56,80,173,.68)}
    .page-fh-fair-apply .fh-apply-section:nth-of-type(3){box-shadow:8px 8px 0 rgba(244,220,20,.86)}
    .page-fh-fair-apply .fh-apply-section:nth-of-type(4){box-shadow:8px 8px 0 rgba(239,159,196,.68)}
    .page-fh-fair-apply .fh-apply-section:nth-of-type(5){box-shadow:8px 8px 0 rgba(183,223,225,.95)}

    .page-fh-fair-apply .fh-apply-section::after{
        width:44px;
        height:44px;
        right:15px;
        top:-19px;
        font-size:21px;
    }

    .page-fh-fair-apply .fh-apply-section-head{
        gap:14px;
    }

    .page-fh-fair-apply .fh-apply-section-head>span{
        flex-basis:48px;
        height:48px;
    }

    .page-fh-fair-apply .fh-upload-box{
        min-height:230px;
    }
}

@media(max-width:520px){
    .page-fh-fair-apply .fh-apply-main{
        background-size:38px 38px;
    }

    .page-fh-fair-apply .fh-apply-main::before,
    .page-fh-fair-apply .fh-apply-main::after{
        display:none;
    }

    .page-fh-fair-apply .fh-apply-heading p{
        padding:15px 16px;
        border-radius:20px 13px 21px 12px / 13px 21px 12px 20px;
        box-shadow:6px 6px 0 rgba(184,196,169,.5);
        font-size:15.5px;
    }

    .page-fh-fair-apply .fh-choice-grid--categories{
        grid-template-columns:1fr 1fr;
        gap:10px;
    }

    .page-fh-fair-apply .fh-choice-grid--categories .fh-choice-card,
    .page-fh-fair-apply .fh-choice-grid--categories .fh-choice-card-inner{
        height:134px;
    }

    .page-fh-fair-apply .fh-choice-card-inner{
        padding:14px;
    }

    .page-fh-fair-apply .fh-choice-card-inner strong{
        font-size:15px;
    }

    .page-fh-fair-apply .fh-choice-card-inner>i{
        font-size:21px;
    }

    .page-fh-fair-apply .fh-day-card>span{
        min-height:132px;
        padding:18px;
    }

    .page-fh-fair-apply .fh-day-card b{
        font-size:32px;
    }

    .page-fh-fair-apply .fh-day-card strong{
        font-size:20px;
    }

    .page-fh-fair-apply .fh-apply-submit-row{
        padding-left:0;
        padding-right:0;
    }

    .page-fh-fair-apply .fh-apply-submit-row button{
        min-height:62px;
        transform:none;
    }

    .page-fh-fair-apply .fh-fee-modal-card{
        border-radius:24px 14px 23px 13px / 15px 24px 13px 22px !important;
        box-shadow:8px 8px 0 var(--naive-red) !important;
    }
}

/* Instagram input: keep the icon clear of the placeholder/value */
.page-fh-fair-apply .fh-field .fh-field-icon input{
    padding-left:50px;
}

.page-fh-fair-apply .fh-field .fh-field-icon i{
    left:17px;
    z-index:2;
    pointer-events:none;
}

/* =========================================================
   FH FAIR VOL.4 — PROGRAM CARDS
   Static + DB program items on the Vol.4 internal/program page.
   Keeps the same paper / ink / acid / blue visual language.
   ========================================================= */
.page-fh-fair-internal .ff4-db-warning{
    margin:0 0 28px;
    padding:18px 20px;
    color:var(--fair-ink);
    background:var(--fair-acid);
    border:2px solid var(--fair-ink);
    box-shadow:7px 7px 0 var(--fair-red);
}

.page-fh-fair-internal .ff4-db-warning strong{
    display:block;
    margin-bottom:6px;
    font-size:16px;
}

.page-fh-fair-internal .ff4-db-warning p{
    margin:0;
    font-size:12px;
    line-height:1.5;
}

.page-fh-fair-internal .ff4-db-warning code{
    display:block;
    margin-top:10px;
    white-space:normal;
    overflow-wrap:anywhere;
    font-size:10px;
    opacity:.72;
}

.page-fh-fair-internal .fh-program-section-label{
    display:flex;
    align-items:center;
    gap:9px;
    width:max-content;
    margin:22px 0 15px;
    padding:7px 9px;
    color:var(--fair-white);
    background:var(--fair-ink);
    font:900 9px/1 ui-monospace,SFMono-Regular,Menlo,monospace;
    letter-spacing:1.1px;
    text-transform:uppercase;
}

.page-fh-fair-internal .fh-program-section-label i{
    color:var(--fair-acid);
}

.page-fh-fair-internal .fh-program-grid{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:20px;
    margin-top:16px;
}

.page-fh-fair-internal .fh-program-item{
    position:relative;
    display:grid;
    grid-template-columns:minmax(155px,.82fr) minmax(0,1.18fr);
    min-width:0;
    min-height:230px;
    overflow:hidden;
    color:#fff;
    background:#171717;
    border:2px solid var(--fair-ink);
    box-shadow:8px 8px 0 var(--fair-blue);
}

.page-fh-fair-internal .fh-program-item:nth-child(even){
    box-shadow:8px 8px 0 var(--fair-red);
}

.page-fh-fair-internal .fh-program-visual{
    position:relative;
    min-width:0;
    min-height:230px;
    overflow:hidden;
    display:grid;
    place-items:center;
    color:var(--fair-ink);
    background:var(--fair-paper-2);
    border-right:1px solid rgba(255,255,255,.26);
}

.page-fh-fair-internal .fh-program-visual img{
    width:100%;
    height:100%;
    min-height:230px;
    display:block;
    object-fit:cover;
    transition:transform .4s cubic-bezier(.2,.8,.2,1),filter .3s ease;
}

.page-fh-fair-internal .fh-program-item:hover .fh-program-visual img{
    transform:scale(1.045);
    filter:saturate(1.05) contrast(1.02);
}

/* Logos/program marks should remain fully visible instead of being photo-cropped. */
.page-fh-fair-internal .fh-program-visual--contain{
    padding:14px;
    background:#fff;
}

.page-fh-fair-internal .fh-program-visual--contain img{
    min-height:0;
    object-fit:contain;
}

.page-fh-fair-internal .fh-program-item:hover .fh-program-visual--contain img{
    transform:scale(1.02);
    filter:none;
}

.page-fh-fair-internal .fh-program-visual--icon{
    min-height:230px;
    font-size:clamp(48px,6vw,78px);
    background:
        linear-gradient(90deg,rgba(17,17,15,.08) 1px,transparent 1px),
        linear-gradient(rgba(17,17,15,.08) 1px,transparent 1px),
        var(--fair-acid);
    background-size:24px 24px;
}

.page-fh-fair-internal .fh-program-visual--icon i{
    width:1.55em;
    height:1.55em;
    display:grid;
    place-items:center;
    border:2px solid var(--fair-ink);
    border-radius:50%;
    background:var(--fair-white);
    box-shadow:6px 6px 0 var(--fair-ink);
    transform:rotate(-6deg);
}

.page-fh-fair-internal .fh-program-badge{
    position:absolute;
    z-index:2;
    left:12px;
    top:12px;
    max-width:calc(100% - 24px);
    padding:7px 9px;
    color:var(--fair-ink) !important;
    background:var(--fair-acid);
    border:1px solid var(--fair-ink);
    box-shadow:4px 4px 0 var(--fair-ink);
    font:1000 8px/1.15 ui-monospace,SFMono-Regular,Menlo,monospace !important;
    letter-spacing:1px;
    text-transform:uppercase;
}

.page-fh-fair-internal .fh-program-copy{
    min-width:0;
    padding:20px;
}

.page-fh-fair-internal .fh-program-time{
    display:flex;
    align-items:center;
    flex-wrap:wrap;
    gap:7px;
    color:var(--fair-acid) !important;
    font:900 9px/1.25 ui-monospace,SFMono-Regular,Menlo,monospace !important;
    letter-spacing:.7px;
    text-transform:uppercase;
}

.page-fh-fair-internal .fh-program-time i + i{
    margin-left:3px;
}

.page-fh-fair-internal .fh-program-item h3{
    margin:11px 0 7px;
    color:#fff;
    font-size:clamp(27px,3vw,40px);
    line-height:.92;
    letter-spacing:-.045em;
    font-weight:1000;
}

.page-fh-fair-internal .fh-program-item strong{
    display:block;
    color:var(--fair-pink);
    font-size:12px;
    line-height:1.35;
}

.page-fh-fair-internal .fh-program-item p{
    margin:12px 0 0;
    color:rgba(255,255,255,.68);
    font-size:12.5px;
    line-height:1.55;
}

.page-fh-fair-internal .fh-program-item a{
    display:inline-flex;
    align-items:center;
    gap:7px;
    margin-top:14px;
    color:#fff;
    font-size:12px;
    font-weight:850;
    text-decoration:none;
    border-bottom:1px solid rgba(255,255,255,.5);
}

.page-fh-fair-internal .fh-program-item a:hover{
    color:var(--fair-acid);
    border-bottom-color:var(--fair-acid);
}

@media(max-width:980px){
    .page-fh-fair-internal .fh-program-grid{
        grid-template-columns:1fr;
    }

    .page-fh-fair-internal .fh-program-item{
        grid-template-columns:minmax(190px,.72fr) minmax(0,1.28fr);
    }
}

@media(max-width:620px){
    .page-fh-fair-internal .fh-program-item{
        grid-template-columns:1fr;
        min-height:0;
        box-shadow:7px 7px 0 var(--fair-blue);
    }

    .page-fh-fair-internal .fh-program-item:nth-child(even){
        box-shadow:7px 7px 0 var(--fair-red);
    }

    .page-fh-fair-internal .fh-program-visual,
    .page-fh-fair-internal .fh-program-visual--icon{
        min-height:0;
        aspect-ratio:16/9;
        border-right:0;
        border-bottom:1px solid rgba(255,255,255,.26);
    }

    .page-fh-fair-internal .fh-program-visual img{
        min-height:0;
        height:100%;
    }

    .page-fh-fair-internal .fh-program-copy{
        padding:18px;
    }
}

/* =========================================================
   FH FAIR VOL.4 — INTERNAL APPLICATION VISIBILITY CONTROLS
   Compact ON/OFF menu under the participants title.
   ========================================================= */
.page-fh-fair-internal .fh-visibility-menu{
    display:flex;
    align-items:flex-start;
    gap:14px;
    margin-top:22px;
    padding:12px 14px;
    background:rgba(255,253,246,.72);
    border:1.5px solid var(--fair-ink);
    box-shadow:5px 5px 0 var(--fair-ink);
}

.page-fh-fair-internal .fh-visibility-menu-title{
    flex:0 0 auto;
    display:inline-flex;
    align-items:center;
    gap:7px;
    min-height:30px;
    padding:0 9px;
    color:var(--fair-white);
    background:var(--fair-ink);
    font:1000 8px/1 ui-monospace,SFMono-Regular,Menlo,monospace;
    letter-spacing:.85px;
    text-transform:uppercase;
    white-space:nowrap;
}

.page-fh-fair-internal .fh-visibility-menu-title i{
    color:var(--fair-acid);
}

.page-fh-fair-internal .fh-visibility-options{
    display:flex;
    flex-wrap:wrap;
    gap:7px;
    min-width:0;
}

.page-fh-fair-internal .fh-visibility-toggle{
    position:relative;
    min-height:30px;
    display:inline-flex;
    align-items:center;
    gap:7px;
    padding:5px 7px;
    color:var(--fair-ink);
    background:var(--fair-acid);
    border:1px solid var(--fair-ink);
    cursor:pointer;
    user-select:none;
    transition:transform .14s ease,box-shadow .14s ease,background .14s ease,opacity .14s ease;
}

.page-fh-fair-internal .fh-visibility-toggle:hover{
    transform:translate(-1px,-1px);
    box-shadow:3px 3px 0 var(--fair-ink);
}

.page-fh-fair-internal .fh-visibility-toggle.is-off{
    background:#e1ded5;
    opacity:.68;
}

.page-fh-fair-internal .fh-visibility-toggle input{
    position:absolute;
    opacity:0;
    pointer-events:none;
}

.page-fh-fair-internal .fh-visibility-check{
    position:relative;
    flex:0 0 28px;
    width:28px;
    height:16px;
    background:var(--fair-ink);
    border:1px solid var(--fair-ink);
}

.page-fh-fair-internal .fh-visibility-check::after{
    content:"";
    position:absolute;
    left:2px;
    top:2px;
    width:10px;
    height:10px;
    background:var(--fair-white);
    border:1px solid var(--fair-ink);
    transition:transform .14s ease,background .14s ease;
}

.page-fh-fair-internal .fh-visibility-toggle input:checked + .fh-visibility-check::after{
    transform:translateX(12px);
    background:var(--fair-red);
}

.page-fh-fair-internal .fh-visibility-toggle input:focus-visible + .fh-visibility-check{
    outline:3px solid var(--fair-blue);
    outline-offset:3px;
}

.page-fh-fair-internal .fh-visibility-label{
    font-size:10px;
    line-height:1.15;
    font-weight:900;
    white-space:nowrap;
}

.page-fh-fair-internal .fh-visibility-state{
    min-width:25px;
    padding:3px 4px;
    color:var(--fair-white);
    background:var(--fair-ink);
    font:1000 7px/1 ui-monospace,SFMono-Regular,Menlo,monospace;
    letter-spacing:.45px;
    text-align:center;
}

.page-fh-fair-internal .fh-visibility-toggle.is-off .fh-visibility-state{
    color:var(--fair-ink);
    background:transparent;
    border:1px solid var(--fair-ink);
}

/* Native hidden attribute wins even against card-specific display rules. */
.page-fh-fair-internal [data-ff4-field][hidden]{
    display:none !important;
}

@media(max-width:760px){
    .page-fh-fair-internal .fh-visibility-menu{
        flex-direction:column;
        gap:10px;
    }

    .page-fh-fair-internal .fh-visibility-options{
        width:100%;
    }
}

@media(max-width:520px){
    .page-fh-fair-internal .fh-visibility-menu{
        margin-top:18px;
        padding:10px;
        box-shadow:4px 4px 0 var(--fair-ink);
    }

    .page-fh-fair-internal .fh-visibility-toggle{
        width:100%;
        box-sizing:border-box;
    }

    .page-fh-fair-internal .fh-visibility-label{
        flex:1 1 auto;
        white-space:normal;
    }
}

/* =========================================================
   FH FAIR VOL.4 — MOBILE CATEGORY PAGE + PARTICIPANT PAGER
   Mobile-only presentation for clean screen recordings:
   compact category boxes + one full participant card per swipe.
   ========================================================= */
.page-fh-fair-internal .fh-mobile-category-menu,
.page-fh-fair-internal .fh-participant-pager{
    display:none;
}

@media(max-width:700px){
    .page-fh-fair-internal .fh-internal-main{
        padding-top:84px;
    }

    /* Keep the title/controls compact so the mobile page reads as one composition. */
    .page-fh-fair-internal .fh-internal-hero{
        padding-bottom:22px;
    }

    .page-fh-fair-internal .fh-internal-title-row{
        display:grid;
        grid-template-columns:minmax(0,1fr) 58px;
        gap:12px;
        align-items:end;
    }

    .page-fh-fair-internal .fh-internal-title-row>strong{
        width:58px;
        height:58px;
        font-size:27px;
        box-shadow:5px 5px 0 var(--fair-ink);
    }

    .page-fh-fair-internal .fh-internal-hero h1{
        font-size:clamp(32px,9.3vw,46px);
        line-height:.92;
    }

    .page-fh-fair-internal .fh-internal-hero>p{
        margin-top:16px;
        font-size:12.5px;
        line-height:1.45;
    }

    .page-fh-fair-internal .fh-visibility-menu{
        gap:7px;
        margin-top:15px;
        padding:8px;
        box-shadow:4px 4px 0 var(--fair-ink);
    }

    .page-fh-fair-internal .fh-visibility-menu-title{
        min-height:27px;
        padding:0 7px;
        font-size:7.5px;
    }

    .page-fh-fair-internal .fh-visibility-options{
        display:grid;
        grid-template-columns:repeat(2,minmax(0,1fr));
        gap:5px;
        width:100%;
    }

    .page-fh-fair-internal .fh-visibility-toggle{
        width:auto !important;
        min-height:28px;
        gap:5px;
        padding:4px 5px;
        box-sizing:border-box;
    }

    .page-fh-fair-internal .fh-visibility-check{
        flex-basis:24px;
        width:24px;
        height:14px;
    }

    .page-fh-fair-internal .fh-visibility-check::after{
        width:8px;
        height:8px;
    }

    .page-fh-fair-internal .fh-visibility-toggle input:checked + .fh-visibility-check::after{
        transform:translateX(10px);
    }

    .page-fh-fair-internal .fh-visibility-label{
        font-size:8.5px;
        line-height:1.1;
    }

    .page-fh-fair-internal .fh-visibility-state{
        min-width:21px;
        padding:2px 3px;
        font-size:6.5px;
    }

    /* All categories visible together in a compact mobile box menu. */
    .page-fh-fair-internal .fh-mobile-category-menu{
        display:block;
        margin:20px 0 28px;
        padding:10px;
        background:var(--fair-white);
        border:1.5px solid var(--fair-ink);
        box-shadow:6px 6px 0 var(--fair-blue);
    }

    .page-fh-fair-internal .fh-mobile-category-menu-head{
        display:flex;
        align-items:flex-end;
        justify-content:space-between;
        gap:10px;
        margin-bottom:9px;
        padding-bottom:8px;
        border-bottom:1px solid var(--fair-line);
    }

    .page-fh-fair-internal .fh-mobile-category-menu-head strong{
        display:flex;
        align-items:center;
        gap:7px;
        font:1000 10px/1 ui-monospace,SFMono-Regular,Menlo,monospace;
        letter-spacing:.8px;
        text-transform:uppercase;
    }

    .page-fh-fair-internal .fh-mobile-category-menu-head strong i{
        color:var(--fair-red);
    }

    .page-fh-fair-internal .fh-mobile-category-menu-head span{
        max-width:190px;
        color:var(--fair-muted);
        font-size:8px;
        line-height:1.25;
        font-weight:800;
        text-align:right;
    }

    .page-fh-fair-internal .fh-mobile-category-boxes{
        display:grid;
        grid-template-columns:repeat(2,minmax(0,1fr));
        gap:6px;
    }

    .page-fh-fair-internal .fh-mobile-category-box{
        min-width:0;
        min-height:54px;
        display:grid;
        grid-template-columns:26px minmax(0,1fr) auto;
        align-items:center;
        gap:7px;
        padding:7px;
        color:var(--fair-ink);
        background:var(--fair-paper);
        border:1px solid var(--fair-ink);
        text-decoration:none;
        box-sizing:border-box;
    }

    .page-fh-fair-internal .fh-mobile-category-box:nth-child(4n+2),
    .page-fh-fair-internal .fh-mobile-category-box:nth-child(4n+3){
        background:var(--fair-acid);
    }

    .page-fh-fair-internal .fh-mobile-category-box i{
        width:26px;
        height:26px;
        display:grid;
        place-items:center;
        color:var(--fair-white);
        background:var(--fair-ink);
        font-size:11px;
    }

    .page-fh-fair-internal .fh-mobile-category-box b{
        min-width:0;
        font-size:10.5px;
        line-height:1.05;
        text-transform:uppercase;
        overflow-wrap:anywhere;
    }

    .page-fh-fair-internal .fh-mobile-category-box small{
        min-width:20px;
        padding:4px 5px;
        color:var(--fair-white);
        background:var(--fair-red);
        font:1000 7px/1 ui-monospace,SFMono-Regular,Menlo,monospace;
        text-align:center;
    }

    .page-fh-fair-internal .fh-internal-categories{
        gap:30px;
        margin-top:0;
    }

    .page-fh-fair-internal .fh-internal-category{
        scroll-margin-top:82px;
    }

    .page-fh-fair-internal .fh-internal-category-head{
        gap:9px;
        margin-bottom:10px;
        padding-bottom:9px;
    }

    .page-fh-fair-internal .fh-internal-category-head>div{
        gap:8px;
    }

    .page-fh-fair-internal .fh-internal-category-head i{
        font-size:18px;
    }

    .page-fh-fair-internal .fh-internal-category-head h2{
        font-size:clamp(26px,8vw,36px);
        line-height:.92;
    }

    .page-fh-fair-internal .fh-internal-category-head>span{
        padding:5px 6px;
        font-size:7px;
        white-space:nowrap;
    }

    /* Swipe/arrow pager: exactly one participant card occupies the track width. */
    .page-fh-fair-internal .fh-participant-pager{
        display:flex;
        align-items:center;
        justify-content:flex-end;
        gap:6px;
        margin:0 0 8px;
    }

    .page-fh-fair-internal .fh-participant-pager button{
        width:37px;
        height:32px;
        display:grid;
        place-items:center;
        padding:0;
        color:var(--fair-ink);
        background:var(--fair-white);
        border:1px solid var(--fair-ink);
        box-shadow:3px 3px 0 var(--fair-ink);
        cursor:pointer;
    }

    .page-fh-fair-internal .fh-participant-pager button:disabled{
        opacity:.3;
        box-shadow:none;
    }

    .page-fh-fair-internal .fh-participant-pager span{
        min-width:48px;
        height:32px;
        display:flex;
        align-items:center;
        justify-content:center;
        gap:4px;
        color:var(--fair-white);
        background:var(--fair-ink);
        border:1px solid var(--fair-ink);
        font:1000 10px/1 ui-monospace,SFMono-Regular,Menlo,monospace;
    }

    .page-fh-fair-internal .fh-participant-pager em{
        color:var(--fair-acid);
        font-style:normal;
    }

    .page-fh-fair-internal .fh-participant-grid{
        display:flex !important;
        grid-template-columns:none !important;
        gap:14px;
        width:100%;
        overflow-x:auto;
        overflow-y:hidden;
        padding:2px 2px 9px;
        box-sizing:border-box;
        scroll-snap-type:x mandatory;
        scroll-behavior:smooth;
        overscroll-behavior-inline:contain;
        -webkit-overflow-scrolling:touch;
        scrollbar-width:none;
    }

    .page-fh-fair-internal .fh-participant-grid::-webkit-scrollbar{
        display:none;
    }

    .page-fh-fair-internal .fh-participant-card{
        flex:0 0 100%;
        width:100%;
        min-width:100%;
        padding:14px;
        box-sizing:border-box;
        scroll-snap-align:start;
        scroll-snap-stop:always;
        box-shadow:5px 5px 0 var(--fair-ink);
    }

    .page-fh-fair-internal .fh-participant-brand{
        grid-template-columns:66px minmax(0,1fr) !important;
        gap:11px;
    }

    .page-fh-fair-internal .fh-participant-brand>a,
    .page-fh-fair-internal .fh-participant-initials{
        width:66px !important;
        height:66px !important;
    }

    .page-fh-fair-internal .fh-participant-initials{
        font-size:24px;
    }

    .page-fh-fair-internal .fh-participant-brand h3{
        margin-top:3px;
        font-size:22px;
        line-height:.96;
    }

    .page-fh-fair-internal .fh-participant-brand p{
        margin-top:4px;
        font-size:10px;
    }

    .page-fh-fair-internal .fh-participant-meta{
        grid-template-columns:repeat(2,minmax(0,1fr)) !important;
        gap:5px 8px;
        margin-top:11px;
        padding:9px 0;
    }

    .page-fh-fair-internal .fh-participant-meta span{
        gap:5px;
        font-size:9.5px;
        line-height:1.22;
    }

    .page-fh-fair-internal .fh-participant-copy{
        margin-top:10px;
        font-size:11px;
        line-height:1.42;
    }

    .page-fh-fair-internal .fh-participant-copy aside{
        margin-top:8px;
        padding:8px;
        border-left-width:3px;
    }

    .page-fh-fair-internal .fh-participant-photos{
        grid-template-columns:repeat(5,minmax(0,1fr)) !important;
        gap:4px;
        margin-top:10px;
    }
}

@media(max-width:390px){
    .page-fh-fair-internal .fh-mobile-category-menu-head{
        align-items:flex-start;
        flex-direction:column;
    }

    .page-fh-fair-internal .fh-mobile-category-menu-head span{
        max-width:none;
        text-align:left;
    }

    .page-fh-fair-internal .fh-mobile-category-box{
        grid-template-columns:24px minmax(0,1fr) auto;
        gap:5px;
        padding:6px;
    }

    .page-fh-fair-internal .fh-mobile-category-box i{
        width:24px;
        height:24px;
    }

    .page-fh-fair-internal .fh-mobile-category-box b{
        font-size:9.5px;
    }
}

/* =========================================================
   FH FAIR VOL.4 - GEAR SWAP SIGNUP
   Urban sticker / pedalboard block, scoped to the public Fair page.
   ========================================================= */

.page-fh-fair #gear-swap{
    scroll-margin-top:92px;
}

.page-fh-fair .fh-gearswap{
    --gear-black:#121212;
    --gear-paper:#fff9e9;
    --gear-acid:#d9ff43;
    --gear-pink:#ff8fad;
    --gear-blue:#294cff;
    --gear-orange:#ff9d2e;
    position:relative;
    grid-column:1/-1;
    display:grid;
    grid-template-columns:minmax(0,.82fr) minmax(420px,1.18fr);
    gap:clamp(28px,4vw,64px);
    padding:clamp(28px,4.5vw,58px);
    overflow:hidden;
    color:var(--gear-paper);
    background:
        linear-gradient(rgba(255,255,255,.045) 1px,transparent 1px),
        linear-gradient(90deg,rgba(255,255,255,.045) 1px,transparent 1px),
        var(--gear-black);
    background-size:28px 28px,28px 28px,auto;
    border:2px solid var(--fair-ink);
    box-shadow:14px 14px 0 var(--gear-acid);
    isolation:isolate;
}

.page-fh-fair .fh-gearswap::before{
    content:"GEAR / GEAR / GEAR / GEAR / GEAR / GEAR";
    position:absolute;
    left:-38px;
    right:-38px;
    bottom:18px;
    z-index:-1;
    color:rgba(255,255,255,.035);
    font-size:clamp(58px,9vw,142px);
    line-height:.7;
    font-weight:1000;
    letter-spacing:-.08em;
    white-space:nowrap;
    transform:rotate(-3deg);
    pointer-events:none;
}

.page-fh-fair .fh-gearswap::after{
    content:"VOL.04";
    position:absolute;
    right:24px;
    top:18px;
    z-index:0;
    padding:7px 9px;
    color:var(--gear-black);
    background:var(--gear-pink);
    border:1px solid var(--gear-paper);
    box-shadow:4px 4px 0 var(--gear-paper);
    font:1000 9px/1 ui-monospace,SFMono-Regular,Menlo,monospace;
    letter-spacing:1px;
    transform:rotate(4deg);
}

.page-fh-fair .fh-gearswap-copy,
.page-fh-fair .fh-gearswap-form-wrap{
    position:relative;
    z-index:3;
    min-width:0;
}

.page-fh-fair .fh-gearswap-copy{
    display:flex;
    flex-direction:column;
    align-items:flex-start;
    justify-content:center;
    padding:24px 0;
}

.page-fh-fair .fh-gearswap-kicker{
    display:inline-flex;
    align-items:center;
    min-height:31px;
    margin:0 0 16px;
    padding:0 10px;
    color:var(--gear-black);
    background:var(--gear-acid);
    border:1px solid var(--gear-paper);
    box-shadow:4px 4px 0 var(--gear-blue);
    font:1000 10px/1 ui-monospace,SFMono-Regular,Menlo,monospace;
    letter-spacing:1.35px;
    text-transform:uppercase;
    transform:rotate(-1.4deg);
}

.page-fh-fair .fh-gearswap h2{
    max-width:640px;
    margin:0 0 22px;
    color:var(--gear-paper);
    font-size:clamp(48px,6vw,92px);
    line-height:.82;
    letter-spacing:-.07em;
    font-weight:1000;
    text-transform:uppercase;
    text-wrap:balance;
}

.page-fh-fair .fh-gearswap-intro{
    max-width:620px;
    margin:0;
    padding-left:16px;
    color:rgba(255,249,233,.77);
    border-left:5px solid var(--gear-pink);
    font-size:clamp(15px,1.45vw,18px);
    line-height:1.62;
    font-weight:700;
}

.page-fh-fair .fh-gearswap-note{
    display:flex;
    align-items:flex-start;
    gap:10px;
    max-width:590px;
    margin-top:22px;
    padding:12px 14px;
    color:var(--gear-black);
    background:var(--gear-orange);
    border:1px solid var(--gear-paper);
    box-shadow:5px 5px 0 var(--gear-blue);
    font:850 12px/1.45 ui-monospace,SFMono-Regular,Menlo,monospace;
    transform:rotate(.5deg);
}

.page-fh-fair .fh-gearswap-note i{
    margin-top:2px;
}

.page-fh-fair .fh-gearswap-tags{
    display:flex;
    flex-wrap:wrap;
    gap:7px;
    margin-top:28px;
}

.page-fh-fair .fh-gearswap-tags span{
    padding:6px 8px;
    color:var(--gear-paper);
    border:1px solid rgba(255,249,233,.55);
    font:900 9px/1 ui-monospace,SFMono-Regular,Menlo,monospace;
    letter-spacing:.8px;
}

.page-fh-fair .fh-gearswap-tags span:nth-child(2){color:var(--gear-black);background:var(--gear-pink);border-color:var(--gear-pink);transform:rotate(-2deg)}
.page-fh-fair .fh-gearswap-tags span:nth-child(4){color:var(--gear-black);background:var(--gear-acid);border-color:var(--gear-acid);transform:rotate(1.5deg)}

.page-fh-fair .fh-gearswap-form-wrap{
    padding:24px;
    color:var(--gear-black);
    background:var(--gear-paper);
    border:2px solid var(--gear-black);
    box-shadow:10px 10px 0 var(--gear-blue);
    transform:rotate(.4deg);
}

.page-fh-fair .fh-gearswap-form{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:16px;
}

.page-fh-fair .fh-gearswap-field{
    display:flex;
    flex-direction:column;
    gap:7px;
    min-width:0;
}

.page-fh-fair .fh-gearswap-field--wide,
.page-fh-fair .fh-gearswap-days,
.page-fh-fair .fh-gearswap-intents,
.page-fh-fair .fh-gearswap-submit-row{
    grid-column:1/-1;
}

.page-fh-fair .fh-gearswap-field label,
.page-fh-fair .fh-gearswap-days legend,
.page-fh-fair .fh-gearswap-intents legend{
    color:var(--gear-black);
    font:1000 10px/1.25 ui-monospace,SFMono-Regular,Menlo,monospace;
    letter-spacing:.7px;
    text-transform:uppercase;
}

.page-fh-fair .fh-gearswap-field label small{
    color:#777066;
    font-size:8px;
    text-transform:lowercase;
}

.page-fh-fair .fh-gearswap-field input,
.page-fh-fair .fh-gearswap-field textarea{
    width:100%;
    min-width:0;
    box-sizing:border-box;
    padding:13px 14px;
    color:var(--gear-black);
    background:#fffef9;
    border:1.5px solid var(--gear-black);
    border-radius:0;
    outline:none;
    font-family:inherit;
    font-size:14px;
    line-height:1.45;
    font-weight:750;
    box-shadow:3px 3px 0 rgba(18,18,18,.16);
    transition:transform .16s ease,box-shadow .16s ease,background .16s ease;
}

.page-fh-fair .fh-gearswap-field input{
    min-height:48px;
}

.page-fh-fair .fh-gearswap-field textarea{
    resize:vertical;
    min-height:150px;
}

.page-fh-fair .fh-gearswap-field input:focus,
.page-fh-fair .fh-gearswap-field textarea:focus{
    background:#fff;
    box-shadow:5px 5px 0 var(--gear-acid);
    transform:translate(-1px,-1px);
}

.page-fh-fair .fh-gearswap-field input::placeholder,
.page-fh-fair .fh-gearswap-field textarea::placeholder{
    color:#8a847b;
    opacity:1;
}

.page-fh-fair .fh-gearswap-days{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:9px;
    min-width:0;
    margin:3px 0 0;
    padding:0;
    border:0;
}

.page-fh-fair .fh-gearswap-days legend{
    width:100%;
    margin-bottom:9px;
}

.page-fh-fair .fh-gearswap-day-choice{
    position:relative;
    min-width:0;
    min-height:64px;
    display:flex;
    align-items:center;
    gap:10px;
    padding:10px 12px;
    background:#fffef9;
    border:1.5px solid var(--gear-black);
    cursor:pointer;
    user-select:none;
    box-shadow:3px 3px 0 rgba(18,18,18,.18);
    transition:transform .16s ease,box-shadow .16s ease,background .16s ease;
}

.page-fh-fair .fh-gearswap-day-choice input{
    position:absolute;
    opacity:0;
    pointer-events:none;
}

.page-fh-fair .fh-gearswap-day-choice:has(input:checked){
    background:var(--gear-blue);
    box-shadow:5px 5px 0 var(--gear-black);
    transform:translate(-1px,-1px) rotate(-.35deg);
}

.page-fh-fair .fh-gearswap-day-choice:nth-of-type(2):has(input:checked){
    background:var(--gear-acid);
}

.page-fh-fair .fh-gearswap-day-choice:nth-of-type(3):has(input:checked){
    background:var(--gear-pink);
}

.page-fh-fair .fh-gearswap-day-number{
    flex:0 0 auto;
    min-width:36px;
    height:32px;
    padding:0 7px;
    display:grid;
    place-items:center;
    color:var(--gear-paper);
    background:var(--gear-black);
    font:1000 12px/1 ui-monospace,SFMono-Regular,Menlo,monospace;
    transform:rotate(-2deg);
}

.page-fh-fair .fh-gearswap-day-choice b{
    min-width:0;
    font-size:12px;
    line-height:1.15;
    text-transform:uppercase;
}

.page-fh-fair .fh-gearswap-intents{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:9px;
    min-width:0;
    margin:3px 0 0;
    padding:0;
    border:0;
}

.page-fh-fair .fh-gearswap-intents legend{
    width:100%;
    margin-bottom:9px;
}

.page-fh-fair .fh-gearswap-choice{
    position:relative;
    min-width:0;
    min-height:72px;
    display:grid;
    grid-template-columns:34px minmax(0,1fr);
    align-items:center;
    gap:9px;
    padding:10px;
    overflow:hidden;
    background:#fffef9;
    border:1.5px solid var(--gear-black);
    cursor:pointer;
    user-select:none;
    box-shadow:3px 3px 0 rgba(18,18,18,.18);
    transition:transform .16s ease,box-shadow .16s ease,background .16s ease;
}

.page-fh-fair .fh-gearswap-choice input{
    position:absolute;
    opacity:0;
    pointer-events:none;
}

.page-fh-fair .fh-gearswap-choice:has(input:checked){
    background:var(--gear-acid);
    box-shadow:5px 5px 0 var(--gear-blue);
    transform:translate(-1px,-1px) rotate(-.35deg);
}

.page-fh-fair .fh-gearswap-choice:nth-of-type(2):has(input:checked){
    background:var(--gear-pink);
}

.page-fh-fair .fh-gearswap-choice:nth-of-type(3):has(input:checked){
    background:var(--gear-orange);
}

.page-fh-fair .fh-gearswap-check{
    width:32px;
    height:32px;
    display:grid;
    place-items:center;
    color:var(--gear-paper);
    background:var(--gear-black);
    border-radius:50%;
    font:1000 17px/1 ui-monospace,SFMono-Regular,Menlo,monospace;
}

.page-fh-fair .fh-gearswap-choice b{
    min-width:0;
    font-size:12px;
    line-height:1.15;
    text-transform:uppercase;
}

.page-fh-fair .fh-gearswap-submit-row{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:18px;
    margin-top:3px;
    padding-top:15px;
    border-top:1px dashed rgba(18,18,18,.35);
}

.page-fh-fair .fh-gearswap-submit-row p{
    max-width:330px;
    margin:0;
    color:#706a61;
    font-size:10px;
    line-height:1.45;
    font-weight:700;
}

.page-fh-fair .fh-gearswap-submit{
    flex:0 0 auto;
    min-height:52px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:12px;
    padding:0 18px;
    color:var(--gear-paper);
    background:var(--gear-blue);
    border:2px solid var(--gear-black);
    border-radius:0;
    box-shadow:6px 6px 0 var(--gear-black);
    cursor:pointer;
    font:1000 11px/1 ui-monospace,SFMono-Regular,Menlo,monospace;
    letter-spacing:.85px;
    transition:transform .16s ease,box-shadow .16s ease,background .16s ease;
}

.page-fh-fair .fh-gearswap-submit:hover{
    background:var(--fair-red);
    transform:translate(-2px,-2px);
    box-shadow:8px 8px 0 var(--gear-black);
}

.page-fh-fair .fh-gearswap-alert{
    display:flex;
    align-items:flex-start;
    gap:10px;
    margin:0 0 16px;
    padding:11px 12px;
    border:1.5px solid var(--gear-black);
    font-size:12px;
    line-height:1.45;
    font-weight:850;
}

.page-fh-fair .fh-gearswap-alert>span{
    flex:0 0 auto;
    width:24px;
    height:24px;
    display:grid;
    place-items:center;
    color:var(--gear-paper);
    background:var(--gear-black);
    border-radius:50%;
    font:1000 12px/1 ui-monospace,SFMono-Regular,Menlo,monospace;
}

.page-fh-fair .fh-gearswap-alert p{
    margin:0 0 4px;
    color:inherit;
    font-size:inherit;
    line-height:inherit;
}

.page-fh-fair .fh-gearswap-alert p:last-child{margin-bottom:0}
.page-fh-fair .fh-gearswap-alert--success{background:var(--gear-acid)}
.page-fh-fair .fh-gearswap-alert--error{background:#ffb5aa}

.page-fh-fair .fh-gearswap-hp{
    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;
}

.page-fh-fair .fh-gearswap-decor{
    position:absolute;
    inset:0;
    z-index:1;
    pointer-events:none;
}

.page-fh-fair .gear-emoji{
    position:absolute;
    display:grid;
    place-items:center;
    width:58px;
    height:58px;
    background:var(--gear-paper);
    border:2px solid var(--gear-black);
    border-radius:50%;
    box-shadow:5px 5px 0 var(--gear-blue);
    font-size:29px;
    filter:saturate(.92);
}

.page-fh-fair .gear-emoji--guitar{left:18px;top:18px;transform:rotate(-13deg)}
.page-fh-fair .gear-emoji--pedal{left:43%;top:20px;width:54px;height:54px;background:var(--gear-pink);transform:rotate(9deg)}
.page-fh-fair .gear-emoji--notes{left:37%;bottom:28px;width:50px;height:50px;background:var(--gear-acid);transform:rotate(-8deg)}
.page-fh-fair .gear-emoji--bolt{right:44%;bottom:24px;width:44px;height:44px;background:var(--gear-orange);font-size:22px;transform:rotate(13deg)}
.page-fh-fair .gear-emoji--loop{right:16px;bottom:18px;width:48px;height:48px;background:var(--gear-blue);font-size:22px;transform:rotate(-7deg)}

@media(max-width:1000px){
    .page-fh-fair .fh-gearswap{
        grid-template-columns:1fr;
        gap:26px;
    }

    .page-fh-fair .fh-gearswap-copy{
        padding:18px 0 0;
    }

    .page-fh-fair .fh-gearswap-form-wrap{
        transform:none;
    }

    .page-fh-fair .gear-emoji--pedal{left:auto;right:92px;top:26px}
    .page-fh-fair .gear-emoji--notes{left:24px;bottom:24px}
    .page-fh-fair .gear-emoji--bolt{right:88px;bottom:18px}
}

@media(max-width:620px){
    .page-fh-fair #gear-swap{
        scroll-margin-top:78px;
    }

    .page-fh-fair .fh-gearswap{
        padding:24px 16px 22px;
        box-shadow:8px 8px 0 var(--gear-acid);
    }

    .page-fh-fair .fh-gearswap::after{
        right:14px;
        top:13px;
        box-shadow:3px 3px 0 var(--gear-paper);
    }

    .page-fh-fair .fh-gearswap-copy{
        padding-top:52px;
    }

    .page-fh-fair .fh-gearswap h2{
        font-size:clamp(43px,14vw,64px);
        max-width:96%;
    }

    .page-fh-fair .fh-gearswap-intro{
        padding-left:12px;
        font-size:14px;
    }

    .page-fh-fair .fh-gearswap-note{
        font-size:10.5px;
    }

    .page-fh-fair .fh-gearswap-tags{
        gap:5px;
        margin-top:20px;
    }

    .page-fh-fair .fh-gearswap-tags span{
        padding:5px 6px;
        font-size:7.5px;
    }

    .page-fh-fair .fh-gearswap-form-wrap{
        padding:17px 14px 16px;
        box-shadow:6px 6px 0 var(--gear-blue);
    }

    .page-fh-fair .fh-gearswap-form{
        grid-template-columns:1fr;
        gap:13px;
    }

    .page-fh-fair .fh-gearswap-field,
    .page-fh-fair .fh-gearswap-field--wide,
    .page-fh-fair .fh-gearswap-days,
    .page-fh-fair .fh-gearswap-intents,
    .page-fh-fair .fh-gearswap-submit-row{
        grid-column:1;
    }

    .page-fh-fair .fh-gearswap-days,
    .page-fh-fair .fh-gearswap-intents{
        grid-template-columns:1fr;
    }

    .page-fh-fair .fh-gearswap-choice{
        min-height:58px;
    }

    .page-fh-fair .fh-gearswap-submit-row{
        align-items:stretch;
        flex-direction:column;
    }

    .page-fh-fair .fh-gearswap-submit-row p{
        max-width:none;
    }

    .page-fh-fair .fh-gearswap-submit{
        width:100%;
    }

    .page-fh-fair .gear-emoji{
        width:46px;
        height:46px;
        font-size:23px;
        box-shadow:3px 3px 0 var(--gear-blue);
    }

    .page-fh-fair .gear-emoji--guitar{left:12px;top:13px}
    .page-fh-fair .gear-emoji--pedal{right:78px;top:14px}
    .page-fh-fair .gear-emoji--notes,
    .page-fh-fair .gear-emoji--bolt,
    .page-fh-fair .gear-emoji--loop{display:none}
}

/* =========================================================
   FH FAIR VOL.4 - VOLUNTEER CALL
   Full House x Rokumentarni dani, public Fair page only.
   ========================================================= */

.page-fh-fair #volunteers{
    scroll-margin-top:92px;
}

.page-fh-fair .fh-volunteers{
    --vol-ink:#10100f;
    --vol-paper:#fff9ea;
    --vol-purple:#7657ff;
    --vol-acid:#d9ff43;
    --vol-red:#f4473f;
    --vol-pink:#ff9fb2;
    --vol-orange:#ff9d2e;
    position:relative;
    grid-column:1/-1;
    display:grid;
    grid-template-columns:minmax(0,1fr) minmax(230px,.38fr);
    gap:clamp(24px,4vw,54px);
    padding:clamp(28px,4.6vw,58px);
    overflow:hidden;
    color:var(--vol-ink);
    background:
        radial-gradient(circle at 16% 20%,rgba(255,255,255,.44),transparent 21%),
        linear-gradient(135deg,var(--vol-pink) 0 36%,var(--vol-paper) 36% 100%);
    border:2px solid var(--vol-ink);
    box-shadow:14px 14px 0 var(--vol-purple);
    isolation:isolate;
}

.page-fh-fair .fh-volunteers::before{
    content:"JOIN / TEAM / JOIN / TEAM / JOIN / TEAM";
    position:absolute;
    left:-24px;
    right:-24px;
    bottom:-6px;
    z-index:-1;
    color:rgba(16,16,15,.045);
    font-size:clamp(54px,8vw,126px);
    line-height:.74;
    font-weight:1000;
    letter-spacing:-.07em;
    white-space:nowrap;
    transform:rotate(-2deg);
    pointer-events:none;
}

.page-fh-fair .fh-volunteers-copy,
.page-fh-fair .fh-volunteers-art,
.page-fh-fair .fh-volunteers-form-panel{
    position:relative;
    z-index:2;
    min-width:0;
}

.page-fh-fair .fh-volunteers-copy{
    align-self:center;
}

.page-fh-fair .fh-volunteers-kicker{
    display:inline-flex;
    min-height:32px;
    align-items:center;
    padding:0 10px;
    margin:0 0 18px;
    color:#fff;
    background:var(--vol-ink);
    border:1px solid var(--vol-ink);
    box-shadow:5px 5px 0 var(--vol-acid);
    font:1000 10px/1 ui-monospace,SFMono-Regular,Menlo,monospace;
    letter-spacing:1.1px;
    text-transform:uppercase;
    transform:rotate(-1deg);
}

.page-fh-fair .fh-volunteers-eyebrow{
    max-width:680px;
    margin:0 0 9px;
    color:var(--vol-purple);
    font:1000 12px/1.35 ui-monospace,SFMono-Regular,Menlo,monospace;
    letter-spacing:.45px;
    text-transform:uppercase;
}

.page-fh-fair .fh-volunteers h2{
    max-width:760px;
    margin:0;
    color:var(--vol-ink);
    font-size:clamp(52px,7vw,104px);
    line-height:.78;
    letter-spacing:-.075em;
    font-weight:1000;
    text-transform:uppercase;
}

.page-fh-fair .fh-volunteers-intro{
    max-width:760px;
    margin:25px 0 0;
    padding-left:16px;
    border-left:5px solid var(--vol-red);
    color:#3b3734;
    font-size:clamp(15px,1.45vw,18px);
    line-height:1.6;
    font-weight:750;
}

.page-fh-fair .fh-volunteers-programs{
    display:flex;
    flex-wrap:wrap;
    gap:7px;
    margin-top:24px;
}

.page-fh-fair .fh-volunteers-programs span{
    display:inline-flex;
    align-items:center;
    gap:7px;
    min-height:31px;
    padding:0 9px;
    border:1.5px solid var(--vol-ink);
    background:var(--vol-paper);
    box-shadow:3px 3px 0 var(--vol-ink);
    font:900 9px/1 ui-monospace,SFMono-Regular,Menlo,monospace;
}

.page-fh-fair .fh-volunteers-programs span:nth-child(2){background:var(--vol-acid);transform:rotate(-1.2deg)}
.page-fh-fair .fh-volunteers-programs span:nth-child(3){background:var(--vol-orange);transform:rotate(.8deg)}
.page-fh-fair .fh-volunteers-programs span:nth-child(4){background:#fff;transform:rotate(-.6deg)}

.page-fh-fair .fh-volunteers-open{
    min-height:55px;
    display:inline-flex;
    align-items:center;
    justify-content:space-between;
    gap:24px;
    margin-top:28px;
    padding:0 19px;
    color:#fff;
    background:var(--vol-purple);
    border:2px solid var(--vol-ink);
    border-radius:0;
    box-shadow:7px 7px 0 var(--vol-ink);
    cursor:pointer;
    font:1000 11px/1 ui-monospace,SFMono-Regular,Menlo,monospace;
    letter-spacing:1px;
    transition:transform .16s ease,box-shadow .16s ease,background .16s ease;
}

.page-fh-fair .fh-volunteers-open:hover{
    background:var(--vol-red);
    transform:translate(-2px,-2px);
    box-shadow:9px 9px 0 var(--vol-ink);
}

.page-fh-fair .fh-volunteers-art{
    min-height:320px;
    display:grid;
    place-items:center;
}

.page-fh-fair .fh-volunteers-dateblock{
    width:min(100%,250px);
    padding:20px 19px 18px;
    color:#fff;
    background:var(--vol-purple);
    border:2px solid var(--vol-ink);
    box-shadow:12px 12px 0 var(--vol-ink);
    transform:rotate(3deg);
}

.page-fh-fair .fh-volunteers-dateblock small{
    display:block;
    margin-bottom:14px;
    font:1000 10px/1 ui-monospace,SFMono-Regular,Menlo,monospace;
    letter-spacing:1.4px;
}

.page-fh-fair .fh-volunteers-dateblock strong{
    display:block;
    font-size:clamp(88px,10vw,142px);
    line-height:.57;
    letter-spacing:-.09em;
    font-weight:1000;
}

.page-fh-fair .fh-volunteers-dateblock span{
    display:inline-block;
    margin-top:25px;
    padding:7px 9px;
    color:var(--vol-ink);
    background:var(--vol-acid);
    border:1px solid var(--vol-ink);
    font:1000 10px/1 ui-monospace,SFMono-Regular,Menlo,monospace;
    transform:rotate(-2deg);
}

.page-fh-fair .fh-volunteers-sticker{
    position:absolute;
    display:grid;
    place-items:center;
    width:62px;
    height:62px;
    border:2px solid var(--vol-ink);
    border-radius:50%;
    box-shadow:5px 5px 0 var(--vol-ink);
    font-size:28px;
}

.page-fh-fair .fh-volunteers-sticker--heart{left:-5px;top:16px;background:var(--vol-red);color:#fff;transform:rotate(-12deg)}
.page-fh-fair .fh-volunteers-sticker--star{right:-7px;top:33px;background:var(--vol-acid);transform:rotate(10deg)}
.page-fh-fair .fh-volunteers-sticker--hand{right:8px;bottom:10px;background:var(--vol-orange);font-size:23px;transform:rotate(-7deg)}

.page-fh-fair .fh-volunteers-noise{
    position:absolute;
    inset:0;
    z-index:1;
    pointer-events:none;
    opacity:.32;
    background-image:radial-gradient(circle at center,rgba(16,16,15,.18) 0 1px,transparent 1.2px);
    background-size:18px 18px;
    mask-image:linear-gradient(90deg,#000,transparent 70%);
}

.page-fh-fair .fh-volunteers-form-panel{
    grid-column:1/-1;
    margin-top:6px;
    padding:clamp(20px,3vw,32px);
    background:var(--vol-paper);
    border:2px solid var(--vol-ink);
    box-shadow:10px 10px 0 var(--vol-acid);
}

.page-fh-fair .fh-volunteers-form-panel[hidden]{display:none}

.page-fh-fair .fh-volunteers-form-head{
    display:grid;
    grid-template-columns:auto minmax(0,1fr);
    gap:16px;
    align-items:start;
    margin-bottom:21px;
    padding-bottom:17px;
    border-bottom:1px dashed rgba(16,16,15,.42);
}

.page-fh-fair .fh-volunteers-form-head>span{
    padding:7px 8px;
    color:#fff;
    background:var(--vol-ink);
    font:1000 9px/1 ui-monospace,SFMono-Regular,Menlo,monospace;
    transform:rotate(-2deg);
}

.page-fh-fair .fh-volunteers-form-head h3{
    margin:0;
    font-size:clamp(28px,4vw,48px);
    line-height:.92;
    letter-spacing:-.045em;
    text-transform:uppercase;
}

.page-fh-fair .fh-volunteers-form-head p{
    max-width:680px;
    margin:8px 0 0;
    color:#6b655b;
    font-size:12px;
    line-height:1.5;
    font-weight:700;
}

.page-fh-fair .fh-volunteers-form{
    display:grid;
    grid-template-columns:minmax(0,1.4fr) minmax(110px,.4fr) repeat(2,minmax(0,1fr));
    gap:14px;
}

.page-fh-fair .fh-volunteers-field{
    display:flex;
    flex-direction:column;
    gap:7px;
    min-width:0;
}

.page-fh-fair .fh-volunteers-field--wide,
.page-fh-fair .fh-volunteers-days,
.page-fh-fair .fh-volunteers-submit-row{
    grid-column:1/-1;
}

.page-fh-fair .fh-volunteers-field label,
.page-fh-fair .fh-volunteers-days legend{
    color:var(--vol-ink);
    font:1000 10px/1.25 ui-monospace,SFMono-Regular,Menlo,monospace;
    letter-spacing:.65px;
    text-transform:uppercase;
}

.page-fh-fair .fh-volunteers-field label small{
    color:#777066;
    font-size:8px;
    text-transform:lowercase;
}

.page-fh-fair .fh-volunteers-field input,
.page-fh-fair .fh-volunteers-field textarea{
    width:100%;
    min-width:0;
    box-sizing:border-box;
    padding:13px 14px;
    color:var(--vol-ink);
    background:#fffef9;
    border:1.5px solid var(--vol-ink);
    border-radius:0;
    outline:none;
    font-family:inherit;
    font-size:14px;
    line-height:1.45;
    font-weight:750;
    box-shadow:3px 3px 0 rgba(16,16,15,.15);
    transition:transform .16s ease,box-shadow .16s ease,background .16s ease;
}

.page-fh-fair .fh-volunteers-field input{min-height:48px}
.page-fh-fair .fh-volunteers-field textarea{min-height:120px;resize:vertical}

.page-fh-fair .fh-volunteers-field input:focus,
.page-fh-fair .fh-volunteers-field textarea:focus{
    background:#fff;
    box-shadow:5px 5px 0 var(--vol-pink);
    transform:translate(-1px,-1px);
}

.page-fh-fair .fh-volunteers-field input::placeholder,
.page-fh-fair .fh-volunteers-field textarea::placeholder{
    color:#8a847b;
    opacity:1;
}

.page-fh-fair .fh-volunteers-days{
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:9px;
    min-width:0;
    margin:4px 0 0;
    padding:0;
    border:0;
}

.page-fh-fair .fh-volunteers-days legend{
    width:100%;
    margin-bottom:9px;
}

.page-fh-fair .fh-volunteers-day{
    position:relative;
    min-width:0;
    min-height:84px;
    display:grid;
    grid-template-columns:42px minmax(0,1fr) 24px;
    gap:9px;
    align-items:center;
    padding:10px;
    background:#fffef9;
    border:1.5px solid var(--vol-ink);
    box-shadow:3px 3px 0 rgba(16,16,15,.17);
    cursor:pointer;
    user-select:none;
    transition:transform .16s ease,box-shadow .16s ease,background .16s ease;
}

.page-fh-fair .fh-volunteers-day input{
    position:absolute;
    opacity:0;
    pointer-events:none;
}

.page-fh-fair .fh-volunteers-day-date{
    width:40px;
    height:42px;
    display:grid;
    place-items:center;
    color:#fff;
    background:var(--vol-ink);
    font:1000 16px/1 ui-monospace,SFMono-Regular,Menlo,monospace;
    transform:rotate(-2deg);
}

.page-fh-fair .fh-volunteers-day-copy{
    min-width:0;
    display:grid;
    gap:3px;
}

.page-fh-fair .fh-volunteers-day-copy b{
    font-size:11px;
    line-height:1.1;
    text-transform:uppercase;
}

.page-fh-fair .fh-volunteers-day-copy small{
    color:#6e685f;
    font-size:9px;
    line-height:1.25;
    font-weight:750;
}

.page-fh-fair .fh-volunteers-day-check{
    width:22px;
    height:22px;
    display:grid;
    place-items:center;
    border:1.5px solid var(--vol-ink);
    border-radius:50%;
    color:transparent;
    background:#fff;
    font:1000 11px/1 ui-monospace,SFMono-Regular,Menlo,monospace;
}

.page-fh-fair .fh-volunteers-day:has(input:checked){
    background:var(--vol-acid);
    box-shadow:5px 5px 0 var(--vol-purple);
    transform:translate(-1px,-1px) rotate(-.35deg);
}

.page-fh-fair .fh-volunteers-day:nth-of-type(2):has(input:checked){background:var(--vol-pink)}
.page-fh-fair .fh-volunteers-day:nth-of-type(3):has(input:checked){background:var(--vol-orange)}
.page-fh-fair .fh-volunteers-day:nth-of-type(4):has(input:checked){background:#b5a4ff}
.page-fh-fair .fh-volunteers-day:has(input:checked) .fh-volunteers-day-check{color:#fff;background:var(--vol-ink)}

.page-fh-fair .fh-volunteers-submit-row{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:18px;
    margin-top:2px;
    padding-top:15px;
    border-top:1px dashed rgba(16,16,15,.35);
}

.page-fh-fair .fh-volunteers-submit-row p{
    max-width:460px;
    margin:0;
    color:#706a61;
    font-size:10px;
    line-height:1.45;
    font-weight:700;
}

.page-fh-fair .fh-volunteers-submit{
    flex:0 0 auto;
    min-height:52px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:12px;
    padding:0 18px;
    color:#fff;
    background:var(--vol-red);
    border:2px solid var(--vol-ink);
    border-radius:0;
    box-shadow:6px 6px 0 var(--vol-ink);
    cursor:pointer;
    font:1000 11px/1 ui-monospace,SFMono-Regular,Menlo,monospace;
    letter-spacing:.85px;
    transition:transform .16s ease,box-shadow .16s ease,background .16s ease;
}

.page-fh-fair .fh-volunteers-submit:hover{
    background:var(--vol-purple);
    transform:translate(-2px,-2px);
    box-shadow:8px 8px 0 var(--vol-ink);
}

.page-fh-fair .fh-volunteers-alert{
    display:flex;
    align-items:flex-start;
    gap:10px;
    margin:0 0 17px;
    padding:11px 12px;
    border:1.5px solid var(--vol-ink);
    color:var(--vol-ink);
    font-size:12px;
    line-height:1.45;
    font-weight:850;
}

.page-fh-fair .fh-volunteers-alert>span{
    flex:0 0 auto;
    width:24px;
    height:24px;
    display:grid;
    place-items:center;
    color:#fff;
    background:var(--vol-ink);
    border-radius:50%;
    font:1000 12px/1 ui-monospace,SFMono-Regular,Menlo,monospace;
}

.page-fh-fair .fh-volunteers-alert p{margin:0 0 4px;color:inherit;font-size:inherit;line-height:inherit}
.page-fh-fair .fh-volunteers-alert p:last-child{margin-bottom:0}
.page-fh-fair .fh-volunteers-alert--success{background:var(--vol-acid)}
.page-fh-fair .fh-volunteers-alert--error{background:#ffb5aa}

.page-fh-fair .fh-volunteers-hp{
    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;
}

@media(max-width:1000px){
    .page-fh-fair .fh-volunteers{
        grid-template-columns:minmax(0,1fr) 210px;
        gap:28px;
    }

    .page-fh-fair .fh-volunteers-art{min-height:280px}
    .page-fh-fair .fh-volunteers-form{grid-template-columns:minmax(0,1.2fr) 120px minmax(0,1fr)}
    .page-fh-fair .fh-volunteers-field:nth-of-type(4){grid-column:1/-1}
    .page-fh-fair .fh-volunteers-days{grid-template-columns:repeat(2,minmax(0,1fr))}
}

@media(max-width:700px){
    .page-fh-fair #volunteers{scroll-margin-top:78px}

    .page-fh-fair .fh-volunteers{
        grid-template-columns:1fr;
        gap:24px;
        padding:24px 16px 22px;
        box-shadow:8px 8px 0 var(--vol-purple);
        background:
            radial-gradient(circle at 16% 20%,rgba(255,255,255,.44),transparent 21%),
            linear-gradient(155deg,var(--vol-pink) 0 29%,var(--vol-paper) 29% 100%);
    }

    .page-fh-fair .fh-volunteers h2{font-size:clamp(46px,15vw,70px)}
    .page-fh-fair .fh-volunteers-intro{padding-left:12px;font-size:14px}
    .page-fh-fair .fh-volunteers-programs{gap:5px}
    .page-fh-fair .fh-volunteers-programs span{font-size:7.5px;padding:0 6px}
    .page-fh-fair .fh-volunteers-open{width:100%;margin-top:24px}

    .page-fh-fair .fh-volunteers-art{
        min-height:215px;
        place-items:start center;
    }

    .page-fh-fair .fh-volunteers-dateblock{
        width:190px;
        padding:17px;
        box-shadow:8px 8px 0 var(--vol-ink);
    }

    .page-fh-fair .fh-volunteers-dateblock strong{font-size:92px}
    .page-fh-fair .fh-volunteers-sticker{width:50px;height:50px;font-size:22px}
    .page-fh-fair .fh-volunteers-sticker--heart{left:calc(50% - 124px);top:1px}
    .page-fh-fair .fh-volunteers-sticker--star{right:calc(50% - 125px);top:20px}
    .page-fh-fair .fh-volunteers-sticker--hand{right:calc(50% - 116px);bottom:8px;font-size:18px}

    .page-fh-fair .fh-volunteers-form-panel{
        padding:17px 14px 16px;
        box-shadow:6px 6px 0 var(--vol-acid);
    }

    .page-fh-fair .fh-volunteers-form-head{grid-template-columns:1fr;gap:10px}
    .page-fh-fair .fh-volunteers-form-head>span{width:fit-content}
    .page-fh-fair .fh-volunteers-form{grid-template-columns:1fr;gap:13px}
    .page-fh-fair .fh-volunteers-field,
    .page-fh-fair .fh-volunteers-field--wide,
    .page-fh-fair .fh-volunteers-days,
    .page-fh-fair .fh-volunteers-submit-row{grid-column:1!important}
    .page-fh-fair .fh-volunteers-days{grid-template-columns:1fr}
    .page-fh-fair .fh-volunteers-submit-row{align-items:stretch;flex-direction:column}
    .page-fh-fair .fh-volunteers-submit-row p{max-width:none}
    .page-fh-fair .fh-volunteers-submit{width:100%;justify-content:space-between}
}



/* =========================================================
   VOLONTERI - STANDALONE PAGE
   Direct-share volunteer application page.
   ========================================================= */

.page-fh-fair.page-fh-volunteers{
    min-height:100vh;
    background:
        radial-gradient(circle at 8% 13%,rgba(217,255,67,.38) 0 110px,transparent 112px),
        radial-gradient(circle at 93% 22%,rgba(118,87,255,.18) 0 150px,transparent 152px),
        linear-gradient(135deg,#fff9ea 0 46%,#ffd2dc 46% 100%);
    color:#10100f;
}

.page-fh-volunteers .volunteer-page-shell{
    width:min(1180px,calc(100% - 34px));
    margin:0 auto;
    padding:24px 0 64px;
}

.page-fh-volunteers .volunteer-page-topbar{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:18px;
    margin-bottom:24px;
}

.page-fh-volunteers .volunteer-page-brand{
    display:inline-flex;
    align-items:center;
    gap:12px;
    color:#10100f;
    text-decoration:none;
    font:1000 12px/1 ui-monospace,SFMono-Regular,Menlo,monospace;
    letter-spacing:.55px;
    text-transform:uppercase;
}

.page-fh-volunteers .volunteer-page-brand img{
    width:54px;
    height:54px;
    object-fit:contain;
    padding:5px;
    background:#fff9ea;
    border:2px solid #10100f;
    box-shadow:4px 4px 0 #7657ff;
}

.page-fh-volunteers .volunteer-page-actions{
    display:flex;
    align-items:center;
    justify-content:flex-end;
    gap:8px;
    flex-wrap:wrap;
}

.page-fh-volunteers .volunteer-page-back,
.page-fh-volunteers .volunteer-page-lang{
    min-height:38px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:8px;
    padding:0 11px;
    color:#10100f;
    background:#fff9ea;
    border:1.5px solid #10100f;
    box-shadow:3px 3px 0 #10100f;
    text-decoration:none;
    font:1000 9px/1 ui-monospace,SFMono-Regular,Menlo,monospace;
    letter-spacing:.6px;
    text-transform:uppercase;
}

.page-fh-volunteers .volunteer-page-lang.is-active{
    color:#fff;
    background:#7657ff;
}

.page-fh-volunteers .fh-volunteers--page{
    width:100%;
    grid-template-columns:minmax(0,1fr) minmax(220px,.36fr);
    margin:0;
    box-shadow:16px 16px 0 #7657ff;
}

.page-fh-volunteers .fh-volunteers--page .fh-volunteers-programs{
    max-width:760px;
}

.page-fh-volunteers .fh-volunteers--page .fh-volunteers-form-panel{
    display:block;
    margin-top:18px;
}

.page-fh-volunteers .volunteer-page-mini-note{
    display:inline-flex;
    align-items:center;
    gap:8px;
    margin-top:20px;
    padding:8px 10px;
    color:#fff;
    background:#10100f;
    font:1000 9px/1.25 ui-monospace,SFMono-Regular,Menlo,monospace;
    letter-spacing:.45px;
    text-transform:uppercase;
    transform:rotate(-.7deg);
}

.page-fh-volunteers .volunteer-page-footer{
    margin-top:26px;
    padding:18px 4px 0;
    border-top:1px dashed rgba(16,16,15,.38);
    color:#5f5951;
    text-align:center;
    font-size:11px;
    line-height:1.5;
    font-weight:750;
}

@media(max-width:700px){
    .page-fh-volunteers .volunteer-page-shell{
        width:min(100% - 22px,1180px);
        padding-top:14px;
    }

    .page-fh-volunteers .volunteer-page-topbar{
        align-items:flex-start;
        flex-direction:column;
    }

    .page-fh-volunteers .volunteer-page-actions{
        width:100%;
        justify-content:flex-start;
    }

    .page-fh-volunteers .volunteer-page-back{
        flex:1 1 100%;
    }

    .page-fh-volunteers .fh-volunteers--page{
        box-shadow:8px 8px 0 #7657ff;
    }
}

/* =========================================================
   VOLUNTEERS STANDALONE - COMPACT MOBILE LAYOUT
   Keeps desktop untouched; mobile priority: title > intro > program tiles.
   ========================================================= */
@media(max-width:700px){
    .page-fh-volunteers .volunteer-page-shell{
        width:min(100% - 16px,1180px);
        padding:10px 0 30px;
    }

    .page-fh-volunteers .volunteer-page-topbar{
        gap:10px;
        margin-bottom:14px;
    }

    .page-fh-volunteers .volunteer-page-brand{
        gap:9px;
        font-size:9px;
        letter-spacing:.3px;
    }

    .page-fh-volunteers .volunteer-page-brand img{
        width:42px;
        height:42px;
        padding:4px;
        box-shadow:3px 3px 0 #7657ff;
    }

    .page-fh-volunteers .volunteer-page-actions{
        gap:6px;
    }

    .page-fh-volunteers .volunteer-page-back,
    .page-fh-volunteers .volunteer-page-lang{
        min-height:34px;
        padding:0 9px;
        font-size:8px;
        box-shadow:2px 2px 0 #10100f;
    }

    .page-fh-volunteers .volunteer-page-back{
        flex:1 1 auto;
    }

    .page-fh-volunteers .fh-volunteers--page{
        gap:14px;
        padding:18px 12px 16px;
        box-shadow:6px 6px 0 #7657ff;
        background:
            radial-gradient(circle at 10% 10%,rgba(255,255,255,.42),transparent 19%),
            linear-gradient(160deg,var(--vol-pink) 0 21%,var(--vol-paper) 21% 100%);
    }

    .page-fh-volunteers .fh-volunteers--page .fh-volunteers-copy{
        display:flex;
        flex-direction:column;
        align-self:stretch;
    }

    /* Mobile reading order starts directly with the main message. */
    .page-fh-volunteers .fh-volunteers--page .fh-volunteers-kicker,
    .page-fh-volunteers .fh-volunteers--page .fh-volunteers-eyebrow{
        display:none;
    }

    .page-fh-volunteers .fh-volunteers--page h2{
        order:1;
        max-width:none;
        margin:0;
        font-size:clamp(41px,12.8vw,58px);
        line-height:.82;
        letter-spacing:-.065em;
    }

    .page-fh-volunteers .fh-volunteers--page .fh-volunteers-intro{
        order:2;
        max-width:none;
        margin:13px 0 0;
        padding-left:10px;
        border-left-width:4px;
        font-size:13px;
        line-height:1.46;
    }

    /* Five program tiles: three on first row, two wider tiles below. */
    .page-fh-volunteers .fh-volunteers--page .fh-volunteers-programs{
        order:3;
        width:100%;
        max-width:none;
        display:grid;
        grid-template-columns:repeat(6,minmax(0,1fr));
        gap:6px;
        margin-top:14px;
    }

    .page-fh-volunteers .fh-volunteers--page .fh-volunteers-programs span{
        grid-column:span 2;
        min-width:0;
        min-height:38px;
        justify-content:center;
        gap:5px;
        padding:0 5px;
        font-size:7.4px;
        line-height:1.05;
        text-align:center;
        box-shadow:2px 2px 0 var(--vol-ink);
        transform:none!important;
    }

    .page-fh-volunteers .fh-volunteers--page .fh-volunteers-programs span:nth-child(4),
    .page-fh-volunteers .fh-volunteers--page .fh-volunteers-programs span:nth-child(5){
        grid-column:span 3;
    }

    .page-fh-volunteers .fh-volunteers--page .fh-volunteers-programs i{
        font-size:10px;
    }

    .page-fh-volunteers .volunteer-page-mini-note{
        order:4;
        width:fit-content;
        max-width:100%;
        margin-top:11px;
        padding:6px 8px;
        font-size:7.5px;
        line-height:1.2;
        letter-spacing:.25px;
        transform:none;
    }

    /* Date artwork becomes a short horizontal accent instead of a tall block. */
    .page-fh-volunteers .fh-volunteers--page .fh-volunteers-art{
        min-height:0;
        height:auto;
        display:block;
        margin:0;
    }

    .page-fh-volunteers .fh-volunteers--page .fh-volunteers-dateblock{
        width:100%;
        min-height:66px;
        display:grid;
        grid-template-columns:auto minmax(0,1fr) auto;
        align-items:center;
        gap:12px;
        padding:9px 11px;
        box-shadow:4px 4px 0 var(--vol-ink);
        transform:none;
    }

    .page-fh-volunteers .fh-volunteers--page .fh-volunteers-dateblock small{
        margin:0;
        font-size:8px;
        line-height:1.15;
        letter-spacing:.8px;
    }

    .page-fh-volunteers .fh-volunteers--page .fh-volunteers-dateblock strong{
        justify-self:center;
        font-size:38px;
        line-height:.58;
        letter-spacing:-.06em;
    }

    .page-fh-volunteers .fh-volunteers--page .fh-volunteers-dateblock span{
        margin:0;
        padding:6px 7px;
        font-size:8px;
        transform:none;
    }

    .page-fh-volunteers .fh-volunteers--page .fh-volunteers-sticker{
        display:none;
    }

    .page-fh-volunteers .fh-volunteers--page .fh-volunteers-form-panel{
        margin-top:2px;
        padding:14px 11px 13px;
        box-shadow:4px 4px 0 var(--vol-acid);
    }

    .page-fh-volunteers .fh-volunteers--page .fh-volunteers-form-head{
        grid-template-columns:auto minmax(0,1fr);
        gap:9px;
        align-items:start;
        margin-bottom:14px;
        padding-bottom:11px;
    }

    .page-fh-volunteers .fh-volunteers--page .fh-volunteers-form-head>span{
        margin-top:2px;
        padding:5px 6px;
        font-size:7px;
        transform:none;
    }

    .page-fh-volunteers .fh-volunteers--page .fh-volunteers-form-head h3{
        font-size:clamp(25px,8vw,34px);
        line-height:.92;
    }

    .page-fh-volunteers .fh-volunteers--page .fh-volunteers-form-head p{
        margin-top:5px;
        font-size:10.5px;
        line-height:1.4;
    }

    .page-fh-volunteers .fh-volunteers--page .fh-volunteers-form{
        grid-template-columns:1fr;
        gap:11px;
    }

    .page-fh-volunteers .fh-volunteers--page .fh-volunteers-field input{
        min-height:44px;
        padding:10px 11px;
    }

    .page-fh-volunteers .fh-volunteers--page .fh-volunteers-field textarea{
        min-height:96px;
        padding:10px 11px;
    }

    /* Day cards stay compact: 2 x 2 instead of four tall rows. */
    .page-fh-volunteers .fh-volunteers--page .fh-volunteers-days{
        grid-template-columns:repeat(2,minmax(0,1fr));
        gap:7px;
    }

    .page-fh-volunteers .fh-volunteers--page .fh-volunteers-days legend{
        margin-bottom:6px;
    }

    .page-fh-volunteers .fh-volunteers--page .fh-volunteers-day{
        min-height:70px;
        grid-template-columns:34px minmax(0,1fr) 18px;
        gap:6px;
        padding:7px;
        box-shadow:2px 2px 0 rgba(16,16,15,.17);
    }

    .page-fh-volunteers .fh-volunteers--page .fh-volunteers-day-date{
        width:32px;
        height:34px;
        font-size:13px;
    }

    .page-fh-volunteers .fh-volunteers--page .fh-volunteers-day-copy b{
        font-size:9px;
    }

    .page-fh-volunteers .fh-volunteers--page .fh-volunteers-day-copy small{
        font-size:7.4px;
        line-height:1.15;
    }

    .page-fh-volunteers .fh-volunteers--page .fh-volunteers-day-check{
        width:18px;
        height:18px;
        font-size:9px;
    }

    .page-fh-volunteers .fh-volunteers--page .fh-volunteers-submit-row{
        gap:10px;
        padding-top:11px;
    }

    .page-fh-volunteers .fh-volunteers--page .fh-volunteers-submit-row p{
        font-size:8.5px;
        line-height:1.35;
    }

    .page-fh-volunteers .fh-volunteers--page .fh-volunteers-submit{
        min-height:47px;
        padding:0 14px;
        box-shadow:4px 4px 0 var(--vol-ink);
    }

    .page-fh-volunteers .volunteer-page-footer{
        margin-top:18px;
        padding-top:12px;
        font-size:9px;
    }
}

@media(max-width:380px){
    .page-fh-volunteers .fh-volunteers--page h2{
        font-size:39px;
    }

    .page-fh-volunteers .fh-volunteers--page .fh-volunteers-programs span{
        font-size:6.8px;
        gap:4px;
    }

    .page-fh-volunteers .fh-volunteers--page .fh-volunteers-day{
        grid-template-columns:30px minmax(0,1fr) 16px;
        gap:4px;
        padding:6px;
    }

    .page-fh-volunteers .fh-volunteers--page .fh-volunteers-day-date{
        width:29px;
        height:32px;
        font-size:12px;
    }
}

/* =========================================================
   VOLONTERI STANDALONE - MOBILE = FH FAIR MOBILE 1:1
   Final override: standalone volunteer hero follows the same
   mobile layout already used by the volunteer box on fh-fair.php.
   ========================================================= */
@media(max-width:700px){
    .page-fh-volunteers .fh-volunteers--page{
        grid-template-columns:1fr;
        gap:24px;
        padding:24px 16px 22px;
        box-shadow:8px 8px 0 var(--vol-purple);
        background:
            radial-gradient(circle at 16% 20%,rgba(255,255,255,.44),transparent 21%),
            linear-gradient(155deg,var(--vol-pink) 0 29%,var(--vol-paper) 29% 100%);
    }

    .page-fh-volunteers .fh-volunteers--page .fh-volunteers-copy{
        display:block;
        align-self:center;
    }

    .page-fh-volunteers .fh-volunteers--page .fh-volunteers-kicker{
        display:inline-flex;
        min-height:32px;
        margin:0 0 18px;
        padding:0 10px;
        font-size:10px;
        letter-spacing:1.1px;
        transform:rotate(-1deg);
    }

    .page-fh-volunteers .fh-volunteers--page .fh-volunteers-eyebrow{
        display:block;
        max-width:680px;
        margin:0 0 9px;
        font-size:12px;
        line-height:1.35;
        letter-spacing:.45px;
    }

    .page-fh-volunteers .fh-volunteers--page h2{
        max-width:760px;
        margin:0;
        font-size:clamp(46px,15vw,70px);
        line-height:.78;
        letter-spacing:-.075em;
    }

    .page-fh-volunteers .fh-volunteers--page .fh-volunteers-intro{
        max-width:760px;
        margin:25px 0 0;
        padding-left:12px;
        border-left:5px solid var(--vol-red);
        font-size:14px;
        line-height:1.6;
    }

    .page-fh-volunteers .fh-volunteers--page .fh-volunteers-programs{
        width:auto;
        max-width:none;
        display:flex;
        flex-wrap:wrap;
        gap:5px;
        margin-top:24px;
    }

    .page-fh-volunteers .fh-volunteers--page .fh-volunteers-programs span{
        width:auto;
        min-width:0;
        min-height:31px;
        display:inline-flex;
        grid-column:auto;
        align-items:center;
        justify-content:flex-start;
        gap:7px;
        padding:0 6px;
        font-size:7.5px;
        line-height:1;
        text-align:left;
        box-shadow:3px 3px 0 var(--vol-ink);
    }

    .page-fh-volunteers .fh-volunteers--page .fh-volunteers-programs span:nth-child(2){transform:rotate(-1.2deg)!important}
    .page-fh-volunteers .fh-volunteers--page .fh-volunteers-programs span:nth-child(3){transform:rotate(.8deg)!important}
    .page-fh-volunteers .fh-volunteers--page .fh-volunteers-programs span:nth-child(4){transform:rotate(-.6deg)!important}
    .page-fh-volunteers .fh-volunteers--page .fh-volunteers-programs span:nth-child(5){transform:none!important}
    .page-fh-volunteers .fh-volunteers--page .fh-volunteers-programs i{font-size:inherit}

    /* This note does not exist in the fh-fair volunteer box, so hide it on mobile. */
    .page-fh-volunteers .volunteer-page-mini-note{display:none}

    .page-fh-volunteers .fh-volunteers--page .fh-volunteers-art{
        min-height:215px;
        height:auto;
        display:grid;
        margin:0;
        place-items:start center;
    }

    .page-fh-volunteers .fh-volunteers--page .fh-volunteers-dateblock{
        width:190px;
        min-height:0;
        display:block;
        padding:17px;
        box-shadow:8px 8px 0 var(--vol-ink);
        transform:rotate(3deg);
    }

    .page-fh-volunteers .fh-volunteers--page .fh-volunteers-dateblock small{
        display:block;
        margin-bottom:14px;
        font-size:10px;
        line-height:1;
        letter-spacing:1.4px;
    }

    .page-fh-volunteers .fh-volunteers--page .fh-volunteers-dateblock strong{
        display:block;
        font-size:92px;
        line-height:.57;
        letter-spacing:-.09em;
    }

    .page-fh-volunteers .fh-volunteers--page .fh-volunteers-dateblock span{
        display:inline-block;
        margin-top:25px;
        padding:7px 9px;
        font-size:10px;
        line-height:1;
        transform:rotate(-2deg);
    }

    .page-fh-volunteers .fh-volunteers--page .fh-volunteers-sticker{
        display:grid;
        width:50px;
        height:50px;
        font-size:22px;
    }

    .page-fh-volunteers .fh-volunteers--page .fh-volunteers-sticker--heart{
        left:calc(50% - 124px);
        top:1px;
    }

    .page-fh-volunteers .fh-volunteers--page .fh-volunteers-sticker--star{
        right:calc(50% - 125px);
        top:20px;
    }

    .page-fh-volunteers .fh-volunteers--page .fh-volunteers-sticker--hand{
        right:calc(50% - 116px);
        bottom:8px;
        font-size:18px;
    }

    .page-fh-volunteers .fh-volunteers--page .fh-volunteers-form-panel{
        margin-top:6px;
        padding:17px 14px 16px;
        box-shadow:6px 6px 0 var(--vol-acid);
    }

    .page-fh-volunteers .fh-volunteers--page .fh-volunteers-form-head{
        grid-template-columns:1fr;
        gap:10px;
        margin-bottom:21px;
        padding-bottom:17px;
    }

    .page-fh-volunteers .fh-volunteers--page .fh-volunteers-form-head>span{
        width:fit-content;
        margin-top:0;
        padding:7px 8px;
        font-size:9px;
        transform:rotate(-2deg);
    }

    .page-fh-volunteers .fh-volunteers--page .fh-volunteers-form-head h3{
        font-size:clamp(28px,4vw,48px);
        line-height:.92;
    }

    .page-fh-volunteers .fh-volunteers--page .fh-volunteers-form-head p{
        margin:8px 0 0;
        font-size:12px;
        line-height:1.5;
    }

    .page-fh-volunteers .fh-volunteers--page .fh-volunteers-form{
        grid-template-columns:1fr;
        gap:13px;
    }

    .page-fh-volunteers .fh-volunteers--page .fh-volunteers-field input{
        min-height:48px;
        padding:13px 14px;
    }

    .page-fh-volunteers .fh-volunteers--page .fh-volunteers-field textarea{
        min-height:120px;
        padding:13px 14px;
    }

    .page-fh-volunteers .fh-volunteers--page .fh-volunteers-days{
        grid-template-columns:1fr;
        gap:9px;
    }

    .page-fh-volunteers .fh-volunteers--page .fh-volunteers-days legend{
        margin-bottom:9px;
    }

    .page-fh-volunteers .fh-volunteers--page .fh-volunteers-day{
        min-height:84px;
        grid-template-columns:42px minmax(0,1fr) 24px;
        gap:9px;
        padding:10px;
        box-shadow:3px 3px 0 rgba(16,16,15,.17);
    }

    .page-fh-volunteers .fh-volunteers--page .fh-volunteers-day-date{
        width:40px;
        height:42px;
        font-size:16px;
    }

    .page-fh-volunteers .fh-volunteers--page .fh-volunteers-day-copy b{font-size:11px}
    .page-fh-volunteers .fh-volunteers--page .fh-volunteers-day-copy small{font-size:9px;line-height:1.25}
    .page-fh-volunteers .fh-volunteers--page .fh-volunteers-day-check{width:22px;height:22px;font-size:11px}

    .page-fh-volunteers .fh-volunteers--page .fh-volunteers-submit-row{
        gap:18px;
        padding-top:15px;
        align-items:stretch;
        flex-direction:column;
    }

    .page-fh-volunteers .fh-volunteers--page .fh-volunteers-submit-row p{
        max-width:none;
        font-size:10px;
        line-height:1.45;
    }

    .page-fh-volunteers .fh-volunteers--page .fh-volunteers-submit{
        width:100%;
        min-height:52px;
        padding:0 18px;
        justify-content:space-between;
        box-shadow:6px 6px 0 var(--vol-ink);
    }
}

/* =========================================================
   FH FAIR VOL.4 — SOFT ART NAIVE / FLORAL SYSTEM
   Public fair + public participants + internal participants.
   Palette follows the Vol.4 poster/application direction.
   ========================================================= */
.page-fh-fair-home,
.page-fh-fair-public-participants,
.page-fh-fair-internal{
    --fhv4-paper:#fffdf9;
    --fhv4-paper-warm:#f8f1e8;
    --fhv4-red:#ef5149;
    --fhv4-blue:#2f449d;
    --fhv4-blue-soft:#dfe5f6;
    --fhv4-green:#728a68;
    --fhv4-sage:#c3cdb7;
    --fhv4-aqua:#c5e4e4;
    --fhv4-pink:#efabc9;
    --fhv4-yellow:#f5df26;
    --fhv4-ink:#282c3c;
    --fhv4-muted:#6f6d69;
    --fhv4-grid:rgba(239,81,73,.09);
    --fhv4-line:rgba(47,68,157,.22);
    --fair-ink:var(--fhv4-ink);
    --fair-paper:var(--fhv4-paper);
    --fair-paper-2:var(--fhv4-paper-warm);
    --fair-red:var(--fhv4-red);
    --fair-blue:var(--fhv4-blue);
    --fair-acid:var(--fhv4-yellow);
    --fair-pink:var(--fhv4-pink);
    --fair-orange:#e79c5f;
    --fair-white:#fff;
    --fair-line:var(--fhv4-line);
    --fair-muted:var(--fhv4-muted);
    background:var(--fhv4-paper);
    color:var(--fhv4-ink);
}

.page-fh-fair-home .sidebar,
.page-fh-fair-public-participants .sidebar,
.page-fh-fair-internal .sidebar{
    background:rgba(255,253,249,.97);
    border-right:1px solid rgba(47,68,157,.15);
    box-shadow:8px 0 30px rgba(47,68,157,.05);
}

.page-fh-fair-home .sidebar .nav-item,
.page-fh-fair-public-participants .sidebar .nav-item,
.page-fh-fair-internal .sidebar .nav-item{
    color:var(--fhv4-blue);
    border-radius:15px 10px 16px 9px / 10px 16px 9px 15px;
}

.page-fh-fair-home .sidebar .nav-item:hover,
.page-fh-fair-home .sidebar .nav-item.is-active,
.page-fh-fair-public-participants .sidebar .nav-item:hover,
.page-fh-fair-public-participants .sidebar .nav-item.is-active,
.page-fh-fair-internal .sidebar .nav-item:hover,
.page-fh-fair-internal .sidebar .nav-item.is-active{
    color:#fff;
    background:var(--fhv4-blue);
}

.page-fh-fair-home .sidebar .nav-item.is-active .nav-icon,
.page-fh-fair-public-participants .sidebar .nav-item.is-active .nav-icon,
.page-fh-fair-internal .sidebar .nav-item.is-active .nav-icon{
    color:var(--fhv4-yellow);
}

.page-fh-fair-home .sidebar-bottom,
.page-fh-fair-public-participants .sidebar-bottom,
.page-fh-fair-internal .sidebar-bottom{
    border-top-color:rgba(47,68,157,.12);
}

.page-fh-fair-home .mobile-header,
.page-fh-fair-public-participants .mobile-header,
.page-fh-fair-internal .mobile-header{
    background:rgba(255,253,249,.94);
    border-bottom:1px solid rgba(47,68,157,.12);
    backdrop-filter:blur(14px);
}

/* ---------- PUBLIC FH FAIR ---------- */
.page-fh-fair-home .fh-main{
    position:relative;
    isolation:isolate;
    background-color:var(--fhv4-paper);
    background-image:
        linear-gradient(var(--fhv4-grid) 1px,transparent 1px),
        linear-gradient(90deg,var(--fhv4-grid) 1px,transparent 1px);
    background-size:54px 54px;
}

.page-fh-fair-home .fh-main::before{
    content:"";
    position:absolute;
    z-index:0;
    top:360px;
    right:-150px;
    width:min(720px,58vw);
    height:600px;
    opacity:.16;
    pointer-events:none;
    background:url('/images/fair/4/fh-fair-vol4-flowers.jpg') center/contain no-repeat;
    mix-blend-mode:multiply;
    transform:rotate(4deg);
    mask-image:linear-gradient(to bottom,transparent 0,#000 10%,#000 82%,transparent 100%);
}

.page-fh-fair-home .fh-main::after{
    content:"";
    position:absolute;
    z-index:0;
    left:-210px;
    bottom:320px;
    width:min(760px,62vw);
    height:620px;
    opacity:.12;
    pointer-events:none;
    background:url('/images/fair/4/fh-fair-vol4-flowers.jpg') center/contain no-repeat;
    mix-blend-mode:multiply;
    transform:rotate(-7deg) scaleX(-1);
}

.page-fh-fair-home .fh-hero,
.page-fh-fair-home .fh-programs,
.page-fh-fair-home .fh-fair-info{
    position:relative;
    z-index:2;
}

.page-fh-fair-home .fh-hero{
    padding-top:44px;
    padding-bottom:34px;
}

.page-fh-fair-home .fh-hero-inner{
    min-height:610px;
    gap:clamp(28px,5vw,64px);
}

.page-fh-fair-home .fh-back{
    color:var(--fhv4-blue);
    background:rgba(255,255,255,.92);
    border:2px solid var(--fhv4-blue);
    border-radius:16px 10px 18px 9px / 10px 18px 9px 16px;
    box-shadow:5px 5px 0 rgba(239,81,73,.54);
}

.page-fh-fair-home .fh-back:hover{
    box-shadow:7px 7px 0 rgba(239,81,73,.54);
}

.page-fh-fair-home .fair-hero-copy{
    padding-top:48px;
}

.page-fh-fair-home .fh-title{
    color:var(--fhv4-blue);
    font-family:"Arial Black","Trebuchet MS",system-ui,sans-serif;
    font-size:clamp(84px,11vw,170px);
    line-height:.7;
    letter-spacing:-.075em;
    text-shadow:none;
}

.page-fh-fair-home .fh-title::before{
    content:"19 - 20 SEPTEMBAR / KC KRUŽNI TOK";
    left:8px;
    top:-34px;
    color:var(--fhv4-red);
    font-family:ui-monospace,SFMono-Regular,Menlo,monospace;
}

.page-fh-fair-home .fh-title .accent{
    color:var(--fhv4-red);
    -webkit-text-stroke:0;
    text-shadow:none;
    transform:rotate(-1deg);
}

.page-fh-fair-home .fh-intro{
    max-width:720px;
    padding:18px 22px;
    color:var(--fhv4-blue);
    background:rgba(255,255,255,.78);
    border:2px solid rgba(47,68,157,.18);
    border-left:2px solid rgba(47,68,157,.18);
    border-radius:28px 17px 31px 16px / 17px 30px 16px 28px;
    box-shadow:8px 8px 0 rgba(195,205,183,.46);
    font-family:"Trebuchet MS",system-ui,sans-serif;
    font-weight:850;
}

.page-fh-fair-home .fair-hero-visual{
    min-height:500px;
}

.page-fh-fair-home .fair-ticket{
    inset:48px 24px 25px 6px;
    color:var(--fhv4-blue);
    background:rgba(255,255,255,.83);
    border:2px solid rgba(47,68,157,.5);
    border-radius:48% 52% 44% 56% / 54% 45% 55% 46%;
    box-shadow:18px 18px 0 rgba(197,228,228,.72);
    transform:rotate(2deg);
}

.page-fh-fair-home .fair-ticket::before,
.page-fh-fair-home .fair-ticket::after{
    background:var(--fhv4-paper);
    border:2px solid rgba(47,68,157,.35);
}

.page-fh-fair-home .fair-ticket-mark{
    color:var(--fhv4-red);
    font-family:"Arial Black","Trebuchet MS",system-ui,sans-serif;
}

.page-fh-fair-home .fair-symbol-grid span{
    color:var(--fhv4-blue);
    background:var(--fhv4-paper-warm);
    border-color:rgba(47,68,157,.2);
    border-radius:48% 52% 46% 54%;
}

.page-fh-fair-home .fair-symbol-grid span:nth-child(2n){
    color:var(--fhv4-red);
    background:#fff4ef;
}

.page-fh-fair-home .fair-sticker{
    border:0;
    box-shadow:none;
}

.page-fh-fair-home .fair-sticker--one{background:var(--fhv4-yellow);color:var(--fhv4-blue)}
.page-fh-fair-home .fair-sticker--two{background:var(--fhv4-pink);color:#fff}

.page-fh-fair-home .fh-vol4-notice{
    margin-top:28px;
    color:var(--fhv4-ink);
    background:rgba(255,250,221,.9);
    border:2px solid rgba(239,81,73,.48);
    border-radius:30px 18px 28px 19px / 20px 31px 17px 28px;
    box-shadow:9px 10px 0 rgba(239,171,201,.38);
}

.page-fh-fair-home .fh-vol4-notice-label{
    color:var(--fhv4-red);
}

.page-fh-fair-home .fh-vol4-apply-button{
    color:#fff;
    background:var(--fhv4-red);
    border:0;
    border-radius:16px 10px 17px 9px;
    box-shadow:5px 5px 0 var(--fhv4-blue);
}

/* ---------- PUBLIC PARTICIPANT SPOTLIGHT, NEXT TO APPLICATIONS ---------- */
.page-fh-fair-home .fair-hero-participant-visual{
    min-height:0;
    display:flex;
    align-items:flex-end;
    padding:34px 0 10px;
}

.page-fh-fair-home .fh-participant-spotlight{
    position:relative;
    width:100%;
    overflow:hidden;
    padding:22px;
    background:
        linear-gradient(rgba(255,253,249,.93),rgba(255,253,249,.93)),
        url('/images/fair/4/fh-fair-vol4-flowers.jpg') center 78%/112% auto no-repeat;
    border:2px solid rgba(47,68,157,.28);
    border-radius:34px 21px 37px 19px / 22px 36px 19px 32px;
    box-shadow:11px 12px 0 rgba(197,228,228,.72);
}

.page-fh-fair-home .fh-participant-spotlight::after{
    content:"";
    position:absolute;
    right:-56px;
    bottom:-82px;
    width:230px;
    height:230px;
    border-radius:50%;
    background:rgba(239,171,201,.14);
    pointer-events:none;
}

.page-fh-fair-home .fh-participant-spotlight-head{
    position:relative;
    z-index:1;
    display:flex;
    align-items:flex-start;
    justify-content:space-between;
    gap:14px;
    margin-bottom:16px;
}

.page-fh-fair-home .fh-participant-spotlight-head>div:first-child>span{
    display:inline-block;
    margin-bottom:7px;
    color:var(--fhv4-red);
    font:900 8px/1 ui-monospace,SFMono-Regular,Menlo,monospace;
    letter-spacing:1px;
}

.page-fh-fair-home .fh-participant-spotlight-head h2{
    margin:0;
    color:var(--fhv4-blue);
    font-family:"Arial Black","Trebuchet MS",system-ui,sans-serif;
    font-size:clamp(27px,3vw,42px);
    line-height:.95;
    letter-spacing:-.04em;
}

.page-fh-fair-home .fh-participant-spotlight-head p{
    max-width:390px;
    margin:9px 0 0;
    color:#68676e;
    font-size:12px;
    line-height:1.45;
    font-weight:750;
}

.page-fh-fair-home .fh-participant-spotlight-flower{
    display:grid;
    place-items:center;
    flex:0 0 46px;
    width:46px;
    height:46px;
    color:#fff;
    background:var(--fhv4-red);
    border-radius:48% 52% 45% 55%;
    box-shadow:4px 5px 0 var(--fhv4-blue);
    font-size:21px;
    transform:rotate(8deg);
}

.page-fh-fair-home .fh-participant-spotlight-card{
    position:relative;
    z-index:1;
    display:grid;
    grid-template-columns:132px minmax(0,1fr);
    min-height:182px;
    overflow:hidden;
    background:rgba(255,255,255,.94);
    border:1.5px solid rgba(47,68,157,.18);
    border-radius:23px 14px 25px 13px / 15px 24px 13px 22px;
}

.page-fh-fair-home .fh-participant-spotlight-card.is-spinning{
    animation:fhV4SpotlightSpin .38s ease;
}

@keyframes fhV4SpotlightSpin{
    0%{opacity:.48;transform:scale(.985) rotate(-.45deg)}
    65%{opacity:1;transform:scale(1.008) rotate(.2deg)}
    100%{transform:none}
}

.page-fh-fair-home .fh-participant-spotlight-media{
    display:grid;
    place-items:center;
    min-height:182px;
    padding:12px;
    overflow:hidden;
    background:#eef3ec;
}

.page-fh-fair-home .fh-participant-spotlight-media img{
    width:100%;
    height:100%;
    min-height:158px;
    max-height:210px;
    object-fit:cover;
    border-radius:14px 9px 15px 8px;
}

.page-fh-fair-home .fh-participant-spotlight-media.has-logo{
    background:rgba(255,255,255,.95);
}

.page-fh-fair-home .fh-participant-spotlight-media.has-logo img{
    object-fit:contain;
    padding:8px;
    background:#fff;
}

.page-fh-fair-home .fh-participant-spotlight-media>span{
    display:grid;
    place-items:center;
    width:86px;
    height:86px;
    color:#fff;
    background:var(--fhv4-blue);
    border-radius:48% 52% 44% 56%;
    box-shadow:6px 7px 0 var(--fhv4-red);
    font:1000 29px/1 "Arial Black",system-ui,sans-serif;
}

.page-fh-fair-home .fh-participant-spotlight-copy{
    align-self:stretch;
    min-width:0;
    padding:18px 20px 20px;
}

.page-fh-fair-home .fh-participant-spotlight-category{
    display:inline-block;
    max-width:100%;
    padding:5px 7px;
    overflow:hidden;
    color:#fff;
    background:var(--fhv4-green);
    border-radius:9px 6px 10px 5px;
    font:900 7px/1 ui-monospace,SFMono-Regular,Menlo,monospace;
    letter-spacing:.55px;
    text-overflow:ellipsis;
    text-transform:uppercase;
    white-space:nowrap;
}

.page-fh-fair-home .fh-participant-spotlight-copy h3{
    margin:10px 0 4px;
    overflow-wrap:anywhere;
    color:var(--fhv4-blue);
    font-family:"Arial Black","Trebuchet MS",system-ui,sans-serif;
    font-size:clamp(22px,2.7vw,34px);
    line-height:.95;
    letter-spacing:-.04em;
}

.page-fh-fair-home .fh-participant-spotlight-name{
    margin:0 0 7px;
    color:var(--fhv4-red);
    font-size:11px;
    font-weight:900;
}

.page-fh-fair-home .fh-participant-spotlight-bio{
    display:-webkit-box;
    margin:0;
    overflow:hidden;
    color:#4d4d57;
    font-size:12px;
    line-height:1.55;
    font-weight:650;
    -webkit-box-orient:vertical;
    -webkit-line-clamp:6;
}

.page-fh-fair-home .fh-participant-spotlight-meta{
    display:flex;
    flex-wrap:wrap;
    gap:7px;
    margin-top:10px;
}

.page-fh-fair-home .fh-participant-spotlight-meta span,
.page-fh-fair-home .fh-participant-spotlight-meta a{
    display:inline-flex;
    align-items:center;
    gap:5px;
    padding:6px 8px;
    color:var(--fhv4-blue);
    background:var(--fhv4-paper-warm);
    border-radius:9px 6px 10px 5px;
    font-size:9px;
    font-weight:850;
    text-decoration:none;
}

.page-fh-fair-home .fh-participant-spotlight-actions{
    position:relative;
    z-index:1;
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:9px;
    margin-top:12px;
}

.page-fh-fair-home .fh-participant-spotlight-actions button,
.page-fh-fair-home .fh-participant-spotlight-actions a{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:7px;
    min-height:43px;
    padding:0 10px;
    border-radius:13px 9px 14px 8px;
    font:900 10px/1.15 "Trebuchet MS",system-ui,sans-serif;
    text-align:center;
    text-decoration:none;
    cursor:pointer;
}

.page-fh-fair-home .fh-participant-spotlight-actions button{
    color:#fff;
    background:var(--fhv4-blue);
    border:0;
    box-shadow:4px 4px 0 rgba(239,81,73,.75);
}

.page-fh-fair-home .fh-participant-spotlight-actions a{
    color:var(--fhv4-blue);
    background:#fff;
    border:2px solid var(--fhv4-blue);
}

.page-fh-fair-home .fh-participant-spotlight-actions button:hover,
.page-fh-fair-home .fh-participant-spotlight-actions a:hover{
    transform:translateY(-1px);
}

.page-fh-fair-home .fh-participant-spotlight-empty{
    position:relative;
    z-index:1;
    margin:0;
    padding:18px;
    color:var(--fhv4-blue);
    background:rgba(255,255,255,.88);
    border-radius:17px 11px 18px 10px;
    font-weight:800;
}

.page-fh-fair-home .fh-participant-spotlight-actions--single{
    grid-template-columns:1fr;
}

/* ---------- INFO TABS ---------- */
.page-fh-fair-home .fh-fair-info{
    padding:10px clamp(26px,4.8vw,72px) 30px;
}

.page-fh-fair-home .fh-fair-info-inner{
    max-width:1280px;
    margin:0 auto;
    padding:clamp(22px,3vw,38px);
    background:rgba(255,253,249,.88);
    border:2px solid rgba(47,68,157,.23);
    border-radius:36px 23px 40px 21px / 24px 39px 22px 35px;
    box-shadow:12px 13px 0 rgba(197,228,228,.58);
    backdrop-filter:blur(6px);
}

.page-fh-fair-home .fh-fair-info-kicker{
    display:inline-block;
    margin-bottom:16px;
    padding:7px 11px;
    color:#fff;
    background:var(--fhv4-red);
    border-radius:12px 8px 13px 7px;
    font:900 9px/1 ui-monospace,SFMono-Regular,Menlo,monospace;
    letter-spacing:1.1px;
    transform:rotate(-1deg);
}

.page-fh-fair-home .fh-fair-info-tabs{
    display:flex;
    flex-wrap:wrap;
    gap:10px;
    margin-bottom:22px;
}

.page-fh-fair-home .fh-fair-info-tabs button{
    display:inline-flex;
    align-items:center;
    gap:10px;
    min-height:48px;
    padding:0 17px;
    color:var(--fhv4-blue);
    background:#fff;
    border:2px solid rgba(47,68,157,.28);
    border-radius:17px 11px 16px 10px / 10px 17px 9px 16px;
    font:900 12px/1.1 "Trebuchet MS",system-ui,sans-serif;
    cursor:pointer;
    transition:.18s ease;
}

.page-fh-fair-home .fh-fair-info-tabs button:hover{
    transform:translateY(-1px);
}

.page-fh-fair-home .fh-fair-info-tabs button.is-active{
    color:#fff;
    background:var(--fhv4-blue);
    border-color:var(--fhv4-blue);
    box-shadow:5px 5px 0 rgba(239,81,73,.6);
}

.page-fh-fair-home .fh-fair-info-panel{
    display:grid;
    grid-template-columns:96px minmax(0,1fr);
    gap:24px;
    align-items:start;
    padding:24px;
    background:#fff;
    border:1.5px solid rgba(47,68,157,.14);
    border-radius:28px 17px 29px 16px / 17px 29px 16px 27px;
}

.page-fh-fair-home .fh-fair-info-panel[hidden]{display:none!important}

.page-fh-fair-home .fh-fair-info-icon{
    display:grid;
    place-items:center;
    width:84px;
    height:84px;
    color:#fff;
    background:var(--fhv4-red);
    border-radius:47% 53% 45% 55% / 55% 44% 56% 45%;
    box-shadow:6px 7px 0 rgba(47,68,157,.75);
    font-size:32px;
    transform:rotate(-5deg);
}

.page-fh-fair-home [data-fh-info-panel="music"] .fh-fair-info-icon{
    background:var(--fhv4-blue);
    box-shadow:6px 7px 0 rgba(239,171,201,.75);
    transform:rotate(5deg);
}

.page-fh-fair-home .fh-fair-info-panel h2{
    margin:0 0 12px;
    color:var(--fhv4-blue);
    font-family:"Arial Black","Trebuchet MS",system-ui,sans-serif;
    font-size:clamp(31px,4vw,54px);
    line-height:.95;
    letter-spacing:-.035em;
}

.page-fh-fair-home [data-fh-info-panel="music"] h2{color:var(--fhv4-red)}

.page-fh-fair-home .fh-fair-info-panel>div>p{
    max-width:900px;
    margin:0;
    color:#55545b;
    font-size:15px;
    line-height:1.7;
    font-weight:700;
}

.page-fh-fair-home .fh-fair-parking-note,
.page-fh-fair-home .fh-fair-music-time{
    display:flex;
    align-items:flex-start;
    gap:12px;
    margin-top:16px!important;
    padding:14px 16px;
    color:var(--fhv4-blue)!important;
    background:#f2f4ec;
    border-radius:17px 11px 18px 10px;
}

.page-fh-fair-home .fh-fair-parking-note i{
    flex:0 0 auto;
    color:var(--fhv4-red);
    font-size:21px;
}

.page-fh-fair-home .fh-fair-music-time{
    align-items:center;
    background:#fff4f1;
}

.page-fh-fair-home .fh-fair-music-time strong{
    flex:0 0 auto;
    padding:8px 10px;
    color:#fff;
    background:var(--fhv4-red);
    border-radius:12px 8px 11px 9px;
    font-size:18px;
}

/* ---------- HOME CARDS ---------- */
.page-fh-fair-home .fh-programs{
    padding-top:18px;
}

.page-fh-fair-home .fh-grid{
    gap:30px;
}

.page-fh-fair-home .fh-gearswap,
.page-fh-fair-home .fh-volunteers,
.page-fh-fair-home .fh-card,
.page-fh-fair-home .fh-sara-special,
.page-fh-fair-home .fh-admin-participant-draw{
    overflow:hidden;
    background:rgba(255,253,249,.92);
    border:2px solid rgba(47,68,157,.25);
    border-radius:38px 22px 35px 21px / 23px 39px 21px 34px;
    box-shadow:12px 13px 0 rgba(195,205,183,.5);
}

.page-fh-fair-home .fh-gearswap{
    border-color:rgba(114,138,104,.5);
    box-shadow:12px 13px 0 rgba(197,228,228,.62);
}

.page-fh-fair-home .fh-gearswap-copy,
.page-fh-fair-home .fh-gearswap-form-wrap{
    background:transparent;
}

.page-fh-fair-home .fh-gearswap h2,
.page-fh-fair-home .fh-volunteers h2,
.page-fh-fair-home .fh-card h2{
    color:var(--fhv4-blue);
    font-family:"Arial Black","Trebuchet MS",system-ui,sans-serif;
    letter-spacing:-.035em;
}

.page-fh-fair-home .fh-gearswap-kicker,
.page-fh-fair-home .fh-volunteers-kicker,
.page-fh-fair-home .fh-kicker{
    color:var(--fhv4-red);
}

.page-fh-fair-home .fh-gearswap-note{
    color:var(--fhv4-blue);
    background:#f3f5ed;
    border-color:rgba(114,138,104,.24);
}

.page-fh-fair-home .fh-gearswap-tags span,
.page-fh-fair-home .fh-volunteers-programs span{
    color:var(--fhv4-blue);
    background:#fff;
    border-color:rgba(47,68,157,.18);
    border-radius:12px 8px 12px 7px;
}

.page-fh-fair-home .fh-gearswap-form{
    background:rgba(255,255,255,.72);
    border:1px solid rgba(47,68,157,.12);
    border-radius:28px 18px 29px 17px;
}

.page-fh-fair-home .fh-gearswap-field input,
.page-fh-fair-home .fh-gearswap-field textarea{
    color:var(--fhv4-ink);
    background:#fff;
    border:2px solid rgba(47,68,157,.32);
    border-radius:15px 10px 16px 9px;
}

.page-fh-fair-home .fh-gearswap-day-choice,
.page-fh-fair-home .fh-gearswap-choice{
    background:#fff;
    border-color:rgba(47,68,157,.2);
    border-radius:15px 10px 16px 9px;
}

.page-fh-fair-home .fh-gearswap-submit,
.page-fh-fair-home .fh-volunteers-open{
    color:#fff;
    background:var(--fhv4-blue);
    border:0;
    border-radius:15px 10px 16px 9px;
    box-shadow:5px 5px 0 rgba(239,81,73,.72);
}

.page-fh-fair-home .fh-volunteers{
    color:var(--fhv4-ink);
    background:#fff8f4;
    border-color:rgba(239,81,73,.33);
    box-shadow:12px 13px 0 rgba(239,171,201,.45);
}

.page-fh-fair-home .fh-volunteers-art{
    opacity:.86;
}

.page-fh-fair-home .fh-sara-special{
    --sara-pink:#f5cedf;
    --sara-pink-light:#fbe8f0;
    --sara-ink:var(--fhv4-blue);
    --sara-green:#7fa78b;
    --sara-cream:#fffaf5;
    background:
        radial-gradient(circle at 88% 16%, rgba(197,228,228,.54) 0 16%, transparent 17%),
        radial-gradient(circle at 10% 96%, rgba(239,171,201,.28) 0 19%, transparent 20%),
        linear-gradient(135deg, rgba(255,250,245,.98), rgba(248,222,233,.92));
    border-color:rgba(47,68,157,.22)!important;
    border-radius:34px 22px 40px 26px!important;
    box-shadow:0 16px 34px rgba(47,68,157,.10),9px 10px 0 rgba(197,228,228,.50)!important;
}

.page-fh-fair-home .fh-sara-special h2{color:var(--fhv4-blue)}
.page-fh-fair-home .fh-sara-special-subtitle,
.page-fh-fair-home .fh-sara-special-meta span{
    border-color:rgba(47,68,157,.18)!important;
    border-radius:999px!important;
    background:rgba(255,255,255,.62)!important;
}
.page-fh-fair-home .fh-sara-special-link{
    border-radius:16px 12px 18px 13px!important;
    border-color:rgba(47,68,157,.24)!important;
    box-shadow:5px 6px 0 rgba(239,171,201,.64)!important;
}
.page-fh-fair-home .fh-sara-special-poster-wrap{
    border-radius:26px 18px 30px 20px!important;
    border-color:rgba(47,68,157,.16)!important;
    box-shadow:8px 10px 0 rgba(239,171,201,.36),0 14px 28px rgba(47,68,157,.09)!important;
}
.page-fh-fair-home .fh-sara-special-poster{border-radius:19px 13px 22px 15px!important}

.page-fh-fair-home .fh-slider-controls button,
.page-fh-fair-home .fair-photo-page-arrow{
    color:var(--fhv4-blue);
    background:#fff;
    border-color:rgba(47,68,157,.28);
    border-radius:50%;
}

.page-fh-fair-home .fh-gallery-item,
.page-fh-fair-home .fh-edition-card,
.page-fh-fair-home .fh-video-card{
    border-color:rgba(47,68,157,.18);
    border-radius:18px 12px 20px 11px;
    overflow:hidden;
}

/* ---------- ADMIN RANDOM PARTICIPANT BOX ---------- */
.page-fh-fair-home .fh-admin-participant-draw{
    grid-column:1/-1;
    padding:clamp(24px,4vw,44px);
    background:rgba(255,253,249,.96);
    border-color:rgba(47,68,157,.34);
    box-shadow:13px 14px 0 rgba(239,171,201,.52);
}

.page-fh-fair-home .fh-admin-participant-draw-head{
    display:flex;
    align-items:flex-start;
    justify-content:space-between;
    gap:22px;
    margin-bottom:22px;
}

.page-fh-fair-home .fh-admin-participant-draw-head span{
    display:inline-block;
    margin-bottom:8px;
    color:var(--fhv4-red);
    font:900 9px/1 ui-monospace,SFMono-Regular,Menlo,monospace;
    letter-spacing:1.1px;
}

.page-fh-fair-home .fh-admin-participant-draw-head h2{
    margin:0;
    color:var(--fhv4-blue);
    font-family:"Arial Black","Trebuchet MS",system-ui,sans-serif;
    font-size:clamp(32px,4.6vw,60px);
    line-height:.93;
    letter-spacing:-.04em;
}

.page-fh-fair-home .fh-admin-participant-draw-head p{
    max-width:680px;
    margin:12px 0 0;
    color:var(--fhv4-muted);
    font-weight:700;
    line-height:1.55;
}

.page-fh-fair-home .fh-admin-participant-flower{
    display:grid;
    place-items:center;
    flex:0 0 72px;
    width:72px;
    height:72px;
    color:#fff;
    background:var(--fhv4-red);
    border-radius:47% 53% 46% 54%;
    box-shadow:6px 7px 0 var(--fhv4-blue);
    font-size:34px;
    transform:rotate(8deg);
}

.page-fh-fair-home .fh-admin-participant-card{
    display:grid;
    grid-template-columns:minmax(220px,360px) minmax(0,1fr);
    min-height:340px;
    overflow:hidden;
    background:#fff;
    border:2px solid rgba(47,68,157,.22);
    border-radius:31px 18px 34px 17px / 18px 33px 17px 30px;
}

.page-fh-fair-home .fh-admin-participant-card.is-spinning{
    animation:fhV4CardSpin .42s ease;
}

@keyframes fhV4CardSpin{
    0%{opacity:.4;transform:scale(.985) rotate(-.4deg)}
    65%{opacity:1;transform:scale(1.006) rotate(.2deg)}
    100%{transform:none}
}

.page-fh-fair-home .fh-admin-participant-media{
    display:grid;
    place-items:center;
    min-height:340px;
    background:#eef3ec;
    overflow:hidden;
}

.page-fh-fair-home .fh-admin-participant-media img{
    width:100%;
    height:100%;
    min-height:340px;
    max-height:430px;
    object-fit:cover;
}

.page-fh-fair-home .fh-admin-participant-media span{
    display:grid;
    place-items:center;
    width:150px;
    height:150px;
    color:#fff;
    background:var(--fhv4-blue);
    border-radius:48% 52% 44% 56%;
    box-shadow:10px 11px 0 var(--fhv4-red);
    font:1000 52px/1 "Arial Black",system-ui,sans-serif;
}

.page-fh-fair-home .fh-admin-participant-copy{
    padding:clamp(24px,4vw,46px);
    align-self:center;
}

.page-fh-fair-home .fh-admin-participant-category{
    display:inline-block;
    padding:6px 9px;
    color:#fff;
    background:var(--fhv4-green);
    border-radius:10px 7px 11px 6px;
    font:900 9px/1 ui-monospace,SFMono-Regular,Menlo,monospace;
    letter-spacing:.7px;
    text-transform:uppercase;
}

.page-fh-fair-home .fh-admin-participant-copy h3{
    margin:15px 0 6px;
    color:var(--fhv4-blue);
    font-family:"Arial Black","Trebuchet MS",system-ui,sans-serif;
    font-size:clamp(36px,5vw,68px);
    line-height:.9;
    letter-spacing:-.045em;
}

.page-fh-fair-home .fh-admin-participant-name{
    margin:0 0 16px;
    color:var(--fhv4-red);
    font-weight:900;
}

.page-fh-fair-home .fh-admin-participant-bio{
    max-width:700px;
    margin:0;
    color:#55565d;
    line-height:1.62;
    font-weight:650;
}

.page-fh-fair-home .fh-admin-participant-meta{
    display:flex;
    flex-wrap:wrap;
    gap:10px;
    margin-top:18px;
}

.page-fh-fair-home .fh-admin-participant-meta span,
.page-fh-fair-home .fh-admin-participant-meta a{
    display:inline-flex;
    align-items:center;
    gap:7px;
    padding:8px 10px;
    color:var(--fhv4-blue);
    background:var(--fhv4-paper-warm);
    border-radius:11px 8px 12px 7px;
    font-size:11px;
    font-weight:850;
    text-decoration:none;
}

.page-fh-fair-home .fh-admin-participant-actions{
    display:flex;
    flex-wrap:wrap;
    gap:12px;
    margin-top:18px;
}

.page-fh-fair-home .fh-admin-participant-actions button,
.page-fh-fair-home .fh-admin-participant-actions a{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:10px;
    min-height:48px;
    padding:0 17px;
    border:0;
    border-radius:15px 10px 16px 9px;
    font:900 12px/1 "Trebuchet MS",system-ui,sans-serif;
    text-decoration:none;
    cursor:pointer;
}

.page-fh-fair-home .fh-admin-participant-actions button{
    color:#fff;
    background:var(--fhv4-red);
    box-shadow:5px 5px 0 var(--fhv4-blue);
}

.page-fh-fair-home .fh-admin-participant-actions a{
    color:var(--fhv4-blue);
    background:#fff;
    border:2px solid var(--fhv4-blue);
}

.page-fh-fair-home .fh-admin-participant-empty{
    margin:0;
    padding:20px;
    color:var(--fhv4-blue);
    background:#f3f5ed;
    border-radius:18px 12px 19px 11px;
    font-weight:800;
}

/* ---------- INTERNAL PARTICIPANTS: softer presentation + media editor ---------- */
.page-fh-fair-internal .fh-internal-main,
.page-fh-fair-public-participants .fh-public-participants-main{
    position:relative;
    isolation:isolate;
    min-height:100vh;
    margin-left:var(--sidebar-width);
    padding:clamp(38px,5vw,74px) clamp(26px,5vw,74px) 100px;
    background-color:var(--fhv4-paper);
    background-image:
        linear-gradient(var(--fhv4-grid) 1px,transparent 1px),
        linear-gradient(90deg,var(--fhv4-grid) 1px,transparent 1px);
    background-size:54px 54px;
}

.page-fh-fair-internal .fh-internal-main::before,
.page-fh-fair-public-participants .fh-public-participants-main::before{
    content:"";
    position:absolute;
    z-index:0;
    right:-130px;
    top:180px;
    width:min(650px,52vw);
    height:550px;
    opacity:.13;
    pointer-events:none;
    background:url('/images/fair/4/fh-fair-vol4-flowers.jpg') center/contain no-repeat;
    mix-blend-mode:multiply;
    transform:rotate(5deg);
}

.page-fh-fair-internal .fh-internal-main>* ,
.page-fh-fair-public-participants .fh-public-participants-main>*{
    position:relative;
    z-index:2;
}

.page-fh-fair-internal .fh-internal-hero,
.page-fh-fair-public-participants .fh-public-participants-hero{
    max-width:1280px;
    margin:0 auto 34px;
    padding:clamp(24px,3.4vw,42px);
    background:rgba(255,253,249,.9);
    border:2px solid rgba(47,68,157,.24);
    border-radius:38px 22px 36px 20px / 22px 39px 20px 35px;
    box-shadow:12px 13px 0 rgba(197,228,228,.58);
}

.page-fh-fair-internal .fh-internal-hero h1,
.page-fh-fair-public-participants .fh-public-participants-hero h1{
    color:var(--fhv4-blue);
    font-family:"Arial Black","Trebuchet MS",system-ui,sans-serif;
    letter-spacing:-.045em;
    text-transform:none;
}

.page-fh-fair-internal .fh-internal-title-row>strong,
.page-fh-fair-public-participants .fh-public-participants-title-row>strong{
    color:#fff;
    background:var(--fhv4-red);
    border:0;
    border-radius:47% 53% 44% 56%;
    box-shadow:7px 8px 0 var(--fhv4-blue);
}

.page-fh-fair-internal .fh-internal-category{
    background:rgba(255,253,249,.92);
    border:2px solid rgba(47,68,157,.2);
    border-radius:31px 18px 33px 17px / 18px 33px 17px 30px;
    box-shadow:10px 11px 0 rgba(195,205,183,.42);
}

.page-fh-fair-internal .fh-internal-category:nth-child(even){
    border-color:rgba(239,81,73,.24);
    box-shadow:10px 11px 0 rgba(239,171,201,.38);
}

.page-fh-fair-internal .fh-internal-category-head{
    border-bottom-color:rgba(47,68,157,.1);
}

.page-fh-fair-internal .fh-internal-category-head h2{
    color:var(--fhv4-blue);
    font-family:"Arial Black","Trebuchet MS",system-ui,sans-serif;
}

.page-fh-fair-internal .fh-internal-category-head>span{
    color:#fff;
    background:var(--fhv4-red);
    border:0;
    border-radius:10px 7px 11px 6px;
}

.page-fh-fair-internal .fh-participant-card{
    background:#fff;
    border:2px solid rgba(47,68,157,.16);
    border-radius:25px 15px 27px 14px / 15px 27px 14px 25px;
    box-shadow:6px 7px 0 rgba(197,228,228,.45);
}

.page-fh-fair-internal .fh-participant-brand>a,
.page-fh-fair-internal .fh-participant-initials{
    background:#f4f1e7;
    border-color:rgba(47,68,157,.16);
    border-radius:46% 54% 45% 55%;
}

.page-fh-fair-internal .fh-participant-brand h3{color:var(--fhv4-blue)}
.page-fh-fair-internal .fh-participant-brand>div>span{color:var(--fhv4-red)}

.page-fh-fair-internal .fh-participant-meta{
    background:#f4f5ee;
    border-radius:14px 9px 15px 8px;
}

.page-fh-fair-internal .fh-participant-copy aside{
    background:#fff5f1;
    border-left-color:var(--fhv4-red);
    border-radius:12px 8px 13px 7px;
}

.page-fh-fair-internal .fh-participant-photos a{
    border-color:rgba(47,68,157,.15);
    border-radius:12px 8px 13px 7px;
}

.page-fh-fair-internal .fh-visibility-menu{
    background:#f4f5ee;
    border-color:rgba(47,68,157,.14);
    border-radius:20px 13px 21px 12px;
}

.page-fh-fair-internal .fh-visibility-toggle{
    background:#fff;
    border-color:rgba(47,68,157,.13);
    border-radius:12px 8px 13px 7px;
}

.page-fh-fair-internal .ff4-media-message{
    display:flex;
    align-items:center;
    gap:9px;
    margin-top:18px;
    padding:12px 14px;
    border-radius:14px 9px 15px 8px;
    font-weight:850;
}

.page-fh-fair-internal .ff4-media-message--success{
    color:#315a3b;
    background:#edf4e9;
}

.page-fh-fair-internal .ff4-media-message--error{
    color:#932f2b;
    background:#fff0ec;
}

.page-fh-fair-internal .fh-participant-media-editor{
    margin-top:16px;
    overflow:hidden;
    background:#fbf8f1;
    border:1.5px solid rgba(47,68,157,.18);
    border-radius:17px 11px 18px 10px;
}

.page-fh-fair-internal .fh-participant-media-editor summary{
    display:flex;
    align-items:center;
    gap:9px;
    padding:13px 14px;
    color:var(--fhv4-blue);
    cursor:pointer;
    list-style:none;
    font-size:12px;
    font-weight:900;
}

.page-fh-fair-internal .fh-participant-media-editor summary::-webkit-details-marker{display:none}
.page-fh-fair-internal .fh-participant-media-editor summary i:last-child{margin-left:auto;transition:transform .2s ease}
.page-fh-fair-internal .fh-participant-media-editor[open] summary i:last-child{transform:rotate(180deg)}

.page-fh-fair-internal .fh-participant-media-form{
    padding:0 14px 16px;
    border-top:1px solid rgba(47,68,157,.1);
}

.page-fh-fair-internal .fh-participant-media-help{
    margin:13px 0;
    color:var(--fhv4-muted);
    font-size:11px;
    line-height:1.5;
    font-weight:700;
}

.page-fh-fair-internal .fh-participant-media-upload-grid{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:10px;
}

.page-fh-fair-internal .fh-participant-upload-box{
    position:relative;
    display:flex;
    flex-direction:column;
    align-items:flex-start;
    min-height:170px;
    padding:16px;
    background:#f0f3ea;
    border:2px dashed rgba(114,138,104,.65);
    border-radius:20px 12px 21px 11px / 12px 21px 11px 19px;
    cursor:pointer;
}

.page-fh-fair-internal .fh-participant-upload-box--photos{
    background:#fff2ef;
    border-color:rgba(239,81,73,.56);
}

.page-fh-fair-internal .fh-participant-upload-box input{
    position:absolute;
    inset:0;
    width:100%;
    height:100%;
    opacity:0;
    cursor:pointer;
}

.page-fh-fair-internal .fh-participant-upload-icon{
    display:grid;
    place-items:center;
    width:42px;
    height:42px;
    margin-bottom:10px;
    color:#fff;
    background:var(--fhv4-green);
    border-radius:48% 52% 44% 56%;
    font-size:17px;
}

.page-fh-fair-internal .fh-participant-upload-box--photos .fh-participant-upload-icon{background:var(--fhv4-red)}
.page-fh-fair-internal .fh-participant-upload-box strong{color:var(--fhv4-blue);font-size:15px}
.page-fh-fair-internal .fh-participant-upload-box>span:not(.fh-participant-upload-icon){margin-top:3px;font-size:10px;font-weight:800}
.page-fh-fair-internal .fh-participant-upload-box small{margin-top:6px;color:var(--fhv4-muted);font-size:9px;line-height:1.35}
.page-fh-fair-internal .fh-participant-upload-box output{margin-top:auto;padding-top:10px;color:var(--fhv4-red);font:900 9px/1.25 ui-monospace,SFMono-Regular,Menlo,monospace;overflow-wrap:anywhere}

.page-fh-fair-internal .fh-participant-media-preview{
    display:grid;
    grid-template-columns:repeat(5,minmax(0,1fr));
    gap:6px;
    margin-top:10px;
}

.page-fh-fair-internal .fh-participant-media-preview:empty{display:none}
.page-fh-fair-internal .fh-participant-media-preview span{aspect-ratio:1;overflow:hidden;border-radius:10px 7px 11px 6px;background:#eee}
.page-fh-fair-internal .fh-participant-media-preview img{width:100%;height:100%;object-fit:cover;display:block}

.page-fh-fair-internal .fh-participant-media-options{
    display:flex;
    flex-wrap:wrap;
    gap:8px;
    margin-top:12px;
}

.page-fh-fair-internal .fh-participant-media-options label{
    display:flex;
    align-items:center;
    gap:7px;
    padding:8px 10px;
    background:#fff;
    border:1px solid rgba(47,68,157,.14);
    border-radius:10px 7px 11px 6px;
    font-size:10px;
    font-weight:800;
}

.page-fh-fair-internal .fh-participant-media-save{
    display:inline-flex;
    align-items:center;
    gap:8px;
    min-height:42px;
    margin-top:12px;
    padding:0 14px;
    color:#fff;
    background:var(--fhv4-blue);
    border:0;
    border-radius:13px 9px 14px 8px;
    box-shadow:4px 4px 0 rgba(239,81,73,.65);
    font-size:11px;
    font-weight:900;
    cursor:pointer;
}

/* ---------- PUBLIC PARTICIPANTS ---------- */
.page-fh-fair-public-participants .fh-public-participants-main{
    overflow:hidden;
}

.page-fh-fair-public-participants .fh-public-participants-hero .fh-back{
    display:inline-flex;
    align-items:center;
    gap:9px;
    min-height:42px;
    margin-bottom:26px;
    padding:0 13px;
    color:var(--fhv4-blue);
    background:#fff;
    border:2px solid var(--fhv4-blue);
    border-radius:15px 10px 16px 9px;
    box-shadow:5px 5px 0 rgba(239,81,73,.5);
    font-size:11px;
    font-weight:900;
    text-decoration:none;
}

.page-fh-fair-public-participants .fh-public-participants-title-row{
    display:flex;
    align-items:flex-end;
    justify-content:space-between;
    gap:28px;
    margin-top:14px;
}

.page-fh-fair-public-participants .fh-public-participants-hero h1{
    max-width:900px;
    margin:0;
    font-size:clamp(48px,7.5vw,104px);
    line-height:.88;
}

.page-fh-fair-public-participants .fh-public-participants-hero p{
    max-width:760px;
    margin:20px 0 0;
    color:var(--fhv4-blue);
    font-size:16px;
    line-height:1.62;
    font-weight:780;
}

.page-fh-fair-public-participants .fh-public-participants-title-row>strong{
    display:grid;
    place-items:center;
    flex:0 0 132px;
    width:132px;
    height:132px;
    font:1000 46px/1 "Arial Black",system-ui,sans-serif;
    transform:rotate(5deg);
}

.page-fh-fair-public-participants .fh-public-participants-title-row>strong small{
    display:block;
    max-width:92px;
    margin-top:-28px;
    font:900 8px/1.1 ui-monospace,SFMono-Regular,Menlo,monospace;
    letter-spacing:.5px;
    text-align:center;
    text-transform:uppercase;
}

.page-fh-fair-public-participants .fh-public-participants-warning{
    display:flex;
    gap:10px;
    max-width:1280px;
    margin:0 auto 24px;
    padding:14px 16px;
    color:#8e342f;
    background:#fff0eb;
    border-radius:17px 11px 18px 10px;
    font-weight:850;
}

.page-fh-fair-public-participants .fh-public-category-pills{
    display:flex;
    flex-wrap:wrap;
    gap:10px;
    max-width:1280px;
    margin:0 auto 26px;
}

.page-fh-fair-public-participants .fh-public-category-pills a{
    display:inline-flex;
    align-items:center;
    gap:8px;
    min-height:44px;
    padding:0 12px;
    color:var(--fhv4-blue);
    background:#fff;
    border:1.5px solid rgba(47,68,157,.18);
    border-radius:14px 9px 15px 8px;
    font-size:11px;
    font-weight:850;
    text-decoration:none;
}

.page-fh-fair-public-participants .fh-public-category-pills b{
    display:grid;
    place-items:center;
    min-width:24px;
    height:24px;
    padding:0 6px;
    color:#fff;
    background:var(--fhv4-red);
    border-radius:50%;
    font-size:9px;
}

.page-fh-fair-public-participants .fh-public-participants-sections{
    display:grid;
    gap:28px;
    max-width:1280px;
    margin:0 auto;
}

.page-fh-fair-public-participants .fh-public-participant-category{
    padding:clamp(22px,3vw,36px);
    background:rgba(255,253,249,.93);
    border:2px solid rgba(47,68,157,.18);
    border-radius:34px 20px 35px 18px / 20px 35px 18px 32px;
    box-shadow:10px 11px 0 rgba(197,228,228,.5);
    scroll-margin-top:90px;
}

.page-fh-fair-public-participants .fh-public-participant-category:nth-child(even){
    border-color:rgba(239,81,73,.18);
    box-shadow:10px 11px 0 rgba(239,171,201,.38);
}

.page-fh-fair-public-participants .fh-public-participant-category>header{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:18px;
    margin-bottom:22px;
    padding-bottom:18px;
    border-bottom:1px solid rgba(47,68,157,.1);
}

.page-fh-fair-public-participants .fh-public-participant-category>header>div{
    display:flex;
    align-items:center;
    gap:12px;
}

.page-fh-fair-public-participants .fh-public-participant-category>header i{
    color:var(--fhv4-red);
    font-size:22px;
}

.page-fh-fair-public-participants .fh-public-participant-category h2{
    margin:0;
    color:var(--fhv4-blue);
    font-family:"Arial Black","Trebuchet MS",system-ui,sans-serif;
    font-size:clamp(30px,4vw,54px);
    line-height:.93;
    letter-spacing:-.04em;
}

.page-fh-fair-public-participants .fh-public-participant-category>header>span{
    display:grid;
    place-items:center;
    width:46px;
    height:46px;
    color:#fff;
    background:var(--fhv4-red);
    border-radius:47% 53% 44% 56%;
    font:1000 16px/1 "Arial Black",system-ui,sans-serif;
}

.page-fh-fair-public-participants .fh-public-participant-grid{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:18px;
}

.page-fh-fair-public-participants .fh-public-participant-card{
    display:flex;
    flex-direction:column;
    min-width:0;
    padding:20px;
    background:#fff;
    border:1.5px solid rgba(47,68,157,.15);
    border-radius:25px 15px 27px 14px / 15px 27px 14px 25px;
    box-shadow:6px 7px 0 rgba(195,205,183,.34);
}

.page-fh-fair-public-participants .fh-public-participant-brand{
    display:grid;
    grid-template-columns:92px minmax(0,1fr);
    gap:15px;
    align-items:center;
}

.page-fh-fair-public-participants .fh-public-participant-logo{
    display:grid;
    place-items:center;
    width:92px;
    height:92px;
    overflow:hidden;
    background:#f3f1e9;
    border-radius:46% 54% 45% 55%;
}

.page-fh-fair-public-participants .fh-public-participant-logo img{
    width:100%;
    height:100%;
    object-fit:contain;
    padding:8px;
    box-sizing:border-box;
}

.page-fh-fair-public-participants .fh-public-participant-logo span{
    color:var(--fhv4-blue);
    font:1000 30px/1 "Arial Black",system-ui,sans-serif;
}

.page-fh-fair-public-participants .fh-public-participant-brand>div>span{
    color:var(--fhv4-red);
    font:900 8px/1 ui-monospace,SFMono-Regular,Menlo,monospace;
    letter-spacing:.8px;
}

.page-fh-fair-public-participants .fh-public-participant-brand h3{
    margin:6px 0 0;
    color:var(--fhv4-blue);
    font-family:"Arial Black","Trebuchet MS",system-ui,sans-serif;
    font-size:27px;
    line-height:.95;
    letter-spacing:-.035em;
}

.page-fh-fair-public-participants .fh-public-participant-brand p{
    margin:6px 0 0;
    color:var(--fhv4-muted);
    font-size:11px;
    font-weight:800;
}

.page-fh-fair-public-participants .fh-public-participant-bio{
    margin:16px 0 0;
    color:#585960;
    font-size:13px;
    line-height:1.58;
    font-weight:650;
}

.page-fh-fair-public-participants .fh-public-participant-meta{
    display:flex;
    flex-wrap:wrap;
    gap:7px;
    margin-top:16px;
}

.page-fh-fair-public-participants .fh-public-participant-meta span,
.page-fh-fair-public-participants .fh-public-participant-meta a{
    display:inline-flex;
    align-items:center;
    gap:6px;
    padding:7px 9px;
    color:var(--fhv4-blue);
    background:#f3f5ed;
    border-radius:10px 7px 11px 6px;
    font-size:10px;
    font-weight:850;
    text-decoration:none;
}

.page-fh-fair-public-participants .fh-public-participant-photos{
    display:grid;
    grid-template-columns:repeat(5,minmax(0,1fr));
    gap:5px;
    margin-top:auto;
    padding-top:16px;
}

.page-fh-fair-public-participants .fh-public-participant-photos a{
    aspect-ratio:1;
    overflow:hidden;
    border-radius:10px 7px 11px 6px;
    background:#eee;
}

.page-fh-fair-public-participants .fh-public-participant-photos img{
    width:100%;
    height:100%;
    object-fit:cover;
    display:block;
    transition:transform .22s ease;
}

.page-fh-fair-public-participants .fh-public-participant-photos a:hover img{transform:scale(1.04)}

.page-fh-fair-public-participants .fh-public-participant-empty{
    margin:0;
    padding:18px;
    color:var(--fhv4-blue);
    background:#f3f5ed;
    border-radius:16px 10px 17px 9px;
    font-weight:800;
}

/* ---------- RESPONSIVE ---------- */
@media(max-width:980px){
    .page-fh-fair-home .fh-main,
    .page-fh-fair-internal .fh-internal-main,
    .page-fh-fair-public-participants .fh-public-participants-main{
        margin-left:0;
    }

    .page-fh-fair-home .fh-main::before,
    .page-fh-fair-home .fh-main::after,
    .page-fh-fair-internal .fh-internal-main::before,
    .page-fh-fair-public-participants .fh-public-participants-main::before{
        opacity:.08;
    }

    .page-fh-fair-home .fh-admin-participant-card{
        grid-template-columns:260px minmax(0,1fr);
    }

    .page-fh-fair-public-participants .fh-public-participant-grid{
        grid-template-columns:1fr;
    }
}

@media(max-width:720px){
    .page-fh-fair-home .fh-hero{
        padding:90px 16px 22px;
    }

    .page-fh-fair-home .fh-hero-inner{
        min-height:0;
        display:block;
    }

    .page-fh-fair-home .fair-hero-copy{
        padding:48px 0 10px;
    }

    .page-fh-fair-home .fh-title{
        font-size:clamp(72px,22vw,112px);
    }

    .page-fh-fair-home .fh-title::before{
        top:-27px;
        font-size:7px;
    }

    .page-fh-fair-home .fh-intro{
        padding:14px 16px;
        font-size:15px;
    }

    .page-fh-fair-home .fair-hero-visual{
        min-height:360px;
        margin-top:20px;
    }

    .page-fh-fair-home .fair-hero-participant-visual{
        min-height:0;
        margin-top:8px;
        padding:0 0 10px;
    }

    .page-fh-fair-home .fh-participant-spotlight{
        padding:16px;
        border-radius:27px 17px 29px 15px / 18px 28px 15px 25px;
        box-shadow:7px 8px 0 rgba(197,228,228,.68);
    }

    .page-fh-fair-home .fh-participant-spotlight-card{
        grid-template-columns:112px minmax(0,1fr);
        min-height:160px;
    }

    .page-fh-fair-home .fh-participant-spotlight-media{
        min-height:160px;
        padding:9px;
    }

    .page-fh-fair-home .fh-participant-spotlight-media img{
        min-height:138px;
        max-height:180px;
    }

    .page-fh-fair-home .fh-participant-spotlight-copy{
        padding:14px;
    }

    .page-fh-fair-home .fh-participant-spotlight-actions{
        grid-template-columns:1fr;
    }

    .page-fh-fair-home .fair-ticket{
        inset:26px 14px 18px 5px;
    }

    .page-fh-fair-home .fh-fair-info{
        padding:8px 16px 24px;
    }

    .page-fh-fair-home .fh-fair-info-inner{
        padding:18px;
        border-radius:25px 15px 27px 14px;
        box-shadow:7px 8px 0 rgba(197,228,228,.55);
    }

    .page-fh-fair-home .fh-fair-info-tabs{
        display:grid;
        grid-template-columns:1fr 1fr;
        gap:8px;
    }

    .page-fh-fair-home .fh-fair-info-tabs button{
        min-height:52px;
        padding:0 10px;
        justify-content:center;
        text-align:center;
    }

    .page-fh-fair-home .fh-fair-info-panel{
        grid-template-columns:1fr;
        gap:16px;
        padding:18px;
    }

    .page-fh-fair-home .fh-fair-info-icon{
        width:58px;
        height:58px;
        font-size:22px;
    }

    .page-fh-fair-home .fh-fair-info-panel h2{
        font-size:34px;
    }

    .page-fh-fair-home .fh-fair-info-panel>div>p{
        font-size:13px;
    }

    .page-fh-fair-home .fh-programs{
        padding-left:16px;
        padding-right:16px;
    }

    .page-fh-fair-home .fh-admin-participant-draw{
        padding:18px;
    }

    .page-fh-fair-home .fh-admin-participant-draw-head{
        align-items:center;
    }

    .page-fh-fair-home .fh-admin-participant-flower{
        flex-basis:52px;
        width:52px;
        height:52px;
        font-size:24px;
    }

    .page-fh-fair-home .fh-admin-participant-card{
        grid-template-columns:1fr;
    }

    .page-fh-fair-home .fh-admin-participant-media,
    .page-fh-fair-home .fh-admin-participant-media img{
        min-height:240px;
        max-height:300px;
    }

    .page-fh-fair-home .fh-admin-participant-copy{
        padding:22px;
    }

    .page-fh-fair-home .fh-admin-participant-actions{
        display:grid;
        grid-template-columns:1fr;
    }

    .page-fh-fair-home .fh-admin-participant-actions button,
    .page-fh-fair-home .fh-admin-participant-actions a{
        width:100%;
    }

    .page-fh-fair-internal .fh-internal-main,
    .page-fh-fair-public-participants .fh-public-participants-main{
        padding:90px 14px 70px;
    }

    .page-fh-fair-internal .fh-internal-hero,
    .page-fh-fair-public-participants .fh-public-participants-hero{
        padding:20px;
        border-radius:25px 15px 27px 14px;
        box-shadow:7px 8px 0 rgba(197,228,228,.5);
    }

    .page-fh-fair-internal .fh-participant-media-upload-grid{
        grid-template-columns:1fr;
    }

    .page-fh-fair-public-participants .fh-public-participants-title-row{
        align-items:flex-start;
        flex-direction:column;
    }

    .page-fh-fair-public-participants .fh-public-participants-title-row>strong{
        flex-basis:92px;
        width:92px;
        height:92px;
        font-size:32px;
    }

    .page-fh-fair-public-participants .fh-public-participants-title-row>strong small{
        margin-top:-18px;
        font-size:6px;
    }

    .page-fh-fair-public-participants .fh-public-category-pills{
        flex-wrap:nowrap;
        overflow-x:auto;
        padding-bottom:5px;
        scrollbar-width:none;
    }

    .page-fh-fair-public-participants .fh-public-category-pills::-webkit-scrollbar{display:none}
    .page-fh-fair-public-participants .fh-public-category-pills a{flex:0 0 auto}

    .page-fh-fair-public-participants .fh-public-participant-category{
        padding:18px;
        border-radius:25px 15px 27px 14px;
        box-shadow:7px 8px 0 rgba(197,228,228,.45);
    }

    .page-fh-fair-public-participants .fh-public-participant-brand{
        grid-template-columns:72px minmax(0,1fr);
    }

    .page-fh-fair-public-participants .fh-public-participant-logo{
        width:72px;
        height:72px;
    }

    .page-fh-fair-public-participants .fh-public-participant-brand h3{
        font-size:23px;
    }

    .page-fh-fair-public-participants .fh-public-participant-photos{
        grid-template-columns:repeat(3,minmax(0,1fr));
    }
}
@media(max-width:460px){
    .page-fh-fair-home .fh-participant-spotlight-card{
        grid-template-columns:1fr;
    }

    .page-fh-fair-home .fh-participant-spotlight-media,
    .page-fh-fair-home .fh-participant-spotlight-media img{
        min-height:180px;
        max-height:220px;
    }

    .page-fh-fair-home .fh-participant-spotlight-media.has-logo img{
        min-height:150px;
        max-height:190px;
    }
}

/* ========================================================================== 
   FH FAIR VOL.4 — PUBLIC FLORAL FIX / 2026-09-12
   Home spotlight + public participants page. The internal fh-fair-vol4.php
   intentionally has no dependency on this block.
   ========================================================================== */

.page-fh-fair-home .fair-hero-participant-visual{
    align-self:stretch;
    display:flex;
    align-items:center;
    min-height:0;
    padding:8px 0;
}

.page-fh-fair-home .fh-participant-spotlight{
    position:relative;
    isolation:isolate;
    overflow:hidden;
    width:100%;
    padding:clamp(20px,2.6vw,30px);
    background:
        linear-gradient(rgba(255,253,249,.94),rgba(255,253,249,.94)),
        linear-gradient(rgba(239,81,73,.055) 1px,transparent 1px),
        linear-gradient(90deg,rgba(239,81,73,.055) 1px,transparent 1px);
    background-size:auto,34px 34px,34px 34px;
    border:2px solid rgba(39,58,145,.22);
    border-radius:38px 22px 42px 20px / 24px 39px 21px 37px;
    box-shadow:12px 13px 0 rgba(196,225,221,.66);
}

.page-fh-fair-home .fh-participant-spotlight::before{
    content:"";
    position:absolute;
    z-index:-1;
    right:-34px;
    top:-28px;
    width:230px;
    height:190px;
    background:var(--fh-flower-03) center/contain no-repeat;
    opacity:.42;
    transform:rotate(5deg);
    pointer-events:none;
}

.page-fh-fair-home .fh-participant-spotlight::after{
    content:"";
    position:absolute;
    z-index:-1;
    left:-24px;
    bottom:-34px;
    width:190px;
    height:170px;
    background:var(--fh-flower-05) center/contain no-repeat;
    opacity:.18;
    transform:rotate(-8deg);
    pointer-events:none;
}

.page-fh-fair-home .fh-participant-spotlight-head{
    position:relative;
    z-index:3;
    margin-bottom:16px;
}

.page-fh-fair-home .fh-participant-spotlight-head>div:first-child>span{
    color:#ef5149;
    letter-spacing:1.15px;
}

.page-fh-fair-home .fh-participant-spotlight-head h2{
    max-width:520px;
    color:#283c97;
    font-size:clamp(30px,3.2vw,47px);
}

.page-fh-fair-home .fh-participant-spotlight-head p{
    max-width:430px;
    color:#5f6170;
    font-size:12.5px;
}

.page-fh-fair-home .fh-participant-spotlight-flower{
    width:84px;
    height:72px;
    flex:0 0 84px;
    font-size:0;
    background:var(--fh-flower-06) center/contain no-repeat;
    border:0;
    border-radius:0;
    box-shadow:none;
    transform:rotate(4deg);
}

.page-fh-fair-home .fh-participant-spotlight-card{
    position:relative;
    z-index:2;
    grid-template-columns:minmax(118px,148px) minmax(0,1fr);
    min-height:204px;
    overflow:hidden;
    background:rgba(255,255,255,.92);
    border:1.5px solid rgba(39,58,145,.17);
    border-radius:28px 17px 30px 15px / 17px 30px 15px 27px;
    box-shadow:7px 8px 0 rgba(237,178,198,.20);
    backdrop-filter:blur(3px);
}

.page-fh-fair-home .fh-participant-spotlight-card::after{
    content:"";
    position:absolute;
    right:-36px;
    bottom:-48px;
    width:210px;
    height:180px;
    background:var(--fh-flower-04) center/contain no-repeat;
    opacity:.13;
    pointer-events:none;
}

.page-fh-fair-home .fh-participant-spotlight-media{
    position:relative;
    z-index:2;
    min-height:204px;
    padding:15px;
    background:linear-gradient(145deg,#f5f2e8,#eaf3ef);
}

.page-fh-fair-home .fh-participant-spotlight-media img{
    min-height:170px;
    max-height:220px;
    border-radius:20px 12px 22px 11px / 13px 22px 12px 20px;
}

.page-fh-fair-home .fh-participant-spotlight-media.has-logo{
    background:rgba(255,255,255,.9);
}

.page-fh-fair-home .fh-participant-spotlight-media.has-logo img{
    object-fit:contain;
    padding:12px;
    background:rgba(255,255,255,.92);
}

.page-fh-fair-home .fh-participant-spotlight-copy{
    position:relative;
    z-index:2;
    padding:20px 22px;
}

.page-fh-fair-home .fh-participant-spotlight-category{
    color:#283c97;
    background:#dfeab9;
    border:1px solid rgba(43,113,75,.08);
    font-size:7.5px;
}

.page-fh-fair-home .fh-participant-spotlight-copy h3{
    color:#283c97;
    font-size:clamp(24px,2.8vw,37px);
}

.page-fh-fair-home .fh-participant-spotlight-name{
    color:#ef5149;
}

.page-fh-fair-home .fh-participant-spotlight-meta span,
.page-fh-fair-home .fh-participant-spotlight-meta a{
    color:#283c97;
    background:rgba(248,243,231,.90);
    border:1px solid rgba(39,58,145,.08);
}

.page-fh-fair-home .fh-participant-spotlight-actions{
    position:relative;
    z-index:4;
    margin-top:14px;
}

.page-fh-fair-home .fh-participant-spotlight-actions button,
.page-fh-fair-home .fh-participant-spotlight-actions a{
    min-height:46px;
    border-radius:15px 10px 16px 9px / 10px 16px 9px 15px;
    font-size:11px;
    transition:transform .16s ease,box-shadow .16s ease;
}

.page-fh-fair-home .fh-participant-spotlight-actions button{
    color:#fff;
    background:#ef5149;
    box-shadow:5px 5px 0 #283c97;
}

.page-fh-fair-home .fh-participant-spotlight-actions a{
    color:#283c97;
    background:rgba(255,255,255,.95);
    border:2px solid #283c97;
    box-shadow:4px 4px 0 rgba(201,230,222,.82);
}

/* Public participants page */
.page-fh-fair-public-participants{
    --fh-pub-blue:#283c97;
    --fh-pub-red:#ef5149;
    --fh-pub-paper:#fffdfa;
    --fh-pub-cream:#f7f2e7;
    --fh-pub-mint:#c9e3dc;
    --fh-pub-pink:#efbfd1;
    --fh-pub-green:#dceab1;
    background:
        linear-gradient(rgba(255,253,249,.97),rgba(255,253,249,.97)),
        linear-gradient(rgba(239,81,73,.045) 1px,transparent 1px),
        linear-gradient(90deg,rgba(239,81,73,.045) 1px,transparent 1px);
    background-size:auto,38px 38px,38px 38px;
}

.page-fh-fair-public-participants .fh-public-participants-main{
    position:relative;
    overflow:hidden;
    min-height:100vh;
    padding:clamp(86px,9vw,118px) clamp(22px,5vw,72px) 80px;
}

.page-fh-fair-public-participants .fh-public-participants-main::before,
.page-fh-fair-public-participants .fh-public-participants-main::after{
    content:"";
    position:fixed;
    z-index:0;
    width:310px;
    height:260px;
    pointer-events:none;
    opacity:.10;
}

.page-fh-fair-public-participants .fh-public-participants-main::before{
    right:-70px;
    top:90px;
    background:var(--fh-flower-02) center/contain no-repeat;
    transform:rotate(8deg);
}

.page-fh-fair-public-participants .fh-public-participants-main::after{
    left:210px;
    bottom:-90px;
    background:var(--fh-flower-01) center/contain no-repeat;
    transform:rotate(-6deg);
}

.page-fh-fair-public-participants .fh-public-participants-hero,
.page-fh-fair-public-participants .fh-public-category-pills,
.page-fh-fair-public-participants .fh-public-participants-sections,
.page-fh-fair-public-participants .fh-public-participants-warning{
    position:relative;
    z-index:1;
}

.page-fh-fair-public-participants .fh-public-participants-hero--floral{
    position:relative;
    isolation:isolate;
    overflow:hidden;
    max-width:1280px;
    margin:0 auto 24px;
    padding:clamp(25px,4vw,46px);
    background:rgba(255,253,249,.91);
    border:2px solid rgba(40,60,151,.19);
    border-radius:42px 24px 45px 21px / 25px 43px 22px 39px;
    box-shadow:12px 13px 0 rgba(201,227,220,.62);
}

.page-fh-fair-public-participants .fh-public-participants-hero--floral::before{
    content:"";
    position:absolute;
    z-index:-1;
    right:-20px;
    bottom:-55px;
    width:330px;
    height:260px;
    background:var(--fh-flower-06) center/contain no-repeat;
    opacity:.23;
    transform:rotate(7deg);
}

.page-fh-fair-public-participants .fh-public-participants-hero--floral::after{
    content:"";
    position:absolute;
    z-index:-1;
    right:235px;
    top:-52px;
    width:210px;
    height:180px;
    background:var(--fh-flower-03) center/contain no-repeat;
    opacity:.17;
}

.page-fh-fair-public-participants .fh-public-participants-title-row h1{
    color:var(--fh-pub-blue);
    text-wrap:balance;
}

.page-fh-fair-public-participants .fh-public-participants-title-row p{
    max-width:690px;
    color:#60616a;
}

.page-fh-fair-public-participants .fh-public-participants-title-row>strong{
    color:#fff;
    background:var(--fh-pub-red);
    box-shadow:7px 7px 0 var(--fh-pub-blue);
    border-radius:49% 51% 45% 55%;
    transform:rotate(2deg);
}

.page-fh-fair-public-participants .fh-public-category-pills{
    max-width:1280px;
    margin:0 auto 26px;
}

.page-fh-fair-public-participants .fh-public-category-pills a{
    background:rgba(255,255,255,.88);
    border-color:rgba(40,60,151,.14);
    box-shadow:3px 4px 0 rgba(220,234,177,.35);
}

.page-fh-fair-public-participants .fh-public-participant-category{
    position:relative;
    isolation:isolate;
    overflow:hidden;
    background:rgba(255,253,249,.91);
    border-color:rgba(40,60,151,.16);
    box-shadow:11px 12px 0 rgba(201,227,220,.48);
}

.page-fh-fair-public-participants .fh-public-participant-category::after{
    content:"";
    position:absolute;
    z-index:-1;
    right:-60px;
    top:-72px;
    width:245px;
    height:210px;
    background:var(--fh-flower-01) center/contain no-repeat;
    opacity:.08;
    pointer-events:none;
}

.page-fh-fair-public-participants .fh-public-participant-category:nth-child(even)::after{
    background-image:var(--fh-flower-02);
}

.page-fh-fair-public-participants .fh-public-participant-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:20px;
}

.page-fh-fair-public-participants .fh-public-participant-card{
    position:relative;
    isolation:isolate;
    overflow:hidden;
    min-height:320px;
    padding:22px;
    background:rgba(255,255,255,.90);
    border:1.5px solid rgba(40,60,151,.14);
    border-radius:29px 17px 31px 15px / 18px 31px 15px 28px;
    box-shadow:7px 8px 0 rgba(195,207,182,.30);
}

.page-fh-fair-public-participants .fh-public-participant-card:nth-child(3n+2){
    box-shadow:7px 8px 0 rgba(239,191,209,.28);
}

.page-fh-fair-public-participants .fh-public-participant-card:nth-child(3n+3){
    box-shadow:7px 8px 0 rgba(201,227,220,.42);
}

.page-fh-fair-public-participants .fh-public-participant-flower{
    position:absolute;
    z-index:-1;
    right:-30px;
    bottom:-38px;
    width:235px;
    height:210px;
    opacity:.18;
    background-position:center;
    background-repeat:no-repeat;
    background-size:contain;
    transform:rotate(3deg);
    pointer-events:none;
}

.page-fh-fair-public-participants .fh-public-participant-card[data-flower="1"] .fh-public-participant-flower{background-image:var(--fh-flower-01)}
.page-fh-fair-public-participants .fh-public-participant-card[data-flower="2"] .fh-public-participant-flower{background-image:var(--fh-flower-02)}
.page-fh-fair-public-participants .fh-public-participant-card[data-flower="3"] .fh-public-participant-flower{background-image:var(--fh-flower-03)}
.page-fh-fair-public-participants .fh-public-participant-card[data-flower="4"] .fh-public-participant-flower{background-image:var(--fh-flower-04)}
.page-fh-fair-public-participants .fh-public-participant-card[data-flower="5"] .fh-public-participant-flower{background-image:var(--fh-flower-05)}
.page-fh-fair-public-participants .fh-public-participant-card[data-flower="6"] .fh-public-participant-flower{background-image:var(--fh-flower-06)}

.page-fh-fair-public-participants .fh-public-participant-brand,
.page-fh-fair-public-participants .fh-public-participant-bio,
.page-fh-fair-public-participants .fh-public-participant-meta,
.page-fh-fair-public-participants .fh-public-participant-photos{
    position:relative;
    z-index:2;
}

.page-fh-fair-public-participants .fh-public-participant-logo{
    width:100px;
    height:100px;
    background:rgba(247,243,232,.92);
    border:1px solid rgba(40,60,151,.10);
    border-radius:47% 53% 44% 56% / 52% 46% 54% 48%;
    box-shadow:4px 5px 0 rgba(201,227,220,.55);
}

.page-fh-fair-public-participants .fh-public-participant-logo img{
    padding:10px;
}

.page-fh-fair-public-participants .fh-public-participant-brand>div>span{
    color:var(--fh-pub-red);
}

.page-fh-fair-public-participants .fh-public-participant-brand h3{
    color:var(--fh-pub-blue);
    font-size:clamp(25px,2.6vw,34px);
}

.page-fh-fair-public-participants .fh-public-participant-bio{
    max-width:88%;
    color:#555962;
}

.page-fh-fair-public-participants .fh-public-participant-meta span,
.page-fh-fair-public-participants .fh-public-participant-meta a{
    background:rgba(247,243,232,.88);
    border:1px solid rgba(40,60,151,.08);
}

.page-fh-fair-public-participants .fh-public-participant-photos{
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:7px;
    margin-top:18px;
    max-width:78%;
}

.page-fh-fair-public-participants .fh-public-participant-photos img{
    width:100%;
    aspect-ratio:1/1;
    object-fit:cover;
    border-radius:13px 8px 14px 7px;
    border:2px solid rgba(255,255,255,.88);
    box-shadow:2px 3px 0 rgba(40,60,151,.10);
}

@media (max-width:900px){
    .page-fh-fair-home .fair-hero-participant-visual{padding-top:4px}
    .page-fh-fair-home .fh-participant-spotlight-card{grid-template-columns:116px minmax(0,1fr)}
    .page-fh-fair-public-participants .fh-public-participant-grid{grid-template-columns:1fr}
    .page-fh-fair-public-participants .fh-public-participant-card{min-height:0}
}

@media (max-width:640px){
    .page-fh-fair-home .fh-participant-spotlight{
        padding:17px;
        border-radius:29px 18px 31px 16px / 18px 30px 16px 27px;
        box-shadow:8px 9px 0 rgba(196,225,221,.66);
    }
    .page-fh-fair-home .fh-participant-spotlight::before{width:150px;height:120px;right:-34px;top:-14px;opacity:.30}
    .page-fh-fair-home .fh-participant-spotlight::after{display:none}
    .page-fh-fair-home .fh-participant-spotlight-head{margin-bottom:13px}
    .page-fh-fair-home .fh-participant-spotlight-head h2{font-size:30px;max-width:78%}
    .page-fh-fair-home .fh-participant-spotlight-head p{font-size:11px;max-width:82%}
    .page-fh-fair-home .fh-participant-spotlight-flower{position:absolute;right:0;top:0;width:68px;height:60px}
    .page-fh-fair-home .fh-participant-spotlight-card{grid-template-columns:1fr;min-height:0}
    .page-fh-fair-home .fh-participant-spotlight-media{min-height:145px;max-height:170px;padding:11px}
    .page-fh-fair-home .fh-participant-spotlight-media img{min-height:120px;max-height:148px;width:100%}
    .page-fh-fair-home .fh-participant-spotlight-copy{padding:16px}
    .page-fh-fair-home .fh-participant-spotlight-copy h3{font-size:27px}
    .page-fh-fair-home .fh-participant-spotlight-actions{grid-template-columns:1fr;gap:8px}

    .page-fh-fair-public-participants .fh-public-participants-main{padding:78px 14px 55px}
    .page-fh-fair-public-participants .fh-public-participants-hero--floral{padding:21px 18px;margin-bottom:18px}
    .page-fh-fair-public-participants .fh-public-participants-hero--floral::before{width:210px;height:180px;right:-80px;bottom:-40px;opacity:.16}
    .page-fh-fair-public-participants .fh-public-participants-hero--floral::after{display:none}
    .page-fh-fair-public-participants .fh-public-participants-title-row{display:block}
    .page-fh-fair-public-participants .fh-public-participants-title-row>strong{margin-top:18px;width:86px;height:86px}
    .page-fh-fair-public-participants .fh-public-participant-category{padding:18px 14px}
    .page-fh-fair-public-participants .fh-public-participant-category h2{font-size:32px}
    .page-fh-fair-public-participants .fh-public-participant-card{padding:17px}
    .page-fh-fair-public-participants .fh-public-participant-brand{grid-template-columns:78px minmax(0,1fr);gap:12px}
    .page-fh-fair-public-participants .fh-public-participant-logo{width:78px;height:78px}
    .page-fh-fair-public-participants .fh-public-participant-brand h3{font-size:25px}
    .page-fh-fair-public-participants .fh-public-participant-bio{max-width:100%;font-size:12px}
    .page-fh-fair-public-participants .fh-public-participant-flower{width:170px;height:155px;right:-35px;bottom:-26px;opacity:.14}
    .page-fh-fair-public-participants .fh-public-participant-photos{max-width:100%;grid-template-columns:repeat(4,minmax(0,1fr));gap:5px}
}

/* =========================================================
   FH FAIR VOL.4 / FLORAL POSTER REFRESH
   Uses the existing 01-06 flower-circle assets from:
   /images/fh-fair/vol4/
   No poster text/image is used as page content.
   ========================================================= */

.page-fh-fair-home,
.page-fh-fair-gearswap,
.page-fh-fair-public-participants{
    --fh-v4-paper:#fffdfa;
    --fh-v4-paper-2:#faf6ee;
    --fh-v4-blue:#283c97;
    --fh-v4-red:#ef5149;
    --fh-v4-ink:#111a34;
    --fh-v4-mint:#dce9df;
    --fh-v4-sage:#dde6c6;
    --fh-v4-pink:#f1d7df;
    --fh-v4-yellow:#f4e9a5;
    --fh-v4-line:rgba(239,81,73,.075);
    background-color:var(--fh-v4-paper);
    background-image:
        linear-gradient(var(--fh-v4-line) 1px,transparent 1px),
        linear-gradient(90deg,var(--fh-v4-line) 1px,transparent 1px),
        radial-gradient(circle at 12% 8%,rgba(220,233,223,.34),transparent 24%),
        radial-gradient(circle at 88% 88%,rgba(241,215,223,.27),transparent 25%);
    background-size:38px 38px,38px 38px,auto,auto;
}

.page-fh-fair-home .fh-main,
.page-fh-fair-gearswap .fh-gearswap-page-main,
.page-fh-fair-public-participants .fh-public-participants-main{
    background:transparent;
}

.fh-flower-orbit{
    position:absolute;
    z-index:0;
    display:block;
    width:148px;
    aspect-ratio:1;
    border-radius:50%;
    background-color:rgba(255,255,255,.72);
    background-position:center;
    background-repeat:no-repeat;
    background-size:contain;
    box-shadow:0 12px 34px rgba(40,60,151,.08);
    pointer-events:none;
}
.fh-flower-orbit--01{background-image:var(--fh-flower-01)}
.fh-flower-orbit--02{background-image:var(--fh-flower-02)}
.fh-flower-orbit--03{background-image:var(--fh-flower-03)}
.fh-flower-orbit--04{background-image:var(--fh-flower-04)}
.fh-flower-orbit--05{background-image:var(--fh-flower-05)}
.fh-flower-orbit--06{background-image:var(--fh-flower-06)}

/* Main FH Fair page: poster-like paper/grid atmosphere. */
.page-fh-fair-home .fh-hero{
    position:relative;
    isolation:isolate;
    background:
        linear-gradient(rgba(255,253,250,.88),rgba(255,253,250,.88)),
        linear-gradient(var(--fh-v4-line) 1px,transparent 1px),
        linear-gradient(90deg,var(--fh-v4-line) 1px,transparent 1px);
    background-size:auto,38px 38px,38px 38px;
}
.page-fh-fair-home .fh-hero::before,
.page-fh-fair-home .fh-hero::after{
    content:"";
    position:absolute;
    z-index:-1;
    width:210px;
    aspect-ratio:1;
    border-radius:50%;
    background-position:center;
    background-size:contain;
    background-repeat:no-repeat;
    opacity:.18;
    pointer-events:none;
}
.page-fh-fair-home .fh-hero::before{
    left:-70px;
    bottom:4%;
    background-image:var(--fh-flower-01);
}
.page-fh-fair-home .fh-hero::after{
    right:-65px;
    top:8%;
    background-image:var(--fh-flower-06);
}

.page-fh-fair-home .fh-vol4-notice{
    background:rgba(255,255,255,.78);
    border:1.5px solid rgba(40,60,151,.14);
    border-radius:30px 19px 31px 18px / 19px 31px 18px 28px;
    box-shadow:8px 9px 0 rgba(220,233,223,.9);
    backdrop-filter:blur(3px);
}
.page-fh-fair-home .fh-vol4-apply-button{
    background:var(--fh-v4-red);
    border-color:var(--fh-v4-blue);
    color:#fff;
    box-shadow:5px 5px 0 var(--fh-v4-blue);
    border-radius:14px 9px 15px 8px / 9px 15px 8px 14px;
}

/* Participant spotlight: actual 01-06 circles, not generated crops. */
.page-fh-fair-home .fh-participant-spotlight{
    background:
        linear-gradient(rgba(255,253,250,.91),rgba(255,253,250,.91)),
        linear-gradient(var(--fh-v4-line) 1px,transparent 1px),
        linear-gradient(90deg,var(--fh-v4-line) 1px,transparent 1px);
    background-size:auto,34px 34px,34px 34px;
    border-color:rgba(40,60,151,.16);
    box-shadow:11px 12px 0 rgba(220,233,223,.9);
}
.page-fh-fair-home .fh-participant-spotlight::before{
    background-image:var(--fh-flower-03);
    border-radius:50%;
    opacity:.34;
}
.page-fh-fair-home .fh-participant-spotlight::after{
    background-image:var(--fh-flower-05);
    border-radius:50%;
    opacity:.16;
}
.page-fh-fair-home .fh-participant-spotlight-flower{
    background-image:var(--fh-flower-06);
    border-radius:50%;
}
.page-fh-fair-home .fh-participant-spotlight-card::after{
    background-image:var(--fh-flower-04);
    border-radius:50%;
}

/* Gear Swap on main page: informational box + button, just like Volunteers. */
.page-fh-fair-home .fh-gearswap--entry{
    --gear-black:var(--fh-v4-ink);
    --gear-paper:var(--fh-v4-paper);
    --gear-acid:var(--fh-v4-sage);
    --gear-pink:var(--fh-v4-pink);
    --gear-blue:var(--fh-v4-blue);
    --gear-orange:var(--fh-v4-yellow);
    position:relative;
    isolation:isolate;
    grid-column:1/-1;
    display:grid;
    grid-template-columns:minmax(0,1.2fr) minmax(250px,.8fr);
    gap:clamp(24px,4vw,54px);
    padding:clamp(28px,4vw,54px);
    color:var(--fh-v4-ink);
    background:
        linear-gradient(rgba(255,253,250,.92),rgba(255,253,250,.92)),
        linear-gradient(var(--fh-v4-line) 1px,transparent 1px),
        linear-gradient(90deg,var(--fh-v4-line) 1px,transparent 1px);
    background-size:auto,36px 36px,36px 36px;
    border:2px solid rgba(40,60,151,.17);
    border-radius:42px 24px 44px 22px / 25px 42px 22px 39px;
    box-shadow:12px 13px 0 rgba(241,215,223,.68);
    overflow:hidden;
}
.page-fh-fair-home .fh-gearswap--entry::before,
.page-fh-fair-home .fh-gearswap--entry::after{display:none}
.page-fh-fair-home .fh-gearswap--entry .fh-flower-orbit--01{
    width:190px;
    left:-58px;
    bottom:-52px;
    opacity:.30;
    transform:rotate(-7deg);
}
.page-fh-fair-home .fh-gearswap--entry .fh-flower-orbit--04{
    width:150px;
    right:32%;
    top:-48px;
    opacity:.20;
    transform:rotate(8deg);
}
.page-fh-fair-home .fh-gearswap--entry .fh-gearswap-copy{
    position:relative;
    z-index:2;
    padding:0;
}
.page-fh-fair-home .fh-gearswap--entry .fh-gearswap-kicker{
    color:var(--fh-v4-blue);
    background:var(--fh-v4-yellow);
    border:1px solid rgba(40,60,151,.12);
    box-shadow:4px 4px 0 rgba(40,60,151,.12);
    border-radius:999px;
    transform:none;
}
.page-fh-fair-home .fh-gearswap--entry h2{
    max-width:760px;
    margin:0 0 18px;
    color:var(--fh-v4-blue);
    font-size:clamp(39px,5vw,72px);
    line-height:.91;
    letter-spacing:-.055em;
    text-transform:none;
}
.page-fh-fair-home .fh-gearswap--entry .fh-gearswap-intro{
    max-width:690px;
    padding-left:16px;
    color:#555e6b;
    border-left:4px solid var(--fh-v4-red);
    font-size:clamp(14px,1.35vw,17px);
}
.page-fh-fair-home .fh-gearswap--entry .fh-gearswap-note{
    color:var(--fh-v4-ink);
    background:rgba(220,233,223,.65);
    border:1px solid rgba(40,60,151,.12);
    box-shadow:none;
    border-radius:16px 10px 17px 9px / 10px 17px 9px 15px;
    transform:none;
}
.page-fh-fair-home .fh-gearswap--entry .fh-gearswap-tags span{
    color:var(--fh-v4-blue);
    background:rgba(255,255,255,.72);
    border:1px solid rgba(40,60,151,.16);
    border-radius:999px;
    transform:none;
}
.page-fh-fair-home .fh-gearswap--entry .fh-gearswap-tags span:nth-child(2){background:var(--fh-v4-pink);color:var(--fh-v4-blue)}
.page-fh-fair-home .fh-gearswap--entry .fh-gearswap-tags span:nth-child(4){background:var(--fh-v4-sage);color:var(--fh-v4-blue)}
.page-fh-fair-home .fh-gearswap-open{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:12px;
    min-height:54px;
    margin-top:26px;
    padding:0 20px;
    color:#fff;
    background:var(--fh-v4-red);
    border:2px solid var(--fh-v4-blue);
    border-radius:15px 10px 16px 9px / 10px 16px 9px 15px;
    box-shadow:6px 6px 0 var(--fh-v4-blue);
    font:1000 11px/1 ui-monospace,SFMono-Regular,Menlo,monospace;
    letter-spacing:.75px;
    text-decoration:none;
    transition:transform .16s ease,box-shadow .16s ease;
}
.page-fh-fair-home .fh-gearswap-open:hover{
    transform:translate(-2px,-2px);
    box-shadow:8px 8px 0 var(--fh-v4-blue);
}
.page-fh-fair-home .fh-gearswap-entry-art{
    position:relative;
    z-index:2;
    display:grid;
    place-items:center;
    min-height:270px;
}
.page-fh-fair-home .fh-gearswap-entry-disc{
    width:min(270px,80%);
    aspect-ratio:1;
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    border-radius:50%;
    color:var(--fh-v4-blue);
    background:rgba(255,255,255,.76);
    border:2px solid rgba(40,60,151,.14);
    box-shadow:11px 12px 0 rgba(220,233,223,.8);
    transform:rotate(2deg);
}
.page-fh-fair-home .fh-gearswap-entry-disc span,
.page-fh-fair-home .fh-gearswap-entry-disc small{
    font:900 10px/1.1 ui-monospace,SFMono-Regular,Menlo,monospace;
    letter-spacing:1.8px;
}
.page-fh-fair-home .fh-gearswap-entry-disc strong{
    margin:6px 0;
    color:var(--fh-v4-red);
    font-size:clamp(42px,5vw,68px);
    line-height:.9;
    letter-spacing:-.06em;
}
.page-fh-fair-home .fh-gearswap-entry-symbol{
    position:absolute;
    right:6%;
    bottom:7%;
    width:72px;
    height:72px;
    display:grid;
    place-items:center;
    color:#fff;
    background:var(--fh-v4-blue);
    border-radius:50%;
    box-shadow:6px 6px 0 var(--fh-v4-yellow);
    font-size:34px;
    font-weight:1000;
    transform:rotate(-8deg);
}

/* Standalone Gear Swap page. */
.page-fh-fair-gearswap .fh-gearswap-page-main{
    position:relative;
    overflow:hidden;
    min-height:100vh;
    padding:clamp(86px,9vw,116px) clamp(18px,5vw,72px) 76px;
}
.page-fh-fair-gearswap .fh-gearswap-page-hero,
.page-fh-fair-gearswap .fh-gearswap-page-layout{
    position:relative;
    z-index:1;
    width:min(1240px,100%);
    margin-left:auto;
    margin-right:auto;
}
.page-fh-fair-gearswap .fh-gearswap-page-hero{
    isolation:isolate;
    overflow:hidden;
    margin-bottom:26px;
    padding:clamp(26px,4vw,48px);
    background:
        linear-gradient(rgba(255,253,250,.91),rgba(255,253,250,.91)),
        linear-gradient(var(--fh-v4-line) 1px,transparent 1px),
        linear-gradient(90deg,var(--fh-v4-line) 1px,transparent 1px);
    background-size:auto,36px 36px,36px 36px;
    border:2px solid rgba(40,60,151,.16);
    border-radius:44px 25px 46px 22px / 26px 43px 23px 40px;
    box-shadow:12px 13px 0 rgba(220,233,223,.85);
}
.page-fh-fair-gearswap .fh-gearswap-page-hero .fh-flower-orbit--02{
    width:230px;
    right:-70px;
    bottom:-64px;
    opacity:.30;
}
.page-fh-fair-gearswap .fh-gearswap-page-hero .fh-flower-orbit--05{
    width:150px;
    right:25%;
    top:-55px;
    opacity:.16;
}
.page-fh-fair-gearswap .fh-gearswap-page-hero>*:not(.fh-flower-orbit){position:relative;z-index:2}
.page-fh-fair-gearswap .fh-gearswap-page-hero .fh-gearswap-kicker{
    color:var(--fh-v4-blue);
    background:var(--fh-v4-yellow);
    border:0;
    box-shadow:none;
    border-radius:999px;
    transform:none;
}
.page-fh-fair-gearswap .fh-gearswap-page-hero h1{
    max-width:930px;
    margin:18px 0 16px;
    color:var(--fh-v4-blue);
    font-size:clamp(46px,7vw,92px);
    line-height:.89;
    letter-spacing:-.065em;
    text-wrap:balance;
}
.page-fh-fair-gearswap .fh-gearswap-page-hero>p{
    max-width:760px;
    margin:0;
    color:#59616c;
    font-size:clamp(15px,1.5vw,19px);
    line-height:1.65;
    font-weight:700;
}
.page-fh-fair-gearswap .fh-gearswap-page-note{
    display:flex;
    align-items:flex-start;
    gap:10px;
    max-width:720px;
    margin-top:22px;
    padding:13px 15px;
    color:var(--fh-v4-ink);
    background:rgba(241,215,223,.58);
    border:1px solid rgba(40,60,151,.12);
    border-radius:17px 11px 18px 10px / 11px 18px 10px 16px;
    font-size:12px;
    line-height:1.5;
    font-weight:800;
}
.page-fh-fair-gearswap .fh-gearswap-page-layout{
    display:grid;
    grid-template-columns:minmax(260px,.68fr) minmax(0,1.32fr);
    gap:24px;
    align-items:start;
}
.page-fh-fair-gearswap .fh-gearswap-page-aside,
.page-fh-fair-gearswap .fh-gearswap-page-formcard{
    position:relative;
    isolation:isolate;
    overflow:hidden;
    border:1.5px solid rgba(40,60,151,.14);
}
.page-fh-fair-gearswap .fh-gearswap-page-aside{
    min-height:420px;
    padding:30px;
    background:rgba(220,233,223,.74);
    border-radius:34px 20px 36px 18px / 21px 35px 18px 32px;
    box-shadow:10px 11px 0 rgba(244,233,165,.75);
}
.page-fh-fair-gearswap .fh-gearswap-page-aside .fh-flower-orbit--06{
    width:215px;
    right:-70px;
    bottom:-54px;
    opacity:.34;
}
.page-fh-fair-gearswap .fh-gearswap-page-aside>span{
    position:relative;
    z-index:2;
    width:76px;
    height:76px;
    display:grid;
    place-items:center;
    color:#fff;
    background:var(--fh-v4-red);
    border-radius:50%;
    box-shadow:6px 6px 0 var(--fh-v4-blue);
    font-size:34px;
    font-weight:1000;
}
.page-fh-fair-gearswap .fh-gearswap-page-aside h2,
.page-fh-fair-gearswap .fh-gearswap-page-aside p,
.page-fh-fair-gearswap .fh-gearswap-page-aside .fh-gearswap-tags{position:relative;z-index:2}
.page-fh-fair-gearswap .fh-gearswap-page-aside h2{
    margin:24px 0 12px;
    color:var(--fh-v4-blue);
    font-size:clamp(31px,3vw,46px);
    line-height:.95;
    letter-spacing:-.045em;
}
.page-fh-fair-gearswap .fh-gearswap-page-aside p{
    margin:0;
    color:#525b63;
    font-size:14px;
    line-height:1.65;
    font-weight:700;
}
.page-fh-fair-gearswap .fh-gearswap-page-aside .fh-gearswap-tags span{
    color:var(--fh-v4-blue);
    background:rgba(255,255,255,.62);
    border:1px solid rgba(40,60,151,.13);
    border-radius:999px;
    transform:none;
}
.page-fh-fair-gearswap .fh-gearswap-page-formcard{
    padding:clamp(22px,3vw,34px);
    background:rgba(255,253,250,.93);
    border-radius:34px 20px 36px 18px / 21px 35px 18px 32px;
    box-shadow:10px 11px 0 rgba(241,215,223,.72);
}
.page-fh-fair-gearswap .fh-gearswap-page-formcard .fh-flower-orbit--03{
    width:175px;
    right:-58px;
    top:-48px;
    opacity:.16;
}
.page-fh-fair-gearswap .fh-gearswap-page-formcard>*:not(.fh-flower-orbit){position:relative;z-index:2}
.page-fh-fair-gearswap .fh-gearswap-form{
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:16px;
}
.page-fh-fair-gearswap .fh-gearswap-field label,
.page-fh-fair-gearswap .fh-gearswap-days legend,
.page-fh-fair-gearswap .fh-gearswap-intents legend{
    color:var(--fh-v4-blue);
}
.page-fh-fair-gearswap .fh-gearswap-field input,
.page-fh-fair-gearswap .fh-gearswap-field textarea{
    color:var(--fh-v4-ink);
    background:rgba(255,255,255,.88);
    border:1.5px solid rgba(40,60,151,.22);
    border-radius:14px 9px 15px 8px / 9px 15px 8px 14px;
    box-shadow:3px 4px 0 rgba(220,233,223,.55);
}
.page-fh-fair-gearswap .fh-gearswap-field input:focus,
.page-fh-fair-gearswap .fh-gearswap-field textarea:focus{
    background:#fff;
    box-shadow:5px 5px 0 rgba(241,215,223,.72);
    border-color:var(--fh-v4-blue);
}
.page-fh-fair-gearswap .fh-gearswap-day-choice,
.page-fh-fair-gearswap .fh-gearswap-choice{
    background:rgba(255,255,255,.82);
    border:1.5px solid rgba(40,60,151,.19);
    border-radius:16px 10px 17px 9px / 10px 17px 9px 15px;
    box-shadow:3px 4px 0 rgba(220,233,223,.52);
}
.page-fh-fair-gearswap .fh-gearswap-day-choice:has(input:checked){background:var(--fh-v4-blue);box-shadow:5px 5px 0 rgba(244,233,165,.9)}
.page-fh-fair-gearswap .fh-gearswap-day-choice:nth-of-type(2):has(input:checked){background:var(--fh-v4-sage)}
.page-fh-fair-gearswap .fh-gearswap-day-choice:nth-of-type(3):has(input:checked){background:var(--fh-v4-pink)}
.page-fh-fair-gearswap .fh-gearswap-choice:has(input:checked){background:var(--fh-v4-sage);box-shadow:5px 5px 0 rgba(40,60,151,.16)}
.page-fh-fair-gearswap .fh-gearswap-choice:nth-of-type(2):has(input:checked){background:var(--fh-v4-pink)}
.page-fh-fair-gearswap .fh-gearswap-choice:nth-of-type(3):has(input:checked){background:var(--fh-v4-yellow)}
.page-fh-fair-gearswap .fh-gearswap-day-number,
.page-fh-fair-gearswap .fh-gearswap-check{background:var(--fh-v4-blue);color:#fff}
.page-fh-fair-gearswap .fh-gearswap-submit-row{border-top-color:rgba(40,60,151,.15)}
.page-fh-fair-gearswap .fh-gearswap-submit{
    color:#fff;
    background:var(--fh-v4-red);
    border:2px solid var(--fh-v4-blue);
    border-radius:15px 10px 16px 9px / 10px 16px 9px 15px;
    box-shadow:6px 6px 0 var(--fh-v4-blue);
}
.page-fh-fair-gearswap .fh-gearswap-submit:hover{background:var(--fh-v4-blue);box-shadow:7px 7px 0 var(--fh-v4-red)}
.page-fh-fair-gearswap .fh-gearswap-alert{border-color:rgba(40,60,151,.18);border-radius:15px 10px 16px 9px / 10px 16px 9px 15px}
.page-fh-fair-gearswap .fh-gearswap-alert--success{background:rgba(220,233,223,.88)}
.page-fh-fair-gearswap .fh-gearswap-alert--error{background:rgba(241,215,223,.88)}
.page-fh-fair-gearswap .fh-gearswap-alert>span{background:var(--fh-v4-blue)}

/* Public participants: flower circles 01-06 directly from the real Vol.4 folder. */
.page-fh-fair-public-participants .fh-public-participants-main::before{
    background-image:var(--fh-flower-02);
    border-radius:50%;
    opacity:.13;
}
.page-fh-fair-public-participants .fh-public-participants-main::after{
    background-image:var(--fh-flower-01);
    border-radius:50%;
    opacity:.10;
}
.page-fh-fair-public-participants .fh-public-participants-hero--floral{
    background:
        linear-gradient(rgba(255,253,250,.92),rgba(255,253,250,.92)),
        linear-gradient(var(--fh-v4-line) 1px,transparent 1px),
        linear-gradient(90deg,var(--fh-v4-line) 1px,transparent 1px);
    background-size:auto,36px 36px,36px 36px;
}
.page-fh-fair-public-participants .fh-public-participants-hero--floral::before{background-image:var(--fh-flower-06);border-radius:50%}
.page-fh-fair-public-participants .fh-public-participants-hero--floral::after{background-image:var(--fh-flower-03);border-radius:50%}
.page-fh-fair-public-participants .fh-public-participant-category::after{background-image:var(--fh-flower-01);border-radius:50%}
.page-fh-fair-public-participants .fh-public-participant-category:nth-child(even)::after{background-image:var(--fh-flower-02)}
.page-fh-fair-public-participants .fh-public-participant-card{
    background:
        linear-gradient(rgba(255,255,255,.91),rgba(255,255,255,.91)),
        linear-gradient(rgba(239,81,73,.035) 1px,transparent 1px),
        linear-gradient(90deg,rgba(239,81,73,.035) 1px,transparent 1px);
    background-size:auto,28px 28px,28px 28px;
    border-color:rgba(40,60,151,.13);
    box-shadow:7px 8px 0 rgba(220,233,223,.64);
}
.page-fh-fair-public-participants .fh-public-participant-card:nth-child(3n+2){box-shadow:7px 8px 0 rgba(241,215,223,.58)}
.page-fh-fair-public-participants .fh-public-participant-card:nth-child(3n+3){box-shadow:7px 8px 0 rgba(244,233,165,.62)}
.page-fh-fair-public-participants .fh-public-participant-flower{
    right:-22px;
    bottom:-28px;
    width:205px;
    aspect-ratio:1;
    height:auto;
    border-radius:50%;
    background-color:rgba(255,255,255,.68);
    background-size:contain;
    box-shadow:0 10px 28px rgba(40,60,151,.05);
    opacity:.36;
}
.page-fh-fair-public-participants .fh-public-participant-card[data-flower="1"] .fh-public-participant-flower{background-image:var(--fh-flower-01)}
.page-fh-fair-public-participants .fh-public-participant-card[data-flower="2"] .fh-public-participant-flower{background-image:var(--fh-flower-02)}
.page-fh-fair-public-participants .fh-public-participant-card[data-flower="3"] .fh-public-participant-flower{background-image:var(--fh-flower-03)}
.page-fh-fair-public-participants .fh-public-participant-card[data-flower="4"] .fh-public-participant-flower{background-image:var(--fh-flower-04)}
.page-fh-fair-public-participants .fh-public-participant-card[data-flower="5"] .fh-public-participant-flower{background-image:var(--fh-flower-05)}
.page-fh-fair-public-participants .fh-public-participant-card[data-flower="6"] .fh-public-participant-flower{background-image:var(--fh-flower-06)}

@media(max-width:1000px){
    .page-fh-fair-home .fh-gearswap--entry{grid-template-columns:1fr}
    .page-fh-fair-home .fh-gearswap-entry-art{min-height:210px}
    .page-fh-fair-gearswap .fh-gearswap-page-layout{grid-template-columns:1fr}
    .page-fh-fair-gearswap .fh-gearswap-page-aside{min-height:300px}
}

@media(max-width:640px){
    .page-fh-fair-home,
    .page-fh-fair-gearswap,
    .page-fh-fair-public-participants{background-size:30px 30px,30px 30px,auto,auto}

    .page-fh-fair-home .fh-hero::before{width:150px;left:-65px;bottom:2%;opacity:.12}
    .page-fh-fair-home .fh-hero::after{width:140px;right:-65px;top:8%;opacity:.12}

    .page-fh-fair-home .fh-gearswap--entry{
        padding:24px 17px 22px;
        border-radius:30px 18px 32px 16px / 18px 31px 16px 28px;
        box-shadow:8px 9px 0 rgba(241,215,223,.68);
    }
    .page-fh-fair-home .fh-gearswap--entry .fh-gearswap-copy{padding:0}
    .page-fh-fair-home .fh-gearswap--entry h2{font-size:clamp(38px,12vw,56px);max-width:100%}
    .page-fh-fair-home .fh-gearswap--entry .fh-gearswap-intro{font-size:13px}
    .page-fh-fair-home .fh-gearswap--entry .fh-flower-orbit--01{width:120px;left:-42px;bottom:-32px;opacity:.22}
    .page-fh-fair-home .fh-gearswap--entry .fh-flower-orbit--04{width:100px;right:-18px;top:-26px;opacity:.17}
    .page-fh-fair-home .fh-gearswap-entry-art{min-height:170px}
    .page-fh-fair-home .fh-gearswap-entry-disc{width:165px}
    .page-fh-fair-home .fh-gearswap-entry-disc strong{font-size:44px}
    .page-fh-fair-home .fh-gearswap-entry-symbol{width:56px;height:56px;font-size:26px;right:10%;bottom:2%}
    .page-fh-fair-home .fh-gearswap-open{width:100%;min-height:52px}

    .page-fh-fair-gearswap .fh-gearswap-page-main{padding:78px 14px 54px}
    .page-fh-fair-gearswap .fh-gearswap-page-hero{padding:22px 18px;border-radius:30px 18px 32px 16px / 18px 31px 16px 28px;box-shadow:8px 9px 0 rgba(220,233,223,.82)}
    .page-fh-fair-gearswap .fh-gearswap-page-hero h1{font-size:clamp(43px,13vw,62px)}
    .page-fh-fair-gearswap .fh-gearswap-page-hero>p{font-size:14px}
    .page-fh-fair-gearswap .fh-gearswap-page-hero .fh-flower-orbit--02{width:150px;right:-60px;bottom:-38px;opacity:.22}
    .page-fh-fair-gearswap .fh-gearswap-page-hero .fh-flower-orbit--05{display:none}
    .page-fh-fair-gearswap .fh-gearswap-page-aside{min-height:260px;padding:22px 18px}
    .page-fh-fair-gearswap .fh-gearswap-page-aside .fh-flower-orbit--06{width:150px;right:-45px;bottom:-38px}
    .page-fh-fair-gearswap .fh-gearswap-page-formcard{padding:18px 14px}
    .page-fh-fair-gearswap .fh-gearswap-page-formcard .fh-flower-orbit--03{width:115px;right:-42px;top:-38px}
    .page-fh-fair-gearswap .fh-gearswap-form{grid-template-columns:1fr;gap:13px}
    .page-fh-fair-gearswap .fh-gearswap-field,
    .page-fh-fair-gearswap .fh-gearswap-field--wide,
    .page-fh-fair-gearswap .fh-gearswap-days,
    .page-fh-fair-gearswap .fh-gearswap-intents,
    .page-fh-fair-gearswap .fh-gearswap-submit-row{grid-column:1}
    .page-fh-fair-gearswap .fh-gearswap-days,
    .page-fh-fair-gearswap .fh-gearswap-intents{grid-template-columns:1fr}
    .page-fh-fair-gearswap .fh-gearswap-submit-row{flex-direction:column;align-items:stretch}
    .page-fh-fair-gearswap .fh-gearswap-submit{width:100%}

    .page-fh-fair-public-participants .fh-public-participant-flower{width:150px;right:-34px;bottom:-26px;opacity:.28}
}

/* ---------- PUBLIC VOL.4 PROGRAM CARDS: concerts + workshops ---------- */
.page-fh-fair-public-participants .fh-public-program-grid{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:18px;
    margin-bottom:20px;
}

.page-fh-fair-public-participants .fh-public-program-card{
    position:relative;
    isolation:isolate;
    display:grid;
    grid-template-columns:minmax(160px,210px) minmax(0,1fr);
    min-height:230px;
    overflow:hidden;
    background:
        linear-gradient(rgba(255,255,255,.92),rgba(255,255,255,.92)),
        linear-gradient(rgba(239,81,73,.04) 1px,transparent 1px),
        linear-gradient(90deg,rgba(239,81,73,.04) 1px,transparent 1px);
    background-size:auto,28px 28px,28px 28px;
    border:1.5px solid rgba(40,60,151,.14);
    border-radius:27px 16px 29px 15px / 16px 29px 15px 27px;
    box-shadow:7px 8px 0 rgba(220,233,223,.68);
}

.page-fh-fair-public-participants .fh-public-program-card:nth-child(2n){
    box-shadow:7px 8px 0 rgba(241,215,223,.62);
}

.page-fh-fair-public-participants .fh-public-program-visual{
    position:relative;
    z-index:2;
    min-height:230px;
    overflow:hidden;
    background:#f3f1e9;
}

.page-fh-fair-public-participants .fh-public-program-visual img{
    width:100%;
    height:100%;
    min-height:230px;
    display:block;
    object-fit:cover;
}

.page-fh-fair-public-participants .fh-public-program-visual.is-contain img{
    object-fit:contain;
    padding:18px;
    box-sizing:border-box;
}

.page-fh-fair-public-participants .fh-public-program-visual>i{
    display:grid;
    place-items:center;
    width:100%;
    height:100%;
    min-height:230px;
    color:var(--fhv4-blue);
    font-size:58px;
}

.page-fh-fair-public-participants .fh-public-program-copy{
    position:relative;
    z-index:3;
    display:flex;
    flex-direction:column;
    align-items:flex-start;
    padding:22px 22px 20px;
}

.page-fh-fair-public-participants .fh-public-program-topline{
    display:flex;
    flex-wrap:wrap;
    align-items:center;
    gap:8px;
    margin-bottom:10px;
}

.page-fh-fair-public-participants .fh-public-program-topline>span,
.page-fh-fair-public-participants .fh-public-program-topline>b{
    display:inline-flex;
    align-items:center;
    min-height:25px;
    padding:0 8px;
    border-radius:10px 7px 11px 6px;
    font:900 8px/1 ui-monospace,SFMono-Regular,Menlo,monospace;
    letter-spacing:.7px;
    text-transform:uppercase;
}

.page-fh-fair-public-participants .fh-public-program-topline>span{
    color:#fff;
    background:var(--fhv4-red);
}

.page-fh-fair-public-participants .fh-public-program-topline>b{
    color:var(--fhv4-blue);
    background:#f4e9a5;
}

.page-fh-fair-public-participants .fh-public-program-time{
    display:inline-flex;
    align-items:center;
    gap:7px;
    margin-bottom:9px;
    color:var(--fhv4-blue);
    font-size:11px;
    font-weight:900;
}

.page-fh-fair-public-participants .fh-public-program-card h3{
    margin:0;
    color:var(--fhv4-blue);
    font-family:"Arial Black","Trebuchet MS",system-ui,sans-serif;
    font-size:clamp(28px,3vw,42px);
    line-height:.92;
    letter-spacing:-.04em;
}

.page-fh-fair-public-participants .fh-public-program-card strong{
    display:block;
    margin-top:8px;
    color:var(--fhv4-red);
    font-size:11px;
    line-height:1.4;
    font-weight:900;
}

.page-fh-fair-public-participants .fh-public-program-card p{
    margin:11px 0 0;
    color:#585960;
    font-size:12px;
    line-height:1.55;
    font-weight:650;
}

.page-fh-fair-public-participants .fh-public-program-card a{
    display:inline-flex;
    align-items:center;
    gap:7px;
    margin-top:13px;
    padding:7px 9px;
    color:var(--fhv4-blue);
    background:#f3f5ed;
    border-radius:10px 7px 11px 6px;
    font-size:10px;
    font-weight:850;
    text-decoration:none;
}

.page-fh-fair-public-participants .fh-public-program-flower{
    position:absolute;
    z-index:1;
    right:-42px;
    bottom:-56px;
    width:190px;
    aspect-ratio:1;
    border-radius:50%;
    background-color:rgba(255,255,255,.7);
    background-position:center;
    background-repeat:no-repeat;
    background-size:contain;
    opacity:.27;
    pointer-events:none;
}

.page-fh-fair-public-participants .fh-public-program-card[data-flower="1"] .fh-public-program-flower{background-image:var(--fh-flower-01)}
.page-fh-fair-public-participants .fh-public-program-card[data-flower="2"] .fh-public-program-flower{background-image:var(--fh-flower-02)}
.page-fh-fair-public-participants .fh-public-program-card[data-flower="3"] .fh-public-program-flower{background-image:var(--fh-flower-03)}
.page-fh-fair-public-participants .fh-public-program-card[data-flower="4"] .fh-public-program-flower{background-image:var(--fh-flower-04)}
.page-fh-fair-public-participants .fh-public-program-card[data-flower="5"] .fh-public-program-flower{background-image:var(--fh-flower-05)}
.page-fh-fair-public-participants .fh-public-program-card[data-flower="6"] .fh-public-program-flower{background-image:var(--fh-flower-06)}

@media(max-width:1080px){
    .page-fh-fair-public-participants .fh-public-program-grid{grid-template-columns:1fr}
}

@media(max-width:640px){
    .page-fh-fair-public-participants .fh-public-program-card{grid-template-columns:1fr}
    .page-fh-fair-public-participants .fh-public-program-visual,
    .page-fh-fair-public-participants .fh-public-program-visual img,
    .page-fh-fair-public-participants .fh-public-program-visual>i{min-height:190px;height:190px}
    .page-fh-fair-public-participants .fh-public-program-copy{padding:18px 16px 20px}
    .page-fh-fair-public-participants .fh-public-program-card h3{font-size:34px}
    .page-fh-fair-public-participants .fh-public-program-flower{width:145px;right:-38px;bottom:-42px;opacity:.24}
}

/* ========================================================================== */
/* FH FAIR VOL.4 - poster feature + participant spotlight priority            */
/* ========================================================================== */
.page-fh-fair-home .fh-hero{
    padding-bottom:clamp(34px,4vw,56px);
}

.page-fh-fair-home .fh-hero-inner{
    max-width:1400px;
    grid-template-columns:minmax(0,1fr) minmax(0,1fr);
    column-gap:clamp(24px,3vw,46px);
    align-items:stretch;
}

.page-fh-fair-home .fair-hero-event-column,
.page-fh-fair-home .fair-hero-participant-visual{
    min-width:0;
    align-self:stretch;
}

.page-fh-fair-home .fair-hero-event-column{
    display:flex;
    flex-direction:column;
    padding-top:44px;
}

.page-fh-fair-home .fair-hero-event-column .fh-title{
    margin-bottom:28px;
    font-size:clamp(74px,8.2vw,132px);
}

.page-fh-fair-home .fair-hero-participant-visual{
    display:flex;
    min-height:0;
    padding-top:88px;
}

.page-fh-fair-home .fh-participant-spotlight{
    width:100%;
    min-height:100%;
}

.page-fh-fair-home .fh-vol4-feature{
    position:relative;
    isolation:isolate;
    display:grid;
    grid-template-columns:minmax(190px,.82fr) minmax(220px,1.08fr);
    gap:clamp(17px,2.1vw,28px);
    align-items:center;
    overflow:hidden;
    padding:clamp(15px,1.8vw,22px);
    background:
        linear-gradient(rgba(255,253,250,.93),rgba(255,253,250,.93)),
        linear-gradient(rgba(239,81,73,.055) 1px,transparent 1px),
        linear-gradient(90deg,rgba(239,81,73,.055) 1px,transparent 1px);
    background-size:auto,30px 30px,30px 30px;
    border:1.5px solid rgba(40,60,151,.16);
    border-radius:34px 22px 38px 20px / 23px 36px 21px 34px;
    box-shadow:11px 12px 0 rgba(241,215,223,.72);
}

.page-fh-fair-home .fh-vol4-feature::before{
    content:"";
    position:absolute;
    inset:10px;
    z-index:-1;
    border:1px dashed rgba(40,60,151,.11);
    border-radius:27px 16px 31px 15px / 17px 30px 15px 28px;
    pointer-events:none;
}

.page-fh-fair-home .fh-vol4-feature-poster{
    position:relative;
    z-index:2;
    align-self:stretch;
    display:flex;
    align-items:center;
    justify-content:center;
    min-height:310px;
    padding:8px;
    background:rgba(255,255,255,.82);
    border:1px solid rgba(40,60,151,.14);
    border-radius:24px 15px 26px 14px / 15px 26px 14px 23px;
    box-shadow:6px 7px 0 rgba(220,233,223,.82);
    transform:rotate(-.55deg);
}

.page-fh-fair-home .fh-vol4-feature-poster img{
    display:block;
    width:100%;
    height:auto;
    max-height:430px;
    object-fit:contain;
    border-radius:18px 11px 20px 10px / 11px 20px 10px 18px;
}

.page-fh-fair-home .fh-vol4-feature-poster-mark{
    position:absolute;
    right:-9px;
    top:24px;
    width:28px;
    height:72px;
    opacity:.62;
    background:rgba(244,233,165,.82);
    transform:rotate(5deg);
    border-radius:4px;
}

.page-fh-fair-home .fh-vol4-feature-copy{
    position:relative;
    z-index:3;
    display:flex;
    flex-direction:column;
    align-items:flex-start;
    min-width:0;
    padding:4px 4px 4px 0;
}

.page-fh-fair-home .fh-vol4-feature-kicker{
    display:inline-flex;
    align-items:center;
    min-height:27px;
    margin-bottom:12px;
    padding:0 10px;
    color:var(--fh-v4-blue);
    background:rgba(220,233,223,.82);
    border:1px solid rgba(40,60,151,.12);
    border-radius:999px;
    font:900 9px/1 ui-monospace,SFMono-Regular,Menlo,monospace;
    letter-spacing:1.05px;
    text-transform:uppercase;
}

.page-fh-fair-home .fh-vol4-feature-copy h2{
    margin:0 0 13px;
    max-width:390px;
    color:var(--fh-v4-red);
    font-family:"Arial Black","Trebuchet MS",system-ui,sans-serif;
    font-size:clamp(31px,3.1vw,48px);
    line-height:.93;
    letter-spacing:-.045em;
    text-wrap:balance;
}

.page-fh-fair-home .fh-vol4-feature-copy>p{
    margin:0 0 16px;
    max-width:420px;
    color:var(--fh-v4-blue);
    font-family:"Trebuchet MS",system-ui,sans-serif;
    font-size:clamp(13px,1.12vw,16px);
    line-height:1.55;
    font-weight:800;
}

.page-fh-fair-home .fh-vol4-feature-place{
    display:flex;
    align-items:flex-start;
    gap:8px;
    margin:0 0 15px;
    color:rgba(7,26,65,.78);
    font:800 11px/1.35 "Trebuchet MS",system-ui,sans-serif;
}

.page-fh-fair-home .fh-vol4-feature-place i{
    flex:0 0 auto;
    margin-top:1px;
    color:var(--fh-v4-red);
}

.page-fh-fair-home .fh-vol4-feature-closed{
    display:flex;
    align-items:center;
    gap:8px;
    width:100%;
    min-height:48px;
    padding:10px 12px;
    color:#fff;
    background:var(--fh-v4-red);
    border:1.5px solid var(--fh-v4-blue);
    border-radius:14px 9px 16px 8px / 9px 16px 8px 14px;
    box-shadow:4px 5px 0 var(--fh-v4-blue);
    font:950 10px/1.25 ui-monospace,SFMono-Regular,Menlo,monospace;
    letter-spacing:.55px;
    text-transform:uppercase;
}

.page-fh-fair-home .fh-vol4-feature-closed i{
    flex:0 0 auto;
    font-size:14px;
}

.page-fh-fair-home .fh-vol4-feature-flower{
    position:absolute;
    z-index:1;
    display:block;
    aspect-ratio:1;
    border-radius:50%;
    background-color:rgba(255,255,255,.65);
    background-position:center;
    background-repeat:no-repeat;
    background-size:contain;
    pointer-events:none;
}

.page-fh-fair-home .fh-vol4-feature-flower--one{
    width:130px;
    right:-38px;
    top:-30px;
    background-image:var(--fh-flower-02);
    opacity:.26;
    transform:rotate(8deg);
}

.page-fh-fair-home .fh-vol4-feature-flower--two{
    width:145px;
    right:-42px;
    bottom:-48px;
    background-image:var(--fh-flower-05);
    opacity:.19;
    transform:rotate(-8deg);
}

/* The two top cards are intentionally given the same visual weight. */
.page-fh-fair-home .fh-vol4-feature,
.page-fh-fair-home .fh-participant-spotlight{
    transition:transform .22s ease,box-shadow .22s ease;
}

@media (hover:hover){
    .page-fh-fair-home .fh-vol4-feature:hover,
    .page-fh-fair-home .fh-participant-spotlight:hover{
        transform:translateY(-2px);
    }
}

@media(max-width:1180px){
    .page-fh-fair-home .fh-hero-inner{
        grid-template-columns:minmax(0,1fr) minmax(0,.92fr);
        column-gap:24px;
    }
    .page-fh-fair-home .fh-vol4-feature{
        grid-template-columns:minmax(160px,.72fr) minmax(190px,1fr);
        gap:16px;
    }
    .page-fh-fair-home .fh-vol4-feature-poster{min-height:280px}
    .page-fh-fair-home .fh-vol4-feature-copy h2{font-size:clamp(29px,3vw,42px)}
}

@media(max-width:920px){
    .page-fh-fair-home .fh-hero-inner{
        display:block;
        min-height:0;
    }
    .page-fh-fair-home .fair-hero-event-column{
        padding-top:46px;
    }
    .page-fh-fair-home .fair-hero-event-column .fh-title{
        margin-bottom:26px;
    }
    .page-fh-fair-home .fair-hero-participant-visual{
        padding-top:26px;
        margin-top:0;
    }
    .page-fh-fair-home .fh-vol4-feature{
        grid-template-columns:minmax(210px,.72fr) minmax(0,1fr);
    }
    .page-fh-fair-home .fh-participant-spotlight{
        min-height:0;
    }
}

@media(max-width:640px){
    .page-fh-fair-home .fh-hero{
        padding-left:14px;
        padding-right:14px;
    }
    .page-fh-fair-home .fair-hero-event-column{
        padding-top:43px;
    }
    .page-fh-fair-home .fair-hero-event-column .fh-title{
        margin-bottom:22px;
        font-size:clamp(68px,21vw,104px);
    }
    .page-fh-fair-home .fh-vol4-feature{
        grid-template-columns:1fr;
        gap:16px;
        padding:14px 13px 17px;
        border-radius:29px 18px 31px 16px / 19px 30px 16px 27px;
        box-shadow:8px 9px 0 rgba(241,215,223,.72);
    }
    .page-fh-fair-home .fh-vol4-feature::before{
        inset:8px;
    }
    .page-fh-fair-home .fh-vol4-feature-poster{
        min-height:0;
        width:min(100%,430px);
        margin:0 auto;
        padding:6px;
        box-shadow:5px 6px 0 rgba(220,233,223,.82);
    }
    .page-fh-fair-home .fh-vol4-feature-poster img{
        max-height:none;
        width:100%;
    }
    .page-fh-fair-home .fh-vol4-feature-poster-mark{
        width:23px;
        height:58px;
        right:-6px;
        top:18px;
    }
    .page-fh-fair-home .fh-vol4-feature-copy{
        padding:3px 5px 4px;
    }
    .page-fh-fair-home .fh-vol4-feature-kicker{
        margin-bottom:10px;
        font-size:8px;
    }
    .page-fh-fair-home .fh-vol4-feature-copy h2{
        margin-bottom:10px;
        max-width:90%;
        font-size:clamp(32px,10.5vw,45px);
    }
    .page-fh-fair-home .fh-vol4-feature-copy>p{
        margin-bottom:13px;
        font-size:13px;
    }
    .page-fh-fair-home .fh-vol4-feature-place{
        margin-bottom:13px;
        font-size:10.5px;
    }
    .page-fh-fair-home .fh-vol4-feature-closed{
        min-height:47px;
        font-size:9.5px;
    }
    .page-fh-fair-home .fh-vol4-feature-flower--one{
        width:105px;
        right:-34px;
        top:-25px;
        opacity:.18;
    }
    .page-fh-fair-home .fh-vol4-feature-flower--two{
        width:115px;
        right:-35px;
        bottom:-38px;
        opacity:.14;
    }
    .page-fh-fair-home .fair-hero-participant-visual{
        padding-top:22px;
    }
    .page-fh-fair-home .fh-participant-spotlight{
        box-shadow:8px 9px 0 rgba(220,233,223,.84);
    }
}

/* ========================================================================== 
   FH FAIR VOL.4 - FINAL ART DIRECTION
   Floral elements are used as collage layers inside the composition instead
   of corner badges. This is the final stylesheet, not a patch.
   ========================================================================== */

.page-fh-fair-home,
.page-fh-fair-public-participants,
.page-fh-fair-gearswap{
    --fh-art-paper:#fffdf8;
    --fh-art-blue:#283c97;
    --fh-art-red:#ef5149;
    --fh-art-ink:#10172d;
    --fh-art-mint:#dfeae0;
    --fh-art-pink:#f0d7df;
    --fh-art-lime:#e2e9b6;
    --fh-art-yellow:#f6edb8;
    background-color:var(--fh-art-paper);
    background-image:
        radial-gradient(ellipse at 12% 15%,rgba(223,234,224,.42) 0 7%,transparent 21%),
        radial-gradient(ellipse at 86% 28%,rgba(240,215,223,.32) 0 8%,transparent 23%),
        radial-gradient(ellipse at 68% 88%,rgba(246,237,184,.28) 0 9%,transparent 25%),
        linear-gradient(rgba(239,81,73,.052) 1px,transparent 1px),
        linear-gradient(90deg,rgba(239,81,73,.052) 1px,transparent 1px);
    background-size:auto,auto,auto,38px 38px,38px 38px;
}

/* ---------- generic floral collage layers ---------- */
.page-fh-fair-home .fh-art-flower,
.page-fh-fair-home .fh-flower-orbit,
.page-fh-fair-gearswap .fh-flower-orbit{
    position:absolute;
    display:block;
    pointer-events:none;
    background-position:center;
    background-repeat:no-repeat;
    background-size:contain;
    filter:saturate(.98) contrast(.99);
}

/* ---------- HERO: Vol.4 event box ---------- */
.page-fh-fair-home .fh-vol4-feature{
    position:relative;
    isolation:isolate;
    overflow:visible;
    grid-template-columns:minmax(235px,.78fr) minmax(0,1.22fr);
    gap:clamp(20px,3.2vw,46px);
    padding:clamp(17px,2.2vw,28px);
    border:1.5px solid rgba(40,60,151,.17);
    border-radius:42px 19px 56px 24px / 25px 47px 21px 51px;
    background:
        radial-gradient(ellipse at 76% 24%,rgba(246,237,184,.34),transparent 32%),
        radial-gradient(ellipse at 16% 78%,rgba(223,234,224,.48),transparent 34%),
        rgba(255,253,248,.94);
    box-shadow:14px 15px 0 rgba(240,215,223,.64);
    transform:rotate(-.15deg);
}

.page-fh-fair-home .fh-vol4-feature::before{
    content:"";
    position:absolute;
    z-index:-2;
    inset:10px -10px -12px 13px;
    border-radius:34px 52px 21px 48px / 47px 22px 50px 24px;
    background:rgba(223,234,224,.43);
    transform:rotate(.7deg);
    pointer-events:none;
}

.page-fh-fair-home .fh-vol4-feature::after{
    content:"";
    position:absolute;
    z-index:0;
    left:42%;
    top:20%;
    width:118px;
    height:31px;
    background:rgba(255,247,205,.57);
    border-radius:48% 52% 42% 58% / 55% 44% 56% 45%;
    transform:translateX(-50%) rotate(-7deg);
    pointer-events:none;
}

.page-fh-fair-home .fh-vol4-feature-poster,
.page-fh-fair-home .fh-vol4-feature-copy{
    position:relative;
    z-index:4;
}

.page-fh-fair-home .fh-vol4-feature-poster{
    align-self:center;
    padding:8px;
    border:1.5px solid rgba(40,60,151,.15);
    border-radius:30px 12px 35px 16px / 17px 32px 14px 29px;
    background:#fff;
    box-shadow:8px 9px 0 rgba(223,234,224,.9);
    transform:rotate(-1.1deg);
}

.page-fh-fair-home .fh-vol4-feature-copy{
    padding:clamp(8px,1vw,15px) clamp(4px,1vw,12px) clamp(8px,1vw,15px) 0;
}

.page-fh-fair-home .fh-vol4-feature-kicker{
    display:inline-flex;
    transform:rotate(-1.5deg);
    border-radius:999px 850px 999px 760px;
}

.page-fh-fair-home .fh-vol4-feature-closed{
    max-width:470px;
    border-radius:18px 9px 24px 8px / 10px 23px 8px 18px;
    transform:rotate(.35deg);
    box-shadow:4px 5px 0 rgba(40,60,151,.1);
}

/* Existing two flowers are moved into the body of the composition. */
.page-fh-fair-home .fh-vol4-feature-flower{
    z-index:2;
    border-radius:0;
    background-color:transparent;
}

.page-fh-fair-home .fh-vol4-feature-flower--one{
    width:clamp(150px,17vw,235px);
    right:auto;
    left:32%;
    top:10%;
    opacity:.40;
    transform:translateX(-50%) rotate(9deg);
}

.page-fh-fair-home .fh-vol4-feature-flower--two{
    width:clamp(105px,12vw,165px);
    right:4%;
    bottom:9%;
    opacity:.30;
    transform:rotate(-12deg);
}

.page-fh-fair-home .fh-art-flower--feature-center{
    z-index:3;
    left:43%;
    bottom:11%;
    width:clamp(120px,14vw,190px);
    aspect-ratio:1;
    background-image:var(--fh-flower-04);
    opacity:.46;
    transform:translateX(-50%) rotate(-6deg);
}

.page-fh-fair-home .fh-art-flower--feature-low{
    z-index:1;
    left:10%;
    bottom:-5%;
    width:clamp(90px,10vw,135px);
    aspect-ratio:1;
    background-image:var(--fh-flower-01);
    opacity:.21;
    transform:rotate(16deg);
}

/* ---------- HERO: participant spotlight ---------- */
.page-fh-fair-home .fh-participant-spotlight{
    position:relative;
    isolation:isolate;
    overflow:visible;
    padding:clamp(21px,2.7vw,31px);
    border:1.5px solid rgba(40,60,151,.17);
    border-radius:27px 52px 21px 44px / 48px 24px 45px 22px;
    background:
        radial-gradient(ellipse at 22% 20%,rgba(240,215,223,.38),transparent 31%),
        radial-gradient(ellipse at 82% 75%,rgba(226,233,182,.38),transparent 34%),
        rgba(255,253,248,.95);
    box-shadow:14px 15px 0 rgba(223,234,224,.78);
    transform:rotate(.13deg);
}

.page-fh-fair-home .fh-participant-spotlight::before{
    content:"";
    position:absolute;
    z-index:-2;
    inset:13px 12px -13px -10px;
    width:auto;
    height:auto;
    border-radius:52px 21px 44px 27px / 22px 47px 24px 46px;
    background:rgba(240,215,223,.34);
    opacity:1;
    transform:rotate(-.65deg);
}

.page-fh-fair-home .fh-participant-spotlight::after{
    content:"";
    position:absolute;
    z-index:1;
    left:42%;
    top:44%;
    width:clamp(145px,16vw,220px);
    height:clamp(145px,16vw,220px);
    background:var(--fh-flower-05) center/contain no-repeat;
    opacity:.24;
    transform:translate(-50%,-50%) rotate(12deg);
    pointer-events:none;
}

.page-fh-fair-home .fh-art-flower--spotlight-back{
    z-index:0;
    right:8%;
    top:6%;
    width:clamp(115px,13vw,175px);
    aspect-ratio:1;
    background-image:var(--fh-flower-03);
    opacity:.29;
    transform:rotate(8deg);
}

.page-fh-fair-home .fh-art-flower--spotlight-mid{
    z-index:2;
    left:47%;
    bottom:8%;
    width:clamp(90px,10vw,135px);
    aspect-ratio:1;
    background-image:var(--fh-flower-06);
    opacity:.34;
    transform:translateX(-50%) rotate(-8deg);
}

.page-fh-fair-home .fh-participant-spotlight-head,
.page-fh-fair-home .fh-participant-spotlight-card,
.page-fh-fair-home .fh-participant-spotlight-actions,
.page-fh-fair-home .fh-participant-spotlight-empty{
    position:relative;
    z-index:4;
}

/* The heading flower is no longer a corner icon. */
.page-fh-fair-home .fh-participant-spotlight-flower{
    position:absolute;
    z-index:1;
    right:auto;
    left:52%;
    top:8%;
    width:clamp(74px,8vw,110px);
    height:clamp(74px,8vw,110px);
    background:var(--fh-flower-02) center/contain no-repeat;
    opacity:.39;
    transform:translateX(-50%) rotate(-11deg);
}

.page-fh-fair-home .fh-participant-spotlight-card{
    overflow:visible;
    grid-template-columns:minmax(125px,155px) minmax(0,1fr);
    border:1.5px solid rgba(40,60,151,.13);
    border-radius:31px 14px 37px 12px / 16px 34px 13px 30px;
    background:rgba(255,255,255,.90);
    box-shadow:8px 9px 0 rgba(246,237,184,.58);
    transform:rotate(-.22deg);
}

.page-fh-fair-home .fh-participant-spotlight-card::after{
    content:"";
    position:absolute;
    z-index:0;
    left:35%;
    bottom:-34px;
    width:120px;
    height:105px;
    background:var(--fh-flower-01) center/contain no-repeat;
    opacity:.18;
    transform:rotate(-13deg);
    pointer-events:none;
}

.page-fh-fair-home .fh-participant-spotlight-media,
.page-fh-fair-home .fh-participant-spotlight-copy{
    position:relative;
    z-index:2;
}

.page-fh-fair-home .fh-participant-spotlight-media{
    border-radius:27px 9px 30px 12px / 13px 28px 10px 25px;
    transform:rotate(.35deg);
}

.page-fh-fair-home .fh-participant-spotlight-actions button,
.page-fh-fair-home .fh-participant-spotlight-actions a{
    border-radius:16px 8px 20px 7px / 9px 19px 7px 16px;
}

.page-fh-fair-home .fh-participant-spotlight-actions button{transform:rotate(-.45deg)}
.page-fh-fair-home .fh-participant-spotlight-actions a{transform:rotate(.45deg)}

/* ---------- main page Gear Swap ---------- */
.page-fh-fair-home .fh-gearswap--entry{
    position:relative;
    isolation:isolate;
    overflow:visible;
    border-radius:51px 21px 43px 27px / 27px 48px 22px 44px;
    background:
        radial-gradient(ellipse at 78% 26%,rgba(240,215,223,.42),transparent 30%),
        radial-gradient(ellipse at 18% 78%,rgba(223,234,224,.55),transparent 35%),
        rgba(255,253,248,.95);
    box-shadow:14px 15px 0 rgba(240,215,223,.66);
}

.page-fh-fair-home .fh-gearswap--entry::before{
    content:"";
    position:absolute;
    z-index:0;
    left:38%;
    top:16%;
    width:clamp(155px,18vw,250px);
    height:clamp(135px,16vw,220px);
    background:var(--fh-flower-02) center/contain no-repeat;
    opacity:.20;
    transform:rotate(9deg);
    pointer-events:none;
}

.page-fh-fair-home .fh-gearswap--entry .fh-flower-orbit--01{
    z-index:1;
    width:clamp(155px,19vw,260px);
    left:13%;
    bottom:5%;
    opacity:.31;
    transform:rotate(-9deg);
}

.page-fh-fair-home .fh-gearswap--entry .fh-flower-orbit--04{
    z-index:1;
    width:clamp(92px,10vw,140px);
    right:11%;
    top:11%;
    opacity:.30;
    transform:rotate(12deg);
}

.page-fh-fair-home .fh-gearswap--entry .fh-flower-orbit--gear-center{
    z-index:2;
    width:clamp(110px,12vw,170px);
    left:51%;
    top:50%;
    opacity:.34;
    transform:translate(-50%,-50%) rotate(-7deg);
}

.page-fh-fair-home .fh-gearswap--entry .fh-gearswap-copy,
.page-fh-fair-home .fh-gearswap--entry .fh-gearswap-entry-art{
    position:relative;
    z-index:4;
}

.page-fh-fair-home .fh-gearswap--entry .fh-gearswap-note{
    border-radius:22px 9px 28px 11px / 12px 26px 10px 20px;
    transform:rotate(.28deg);
}

.page-fh-fair-home .fh-gearswap--entry .fh-gearswap-tags span:nth-child(odd){transform:rotate(-.8deg)}
.page-fh-fair-home .fh-gearswap--entry .fh-gearswap-tags span:nth-child(even){transform:rotate(.7deg)}

/* ---------- volunteer block gets the same visual language ---------- */
.page-fh-fair-home .fh-volunteers{
    position:relative;
    isolation:isolate;
    overflow:hidden;
    border-radius:26px 49px 24px 44px / 47px 25px 45px 24px;
}

.page-fh-fair-home .fh-volunteers::before{
    content:"";
    position:absolute;
    z-index:0;
    right:12%;
    top:20%;
    width:clamp(130px,17vw,235px);
    height:clamp(120px,15vw,205px);
    background:var(--fh-flower-03) center/contain no-repeat;
    opacity:.18;
    transform:rotate(-7deg);
    pointer-events:none;
}

.page-fh-fair-home .fh-volunteers-copy,
.page-fh-fair-home .fh-volunteers-art{
    position:relative;
    z-index:2;
}

/* ---------- PUBLIC PARTICIPANTS: flowers live through the cards ---------- */
.page-fh-fair-public-participants .fh-public-participants-hero--floral{
    overflow:visible;
    border-radius:48px 21px 54px 23px / 25px 50px 21px 46px;
    background:
        radial-gradient(ellipse at 18% 28%,rgba(223,234,224,.45),transparent 33%),
        radial-gradient(ellipse at 83% 73%,rgba(240,215,223,.34),transparent 33%),
        rgba(255,253,248,.94);
    box-shadow:13px 14px 0 rgba(223,234,224,.68);
}

.page-fh-fair-public-participants .fh-public-participants-hero--floral::before{
    right:11%;
    bottom:-76px;
    width:clamp(190px,24vw,340px);
    height:clamp(165px,21vw,290px);
    opacity:.25;
    transform:rotate(7deg);
}

.page-fh-fair-public-participants .fh-public-participants-hero--floral::after{
    left:38%;
    top:-35px;
    width:clamp(105px,13vw,170px);
    height:clamp(95px,12vw,155px);
    opacity:.23;
    transform:rotate(-9deg);
}

.page-fh-fair-public-participants .fh-public-participant-category{
    position:relative;
    isolation:isolate;
    overflow:visible;
    padding:clamp(21px,3vw,34px);
    border-radius:36px 17px 43px 21px / 22px 40px 18px 37px;
}

.page-fh-fair-public-participants .fh-public-participant-category::after{
    right:auto;
    left:44%;
    top:3px;
    bottom:auto;
    width:clamp(125px,16vw,220px);
    height:clamp(110px,14vw,190px);
    opacity:.11;
    transform:translateX(-50%) rotate(-8deg);
}

.page-fh-fair-public-participants .fh-public-participant-category:nth-child(even)::after{
    left:67%;
    transform:translateX(-50%) rotate(8deg);
}

.page-fh-fair-public-participants .fh-public-participant-card{
    position:relative;
    isolation:isolate;
    overflow:visible;
    border-radius:31px 13px 37px 16px / 16px 34px 14px 31px;
    background:
        radial-gradient(ellipse at 78% 22%,rgba(246,237,184,.20),transparent 29%),
        rgba(255,255,255,.91);
    box-shadow:8px 9px 0 rgba(223,234,224,.56);
}

.page-fh-fair-public-participants .fh-public-participant-card::before{
    content:"";
    position:absolute;
    z-index:0;
    left:38%;
    top:38%;
    width:clamp(105px,12vw,165px);
    height:clamp(95px,11vw,150px);
    background:var(--fh-flower-06) center/contain no-repeat;
    opacity:.10;
    transform:translate(-50%,-50%) rotate(-10deg);
    pointer-events:none;
}

.page-fh-fair-public-participants .fh-public-participant-card:nth-child(3n+2)::before{
    left:68%;
    top:62%;
    background-image:var(--fh-flower-03);
    transform:translate(-50%,-50%) rotate(8deg);
}

.page-fh-fair-public-participants .fh-public-participant-card:nth-child(3n)::before{
    left:50%;
    top:26%;
    background-image:var(--fh-flower-05);
    transform:translate(-50%,-50%) rotate(13deg);
}

.page-fh-fair-public-participants .fh-public-participant-flower{
    z-index:1;
    border-radius:0;
    opacity:.27;
    pointer-events:none;
}

.page-fh-fair-public-participants .fh-public-participant-card[data-flower="1"] .fh-public-participant-flower{
    width:clamp(150px,17vw,225px);
    left:47%; right:auto; top:48%; bottom:auto;
    transform:translate(-50%,-50%) rotate(-10deg);
}
.page-fh-fair-public-participants .fh-public-participant-card[data-flower="2"] .fh-public-participant-flower{
    width:clamp(105px,13vw,170px);
    left:64%; right:auto; top:18%; bottom:auto;
    transform:translate(-50%,-50%) rotate(9deg);
}
.page-fh-fair-public-participants .fh-public-participant-card[data-flower="3"] .fh-public-participant-flower{
    width:clamp(135px,15vw,205px);
    left:28%; right:auto; top:64%; bottom:auto;
    transform:translate(-50%,-50%) rotate(7deg);
}
.page-fh-fair-public-participants .fh-public-participant-card[data-flower="4"] .fh-public-participant-flower{
    width:clamp(95px,11vw,145px);
    left:54%; right:auto; top:74%; bottom:auto;
    transform:translate(-50%,-50%) rotate(-13deg);
}
.page-fh-fair-public-participants .fh-public-participant-card[data-flower="5"] .fh-public-participant-flower{
    width:clamp(145px,17vw,220px);
    left:68%; right:auto; top:48%; bottom:auto;
    transform:translate(-50%,-50%) rotate(11deg);
}
.page-fh-fair-public-participants .fh-public-participant-card[data-flower="6"] .fh-public-participant-flower{
    width:clamp(115px,14vw,180px);
    left:36%; right:auto; top:32%; bottom:auto;
    transform:translate(-50%,-50%) rotate(-6deg);
}

.page-fh-fair-public-participants .fh-public-participant-brand,
.page-fh-fair-public-participants .fh-public-participant-logo,
.page-fh-fair-public-participants .fh-public-participant-bio,
.page-fh-fair-public-participants .fh-public-participant-meta,
.page-fh-fair-public-participants .fh-public-participant-photos{
    position:relative;
    z-index:3;
}

.page-fh-fair-public-participants .fh-public-participant-logo{
    transform:rotate(-.35deg);
    box-shadow:5px 6px 0 rgba(240,215,223,.44);
}

.page-fh-fair-public-participants .fh-public-participant-photos img:nth-child(odd){transform:rotate(-.8deg)}
.page-fh-fair-public-participants .fh-public-participant-photos img:nth-child(even){transform:rotate(.75deg)}

.page-fh-fair-public-participants .fh-public-program-card{
    position:relative;
    isolation:isolate;
    overflow:visible;
    border-radius:39px 16px 32px 19px / 20px 36px 17px 33px;
    box-shadow:8px 9px 0 rgba(240,215,223,.50);
}

.page-fh-fair-public-participants .fh-public-program-flower{
    z-index:1;
    opacity:.26;
}

.page-fh-fair-public-participants .fh-public-program-card:nth-child(3n+1) .fh-public-program-flower{
    left:41%; right:auto; top:48%; bottom:auto;
    width:clamp(135px,16vw,215px);
    transform:translate(-50%,-50%) rotate(-8deg);
}
.page-fh-fair-public-participants .fh-public-program-card:nth-child(3n+2) .fh-public-program-flower{
    left:67%; right:auto; top:28%; bottom:auto;
    width:clamp(105px,13vw,170px);
    transform:translate(-50%,-50%) rotate(11deg);
}
.page-fh-fair-public-participants .fh-public-program-card:nth-child(3n) .fh-public-program-flower{
    left:52%; right:auto; top:68%; bottom:auto;
    width:clamp(145px,17vw,225px);
    transform:translate(-50%,-50%) rotate(7deg);
}

.page-fh-fair-public-participants .fh-public-program-card>*:not(.fh-public-program-flower){
    position:relative;
    z-index:3;
}

/* ---------- standalone Gear Swap ---------- */
.page-fh-fair-gearswap .fh-gearswap-page-main{
    background:
        radial-gradient(ellipse at 10% 17%,rgba(223,234,224,.40),transparent 26%),
        radial-gradient(ellipse at 88% 23%,rgba(240,215,223,.30),transparent 28%),
        linear-gradient(rgba(239,81,73,.05) 1px,transparent 1px),
        linear-gradient(90deg,rgba(239,81,73,.05) 1px,transparent 1px),
        #fffdf8;
    background-size:auto,auto,38px 38px,38px 38px,auto;
}

.page-fh-fair-gearswap .fh-gearswap-page-hero,
.page-fh-fair-gearswap .fh-gearswap-page-aside,
.page-fh-fair-gearswap .fh-gearswap-page-formcard{
    isolation:isolate;
    overflow:visible;
}

.page-fh-fair-gearswap .fh-gearswap-page-hero{
    border-radius:57px 23px 49px 19px / 28px 51px 22px 46px;
    box-shadow:14px 15px 0 rgba(223,234,224,.72);
}

.page-fh-fair-gearswap .fh-gearswap-page-hero .fh-flower-orbit--02{
    z-index:1;
    width:clamp(160px,21vw,285px);
    left:18%; right:auto; bottom:8%; top:auto;
    opacity:.26;
    transform:rotate(-9deg);
}

.page-fh-fair-gearswap .fh-gearswap-page-hero .fh-flower-orbit--05{
    z-index:1;
    width:clamp(100px,12vw,165px);
    right:10%; top:13%;
    opacity:.28;
    transform:rotate(11deg);
}

.page-fh-fair-gearswap .fh-gearswap-page-hero .fh-flower-orbit--hero-center{
    z-index:2;
    width:clamp(120px,15vw,205px);
    left:53%; top:49%;
    opacity:.32;
    transform:translate(-50%,-50%) rotate(-6deg);
}

.page-fh-fair-gearswap .fh-gearswap-page-hero>*:not(.fh-flower-orbit),
.page-fh-fair-gearswap .fh-gearswap-page-aside>*:not(.fh-flower-orbit),
.page-fh-fair-gearswap .fh-gearswap-page-formcard>*:not(.fh-flower-orbit){
    position:relative;
    z-index:4;
}

.page-fh-fair-gearswap .fh-gearswap-page-aside{
    border-radius:28px 47px 20px 43px / 45px 23px 42px 21px;
}

.page-fh-fair-gearswap .fh-gearswap-page-aside .fh-flower-orbit--06{
    width:clamp(145px,19vw,250px);
    left:44%; right:auto; top:54%; bottom:auto;
    opacity:.22;
    transform:translate(-50%,-50%) rotate(8deg);
}

.page-fh-fair-gearswap .fh-gearswap-page-formcard{
    border-radius:45px 21px 50px 20px / 24px 47px 22px 43px;
    box-shadow:12px 13px 0 rgba(240,215,223,.60);
}

.page-fh-fair-gearswap .fh-gearswap-page-formcard .fh-flower-orbit--03{
    width:clamp(115px,14vw,185px);
    left:76%; right:auto; top:23%;
    opacity:.19;
    transform:translate(-50%,-50%) rotate(-10deg);
}

/* ---------- mobile: keep collage feeling without covering content ---------- */
@media (max-width:760px){
    .page-fh-fair-home .fh-vol4-feature{
        grid-template-columns:1fr;
        gap:19px;
        padding:14px 13px 18px;
        border-radius:31px 16px 36px 17px / 18px 34px 16px 31px;
        transform:none;
    }

    .page-fh-fair-home .fh-vol4-feature::after{left:68%;top:47%;width:92px;opacity:.48}
    .page-fh-fair-home .fh-vol4-feature-flower--one{width:125px;left:17%;top:34%;opacity:.22}
    .page-fh-fair-home .fh-vol4-feature-flower--two{width:90px;right:5%;bottom:4%;opacity:.20}
    .page-fh-fair-home .fh-art-flower--feature-center{width:108px;left:77%;bottom:39%;opacity:.28}
    .page-fh-fair-home .fh-art-flower--feature-low{width:82px;left:4%;bottom:11%;opacity:.17}

    .page-fh-fair-home .fh-participant-spotlight{
        padding:18px 14px 20px;
        border-radius:27px 39px 22px 35px / 36px 22px 34px 21px;
        transform:none;
    }
    .page-fh-fair-home .fh-participant-spotlight::after{left:68%;top:47%;width:120px;height:120px;opacity:.16}
    .page-fh-fair-home .fh-art-flower--spotlight-back{width:95px;right:8%;top:9%;opacity:.19}
    .page-fh-fair-home .fh-art-flower--spotlight-mid{width:84px;left:72%;bottom:8%;opacity:.19}
    .page-fh-fair-home .fh-participant-spotlight-flower{left:78%;top:7%;width:68px;height:68px;opacity:.24}
    .page-fh-fair-home .fh-participant-spotlight-card{grid-template-columns:1fr;transform:none;overflow:hidden}
    .page-fh-fair-home .fh-participant-spotlight-card::after{left:65%;bottom:-25px;opacity:.12}

    .page-fh-fair-home .fh-gearswap--entry .fh-flower-orbit--01{width:132px;left:4%;bottom:7%;opacity:.20}
    .page-fh-fair-home .fh-gearswap--entry .fh-flower-orbit--04{width:82px;right:8%;top:10%;opacity:.22}
    .page-fh-fair-home .fh-gearswap--entry .fh-flower-orbit--gear-center{width:94px;left:72%;top:58%;opacity:.20}
    .page-fh-fair-home .fh-gearswap--entry::before{width:120px;height:110px;left:15%;top:31%;opacity:.12}

    .page-fh-fair-public-participants .fh-public-participant-category::after{width:125px;height:110px;left:70%;opacity:.07}
    .page-fh-fair-public-participants .fh-public-participant-card[data-flower] .fh-public-participant-flower{opacity:.17}
    .page-fh-fair-public-participants .fh-public-participant-card[data-flower="1"] .fh-public-participant-flower,
    .page-fh-fair-public-participants .fh-public-participant-card[data-flower="3"] .fh-public-participant-flower,
    .page-fh-fair-public-participants .fh-public-participant-card[data-flower="5"] .fh-public-participant-flower{left:68%;top:55%;width:135px}
    .page-fh-fair-public-participants .fh-public-participant-card[data-flower="2"] .fh-public-participant-flower,
    .page-fh-fair-public-participants .fh-public-participant-card[data-flower="4"] .fh-public-participant-flower,
    .page-fh-fair-public-participants .fh-public-participant-card[data-flower="6"] .fh-public-participant-flower{left:28%;top:35%;width:105px}

    .page-fh-fair-gearswap .fh-gearswap-page-hero .fh-flower-orbit--02{width:135px;left:12%;bottom:6%;opacity:.17}
    .page-fh-fair-gearswap .fh-gearswap-page-hero .fh-flower-orbit--05{width:82px;right:5%;top:10%;opacity:.19}
    .page-fh-fair-gearswap .fh-gearswap-page-hero .fh-flower-orbit--hero-center{width:94px;left:73%;top:55%;opacity:.18}
    .page-fh-fair-gearswap .fh-gearswap-page-aside .fh-flower-orbit--06{width:118px;left:70%;top:57%;opacity:.15}
    .page-fh-fair-gearswap .fh-gearswap-page-formcard .fh-flower-orbit--03{width:100px;left:80%;top:18%;opacity:.12}
}

/* ================================================================
   FINAL PARTICIPANT REFINEMENT
   - richer/larger participant info box on FH Fair home
   - exactly one large flower per public participant card
   - card palette follows the colour family of flower 01-06
   ================================================================ */

.page-fh-fair-home .fair-hero-participant-visual{
    align-items:stretch;
}

.page-fh-fair-home .fh-participant-spotlight{
    min-height:100%;
    padding:clamp(26px,3.1vw,38px);
}

.page-fh-fair-home .fh-participant-spotlight-head{
    margin-bottom:22px;
}

.page-fh-fair-home .fh-participant-spotlight-head>div:first-child{
    max-width:760px;
}

.page-fh-fair-home .fh-participant-spotlight-head p{
    max-width:650px;
    margin-top:12px;
    font-size:clamp(13px,1.05vw,15px);
    line-height:1.62;
    font-weight:720;
}

.page-fh-fair-home .fh-participant-spotlight-head .fh-participant-spotlight-intro-more{
    max-width:690px;
    margin-top:7px;
    color:#4f5160;
    font-weight:620;
}

.page-fh-fair-home .fh-participant-spotlight-card{
    min-height:215px;
    grid-template-columns:minmax(145px,178px) minmax(0,1fr);
}

.page-fh-fair-home .fh-participant-spotlight-media{
    min-height:215px;
}

.page-fh-fair-home .fh-participant-spotlight-bio{
    -webkit-line-clamp:4;
    font-size:12px;
    line-height:1.52;
}

/* Public participant list: remove all secondary card flowers. */
.page-fh-fair-public-participants .fh-public-participant-card::before,
.page-fh-fair-public-participants .fh-public-participant-card::after{
    content:none !important;
    display:none !important;
    background-image:none !important;
}

/* Category boxes stay clean so each participant card has one clear floral gesture. */
.page-fh-fair-public-participants .fh-public-participant-category::after{
    content:none !important;
    display:none !important;
}

.page-fh-fair-public-participants .fh-public-participant-card{
    --fh-card-bg:#fffaf2;
    --fh-card-line:rgba(40,60,151,.15);
    --fh-card-shadow:rgba(223,234,224,.62);
    overflow:hidden;
    min-height:330px;
    padding:clamp(20px,2.4vw,28px);
    border:1.5px solid var(--fh-card-line);
    background:
        linear-gradient(135deg,rgba(255,255,255,.58),rgba(255,255,255,.12) 58%,transparent 80%),
        var(--fh-card-bg) !important;
    box-shadow:9px 10px 0 var(--fh-card-shadow) !important;
}

/* 01: periwinkle / powder blue + dusty rose */
.page-fh-fair-public-participants .fh-public-participant-card[data-flower="1"]{
    --fh-card-bg:#eef0ff;
    --fh-card-line:rgba(94,109,198,.22);
    --fh-card-shadow:rgba(223,185,189,.48);
}

/* 02: coral / blush + soft green */
.page-fh-fair-public-participants .fh-public-participant-card[data-flower="2"]{
    --fh-card-bg:#fae9e4;
    --fh-card-line:rgba(194,91,78,.18);
    --fh-card-shadow:rgba(199,224,214,.58);
}

/* 03: lime / spring green + lavender */
.page-fh-fair-public-participants .fh-public-participant-card[data-flower="3"]{
    --fh-card-bg:#f2f6d7;
    --fh-card-line:rgba(138,163,76,.20);
    --fh-card-shadow:rgba(213,202,236,.58);
}

/* 04: pale teal + blue */
.page-fh-fair-public-participants .fh-public-participant-card[data-flower="4"]{
    --fh-card-bg:#e4f1ee;
    --fh-card-line:rgba(72,132,126,.20);
    --fh-card-shadow:rgba(184,195,236,.60);
}

/* 05: green cream + warm pink */
.page-fh-fair-public-participants .fh-public-participant-card[data-flower="5"]{
    --fh-card-bg:#f0f3d5;
    --fh-card-line:rgba(118,151,78,.20);
    --fh-card-shadow:rgba(238,195,205,.60);
}

/* 06: powder pink + warm yellow */
.page-fh-fair-public-participants .fh-public-participant-card[data-flower="6"]{
    --fh-card-bg:#f8e6e9;
    --fh-card-line:rgba(199,103,122,.18);
    --fh-card-shadow:rgba(244,226,151,.62);
}

/* One single, deliberately oversized flower per participant card. */
.page-fh-fair-public-participants .fh-public-participant-flower{
    position:absolute;
    z-index:0;
    display:block;
    width:clamp(230px,26vw,350px) !important;
    height:auto !important;
    aspect-ratio:1;
    margin:0;
    border:0 !important;
    border-radius:0 !important;
    background-color:transparent !important;
    background-repeat:no-repeat;
    background-position:center;
    background-size:contain;
    box-shadow:none !important;
    opacity:.42 !important;
    pointer-events:none;
    filter:none;
}

.page-fh-fair-public-participants .fh-public-participant-card[data-flower="1"] .fh-public-participant-flower{
    left:auto !important; right:-74px !important; top:44% !important; bottom:auto !important;
    transform:translateY(-50%) rotate(-8deg) !important;
}
.page-fh-fair-public-participants .fh-public-participant-card[data-flower="2"] .fh-public-participant-flower{
    left:43% !important; right:auto !important; top:-88px !important; bottom:auto !important;
    transform:translateX(-50%) rotate(5deg) !important;
}
.page-fh-fair-public-participants .fh-public-participant-card[data-flower="3"] .fh-public-participant-flower{
    left:-82px !important; right:auto !important; top:auto !important; bottom:-82px !important;
    transform:rotate(-7deg) !important;
}
.page-fh-fair-public-participants .fh-public-participant-card[data-flower="4"] .fh-public-participant-flower{
    left:auto !important; right:-68px !important; top:auto !important; bottom:-72px !important;
    transform:rotate(8deg) !important;
}
.page-fh-fair-public-participants .fh-public-participant-card[data-flower="5"] .fh-public-participant-flower{
    left:-74px !important; right:auto !important; top:38% !important; bottom:auto !important;
    transform:translateY(-50%) rotate(-5deg) !important;
}
.page-fh-fair-public-participants .fh-public-participant-card[data-flower="6"] .fh-public-participant-flower{
    left:55% !important; right:auto !important; top:auto !important; bottom:-105px !important;
    transform:translateX(-50%) rotate(7deg) !important;
}

.page-fh-fair-public-participants .fh-public-participant-brand,
.page-fh-fair-public-participants .fh-public-participant-bio,
.page-fh-fair-public-participants .fh-public-participant-meta,
.page-fh-fair-public-participants .fh-public-participant-photos{
    position:relative;
    z-index:2;
}

.page-fh-fair-public-participants .fh-public-participant-logo{
    position:relative;
    z-index:3;
    background:rgba(255,255,255,.82);
}

.page-fh-fair-public-participants .fh-public-participant-bio{
    max-width:92%;
    padding:10px 12px;
    border-radius:15px 8px 17px 9px / 9px 17px 8px 15px;
    background:rgba(255,255,255,.50);
    backdrop-filter:blur(1px);
}

.page-fh-fair-public-participants .fh-public-participant-meta span,
.page-fh-fair-public-participants .fh-public-participant-meta a{
    background:rgba(255,255,255,.60);
}

@media(max-width:700px){
    .page-fh-fair-home .fh-participant-spotlight{
        padding:23px 17px 21px;
    }
    .page-fh-fair-home .fh-participant-spotlight-head p{
        max-width:100%;
        font-size:12.5px;
        line-height:1.58;
    }
    .page-fh-fair-home .fh-participant-spotlight-card{
        min-height:0;
        grid-template-columns:1fr;
    }
    .page-fh-fair-home .fh-participant-spotlight-media{
        min-height:180px;
    }

    .page-fh-fair-public-participants .fh-public-participant-card{
        min-height:300px;
        padding:18px;
    }
    .page-fh-fair-public-participants .fh-public-participant-flower{
        width:clamp(205px,68vw,285px) !important;
        opacity:.34 !important;
    }
    .page-fh-fair-public-participants .fh-public-participant-bio{
        max-width:100%;
    }
}

/* ========================================================================== */
/* FINAL: poster credit + poster lightbox                                     */
/* ========================================================================== */
.page-fh-fair-home .fh-vol4-feature-poster-area{
    position:relative;
    z-index:2;
    min-width:0;
    align-self:center;
    display:flex;
    flex-direction:column;
    align-items:center;
    gap:10px;
}

.page-fh-fair-home button.fh-vol4-feature-poster,
.page-fh-fair-home button.fh-sara-special-poster-wrap{
    width:100%;
    margin:0;
    font:inherit;
    color:inherit;
    cursor:zoom-in;
    appearance:none;
    -webkit-appearance:none;
}

.page-fh-fair-home .fh-poster-lightbox-trigger{
    transition:transform .2s ease, box-shadow .2s ease, filter .2s ease;
}

@media (hover:hover){
    .page-fh-fair-home .fh-poster-lightbox-trigger:hover{
        filter:saturate(1.025);
    }
    .page-fh-fair-home button.fh-vol4-feature-poster:hover{
        transform:rotate(-.15deg) translateY(-2px);
        box-shadow:8px 9px 0 rgba(220,233,223,.86);
    }
    .page-fh-fair-home button.fh-sara-special-poster-wrap:hover{
        transform:rotate(.35deg) translateY(-2px);
    }
}

.page-fh-fair-home .fh-poster-lightbox-trigger:focus-visible{
    outline:3px solid rgba(40,60,151,.32);
    outline-offset:4px;
}

.page-fh-fair-home .fh-poster-credit,
.page-fh-fair-home .fh-sara-special-credit{
    position:relative;
    z-index:4;
    color:rgba(36,53,116,.72);
    font:800 10px/1.35 ui-monospace,SFMono-Regular,Menlo,monospace;
    letter-spacing:.025em;
}

.page-fh-fair-home .fh-poster-credit a,
.page-fh-fair-home .fh-sara-special-credit a{
    color:#283c97;
    text-decoration:none;
    border-bottom:1px solid rgba(40,60,151,.28);
}

.page-fh-fair-home .fh-poster-credit a:hover,
.page-fh-fair-home .fh-poster-credit a:focus-visible,
.page-fh-fair-home .fh-sara-special-credit a:hover,
.page-fh-fair-home .fh-sara-special-credit a:focus-visible{
    color:#ef5149;
    border-bottom-color:currentColor;
}

.page-fh-fair-home .fh-poster-credit--feature{
    align-self:flex-start;
    margin-left:8px;
}

.page-fh-fair-home .fh-poster-credit--archive{
    padding:9px 14px 0;
    background:transparent;
    font-size:9px;
}

.page-fh-fair-home .fh-edition-image.fh-media{
    cursor:zoom-in;
}

.page-fh-fair-home .fh-lightbox-close{
    cursor:pointer;
}

.page-fh-fair-home .fh-lightbox [data-lightbox-prev][hidden],
.page-fh-fair-home .fh-lightbox [data-lightbox-next][hidden]{
    display:none!important;
}

@media(max-width:640px){
    .page-fh-fair-home .fh-vol4-feature-poster-area{
        width:min(100%,430px);
        margin:0 auto;
        gap:8px;
    }
    .page-fh-fair-home .fh-vol4-feature-poster-area .fh-vol4-feature-poster{
        width:100%;
        margin:0;
    }
    .page-fh-fair-home .fh-poster-credit--feature{
        margin-left:5px;
        font-size:9px;
    }
    .page-fh-fair-home .fh-poster-credit--archive{
        padding:8px 12px 0;
        font-size:8.5px;
    }
}

/* ========================================================================== */
/* FINAL: poster credits + participant spotlight polish                       */
/* ========================================================================== */
.page-fh-fair-home .fh-vol4-feature-poster-area,
.page-fh-fair-home .fh-sara-special-poster-area{
    display:flex !important;
    flex-direction:column !important;
    align-items:stretch !important;
    min-width:0 !important;
    overflow:visible !important;
}

.page-fh-fair-home .fh-vol4-feature-poster-area .fh-vol4-feature-poster,
.page-fh-fair-home .fh-sara-special-poster-area .fh-sara-special-poster-wrap{
    flex:0 0 auto !important;
}

.page-fh-fair-home .fh-poster-credit,
.page-fh-fair-home .fh-sara-special-credit{
    display:block !important;
    position:relative !important;
    z-index:20 !important;
    width:max-content !important;
    max-width:calc(100% - 10px) !important;
    margin:9px auto 0 !important;
    padding:5px 9px 4px !important;
    box-sizing:border-box !important;
    color:#243574 !important;
    background:rgba(255,251,236,.88) !important;
    border:1px solid rgba(40,60,151,.12) !important;
    border-radius:999px !important;
    box-shadow:2px 3px 0 rgba(239,171,201,.28) !important;
    font:700 10px/1.25 ui-monospace,SFMono-Regular,Menlo,monospace !important;
    letter-spacing:.015em !important;
    text-align:center !important;
    text-transform:none !important;
    opacity:1 !important;
    visibility:visible !important;
    overflow:visible !important;
}

.page-fh-fair-home .fh-poster-credit a,
.page-fh-fair-home .fh-sara-special-credit a{
    color:#283c97 !important;
    font:800 10px/1.25 ui-monospace,SFMono-Regular,Menlo,monospace !important;
    text-decoration:underline !important;
    text-decoration-thickness:1px !important;
    text-underline-offset:2px !important;
    border:0 !important;
}

.page-fh-fair-home .fh-poster-credit--archive{
    width:max-content !important;
    margin:7px auto 0 !important;
    padding:4px 8px !important;
    font-size:9px !important;
}

/* The participant heading stays compact; the available height goes to the bio. */
.page-fh-fair-home .fh-participant-spotlight-head{
    margin-bottom:12px !important;
}

.page-fh-fair-home .fh-participant-spotlight-head > div:first-child{
    max-width:100% !important;
}

.page-fh-fair-home .fh-participant-spotlight-card{
    min-height:235px !important;
    background:rgba(255,255,255,.68) !important;
}

.page-fh-fair-home .fh-participant-spotlight-bio{
    display:-webkit-box !important;
    overflow:hidden !important;
    -webkit-box-orient:vertical !important;
    -webkit-line-clamp:6 !important;
    font-size:12px !important;
    line-height:1.58 !important;
}

.page-fh-fair-home .fh-participant-spotlight-actions button{
    color:#fff !important;
    background:var(--fhv4-blue) !important;
    border-color:var(--fhv4-blue) !important;
    box-shadow:4px 4px 0 rgba(239,81,73,.72) !important;
}

@media (max-width:640px){
    .page-fh-fair-home .fh-poster-credit,
    .page-fh-fair-home .fh-sara-special-credit{
        margin-top:7px !important;
        padding:4px 8px !important;
        font-size:9px !important;
    }
    .page-fh-fair-home .fh-poster-credit a,
    .page-fh-fair-home .fh-sara-special-credit a{
        font-size:9px !important;
    }
    .page-fh-fair-home .fh-participant-spotlight-card{
        min-height:0 !important;
    }
    .page-fh-fair-home .fh-participant-spotlight-bio{
        -webkit-line-clamp:7 !important;
    }
}

/* ========================================================================== */
/* FINAL: Vol.4 poster signature + fuller participant biography               */
/* ========================================================================== */

/* Main Vol.4 poster credit: a small, handwritten-feeling signature directly
   beneath the poster itself. No pill, no box, no floating placement. */
.page-fh-fair-home .fh-vol4-feature-poster-area .fh-poster-credit--feature{
    display:block !important;
    position:relative !important;
    z-index:30 !important;
    align-self:flex-start !important;
    width:auto !important;
    max-width:none !important;
    margin:3px 0 0 18px !important;
    padding:0 !important;
    color:#283c97 !important;
    background:transparent !important;
    border:0 !important;
    border-radius:0 !important;
    box-shadow:none !important;
    font-family:Georgia,"Times New Roman",serif !important;
    font-size:11px !important;
    font-style:italic !important;
    font-weight:700 !important;
    line-height:1.15 !important;
    letter-spacing:.015em !important;
    text-align:left !important;
    transform:rotate(-4deg) !important;
    transform-origin:left center !important;
    opacity:1 !important;
    visibility:visible !important;
    white-space:nowrap !important;
}

.page-fh-fair-home .fh-vol4-feature-poster-area .fh-poster-credit--feature a{
    color:#ef5149 !important;
    font-family:inherit !important;
    font-size:inherit !important;
    font-style:inherit !important;
    font-weight:800 !important;
    line-height:inherit !important;
    text-decoration:none !important;
    border-bottom:1px solid currentColor !important;
    text-underline-offset:2px !important;
}

/* Let the participant biography actually breathe: show the full biography and
   let the card grow instead of clipping it after a handful of lines. */
.page-fh-fair-home .fh-participant-spotlight-card{
    min-height:285px !important;
    align-items:stretch !important;
}

.page-fh-fair-home .fh-participant-spotlight-media{
    min-height:285px !important;
}

.page-fh-fair-home .fh-participant-spotlight-copy{
    display:flex !important;
    flex-direction:column !important;
    justify-content:flex-start !important;
    padding:20px 22px 22px !important;
}

.page-fh-fair-home .fh-participant-spotlight-bio{
    display:block !important;
    margin:4px 0 0 !important;
    max-height:none !important;
    overflow:visible !important;
    color:#424754 !important;
    font-size:13px !important;
    line-height:1.62 !important;
    font-weight:650 !important;
    -webkit-box-orient:initial !important;
    -webkit-line-clamp:unset !important;
    line-clamp:unset !important;
}

.page-fh-fair-home .fh-participant-spotlight-meta{
    margin-top:14px !important;
}

@media(max-width:640px){
    .page-fh-fair-home .fh-vol4-feature-poster-area .fh-poster-credit--feature{
        margin:4px 0 0 14px !important;
        font-size:10.5px !important;
        transform:rotate(-3deg) !important;
    }

    .page-fh-fair-home .fh-participant-spotlight-card{
        min-height:0 !important;
    }

    .page-fh-fair-home .fh-participant-spotlight-media{
        min-height:210px !important;
    }

    .page-fh-fair-home .fh-participant-spotlight-copy{
        padding:18px 17px 20px !important;
    }

    .page-fh-fair-home .fh-participant-spotlight-bio{
        font-size:12.5px !important;
        line-height:1.62 !important;
    }
}


/* ========================================================================== */
/* FINAL hard override: Vol.4 design credit + blue participant draw button    */
/* ========================================================================== */
.page-fh-fair-home #fh-draw-next-blue[data-fh-draw-next]{
    background:#2f449d !important;
    background-image:none !important;
    border-color:#2f449d !important;
    color:#fff !important;
    box-shadow:4px 4px 0 rgba(239,81,73,.72) !important;
}
.page-fh-fair-home #fh-draw-next-blue[data-fh-draw-next]:hover,
.page-fh-fair-home #fh-draw-next-blue[data-fh-draw-next]:focus-visible{
    background:#243783 !important;
    background-image:none !important;
    border-color:#243783 !important;
    color:#fff !important;
}
.page-fh-fair-home #fh-vol4-design-credit{
    display:inline-flex !important;
    align-items:center !important;
    gap:5px !important;
    align-self:flex-start !important;
    width:auto !important;
    max-width:calc(100% - 18px) !important;
    margin:8px 0 0 10px !important;
    padding:6px 10px 5px !important;
    color:#2f449d !important;
    background:rgba(220,233,223,.96) !important;
    border:1px solid rgba(47,68,157,.18) !important;
    border-radius:999px 850px 999px 760px !important;
    box-shadow:3px 3px 0 rgba(239,171,201,.50) !important;
    font:900 9px/1 ui-monospace,SFMono-Regular,Menlo,monospace !important;
    letter-spacing:.08em !important;
    text-transform:uppercase !important;
    text-align:left !important;
    transform:rotate(-1.8deg) !important;
    opacity:1 !important;
    visibility:visible !important;
    white-space:nowrap !important;
}
.page-fh-fair-home #fh-vol4-design-credit span{color:#2f449d !important}
.page-fh-fair-home #fh-vol4-design-credit a{
    color:#ef5149 !important;
    font:inherit !important;
    text-decoration:none !important;
    border-bottom:1px solid rgba(239,81,73,.55) !important;
}
@media(max-width:640px){
    .page-fh-fair-home #fh-vol4-design-credit{
        margin:7px 0 0 8px !important;
        padding:6px 9px 5px !important;
        font-size:8.5px !important;
        transform:rotate(-1.2deg) !important;
    }
}

/* Final visual tuning: softer poster credit + larger participant biography card. */
.page-fh-fair-home #fh-vol4-design-credit{
    margin:9px 0 0 30px !important;
    padding:6px 12px 6px !important;
    color:#6f7fb6 !important;
    background:rgba(247,249,235,.94) !important;
    border:1px solid rgba(111,127,182,.14) !important;
    border-radius:999px 820px 999px 760px !important;
    box-shadow:3px 3px 0 rgba(230,205,223,.34) !important;
    font:800 9px/1.05 ui-monospace,SFMono-Regular,Menlo,monospace !important;
    letter-spacing:.055em !important;
    text-transform:none !important;
    transform:rotate(-1.35deg) !important;
}
.page-fh-fair-home #fh-vol4-design-credit span{color:#7e89b4 !important}
.page-fh-fair-home #fh-vol4-design-credit a{
    color:#bb7b87 !important;
    border-bottom-color:rgba(187,123,135,.34) !important;
}
.page-fh-fair-home #fh-vol4-design-credit a:hover,
.page-fh-fair-home #fh-vol4-design-credit a:focus-visible{color:#9f6673 !important}
.page-fh-fair-home .fh-participant-spotlight-card{
    min-height:310px !important;
    align-items:stretch !important;
    overflow:visible !important;
    background:linear-gradient(138deg,rgba(237,244,235,.88) 0%,rgba(248,241,233,.84) 58%,rgba(235,239,249,.80) 100%) !important;
    border-color:rgba(47,68,157,.14) !important;
    box-shadow:8px 9px 0 rgba(224,203,218,.38) !important;
}
.page-fh-fair-home .fh-participant-spotlight-media{
    min-height:310px !important;
    background:rgba(231,237,246,.48) !important;
}
.page-fh-fair-home .fh-participant-spotlight-copy{
    min-height:310px !important;
    padding:24px 25px 25px !important;
    background:rgba(250,246,235,.42) !important;
}
.page-fh-fair-home .fh-participant-spotlight-bio{
    display:block !important;
    margin:9px 0 0 !important;
    display:-webkit-box !important;
    max-height:calc(1.62em * 5) !important;
    overflow:hidden !important;
    white-space:normal !important;
    color:#42495c !important;
    font-size:14px !important;
    line-height:1.62 !important;
    font-weight:610 !important;
    -webkit-line-clamp:5 !important;
    line-clamp:5 !important;
    -webkit-box-orient:vertical !important;
}
.page-fh-fair-home .fh-participant-spotlight-meta{
    margin-top:auto !important;
    padding-top:18px !important;
}
@media(max-width:640px){
    .page-fh-fair-home #fh-vol4-design-credit{
        margin:7px 0 0 22px !important;
        padding:6px 10px 5px !important;
        font-size:8.5px !important;
    }
    .page-fh-fair-home .fh-participant-spotlight-card{min-height:0 !important;overflow:hidden !important}
    .page-fh-fair-home .fh-participant-spotlight-media{min-height:205px !important}
    .page-fh-fair-home .fh-participant-spotlight-copy{
        min-height:0 !important;
        padding:20px 18px 22px !important;
        background:rgba(250,246,235,.50) !important;
    }
    .page-fh-fair-home .fh-participant-spotlight-bio{font-size:13px !important;line-height:1.58 !important;max-height:calc(1.58em * 5) !important;-webkit-line-clamp:5 !important;line-clamp:5 !important;-webkit-box-orient:vertical !important}
}

