:root {
    --white: #ffffff;
    --soft-white: #faf9f6;
    --cream: #f6f1e7;

    --black: #0d0d0d;
    --charcoal: #252525;

    --gold: #c69b39;
    --gold-dark: #947024;
    --gold-light: #e0c172;

    --text: #2d2d2d;
    --muted: #747474;

    --line: #e8e4dc;

    --shadow:
        0 18px 50px rgba(0,0,0,.07);

    --max-width: 1380px;
}

* {
    box-sizing: border-box;
    margin: 0;
    padding: 0;
}

html {
    scroll-behavior: smooth;
}

body {
    background: var(--white);
    color: var(--text);

    font-family:
        "Segoe UI",
        Arial,
        Helvetica,
        sans-serif;

    line-height: 1.65;
}

img {
    max-width: 100%;
}

a {
    color: inherit;
    text-decoration: none;
}


/* HEADER */

.site-header {
    position: sticky;
    top: 0;
    z-index: 1000;

    background: rgba(255,255,255,.98);

    border-bottom:
        1px solid var(--line);
}

.header-inner {
    width: min(92%, var(--max-width));
    min-height: 88px;

    margin: auto;

    display: grid;

    grid-template-columns:
        190px 1fr auto;

    align-items: center;

    gap: 35px;
}

.brand {
    height: 64px;

    display: flex;
    align-items: center;
}

.brand img {
    width: 155px;
    height: 58px;

    object-fit: contain;
}

.desktop-nav {
    display: flex;

    justify-content: center;
    align-items: center;

    gap: clamp(18px, 2vw, 34px);
}

.desktop-nav a {
    position: relative;

    padding: 33px 0;

    color: #333;

    white-space: nowrap;

    font-size: 12px;
    font-weight: 600;

    transition: .2s;
}

.desktop-nav a::after {
    content: "";

    position: absolute;

    left: 0;
    right: 100%;
    bottom: 23px;

    height: 2px;

    background: var(--gold);

    transition: .25s;
}

.desktop-nav a:hover {
    color: var(--gold-dark);
}

.desktop-nav a:hover::after {
    right: 0;
}

.header-actions {
    display: flex;
    align-items: center;

    gap: 9px;
}


/* BUTTONS */

.button {
    min-height: 44px;

    padding: 0 20px;

    display: inline-flex;
    align-items: center;
    justify-content: center;

    border: 1px solid transparent;

    font-size: 11px;
    font-weight: 800;
    letter-spacing: .7px;

    transition: .2s;
}

.button:hover {
    transform: translateY(-1px);
}

.button-gold {
    background: var(--gold);
    color: white;
}

.button-outline {
    background: white;
    color: var(--gold-dark);

    border-color: var(--gold);
}

.button-dark {
    background: var(--black);
    color: white;
}


/* MOBILE MENU */

.menu-toggle {
    width: 40px;
    height: 40px;

    display: none;

    border: 0;
    background: transparent;

    cursor: pointer;
}

.menu-toggle span {
    width: 23px;
    height: 2px;

    display: block;

    margin: 5px auto;

    background: var(--black);
}

.mobile-nav {
    display: none;
}


/* HERO */

.hero {
    position: relative;

    min-height: 610px;

    background:
        linear-gradient(
            110deg,
            #ffffff 0%,
            #ffffff 67%,
            #faf6ec 100%
        );
}

.hero-inner {
    width: min(88%, var(--max-width));
    min-height: 610px;

    margin: auto;

    padding: 85px 0;

    display: grid;

    grid-template-columns:
        minmax(0,1.15fr)
        minmax(330px,.55fr);

    gap: 85px;

    align-items: center;
}

.eyebrow {
    color: var(--gold-dark);

    font-size: 10px;
    font-weight: 800;

    letter-spacing: 3px;
}

.hero h1 {
    max-width: 830px;

    margin-top: 14px;

    color: var(--black);

    font-family:
        Georgia,
        "Times New Roman",
        serif;

    font-size:
        clamp(52px,6vw,82px);

    line-height: 1.02;

    letter-spacing: -1px;
}

.hero h1 span {
    color: var(--gold-dark);
}

.hero-description {
    max-width: 660px;

    margin-top: 25px;

    color: var(--muted);

    font-size: 16px;
}

.hero-actions {
    margin-top: 32px;

    display: flex;
    flex-wrap: wrap;

    gap: 10px;
}


/* HERO APPLICATION CARD */

.application-card {
    padding: 40px;

    background: white;

    border: 1px solid var(--line);

    box-shadow: var(--shadow);
}

.application-card small {
    color: var(--gold-dark);

    font-size: 9px;
    font-weight: 800;

    letter-spacing: 2px;
}

.application-card h2 {
    margin-top: 12px;

    color: var(--black);

    font-family: Georgia, serif;

    font-size: 35px;

    line-height: 1.15;
}

.card-divider {
    width: 48px;
    height: 2px;

    margin: 25px 0;

    background: var(--gold);
}

.application-card label {
    display: block;

    color: var(--muted);

    font-size: 9px;
    font-weight: 700;

    letter-spacing: 2px;
}

.application-card strong {
    display: block;

    margin-top: 5px;

    color: var(--gold-dark);

    font-size: 20px;
}


/* STATS */

.stats {
    background: var(--black);
}

.stats-inner {
    width: min(88%, var(--max-width));

    margin: auto;

    display: grid;

    grid-template-columns:
        repeat(4,1fr);
}

.stat {
    min-height: 135px;

    padding: 30px;

    display: flex;
    flex-direction: column;
    justify-content: center;

    border-right:
        1px solid rgba(255,255,255,.12);
}

.stat:last-child {
    border-right: 0;
}

.stat strong {
    color: var(--gold-light);

    font-family: Georgia, serif;

    font-size: 34px;
}

.stat span {
    margin-top: 4px;

    color:
        rgba(255,255,255,.68);

    font-size: 12px;
}


/* GENERIC SECTIONS */

.section {
    padding: 95px 0;
}

.section-white {
    background: white;
}

.section-soft {
    background: var(--soft-white);
}

.section-inner {
    width: min(88%, var(--max-width));

    margin: auto;
}

.section-heading {
    max-width: 760px;

    margin-bottom: 50px;
}

.section-heading small {
    color: var(--gold-dark);

    font-size: 10px;
    font-weight: 800;

    letter-spacing: 3px;
}

.section-heading h2 {
    margin-top: 9px;

    color: var(--black);

    font-family: Georgia, serif;

    font-size: 44px;

    line-height: 1.12;
}

.section-heading p {
    margin-top: 12px;

    color: var(--muted);
}


/* CARDS */

.card-grid {
    display: grid;

    grid-template-columns:
        repeat(3,1fr);

    gap: 22px;
}

.content-card {
    padding: 32px;

    background: white;

    border:
        1px solid var(--line);

    transition: .2s;
}

.content-card:hover {
    transform: translateY(-3px);

    box-shadow:
        0 15px 35px rgba(0,0,0,.05);
}

.card-number {
    color: var(--gold);

    font-family: Georgia, serif;

    font-size: 28px;
}

.content-card h3 {
    margin-top: 18px;

    color: var(--black);

    font-size: 19px;
}

.content-card p {
    margin-top: 8px;

    color: var(--muted);

    font-size: 14px;
}


/* PREVIEW SECTION */

.preview-header {
    margin-bottom: 40px;

    display: flex;
    justify-content: space-between;
    align-items: end;

    gap: 30px;
}

.preview-link {
    color: var(--gold-dark);

    font-size: 11px;
    font-weight: 800;

    white-space: nowrap;
}

.empty-preview {
    padding: 45px;

    text-align: center;

    background: white;

    border: 1px solid var(--line);
}

.empty-preview h3 {
    color: var(--black);

    font-family: Georgia, serif;

    font-size: 25px;
}

.empty-preview p {
    margin-top: 7px;

    color: var(--muted);
}


/* FINAL CTA */

.final-cta {
    background: var(--black);
    color: white;
}

.final-cta-inner {
    width: min(88%, var(--max-width));

    margin: auto;

    padding: 80px 0;

    display: flex;
    justify-content: space-between;
    align-items: center;

    gap: 45px;
}

.final-cta small {
    color: var(--gold-light);

    font-size: 10px;
    font-weight: 800;

    letter-spacing: 3px;
}

.final-cta h2 {
    margin-top: 7px;

    font-family: Georgia, serif;

    font-size: 42px;
}

.final-cta p {
    margin-top: 7px;

    color:
        rgba(255,255,255,.68);
}


/* FOOTER */

.site-footer {
    padding: 60px 0 25px;

    background: white;

    border-top:
        1px solid var(--line);
}

.footer-main {
    width: min(88%, var(--max-width));

    margin: auto;

    display: grid;

    grid-template-columns:
        2fr 1fr 1fr 1fr;

    gap: 45px;
}

.footer-brand img {
    width: 150px;
    height: 70px;

    object-fit: contain;
}

.footer-brand p {
    max-width: 290px;

    margin-top: 12px;

    color: var(--muted);

    font-size: 13px;
}

.footer-column h4 {
    margin-bottom: 12px;

    color: var(--gold-dark);

    font-size: 10px;

    text-transform: uppercase;

    letter-spacing: 1.5px;
}

.footer-column a {
    display: block;

    margin: 8px 0;

    color: #555;

    font-size: 13px;
}

.footer-bottom {
    width: min(88%, var(--max-width));

    margin: 42px auto 0;

    padding-top: 20px;

    display: flex;
    justify-content: space-between;

    border-top:
        1px solid var(--line);

    color: #999;

    font-size: 11px;
}


/* TABLET */

@media(max-width:1050px) {

    .header-inner {
        grid-template-columns:
            160px 1fr auto;

        gap: 20px;
    }

    .desktop-nav {
        gap: 17px;
    }

    .desktop-nav a {
        font-size: 11px;
    }

    .hero-inner {
        grid-template-columns: 1fr;
    }

    .application-card {
        max-width: 650px;
    }

    .card-grid {
        grid-template-columns:
            repeat(2,1fr);
    }
}


/* MOBILE */

@media(max-width:760px) {

    .header-inner {
        min-height: 72px;

        grid-template-columns:
            120px 1fr;

        gap: 15px;
    }

    .brand {
        height: 52px;
    }

    .brand img {
        width: 112px;
        height: 48px;
    }

    .desktop-nav {
        display: none;
    }

    .header-actions {
        justify-content: flex-end;
    }

    .header-apply {
        display: none;
    }

    .header-actions > .button-gold {
        display: none;
    }

    .menu-toggle {
        display: block;
    }

    .mobile-nav {
        padding: 10px 6% 22px;

        background: white;

        border-top:
            1px solid var(--line);
    }

    .mobile-nav.open {
        display: block;
    }

    .mobile-nav > a {
        display: block;

        padding: 13px 4px;

        color: #333;

        border-bottom:
            1px solid #eeeae2;

        font-size: 13px;
        font-weight: 600;
    }

    .mobile-actions {
        padding-top: 18px;

        display: grid;

        grid-template-columns:
            1fr 1fr;

        gap: 9px;
    }

    .hero-inner {
        width: min(90%, var(--max-width));

        padding: 60px 0;

        gap: 45px;
    }

    .hero h1 {
        font-size: 46px;
    }

    .hero-description {
        font-size: 15px;
    }

    .hero-actions {
        flex-direction: column;
    }

    .hero-actions .button {
        width: 100%;
    }

    .application-card {
        padding: 30px 24px;
    }

    .stats-inner {
        width: 100%;

        grid-template-columns:
            repeat(2,1fr);
    }

    .stat {
        min-height: 108px;

        padding: 20px;
    }

    .stat strong {
        font-size: 25px;
    }

    .section {
        padding: 70px 0;
    }

    .section-inner {
        width: 90%;
    }

    .section-heading h2 {
        font-size: 35px;
    }

    .card-grid {
        grid-template-columns: 1fr;
    }

    .preview-header {
        align-items: flex-start;
        flex-direction: column;
    }

    .final-cta-inner {
        width: 90%;

        padding: 65px 0;

        align-items: flex-start;
        flex-direction: column;
    }

    .final-cta h2 {
        font-size: 34px;
    }

    .footer-main {
        width: 90%;

        grid-template-columns: 1fr;

        gap: 30px;
    }

    .footer-bottom {
        width: 90%;

        gap: 12px;

        flex-direction: column;
    }
}

/* =========================================
   RESPONSIVE FOUNDATION
   ========================================= */

html,
body {
    width: 100%;
    max-width: 100%;
    overflow-x: hidden;
}

