:root{--violet:#6d28d9;--violet2:#8b5cf6;--violet3:#ede9fe;--ink:#171424;--muted:#6b6678;--bg:#faf9ff;--card:#fff;--border:#e9e5f2;--danger:#b42318;--success:#067647;--shadow:0 16px 45px rgba(65,37,110,.09)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Inter,Arial,sans-serif;background:var(--bg);color:var(--ink)}a{text-decoration:none;color:inherit}img{max-width:100%;display:block}.container{width:min(1180px,calc(100% - 32px));margin:auto}.site-header{position:sticky;top:0;z-index:100;background:rgba(255,255,255,.94);backdrop-filter:blur(14px);border-bottom:1px solid var(--border)}.nav{height:72px;display:flex;align-items:center;justify-content:space-between;gap:24px}.logo{display:flex;align-items:center;gap:10px;font-weight:900;font-size:21px}.logo-mark{width:38px;height:38px;border-radius:12px;background:linear-gradient(135deg,var(--violet),var(--violet2));display:grid;place-items:center;color:white;font-weight:900}.logo img{height:42px;width:auto}.nav-links{display:flex;align-items:center;gap:24px;color:#514b5f}.nav-links a:hover{color:var(--violet)}.nav-actions{display:flex;gap:10px}.btn{display:inline-flex;align-items:center;justify-content:center;border:0;border-radius:12px;padding:12px 18px;font-weight:800;cursor:pointer;transition:.2s;background:var(--violet);color:#fff}.btn:hover{transform:translateY(-1px);box-shadow:0 10px 24px rgba(109,40,217,.22)}.btn.secondary{background:white;color:var(--violet);border:1px solid #d8cef0}.btn.soft{background:var(--violet3);color:var(--violet)}.btn.danger{background:var(--danger)}.menu-btn{display:none;width:44px;height:44px;border:1px solid var(--border);border-radius:12px;background:white;font-size:22px}.mobile-menu{display:none}.hero{padding:80px 0 56px;position:relative;overflow:hidden}.hero:before{content:"";position:absolute;width:520px;height:520px;border-radius:50%;background:radial-gradient(circle,rgba(139,92,246,.18),transparent 68%);right:-180px;top:-210px}.hero-grid{display:grid;grid-template-columns:1.08fr .92fr;gap:48px;align-items:center}.eyebrow{display:inline-flex;padding:8px 12px;border-radius:999px;background:var(--violet3);color:var(--violet);font-weight:800;font-size:13px}.hero h1{font-size:clamp(42px,6vw,72px);line-height:1.02;letter-spacing:-2.5px;margin:20px 0}.hero h1 span{color:var(--violet)}.hero p{font-size:18px;line-height:1.7;color:var(--muted);max-width:650px}.hero-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:28px}.hero-card{background:linear-gradient(145deg,#fff,#f2ecff);border:1px solid #e0d6f5;border-radius:28px;padding:22px;box-shadow:var(--shadow);animation:float 5s ease-in-out infinite}.hero-placeholder{aspect-ratio:4/3;border-radius:20px;background:linear-gradient(135deg,#6d28d9,#a78bfa);display:grid;place-items:center;color:white;text-align:center;padding:30px}.hero-placeholder b{font-size:34px}.section{padding:64px 0}.section-head{display:flex;align-items:end;justify-content:space-between;gap:20px;margin-bottom:26px}.section h2{font-size:34px;margin:0}.section-head p{color:var(--muted);margin:8px 0 0}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.event-card{background:white;border:1px solid var(--border);border-radius:20px;overflow:hidden;box-shadow:0 8px 30px rgba(44,30,72,.05);transition:.2s}.event-card:hover{transform:translateY(-4px);box-shadow:var(--shadow)}.event-media{aspect-ratio:16/10;background:#eee;overflow:hidden}.event-media img{width:100%;height:100%;object-fit:cover}.placeholder-media{width:100%;height:100%;display:grid;place-items:center;background:linear-gradient(135deg,#ede9fe,#ddd6fe);color:#6d28d9;font-weight:900}.event-body{padding:18px}.event-body h3{margin:0 0 8px;font-size:20px}.meta{display:flex;flex-wrap:wrap;gap:8px;color:var(--muted);font-size:13px}.badge{display:inline-flex;padding:6px 9px;border-radius:999px;background:#f2edff;color:var(--violet);font-size:12px;font-weight:800}.price{font-size:18px;font-weight:900;margin:14px 0}.split{display:grid;grid-template-columns:1fr 1fr;gap:24px}.panel{background:white;border:1px solid var(--border);border-radius:20px;padding:24px;box-shadow:0 8px 26px rgba(50,31,86,.04)}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.field{margin-bottom:16px}.field label{display:block;font-size:13px;font-weight:800;margin-bottom:7px}.field input,.field select,.field textarea{width:100%;min-height:48px;border:1px solid #d9d3e4;border-radius:12px;padding:12px 13px;font-size:16px;background:white}.field textarea{min-height:110px;resize:vertical}.field input:focus,.field select:focus,.field textarea:focus{outline:none;border-color:var(--violet);box-shadow:0 0 0 4px rgba(109,40,217,.1)}.notice{padding:13px 15px;border-radius:12px;background:#f4f3ff;color:#4a3671;margin-bottom:16px}.notice.error{background:#fff1f0;color:#a6251a}.notice.success{background:#ecfdf3;color:#067647}.footer{margin-top:60px;background:#171424;color:#d7d1e0;padding:46px 0}.footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr;gap:30px}.footer h4{color:white}.footer a{display:block;margin:9px 0;color:#cbc4d7}.footer-bottom{border-top:1px solid #302a3c;margin-top:30px;padding-top:20px;color:#948d9f;font-size:13px}.empty{padding:42px;text-align:center;background:white;border:1px dashed #d6cee6;border-radius:18px;color:var(--muted)}.details-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:26px}.nominee-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.nominee-card{background:white;border:1px solid var(--border);border-radius:18px;overflow:hidden}.nominee-card .event-media{aspect-ratio:1/1}.nominee-card .event-body{padding:14px}.stat-row{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.stat{padding:16px;border:1px solid var(--border);border-radius:15px;background:#fff}.stat b{display:block;font-size:25px;color:var(--violet)}@keyframes float{50%{transform:translateY(-8px)}}@media(max-width:900px){.nav-links,.nav-actions{display:none}.menu-btn{display:block}.mobile-menu.open{display:block;position:absolute;top:72px;left:0;right:0;background:white;border-bottom:1px solid var(--border);padding:16px}.mobile-menu a{display:block;padding:13px;border-radius:10px}.hero{padding-top:48px}.hero-grid,.details-grid,.split{grid-template-columns:1fr}.hero-card{max-width:620px}.cards{grid-template-columns:repeat(2,1fr)}.nominee-grid{grid-template-columns:repeat(3,1fr)}.footer-grid{grid-template-columns:1fr 1fr}}@media(max-width:600px){.container{width:min(100% - 22px,1180px)}.nav{height:64px}.mobile-menu.open{top:64px}.hero{padding:36px 0}.hero h1{font-size:42px;letter-spacing:-1.4px}.hero p{font-size:16px}.hero-actions .btn{width:100%}.section{padding:44px 0}.section h2{font-size:28px}.section-head{align-items:flex-start;flex-direction:column}.cards,.nominee-grid,.footer-grid,.form-grid,.stat-row{grid-template-columns:1fr}.panel{padding:18px}.event-card{border-radius:16px}.footer{text-align:left}.btn{min-height:46px}.logo{font-size:18px}}



/* =========================================================
   FOOTER
========================================================= */

.footer {
    position: relative;
    margin-top: 30px;
    padding: 64px 0 26px;
    overflow: hidden;
    background:
        radial-gradient(
            circle at top right,
            rgba(124, 58, 237, .18),
            transparent 32%
        ),
        linear-gradient(
            145deg,
            #120f1c,
            #191326
        );
    color: #d8d1e2;
}

.footer::before {
    content: "";
    position: absolute;
    width: 260px;
    height: 260px;
    left: -120px;
    bottom: -150px;
    border-radius: 50%;
    background: rgba(109, 40, 217, .10);
}

.footer .container {
    position: relative;
    z-index: 2;
}

.footer-grid {
    display: grid;
    grid-template-columns:
        minmax(260px, 1.6fr)
        repeat(3, minmax(150px, .8fr));
    gap: 42px;
}

/* =========================================================
   VOTERA MOBILE MENU BUTTON FIX
========================================================= */

.menu-btn {
    display: none;
    width: 46px;
    height: 46px;
    padding: 0;
    border: 1px solid #ddd4ef;
    border-radius: 13px;
    background: #ffffff;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    gap: 5px;
    cursor: pointer;
    box-shadow: 0 4px 14px rgba(76, 29, 149, .06);
    transition:
        background .2s ease,
        border-color .2s ease,
        transform .2s ease;
}

.menu-btn:hover {
    background: #f8f5ff;
    border-color: #cdbdf1;
}

.menu-btn:active {
    transform: scale(.96);
}

.menu-btn span {
    display: block;
    width: 22px;
    height: 2.5px;
    border-radius: 999px;

    /* IMPORTANT */
    background: #6d28d9 !important;

    transition:
        transform .25s ease,
        opacity .25s ease,
        background .2s ease;
}


/* Show hamburger on tablet/mobile */
@media (max-width: 900px) {

    .nav-links,
    .nav-actions {
        display: none;
    }

    .menu-btn {
        display: flex !important;
    }

}


/* Slightly smaller on phones */
@media (max-width: 600px) {

    .menu-btn {
        width: 44px;
        height: 44px;
        border-radius: 12px;
    }

    .menu-btn span {
        width: 21px;
        height: 2.5px;
        background: #6d28d9 !important;
    }

}

/* =========================================================
   FOOTER BRAND
========================================================= */

.footer-brand {
    max-width: 390px;
}

.footer-logo {
    display: inline-flex;
    align-items: center;
    gap: 11px;
    margin-bottom: 18px;
}

.footer-logo img {
    width: auto;
    height: 54px;
    max-width: 200px;
    object-fit: contain;
}

.footer-logo .logo-mark {
    width: 44px;
    height: 44px;
}

.footer-logo-text {
    color: #fff;
    font-size: 20px;
    font-weight: 900;
}

.footer-logo-text strong {
    color: var(--violet-400);
}

.footer-description {
    max-width: 350px;
    margin: 0;
    color: #aca4b8;
    font-size: 14px;
    line-height: 1.75;
}

.footer-tagline {
    display: inline-flex;
    margin-top: 18px;
    padding: 8px 12px;
    border: 1px solid rgba(167, 139, 250, .20);
    border-radius: 999px;
    background: rgba(124, 58, 237, .10);
    color: #cdbdff;
    font-size: 12px;
    font-weight: 800;
}


/* =========================================================
   FOOTER COLUMNS
========================================================= */

.footer-column h4 {
    margin: 0 0 18px;
    color: #fff;
    font-size: 14px;
    font-weight: 800;
    letter-spacing: .02em;
}

.footer-column > a {
    display: block;
    width: fit-content;
    margin: 10px 0;
    color: #bdb5c8;
    font-size: 14px;
    line-height: 1.5;
    transition:
        color .18s ease,
        transform .18s ease;
}

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


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

.footer-contact-link {
    margin-bottom: 16px !important;
}

.footer-contact-label {
    display: block;
    margin-bottom: 2px;
    color: #837a91;
    font-size: 11px;
    text-transform: uppercase;
    letter-spacing: .07em;
}

.footer-contact-link strong {
    display: block;
    max-width: 220px;
    color: #d8d1e2;
    font-size: 13px;
    font-weight: 600;
    line-height: 1.45;
    overflow-wrap: anywhere;
}

.footer-contact-link:hover strong {
    color: #fff;
}


/* =========================================================
   FOOTER BOTTOM
========================================================= */

.footer-bottom {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    margin-top: 46px;
    padding-top: 22px;
    border-top: 1px solid rgba(255, 255, 255, .09);
    color: #847c90;
    font-size: 12px;
}

.footer-bottom-links {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 20px;
}

.footer-bottom-links a {
    color: #92899e;
    transition: color .18s ease;
}

.footer-bottom-links a:hover {
    color: #fff;
}


/* =========================================================
   FOOTER TABLET
========================================================= */

@media (max-width: 960px) {

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

    .footer-brand {
        max-width: none;
    }

}


/* =========================================================
   FOOTER MOBILE
========================================================= */

@media (max-width: 600px) {

    .footer {
        padding: 48px 0 24px;
    }

    .footer-grid {
        grid-template-columns: 1fr;
        gap: 30px;
    }

    .footer-brand {
        padding-bottom: 6px;
    }

    .footer-logo img {
        height: 48px;
    }

    .footer-column h4 {
        margin-bottom: 13px;
    }

    .footer-column > a {
        margin: 9px 0;
    }

    .footer-bottom {
        align-items: flex-start;
        flex-direction: column;
        gap: 14px;
        margin-top: 34px;
    }

    .footer-bottom-links {
        gap: 14px;
    }

}


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

.page-hero {
    position: relative;
    overflow: hidden;
    padding: 82px 0 72px;
    background:
        radial-gradient(
            circle at top right,
            rgba(139, 92, 246, .20),
            transparent 36%
        ),
        linear-gradient(
            180deg,
            #ffffff,
            #f8f5ff
        );
}

.page-hero .container {
    max-width: 900px;
    margin-left: auto;
    margin-right: auto;
    text-align: center;
}

.page-hero h1 {
    margin: 18px 0;
    font-size: clamp(42px, 6vw, 68px);
    line-height: 1.02;
    letter-spacing: -2.4px;
}

.page-hero h1 span {
    color: var(--violet-700);
}

.page-hero p {
    max-width: 720px;
    margin: 0 auto;
    color: var(--muted);
    font-size: 18px;
    line-height: 1.7;
}


/* =========================================================
   ABOUT
========================================================= */

.about-grid {
    display: grid;
    grid-template-columns:
        minmax(0, 1.1fr)
        minmax(320px, .9fr);
    gap: 36px;
    align-items: stretch;
}

.about-copy {
    padding: 10px 0;
}

.about-copy h2 {
    margin: 0 0 18px;
    font-size: 40px;
}

.about-copy p {
    color: var(--muted);
    font-size: 16px;
    line-height: 1.8;
}

.about-highlight {
    position: relative;
    overflow: hidden;
    padding: 36px;
    border-radius: 26px;
    background:
        linear-gradient(
            135deg,
            var(--violet-900),
            var(--violet-600)
        );
    color: white;
    box-shadow: var(--shadow-lg);
}

.about-highlight::after {
    content: "";
    position: absolute;
    width: 220px;
    height: 220px;
    top: -100px;
    right: -100px;
    border-radius: 50%;
    background: rgba(255,255,255,.08);
}

.about-highlight span {
    position: relative;
    z-index: 2;
    display: inline-flex;
    margin-bottom: 20px;
    color: #e8ddff;
    font-size: 13px;
    font-weight: 800;
    text-transform: uppercase;
}

.about-highlight h3 {
    position: relative;
    z-index: 2;
    margin: 0 0 15px;
    font-size: 30px;
    line-height: 1.15;
}

.about-highlight p {
    position: relative;
    z-index: 2;
    margin: 0;
    color: rgba(255,255,255,.82);
    line-height: 1.7;
}


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

.contact-grid {
    display: grid;
    grid-template-columns:
        minmax(0, .9fr)
        minmax(380px, 1.1fr);
    gap: 34px;
    align-items: start;
}

.contact-info h2,
.contact-form-card h2 {
    margin: 0 0 12px;
    font-size: 36px;
}

.contact-methods {
    display: grid;
    gap: 12px;
    margin-top: 28px;
}

.contact-card {
    display: flex;
    align-items: center;
    gap: 15px;
    padding: 17px;
    border: 1px solid var(--border);
    border-radius: 16px;
    background: white;
    box-shadow: var(--shadow-sm);
    transition:
        transform .2s ease,
        border-color .2s ease;
}

.contact-card:hover {
    transform: translateY(-2px);
    border-color: #cdb8ff;
}

.contact-icon {
    flex: 0 0 auto;
    width: 46px;
    height: 46px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 13px;
    background: var(--violet-100);
    color: var(--violet-700);
    font-weight: 900;
}

.contact-card small {
    display: block;
    margin-bottom: 4px;
    color: var(--muted);
    font-size: 12px;
}

.contact-card strong {
    font-size: 15px;
}

.contact-note {
    margin-top: 24px;
    padding: 22px;
    border-radius: 18px;
    background: var(--violet-50);
}

.contact-note strong {
    color: var(--violet-700);
}

.contact-note p {
    margin: 8px 0 0;
    color: var(--muted);
    line-height: 1.6;
}

.contact-form-card {
    padding: 30px;
    border: 1px solid var(--border);
    border-radius: 24px;
    background: white;
    box-shadow: var(--shadow);
}

.contact-form {
    margin-top: 22px;
}

.contact-submit {
    width: 100%;
}


/* =========================================================
   RESPONSIVE ABOUT / CONTACT
========================================================= */

@media (max-width: 900px) {

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

    .about-highlight {
        max-width: 650px;
    }

}


@media (max-width: 640px) {

    .page-hero {
        padding: 52px 0 48px;
    }

    .page-hero h1 {
        font-size: 39px;
        letter-spacing: -1.4px;
    }

    .page-hero p {
        font-size: 16px;
    }

    .about-copy h2,
    .contact-info h2,
    .contact-form-card h2 {
        font-size: 30px;
    }

    .about-highlight,
    .contact-form-card {
        padding: 22px;
        border-radius: 20px;
    }

    .about-highlight h3 {
        font-size: 25px;
    }

}

.vote-hidden-card {
    max-width: 720px;
    margin: 20px auto;
    padding: 42px 28px;
    text-align: center;
    border: 1px solid var(--border);
    border-radius: 24px;
    background:
        linear-gradient(
            145deg,
            #ffffff,
            #f8f5ff
        );
    box-shadow: var(--shadow-sm);
}

.vote-hidden-icon {
    width: 62px;
    height: 62px;
    display: grid;
    place-items: center;
    margin: 0 auto 18px;
    border-radius: 18px;
    background: var(--violet-100);
    font-size: 26px;
}

.vote-hidden-card h3 {
    margin: 0 0 10px;
    font-size: 25px;
}

.vote-hidden-card p {
    max-width: 540px;
    margin: 0 auto;
    color: var(--muted);
    line-height: 1.65;
}

.vote-hidden-card span {
    display: block;
    margin-top: 16px;
    color: var(--violet-700);
    font-size: 13px;
    font-weight: 700;
}
/* =========================================================
   VOTERA HOME PAGE POLISH
========================================================= */

.hero {
    padding: 72px 0 48px;
    overflow: hidden;
}

.hero-grid {
    display: grid;
    grid-template-columns: minmax(0, 1.15fr) minmax(320px, .85fr);
    align-items: center;
    gap: 56px;
}

.hero-content {
    max-width: 720px;
}

.hero-content h1 {
    margin: 14px 0 18px;
    font-size: clamp(42px, 6vw, 72px);
    line-height: .98;
    letter-spacing: -2px;
}

.hero-content h1 span {
    color: var(--primary, #7c3aed);
}

.hero-content > p {
    max-width: 640px;
    font-size: 18px;
    line-height: 1.65;
}

.hero-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    margin-top: 26px;
}

.hero-trust {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 14px;
    margin-top: 30px;
}

.hero-trust > div {
    padding: 14px 16px;
    border: 1px solid #e8e2f4;
    border-radius: 16px;
    background: #fff;
}

.hero-trust strong,
.hero-trust span {
    display: block;
}

.hero-trust strong {
    font-size: 14px;
    margin-bottom: 4px;
}

.hero-trust span {
    color: #6b6676;
    font-size: 12px;
    line-height: 1.4;
}

.hero-visual {
    display: flex;
    justify-content: center;
}

.hero-image-wrap {
    width: 100%;
    max-width: 500px;
    min-height: 430px;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 28px;
    border-radius: 32px;
    background:
        radial-gradient(circle at top right, rgba(124,58,237,.24), transparent 38%),
        linear-gradient(145deg, #ffffff, #f4efff);
    border: 1px solid #e6dcff;
    box-shadow: 0 24px 60px rgba(76, 29, 149, .12);
}

.hero-main-image {
    width: 100%;
    height: 100%;
    max-height: 380px;
    object-fit: contain;
    display: block;
}


/* =========================================================
   VALUE STRIP
========================================================= */

.value-strip {
    padding: 20px 0 54px;
}

.value-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 16px;
}

.value-item {
    min-width: 0;
    padding: 22px;
    border-radius: 20px;
    background: #fff;
    border: 1px solid #ece7f4;
    box-shadow: 0 8px 24px rgba(17, 24, 39, .04);
}

.value-icon {
    width: 44px;
    height: 44px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 12px;
    margin-bottom: 18px;
    background: #efe8ff;
    color: #6d28d9;
    font-weight: 800;
    font-size: 13px;
}

.value-item h3 {
    margin: 0 0 8px;
    font-size: 18px;
}

.value-item p {
    margin: 0;
    color: #6b6676;
    line-height: 1.55;
    font-size: 14px;
}


/* =========================================================
   SECTIONS
========================================================= */

.section {
    padding: 76px 0;
}

.section-soft {
    background: #faf8ff;
}

.section-head {
    display: flex;
    align-items: end;
    justify-content: space-between;
    gap: 22px;
    margin-bottom: 30px;
}

.section-head > div {
    max-width: 720px;
}

.section-head.centered {
    justify-content: center;
    text-align: center;
}

.section-head.centered > div {
    max-width: 780px;
}

.section-kicker {
    display: inline-block;
    margin-bottom: 9px;
    color: #7c3aed;
    font-size: 13px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: .08em;
}

.section-head h2 {
    margin: 0 0 10px;
    font-size: clamp(30px, 4vw, 46px);
    line-height: 1.1;
    letter-spacing: -1px;
}

.section-head p {
    margin: 0;
    color: #6b6676;
    line-height: 1.65;
}


/* =========================================================
   EVENT CARDS
========================================================= */

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

.event-card {
    display: flex;
    flex-direction: column;
    min-width: 0;
    overflow: hidden;
    border-radius: 22px;
    background: #fff;
    border: 1px solid #ece7f4;
    box-shadow: 0 10px 30px rgba(17, 24, 39, .05);
    transition: transform .2s ease, box-shadow .2s ease;
}

.event-card:hover {
    transform: translateY(-4px);
    box-shadow: 0 18px 42px rgba(17, 24, 39, .09);
}

.event-media {
    aspect-ratio: 16 / 10;
    overflow: hidden;
    background: #eee9f8;
}

.event-media img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.placeholder-media {
    width: 100%;
    height: 100%;
    min-height: 210px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #7c3aed;
    font-weight: 700;
    background:
        linear-gradient(135deg, #f4efff, #ece4ff);
}

.event-body {
    display: flex;
    flex-direction: column;
    flex: 1;
    padding: 20px;
}

.event-body h3 {
    margin: 12px 0 10px;
    font-size: 21px;
    line-height: 1.25;
}

.event-body p {
    line-height: 1.55;
}

.event-body .btn {
    margin-top: auto;
    align-self: flex-start;
}

.event-topline {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
}

.event-code {
    color: #8b8494;
    font-size: 12px;
}

.meta {
    display: flex;
    flex-wrap: wrap;
    gap: 7px;
    margin-bottom: 12px;
    color: #76707f;
    font-size: 13px;
}


/* =========================================================
   WHY CHOOSE VOTERA
========================================================= */

.why-section {
    background: #fff;
}

.why-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 18px;
    margin-top: 34px;
}

.why-card {
    padding: 26px;
    border: 1px solid #ece7f4;
    border-radius: 20px;
    background: #fbf9ff;
    transition: transform .2s ease, border-color .2s ease;
}

.why-card:hover {
    transform: translateY(-3px);
    border-color: #cdb8ff;
}

.why-number {
    width: 46px;
    height: 46px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 20px;
    border-radius: 14px;
    background: #7c3aed;
    color: #fff;
    font-weight: 800;
    font-size: 13px;
}

.why-card h3 {
    margin: 0 0 10px;
    font-size: 19px;
}

.why-card p {
    margin: 0;
    color: #6b6676;
    line-height: 1.6;
    font-size: 14px;
}


/* =========================================================
   TESTIMONIALS
========================================================= */

.testimonials-section {
    background: #faf8ff;
}

.testimonial-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 20px;
    margin-top: 34px;
}

