/* Apply page + utility pages */
.apply__back { font: 500 .68rem/1 var(--sans); letter-spacing: .24em; text-transform: uppercase; text-decoration: none; color: var(--stone-2); padding: 12px 0; }
.apply__back:hover { color: var(--bone); }
.apply { position: relative; padding: 130px 0 120px; min-height: 100svh; overflow: hidden; }
.apply__media { position: absolute; inset: 0 0 auto; height: 80svh; opacity: .32; }
.apply__media img { width: 100%; height: 100%; object-fit: cover; }
.apply__media::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(11,10,9,.3), var(--ink)); }
.apply__grid { position: relative; display: grid; gap: 64px; }
.apply__intro .display { font-size: clamp(3rem, 12vw, 6.6rem); }
.apply__lede { margin-top: 28px; font: 400 clamp(1.3rem, 4.6vw, 1.7rem)/1.35 var(--serif); color: var(--stone-2); max-width: 28em; }
.apply__steps { margin-top: 40px; display: grid; grid-template-columns: repeat(4, 1fr); gap: 10px; }
.apply__steps li { padding-top: 12px; border-top: 1px solid rgba(233,226,214,.2); font: 500 1.05rem/1.2 var(--serif); text-transform: uppercase; }
.apply__steps li:first-child { border-color: var(--sand); }
.apply__steps b { display: block; font: 500 .6rem/1 var(--sans); letter-spacing: .2em; color: var(--sand); margin-bottom: 8px; }
.apply__note { margin-top: 32px; color: var(--stone); font-size: .95rem; }

.apply__form { display: grid; gap: 30px; }
.apply__form fieldset { border: 0; padding: 0; margin: 0; }
.apply__form legend, .field > span { display: block; margin-bottom: 12px; font: 500 .68rem/1.5 var(--sans); letter-spacing: .2em; text-transform: uppercase; color: var(--stone-2); }
.field em, legend em { font-style: normal; color: var(--stone); letter-spacing: .1em; text-transform: none; }
.field { display: block; }
.field input, .field textarea {
  width: 100%; background: transparent; color: var(--bone); border: 0; border-bottom: 1px solid rgba(233,226,214,.28); border-radius: 0;
  font: 400 1.3rem/1.4 var(--serif); padding: 10px 0; -webkit-appearance: none; appearance: none; transition: border-color .4s;
}
.field textarea { resize: vertical; min-height: 96px; border: 1px solid rgba(233,226,214,.18); padding: 14px 16px; }
.field input:focus, .field textarea:focus { outline: none; border-color: var(--sand); }
.field ::placeholder { color: #5f594f; }
.field-row { display: grid; gap: 30px; }
.apply__intent label, .apply__scale label { display: flex; align-items: center; gap: 14px; cursor: pointer; }
.apply__intent { display: grid; gap: 10px; }
.apply__intent label { padding: 18px 20px; border: 1px solid rgba(233,226,214,.18); transition: border-color .4s, background .4s; }
.apply__intent label:has(input:checked) { border-color: var(--sand); background: rgba(176,141,99,.08); }
.apply__intent span { font: 400 1.2rem/1.3 var(--serif); }
.apply__form input[type=radio] { width: 18px; height: 18px; accent-color: #b08d63; flex: none; }
.apply__scale div { display: grid; grid-template-columns: repeat(3, 1fr); gap: 8px; }
.apply__scale label { justify-content: center; padding: 16px 8px; border: 1px solid rgba(233,226,214,.18); font: 500 .7rem/1 var(--sans); letter-spacing: .16em; text-transform: uppercase; }
.apply__scale label:has(input:checked) { border-color: var(--sand); color: var(--sand); }
.apply__scale input { position: absolute; opacity: 0; }
.apply__scale label:has(input:focus-visible) { outline: 1px solid var(--sand); outline-offset: 3px; }
.apply__form .btn { justify-self: stretch; }
.apply__fine { color: var(--stone); font-size: .85rem; }

@media (min-width: 720px) {
  .field-row { grid-template-columns: 1fr 1fr; }
  .apply__form .btn { justify-self: start; }
}
@media (min-width: 1024px) {
  .apply { padding-top: 170px; }
  .apply__grid { grid-template-columns: .9fr 1.1fr; gap: 110px; align-items: start; }
  .apply__intro { position: sticky; top: 140px; }
}

/* Thanks / 404 */
.simple { min-height: 100svh; display: grid; place-items: center; text-align: center; padding: 120px var(--gutter); position: relative; overflow: hidden; }
.simple__bg { position: absolute; inset: 0; opacity: .5; }
.simple__bg img { width: 100%; height: 100%; object-fit: cover; }
.simple__bg::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, var(--ink), rgba(11,10,9,.4) 50%, var(--ink)); }
.simple__inner { position: relative; display: grid; justify-items: center; gap: 26px; max-width: 40rem; }
.simple .mark { width: 110px; }
.simple h1 { font-size: clamp(2.8rem, 11vw, 6rem); }
.simple p { font: 400 clamp(1.25rem, 4.4vw, 1.6rem)/1.4 var(--serif); color: var(--stone-2); }