img,
svg,
video {
    max-width: 100%;
    height: auto;
}

/* TABLET */

@media (max-width: 1100px) {

    .header-inner {
        grid-template-columns: 170px 1fr auto;
        gap: 18px;
        width: 94%;
    }

    .desktop-nav {
        gap: 15px;
    }

    .desktop-nav a {
        font-size: 11px;
    }

    .hero-inner {
        width: 92%;
        grid-template-columns: 1fr;
        gap: 45px;
        padding: 65px 0;
    }

    .application-card {
        max-width: 650px;
    }

    .stats-inner {
        width: 92%;
    }

    .section-inner,
    .footer-main,
    .footer-bottom,
    .final-cta-inner {
        width: 92%;
    }

    .card-grid {
        grid-template-columns: repeat(2, 1fr);
    }
}


/* MOBILE NAV BREAKPOINT */

@media (max-width: 820px) {

    .header-inner {
        min-height: 74px;
        width: 92%;
        grid-template-columns: 1fr auto;
        gap: 15px;
    }

    .brand {
        height: 54px;
    }

    .brand img {
        width: 125px;
        height: 52px;
        object-fit: contain;
    }

    .desktop-nav {
        display: none;
    }

    .header-apply,
    .header-actions > .button-gold {
        display: none;
    }

    .menu-toggle {
        display: block;
    }

    .mobile-nav {
        display: none;
        padding: 8px 4% 20px;
        background: #fff;
        border-top: 1px solid var(--line);
    }

    .mobile-nav.open {
        display: block;
    }

    .mobile-nav > a {
        display: block;
        padding: 13px 4px;
        font-size: 13px;
        font-weight: 600;
        color: #2b2b2b;
        border-bottom: 1px solid #eeeae2;
    }

    .mobile-actions {
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap: 9px;
        padding-top: 18px;
    }

    .mobile-actions .button {
        width: 100%;
    }

    .hero {
        min-height: auto;
    }

    .hero-inner {
        width: 90%;
        min-height: auto;
        padding: 55px 0;
    }

    .hero h1 {
        font-size: clamp(40px, 9vw, 56px);
        line-height: 1.04;
    }

    .hero-description {
        font-size: 15px;
        line-height: 1.7;
    }

    .hero-actions {
        flex-direction: column;
    }

    .hero-actions .button {
        width: 100%;
    }

    .application-card {
        width: 100%;
        max-width: none;
        padding: 28px 22px;
    }

    .stats-inner {
        width: 100%;
        grid-template-columns: repeat(2, 1fr);
    }

    .stat {
        min-height: 105px;
        padding: 18px;
    }

    .stat:nth-child(2) {
        border-right: 0;
    }

    .stat {
        border-bottom: 1px solid rgba(255,255,255,.12);
    }

    .stat:nth-child(3),
    .stat:nth-child(4) {
        border-bottom: 0;
    }

    .stat strong {
        font-size: 25px;
    }

    .section {
        padding: 65px 0;
    }

    .section-inner {
        width: 90%;
    }

    .section-heading {
        margin-bottom: 36px;
    }

    .section-heading h2 {
        font-size: 34px;
    }

    .card-grid {
        grid-template-columns: 1fr;
    }

    .preview-header {
        flex-direction: column;
        align-items: flex-start;
        gap: 10px;
    }

    .empty-preview {
        padding: 30px 20px;
    }

    .final-cta-inner {
        width: 90%;
        padding: 60px 0;
        flex-direction: column;
        align-items: flex-start;
    }

    .final-cta h2 {
        font-size: 34px;
    }

    .footer-main {
        width: 90%;
        grid-template-columns: 1fr 1fr;
        gap: 30px;
    }

    .footer-bottom {
        width: 90%;
    }
}


/* SMALL MOBILE */

@media (max-width: 520px) {

    .header-inner {
        width: 92%;
    }

    .brand img {
        width: 108px;
        height: 46px;
    }

    .hero-inner,
    .section-inner,
    .footer-main,
    .footer-bottom,
    .final-cta-inner {
        width: 90%;
    }

    .hero h1 {
        font-size: 40px;
    }

    .eyebrow {
        font-size: 9px;
        letter-spacing: 2px;
    }

    .application-card h2 {
        font-size: 29px;
    }

    .stats-inner {
        grid-template-columns: repeat(2, 1fr);
    }

    .stat {
        padding: 16px 14px;
    }

    .stat strong {
        font-size: 22px;
    }

    .stat span {
        font-size: 10px;
    }

    .section-heading h2 {
        font-size: 31px;
    }

    .content-card {
        padding: 24px 20px;
    }

    .footer-main {
        grid-template-columns: 1fr;
    }

    .footer-bottom {
        flex-direction: column;
        gap: 8px;
    }

    .mobile-actions {
        grid-template-columns: 1fr;
    }
}

/* NOMINEES */

.nominee-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 22px;
}

.nominee-card {
    overflow: hidden;
    background: #fff;
    border: 1px solid var(--line);
}

.nominee-image {
    height: 290px;
    overflow: hidden;
    background: var(--soft-white);
}

.nominee-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.nominee-placeholder {
    width: 100%;
    height: 100%;
    display: grid;
    place-items: center;
    color: var(--gold-dark);
    font-family: Georgia, serif;
}

.nominee-info {
    padding: 22px;
}

.nominee-info small {
    color: var(--gold-dark);
    font-size: 9px;
    font-weight: 800;
}

.nominee-info h3 {
    margin-top: 5px;
    color: var(--black);
    font-size: 20px;
}

.nominee-info p {
    margin-top: 3px;
    color: var(--muted);
    font-size: 12px;
}

.nominee-info strong {
    display: block;
    margin-top: 13px;
    color: var(--gold-dark);
}

.nominee-actions {
    margin-top: 18px;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 8px;
}

.nominee-actions .button {
    width: 100%;
}


/* PARTNERS */

.partner-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 18px;
}

.partner-card {
    min-height: 150px;
    padding: 25px;
    display: grid;
    place-items: center;
    text-align: center;
    background: #fff;
    border: 1px solid var(--line);
}

.partner-card img {
    max-width: 160px;
    max-height: 80px;
    object-fit: contain;
}

.partner-card strong {
    color: var(--black);
}


/* RESPONSIVE */

@media(max-width:1050px) {

    .nominee-grid {
        grid-template-columns: repeat(3, 1fr);
    }

    .partner-grid {
        grid-template-columns: repeat(3, 1fr);
    }
}

@media(max-width:760px) {

    .nominee-grid {
        grid-template-columns: repeat(2, 1fr);
    }

    .partner-grid {
        grid-template-columns: repeat(2, 1fr);
    }

    .nominee-image {
        height: 235px;
    }
}

@media(max-width:480px) {

    .nominee-grid {
        grid-template-columns: 1fr;
    }

    .partner-grid {
        grid-template-columns: repeat(2, 1fr);
    }

    .nominee-image {
        height: 320px;
    }
}

/* APPLICATION PAGE */

.application-layout {
    display: grid;
    grid-template-columns: .55fr 1fr;
    gap: 70px;
    align-items: start;
}

.application-intro {
    position: sticky;
    top: 130px;
}

.application-intro h1 {
    margin-top: 10px;

    color: var(--black);

    font-family: Georgia, serif;

    font-size: 45px;

    line-height: 1.08;
}

.application-intro > p {
    margin-top: 16px;

    color: var(--muted);
}

.application-deadline {
    margin-top: 30px;

    padding: 22px;

    background: var(--soft-white);

    border-left:
        3px solid var(--gold);
}

.application-deadline span {
    display: block;

    color: var(--muted);

    font-size: 9px;

    font-weight: 800;

    letter-spacing: 2px;
}

.application-deadline strong {
    display: block;

    margin-top: 5px;

    color: var(--gold-dark);

    font-size: 19px;
}

.application-form-card {
    padding: 38px;

    background: white;

    border: 1px solid var(--line);

    box-shadow:
        0 15px 45px rgba(0,0,0,.05);
}

.form-section-title {
    margin: 10px 0 25px;

    padding-top: 25px;

    display: flex;

    gap: 15px;

    border-top:
        1px solid var(--line);
}

.form-section-title:first-of-type {
    padding-top: 0;

    border-top: 0;
}

.form-section-title > span {
    width: 38px;
    height: 38px;

    flex: 0 0 38px;

    display: grid;
    place-items: center;

    background: var(--black);

    color: var(--gold-light);

    font-size: 11px;

    font-weight: 800;
}

.form-section-title h3 {
    color: var(--black);

    font-size: 18px;
}

.form-section-title p {
    color: var(--muted);

    font-size: 12px;
}

.form-grid {
    display: grid;

    grid-template-columns:
        repeat(2,1fr);

    gap: 19px;

    margin-bottom: 34px;
}

.field {
    display: flex;
    flex-direction: column;

    gap: 6px;
}

.field-full {
    grid-column: 1 / -1;
}

.field label {
    color: #333;

    font-size: 12px;

    font-weight: 700;
}

.field label span {
    color: var(--muted);

    font-weight: 400;
}

.field input,
.field select {
    width: 100%;

    min-height: 48px;

    padding: 0 13px;

    background: white;

    border:
        1px solid #dcd8cf;

    color: #222;

    font: inherit;

    outline: none;
}

.field input:focus,
.field select:focus {
    border-color: var(--gold);

    box-shadow:
        0 0 0 3px rgba(198,155,57,.09);
}

.upload-area {
    min-height: 210px;

    position: relative;

    margin-bottom: 27px;

    display: grid;
    place-items: center;

    text-align: center;

    border:
        2px dashed #d4cec0;

    background: var(--soft-white);

    overflow: hidden;
}

.upload-area input {
    position: absolute;

    inset: 0;

    z-index: 3;

    opacity: 0;

    cursor: pointer;
}

#uploadMessage strong {
    display: block;

    color: var(--black);

    font-size: 15px;
}

#uploadMessage span {
    display: block;

    margin-top: 4px;

    color: var(--muted);

    font-size: 11px;
}

#profilePreview {
    display: none;

    width: 150px;
    height: 170px;

    object-fit: cover;
}

.consent {
    margin-top: 18px;

    display: flex;

    gap: 11px;

    align-items: flex-start;

    color: var(--muted);

    font-size: 12px;
}

.consent input {
    margin-top: 4px;
}

.application-submit {
    width: 100%;

    margin-top: 25px;

    border: 0;

    cursor: pointer;
}

.application-submit:disabled {
    opacity: .6;

    cursor: wait;
}

.form-error {
    margin-bottom: 25px;

    padding: 14px;

    color: #8d2626;

    background: #fff3f3;

    border-left:
        3px solid #b63838;

    font-size: 13px;
}

@media(max-width:900px) {

    .application-layout {
        grid-template-columns: 1fr;

        gap: 40px;
    }

    .application-intro {
        position: static;
    }
}

@media(max-width:600px) {

    .application-form-card {
        padding: 25px 18px;
    }

    .application-intro h1 {
        font-size: 36px;
    }

    .form-grid {
        grid-template-columns: 1fr;
    }

    .field-full {
        grid-column: auto;
    }
}

/* ==========================
   PUBLIC PAGE HERO
   ========================== */

.page-hero,
.vote-hero {
    padding: 90px 0;
    background:
        linear-gradient(
            110deg,
            #ffffff 0%,
            #ffffff 70%,
            #faf6ec 100%
        );
    border-bottom: 1px solid var(--line);
}

.page-hero h1,
.vote-hero h1 {
    max-width: 800px;
    margin-top: 12px;
    color: var(--black);
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(44px,6vw,68px);
    line-height: 1.05;
}

.page-hero p,
.vote-hero p {
    max-width: 720px;
    margin-top: 17px;
    color: var(--muted);
    font-size: 16px;
}


/* ==========================
   PARTNERS
   ========================== */

.partner-grid {
    display: grid;
    grid-template-columns: repeat(4,1fr);
    gap: 20px;
}

.partner-card {
    padding: 28px;
    text-align: center;
    background: white;
    border: 1px solid var(--line);
}

.partner-logo {
    min-height: 110px;
    display: grid;
    place-items: center;
    margin-bottom: 18px;
}

.partner-logo img {
    max-width: 160px;
    max-height: 85px;
    object-fit: contain;
}

.partner-logo span {
    color: var(--gold-dark);
    font-family: Georgia, serif;
    font-size: 19px;
}

.partner-card h3 {
    color: var(--black);
    font-size: 17px;
}

