:root {
  --ink: #0a0a1b;
  --navy: #171f44;
  --deep-navy: #071c3a;
  --gold: #dfaf4f;
  --brown: #7b471a;
  --blue: #5770b2;
  --cream: #f7f4ec;
  --card: #fffdf8;
  --white: #ffffff;
  --red: #c9181f;
  --red-dark: #a90f16;
  --border: rgba(23,31,68,.14);
  --shadow: 0 12px 32px rgba(10,10,27,.12);
}

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

html{
  scroll-behavior:smooth;
}

body{
  min-width:320px;
  background:
    radial-gradient(circle at top,
      rgba(223,175,79,.09),
      transparent 34rem),
    var(--cream);
  color:var(--ink);
  font-family:"Inter",Arial,sans-serif;
  line-height:1.5;
}

img{
  display:block;
  max-width:100%;
  height:auto;
}

a{
  color:inherit;
}

.site-header{
  width:100%;
  background:var(--cream);
  border-bottom:5px solid var(--gold);
}

.banner{
  width:100%;
  display:block;
}

.page-shell{
  width:min(1180px,calc(100% - 48px));
  margin:40px auto;
}

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

.resource-card{
  position:relative;
  overflow:hidden;
  min-height:330px;
  padding:34px;
  background:linear-gradient(
      145deg,
      rgba(255,255,255,.98),
      rgba(250,247,238,.98));
  border:1px solid var(--border);
  border-radius:18px;
  box-shadow:var(--shadow);
}

.resource-card::after{
  content:"";
  position:absolute;
  left:0;
  right:0;
  bottom:0;
  height:4px;
  background:linear-gradient(
      90deg,
      transparent,
      rgba(223,175,79,.7),
      transparent);
}

.resource-card h1,
.resource-card h2{
  color:var(--deep-navy);
  font-family:"Barlow Condensed",Impact,sans-serif;
  font-size:clamp(2.2rem,4vw,3.2rem);
  font-weight:800;
  line-height:.95;
  margin-bottom:18px;
  text-transform:uppercase;
}

.resource-card p,
.resource-card address{
  font-size:1.15rem;
}

.resource-card address{
  font-style:normal;
  margin-bottom:24px;
}

.card-subtitle{
  font-size:1.25rem;
  margin-bottom:22px;
}

a.action-button{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:12px;
  min-height:60px;
  padding:14px 24px;
  border-radius:12px;
  text-decoration:none;
  font-family:"Barlow Condensed",Impact,sans-serif;
  font-size:1.45rem;
  font-weight:700;
  text-transform:uppercase;
  transition:.18s;
}

a.action-button:hover{
  transform:translateY(-2px);
}

.navy-button{
  background:linear-gradient(
      180deg,
      var(--navy),
      var(--deep-navy));
  color:white;
}

.gold-button{
  background:linear-gradient(
      180deg,
      #ecc35e,
      var(--gold));
  color:var(--deep-navy);
}.non-emergency-card{
  display:grid;
  grid-template-columns:minmax(130px,.85fr) minmax(210px,1.35fr);
  gap:30px;
  align-items:center;
}

.badge-column{
  display:flex;
  justify-content:center;
  align-items:center;
}

.police-badge{
  width:100%;
  max-height:240px;
  object-fit:contain;
}

.centered-content{
  display:flex;
  flex-direction:column;
  justify-content:center;
  align-items:center;
  text-align:center;
  height:100%;
}

.station-card .action-button{
  width:min(100%,330px);
  margin:auto;
}

.newsletter-card p{
  margin-bottom:20px;
}

.newsletter-divider{
  margin:24px 0;
  border-top:1px solid rgba(23,31,68,.18);
}

.signup-row{
  display:grid;
  grid-template-columns:130px 1fr;
  gap:20px;
  align-items:center;
}

.qr-code{
  width:130px;
  height:auto;
}

.signup-text{
  margin:0;
  font-size:1rem!important;
}

