*{
    box-sizing:border-box;
}

html,body{
    margin:0;
    padding:0;
}

.fh-reg-body{
    min-height:100dvh;
    background:#2a0610;
    color:#fff;
    font-family:Arial, Helvetica, sans-serif;
}

.fh-reg-hero{
    position:relative;
    padding:0 0 28px;
    background:#1a060c;
    text-align:center;
    overflow:hidden;
}

.fh-reg-topbar{
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:16px;
    padding:14px 28px;
}

.fh-reg-hero-image{
    display:block;
    width:min(1284px, calc(100% - 36px));
    height:auto;
    margin:0 auto;
}

.fh-reg-home{
    color:#f4c430;
    font-size:22px;
    font-weight:900;
    letter-spacing:3px;
    text-decoration:none;
}

.fh-reg-utility{
    display:flex;
    gap:18px;
}

.fh-reg-utility a{
    color:#fff;
    text-decoration:none;
    font-size:11px;
    font-weight:800;
    letter-spacing:1px;
}

.fh-reg-hero-copy{
    position:relative;
    z-index:2;
    padding:18px 16px 0;
}

.fh-reg-kicker{
    margin:8px 0 10px;
    color:#c81e2a;
    font-family:"Oswald", Arial, sans-serif;
    font-size:clamp(16px, 2.4vw, 26px);
    font-weight:700;
    letter-spacing:4px;
    text-transform:uppercase;
}

.fh-reg-pills{
    display:flex;
    justify-content:center;
    align-items:center;
    flex-wrap:wrap;
    gap:8px 10px;
    color:#f4c430;
    font-family:"Oswald", Arial, sans-serif;
    font-size:15px;
    font-weight:600;
}

.fh-reg-pills button{
    border:0;
    background:none;
    color:#f4c430;
    font:inherit;
    cursor:pointer;
    padding:0;
}

.fh-reg-pills button:hover{
    color:#fff;
}

.fh-reg-tagline{
    margin:10px 0 0;
    color:#f4c430;
    font-family:"Oswald", Arial, sans-serif;
    font-size:clamp(16px, 2.2vw, 24px);
    font-weight:700;
    letter-spacing:1.4px;
    text-transform:uppercase;
}

.fh-reg-shell{
    display:grid;
    grid-template-columns:280px minmax(0, 1fr);
    gap:18px;
    align-items:start;
    max-width:1320px;
    margin:-18px auto 0;
    padding:0 18px 36px;
    position:relative;
    z-index:1;
}

.fh-reg-sidebar{
    background:#16060b;
    border:1px solid rgba(255,255,255,.08);
    border-radius:18px;
    overflow:hidden;
    box-shadow:0 18px 40px rgba(0,0,0,.35);
}

.fh-reg-nav-item + .fh-reg-nav-item{
    border-top:1px solid rgba(255,255,255,.06);
}

.fh-reg-nav-btn{
    display:grid;
    grid-template-columns:28px minmax(0, 1fr) 16px;
    align-items:center;
    gap:10px;
    width:100%;
    padding:13px 14px;
    border:0;
    background:transparent;
    color:#fff;
    text-align:left;
    cursor:pointer;
    font-family:"Oswald", Arial, sans-serif;
    font-size:13px;
    font-weight:600;
    letter-spacing:.4px;
}

.fh-reg-nav-item.is-active .fh-reg-nav-btn,
.fh-reg-nav-item.is-open .fh-reg-nav-btn{
    background:#9b1c2a;
}

.fh-reg-nav-icon{
    display:flex;
    width:22px;
    height:22px;
    color:#fff;
}

.fh-reg-nav-icon svg{
    width:22px;
    height:22px;
}

.fh-reg-nav-chevron{
    width:8px;
    height:8px;
    border-right:2px solid #fff;
    border-bottom:2px solid #fff;
    transform:rotate(45deg);
    justify-self:end;
    opacity:.8;
    transition:transform .2s ease;
}

.fh-reg-nav-item.is-open .fh-reg-nav-chevron{
    transform:rotate(-135deg);
    margin-top:4px;
}

.fh-reg-subnav{
    display:none;
    margin:0;
    padding:6px 14px 14px 42px;
    list-style:none;
    background:#9b1c2a;
}

.fh-reg-nav-item.is-open .fh-reg-subnav{
    display:block;
}