.partner-link {
    display: inline-block;
    margin-top: 12px;
    color: var(--gold-dark);
    font-size: 10px;
    font-weight: 800;
}

.partner-join-section {
    background: var(--black);
    color: white;
}

.partner-join-inner {
    padding-top: 75px;
    padding-bottom: 75px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 45px;
}

.partner-join-inner small {
    color: var(--gold-light);
    font-size: 10px;
    font-weight: 800;
    letter-spacing: 3px;
}

.partner-join-inner h2 {
    margin-top: 8px;
    font-family: Georgia, serif;
    font-size: 38px;
}

.partner-join-inner p {
    max-width: 700px;
    margin-top: 8px;
    color: rgba(255,255,255,.68);
}


/* ==========================
   CONTACT
   ========================== */

.contact-grid {
    display: grid;
    grid-template-columns: repeat(3,1fr);
    gap: 22px;
}

.contact-card {
    padding: 32px;
    border: 1px solid var(--line);
    background: white;
}

.contact-card small {
    color: var(--gold-dark);
    font-size: 9px;
    font-weight: 800;
    letter-spacing: 2px;
}

.contact-card h3 {
    margin-top: 10px;
    color: var(--black);
    font-size: 20px;
}

.contact-card p {
    margin: 9px 0 22px;
    color: var(--muted);
    font-size: 14px;
}

.contact-placeholder {
    color: var(--gold-dark);
    font-size: 12px;
    font-weight: 700;
}


/* ==========================
   TERMS
   ========================== */

.terms-content {
    max-width: 900px;
}

.terms-content article {
    padding: 28px 0;
    border-bottom: 1px solid var(--line);
}

.terms-content article:first-child {
    padding-top: 0;
}

.terms-content h2 {
    color: var(--black);
    font-family: Georgia, serif;
    font-size: 24px;
}

.terms-content p {
    margin-top: 9px;
    color: var(--muted);
}


/* ==========================
   VOTE
   ========================== */

.vote-hero {
    min-height: 530px;
    display: flex;
    align-items: center;
}

.vote-hero-inner {
    width: min(88%, var(--max-width));
}


/* RESPONSIVE */

@media(max-width:1050px) {

    .partner-grid {
        grid-template-columns: repeat(3,1fr);
    }

    .contact-grid {
        grid-template-columns: repeat(2,1fr);
    }
}

@media(max-width:760px) {

    .page-hero,
    .vote-hero {
        padding: 65px 0;
    }

    .partner-grid {
        grid-template-columns: repeat(2,1fr);
    }

    .contact-grid {
        grid-template-columns: 1fr;
    }

    .partner-join-inner {
        flex-direction: column;
        align-items: flex-start;
    }
}

@media(max-width:480px) {

    .partner-grid {
        grid-template-columns: 1fr;
    }
}

/* ===========================
   HOME CATEGORY PREVIEW
   =========================== */

.category-preview-grid {
    display: grid;
    grid-template-columns: repeat(3,1fr);
    gap: 20px;
}

.category-preview-card {
    min-height: 190px;
    padding: 28px;
    border: 1px solid var(--line);
    background: white;
}

.category-preview-card > span {
    color: var(--gold-dark);
    font-size: 8px;
    font-weight: 800;
    letter-spacing: 2px;
}

.category-preview-card h3 {
    margin-top: 18px;
    color: var(--black);
    font-family: Georgia, serif;
    font-size: 22px;
}

.category-preview-card p {
    margin-top: 5px;
    color: var(--muted);
    font-size: 12px;
}

.category-preview-card a {
    display: inline-block;
    margin-top: 22px;
    color: var(--gold-dark);
    font-size: 10px;
    font-weight: 800;
}


/* ===========================
   HOME NOMINEES
   =========================== */

.home-nominee-grid {
    display: grid;
    grid-template-columns: repeat(3,1fr);
    gap: 22px;
}

.home-nominee-card {
    background: white;
    border: 1px solid var(--line);
    overflow: hidden;
}

.home-nominee-image {
    height: 330px;
    background: #f6f3ed;
    overflow: hidden;
}

.home-nominee-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.home-nominee-info {
    padding: 23px;
}

.home-nominee-info small {
    color: var(--gold-dark);
    font-size: 9px;
    font-weight: 800;
}

.home-nominee-info h3 {
    margin-top: 5px;
    color: var(--black);
    font-size: 21px;
}

.home-nominee-info p {
    color: var(--muted);
    font-size: 12px;
}

.home-nominee-info strong {
    display: block;
    margin-top: 12px;
    color: var(--gold-dark);
    font-size: 14px;
}

.home-nominee-actions {
    margin-top: 18px;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 8px;
}

.home-nominee-actions .button {
    width: 100%;
}


/* ===========================
   HOME PARTNERS
   =========================== */

.home-partner-grid {
    display: grid;
    grid-template-columns: repeat(4,1fr);
    gap: 17px;
}

.home-partner-card {
    min-height: 130px;
    padding: 24px;
    display: grid;
    place-items: center;
    background: white;
    border: 1px solid var(--line);
}

.home-partner-card img {
    max-width: 160px;
    max-height: 75px;
    object-fit: contain;
}

.home-partner-card strong {
    color: var(--black);
    text-align: center;
}


/* RESPONSIVE */

@media(max-width:1050px) {

    .category-preview-grid,
    .home-nominee-grid {
        grid-template-columns: repeat(2,1fr);
    }

    .home-partner-grid {
        grid-template-columns: repeat(3,1fr);
    }
}

@media(max-width:760px) {

    .category-preview-grid {
        grid-template-columns: 1fr;
    }

    .home-nominee-grid {
        grid-template-columns: repeat(2,1fr);
    }

    .home-nominee-image {
        height: 260px;
    }

    .home-partner-grid {
        grid-template-columns: repeat(2,1fr);
    }
}

@media(max-width:500px) {

    .home-nominee-grid {
        grid-template-columns: 1fr;
    }

    .home-nominee-image {
        height: 340px;
    }
}

/* ========================================
   GLOBAL STICKY NAVBAR
   Desktop + Tablet + Mobile
   ======================================== */

.site-header {
    position: sticky !important;
    top: 0;
    left: 0;
    right: 0;
    width: 100%;
    z-index: 9999;

    background: rgba(255, 255, 255, 0.98);
    border-bottom: 1px solid rgba(0, 0, 0, 0.08);

    -webkit-backdrop-filter: blur(12px);
    backdrop-filter: blur(12px);
}

/* Keep navbar itself correctly aligned */

.site-header .nav-container,
.site-header .navbar,
.site-header .header-inner {
    position: relative;
    z-index: 10000;
}


/* Mobile menu must stay above page content */

.mobile-menu,
.nav-menu {
    z-index: 9998;
}


/* Prevent anchors from disappearing underneath sticky header */

html {
    scroll-padding-top: 100px;
}


/* Tablet */

@media (max-width: 900px) {

    .site-header {
        position: sticky !important;
        top: 0;
    }

    html {
        scroll-padding-top: 85px;
    }
}


/* Mobile */

@media (max-width: 600px) {

    .site-header {
        position: sticky !important;
        top: 0;
        width: 100%;
    }

    html {
        scroll-padding-top: 75px;
    }
}


/* =========================================
   FORCE FIXED GLOBAL HEADER
   DESKTOP + TABLET + MOBILE
   ========================================= */

.site-header {
    position: fixed !important;
    top: 0 !important;
    left: 0 !important;
    right: 0 !important;

    width: 100% !important;

    z-index: 99999 !important;

    background: #ffffff !important;

    border-bottom: 1px solid #e8e4dc;

    box-shadow:
        0 5px 25px rgba(0,0,0,.07);
}


/* Page content offset will be set dynamically by JS */

body {
    padding-top: var(--header-height, 138px);
}


/* Keep mobile menu attached to fixed header */

.mobile-nav {
    position: relative;
    z-index: 100000;
    background: #ffffff;
}


/* Desktop */

@media (min-width: 821px) {

    body {
        padding-top: var(--header-height, 88px);
    }
}


/* Mobile */

@media (max-width: 820px) {

    .site-header {
        position: fixed !important;
        top: 0 !important;
    }

    body {
        padding-top: var(--header-height, 74px);
    }
}

/* =========================================
   HERO + FIXED HEADER SPACING CORRECTION
   ========================================= */

body {
    padding-top: var(--header-height, 88px) !important;
}

.hero {
    position: relative;
    min-height: 620px;

    background:
        linear-gradient(
            90deg,
            rgba(255,255,255,.97) 0%,
            rgba(255,255,255,.93) 42%,
            rgba(255,255,255,.64) 68%,
            rgba(255,255,255,.20) 100%
        ),
       
        center right / cover no-repeat;
}

.hero-inner {
    min-height: 620px;
    padding-top: 60px !important;
    padding-bottom: 60px !important;
}

@media(max-width:820px) {

    body {
        padding-top: var(--header-height, 72px) !important;
    }

    .hero {
        min-height: auto;

        background:
            linear-gradient(
                rgba(255,255,255,.90),
                rgba(255,255,255,.96)
            ),
            url('/assets/img/site/hero.jpg')
            center / cover no-repeat;
    }

    .hero-inner {
        min-height: auto;
        padding-top: 45px !important;
        padding-bottom: 45px !important;
    }
}

/* ==========================================
   TALANTA APPLICATION CATEGORY FIX
   Category must NEVER be hidden
   ========================================== */

#category {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    pointer-events: auto !important;
}

#category.closest {
    display: block !important;
}

.application-form-card .field:has(#category) {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
}

.application-form-card .field:has(#subcategory) {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
}

#subcategory {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
}


/* =========================================
   FINAL APPLICATION PAGE
   ========================================= */

.application-page {
    background:#f7f6f2;
}

.application-hero {
    padding:55px 0;
    background:#ffffff;
    border-bottom:1px solid var(--line);
}

.application-hero h1 {
    margin-top:8px;
    color:var(--black);
    font-family:Georgia,serif;
    font-size:clamp(36px,5vw,56px);
}

.application-hero p {
    max-width:700px;
    margin-top:12px;
    color:var(--muted);
}


.application-shell {
    display:grid;
    grid-template-columns:
        minmax(260px,.34fr)
        minmax(0,.66fr);
    gap:38px;
    align-items:start;
}


.application-side {
    position:sticky;
    top:110px;
    padding:32px;
    background:#111111;
    color:white;
}

.application-side h2 {
    margin-top:12px;
    font-family:Georgia,serif;
    font-size:34px;
    line-height:1.1;
}

.application-side > p {
    margin-top:15px;
    color:rgba(255,255,255,.68);
    line-height:1.7;
}

.application-side-info {
    margin-top:25px;
    padding-top:18px;
    border-top:1px solid rgba(255,255,255,.12);
}

.application-side-info span {
    display:block;
    color:var(--gold);
    font-size:9px;
    font-weight:800;
    letter-spacing:1.5px;
}

.application-side-info strong {
    display:block;
    margin-top:5px;
    font-size:15px;
}


.application-form-card {
    padding:36px;
    background:#ffffff;
    border:1px solid var(--line);
}


.form-section-title {
    margin-top:42px;
    margin-bottom:22px;
    display:flex;
    gap:14px;
    align-items:flex-start;
}

.form-section-title:first-of-type {
    margin-top:0;
}

.form-section-title > span {
    width:34px;
    height:34px;
    flex:0 0 34px;
    display:grid;
    place-items:center;
    background:#111;
    color:var(--gold);
    font-size:10px;
    font-weight:800;
}

.form-section-title h3 {
    color:var(--black);
    font-size:18px;
}

.form-section-title p {
    margin-top:3px;
    color:var(--muted);
    font-size:12px;
}


.form-grid {
    display:grid;
    grid-template-columns:
        repeat(2,minmax(0,1fr));
    gap:18px;
}

.field {
    display:block !important;
    visibility:visible !important;
    opacity:1 !important;
}

.field-full {
    grid-column:1 / -1;
}

.field label {
    display:block;
    margin-bottom:7px;
    color:#333;
    font-size:11px;
    font-weight:700;
}

.field label span {
    color:var(--muted);
    font-weight:400;
}


.field input,
.field select,
.field textarea {
    display:block !important;
    visibility:visible !important;
    opacity:1 !important;
    width:100%;
    min-height:48px;
    padding:0 12px;
    border:1px solid #d9d6cf;
    background:#fff;
    color:#222;
    font:inherit;
}


/*
 * Explicitly guarantee the award fields
 * can never disappear.
 */

#category,
#subcategory {
    display:block !important;
    visibility:visible !important;
    opacity:1 !important;
    position:static !important;
    width:100% !important;
    pointer-events:auto !important;
}


