:root {
  --green: #06281f;
  --green2: #0b3b2d;
  --gold: #c99a2e;
  --cream: #f4efe5;
  --ink: #14211c;
  --muted: #55615c;
  --line: #e4dbce;
  --card: #fffdf8;
}

* {
  box-sizing: border-box
}

body {
  margin: 0;
  font-family: Arial, Helvetica, sans-serif;
  background: var(--cream);
  color: var(--ink);
  line-height: 1.55
}

a {
  color: inherit;
  text-decoration: none
}

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

.container {
  max-width: 1180px;
  margin: 0 auto;
  padding: 0 24px
}

.nav {
  position: sticky;
  top: 0;
  z-index: 20;
  background: rgba(6, 40, 31, .98);
  color: #fff;
  box-shadow: 0 2px 12px rgba(0, 0, 0, .18)
}

.nav-inner {
  max-width: 1360px;
  margin: 0 auto;
  padding: 15px 24px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px
}

.brand {
  font-weight: 800;
  font-size: 21px;
  letter-spacing: .2px;
  white-space: nowrap
}

.nav-links {
  list-style: none;
  display: flex;
  gap: 19px;
  margin: 0;
  padding: 0;
  align-items: center;
  flex-wrap: wrap
}

.nav-links a {
  font-size: 13px;
  font-weight: 700;
  opacity: .94;
  white-space: nowrap
}

.nav-links a.active,
.nav-links a:hover {
  color: var(--gold)
}

.hero {
  min-height: 430px;
  background-size: cover;
  background-position: center top;
  position: relative;
  color: white;
  display: flex;
  align-items: center
}

.hero:before {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg, rgba(0, 0, 0, 0), rgba(0, 0, 0, 0), rgba(0, 0, 0, 0));
}

.hero .container {
  position: relative;
  z-index: 2
}

.eyebrow {
  text-transform: uppercase;
  letter-spacing: 4px;
  color: var(--gold);
  font-weight: 800;
  font-size: 13px;
  margin: 0 0 14px
}

.hero h1 {
  font-size: 56px;
  line-height: 1.05;
  margin: 0 0 20px;
  max-width: 920px
}

.hero p {
  font-size: 19px;
  max-width: 760px;
  margin: 0
}

.gold-line {
  width: 86px;
  height: 4px;
  background: var(--gold);
  margin: 0 0 18px
}

.section {
  padding: 36px 0
}

.section.tight {
  padding: 24px 0
}

.cards-3,
.cards-4,
.cards-2 {
  display: grid;
  gap: 18px
}

.cards-3 {
  grid-template-columns: repeat(3, 1fr)
}

.cards-4 {
  grid-template-columns: repeat(4, 1fr)
}

.cards-2 {
  grid-template-columns: repeat(2, 1fr)
}

.card {
    background: #fdfbf6;
    border: 1px solid #d9d2c3;
    border-radius: 18px;
    padding: 30px;
    box-shadow: 0 14px 40px rgba(0,0,0,.10);
    transition: all .25s ease;
}

.card:hover {
    transform: translateY(-6px);
    box-shadow: 0 22px 55px rgba(0,0,0,.16);
}

.card h2,
.card h3 {
    margin: 0 0 14px;
    color: #1b4f36;
    font-size: 28px;
    font-weight: 700;
    line-height: 1.15;
}

.card p {
    margin: 0;
    color: #555;
    font-size: 17px;
    line-height: 1.7;
}

.lift {
  margin-top: -44px;
  position: relative;
  z-index: 5
}

.icon {
  width: 56px;
  height: 56px;
  border-radius: 50%;
  background: var(--green);
  color: white;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 26px;
  margin-bottom: 14px
}

.banner-strip {
  height: 150px;
  background-size: cover;
  background-position: center;
  border-radius: 12px;
  border: 1px solid var(--line);
  margin: 8px 0 28px
}

.split {
  display: grid;
  grid-template-columns: 1.05fr .95fr;
  gap: 24px;
  align-items: center
}

.split img {
  border-radius: 12px;
  border: 1px solid var(--line);
  box-shadow: 0 8px 24px rgba(0, 0, 0, .08)
}

.section-title {
  text-align: center;
  margin: 0 0 22px
}

.section-title h2 {
  margin: 0;
  color: var(--green2);
  font-size: 32px
}

.section-title p {
  margin: 6px auto 0;
  color: var(--muted);
  max-width: 720px
}

.dark-band {
  background: var(--green2);
  color: white
}

.dark-band .section-title h2 {
  color: white;
}

.dark-band > .container > p,
.dark-band .section-title p {
  color: #e5e0d9;
}

.dark-band .card h3 {
  color: #1b4f36;
}

.dark-band .card p {
  color: #555;
}

.button {
  display: inline-block;
  background: var(--gold);
  color: #0b1d17;
  font-weight: 800;
  padding: 11px 18px;
  border-radius: 4px;
  margin-top: 16px
}

.button.secondary {
  background: white;
  border: 1px solid var(--line)
}

.table {
  width: 100%;
  border-collapse: collapse;
  background: white;
  border-radius: 10px;
  overflow: hidden
}

.table th,
.table td {
  border: 1px solid var(--line);
  padding: 12px;
  text-align: left;
  font-size: 14px
}

.table th {
  background: #f2eadb;
  color: var(--green2)
}

.cta {
  text-align: center;
  padding: 44px 24px
}

.cta h2 {
  font-size: 34px;
  color: var(--green2);
  margin: 0 0 10px
}

