/* =========================================================
   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;
}
.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,
    .page-fh-fair-internal .fh-internal-hero h1{font-size:clamp(49px,15vw,72px)}
    .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;
    }
}