.form-note {
    margin-top:11px;
    padding:11px 13px;
    background:#faf7ee;
    border-left:3px solid var(--gold);
    color:#676153;
    font-size:11px;
}


.profile-upload-box {
    position:relative;
    min-height:180px;
    padding:24px;
    display:grid;
    place-items:center;
    text-align:center;
    border:1px dashed #c9c4b8;
    background:#faf9f6;
}

.profile-upload-box input {
    position:absolute;
    inset:0;
    width:100%;
    height:100%;
    opacity:0;
    cursor:pointer;
}

.upload-message strong,
.upload-message span {
    display:block;
}

.upload-message strong {
    color:var(--black);
    font-size:14px;
}

.upload-message span {
    margin-top:5px;
    color:var(--muted);
    font-size:10px;
}

.profile-preview {
    display:none;
    width:180px;
    height:220px;
    object-fit:cover;
}


.consent {
    margin-top:26px;
    display:flex;
    gap:10px;
    align-items:flex-start;
    color:#666;
    font-size:11px;
    line-height:1.6;
}

.consent input {
    margin-top:3px;
}


.application-submit {
    width:100%;
    margin-top:25px;
    min-height:52px;
}


.form-error {
    margin-bottom:20px;
    padding:13px 15px;
    background:#fff0f0;
    border-left:3px solid #b93838;
    color:#8d2929;
    font-size:12px;
}


@media(max-width:900px) {

    .application-shell {
        grid-template-columns:1fr;
    }

    .application-side {
        position:static;
    }
}


@media(max-width:600px) {

    .application-hero {
        padding:38px 0;
    }

    .application-form-card {
        padding:24px 18px;
    }

    .form-grid {
        grid-template-columns:1fr;
    }

    .field-full {
        grid-column:auto;
    }

    .application-side {
        padding:25px;
    }

    .application-side h2 {
        font-size:28px;
    }
}


/* =========================================
   TALANTA CORPORATE FOOTER
   ========================================= */

.site-footer {
    margin-top:0;
    background:#111111;
    color:#ffffff;
    border-top:3px solid var(--gold);
}

.footer-main {
    width:min(1180px,90%);
    margin:0 auto;
    padding:65px 0 52px;

    display:grid;
    grid-template-columns:
        1.6fr
        1fr
        1fr
        1fr;

    gap:55px;
}

.footer-brand-logo {
    width:145px;
    height:90px;
    object-fit:contain;
    object-position:left center;
}

.footer-brand p {
    max-width:280px;
    margin-top:18px;

    color:rgba(255,255,255,.62);

    font-size:13px;
    line-height:1.7;
}

.footer-column h4 {
    margin-bottom:18px;

    color:var(--gold);

    font-size:10px;
    font-weight:800;

    letter-spacing:1.5px;
    text-transform:uppercase;
}

.footer-column a,
.footer-column span {
    display:block;

    margin-bottom:10px;

    color:rgba(255,255,255,.68);

    font-size:12px;

    transition:.2s ease;
}

.footer-column a:hover {
    color:#ffffff;
    transform:translateX(3px);
}

.footer-bottom {
    min-height:68px;

    display:flex;
    align-items:center;

    width:min(1180px,90%);
    margin:0 auto;

    border-top:
        1px solid rgba(255,255,255,.1);

    color:rgba(255,255,255,.42);

    font-size:10px;
}


@media(max-width:900px) {

    .footer-main {
        grid-template-columns:
            repeat(2,minmax(0,1fr));

        gap:35px;
    }
}


@media(max-width:600px) {

    .footer-main {
        padding:45px 0 35px;

        grid-template-columns:1fr;

        gap:30px;
    }

    .footer-brand-logo {
        width:125px;
    }

    .footer-bottom {
        padding:20px 0;
    }
}

/* =========================================
   APPLICATION SUCCESS MODAL
   ========================================= */

.application-success-page {
    min-height:calc(100vh - 90px);
    background:#f5f3ed;
}

.success-overlay {
    min-height:calc(100vh - 90px);

    padding:40px 20px;

    display:flex;
    align-items:center;
    justify-content:center;

    background:
        linear-gradient(
            rgba(255,255,255,.88),
            rgba(255,255,255,.92)
        );
}

.success-modal {
    width:min(100%,560px);

    padding:46px 38px;

    text-align:center;

    background:#ffffff;

    border:1px solid #e5dfd2;

    box-shadow:
        0 25px 70px rgba(0,0,0,.12);
}

.success-icon {
    width:66px;
    height:66px;

    margin:0 auto 22px;

    display:grid;
    place-items:center;

    border-radius:50%;

    background:#111111;

    color:#d2a43a;

    font-size:30px;
    font-weight:700;
}

.success-eyebrow {
    display:block;

    color:#a47a22;

    font-size:9px;
    font-weight:800;

    letter-spacing:1.8px;
}

.success-modal h1 {
    margin-top:10px;

    color:#171717;

    font-family:Georgia,serif;

    font-size:34px;
    line-height:1.15;
}

.success-modal p {
    max-width:470px;

    margin:16px auto 0;

    color:#666666;

    font-size:13px;
    line-height:1.7;
}

.success-reference {
    margin-top:25px;

    padding:16px;

    background:#faf7ee;

    border:1px solid #eee2c4;
}

.success-reference span {
    display:block;

    color:#8d6b20;

    font-size:8px;
    font-weight:800;

    letter-spacing:1.3px;
}

.success-reference strong {
    display:block;

    margin-top:5px;

    color:#222222;

    font-size:17px;
}

.success-home-button {
    width:100%;

    min-height:50px;

    margin-top:26px;

    display:flex;
    align-items:center;
    justify-content:center;

    background:#c99a2e;

    color:#ffffff !important;

    font-size:11px;
    font-weight:800;

    letter-spacing:1px;

    text-decoration:none;
}

.success-home-button:hover {
    background:#a97e24;
}

@media(max-width:600px) {

    .success-overlay {
        padding:24px 14px;
    }

    .success-modal {
        padding:34px 22px;
    }

    .success-modal h1 {
        font-size:28px;
    }
}

/* APPLICATION SUBMISSION SUCCESS */

.submission-success-page {
    min-height:calc(100vh - 90px);
    background:#f5f4ef;
}

.submission-success-overlay {
    min-height:calc(100vh - 90px);

    padding:40px 20px;

    display:flex;
    align-items:center;
    justify-content:center;
}

.submission-success-modal {
    width:min(100%,520px);

    padding:45px 38px;

    text-align:center;

    background:#ffffff;

    border:1px solid #e6e1d7;

    box-shadow:
        0 25px 80px rgba(0,0,0,.12);
}

.submission-success-check {
    width:65px;
    height:65px;

    margin:0 auto 20px;

    display:grid;
    place-items:center;

    border-radius:50%;

    background:#111111;

    color:#cda13e;

    font-size:30px;
    font-weight:800;
}

.submission-success-label {
    color:#9b7424;

    font-size:9px;
    font-weight:800;

    letter-spacing:1.6px;
}

.submission-success-modal h1 {
    margin-top:10px;

    color:#171717;

    font-family:Georgia,serif;

    font-size:36px;
}

.submission-success-modal p {
    margin:15px auto 0;

    max-width:430px;

    color:#666;

    font-size:13px;
    line-height:1.7;
}

.submission-reference {
    margin-top:24px;

    padding:15px;

    background:#faf7ef;

    border:1px solid #eadfc5;
}

.submission-reference span {
    display:block;

    color:#8e6c25;

    font-size:8px;
    font-weight:800;

    letter-spacing:1.2px;
}

.submission-reference strong {
    display:block;

    margin-top:5px;

    color:#222;

    font-size:17px;
}

.submission-home-button {
    min-height:50px;

    margin-top:25px;

    display:flex;
    align-items:center;
    justify-content:center;

    background:#c99a2e;

    color:#fff !important;

    font-size:10px;
    font-weight:800;

    letter-spacing:1px;
}

@media(max-width:600px) {

    .submission-success-modal {
        padding:34px 22px;
    }

    .submission-success-modal h1 {
        font-size:29px;
    }
}

/* =========================================
   NOMINEE RESPONSIVE GRID
   ========================================= */

.nominee-grid,
.nominees-grid {
    display:grid;
    grid-template-columns:repeat(8,minmax(0,1fr));
    gap:14px;
    align-items:stretch;
}

.nominee-card {
    min-width:0;
    background:#ffffff;
    border:1px solid #e8e3d8;
    overflow:hidden;
    transition:
        transform .2s ease,
        box-shadow .2s ease,
        border-color .2s ease;
}

.nominee-card:hover {
    transform:translateY(-3px);
    box-shadow:0 12px 30px rgba(0,0,0,.08);
    border-color:#d7bd7b;
}

.nominee-card-image {
    width:100%;
    aspect-ratio:4 / 5;
    overflow:hidden;
    background:#f3f1eb;
}

.nominee-card-image img {
    width:100%;
    height:100%;
    display:block;
    object-fit:cover;
}

.nominee-card-body {
    padding:12px 10px 13px;
}

.nominee-card-name {
    margin:0;

    color:#171717;

    font-size:13px;
    font-weight:800;
    line-height:1.25;

    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis;
}

.nominee-card-category {
    margin-top:4px;

    color:#8b7a58;

    font-size:9px;
    font-weight:700;
    line-height:1.3;

    text-transform:uppercase;
    letter-spacing:.4px;

    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis;
}

.nominee-card-votes {
    margin-top:10px;

    color:#444;

    font-size:10px;
}

.nominee-card-votes strong {
    display:block;

    margin-top:2px;

    color:#111;

    font-size:15px;
}

.nominee-card .button,
.nominee-card .vote-button {
    width:100%;

    min-height:36px;

    margin-top:10px;

    display:flex;
    align-items:center;
    justify-content:center;

    padding:0 8px;

    font-size:9px;
    font-weight:800;

    letter-spacing:.5px;
}


/* LARGE TABLET / SMALL LAPTOP */

@media(max-width:1200px) {

    .nominee-grid,
    .nominees-grid {
        grid-template-columns:repeat(6,minmax(0,1fr));
    }
}


/* TABLET */

@media(max-width:900px) {

    .nominee-grid,
    .nominees-grid {
        grid-template-columns:repeat(4,minmax(0,1fr));
        gap:13px;
    }
}


/* PHONE */

@media(max-width:600px) {

    .nominee-grid,
    .nominees-grid {
        grid-template-columns:repeat(2,minmax(0,1fr));
        gap:10px;
    }

    .nominee-card-body {
        padding:10px 8px 11px;
    }

    .nominee-card-name {
        font-size:12px;
    }

    .nominee-card-category {
        font-size:8px;
    }

    .nominee-card-votes strong {
        font-size:14px;
    }
}

/* FINAL NOMINEE GRID BREAKPOINTS */

@media(min-width:901px) {

    .nominee-grid,
    .nominees-grid {
        grid-template-columns:repeat(8,minmax(0,1fr)) !important;
    }
}

@media(min-width:601px) and (max-width:900px) {

    .nominee-grid,
    .nominees-grid {
        grid-template-columns:repeat(4,minmax(0,1fr)) !important;
    }
}

@media(max-width:600px) {

    .nominee-grid,
    .nominees-grid {
        grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    }
}

.nominees-section .section-inner,
.nominee-list-section .section-inner {
    width:min(1440px,96%);
}

/* =========================================
   COMPACT NOMINEE CARDS
   ========================================= */

.nominee-card {
    height:auto !important;
    min-height:0 !important;
}

.nominee-card-image {
    width:100% !important;
    height:145px !important;
    aspect-ratio:auto !important;
    overflow:hidden;
}

.nominee-card-image img {
    width:100% !important;
    height:100% !important;
    object-fit:cover !important;
    object-position:center top;
}

.nominee-card-body {
    padding:8px !important;
}

.nominee-card-name {
    font-size:12px !important;
    line-height:1.2 !important;
    margin:0 !important;
}

.nominee-card-category {
    font-size:8px !important;
    margin-top:3px !important;
}

.nominee-card-votes {
    margin-top:6px !important;
    font-size:9px !important;
}

.nominee-card-votes strong {
    font-size:13px !important;
    margin-top:1px !important;
}

.nominee-card .button,
.nominee-card .vote-button {
    min-height:30px !important;
    height:30px !important;
    margin-top:7px !important;
    padding:0 6px !important;
    font-size:8px !important;
}


/* TABLET */