.footer {
  background: var(--green);
  color: white;
  padding: 34px 0 16px
}

.footer-grid {
  display: grid;
  grid-template-columns: 1.3fr 1fr 1fr;
  gap: 40px
}

.footer h3 {
  margin: 0 0 8px;
  color: white
}

.footer p,
.footer a {
  font-size: 14px;
  color: #d9e6e0;
  margin: 3px 0;
  display: block
}

.copyright {
  border-top: 1px solid rgba(255, 255, 255, .16);
  margin-top: 24px;
  padding-top: 14px;
  font-size: 12px;
  color: #b8c8c1;
  text-align: center
}

.photo-caption {
  font-size: 13px;
  color: var(--muted);
  margin-top: 8px
}

.compact-hero {
  min-height: 350px
}

.callout {
  font-size: 22px;
  font-weight: 800;
  color: var(--green2);
  line-height: 1.35
}

.pill-row {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
  justify-content: center
}

.pill {
  background: var(--green2);
  color: white;
  padding: 9px 14px;
  border-radius: 4px;
  font-size: 13px;
  font-weight: 800
}

@media(max-width:950px) {
  .hero h1 {
    font-size: 40px
  }

  .cards-3,
  .cards-4,
  .cards-2,
  .split,
  .footer-grid {
    grid-template-columns: 1fr
  }

  .lift {
    margin-top: 24px
  }

  .nav-inner {
    align-items: flex-start;
    flex-direction: column
  }

  .nav-links {
    gap: 12px
  }

  .hero {
    min-height: 360px
  }
}
.map-link {
  display: block;
}

.map-feature {
  width: 100%;
  height: auto;
  border-radius: 14px;
  box-shadow: 0 14px 40px rgba(0,0,0,.12);
  transition: transform .25s ease, box-shadow .25s ease;
  cursor: zoom-in;
}

.map-feature:hover {
  transform: scale(1.06);
  box-shadow: 0 24px 65px rgba(0,0,0,.22);
}
.graphic-wrap {
  max-width: 980px;
  margin: 24px auto 0;
}

.campus-graphic {
  width: 100%;
  height: auto;
  display: block;
  border-radius: 12px;
}

.cta {
  text-align: center;
  margin-top: 28px;
}
.graphic-wrap {
  max-width: 1150px;
  margin: 28px auto 0;
}

.campus-graphic {
  width: 100%;
  height: auto;
  display: block;
  border-radius: 12px;
}

.cta {
  text-align: center;
  margin-top: 28px;
}/* Flyer + Road Feature */

.media-feature{
  padding:70px 20px;
  background:#f5f1e8;
}

.media-feature-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:36px;
  align-items:center;
}

.print-card,
.road-side-card{
  background:#fffdf7;
  border-radius:14px;
  box-shadow:0 12px 30px rgba(0,0,0,.12);
  overflow:hidden;
}

.print-card{
  display:block;
  transition:transform .25s ease, box-shadow .25s ease;
}

.print-card:hover{
  transform:scale(1.035);
  box-shadow:0 18px 40px rgba(0,0,0,.18);
}

.print-card img{
  display:block;
  width:100%;
  height:auto;
}

.road-side-card img{
  display:block;
  width:100%;
  height:210px;
  object-fit:cover;
}

@media(max-width:800px){
  .media-feature-grid{
    grid-template-columns:1fr;
  }

  .road-side-card img{
    height:auto;
  }
}

.map-feature:hover{
    transform:scale(1.02);
}
.road-preview{
  margin:24px auto 0;
  width:100%;
  max-width:560px;
}

.road-preview img{
  width:100%;
  height:105px;
  object-fit:cover;
  display:block;
  border-radius:10px;
  box-shadow:0 8px 18px rgba(0,0,0,.15);
}
.split-text{
  max-width:520px;
}

.split-text h2{
  max-width:460px;
  line-height:1.15;
  margin-bottom:18px;
}

.split-text p{
  max-width:470px;
  line-height:1.6;
  margin-bottom:24px;
}

.road-preview{
  margin-top:26px;
  width:100%;
  max-width:430px;
}

.road-preview img{
  width:100%;
  height:95px;
  object-fit:cover;
  display:block;
  border-radius:10px;
  box-shadow:0 8px 18px rgba(0,0,0,.16);
}
.challenge-split{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:50px;
  align-items:center;
}

.road-header{
  width:100%;
  height:135px;
  object-fit:cover;
  display:block;
  border-radius:12px;
  margin-bottom:28px;
  box-shadow:0 8px 18px rgba(0,0,0,.15);
}

.challenge-left h2{
  line-height:1.15;
  margin-bottom:18px;
}

.challenge-left p{
  line-height:1.6;
  margin-bottom:24px;
}

.challenge-right{
  display:block;
}

.challenge-right img{
  width:100%;
  max-width:520px;
  display:block;
  margin:0 auto;
  border-radius:14px;
  box-shadow:0 12px 30px rgba(0,0,0,.14);
  transition:transform .25s ease, box-shadow .25s ease;
}

.challenge-right img:hover{
  transform:scale(1.02);
  box-shadow:0 18px 40px rgba(0,0,0,.2);
}

@media(max-width:800px){
  .challenge-split{
    grid-template-columns:1fr;
  }
}
.cta .button{
    margin-top:30px;
}
.dark-band .container > p{
  max-width:900px;
  margin:0 auto;
  text-align:center;
}