:root {
--df-navy: #0b2f5b;
--df-blue: #039;
--df-blue-2: #2472cb;
--df-red: #eb1d25;
--df-red-dark: #d82434;
--df-ice: #f1f8ff;
--df-pink: #fff1f3;
--df-text: #17365d;
--df-muted: #66758a;
--df-border: #dbe7f3;
--df-shadow: 0 18px 45px rgba(11, 47, 91, .12);
--df-radius: 22px;
}
html { scroll-behavior: smooth;margin: 0 !important; }
body {
font-family: "Inter", sans-serif;
color: var(--df-text);
background: #fff;
line-height: 1.65;
}
.text-white-50 {
    color: rgba(255, 255, 255, .8) !important;
}
.container {
    max-width: 1200px;
}
img {max-width: 100%;}
a { text-decoration: none; }
.section-space { padding: 92px 0; }
.text-muted-custom { color: var(--df-muted); }
.rounded-df { border-radius: var(--df-radius); }
.shadow-df { box-shadow: var(--df-shadow); }
.section-space p.text-muted-custom {margin-bottom: 10px;}

.btn-df-primary,
.btn-df-outline {
border-radius: 999px;
font-weight: 700;
padding: .78rem 1.35rem;
transition: .25s ease;
}
.btn-df-primary {
color: #fff;
background: linear-gradient(135deg, var(--df-red), #ff5864);
border: 0;
box-shadow: 0 10px 25px rgba(239, 51, 64, .25);
}
.btn-df-primary:hover,
.btn-df-primary:focus {
color: #fff;
transform: translateY(-2px);
box-shadow: 0 14px 30px rgba(239, 51, 64, .32);
}
.btn-df-outline {
color: var(--df-blue);
border: 2px solid var(--df-blue);
background: #fff;
}
.btn-df-outline:hover {
color: #fff;
background: var(--df-blue);
transform: translateY(-2px);
}

/* Top bar + navigation */
.topbar {
background: var(--df-navy);
color: rgba(255,255,255,.88);
font-size: .8rem;
}
.topbar a { color: #fff; font-weight: 600; }
.navbar {
background: rgba(255,255,255,.96);
backdrop-filter: blur(14px);
border-bottom: 1px solid rgba(11,47,91,.08);
}
.navbar-brand {max-width: 200px;}

.nav-link {
    color: var(--df-text) !important;
    font-size: 1rem;
    font-weight: 600;
    padding: .7rem 1.5rem !important;
}
.nav-link:hover { color: var(--df-red) !important; }

/* Hero */
.hero {
position: relative;
overflow: hidden;
padding: 40px 0 50px;
background:
radial-gradient(circle at 12% 15%, rgba(255,255,255,.95) 0 2px, transparent 3px) 0 0 / 42px 42px,
linear-gradient(180deg, #edf7ff 0%, #fff 78%);
}
.hero::before,
.hero::after {
content: "";
position: absolute;
border-radius: 50%;
filter: blur(1px);
pointer-events: none;
}
.hero::before {
width: 260px;
height: 260px;
left: -130px;
top: 120px;
background: rgba(36,114,203,.09);
}
.hero::after {
width: 310px;
height: 310px;
right: -160px;
bottom: -80px;
background: rgba(239,51,64,.07);
}
.hero-panel {
position: relative;
z-index: 1;
overflow: hidden;
border: 1px solid rgba(255,255,255,.85);
border-radius: 30px;
background: rgba(255,255,255,.9);
box-shadow: 0 24px 70px rgba(11,47,91,.14);
}



/* Shared section label */
.eyebrow {
display: inline-flex;
align-items: center;
gap: .55rem;
margin-bottom: .85rem;
color: var(--df-red);
font-size: .72rem;
font-weight: 800;
letter-spacing: .16em;
text-transform: uppercase;
}
.eyebrow::before {
content: "";
width: 26px;
height: 2px;
background: var(--df-red);
}
.section-title {
margin-bottom: 1rem;
color: var(--df-text);
font-size: clamp(2rem, 4vw, 3.5rem);
font-weight: 800;
letter-spacing: -.035em;
line-height: 1.1;
}

/* About */
.about-card {
position: relative;
min-height: 100%;
padding: 38px;
overflow: hidden;
color: #fff;
background: linear-gradient(145deg, #164d91, #2769b2);
border-radius: var(--df-radius);
box-shadow: var(--df-shadow);
}
.about-card::after {
content: "★";
position: absolute;
right: 24px;
top: 5px;
color: rgba(255,255,255,.08);
font-size: 9rem;
line-height: 1;
}
.about-card .heart {
width: 52px;
height: 52px;
display: grid;
place-items: center;
margin-bottom: 1.2rem;
color: #fff;
background: var(--df-red);
border-radius: 50%;
font-size: 1.35rem;
box-shadow: 0 12px 28px rgba(239,51,64,.28);
}
.about-card h3 { font-size: 1.2rem; font-weight: 800;color: #fff; }
.about-card p { color: rgba(255,255,255,.8); }
.about-card .script { font-family: "Allura", cursive; font-size: 2.2rem; }

/* Eligibility */
.eligibility-section {
background:
radial-gradient(circle at 1px 1px, rgba(19,86,162,.085) 1px, transparent 1px) 0 0 / 28px 28px,
var(--df-ice);
}
.nominee-card {
height: 100%;
padding: 24px 16px;
text-align: center;
background: #fff;
border: 1px solid rgba(19,86,162,.08);
border-radius: 16px;
box-shadow: 0 8px 24px rgba(11,47,91,.07);
transition: .25s ease;
}
.nominee-card:hover {
transform: translateY(-6px);
border-color: rgba(239,51,64,.25);
box-shadow: 0 16px 34px rgba(11,47,91,.12);
}
.nominee-icon {
width: 56px;
height: 56px;
display: inline-grid;
place-items: center;
margin-bottom: .9rem;
color: var(--df-blue);
background: #eaf4ff;
border-radius: 16px;
font-size: 1.5rem;
}
.nominee-card:nth-child(3n+2) .nominee-icon { color: #e7a900; background: #fff7db; }
.nominee-card:nth-child(3n+3) .nominee-icon { color: var(--df-red); background: #fff0f2; }
.nominee-card h3 { margin: 0; font-size: .92rem; font-weight: 800; }

/* Award cards */
.award-panel {
height: 100%;
padding: 40px;
border-radius: var(--df-radius);
}
.award-panel.primary {
color: #fff;
background: linear-gradient(150deg, #0e437f, #2469b2);
box-shadow: var(--df-shadow);
}
.award-panel.secondary {
background: #fff;
border: 1px solid var(--df-border);
box-shadow: 0 15px 45px rgba(11,47,91,.07);
}
.award-step {
display: flex;
align-items: flex-start;
gap: 1rem;
margin-top: 16px;
padding: 16px;
background: rgba(255,255,255,.1);
border: 1px solid rgba(255,255,255,.1);
border-radius: 14px;
}
.step-number {
flex: 0 0 auto;
width: 32px;
height: 32px;
display: grid;
place-items: center;
color: #fff;
background: var(--df-red);
border-radius: 50%;
font-size: .8rem;
font-weight: 800;
}
.award-step h4 { margin: 0 0 .2rem; font-size: .93rem; font-weight: 800;color: #fff; }
.award-step p { margin: 0; color: rgba(255,255,255,.75); font-size: .78rem; }
.eligibility-icon {
width: 60px;
height: 60px;
display: grid;
place-items: center;
color: var(--df-red);
background: var(--df-pink);
border-radius: 50%;
font-size: 1.55rem;
}
.alert-soft {
color: #a51f2b;
background: var(--df-pink);
border-left: 4px solid var(--df-red);
border-radius: 8px;
padding: 13px 14px;
font-size: .84rem;
font-weight: 600;
}

/* Form */
.nomination-section {
position: relative;
overflow: hidden;
color: #fff;
background: linear-gradient(145deg, #092e59 0%, #164f8e 100%);
}
.nomination-section::before,
.nomination-section::after {
content: "";
position: absolute;
border-radius: 50%;
background: rgba(255,255,255,.04);
pointer-events: none;
}
.nomination-section::before { width: 330px; height: 330px; right: -100px; top: -100px; }
.nomination-section::after { width: 180px; height: 180px; left: -75px; bottom: 40px; }
.form-shell {
position: relative;
z-index: 1;
padding: 30px;
background: #fff;
border-radius: 22px;
box-shadow: 0 25px 65px rgba(4,25,50,.35);
}
.form-section-title {
display: flex;
align-items: center;
gap: .65rem;
margin:0 0 10px;
color: var(--df-text);
font-size: 1rem;
font-weight: 800;
}
.form-section-title span {
width: 28px;
height: 28px;
display: inline-grid;
place-items: center;
color: #fff;
background: var(--df-blue);
border-radius: 50%;
font-size: .75rem;
}
.form-label {
color: var(--df-text);
font-size: .76rem;
font-weight: 700;
line-height: normal;
}
.required { color: var(--df-red); }
.form-control,
.form-select {
min-height: 47px;
color: var(--df-text);
border-color: #d8e3ef;
border-radius: 10px;
font-size: .88rem;
}
.form-control:focus,
.form-select:focus {
border-color: var(--df-blue-2);
box-shadow: 0 0 0 .2rem rgba(36,114,203,.12);
}
textarea.form-control { min-height: 180px; }
.upload-box {
display: block;
padding: 24px;
text-align: center;
background: #f8fbff;
border: 2px dashed #bcd0e5;
border-radius: 14px;
}
.form-check-label { color: var(--df-muted); font-size: .78rem; }
.side-note {
padding: 24px;
color: var(--df-text);
background: #fff;
border-radius: 18px;
box-shadow: 0 16px 38px rgba(4,25,50,.2);
}
.side-note + .side-note { margin-top: 18px; }
.side-note h3 { font-size: 1rem; font-weight: 800; }
.side-note ul { padding-left: 0; margin: 1rem 0 0; list-style: none; }
.side-note li { display: flex; gap: .5rem; margin-bottom: .6rem; color: var(--df-muted); font-size: .82rem; }
.side-note li i { color: var(--df-red); }

/* Share */
.share-card {
padding: 34px;
background: linear-gradient(135deg, #f0f7ff, #fff3f5);
border: 1px solid #e4edf6;
border-radius: 20px;
box-shadow: 0 12px 30px rgba(11,47,91,.07);
}
.form-shell .form-control[type=file] {min-height: inherit;}
.formSubmit p{
    display: flex;
    gap: 1rem;
    justify-content: space-between;
    margin-top: 1.5rem;
    flex-direction: row;
    align-items: center;
    position: relative;
}
.formSubmit p span.wpcf7-spinner {
    position: absolute;
    bottom: 0;
    margin: 0 auto;
    left: 0;
    right: 0;
}
.wpcf7 form.invalid .wpcf7-response-output {
    color: #eb1d25;
    margin: 20px 0 0;
}
.form-shell .form-check p {
    display: flex;
}
.form-shell .form-check-input[type=checkbox] {
	min-width: 15px;
}

/* Footer */
footer {
color: rgba(255,255,255,.72);
background: #071f3e;
}
footer h3 { color: #fff; font-size: .88rem; font-weight: 800; }
footer a { color: rgba(255,255,255,.72); }
footer a:hover { color: #fff; }
footer p {color: rgba(255, 255, 255, .72);}


@media (max-width: 991.98px) {
.section-space {padding: 72px 0;}
.navbar-collapse { padding: 1rem 0; }
.nav-link {
    color: var(--df-text) !important;
    font-size: 1rem;
    font-weight: 600;
    padding: .7rem 0 !important;
}
}
@media (max-width: 575.98px) {
.section-space { padding: 58px 0; }
.hero { padding: 28px 0; }
.about-card,
.award-panel,
.form-shell,
.share-card { padding: 24px; }
.hero-panel {border-radius: 10px;}
.formSubmit p, .formSubmit p small {
    display: block;
    text-align: center;
}
.formSubmit .btn-df-primary {
    margin-top: 12px;
}
.alert-soft {
    padding: 13px 10px;
}
}