@media (min-width:601px) and (max-width:900px) {

    .nominee-card-image {
        height:165px !important;
    }

}


/* PHONE */

@media (max-width:600px) {

    .nominee-card-image {
        height:155px !important;
    }

    .nominee-card-body {
        padding:8px !important;
    }

    .nominee-card-name {
        font-size:11px !important;
    }

    .nominee-card .button,
    .nominee-card .vote-button {
        height:30px !important;
        min-height:30px !important;
    }

}

/* =====================================================
   FINAL COMPACT SQUARE NOMINEE CARDS
   ===================================================== */

.nominee-grid,
.nominees-grid {
    align-items:start !important;
}

/* WHOLE CARD = SQUARE */
.nominee-card {
    width:100% !important;
    aspect-ratio:1 / 1 !important;
    height:auto !important;
    min-height:0 !important;

    display:flex !important;
    flex-direction:column !important;

    background:#fff !important;
    overflow:hidden !important;
}

/* PHOTO TAKES UPPER PART */
.nominee-card-image {
    width:100% !important;
    height:auto !important;
    aspect-ratio:auto !important;

    flex:1 1 auto !important;
    min-height:0 !important;

    overflow:hidden !important;
}

.nominee-card-image img {
    width:100% !important;
    height:100% !important;

    display:block !important;

    object-fit:cover !important;
    object-position:center top !important;
}

/* VERY COMPACT DETAILS */
.nominee-card-body {
    flex:0 0 auto !important;

    padding:6px 7px 7px !important;

    min-height:0 !important;
}

.nominee-card-name {
    margin:0 !important;

    font-size:11px !important;
    line-height:1.1 !important;
    font-weight:800 !important;

    white-space:nowrap !important;
    overflow:hidden !important;
    text-overflow:ellipsis !important;
}

.nominee-card-category {
    margin:2px 0 0 !important;

    font-size:7px !important;
    line-height:1.1 !important;

    white-space:nowrap !important;
    overflow:hidden !important;
    text-overflow:ellipsis !important;
}

/* REMOVE LARGE VERTICAL SPACING */
.nominee-card-votes {
    margin:3px 0 0 !important;
    padding:0 !important;

    font-size:8px !important;
    line-height:1 !important;
}

.nominee-card-votes strong {
    display:inline !important;

    margin:0 0 0 3px !important;

    font-size:10px !important;
    line-height:1 !important;
}

/* SMALL VOTE BUTTON */
.nominee-card .button,
.nominee-card .vote-button {
    width:100% !important;

    height:24px !important;
    min-height:24px !important;

    margin:5px 0 0 !important;
    padding:0 5px !important;

    font-size:7px !important;
    line-height:24px !important;
}


/* DESKTOP / LAPTOP = 8 */

@media (min-width:901px) {

    .nominee-grid,
    .nominees-grid {
        grid-template-columns:
            repeat(8,minmax(0,1fr)) !important;

        gap:12px !important;
    }
}


/* TABLET = 4 */

@media (min-width:601px) and (max-width:900px) {

    .nominee-grid,
    .nominees-grid {
        grid-template-columns:
            repeat(4,minmax(0,1fr)) !important;

        gap:12px !important;
    }
}


/* PHONE = 2 */

@media (max-width:600px) {

    .nominee-grid,
    .nominees-grid {
        grid-template-columns:
            repeat(2,minmax(0,1fr)) !important;

        gap:10px !important;
    }
}


/* =====================================================
   CLEAN COMPACT NOMINEE CARDS
   ===================================================== */

.nominee-grid,
.nominees-grid {
    display:grid !important;
    grid-template-columns:repeat(8,minmax(0,1fr)) !important;
    gap:12px !important;
    align-items:start !important;
}

.nominee-card {
    width:100% !important;
    height:auto !important;
    min-height:0 !important;
    aspect-ratio:auto !important;

    display:block !important;

    background:#ffffff !important;
    border:1px solid #e7e2d8 !important;

    overflow:hidden !important;

    box-shadow:none !important;
}

/* SQUARE PHOTO ONLY */
.nominee-card-image {
    width:100% !important;
    height:auto !important;
    aspect-ratio:1 / 1 !important;

    overflow:hidden !important;
    background:#f3f1eb !important;
}

.nominee-card-image img {
    width:100% !important;
    height:100% !important;

    display:block !important;

    object-fit:cover !important;
    object-position:center top !important;
}

/* SHORT BODY UNDER PHOTO */
.nominee-card-body {
    padding:8px !important;
    min-height:0 !important;
    height:auto !important;
}

.nominee-card-name {
    margin:0 !important;

    color:#171717 !important;

    font-size:11px !important;
    font-weight:800 !important;
    line-height:1.2 !important;

    white-space:nowrap !important;
    overflow:hidden !important;
    text-overflow:ellipsis !important;
}

.nominee-card-category {
    margin-top:3px !important;

    color:#8d7a52 !important;

    font-size:7px !important;
    font-weight:700 !important;
    line-height:1.2 !important;

    white-space:nowrap !important;
    overflow:hidden !important;
    text-overflow:ellipsis !important;
}

.nominee-card-votes {
    margin-top:5px !important;

    color:#666 !important;

    font-size:8px !important;
    line-height:1.2 !important;
}

.nominee-card-votes strong {
    display:inline !important;

    margin-left:3px !important;

    color:#111 !important;

    font-size:10px !important;
}

/* COMPACT BUTTON */
.nominee-card .button,
.nominee-card .vote-button {
    width:100% !important;

    height:28px !important;
    min-height:28px !important;

    margin-top:6px !important;
    padding:0 6px !important;

    display:flex !important;
    align-items:center !important;
    justify-content:center !important;

    font-size:7px !important;
    font-weight:800 !important;
    letter-spacing:.4px !important;
}


/* TABLET */
@media(max-width:900px) {

    .nominee-grid,
    .nominees-grid {
        grid-template-columns:
            repeat(4,minmax(0,1fr)) !important;

        gap:12px !important;
    }

}


/* PHONE */
@media(max-width:600px) {

    .nominee-grid,
    .nominees-grid {
        grid-template-columns:
            repeat(2,minmax(0,1fr)) !important;

        gap:10px !important;
    }

    .nominee-card-body {
        padding:7px !important;
    }

}


/* ==========================================================
   TALANTA NOMINEES PAGE - FINAL
   ========================================================== */

.nominees-page {
    background:#fff;
    color:#171717;
}

.nominees-container {
    width:min(1500px,94%);
    margin:0 auto;
}


/* TITLE */

.nominees-hero {
    padding:34px 0 16px;
    text-align:center;
}

.nominees-hero h1 {
    margin:0;
    font-size:34px;
    line-height:1;
    font-weight:800;
}

.nominees-hero p {
    margin:12px 0 0;
    color:#666;
    font-size:14px;
}

.nominees-title-mark {
    display:flex;
    justify-content:center;
    align-items:center;
    gap:8px;
    margin-top:8px;
    color:#c9972d;
}

.nominees-title-mark span {
    width:35px;
    height:1px;
    background:#c9972d;
}


/* FILTER */

.nominee-filter-section {
    padding:10px 0 28px;
}

.nominee-filter {
    display:grid;
    grid-template-columns:
        minmax(230px,1.4fr)
        minmax(170px,1fr)
        minmax(170px,1fr)
        minmax(140px,.8fr)
        auto
        auto;

    gap:12px;

    padding:14px;

    border:1px solid #eee;
    background:#fff;

    box-shadow:
        0 8px 25px rgba(0,0,0,.06);
}

.nominee-filter input,
.nominee-filter select {
    width:100%;
    height:44px;

    padding:0 13px;

    border:1px solid #ddd;
    background:#fff;

    color:#333;

    font:inherit;
    font-size:12px;

    outline:none;
}

.nominee-search {
    position:relative;
}

.nominee-search input {
    padding-left:38px;
}

.nominee-search-icon {
    position:absolute;
    left:14px;
    top:50%;
    transform:translateY(-50%);

    color:#777;
    z-index:2;
}

.nominee-filter-button,
.nominee-clear-filter {
    height:44px;

    padding:0 18px;

    display:flex;
    align-items:center;
    justify-content:center;

    border:1px solid #c9972d;

    font-size:10px;
    font-weight:800;
    letter-spacing:.4px;

    text-decoration:none;
}

.nominee-filter-button {
    background:#c9972d;
    color:#fff;
    cursor:pointer;
}

.nominee-clear-filter {
    background:#fff;
    color:#9b721d;
}


/* CATEGORY */

.nominee-results {
    padding-bottom:60px;
}

.nominee-category-group {
    margin-bottom:32px;
}

.nominee-category-heading {
    margin-bottom:12px;
    padding-bottom:10px;

    border-bottom:1px solid #e9e5dc;
}

.nominee-category-title {
    display:flex;
    align-items:center;
    gap:9px;
}

.category-trophy {
    color:#c9972d;
    font-size:14px;
}

.nominee-category-title h2 {
    margin:0;

    font-size:17px;
    line-height:1.2;
    font-weight:800;
}

.nominee-count {
    padding:4px 7px;

    border-radius:4px;

    background:#f8e8bb;
    color:#9b721d;

    font-size:8px;
    font-weight:800;
}


/* EXACT GRID */

.nominees-page .nominees-grid {
    display:grid !important;

    grid-template-columns:
        repeat(8,minmax(0,1fr)) !important;

    gap:12px !important;

    align-items:start !important;
}


/* CARD */

.nominees-page .nominee-card {
    width:100% !important;
    height:auto !important;
    min-height:0 !important;

    display:block !important;

    border:1px solid #e7e3dc !important;

    background:#fff !important;

    overflow:hidden !important;

    box-shadow:none !important;
}


/* NORMAL COMPACT PHOTO */

.nominees-page .nominee-card-photo {
    width:100%;
    aspect-ratio:1 / .82;

    display:block;

    overflow:hidden;

    background:#f5f4f0;
}

.nominees-page .nominee-card-photo img {
    width:100%;
    height:100%;

    display:block;

    object-fit:cover;
    object-position:center;
}

.nominee-photo-placeholder {
    width:100%;
    height:100%;

    display:flex;
    align-items:center;
    justify-content:center;

    font-size:10px;
    font-weight:800;

    color:#a78334;
}


/* CONTENT */

.nominees-page .nominee-card-content {
    padding:9px 9px 10px !important;
}

.nominee-card-subcategory {
    margin-bottom:5px;

    color:#a2771d;

    font-size:8px;
    line-height:1.15;
    font-weight:800;

    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis;
}

.nominees-page .nominee-card h3 {
    margin:0;

    color:#151515;

    font-size:12px;
    line-height:1.2;
    font-weight:800;

    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis;
}

.nominee-card-meta {
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:5px;

    margin-top:4px;

    color:#777;

    font-size:8px;
}

.nominee-code {
    overflow:hidden;
    white-space:nowrap;
    text-overflow:ellipsis;
}

.nominee-card-vote-count {
    margin-top:8px;

    display:flex;
    align-items:baseline;
    gap:4px;

    color:#9b721d;
}

.nominee-card-vote-count strong {
    font-size:14px;
    line-height:1;
}

.nominee-card-vote-count span {
    font-size:8px;
    font-weight:700;
}


/* ACTIONS */

.nominee-card-actions {
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:6px;

    margin-top:9px;
}

.nominee-view-button,
.nominee-vote-button {
    height:28px;

    display:flex;
    align-items:center;
    justify-content:center;

    font-size:7px;
    font-weight:800;
    letter-spacing:.4px;

    text-decoration:none;
}

.nominee-view-button {
    border:1px solid #c9972d;
    color:#8f6817;
    background:#fff;
}

.nominee-vote-button {
    border:1px solid #c9972d;
    background:#c9972d;
    color:#fff;
}


/* EMPTY */

.nominees-empty {
    padding:70px 20px;
    text-align:center;
}

.nominees-empty h2 {
    margin:0 0 8px;
}

.nominees-empty p {
    margin:0;
    color:#777;
}


/* ==========================================================
   TABLET - 4 PER ROW
   ========================================================== */

@media(max-width:1000px) {

    .nominee-filter {
        grid-template-columns:1fr 1fr;
    }

    .nominees-page .nominees-grid {
        grid-template-columns:
            repeat(4,minmax(0,1fr)) !important;
    }

}


/* ==========================================================
   PHONE - 2 PER ROW
   ========================================================== */