.officer-card{
  display:flex;
  flex-direction:column;
  justify-content:space-between;
}

.officer-layout{
  display:grid;
  grid-template-columns:150px 1fr;
  gap:24px;
  align-items:center;
}

.community-logo{
  width:100%;
  max-height:210px;
  object-fit:contain;
}

.officer-name{
  color:var(--navy);
  font-size:1.45rem!important;
  font-weight:600;
}

.officer-button{
  margin-top:28px;
}

.emergency-panel{
  margin-top:26px;
  padding:30px 36px;
  display:grid;
  grid-template-columns:110px 1fr 230px;
  gap:28px;
  align-items:center;
  background:linear-gradient(
      135deg,
      var(--red),
      var(--red-dark));
  color:white;
  border-radius:18px;
  box-shadow:0 14px 34px rgba(169,15,22,.24);
}

.siren-symbol{
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:4.5rem;
}

.emergency-copy h2{
  font-family:"Barlow Condensed",Impact,sans-serif;
  font-size:3rem;
  text-transform:uppercase;
  margin-bottom:10px;
}

.emergency-copy p{
  font-size:1.15rem;
}

a.call-911-button{
  display:flex;
  align-items:center;
  justify-content:center;
  min-height:78px;
  border-radius:12px;
  background:white;
  color:var(--red-dark);
  text-decoration:none;
  font-family:"Barlow Condensed",Impact,sans-serif;
  font-size:2rem;
  font-weight:800;
  text-transform:uppercase;
  transition:.18s;
}

a.call-911-button:hover{
  transform:translateY(-2px);
}

