.involved-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  background: var(--ivory);
  color: var(--black);
  padding: 90px 6.7vw;
}

.involved-grid article {
  min-height: 380px;
  padding: 42px;
  border: 1px solid #aaa69f;
  margin: -1px 0 0 -1px;
  display: flex;
  flex-direction: column;
  position: relative;
  transition: background-color .25s ease;
}

.involved-grid article:hover { background: #f8f5ef; }

.involved-grid article > span {
  font-size: 10px;
  letter-spacing: .2em;
  text-transform: uppercase;
  color: #777;
}

.involved-grid h2 {
  font: 400 clamp(2.2rem, 3.6vw, 4rem)/1 Georgia, serif;
  margin: 42px 0 20px;
}

.involved-grid p { max-width: 520px; color: #555; font-size: 16px; line-height: 1.65; }
.involved-grid small { display: block; color: #777; line-height: 1.5; margin-top: 5px; }

.involved-grid a {
  align-self: flex-start;
  margin-top: auto;
  padding-bottom: 8px;
  border-bottom: 1px solid #777;
  font-size: 10px;
  letter-spacing: .16em;
  text-transform: uppercase;
}

.involved-grid a::after { content: ""; inset: 0; position: absolute; }
.involved-grid article:has(a:focus-visible) { outline: 2px solid var(--red); outline-offset: -2px; }

.involved-close {
  padding: 150px 6.7vw;
  background: linear-gradient(135deg, #090909 55%, #25060b);
  text-align: center;
}

.involved-close h2 {
  font: 400 clamp(3.2rem, 6.5vw, 7.4rem)/.95 Georgia, serif;
  margin: 30px 0 48px;
}

.involved-close h2 em { font-weight: 400; color: #bd9260; }
.involved-close-copy { color: #aaa59e; font: 400 18px/1.7 Georgia, serif; margin: -18px auto 42px; max-width: 680px; }
.involved-close > div { display: flex; gap: 34px; justify-content: center; align-items: center; }

@media (max-width: 850px) {
  .involved-grid { grid-template-columns: 1fr; padding: 60px 24px; }
  .involved-grid article { min-height: 330px; padding: 35px 28px; }
  .involved-close { padding: 110px 24px; }
}

@media (max-width: 520px) {
  .involved-close > div { flex-direction: column; }
  .involved-grid h2 { margin-top: 30px; }
}

/* Official 2027 designer and nomination application. */
.application-page { background: #fefefe; color: #080808; }
.application-intro { background: #0a0a09; color: #f6f2eb; padding: 105px 6.7vw 90px; }
.application-intro h1 { font: 400 clamp(3.7rem, 7vw, 7.8rem)/.92 Georgia, serif; letter-spacing: -.052em; margin: 26px 0 34px; }
.application-intro h1 em { color: var(--sculpture); font-weight: 400; }
.application-intro > p:last-child { color: #aaa59e; font-size: 17px; line-height: 1.75; max-width: 760px; }

.application-alert { background: #8b0f24; color: #fff; font-size: 16px; padding: 22px 6.7vw; }
.application-form-section { display: grid; gap: 7vw; grid-template-columns: minmax(270px, .7fr) minmax(520px, 1.3fr); padding: 110px 6.7vw 140px; }
.application-guidance { align-self: start; position: sticky; top: 110px; }
.application-guidance h2 { font: 400 clamp(2.9rem, 4.5vw, 5.2rem)/.96 Georgia, serif; letter-spacing: -.045em; margin: 25px 0 40px; }
.application-guidance h2 em { color: var(--sculpture); font-weight: 400; }
.application-guidance ul { border-top: 1px solid #c9c4bd; list-style: none; margin: 0; padding: 0; }
.application-guidance li { border-bottom: 1px solid #c9c4bd; color: #5c5650; font-size: 15px; line-height: 1.55; padding: 15px 0; }
.application-deadline { margin-top: 38px; }
.application-deadline span { color: #77716a; display: block; font-size: 11px; letter-spacing: .15em; margin-bottom: 9px; text-transform: uppercase; }
.application-deadline strong { font: 400 1.45rem/1.3 Georgia, serif; }

.lfa-application-form fieldset { border: 0; border-top: 1px solid #aaa49c; margin: 0 0 55px; padding: 28px 0 0; }
.lfa-application-form legend { font-size: 12px; font-weight: 700; letter-spacing: .17em; padding: 0 18px 0 0; text-transform: uppercase; }
.application-fields { display: grid; gap: 27px; }
.application-fields.two-column { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.application-fields label { color: #322e2a; display: grid; font-size: 13px; font-weight: 700; gap: 10px; letter-spacing: .04em; }
.application-fields label b { color: var(--red); display: inline; }
.application-fields input,
.application-fields select,
.application-fields textarea { appearance: none; background: #f7f5f1; border: 1px solid #c9c4bd; border-radius: 0; color: #080808; font: 400 16px/1.5 Arial, sans-serif; min-height: 52px; padding: 13px 15px; width: 100%; }
.application-fields textarea { min-height: 170px; resize: vertical; }
.application-fields input:focus,
.application-fields select:focus,
.application-fields textarea:focus,
.application-upload input:focus { border-color: var(--red); outline: 2px solid rgba(139,15,36,.18); outline-offset: 1px; }
.application-fields label small { color: #77716a; font-size: 12px; font-weight: 400; line-height: 1.55; }

.application-choice-grid { display: grid; gap: 18px; grid-template-columns: repeat(2, 1fr); }
.application-choice-grid > label { cursor: pointer; display: grid; grid-template-columns: 20px 1fr; padding: 25px; border: 1px solid #c9c4bd; }
.application-choice-grid input { accent-color: var(--red); margin-top: 4px; }
.application-choice-grid span { color: #625c55; font-size: 14px; line-height: 1.55; }
.application-choice-grid strong { color: #080808; display: block; font: 400 1.3rem/1.15 Georgia, serif; margin-bottom: 10px; }
.application-choice-grid > label:has(input:checked) { background: #f3efe8; border-color: var(--red); }

.application-upload { background: #f3f0ea; border: 1px dashed #8d867d; padding: 30px; }
.application-upload label { display: block; margin-bottom: 20px; }
.application-upload label strong { display: block; font: 400 1.5rem/1.25 Georgia, serif; margin-bottom: 8px; }
.application-upload label span { color: #625c55; display: block; font-size: 14px; line-height: 1.55; }
.application-upload input { background: #fff; border: 1px solid #c9c4bd; color: #302d29; font-size: 14px; max-width: 100%; padding: 12px; width: 100%; }
.application-upload .upload-feedback { color: #746e67; font-size: 12px; margin: 12px 0 0; }
.application-upload-fieldset > p { color: #746e67; font-size: 12px; line-height: 1.55; }
.application-consent { align-items: start; color: #514c46; display: grid; font-size: 14px; gap: 14px; grid-template-columns: 20px 1fr; line-height: 1.6; margin: 0 0 18px; }
.application-consent input { accent-color: var(--red); height: 18px; margin-top: 2px; width: 18px; }
.application-page .button.dark { background: #0a0a09; color: #f6f2eb; transition: background-color .2s ease; }
.application-page .button.dark:hover { background: var(--red); }
.application-submit { border: 0; cursor: pointer; font-weight: 700; min-height: 58px; }
.application-final-note { color: #746e67; font-size: 12px; line-height: 1.6; margin-top: 24px; max-width: 720px; }
.application-honeypot { left: -10000px; position: absolute; }

.application-result { margin: 110px auto 140px; max-width: 880px; padding: 80px 6vw; text-align: center; }
.application-result.success { background: #f2efe9; border-top: 3px solid var(--red); }
.application-result h2 { font: 400 clamp(2.8rem, 5vw, 5.5rem)/.98 Georgia, serif; letter-spacing: -.04em; }
.application-result > p:not(.section-label) { color: #5c5650; font-size: 16px; line-height: 1.7; margin: 24px auto; max-width: 680px; }
.application-reference strong { color: #080808; letter-spacing: .08em; }

@media (max-width: 900px) {
  .application-intro { padding: 100px 24px 75px; }
  .application-form-section { gap: 65px; grid-template-columns: 1fr; padding: 85px 24px 110px; }
  .application-guidance { position: static; }
}

@media (max-width: 600px) {
  .application-intro h1 { font-size: clamp(3.2rem, 14vw, 4.6rem); }
  .application-fields.two-column,
  .application-choice-grid { grid-template-columns: 1fr; }
  .application-result { margin: 70px 20px 95px; padding: 55px 24px; }
}