@media(max-width:600px) {

    .nominees-container {
        width:94%;
    }

    .nominees-hero {
        padding:22px 0 12px;
    }

    .nominees-hero h1 {
        font-size:26px;
    }

    .nominees-hero p {
        font-size:12px;
    }

    .nominee-filter {
        grid-template-columns:1fr;
        gap:8px;
        padding:10px;
    }

    .nominee-filter input,
    .nominee-filter select,
    .nominee-filter-button,
    .nominee-clear-filter {
        height:40px;
    }

    .nominees-page .nominees-grid {
        grid-template-columns:
            repeat(2,minmax(0,1fr)) !important;

        gap:9px !important;
    }

    .nominee-category-title {
        flex-wrap:wrap;
    }

    .nominee-category-title h2 {
        font-size:14px;
    }

    .nominees-page .nominee-card-content {
        padding:7px !important;
    }

    .nominees-page .nominee-card h3 {
        font-size:11px;
    }

    .nominee-card-actions {
        gap:5px;
        margin-top:7px;
    }

    .nominee-view-button,
    .nominee-vote-button {
        height:27px;
    }

}


/* NOMINEE SHARE */

.nominee-share-link {
    margin:0;
    padding:0;

    border:0;
    background:transparent;

    color:#a47719;

    font-size:8px;
    font-weight:800;
    letter-spacing:.3px;

    cursor:pointer;
}

.nominee-share-link:hover {
    text-decoration:underline;
}



/* =====================================================
   DIRECT NOMINEE VOTING
   ===================================================== */

.direct-vote-page {
    padding:45px 0 70px;
    background:#f7f6f2;
}

.direct-vote-container {
    width:min(950px,92%);
    margin:0 auto;

    display:grid;
    grid-template-columns:.9fr 1.1fr;
    gap:24px;

    align-items:start;
}

.direct-vote-nominee,
.direct-vote-form-card {
    background:#fff;
    border:1px solid #e7e2d8;
}

.direct-vote-photo {
    width:100%;
    aspect-ratio:1 / 1;
    overflow:hidden;
}

.direct-vote-photo img {
    width:100%;
    height:100%;

    display:block;

    object-fit:cover;
}

.direct-vote-profile {
    padding:22px;
}

.direct-vote-category,
.direct-vote-subcategory {
    display:block;

    color:#9c731e;

    font-size:9px;
    font-weight:800;

    text-transform:uppercase;
}

.direct-vote-subcategory {
    margin-top:3px;
    color:#777;
}

.direct-vote-profile h1 {
    margin:10px 0 3px;

    font-size:28px;
}

.direct-vote-profile p {
    margin:0;
    color:#777;
}

.direct-current-votes {
    margin-top:20px;
}

.direct-current-votes strong {
    display:block;

    color:#a87c1c;

    font-size:27px;
}

.direct-current-votes span {
    color:#777;
    font-size:10px;
}


/* FORM */

.direct-vote-form-card {
    padding:32px;
}

.vote-label {
    color:#a87c1c;

    font-size:9px;
    font-weight:800;

    letter-spacing:1.3px;
}

.direct-vote-form-card h2 {
    margin:7px 0 5px;

    font-size:27px;
}

.vote-price-note {
    margin:0 0 25px;

    color:#666;
    font-size:12px;
}

.vote-field {
    margin-top:16px;
}

.vote-field label {
    display:block;
    margin-bottom:6px;

    font-size:11px;
    font-weight:700;
}

.vote-field input {
    width:100%;
    height:48px;

    padding:0 13px;

    border:1px solid #dcd8ce;

    font:inherit;
}

.vote-calculation {
    margin-top:10px;

    padding:12px;

    display:flex;
    justify-content:space-between;
    align-items:center;

    background:#faf7ef;
}

.vote-calculation span {
    color:#777;
    font-size:10px;
}

.vote-calculation strong {
    color:#9d741d;
    font-size:14px;
}

.quick-vote-values {
    display:grid;
    grid-template-columns:repeat(5,1fr);
    gap:6px;

    margin-top:10px;
}

.quick-vote-values button {
    min-height:32px;

    border:1px solid #d7c28b;

    background:#fff;

    color:#8c681a;

    font-size:8px;
    font-weight:800;

    cursor:pointer;
}

.send-stk-button {
    width:100%;
    height:50px;

    margin-top:22px;

    border:0;

    background:#c99a2e;
    color:#fff;

    font-size:10px;
    font-weight:800;

    letter-spacing:.6px;

    cursor:pointer;
}

.send-stk-button:disabled {
    opacity:.6;
    cursor:not-allowed;
}

.vote-validation-error {
    margin-top:10px;

    color:#b42323;

    font-size:10px;
}

.share-vote-page {
    width:100%;
    height:42px;

    margin-top:9px;

    border:1px solid #c99a2e;

    background:#fff;
    color:#98701c;

    font-size:9px;
    font-weight:800;

    cursor:pointer;
}


@media(max-width:700px) {

    .direct-vote-page {
        padding:24px 0 45px;
    }

    .direct-vote-container {
        grid-template-columns:1fr;
    }

    .direct-vote-form-card {
        padding:24px 18px;
    }

    .quick-vote-values {
        grid-template-columns:
            repeat(3,1fr);
    }

}



/* ==========================================================
   NOMINEE DIRECTORY
   ========================================================== */

.nominee-directory {
    background:#fff;
}

.nominee-directory-container {
    width:min(1500px,94%);
    margin:0 auto;
}


/* HEADER */

.nominee-directory-header {
    padding:34px 0 17px;
    text-align:center;
}

.directory-eyebrow {
    color:#a57a1f;
    font-size:8px;
    font-weight:800;
    letter-spacing:1.4px;
}

.nominee-directory-header h1 {
    margin:7px 0 0;
    font-size:33px;
    line-height:1;
}

.nominee-directory-header p {
    margin:10px 0 0;
    color:#666;
    font-size:12px;
}

.directory-title-rule {
    display:flex;
    align-items:center;
    justify-content:center;
    gap:7px;
    margin-top:8px;
}

.directory-title-rule span {
    width:30px;
    height:1px;
    background:#c99a2e;
}

.directory-title-rule strong {
    color:#c99a2e;
    font-size:10px;
}


/* FILTER */

.nominee-filter-area {
    padding:10px 0 28px;
}

.nominee-directory-filter {
    display:grid;

    grid-template-columns:
        minmax(220px,1.35fr)
        minmax(160px,1fr)
        minmax(160px,1fr)
        minmax(130px,.75fr)
        auto
        auto;

    gap:10px;

    padding:13px;

    border:1px solid #ece8e0;

    box-shadow:
        0 8px 24px rgba(0,0,0,.05);
}

.nominee-directory-filter input,
.nominee-directory-filter select {
    width:100%;
    height:42px;

    padding:0 12px;

    border:1px solid #ddd9d1;

    background:#fff;

    font:inherit;
    font-size:11px;

    outline:none;
}

.directory-filter-submit,
.directory-filter-reset {
    height:42px;

    padding:0 16px;

    display:flex;
    align-items:center;
    justify-content:center;

    font-size:9px;
    font-weight:800;

    text-decoration:none;
}

.directory-filter-submit {
    border:1px solid #c99a2e;

    background:#c99a2e;
    color:#fff;

    cursor:pointer;
}

.directory-filter-reset {
    border:1px solid #c99a2e;

    background:#fff;
    color:#976e18;
}


/* CATEGORY */

.directory-category {
    margin-bottom:32px;
}

.directory-category-header {
    margin-bottom:12px;

    padding-bottom:10px;

    border-bottom:
        1px solid #e8e4dc;
}

.directory-category-header > div {
    display:flex;
    align-items:center;
    gap:7px;
}

.directory-category-number {
    color:#b6841e;

    font-size:16px;
    font-weight:800;
}

.directory-category-header h2 {
    margin:0;

    font-size:16px;
    font-weight:800;
}

.directory-nominee-count {
    margin-left:5px;

    padding:4px 7px;

    background:#f9e8b9;

    color:#98701d;

    border-radius:3px;

    font-size:7px;
    font-weight:800;
}


/* GRID - 8 DESKTOP */

.directory-nominee-grid {
    display:grid;

    grid-template-columns:
        repeat(8,minmax(0,1fr));

    gap:12px;

    align-items:start;
}


/* CARD */

.directory-nominee-card {
    min-width:0;

    border:
        1px solid #e7e3db;

    background:#fff;

    overflow:hidden;
}


/* COMPACT PHOTO */

.directory-photo {
    width:100%;

    aspect-ratio:1 / .88;

    display:block;

    overflow:hidden;

    background:#f5f4f0;
}

.directory-photo img {
    width:100%;
    height:100%;

    display:block;

    object-fit:cover;

    object-position:center;
}

.directory-photo-empty {
    width:100%;
    height:100%;

    display:flex;
    align-items:center;
    justify-content:center;

    color:#a67b21;

    font-size:9px;
    font-weight:800;
}


/* CONTENT */

.directory-card-content {
    padding:8px;
}

.directory-subcategory {
    display:block;

    color:#a37920;

    font-size:7px;
    line-height:1.1;
    font-weight:800;

    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis;
}

.directory-card-content h3 {
    margin:4px 0 0;

    color:#161616;

    font-size:11px;
    line-height:1.15;

    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis;
}

.directory-card-gender {
    margin-top:3px;

    color:#777;

    font-size:8px;
}


/* SOCIAL PROFILE */

.directory-social-link {
    margin-top:7px;

    padding:6px 0;

    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:4px;

    border-top:
        1px solid #eee9df;

    border-bottom:
        1px solid #eee9df;

    text-decoration:none;
}

.directory-social-link span {
    min-width:0;

    color:#555;

    font-size:7px;
    font-weight:700;

    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis;
}

.directory-social-link strong {
    flex:0 0 auto;

    color:#a1771f;

    font-size:6px;
    font-weight:800;
}


/* VOTES */

.directory-votes {
    margin-top:7px;

    display:flex;
    align-items:baseline;
    gap:3px;

    color:#9d741d;
}

.directory-votes strong {
    font-size:13px;
    line-height:1;
}

.directory-votes span {
    font-size:7px;
    font-weight:700;
}


/* SHARE + VOTE */

.directory-card-actions {
    margin-top:8px;

    display:grid;

    grid-template-columns:
        1fr 1fr;

    gap:5px;
}

.directory-share-button,
.directory-vote-button {
    height:27px;

    display:flex;
    align-items:center;
    justify-content:center;

    font-size:7px;
    font-weight:800;

    text-decoration:none;
}

.directory-share-button {
    border:1px solid #c99a2e;

    background:#fff;
    color:#956c18;

    cursor:pointer;
}

.directory-vote-button {
    border:1px solid #c99a2e;

    background:#c99a2e;
    color:#fff;
}


/* EMPTY */

.directory-empty {
    padding:70px 20px;

    text-align:center;
}

.directory-empty p {
    color:#777;
}


/* TABLET = 4 */

@media(max-width:1000px) {

    .nominee-directory-filter {
        grid-template-columns:
            repeat(2,minmax(0,1fr));
    }

    .directory-nominee-grid {
        grid-template-columns:
            repeat(4,minmax(0,1fr));
    }

}


/* MOBILE = 2 */

@media(max-width:600px) {

    .nominee-directory-container {
        width:94%;
    }

    .nominee-directory-header {
        padding:24px 0 14px;
    }

    .nominee-directory-header h1 {
        font-size:27px;
    }

    .nominee-directory-filter {
        grid-template-columns:1fr;
        gap:7px;
        padding:9px;
    }

    .directory-nominee-grid {
        grid-template-columns:
            repeat(2,minmax(0,1fr));

        gap:9px;
    }

    .directory-category-header > div {
        flex-wrap:wrap;
    }

    .directory-category-header h2 {
        font-size:14px;
    }

    .directory-card-content {
        padding:7px;
    }

}


/* =========================================
   VOTING CLOSED
   ========================================= */

.voting-closed-button {
    background:#efede7 !important;
    border-color:#ded9cd !important;
    color:#777 !important;
    cursor:not-allowed !important;
}

.voting-closed-page {
    min-height:65vh;
    padding:70px 20px;

    display:flex;
    align-items:center;
    justify-content:center;

    background:#f7f6f2;
}

.voting-closed-card {
    width:min(520px,100%);

    padding:42px 35px;

    text-align:center;

    background:#fff;

    border:1px solid #e5e0d6;
}

.voting-closed-card > span {
    color:#a5791f;

    font-size:8px;
    font-weight:800;
    letter-spacing:1.4px;
}

.voting-closed-card h1 {
    margin:10px 0;

    font-size:32px;
}