.testimonial-card {
    position: relative;
    padding: 28px;
    border-radius: 22px;
    background: #fff;
    border: 1px solid #ece7f4;
    box-shadow: 0 10px 30px rgba(17, 24, 39, .04);
}

.quote-mark {
    font-size: 52px;
    line-height: .8;
    color: #7c3aed;
    font-family: Georgia, serif;
    margin-bottom: 14px;
}

.testimonial-card > p {
    margin: 0 0 24px;
    color: #4c4655;
    line-height: 1.7;
}

.testimonial-person {
    display: flex;
    align-items: center;
    gap: 12px;
}

.testimonial-avatar {
    width: 42px;
    height: 42px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    background: #7c3aed;
    color: #fff;
    font-weight: 800;
}

.testimonial-person strong,
.testimonial-person span {
    display: block;
}

.testimonial-person span {
    margin-top: 2px;
    color: #8a8393;
    font-size: 12px;
}


/* =========================================================
   ORGANIZER CTA
========================================================= */

.organizer-cta {
    padding: 72px 0;
}

.organizer-cta-inner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 36px;
    padding: 44px;
    border-radius: 28px;
    background:
        radial-gradient(circle at top right, rgba(255,255,255,.12), transparent 30%),
        linear-gradient(135deg, #5b21b6, #7c3aed);
    color: #fff;
}

