
:root{
  --navy:#132b4c;
  --gold:#c98a22;
  --blue:#1a4f8b;
  --paper:#f4f0ec;
  --ink:#2f2f33;
}
*{box-sizing:border-box}
html,body{margin:0;padding:0;font-family:Arial,Helvetica,sans-serif;color:var(--ink);background:#fff}
a{text-decoration:none}
.hero{
  min-height:100vh;
  display:flex;
  align-items:center;
  justify-content:center;
  text-align:center;
  position:relative;
  color:#fff;
  background-size:cover;
  background-position:center;
  padding:28px 18px;
}
.hero::before{
  content:"";
  position:absolute; inset:0;
  background:linear-gradient(rgba(17,12,36,.35), rgba(17,12,36,.28));
}
.hero-inner{position:relative; z-index:2; max-width:940px}
.logo-line{
  font-family:Georgia,"Times New Roman",serif;
  font-style:italic;
  font-size:clamp(2rem,5vw,4rem);
  line-height:1;
  margin-bottom:.2rem;
}
.logo-line .uptown{
  font-family:Arial,Helvetica,sans-serif;
  font-style:normal;
  font-weight:900;
  color:#8fc2ff;
  letter-spacing:.02em;
}
.tagline-top{
  font-size:clamp(1rem,2vw,1.55rem);
  margin:0 auto 1rem;
  border-top:1px solid rgba(255,255,255,.30);
  padding-top:.45rem;
  max-width:860px;
}
.headline{margin:.3rem 0 .75rem; line-height:1.05}
.headline .main{
  display:block;
  font-size:clamp(2.7rem,8vw,5.3rem);
  font-weight:900;
  text-shadow:0 3px 10px rgba(0,0,0,.34);
}
.headline .gold{
  color:#efc45b;
  font-family:Georgia,"Times New Roman",serif;
  font-style:italic;
  font-weight:500;
}
.headline .italic{
  display:block;
  font-family:Georgia,"Times New Roman",serif;
  font-style:italic;
  font-size:clamp(2.4rem,7vw,4.8rem);
  text-shadow:0 3px 10px rgba(0,0,0,.34);
}
.hero-sub{
  font-size:clamp(1rem,2.5vw,1.35rem);
  max-width:820px;
  margin:1rem auto 1.6rem;
  text-shadow:0 2px 8px rgba(0,0,0,.35);
}
.actions{
  display:flex;
  gap:14px;
  justify-content:center;
  flex-wrap:wrap;
}
.btn{
  display:inline-block;
  border:none;
  border-radius:6px;
  padding:15px 24px;
  min-width:280px;
  font-size:1rem;
  font-weight:800;
  cursor:pointer;
  box-shadow:0 3px 10px rgba(0,0,0,.18);
}
.btn-gold{background:var(--gold); color:#fff}
.btn-blue{background:var(--blue); color:#fff}

.section{
  padding:54px 18px;
  text-align:center;
}
.paper{background:var(--paper)}
.section h2{
  margin:0 0 1rem;
  font-size:clamp(2.2rem,6vw,4rem);
  color:#1d2230;
}
.section p{
  max-width:900px;
  margin:.55rem auto;
  line-height:1.5;
  font-size:1.05rem;
}
.ribbon{
  margin:28px auto 18px;
  max-width:1100px;
  background:#173964;
  color:#fff;
  padding:12px 14px;
  display:flex;
  flex-wrap:wrap;
  gap:18px;
  justify-content:center;
}
.grid{
  max-width:1100px;
  margin:22px auto 0;
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(160px,1fr));
  gap:14px;
}
.card{
  background:#fff;
  border-radius:6px;
  overflow:hidden;
  box-shadow:0 3px 10px rgba(0,0,0,.12);
}
.card img{display:block;width:100%;height:120px;object-fit:cover}
.card .cap{padding:12px;font-weight:700}
.footer{
  background:#173964;
  color:#fff;
  text-align:center;
  padding:24px 16px;
  font-size:.92rem;
}

.form-wrap{
  max-width:960px;
  margin:0 auto;
  background:#fff;
  border-radius:14px;
  overflow:hidden;
  box-shadow:0 10px 28px rgba(0,0,0,.12);
}
.form-hero{
  min-height:240px;
  display:flex;
  align-items:flex-end;
  background-size:cover;
  background-position:center;
  position:relative;
}
.form-hero::before{
  content:"";
  position:absolute; inset:0;
  background:linear-gradient(rgba(19,43,76,.18), rgba(19,43,76,.60));
}
.form-hero .overlay-text{
  position:relative;
  z-index:2;
  color:#fff;
  text-align:left;
  padding:24px;
}
.form-body{padding:24px}
.help-box{
  background:#f7efe1;
  border-left:5px solid var(--gold);
  padding:16px;
  border-radius:8px;
  text-align:left;
  margin-bottom:20px;
}
.form-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:16px;
}
.field{text-align:left;margin-bottom:14px}
.full{grid-column:1 / -1}
label{display:block;font-weight:700;margin-bottom:7px}
input,select,textarea{
  width:100%;
  padding:12px 13px;
  border:1px solid #cfcfcf;
  border-radius:8px;
  font-size:1rem;
}
textarea{min-height:130px;resize:vertical}
.article-panel{
  margin-top:22px;
  text-align:left;
  border-radius:12px;
  padding:22px;
  background:linear-gradient(135deg,#f5f1eb,#eadcc5);
}
.article-panel h3{margin-top:0}

.modal{
  position:fixed; inset:0;
  display:none;
  align-items:center;
  justify-content:center;
  background:rgba(12,12,18,.62);
  padding:16px;
  z-index:1000;
}
.modal.show{display:flex}
.modal-card{
  width:min(720px,100%);
  background:#fff;
  border-radius:18px;
  padding:24px 22px;
  box-shadow:0 18px 40px rgba(0,0,0,.26);
}
.modal-card h3{margin:0 0 12px;font-size:1.9rem;color:#1d2230}
.modal-card p{line-height:1.5;margin:.8rem 0}
.modal-actions{
  display:flex;
  flex-wrap:wrap;
  justify-content:flex-end;
  gap:12px;
  margin-top:16px;
}
.small-note{font-size:.95rem;color:#555}

@media (max-width:700px){
  .actions{flex-direction:column}
  .btn{width:100%;min-width:0}
  .form-grid{grid-template-columns:1fr}
}


.official-link-band {
  background: linear-gradient(180deg, rgba(255,255,255,0.06), rgba(255,255,255,0.02));
  padding: 22px 18px;
  margin: -18px auto 0;
  position: relative;
  z-index: 3;
}

.official-link-band__inner {
  max-width: 980px;
  margin: 0 auto;
  background: rgba(15, 33, 58, 0.88);
  border: 1px solid rgba(255,255,255,0.14);
  border-radius: 14px;
  padding: 18px 20px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  box-shadow: 0 8px 24px rgba(0,0,0,0.18);
}

.official-link-band__text {
  color: #ffffff;
}

.official-link-band__eyebrow {
  display: inline-block;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: #efc45b;
  margin-bottom: 6px;
}

.official-link-band__text p {
  margin: 0;
  font-size: 16px;
  line-height: 1.35;
}

.official-link-band__button {
  white-space: nowrap;
  background: #c98924;
  color: #ffffff;
  font-weight: 800;
  padding: 12px 18px;
  border-radius: 8px;
  box-shadow: 0 4px 12px rgba(0,0,0,0.18);
}

.footer-disclaimer {
  font-size: 12px;
  opacity: 0.8;
  margin-top: 8px;
}

@media (max-width: 720px) {
  .official-link-band__inner {
    flex-direction: column;
    align-items: flex-start;
  }

  .official-link-band__button {
    width: 100%;
    text-align: center;
  }
}