.voting-closed-card p {
    color:#666;

    font-size:12px;
    line-height:1.7;
}

.voting-closed-card a {
    min-height:44px;

    margin-top:22px;

    display:flex;
    align-items:center;
    justify-content:center;

    background:#c99a2e;
    color:#fff;

    font-size:9px;
    font-weight:800;

    text-decoration:none;
}

/* =========================================
   VOTING OPENING SOON MODAL
   ========================================= */

.directory-vote-soon {
    cursor:pointer;
}

.voting-soon-modal {
    position:fixed;
    inset:0;

    z-index:99999;

    display:none;

    align-items:center;
    justify-content:center;

    padding:20px;
}

.voting-soon-modal.is-open {
    display:flex;
}

.voting-soon-backdrop {
    position:absolute;
    inset:0;

    background:rgba(0,0,0,.58);
}

.voting-soon-dialog {
    position:relative;

    z-index:2;

    width:min(430px,100%);

    padding:38px 30px 30px;

    text-align:center;

    background:#fff;

    border-top:4px solid #c99a2e;

    box-shadow:
        0 25px 80px rgba(0,0,0,.22);
}

.voting-soon-close {
    position:absolute;

    top:10px;
    right:14px;

    width:32px;
    height:32px;

    border:0;

    background:transparent;

    color:#777;

    font-size:25px;

    cursor:pointer;
}

.voting-soon-label {
    color:#9d741d;

    font-size:8px;
    font-weight:800;

    letter-spacing:1.4px;
}

.voting-soon-dialog h2 {
    margin:10px 0 8px;

    color:#171717;

    font-size:27px;
}

.voting-soon-dialog p {
    margin:0;

    color:#666;

    font-size:12px;
    line-height:1.7;
}

.voting-soon-ok {
    width:100%;
    height:44px;

    margin-top:22px;

    border:0;

    background:#c99a2e;
    color:#fff;

    font-size:9px;
    font-weight:800;

    cursor:pointer;
}

/* ==========================================
   NOMINEE CARD ACTIONS - VIEW / SHARE / VOTE
   ========================================== */

.directory-actions-three {
    display:grid !important;
    grid-template-columns:
        repeat(3,minmax(0,1fr)) !important;

    gap:4px !important;
}

.directory-view-button,
.directory-share-button,
.directory-vote-button {
    width:100% !important;
    height:27px !important;
    min-height:27px !important;

    margin:0 !important;
    padding:0 3px !important;

    display:flex !important;
    align-items:center !important;
    justify-content:center !important;

    font-size:6.5px !important;
    font-weight:800 !important;
    letter-spacing:.25px !important;

    text-decoration:none !important;

    box-sizing:border-box !important;
}

.directory-view-button,
.directory-share-button {
    border:1px solid #c99a2e !important;

    background:#fff !important;
    color:#936b18 !important;
}

.directory-share-button {
    cursor:pointer !important;
}

.directory-vote-button {
    border:1px solid #c99a2e !important;

    background:#c99a2e !important;
    color:#fff !important;
}


/* SOCIAL LINK */

.directory-social-link {
    display:flex !important;
    align-items:center !important;
    justify-content:space-between !important;

    gap:5px !important;

    margin-top:6px !important;
    padding:5px 0 !important;

    border-top:1px solid #eee9df !important;
    border-bottom:1px solid #eee9df !important;

    text-decoration:none !important;
}

.directory-social-link span {
    min-width:0;

    color:#555 !important;

    font-size:7px !important;
    font-weight:700 !important;

    white-space:nowrap !important;
    overflow:hidden !important;
    text-overflow:ellipsis !important;
}

.directory-social-link strong {
    flex:0 0 auto;

    color:#9a711c !important;

    font-size:6px !important;
    font-weight:800 !important;
}


/* PUBLIC NOMINEE PROFILE */

.public-nominee-page {
    padding:45px 0 70px;
    background:#f7f6f2;
}

.public-nominee-container {
    width:min(900px,92%);
    margin:0 auto;

    display:grid;
    grid-template-columns:.9fr 1.1fr;
    gap:28px;

    background:#fff;
    border:1px solid #e5e0d6;
}

.public-nominee-photo {
    min-height:420px;
    background:#f2f0ea;
}

.public-nominee-photo img {
    width:100%;
    height:100%;
    object-fit:cover;
    display:block;
}

.public-nominee-details {
    padding:35px 30px 35px 0;
}

.public-nominee-category {
    display:block;

    color:#9e741d;

    font-size:9px;
    font-weight:800;
    text-transform:uppercase;
}

.public-nominee-subcategory {
    display:block;

    margin-top:3px;

    color:#777;

    font-size:9px;
    font-weight:700;
}

.public-nominee-details h1 {
    margin:12px 0 4px;

    font-size:34px;
}

.public-nominee-gender {
    margin:0;
    color:#777;
}

.public-nominee-votes {
    margin-top:25px;
}

.public-nominee-votes strong {
    display:block;

    color:#a5781c;

    font-size:30px;
}

.public-nominee-votes span {
    color:#777;
    font-size:10px;
}

.public-social-button {
    margin-top:22px;

    min-height:42px;

    display:flex;
    align-items:center;
    justify-content:center;

    border:1px solid #c99a2e;

    color:#936b18;

    font-size:9px;
    font-weight:800;

    text-decoration:none;
}

.public-nominee-actions {
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:8px;

    margin-top:10px;
}

.public-share-button,
.public-vote-button {
    min-height:44px;

    display:flex;
    align-items:center;
    justify-content:center;

    font-size:9px;
    font-weight:800;
}

.public-share-button {
    border:1px solid #c99a2e;

    background:#fff;
    color:#936b18;

    cursor:pointer;
}

@media(max-width:700px) {

    .public-nominee-container {
        grid-template-columns:1fr;
    }

    .public-nominee-details {
        padding:24px;
    }

    .public-nominee-photo {
        min-height:300px;
    }

}


/* ==========================================================
   HOME NOMINEE CARDS = SAME SIZE AS NOMINEES PAGE
   ========================================================== */

.home-nominee-grid {
    display:grid !important;

    grid-template-columns:
        repeat(8,minmax(0,1fr)) !important;

    gap:12px !important;

    align-items:start !important;
}


/* CARD */

.home-nominee-card {
    min-width:0 !important;

    width:100% !important;
    height:auto !important;
    min-height:0 !important;

    background:#fff !important;

    border:
        1px solid #e7e3db !important;

    overflow:hidden !important;

    box-shadow:none !important;
}


/* PHOTO - SAME RATIO AS DIRECTORY */

.home-nominee-image {
    width:100% !important;

    height:auto !important;

    aspect-ratio:1 / .88 !important;

    display:block !important;

    overflow:hidden !important;

    background:#f5f4f0 !important;
}


.home-nominee-image img {
    width:100% !important;
    height:100% !important;

    display:block !important;

    object-fit:cover !important;
    object-position:center !important;
}


.home-nominee-image .nominee-placeholder {
    width:100% !important;
    height:100% !important;

    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
}


/* CONTENT - SAME COMPACT SIZE */

.home-nominee-info {
    padding:8px !important;

    height:auto !important;
    min-height:0 !important;
}


.home-nominee-info h3 {
    margin:4px 0 0 !important;

    color:#161616 !important;

    font-size:11px !important;
    line-height:1.15 !important;
    font-weight:800 !important;

    white-space:nowrap !important;
    overflow:hidden !important;
    text-overflow:ellipsis !important;
}


/* CATEGORY */

.home-nominee-info > span,
.home-nominee-info .category,
.home-nominee-info .nominee-category {
    font-size:7px !important;
    line-height:1.1 !important;

    white-space:nowrap !important;
    overflow:hidden !important;
    text-overflow:ellipsis !important;
}


/* PARAGRAPHS / GENDER */

.home-nominee-info p {
    margin:3px 0 0 !important;

    font-size:8px !important;
    line-height:1.2 !important;
}


/* VOTES */

.home-nominee-info strong {
    font-size:13px !important;
}


/* ACTIONS */

.home-nominee-actions {
    margin-top:8px !important;

    display:grid !important;
    grid-template-columns:
        repeat(2,minmax(0,1fr)) !important;

    gap:5px !important;
}


.home-nominee-actions a,
.home-nominee-actions button {
    width:100% !important;

    height:27px !important;
    min-height:27px !important;

    padding:0 4px !important;
    margin:0 !important;

    display:flex !important;
    align-items:center !important;
    justify-content:center !important;

    font-size:7px !important;
    font-weight:800 !important;

    box-sizing:border-box !important;
}


/* ==========================================================
   TABLET = 4 CARDS
   ========================================================== */

@media(max-width:1000px) {

    .home-nominee-grid {
        grid-template-columns:
            repeat(4,minmax(0,1fr)) !important;
    }

}


/* ==========================================================
   PHONE = 2 CARDS
   ========================================================== */

@media(max-width:600px) {

    .home-nominee-grid {
        grid-template-columns:
            repeat(2,minmax(0,1fr)) !important;

        gap:9px !important;
    }

    .home-nominee-info {
        padding:7px !important;
    }

}


/* ==========================================================
   PARTNERS & SPONSORS
   ========================================================== */

.partners-page {
    background:#fff;
}

.partners-container {
    width:min(1300px,92%);
    margin:0 auto;
}


/* HERO */

.partners-hero {
    padding:55px 0;
    text-align:center;
    background:#faf9f5;
}

.partners-eyebrow {
    color:#9c721d;
    font-size:8px;
    font-weight:800;
    letter-spacing:1.5px;
}

.partners-hero h1 {
    margin:8px 0 0;
    font-size:38px;
}

.partners-title-rule {
    margin-top:10px;
    display:flex;
    justify-content:center;
    align-items:center;
    gap:8px;
}

.partners-title-rule span {
    width:32px;
    height:1px;
    background:#c99a2e;
}

.partners-title-rule strong {
    color:#c99a2e;
}

.partners-hero p {
    max-width:620px;
    margin:12px auto 0;
    color:#666;
    font-size:13px;
    line-height:1.7;
}

.partners-apply-button {
    min-height:44px;
    margin-top:23px;
    padding:0 22px;

    display:inline-flex;
    align-items:center;
    justify-content:center;

    background:#c99a2e;
    color:#fff;

    font-size:9px;
    font-weight:800;
    text-decoration:none;
}


/* DIRECTORY */

.partners-directory {
    padding:50px 0;
}

.partner-group {
    margin-bottom:45px;
}

.partner-group-heading {
    margin-bottom:18px;
    padding-bottom:12px;
    border-bottom:1px solid #e7e3db;
}

.partner-group-heading > div {
    display:flex;
    align-items:center;
    gap:10px;
}

.partner-group-heading h2 {
    margin:0;
    font-size:21px;
}

.partner-group-heading span {
    padding:4px 8px;

    background:#f6e6b9;
    color:#946c19;

    font-size:8px;
    font-weight:800;
}

.partner-group-heading p {
    margin:6px 0 0;
    color:#777;
    font-size:11px;
}


/* PARTNER GRID */

.partner-grid {
    display:grid;
    grid-template-columns:
        repeat(5,minmax(0,1fr));

    gap:15px;
}

.partner-card {
    border:1px solid #e8e4dc;
    background:#fff;
}

.partner-logo {
    height:135px;

    padding:20px;

    display:flex;
    align-items:center;
    justify-content:center;

    background:#faf9f6;
}

.partner-logo img {
    width:100%;
    height:100%;

    object-fit:contain;
}

.partner-logo-placeholder {
    width:65px;
    height:65px;

    display:grid;
    place-items:center;

    border-radius:50%;

    background:#111;

    color:#c99a2e;

    font-size:16px;
    font-weight:800;
}

.partner-content {
    padding:13px;
}

.partner-content h3 {
    margin:0;
    font-size:12px;
}

.partner-content p {
    margin:6px 0 0;
    color:#777;
    font-size:9px;
    line-height:1.5;
}

.partner-content a {
    margin-top:10px;

    display:inline-block;

    color:#9d741c;

    font-size:7px;
    font-weight:800;

    text-decoration:none;
}


/* CTA */

.partner-cta {
    padding:0 0 60px;
}

.partner-cta-inner {
    padding:35px;

    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:25px;

    background:#111;
    color:#fff;
}

.partner-cta-inner span {
    color:#c99a2e;
    font-size:8px;
    font-weight:800;
    letter-spacing:1.3px;
}

.partner-cta-inner h2 {
    margin:7px 0 0;
    font-size:28px;
}

.partner-cta-inner p {
    margin:6px 0 0;
    color:#aaa;
    font-size:11px;
}