.organizer-cta-inner > div:first-child {
    max-width: 680px;
}

.organizer-cta h2 {
    margin: 8px 0 12px;
    font-size: clamp(30px, 4vw, 44px);
}

.organizer-cta p {
    margin: 0;
    color: rgba(255,255,255,.82);
    line-height: 1.65;
}

.organizer-cta-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
}

.section-kicker.light {
    color: #e9ddff;
}

.btn.white {
    background: #fff;
    color: #5b21b6;
}

.btn.outline-white {
    background: transparent;
    color: #fff;
    border: 1px solid rgba(255,255,255,.6);
}


/* =========================================================
   EMPTY STATES
========================================================= */

.empty {
    grid-column: 1 / -1;
    padding: 38px;
    text-align: center;
    border-radius: 20px;
    border: 1px dashed #d8caef;
    background: #fbf9ff;
}

.empty h3 {
    margin: 0 0 8px;
}

.empty p {
    margin: 0;
    color: #7d7587;
}


/* =========================================================
   TABLET
========================================================= */

@media (max-width: 992px) {

    .hero-grid {
        grid-template-columns: 1fr;
        gap: 34px;
    }

    .hero-content {
        max-width: none;
    }

    .hero-visual {
        justify-content: flex-start;
    }

    .hero-image-wrap {
        max-width: 620px;
    }

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

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

    .why-grid,
    .testimonial-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .organizer-cta-inner {
        align-items: flex-start;
        flex-direction: column;
    }

}


