/* MSJ POLITICAL WEBSITE EXPANSION V1.0.0
   Adds political depth while keeping the existing MSJ navy / blue / gold identity.
   GLOBAL PUBLIC FONT: Arial. No external font dependency. */
:root{
  --msj-heading:Arial,Helvetica,sans-serif!important;
  --msj-body:Arial,Helvetica,sans-serif!important;
  --msj-exp-navy:#03172a;
  --msj-exp-navy2:#062844;
  --msj-exp-blue:#075d98;
  --msj-exp-blue2:#0b72ad;
  --msj-exp-gold:#f8b51c;
  --msj-exp-wine:#68192a;
  --msj-exp-light:#f4f5f6;
  --msj-exp-text:#102337;
}

/* Arial across the entire public website, including headings, buttons and forms. */
body.msj-pdf-theme,
body.msj-pdf-theme *,
body.msj-pdf-theme *::before,
body.msj-pdf-theme *::after,
body.msj-pdf-theme button,
body.msj-pdf-theme input,
body.msj-pdf-theme select,
body.msj-pdf-theme textarea{
  font-family:Arial,Helvetica,sans-serif!important;
  font-stretch:normal!important;
}

.msj-political-strip{background:linear-gradient(90deg,#6d1628,#8d1c31 50%,#5a1322);border-bottom:1px solid rgba(255,181,28,.35);color:#fff;position:relative;z-index:20}
.msj-political-strip .msj-campaign-shell{min-height:36px;display:flex;align-items:center;justify-content:center;gap:0;overflow:auto;scrollbar-width:none}
.msj-political-strip .msj-campaign-shell::-webkit-scrollbar{display:none}
.msj-political-strip a{font-size:11px;font-weight:900;letter-spacing:.04em;white-space:nowrap;padding:0 19px;line-height:36px}
.msj-political-strip a+a::before{content:"•";color:var(--msj-exp-gold);margin-right:19px}
.msj-political-strip a:hover{color:var(--msj-exp-gold)}

.msj-expanded-hero{border-bottom:0!important}
.msj-politics-section{position:relative;padding:72px 0;overflow:hidden}
.msj-politics-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:40px;margin-bottom:30px}
.msj-politics-heading>div{max-width:760px}
.msj-politics-heading>p{max-width:560px;margin:0;color:#5e6b78;font-size:18px;line-height:1.55}
.msj-politics-heading-light>p{color:#c6d7e4}
.msj-politics-kicker{margin:0 0 10px;color:var(--msj-exp-gold);font-size:13px;font-weight:900;letter-spacing:.08em}
.msj-politics-heading h2{margin:0;color:var(--msj-exp-text);font-size:clamp(38px,4.3vw,62px);line-height:.98;font-weight:900;letter-spacing:-.035em}
.msj-politics-heading-light h2{color:#fff}
.msj-politics-action{margin-top:30px;text-align:center}

.msj-politics-light{background:var(--msj-exp-light);color:var(--msj-exp-text)}
.msj-news-grid{display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:20px}
.msj-news-card{display:flex;flex-direction:column;background:#fff;color:var(--msj-exp-text);border-radius:15px;overflow:hidden;box-shadow:0 15px 35px rgba(3,23,42,.10);min-width:0;transition:transform .18s ease,box-shadow .18s ease}
.msj-news-card:hover{transform:translateY(-3px);box-shadow:0 20px 42px rgba(3,23,42,.16)}
.msj-news-art{min-height:190px;padding:22px;display:flex;align-items:flex-end;background:linear-gradient(140deg,#052d51,#0874ad);position:relative;overflow:hidden}
.msj-news-card-featured .msj-news-art{min-height:245px}
.msj-news-art::before{content:"";position:absolute;inset:-25%;border:2px solid rgba(255,255,255,.08);border-radius:50%;transform:translate(34%,18%)}
.msj-news-art::after{content:"MSJ";position:absolute;right:16px;top:18px;color:rgba(255,255,255,.06);font-size:82px;font-weight:900;line-height:1}
.msj-news-art-community{background:linear-gradient(140deg,#0a416e,#095b8f)}
.msj-news-art-accountability{background:linear-gradient(140deg,#67192a,#3d1730)}
.msj-news-art span{position:relative;z-index:2;background:var(--msj-exp-gold);color:var(--msj-exp-navy);font-size:10px;font-weight:900;letter-spacing:.05em;padding:7px 9px;border-radius:4px}
.msj-news-body{padding:22px;display:flex;flex-direction:column;flex:1}
.msj-news-body h3{margin:0 0 10px;font-size:23px;line-height:1.08;font-weight:900}
.msj-news-body p{margin:0 0 18px;color:#596875;font-size:15px;line-height:1.55;flex:1}
.msj-news-body strong{color:#851b31;font-size:12px;font-weight:900}

.msj-wards-section{background:linear-gradient(180deg,#073b65,#062b4b);color:#fff}
.msj-ward-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.msj-ward-card{display:grid;grid-template-columns:44% 56%;background:rgba(4,39,70,.92);border:1px solid rgba(255,255,255,.07);border-radius:16px;overflow:hidden;min-height:330px;color:#fff;box-shadow:0 15px 28px rgba(0,0,0,.12);transition:transform .18s ease}
.msj-ward-card:hover{transform:translateY(-3px)}
.msj-ward-photo{background:#061d34;display:flex;align-items:stretch}
.msj-ward-photo img{display:block!important;width:100%!important;height:100%!important;object-fit:cover!important;object-position:center top!important;aspect-ratio:auto!important}
.msj-ward-copy{padding:26px 22px;display:flex;flex-direction:column;min-width:0}
.msj-ward-copy>span{color:var(--msj-exp-gold);font-size:14px;font-weight:900}
.msj-ward-copy h3{margin:13px 0 6px;font-size:27px;line-height:1.02;font-weight:900}
.msj-ward-copy b{font-size:11px;color:#c6d8e5}
.msj-ward-copy p{font-size:14px;line-height:1.48;color:#d4e0e9;margin:20px 0;flex:1}
.msj-ward-copy em{font-style:normal;font-size:11px;font-weight:900;color:var(--msj-exp-gold)}

.msj-priority-expansion{background:linear-gradient(120deg,#0b67a2,#08598e);color:#fff}
.msj-home-priority-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:14px}
.msj-home-priority-card{background:#07355f;border-radius:15px;border-top:3px solid var(--msj-exp-gold);padding:23px 20px;min-height:255px;box-shadow:0 12px 28px rgba(3,23,42,.10)}
.msj-home-priority-card>b{display:block;color:var(--msj-exp-gold);font-size:31px;line-height:1;font-weight:900}
.msj-home-priority-card h3{margin:20px 0 10px;font-size:18px;line-height:1.1;font-weight:900}
.msj-home-priority-card p{margin:0;color:#cbdce8;font-size:14px;line-height:1.5}

.msj-connect-expansion{background:radial-gradient(circle at 86% 48%,rgba(14,115,172,.42),transparent 36%),linear-gradient(115deg,#03172a,#07385e);color:#fff}
.msj-connect-expansion-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:55px;align-items:center}
.msj-connect-expansion h2{margin:8px 0 19px;font-size:clamp(42px,5.8vw,78px);line-height:.94;font-weight:900;letter-spacing:-.04em}
.msj-connect-expansion h2 span{color:var(--msj-exp-gold)}
.msj-connect-lead{max-width:720px;color:#c6dae8;font-size:19px;line-height:1.55;margin:0}
.msj-connect-steps{list-style:none;margin:0;padding:0;display:grid;gap:13px}
.msj-connect-steps li{display:flex;gap:16px;align-items:flex-start;background:#08355d;border:1px solid rgba(255,255,255,.07);padding:19px;border-radius:14px}
.msj-connect-steps b{flex:0 0 38px;width:38px;height:38px;border-radius:50%;display:grid;place-items:center;background:var(--msj-exp-gold);color:var(--msj-exp-navy);font-size:16px}
.msj-connect-steps strong{display:block;font-size:17px;margin-bottom:5px}
.msj-connect-steps span{color:#bed1df;font-size:14px;line-height:1.45}

.msj-political-paths{background:#f6f3ed;color:var(--msj-exp-text)}
.msj-action-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.msj-action-grid>a{background:#fff;border:1px solid #dfe4e8;border-radius:14px;padding:25px;display:flex;flex-direction:column;min-height:220px;box-shadow:0 12px 28px rgba(3,23,42,.06)}
.msj-action-grid span{color:var(--msj-exp-gold);font-size:29px;font-weight:900}
.msj-action-grid h3{margin:22px 0 10px;font-size:22px;font-weight:900}
.msj-action-grid p{margin:0 0 20px;color:#66717c;font-size:15px;line-height:1.5;flex:1}
.msj-action-grid em{font-style:normal;color:#821a31;font-size:12px;font-weight:900}

.msj-join-banner{background:linear-gradient(120deg,#74172a,#4f1120);color:#fff;padding:48px 0;border-top:2px solid var(--msj-exp-gold)}
.msj-join-banner-inner{display:grid;grid-template-columns:1fr auto;gap:35px;align-items:center}
.msj-join-banner h2{margin:5px 0 8px;font-size:clamp(38px,4.5vw,60px);line-height:1;font-weight:900}
.msj-join-banner p{margin:0;max-width:760px;color:#f0ccd4;font-size:17px;line-height:1.5}

.msj-expanded-footer{background:#02101e;color:#b5c7d5;border-top:2px solid var(--msj-exp-gold)}
.msj-expanded-footer-grid{display:grid;grid-template-columns:1.5fr repeat(3,1fr);gap:45px;padding:48px 0 40px}
.msj-expanded-footer-brand p{max-width:390px;color:#9fb3c3;font-size:13px;line-height:1.6;margin:20px 0 0}
.msj-expanded-footer h2{margin:0 0 15px;color:var(--msj-exp-gold);font-size:12px;letter-spacing:.07em;font-weight:900}
.msj-expanded-footer-grid>div:not(:first-child) a,.msj-expanded-footer-grid>div:not(:first-child) span{display:block;color:#b7c8d5;font-size:13px;margin:10px 0}
.msj-expanded-footer-grid a:hover{color:#fff}
.msj-expanded-footer-bottom{border-top:1px solid rgba(255,255,255,.1);padding:18px 0;display:flex;justify-content:space-between;gap:25px;color:#899ead;font-size:11px}
.msj-expanded-footer-bottom a{color:inherit}

/* Ensure the old minimal campaign footer is not used when the expanded layout is installed. */
.msj-campaign-footer{display:none!important}

@media(max-width:1180px){
  .msj-news-grid{grid-template-columns:1fr 1fr}.msj-news-card-featured{grid-column:1/-1;display:grid;grid-template-columns:1.05fr .95fr}.msj-news-card-featured .msj-news-art{min-height:230px}
  .msj-ward-grid{grid-template-columns:1fr}.msj-ward-card{grid-template-columns:260px 1fr;min-height:310px}
  .msj-home-priority-grid{grid-template-columns:repeat(2,1fr)}.msj-home-priority-card:last-child{grid-column:1/-1}
  .msj-expanded-footer-grid{grid-template-columns:1.4fr 1fr 1fr}.msj-expanded-footer-grid>div:last-child{grid-column:2/4}
}
@media(max-width:900px){
  .msj-politics-heading{align-items:flex-start;flex-direction:column;gap:14px}
  .msj-connect-expansion-grid{grid-template-columns:1fr;gap:35px}
  .msj-action-grid{grid-template-columns:1fr}
  .msj-join-banner-inner{grid-template-columns:1fr}
  .msj-expanded-footer-grid{grid-template-columns:1fr 1fr}.msj-expanded-footer-grid>div:last-child{grid-column:auto}
}
@media(max-width:680px){
  .msj-political-strip .msj-campaign-shell{justify-content:flex-start;width:100%;padding-left:12px}
  .msj-politics-section{padding:50px 0}
  .msj-news-grid{grid-template-columns:1fr}.msj-news-card-featured{grid-column:auto;display:flex}.msj-news-card-featured .msj-news-art{min-height:190px}
  .msj-ward-card{grid-template-columns:1fr}.msj-ward-photo{max-height:430px}.msj-ward-photo img{height:auto!important;object-fit:contain!important;background:#061d34}
  .msj-home-priority-grid{grid-template-columns:1fr}.msj-home-priority-card:last-child{grid-column:auto}
  .msj-expanded-footer-grid{grid-template-columns:1fr}.msj-expanded-footer-bottom{flex-direction:column}
}

/* MSJ BRAND FONT SIZE FIX V1.0.0 START */
/*
   Match the circled "MOVEMENT FOR SOCIAL JUSTICE" wording
   to the main navigation scale (HOME / ABOUT / MANIFESTO).
   Header + footer only. Logo size and all other typography stay unchanged.
*/
.msj-campaign-header .msj-campaign-brand strong,
.msj-expanded-footer .msj-campaign-brand strong {
    font-family: Arial, sans-serif !important;
    font-size: 15px !important;
    line-height: 1.1 !important;
    letter-spacing: .01em !important;
    font-weight: 800 !important;
    white-space: nowrap;
}

@media (max-width: 900px) {
    .msj-campaign-header .msj-campaign-brand strong,
    .msj-expanded-footer .msj-campaign-brand strong {
        font-size: 15px !important;
    }
}

@media (max-width: 560px) {
    .msj-campaign-header .msj-campaign-brand strong,
    .msj-expanded-footer .msj-campaign-brand strong {
        font-size: 14px !important;
    }
}
/* MSJ BRAND FONT SIZE FIX V1.0.0 END */

/* MSJ HERO HEADLINE SIZE FIX V1.0.0 START */
/*
   Slightly reduce the homepage SERVICE / ACCOUNTABILITY / DIGNITY headline
   so ACCOUNTABILITY. no longer runs underneath the burgundy callout.
   All wording, colours, layout and imagery stay unchanged.
*/
.msj-home-copy h1 {
    font-family: Arial, sans-serif !important;
    font-size: clamp(52px, 5.25vw, 90px) !important;
    line-height: .96 !important;
    letter-spacing: -.03em !important;
    max-width: 100% !important;
}

@media (max-width: 1180px) {
    .msj-home-copy h1 {
        font-size: clamp(48px, 6.4vw, 76px) !important;
    }
}

@media (max-width: 760px) {
    .msj-home-copy h1 {
        font-size: clamp(42px, 11vw, 64px) !important;
        line-height: .97 !important;
    }
}
/* MSJ HERO HEADLINE SIZE FIX V1.0.0 END */

/* MSJ BRAND TEXT SIZE FIX V4.1 START */
/* Reduce only the circled MOVEMENT FOR SOCIAL JUSTICE wording in header + footer. */
.msj-campaign-header .msj-campaign-brand {
    gap: 10px !important;
}
.msj-campaign-header .msj-campaign-brand strong,
.msj-expanded-footer .msj-campaign-brand strong {
    font-family: Arial, sans-serif !important;
    font-size: 12px !important;
    line-height: 1.05 !important;
    letter-spacing: 0 !important;
    font-weight: 800 !important;
    white-space: nowrap !important;
}
@media (max-width: 900px) {
    .msj-campaign-header .msj-campaign-brand strong,
    .msj-expanded-footer .msj-campaign-brand strong {
        font-size: 11px !important;
    }
}
@media (max-width: 560px) {
    .msj-campaign-header .msj-campaign-brand strong,
    .msj-expanded-footer .msj-campaign-brand strong {
        font-size: 10px !important;
    }
}
/* MSJ BRAND TEXT SIZE FIX V4.1 END */