.partner-cta-inner > a {
    min-width:145px;
    min-height:44px;

    display:flex;
    align-items:center;
    justify-content:center;

    background:#c99a2e;
    color:#fff;

    font-size:9px;
    font-weight:800;

    text-decoration:none;
}


/* APPLICATION */

.partner-application-page {
    background:#f7f6f2;
}

.partner-application-header {
    padding:45px 0;

    background:#fff;
    text-align:center;
}

.partner-application-header span {
    color:#9d741c;
    font-size:8px;
    font-weight:800;
    letter-spacing:1.4px;
}

.partner-application-header h1 {
    margin:7px 0;
    font-size:36px;
}

.partner-application-header p {
    max-width:600px;
    margin:0 auto;

    color:#666;

    font-size:12px;
    line-height:1.7;
}

.partner-application-section {
    padding:45px 0 65px;
}

.partner-application-layout {
    width:min(1000px,92%);
    margin:0 auto;

    display:grid;
    grid-template-columns:.8fr 1.2fr;

    gap:30px;
}

.partner-application-info {
    padding:30px;

    background:#111;
    color:#fff;
}

.partner-application-info > span {
    color:#c99a2e;
    font-size:8px;
    font-weight:800;
}

.partner-application-info h2 {
    margin:9px 0;
    font-size:29px;
}

.partner-application-info > p,
.partner-application-info div p {
    color:#aaa;

    font-size:11px;
    line-height:1.7;
}

.partner-application-info div {
    margin-top:22px;
    padding-top:15px;

    border-top:
        1px solid rgba(255,255,255,.12);
}

.partner-application-info div strong {
    font-size:11px;
}


/* FORM */

.partner-application-form {
    padding:30px;

    background:#fff;

    border:1px solid #e5e0d6;
}

.partner-form-grid {
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:17px;
}

.partner-field-full {
    grid-column:1 / -1;
}

.partner-field label {
    display:block;

    margin-bottom:6px;

    font-size:10px;
    font-weight:700;
}

.partner-field label span {
    color:#999;
    font-weight:400;
}

.partner-field input,
.partner-field select,
.partner-field textarea {
    width:100%;

    padding:0 11px;

    border:1px solid #ddd8ce;

    background:#fff;

    font:inherit;
    font-size:11px;
}

.partner-field input,
.partner-field select {
    height:44px;
}

.partner-field textarea {
    padding-top:11px;
    resize:vertical;
}


/* LOGO UPLOAD */

.partner-logo-upload {
    position:relative;

    min-height:150px;

    display:grid;
    place-items:center;

    border:1px dashed #cfc8b9;

    background:#faf9f6;

    text-align:center;
}

.partner-logo-upload > input[type=file] {
    position:absolute;
    inset:0;

    width:100%;
    height:100%;

    opacity:0;

    cursor:pointer;
}

.partner-logo-prompt strong,
.partner-logo-prompt span {
    display:block;
}

.partner-logo-prompt span {
    margin-top:5px;

    color:#888;

    font-size:9px;
}

.partner-logo-preview {
    display:none;

    max-width:220px;
    max-height:110px;

    object-fit:contain;
}

.partner-consent {
    margin-top:20px;

    display:flex;
    align-items:flex-start;
    gap:9px;

    color:#666;

    font-size:10px;
    line-height:1.5;
}

.partner-submit {
    width:100%;
    height:48px;

    margin-top:20px;

    border:0;

    background:#c99a2e;
    color:#fff;

    font-size:9px;
    font-weight:800;

    cursor:pointer;
}

.partner-form-error {
    margin-bottom:18px;
    padding:12px;

    background:#fff0f0;

    color:#9d2d2d;

    border-left:3px solid #b73333;

    font-size:10px;
}


/* SUCCESS */

.partner-success-page {
    min-height:65vh;

    padding:60px 20px;

    display:flex;
    justify-content:center;
    align-items:center;

    background:#f7f6f2;
}

.partner-success-card {
    width:min(480px,100%);

    padding:40px 30px;

    background:#fff;

    text-align:center;

    border:1px solid #e4dfd5;
}

.partner-success-icon {
    width:60px;
    height:60px;

    margin:0 auto 18px;

    display:grid;
    place-items:center;

    border-radius:50%;

    background:#111;

    color:#c99a2e;

    font-size:26px;
}

.partner-success-card > span {
    color:#9d741c;

    font-size:8px;
    font-weight:800;
}

.partner-success-card h1 {
    margin:8px 0;
}

.partner-success-card p {
    color:#666;

    font-size:11px;
    line-height:1.7;
}

.partner-success-card a {
    height:44px;

    margin-top:20px;

    display:flex;
    align-items:center;
    justify-content:center;

    background:#c99a2e;

    color:#fff;

    font-size:9px;
    font-weight:800;

    text-decoration:none;
}


/* TABLET */

@media(max-width:900px) {

    .partner-grid {
        grid-template-columns:
            repeat(3,minmax(0,1fr));
    }

    .partner-application-layout {
        grid-template-columns:1fr;
    }
}


/* MOBILE */

@media(max-width:600px) {

    .partners-hero {
        padding:38px 0;
    }

    .partners-hero h1 {
        font-size:29px;
    }

    .partner-grid {
        grid-template-columns:
            repeat(2,minmax(0,1fr));

        gap:10px;
    }

    .partner-logo {
        height:110px;
        padding:14px;
    }

    .partner-cta-inner {
        flex-direction:column;
        align-items:flex-start;

        padding:27px 22px;
    }

    .partner-cta-inner > a {
        width:100%;
    }

    .partner-form-grid {
        grid-template-columns:1fr;
    }

    .partner-field-full {
        grid-column:auto;
    }

    .partner-application-form {
        padding:22px 17px;
    }
}


/* =========================================================
   BRAND AMBASSADOR LOGIN
   ========================================================= */

.ambassador-login-body {
    margin:0;
    min-height:100vh;

    background:
        linear-gradient(
            rgba(247,246,242,.94),
            rgba(247,246,242,.94)
        );

    color:#181818;
}

.ambassador-login-page {
    min-height:100vh;

    padding:30px 18px;

    display:flex;
    align-items:center;
    justify-content:center;
}

.ambassador-login-card {
    width:min(440px,100%);

    padding:38px 34px;

    background:#fff;

    border:
        1px solid #e4ded2;

    border-top:
        4px solid #c99a2e;

    box-shadow:
        0 25px 80px
        rgba(0,0,0,.09);

    box-sizing:border-box;
}

.ambassador-login-brand {
    margin-bottom:27px;

    text-align:center;
}

.ambassador-login-brand span {
    color:#a47719;

    font-size:9px;
    font-weight:800;

    letter-spacing:1.8px;
}

.ambassador-login-brand h1 {
    margin:9px 0 7px;

    color:#171717;

    font-size:30px;
    line-height:1.15;
}

.ambassador-login-brand p {
    max-width:330px;

    margin:0 auto;

    color:#777;

    font-size:12px;
    line-height:1.6;
}

.ambassador-login-field label {
    display:block;

    margin-bottom:7px;

    color:#333;

    font-size:11px;
    font-weight:700;
}

.ambassador-login-field input {
    width:100%;
    height:48px;

    padding:0 13px;

    border:
        1px solid #dcd6ca;

    background:#fff;

    color:#171717;

    font:inherit;
    font-size:14px;

    box-sizing:border-box;

    outline:none;
}

.ambassador-login-field input:focus {
    border-color:#c99a2e;
}

.ambassador-otp-input {
    text-align:center;

    font-size:24px !important;

    font-weight:800 !important;

    letter-spacing:8px;
}

.ambassador-login-submit {
    width:100%;
    height:48px;

    margin-top:16px;

    border:0;

    background:#c99a2e;

    color:#fff;

    font-size:10px;
    font-weight:800;

    letter-spacing:.5px;

    cursor:pointer;
}

.ambassador-login-submit:hover {
    filter:brightness(.96);
}

.ambassador-login-error,
.ambassador-login-message {
    margin-bottom:18px;

    padding:12px 14px;

    font-size:11px;
    line-height:1.5;
}

.ambassador-login-error {
    border-left:
        3px solid #b63535;

    background:#fff0f0;

    color:#a32b2b;
}

.ambassador-login-message {
    border-left:
        3px solid #2c7d49;

    background:#eef8f1;

    color:#246d3f;
}

.ambassador-login-home {
    display:block;

    margin-top:20px;

    color:#9c731f;

    font-size:9px;
    font-weight:800;

    letter-spacing:.5px;

    text-align:center;

    text-decoration:none;
}

@media(max-width:550px) {

    .ambassador-login-card {
        padding:30px 21px;
    }

    .ambassador-login-brand h1 {
        font-size:27px;
    }

}


/* =========================================================
   TALANTA NOMINEE CARDS — FINAL EQUAL CARD LAYOUT
   ========================================================= */

.directory-nominee-grid {
    display:grid;

    grid-template-columns:
        repeat(8,minmax(0,1fr));

    gap:12px;

    align-items:stretch;
}


/* equal card */

.directory-nominee-card {
    width:100%;
    min-width:0;
    height:100%;

    display:flex;
    flex-direction:column;

    background:#fff;

    border:1px solid #e6e0d5;

    overflow:hidden;

    box-sizing:border-box;
}


/* fixed equal image area */

.directory-photo {
    position:relative;

    width:100%;
    aspect-ratio:1 / 1;

    flex:none;

    overflow:hidden;

    background:#f5f3ee;
}

.directory-photo img {
    width:100%;
    height:100%;

    display:block;

    object-fit:cover;
    object-position:center;
}


/* content fills remaining card */

.directory-card-content {
    flex:1;

    display:flex;
    flex-direction:column;

    padding:10px;

    box-sizing:border-box;
}


/* category */

.directory-card-category {
    min-height:30px;

    margin-bottom:5px;

    color:#9a7018;

    font-size:10px;
    font-weight:800;

    line-height:1.35;
}


/* subcategory */

.directory-card-subcategory {
    min-height:16px;

    margin-bottom:5px;

    color:#777;

    font-size:8px;
    font-weight:700;

    line-height:1.3;
}


/* stage name */

.directory-card-name {
    margin:0;

    font-size:15px;
    font-weight:800;

    line-height:1.2;

    overflow:hidden;

    text-overflow:ellipsis;
    white-space:nowrap;
}


/* gender */

.directory-card-gender {
    margin-top:4px;

    color:#777;

    font-size:9px;
}


/* vote figure */

.directory-card-votes {
    margin-top:12px;

    color:#9a7018;

    font-size:16px;
    font-weight:800;
}


/* push actions to bottom */

.directory-card-actions {
    margin-top:auto;
    padding-top:11px;

    display:grid;

    grid-template-columns:
        repeat(2,minmax(0,1fr));

    gap:6px;
}


/* common buttons */

.directory-card-actions a,
.directory-card-actions button {
    width:100%;
    min-width:0;
    height:34px;

    display:flex;
    align-items:center;
    justify-content:center;

    padding:0 5px;

    box-sizing:border-box;

    border:1px solid #c89525;

    background:#fff;

    color:#9b711b;

    font-size:8px;
    font-weight:800;

    letter-spacing:.25px;

    text-decoration:none;

    cursor:pointer;
}


/* vote */

.directory-card-actions .directory-vote-button {
    background:#c89525;
    color:#fff;
}


/* share */

.directory-card-actions .nominee-share-link {
    margin:0;

    border:1px solid #c89525;

    background:#fff;

    color:#9b711b;

    text-decoration:none;
}


/* social account */

.directory-card-actions .directory-social-button {
    background:#111;
    border-color:#111;
    color:#fff;
}


/* TABLET */

@media(max-width:1100px) {

    .directory-nominee-grid {
        grid-template-columns:
            repeat(4,minmax(0,1fr));

        gap:11px;
    }
}


/* SMALL TABLET */

@media(max-width:760px) {

    .directory-nominee-grid {
        grid-template-columns:
            repeat(3,minmax(0,1fr));
    }
}


/* PHONE */

@media(max-width:600px) {

    .directory-nominee-grid {
        grid-template-columns:
            repeat(2,minmax(0,1fr));

        gap:8px;
    }

    .directory-card-content {
        padding:8px;
    }

    .directory-card-category {
        font-size:9px;
        min-height:26px;
    }

    .directory-card-name {
        font-size:14px;
    }

    .directory-card-actions {
        gap:5px;
    }

    .directory-card-actions a,
    .directory-card-actions button {
        height:32px;
        font-size:7px;
    }
}