/* =========================================================
   MOBILE
========================================================= */

@media (max-width: 640px) {

    .hero {
        padding: 42px 0 30px;
    }

    .hero-grid {
        gap: 26px;
    }

    .hero-content h1 {
        font-size: 40px;
        line-height: 1.02;
        letter-spacing: -1.3px;
    }

    .hero-content > p {
        font-size: 16px;
    }

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

    .hero-actions .btn {
        width: 100%;
        justify-content: center;
    }

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

    .hero-image-wrap {
        min-height: 260px;
        padding: 18px;
        border-radius: 22px;
    }

    .value-strip {
        padding-bottom: 34px;
    }

    .value-grid {
        grid-template-columns: 1fr;
        gap: 12px;
    }

    .value-item {
        padding: 18px;
    }

    .section {
        padding: 54px 0;
    }

    .section-head {
        align-items: flex-start;
        flex-direction: column;
        margin-bottom: 24px;
    }

    .section-head h2 {
        font-size: 30px;
    }

    .section-head .btn {
        width: 100%;
        justify-content: center;
    }

    .cards,
    .why-grid,
    .testimonial-grid {
        grid-template-columns: 1fr;
    }

    .event-card {
        border-radius: 18px;
    }

    .event-body {
        padding: 18px;
    }

    .why-card,
    .testimonial-card {
        padding: 21px;
    }

    .organizer-cta {
        padding: 54px 0;
    }

    .organizer-cta-inner {
        padding: 28px 22px;
        border-radius: 22px;
    }

    .organizer-cta-actions {
        width: 100%;
        flex-direction: column;
    }

    .organizer-cta-actions .btn {
        width: 100%;
        justify-content: center;
    }

}