.fh-reg-subnav a{
    display:block;
    padding:5px 0;
    color:#fff;
    text-decoration:none;
    font-size:13px;
    font-weight:600;
    line-height:1.3;
}

.fh-reg-subnav a::before{
    content:'';
    display:inline-block;
    width:7px;
    height:7px;
    margin-right:8px;
    border-radius:50%;
    background:#d31224;
    box-shadow:0 0 0 2px rgba(255,255,255,.18);
}

.fh-reg-panel{
    min-width:0;
    background:#fff;
    border-radius:18px;
    overflow:hidden;
    box-shadow:0 18px 40px rgba(0,0,0,.35);
}

.fh-reg-section[hidden]{
    display:none;
}

.fh-reg-banner{
    position:relative;
    display:flex;
    align-items:center;
    gap:22px;
    min-height:168px;
    padding:22px 28px;
    background:
        linear-gradient(90deg, #1a0c10 0%, #3a1218 55%, #5a1820 100%);
    color:#fff;
}

.fh-reg-logo{
    flex:0 0 auto;
    height:120px;
    width:auto;
    max-width:42%;
    object-fit:contain;
    border-radius:12px;
}

.fh-reg-banner-copy p{
    margin:0 0 6px;
    color:#f4c430;
    font-family:"Oswald", Arial, sans-serif;
    font-size:13px;
    font-weight:700;
    letter-spacing:2px;
    text-transform:uppercase;
}

.fh-reg-banner h1{
    margin:0;
    font-family:"Oswald", Arial, sans-serif;
    font-size:clamp(28px, 4vw, 52px);
    font-weight:700;
    letter-spacing:1px;
    line-height:1;
    text-transform:uppercase;
    overflow-wrap:anywhere;
}

.fh-reg-banner-lead{
    margin-top:10px !important;
    max-width:520px;
    color:#fff !important;
    font-family:Arial, Helvetica, sans-serif !important;
    font-size:16px !important;
    font-weight:600 !important;
    letter-spacing:0 !important;
    text-transform:none !important;
    line-height:1.4;
}

.fh-reg-banner-copy{
    position:relative;
    z-index:1;
    min-width:0;
}

.fh-reg-content{
    padding:28px 32px 36px;
    color:#222;
}

.fh-reg-article + .fh-reg-article{
    margin-top:26px;
}

.fh-reg-article h2{
    display:flex;
    align-items:baseline;
    flex-wrap:wrap;
    gap:12px;
    margin:0 0 10px;
    color:#111;
    font-size:28px;
    font-weight:800;
}

.fh-reg-article h2 span{
    color:#c9a227;
    font-size:26px;
    white-space:nowrap;
}

.fh-reg-article h3{
    margin:16px 0 8px;
    color:#111;
    font-size:18px;
    font-weight:800;
}

.fh-reg-article p,
.fh-reg-content > p{
    margin:0 0 10px;
    color:#4a4a4a;
    font-size:16px;
    line-height:1.55;
    font-weight:500;
}

.fh-reg-table-wrap{
    overflow-x:auto;
    margin:8px 0 16px;
}

.fh-reg-table{
    width:100%;
    border-collapse:collapse;
    font-size:15px;
}

.fh-reg-table th,
.fh-reg-table td{
    padding:8px 12px;
    border-bottom:1px solid #ececec;
    text-align:left;
    color:#222;
    font-weight:600;
}

.fh-reg-table th{
    color:#9b1c2a;
    font-size:13px;
    letter-spacing:.4px;
    text-transform:uppercase;
}

.fh-reg-placeholder{
    margin:0;
    color:#666;
    font-size:16px;
    font-weight:600;
}

@media (max-width: 980px){
    .fh-reg-topbar{
        padding:12px 16px;
        flex-wrap:wrap;
    }

    .fh-reg-utility{
        flex-wrap:wrap;
    }

    .fh-reg-hero{
        padding-bottom:18px;
    }

    .fh-reg-hero-image{
        width:calc(100% - 24px);
    }

    .fh-reg-shell{
        grid-template-columns:1fr;
        margin-top:0;
        padding:12px;
    }

    .fh-reg-article h2 span{
        white-space:normal;
    }

    .fh-reg-banner{
        gap:14px;
        padding:16px;
    }

    .fh-reg-logo{
        height:84px;
        max-width:38%;
    }

    .fh-reg-content{
        padding:20px 16px 28px;
    }

    .fh-reg-article h2{
        font-size:22px;
    }
}