.site-footer{
  margin-top:40px;
  padding:34px 20px;
  text-align:center;
  color:white;
  background:linear-gradient(
      135deg,
      #061933,
      var(--deep-navy),
      #10294b);
  border-top:5px solid var(--gold);
}

.footer-heading{
  color:var(--gold);
  font-family:"Barlow Condensed",Impact,sans-serif;
  font-size:1.6rem;
  letter-spacing:.08em;
  text-transform:uppercase;
}

.footer-emergency{
  color:var(--gold);
  font-weight:700;
  margin-top:8px;
}

.footer-disclaimer{
  margin-top:12px;
  max-width:760px;
  margin-left:auto;
  margin-right:auto;
  font-size:.92rem;
  opacity:.9;
}@media (max-width:900px){

  .page-shell{
    width:min(94%,720px);
    margin:28px auto;
  }

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

  .resource-card{
    min-height:auto;
  }

  .emergency-panel{
    grid-template-columns:90px 1fr;
    gap:20px;
  }

  a.call-911-button{
    grid-column:1/-1;
  }

}

@media (max-width:600px){

  .site-header{
    border-bottom-width:4px;
  }

  .page-shell{
    width:calc(100% - 28px);
    margin:18px auto;
  }

  .information-grid{
    gap:16px;
  }

  .resource-card{
    padding:22px 18px;
    border-radius:15px;
  }

  .resource-card h1,
  .resource-card h2{
    font-size:2.2rem;
  }

  .resource-card p,
  .resource-card address{
    font-size:1rem;
  }

  .non-emergency-card{
    grid-template-columns:105px 1fr;
    gap:16px;
  }

  .police-badge{
    max-height:170px;
  }

  .officer-layout{
    grid-template-columns:115px 1fr;
    gap:18px;
  }

  .community-logo{
    max-height:145px;
  }

  a.action-button{
    min-height:54px;
    font-size:1.25rem;
    padding:14px 16px;
  }

  .signup-row{
    grid-template-columns:105px 1fr;
    gap:16px;
  }

  .qr-code{
    width:105px;
  }

  .emergency-panel{
    padding:22px 18px;
    border-radius:15px;
    grid-template-columns:64px 1fr;
    gap:16px;
  }

  .siren-symbol{
    font-size:3rem;
  }

  .emergency-copy h2{
    font-size:2.5rem;
  }

  .emergency-copy p{
    font-size:1rem;
  }

  a.call-911-button{
    min-height:66px;
    font-size:1.7rem;
  }

}

@media (max-width:410px){

  .non-emergency-card,
  .officer-layout{
    grid-template-columns:1fr;
    text-align:center;
  }

  .badge-column{
    justify-content:center;
  }

  .police-badge{
    width:145px;
    max-height:180px;
    margin:auto;
  }

  .community-logo{
    width:140px;
    margin:auto;
  }

  .signup-row{
    grid-template-columns:92px 1fr;
  }

  .qr-code{
    width:92px;
  }

}/* FINAL LAYOUT OVERRIDE */

.page-shell {
  width: min(1100px, calc(100% - 24px)) !important;
  margin: 18px auto 24px !important;
}

.information-grid {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 12px !important;
}

.information-grid > article {
  min-height: 0 !important;
  padding: 18px !important;
  border: 1px solid rgba(23, 31, 68, 0.16) !important;
  border-radius: 16px !important;
  background: #fffdf8 !important;
  box-shadow: 0 8px 22px rgba(10, 10, 27, 0.1) !important;
  overflow: hidden !important;
}

.information-grid h1,
.information-grid h2 {
  font-size: clamp(1.55rem, 5vw, 2.4rem) !important;
  line-height: 1 !important;
  margin-bottom: 14px !important;
}

.information-grid p,
.information-grid address {
  font-size: clamp(0.88rem, 2.8vw, 1.05rem) !important;
}

/* Police badge */

img[src="assets/badge.png"] {
  width: 120px !important;
  max-width: 100% !important;
  height: 145px !important;
  object-fit: contain !important;
  margin: 0 auto 14px !important;
}

/* Community Policing logo */

img[src="assets/CP LOGO.png"] {
  width: 135px !important;
  max-width: 100% !important;
  height: 135px !important;
  object-fit: contain !important;
  margin: 0 auto 14px !important;
}

/* Newsletter QR code */

img[src="assets/BREVO signup QR Code.png"] {
  width: 115px !important;
  max-width: 100% !important;
  height: 115px !important;
  object-fit: contain !important;
  margin: 14px auto !important;
}

/* Turn every resource link into a button */

.information-grid a[href^="tel:"],
.information-grid a[href^="mailto:"],
.information-grid a[href*="maps.google"],
.information-grid a[href*="canva.link"] {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 100% !important;
  min-height: 48px !important;
  margin-top: 14px !important;
  padding: 10px 12px !important;
  border-radius: 10px !important;
  background: #171f44 !important;
  color: #ffffff !important;
  font-family: Arial, sans-serif !important;
  font-size: clamp(0.82rem, 2.8vw, 1rem) !important;
  font-weight: 700 !important;
  line-height: 1.1 !important;
  text-align: center !important;
  text-decoration: none !important;
  text-transform: none !important;
}

/* Newsletter button in gold */

.information-grid a[href*="canva.link"] {
  background: #dfaf4f !important;
  color: #071c3a !important;
}

/* Keep content centered within the smaller cards */

.non-emergency-card,
.station-card,
.newsletter-card,
.officer-card {
  display: flex !important;
  flex-direction: column !important;
  justify-content: space-between !important;
  text-align: center !important;
}

.badge-column,
.officer-layout,
.signup-row {
  display: block !important;
}

/* Emergency panel remains full width at the bottom */

.emergency-panel {
  display: grid !important;
  grid-template-columns: 52px minmax(0, 1fr) !important;
  gap: 12px !important;
  margin-top: 14px !important;
  padding: 18px !important;
  border-radius: 16px !important;
  background: linear-gradient(135deg, #c9181f, #a90f16) !important;
  color: #ffffff !important;
}

.emergency-panel a[href="tel:911"] {
  grid-column: 1 / -1 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-height: 54px !important;
  padding: 12px !important;
  border-radius: 10px !important;
  background: #ffffff !important;
  color: #a90f16 !important;
  font-size: 1.3rem !important;
  font-weight: 800 !important;
  text-decoration: none !important;
}

.siren-symbol {
  font-size: 2.4rem !important;
}

/* Prevent cards from becoming one wide column on phones */

@media (max-width: 600px) {
  .information-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  .information-grid > article {
    padding: 14px 10px !important;
  }

  img[src="assets/badge.png"] {
    width: 100px !important;
    height: 125px !important;
  }

  img[src="assets/CP LOGO.png"] {
    width: 105px !important;
    height: 105px !important;
  }

  img[src="assets/BREVO signup QR Code.png"] {
    width: 95px !important;
    height: 95px !important;
  }
}/* MINOR CARD CLEANUP */

/* Remove the phone and direction-dot icons */
.non-emergency-card .button-icon,
.station-card .button-icon {
  display: none !important;
}

/* Allow the two right-side cards to shrink to their content */
.station-card,
.officer-card {
  align-self: start !important;
  min-height: 0 !important;
  height: auto !important;
}

/* Tighten the police-station card */
.station-card {
  justify-content: flex-start !important;
}

.station-card .centered-content {
  height: auto !important;
  justify-content: flex-start !important;
}

.station-card .action-button {
  margin-top: 18px !important;
}

/* Remove the large gap above the email button */
.officer-card {
  justify-content: flex-start !important;
}

.officer-button {
  margin-top: 22px !important;
}/* INDEPENDENT CARD HEIGHTS */

.information-grid {
  align-items: start !important;
}

.non-emergency-card {
  grid-column: 1 !important;
  grid-row: 1 !important;
}

.station-card {
  grid-column: 2 !important;
  grid-row: 1 !important;
}

.officer-card {
  grid-column: 1 !important;
  grid-row: 2 !important;
}

.newsletter-card {
  grid-column: 2 !important;
  grid-row: 2 !important;
}/* ---------- FINAL POLISH ---------- */

/* Tighten overall spacing */
.page-shell{
    margin-top:18px !important;
    margin-bottom:18px !important;
}

.card-column{
    gap:10px !important;
}

/* Cards */
.resource-card{
    padding:18px !important;
    border-radius:18px !important;
}

/* Headings */
.resource-card h1,
.resource-card h2{
    margin-bottom:14px !important;
    line-height:.95 !important;
}

.card-subtitle,
.resource-card p,
.resource-card address{
    margin-bottom:16px !important;
}

/* Police badge */
.police-badge{
    max-height:165px !important;
    margin-bottom:12px !important;
}

/* Community policing logo */
.community-logo{
    max-height:110px !important;
    margin-bottom:10px !important;
}

/* Officer card */
.officer-layout{
    gap:12px !important;
}

.officer-name{
    margin-top:8px !important;
}

.officer-button{
    margin-top:16px !important;
}

/* Newsletter */
.newsletter-divider{
    margin:18px 0 !important;
}

.qr-code{
    width:96px !important;
}

.signup-row{
    gap:12px !important;
}

.signup-text{
    font-size:.9rem !important;
    line-height:1.35 !important;
}

/* Buttons */
.action-button{
    min-height:52px !important;
    border-radius:14px !important;
}

.button-icon{
    display:none !important;
}

/* Emergency section */
.siren-symbol{
    display:none !important;
}

.emergency-panel{
    grid-template-columns:1fr !important;
    gap:16px !important;
    padding:24px !important;
}

.emergency-copy{
    text-align:center;
}

.call-911-button{
    justify-content:center !important;
}

.call-911-button span:first-child{
    display:none !important;
}

/* Footer */
.site-footer{
    padding:20px 20px 22px !important;
}

.footer-heading{
    margin-bottom:6px !important;
}

.footer-disclaimer{
    margin-top:8px !important;
    line-height:1.45 !important;
}