@import url('https://fonts.googleapis.com/css2?family=Anton&family=Inter:wght@400;700;800&display=swap');
*{box-sizing:border-box}body{margin:0;background:#f2eee4;color:#101010;font-family:Inter,Arial,sans-serif}
header{display:flex;justify-content:space-between;align-items:center;padding:16px 6vw;background:#101010;color:#fff;border-bottom:5px solid #b31318;font-size:22px}
header a,.donate{background:#b31318;color:#fff;text-decoration:none;font-weight:800;padding:12px 22px;border:3px solid #fff}
.hero{display:grid;grid-template-columns:1.15fr .85fr;gap:50px;align-items:center;padding:70px 7vw;border-bottom:10px solid #101010;min-height:650px}
h1{font-family:Anton,Impact,sans-serif;text-transform:uppercase;font-size:clamp(75px,12vw,175px);line-height:.82;margin:0}
.project{font-weight:800;text-transform:uppercase;letter-spacing:.6px;font-size:clamp(15px,2vw,21px);margin:22px 0 5px}
.subtitle{font:italic clamp(25px,4vw,45px) Georgia,serif;margin:12px 0 35px}.stamp{display:inline-block;border:6px solid #b31318;color:#b31318;padding:10px 15px;font-weight:900;transform:rotate(-4deg)}
.photos{display:flex;align-items:center;gap:20px}.photos figure{margin:0;background:#fff;padding:9px 9px 15px;border:2px solid #aaa;box-shadow:8px 10px 18px #0004;flex:1}.photos figure:first-child{transform:rotate(-3deg)}.photos figure:last-child{transform:rotate(4deg)}
.photos img{width:100%;height:260px;object-fit:cover}.photos figcaption{font-size:11px;line-height:1.3;font-weight:700;padding:10px 4px 0}
.files{max-width:1200px;margin:auto;padding:75px 24px;display:grid;grid-template-columns:repeat(3,1fr);gap:25px}.files article{background:#fffaf0;border:3px solid #101010;padding:28px;box-shadow:9px 9px 0 #d8d1c4}.files span{font-weight:800;letter-spacing:2px;color:#b31318}.files h2{font-family:Anton,Impact,sans-serif;text-transform:uppercase;font-size:35px;line-height:1;margin:25px 0 0}
.proposals{background:#b31318;color:#fff;padding:75px max(24px,calc((100vw - 1100px)/2))}.proposals h3{letter-spacing:2px}.proposals ul{list-style:none;padding:0}.proposals li{font-family:Anton,Impact,sans-serif;text-transform:uppercase;font-size:clamp(28px,4vw,52px);border-top:2px solid #ffffff88;padding:18px 0}
.warning{max-width:1050px;margin:75px auto;padding:35px;border:5px solid #101010;box-shadow:13px 13px 0 #101010;background:#fffaf0}.warning h2,.action h2{font-family:Anton,Impact,sans-serif;text-transform:uppercase;font-size:clamp(38px,6vw,70px);line-height:.95;margin:0 0 20px}.warning p{font-size:25px}
.action{text-align:center;background:#101010;color:#fff;padding:85px 24px}.action p{line-height:1.7;color:#ddd}.action .donate{display:inline-block;font-size:20px}
footer{background:#050505;color:#eee;text-align:center;padding:24px;font-size:12px}
@media(max-width:800px){.hero{grid-template-columns:1fr;padding:50px 24px}.photos{align-items:flex-start}.photos img{height:190px}.photos figcaption{font-size:9px}.files{grid-template-columns:1fr}h1{font-size:85px}}

/* --- Requested revision set --- */
header {
  position: relative;
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  align-items: center;
  gap: 20px;
}

.nav-left {
  justify-self: start;
  font-weight: 800;
}

.nav-center {
  justify-self: center;
  font-family: Anton, Impact, sans-serif;
  font-size: clamp(18px, 2.6vw, 30px);
  letter-spacing: 1px;
  text-align: center;
}

.nav-donate {
  justify-self: end;
  background: #b31318;
  color: #fff;
  text-decoration: none;
  font-weight: 800;
  padding: 12px 22px;
  border: 3px solid #fff;
}

.photos figcaption {
  font-style: italic;
}

/* File-folder outline */
.files article {
  position: relative;
  background: #fffaf0;
  border: 3px solid #101010;
  padding: 38px 28px 28px;
  box-shadow: none;
  margin-top: 22px;
}

.files article::before {
  content: "";
  position: absolute;
  top: -20px;
  left: -3px;
  width: 126px;
  height: 20px;
  background: #fffaf0;
  border: 3px solid #101010;
  border-bottom: 0;
  border-radius: 7px 7px 0 0;
}

.files article::after {
  content: "";
  position: absolute;
  top: -3px;
  left: 120px;
  width: 30px;
  height: 4px;
  background: #fffaf0;
}

.files article span,
.file-label {
  position: relative;
  z-index: 2;
}

@media (max-width: 800px) {
  header {
    grid-template-columns: 1fr auto;
    grid-template-areas:
      "center center"
      "left donate";
    row-gap: 10px;
  }
  .nav-center { grid-area: center; }
  .nav-left { grid-area: left; }
  .nav-donate { grid-area: donate; }
}


/* Coming-soon hover/focus bubbles for future links */
.coming-soon-item {
  cursor: pointer;
}

.coming-soon-bubble {
  position: absolute;
  left: 50%;
  top: -18px;
  z-index: 20;
  transform: translate(-50%, -100%) scale(.92);
  opacity: 0;
  pointer-events: none;
  white-space: nowrap;
  padding: 9px 13px;
  border: 3px solid #101010;
  background: #fffaf0;
  color: #101010 !important;
  font-family: Inter, Arial, sans-serif !important;
  font-size: 12px !important;
  line-height: 1 !important;
  font-style: normal !important;
  font-weight: 900 !important;
  letter-spacing: 1.4px;
  text-transform: uppercase;
  box-shadow: 4px 4px 0 #101010;
  transition: opacity .15s ease, transform .15s ease;
}

.coming-soon-bubble::after {
  content: "";
  position: absolute;
  left: 50%;
  bottom: -9px;
  width: 13px;
  height: 13px;
  background: #fffaf0;
  border-right: 3px solid #101010;
  border-bottom: 3px solid #101010;
  transform: translateX(-50%) rotate(45deg);
}

/* File cards already have position:relative */
.files article.coming-soon-item {
  transition: transform .15s ease;
}

.files article.coming-soon-item:hover,
.files article.coming-soon-item:focus-visible {
  transform: translateY(-3px);
}

/* Proposal rows need to anchor the bubble */
.proposals li.coming-soon-item {
  position: relative;
  transition: padding-left .15s ease;
}

.proposals li.coming-soon-item:hover,
.proposals li.coming-soon-item:focus-visible {
  padding-left: 14px;
}

/* Show on mouse hover and keyboard focus */
.coming-soon-item:hover > .coming-soon-bubble,
.coming-soon-item:focus-visible > .coming-soon-bubble {
  opacity: 1;
  transform: translate(-50%, -100%) scale(1);
}

/* Visible keyboard focus */
.coming-soon-item:focus-visible {
  outline: 3px dashed currentColor;
  outline-offset: 6px;
}

/* On touch devices, tapping/focusing can still reveal the message */
@media (hover: none) {
  .coming-soon-bubble {
    top: -10px;
  }
}
