:root {
      --navy:#06152B;
      --navy-2:#0b2347;
      --red:#B22234;
      --gold:#D4AF37;
      --cream:#f7f2e8;
      --ink:#1b2430;
      --muted:#667085;
      --white:#ffffff;
      --shadow: 0 24px 65px rgba(6,21,43,.22);
      --radius: 22px;
    }
    * { box-sizing:border-box; }
    body { margin:0; font-family: Arial, Helvetica, sans-serif; color:var(--ink); background:#fff; line-height:1.55; }
    a { color:inherit; text-decoration:none; }
    .topbar { background:var(--navy); color:#fff; font-size:14px; padding:9px 22px; text-align:center; letter-spacing:.03em; }
    .nav { position:sticky; top:0; z-index:10; background:rgba(255,255,255,.96); backdrop-filter: blur(10px); box-shadow:0 8px 30px rgba(0,0,0,.07); }
    .nav-inner { max-width:1180px; margin:auto; padding:16px 22px; display:flex; align-items:center; justify-content:space-between; gap:22px; }
    .brand { font-weight:900; letter-spacing:.04em; color:var(--navy); line-height:1; }
    .brand span { display:block; color:var(--red); font-size:13px; margin-top:5px; letter-spacing:.16em; }
    .menu { display:flex; align-items:center; gap:22px; font-size:14px; font-weight:700; color:#263244; }
    .button { display:inline-flex; align-items:center; justify-content:center; border-radius:999px; padding:13px 22px; font-weight:800; border:2px solid transparent; transition:.2s ease; cursor:pointer; }
    .button.red { background:var(--red); color:#fff; box-shadow:0 10px 24px rgba(178,34,52,.25); }
    .button.navy { background:var(--navy); color:#fff; }
    .button.gold { background:var(--gold); color:var(--navy); }
    .button.outline { border-color:rgba(255,255,255,.78); color:#fff; }
    .button:hover { transform:translateY(-2px); }

/* Campaign banner image replaces the old text-based hero */
.campaign-banner{width:100%; margin:0; padding:0; background:#000;}
.banner-img{width:100%; height:auto; display:block;}

    .hero {
      min-height:760px; position:relative; isolation:isolate; color:#fff;
      background-image: linear-gradient(90deg, rgba(0,0,0,.92) 0%, rgba(6,21,43,.78) 34%, rgba(6,21,43,.22) 62%, rgba(6,21,43,.08) 100%), url('../images/banner-01.png');
      background-size:cover; background-position:center; display:flex; align-items:center;
    }
    .hero:after { content:""; position:absolute; inset:auto 0 0 0; height:170px; background:linear-gradient(0deg, rgba(6,21,43,.92), rgba(6,21,43,0)); z-index:-1; }
    .hero-content { width:100%; max-width:1180px; margin:auto; padding:90px 22px 125px; }
    .eyebrow { display:inline-flex; align-items:center; gap:12px; color:var(--gold); text-transform:uppercase; letter-spacing:.22em; font-size:13px; font-weight:900; margin-bottom:18px; }
    .eyebrow:before, .eyebrow:after { content:""; width:45px; height:2px; background:var(--gold); }
    h1 { max-width:720px; margin:0; font-family: Georgia, 'Times New Roman', serif; font-size:clamp(52px, 8vw, 112px); line-height:.9; letter-spacing:.01em; text-transform:uppercase; text-shadow:0 10px 28px rgba(0,0,0,.4); }
    .for-judge { display:flex; align-items:center; gap:18px; margin:24px 0 18px; color:var(--gold); text-transform:uppercase; letter-spacing:.38em; font-weight:900; font-size:clamp(22px, 3vw, 42px); }
    .for-judge:before, .for-judge:after { content:""; width:86px; height:2px; background:var(--gold); }
    .hero p { max-width:650px; font-size:22px; margin:0 0 30px; color:rgba(255,255,255,.92); }
    .hero-actions { display:flex; gap:16px; flex-wrap:wrap; margin-top:32px; }
    .hero-badges { display:flex; gap:14px; flex-wrap:wrap; margin-top:42px; max-width:800px; }
    .badge { padding:14px 18px; border:1px solid rgba(255,255,255,.22); background:rgba(6,21,43,.55); border-radius:16px; color:#fff; font-weight:800; }
    section { padding:82px 22px; }
    .wrap { max-width:1180px; margin:auto; }
    .section-title { text-align:center; max-width:780px; margin:0 auto 46px; }
    .section-title .kicker, .kicker { color:var(--red); font-weight:900; text-transform:uppercase; letter-spacing:.16em; font-size:13px; }
    h2 { font-family:Georgia, 'Times New Roman', serif; color:var(--navy); font-size:clamp(34px, 4vw, 54px); line-height:1.05; margin:10px 0 14px; }
    .lead { color:var(--muted); font-size:19px; }
    .cards { display:grid; grid-template-columns:repeat(4, 1fr); gap:22px; }
    .card { background:#fff; border:1px solid #e8ebf0; border-radius:var(--radius); padding:28px; box-shadow:0 12px 38px rgba(6,21,43,.08); }
    .icon { width:54px; height:54px; border-radius:16px; background:linear-gradient(135deg, var(--navy), var(--navy-2)); color:var(--gold); display:flex; align-items:center; justify-content:center; font-size:27px; margin-bottom:18px; }
    .card h3 { color:var(--navy); margin:0 0 8px; font-size:22px; }
    .card p { color:var(--muted); margin:0; }

    .experience { background:#fff; }
    .experience .cards { margin-top:30px; }
    .experience .card { position:relative; overflow:hidden; }
    .experience .card:before { content:""; position:absolute; top:0; left:0; right:0; height:5px; background:linear-gradient(90deg, var(--red), var(--gold)); }
    .experience ul { margin:14px 0 0; padding-left:20px; color:var(--muted); }
    .experience li { margin:8px 0; }
    .experience-highlight { margin-top:34px; border-radius:var(--radius); background:linear-gradient(135deg, var(--navy), var(--navy-2)); color:#fff; padding:30px; box-shadow:var(--shadow); display:grid; grid-template-columns:1fr 1fr; gap:22px; align-items:center; }
    .experience-highlight strong { color:var(--gold); font-size:20px; display:block; margin-bottom:6px; }
    .experience-highlight p { margin:0; color:rgba(255,255,255,.88); }
    .bio { background:var(--cream); }
    .bio-grid { display:grid; grid-template-columns:1fr 1.1fr; gap:46px; align-items:center; }
    .photo-panel { min-height:440px; border-radius:30px; background-image: linear-gradient(0deg, rgba(6,21,43,.55), rgba(6,21,43,.05)), url('../images/latonya-burrow-headshot.webp'); background-size:cover; background-position:right center; box-shadow:var(--shadow); border:8px solid #fff; }
    .bio-copy { background:#fff; border-radius:30px; padding:42px; box-shadow:0 20px 55px rgba(6,21,43,.1); }
    .priorities { background:linear-gradient(135deg, var(--navy), #020814); color:#fff; }
    .priorities h2 { color:#fff; }
    .priorities .lead { color:rgba(255,255,255,.76); }
    .priority-list { display:grid; grid-template-columns:repeat(2, 1fr); gap:18px; margin-top:34px; }
    .priority { padding:20px 22px; border:1px solid rgba(255,255,255,.15); border-radius:18px; background:rgba(255,255,255,.06); font-weight:800; }
    .cta { background-image: linear-gradient(90deg, rgba(6,21,43,.94), rgba(6,21,43,.78)), url('../images/latonya-burrow-headshot.webp'); background-size:cover; background-position:center; color:#fff; text-align:center; }
    .cta h2 { color:#fff; }
    .cta-grid { display:grid; grid-template-columns:repeat(3, 1fr); gap:22px; margin-top:36px; text-align:left; }
    .cta-card { background:rgba(255,255,255,.94); color:var(--ink); border-radius:22px; padding:28px; box-shadow:var(--shadow); }

    .endorsements { background:#fff; }
    .endorsement-grid { display:grid; grid-template-columns:repeat(3, 1fr); gap:22px; }
    .endorsement-card { border-radius:var(--radius); border:1px solid #e8ebf0; padding:30px; background:linear-gradient(180deg, #fff, #fbf8f0); box-shadow:0 12px 38px rgba(6,21,43,.08); }
    .endorsement-card span { display:block; color:var(--navy); font-weight:900; font-size:21px; margin-bottom:8px; }
    .endorsement-card p { color:var(--muted); margin:0; }
    .sticky-cta { position:fixed; left:50%; bottom:18px; transform:translateX(-50%); z-index:50; display:flex; gap:8px; padding:8px; border-radius:999px; background:rgba(6,21,43,.94); box-shadow:0 18px 45px rgba(0,0,0,.25); backdrop-filter:blur(12px); }
    .sticky-cta a { color:#fff; font-weight:900; font-size:14px; padding:10px 16px; border-radius:999px; }
    .sticky-cta a:nth-child(2) { background:var(--red); }
    .footer { background:#020814; color:rgba(255,255,255,.76); padding:42px 22px 86px; text-align:center; font-size:14px; }
    .footer strong { color:#fff; }
    @media (max-width: 900px) {
      .menu { display:none; }
  
/* Campaign banner image replaces the old text-based hero */
.campaign-banner{width:100%; margin:0; padding:0; background:#000;}
.banner-img{width:100%; height:auto; display:block;}

    .hero { min-height:680px; background-position:center; }
      .cards, .cta-grid, .priority-list, .bio-grid, .experience-highlight, .endorsement-grid { grid-template-columns:1fr; }
      .for-judge { letter-spacing:.18em; }
      .for-judge:before, .for-judge:after { width:40px; }
    }

/* Performance optimization */
img{max-width:100%;height:auto;}

@media (max-width: 520px) { .sticky-cta { width:calc(100% - 24px); justify-content:center; } .sticky-cta a { font-size:13px; padding:9px 11px; } }

/* Version 4 recommended enhancements */
.candidate-stats { display:grid; grid-template-columns:repeat(2, 1fr); gap:14px; margin:26px 0; }
.candidate-stats div { border:1px solid #e8ebf0; border-radius:18px; padding:18px; background:#fbf8f0; }
.candidate-stats strong { display:block; color:var(--red); font-size:26px; line-height:1; margin-bottom:6px; }
.candidate-stats span { display:block; color:var(--navy); font-weight:800; font-size:13px; text-transform:uppercase; letter-spacing:.06em; }
.timeline-section { background:#fff; }
.timeline { position:relative; display:grid; grid-template-columns:repeat(5, 1fr); gap:18px; margin-top:34px; }
.timeline:before { content:""; position:absolute; left:5%; right:5%; top:34px; height:3px; background:linear-gradient(90deg, var(--red), var(--gold), var(--navy)); z-index:0; }
.timeline-item { position:relative; z-index:1; background:#fff; border:1px solid #e8ebf0; border-radius:22px; padding:26px 20px; box-shadow:0 12px 38px rgba(6,21,43,.08); }
.timeline-item:before { content:""; width:18px; height:18px; border-radius:50%; background:var(--gold); border:5px solid var(--navy); display:block; margin:0 auto 20px; }
.timeline-item span { display:block; color:var(--red); font-weight:900; text-transform:uppercase; letter-spacing:.12em; font-size:12px; margin-bottom:8px; text-align:center; }
.timeline-item strong { display:block; color:var(--navy); font-size:16px; line-height:1.35; text-align:center; }
.community-band { background:linear-gradient(135deg, #fbf8f0, #fff); border-top:1px solid #efe8d8; border-bottom:1px solid #efe8d8; }
.community-grid { display:grid; grid-template-columns:1fr 1.1fr; gap:42px; align-items:center; }
.community-points { display:grid; grid-template-columns:repeat(2, 1fr); gap:16px; }
.community-points div { background:#fff; border-left:5px solid var(--red); border-radius:16px; padding:18px 20px; font-weight:900; color:var(--navy); box-shadow:0 12px 30px rgba(6,21,43,.08); }
.footer { text-align:left; }
.footer-grid { max-width:1180px; margin:auto; display:grid; grid-template-columns:1fr 1fr 1.2fr; gap:26px; }
.footer span { color:var(--gold); font-weight:900; }
@media (max-width: 900px) {
  .timeline { grid-template-columns:1fr; }
  .timeline:before { display:none; }
  .community-grid, .community-points, .footer-grid, .candidate-stats { grid-template-columns:1fr; }
  .footer { text-align:center; }
}

/* Version 5 expansion pages and judicial philosophy */
.menu a.active{color:var(--red);}
.subhero{position:relative; color:#fff; background-image:linear-gradient(90deg,rgba(6,21,43,.94),rgba(6,21,43,.74)); background-size:cover; background-position:center; padding:118px 22px 92px; text-align:center;}
.subhero h1{max-width:980px; margin:0 auto; font-size:clamp(42px,6vw,76px);}
.subhero p{max-width:760px; margin:22px auto 0; color:rgba(255,255,255,.88); font-size:21px;}
.philosophy{background:linear-gradient(135deg,#fff,#fbf8f0); border-top:1px solid #efe8d8; border-bottom:1px solid #efe8d8;}
.philosophy-grid{display:grid; grid-template-columns:1.1fr .9fr; gap:42px; align-items:center;}
.philosophy-card{background:var(--navy); color:#fff; border-radius:30px; padding:34px; box-shadow:var(--shadow); border:1px solid rgba(212,175,55,.28);}
.philosophy-card h3{color:var(--gold); font-size:27px; margin:0 0 16px;}
.philosophy-card ul{margin:0; padding-left:20px; color:rgba(255,255,255,.88);}
.philosophy-card li{margin:10px 0;}
.form-panel{background:#fff; border-radius:30px; padding:34px; box-shadow:0 18px 50px rgba(6,21,43,.11); border:1px solid #e8ebf0;}
.form-grid{display:grid; grid-template-columns:1fr 1fr; gap:18px;}
.form-grid .full{grid-column:1/-1;}
label{display:block; font-weight:900; color:var(--navy); margin-bottom:7px;}
input,select,textarea{width:100%; border:1px solid #d8dee8; border-radius:14px; padding:13px 14px; font:inherit; color:var(--ink); background:#fff;}
textarea{min-height:130px; resize:vertical;}
.note{font-size:14px; color:var(--muted); margin-top:14px;}
.page-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:22px;}
.large-card{background:#fff; border:1px solid #e8ebf0; border-radius:var(--radius); padding:30px; box-shadow:0 12px 38px rgba(6,21,43,.08);}
.large-card h3{color:var(--navy); margin-top:0; font-size:24px;}
.amount-grid{display:grid; grid-template-columns:repeat(4,1fr); gap:14px; margin:25px 0;}
.amount{display:block; text-align:center; padding:18px; border-radius:18px; background:#fff; border:2px solid #e8ebf0; font-weight:900; color:var(--navy);}
.amount.featured{background:var(--red); color:#fff; border-color:var(--red);}
.social-preview{display:grid; grid-template-columns:repeat(2,1fr); gap:22px; margin-top:28px;}
.social-preview img{border-radius:22px; box-shadow:0 14px 40px rgba(6,21,43,.16); border:1px solid #e8ebf0;}
@media (max-width:900px){.philosophy-grid,.page-grid,.form-grid,.amount-grid,.social-preview{grid-template-columns:1fr}.form-grid .full{grid-column:auto}}


/* PayPal donation integration */
.paypal-donate-form {
  margin-top: 24px;
  display: flex;
  align-items: center;
  gap: 12px;
  flex-wrap: wrap;
}
.paypal-donate-form .donate-submit {
  font-family: inherit;
  font-size: 16px;
  border: 0;
}
.amount-grid .amount {
  cursor: default;
}
