:root{
  --ink:#0c1b2a;
  --muted:#3a4a5a;
  --bg:#ffffff;
  --alt:#e8f0f8;
  --border:#d9dee5;
  --radius:14px;
  --max:1100px;
}

*{ box-sizing:border-box; }
body{
  margin:0;
  font-family: system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial, sans-serif;
  color:var(--ink);
  background:var(--bg);
  line-height:1.55;
}

a{ color:inherit; }

.wrap{
  max-width:var(--max);
  margin:0 auto;
  padding:0 20px;
}

.section{ padding:56px 0; }
.section.alt{ background:var(--alt); }

h1,h2,h3{ margin:0 0 12px; letter-spacing:-0.2px; }
h1{ font-size:44px; color:#fff; }
h2{ font-size:28px; }
h3{ font-size:18px; }

p{ margin:0 0 12px; color:var(--muted); }

.header{
  position:sticky;
  top:0;
  z-index:50;
  background:rgba(255,255,255,.92);
  backdrop-filter: blur(8px);
  border-bottom:1px solid rgba(0,0,0,.06);
}

.nav{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  padding:12px 0;
}
.brand{
  font-weight:900;
  text-decoration:none;
}
.menu{
  display:flex;
  gap:14px;
  flex-wrap:wrap;
  justify-content:flex-end;
}
.menu a{
  text-decoration:none;
  padding:8px 10px;
  border-radius:999px;
}
.menu a:hover{
  background:rgba(12,27,42,.06);
}

.hero{
  position:relative;
  min-height:64vh;
  display:flex;
  align-items:flex-end;
  overflow:hidden;
}
.hero-bg{
  position:absolute;
  inset:0;
  background-image:url("/assets/Bridge.png?v=2");
  background-position:center;
  background-size:cover;
}
.hero-overlay{
  position:absolute;
  inset:0;
  background:linear-gradient(to top, rgba(12,27,42,.82), rgba(12,27,42,.25));
}
.hero-content{
  position:relative;
  padding:64px 0;
}
.hero-sub{
  color:#e9edf2;
  font-size:22px;
  margin:0 0 6px;
}
.hero-tag{
  color:#dbe3ec;
  margin:0 0 18px;
  max-width:720px;
}

.cta{ display:flex; gap:12px; flex-wrap:wrap; }
.btn{
  display:inline-block;
  padding:12px 16px;
  border-radius:999px;
  text-decoration:none;
  font-weight:800;
  border:1px solid rgba(255,255,255,.32);
}
.btn.primary{ background:var(--ink); color:#fff; border-color:rgba(255,255,255,.10); }
.btn.secondary{ background:rgba(255,255,255,.95); color:var(--ink); border-color:rgba(255,255,255,.55); }

.cards{
  display:grid;
  grid-template-columns:repeat(4, minmax(0,1fr));
  gap:16px;
}
.card{
  display:block;
  background:#fff;
  border:1px solid var(--border);
  border-radius:var(--radius);
  padding:18px;
  text-decoration:none;
}
.card p{ margin:0; }

.feature{
  display:grid;
  grid-template-columns: 1.35fr .85fr;
  gap:18px;
  align-items:stretch;
}
.feature-media{
  border:1px solid var(--border);
  border-radius:var(--radius);
  background-image:url("/assets/stonewall.png");
  background-position:center;
  background-size:cover;
}

.event{
  border:1px solid var(--border);
  border-radius:var(--radius);
  padding:18px;
  background:#fff;
}
.event-row{ display:flex; gap:12px; flex-wrap:wrap; margin-bottom:10px; }
.event-label{ font-weight:900; }
.event-value{ color:var(--muted); }

.footer{
  background:var(--ink);
  color:#fff;
  padding:34px 0;
}
.footer p, .footer a{ color:#dbe3ec; }
.footer-grid{
  display:grid;
  grid-template-columns:repeat(3, minmax(0, 1fr));
  gap:18px;
}
.footer-title{ font-weight:900; margin-bottom:6px; color:#fff; }


@media (max-width: 900px){
  h1{ font-size:36px; }
  .cards{ grid-template-columns:repeat(2, minmax(0,1fr)); }
  .feature{ grid-template-columns:1fr; }
}

@media (max-width: 520px){
  .cards{ grid-template-columns:1fr; }
  .section{ padding:44px 0; }
}

.menu a.active{
    background:var(--ink);
    coler:#fff:
}

a{
    color:#1f4f8f;
    text-decoration: none;
}

a:hover{
    text-decoration:underline;
}

.card{
    transition: transform .15s ease, box-shadow .15s ease;
}
    
.card:hover{
    transform:translateY(-3px):
    box-shadow:0 6px 18px rgba(0,0,0,.08);
}

main{
    display:block;
}

.section .wrap{
    position:relative;
}

.section h1{
    margin-bottom:18px;
}

.section h2{
    margin-bottom:14px;
}

.section p{
    max-width:820px;
}

.section ul{
    max-width:820px;
    color:var(--muted);
    padding-left:22px;
}
    
.section li{
    margin-bottom:10px;
}

.event,
.card{
    background:#ffffff;
}

.section.alt .event,
.section .alt .card{
    background:#ffffff;
}

.footer{
    margin-top20px;
}

.hero h1,
.hero .hero-sub,
.hero .hero-tag{
    text-shawdow:0, 2px 10px rgba(0,0,0.25);
}

.feature{
    backgroundbackground:#fff;
    border:1px soliod-var(--border);
    border-radius:var(--radius);
    padding:24px;
}

.menu a.active{
    backgroud:var(--ink);
    color:#fff;
}

.photo-strip{
    display:grid;
    grid-template-columns:repeat(4,1fr);
    position:relative;
}

.photo-strip img{
    width:100%;
    height:180px;
    object-fit:cover;
    display:block;
}

/* soft fade into footer */

.photo-strip::after{
    content:'';
    position:absolute;
    left:0;
    right:0;
    bottom:0;
    height:70px;
    background:linear-gradient(to bottom, rgba(255,255,255,0), rgba(12,27,42,.9));
}

.photo-strip img{
    transition:transform .4s ease;
}

.photo-strip img:hover{
    transform:scale(1.05);
}

.document-list{
    list-style li
        list:none;
        padding:0;
}


.document-list li{
    padding:10x 0;
    border-bottom:1px solid var(--border);
    
}

.document-list a{
    font-weight:600;
    color:#1f4f8f;
}

.document-list a:hover{
    text-decoration:underline;
}
