/* V7.18: clear invitation hierarchy and a compact, personal application. */
.application{background:var(--cream);color:var(--brand);padding:var(--section-space) 0}
.application-shell{width:min(var(--content-max),calc(100% - 2 * var(--gutter)));margin:0 auto}
.application h2{margin:0 0 var(--heading-gap);font-size:var(--text-section);line-height:var(--leading-section);font-weight:var(--weight-title);letter-spacing:var(--tracking-section)}
.application-layout{display:grid;gap:var(--space-8);align-items:start}
.application-intro{min-width:0;max-width:42ch}
.application-invite{margin:0 0 var(--copy-gap);max-width:24ch;font-size:var(--text-title);line-height:var(--leading-title);font-weight:var(--weight-title);letter-spacing:var(--tracking-title);text-wrap:balance}
.application-description{margin:0;color:var(--copy);font-size:var(--text-body);line-height:var(--leading-body);text-wrap:pretty}
.application-format{display:flex;flex-wrap:wrap;gap:var(--space-1) var(--space-2);margin:var(--space-4) 0 0;color:var(--copy);font-size:var(--text-caption);line-height:var(--leading-caption)}
.application-format span + span::before{content:'·';display:inline-block;margin-right:var(--space-2)}
.application-form-area{min-width:0}
.application-form-intro{margin:0 0 var(--space-4);font-size:var(--text-caption);line-height:var(--leading-caption);color:var(--copy)}
.application-form[hidden],.application-preview[hidden],.application-error[hidden],.application-errors[hidden]{display:none}
.application-form{display:grid;gap:var(--space-6)}
.application-field{min-width:0;margin:0;padding:0;border:0}
.application-field > label,.application-field > legend{display:block;padding:0;margin:0 0 var(--space-2);font-size:var(--text-body);line-height:var(--leading-body);font-weight:var(--weight-label)}
.application-field > legend{float:left;width:100%}
.application-field > legend + *{clear:both}
.application-hint{margin:0 0 var(--space-3);color:var(--copy);font-size:var(--text-caption);line-height:var(--leading-caption)}
.application-input{display:block;width:100%;min-width:0;min-height:48px;padding:var(--space-3);border:1px solid var(--muted);border-radius:2px;background:transparent;color:var(--brand);font-family:inherit;font-size:var(--text-input);line-height:var(--leading-body)}
textarea.application-input{min-height:112px;resize:vertical}
.application-input:focus{outline:2px solid var(--brand);outline-offset:2px}
.application-input[aria-invalid="true"]{border-color:#8E3131}
.application-options{display:grid;gap:var(--space-1)}
.application-option{display:flex;align-items:center;gap:var(--space-3);min-height:44px;padding:var(--space-2) var(--space-3);border-radius:2px;cursor:pointer;font-size:var(--text-body);line-height:var(--leading-body)}
.application-option:hover{background:rgb(220 221 214 / 35%)}
.application-option:has(input:checked){background:var(--neutral);box-shadow:inset 2px 0 0 var(--brand)}
.application-option input{flex:0 0 18px;width:18px;height:18px;margin:0;accent-color:var(--brand);cursor:pointer}
.application-option input:focus-visible{outline:2px solid var(--brand);outline-offset:4px}
.application-option span{min-width:0;text-wrap:pretty}
.application-error{margin:var(--space-2) 0 0;color:#8E3131;font-size:var(--text-body);line-height:var(--leading-body)}
.application-errors{padding:var(--space-4);border:2px solid #8E3131;color:var(--brand)}
.application-errors:focus{outline:2px solid var(--brand);outline-offset:4px}
.application-errors p{margin:0 0 var(--space-2);font-size:var(--text-lead);line-height:var(--leading-lead);font-weight:var(--weight-label)}
.application-errors ul{margin:0;padding-left:var(--space-5);font-size:var(--text-body);line-height:var(--leading-body)}
.application-errors a{color:#8E3131;text-underline-offset:3px}
.application-submit,.application-edit{justify-self:start;display:inline-flex;align-items:center;justify-content:center;min-width:180px;min-height:46px;padding:var(--space-3) var(--space-5);border:1px solid var(--brand);border-radius:2px;background:var(--brand);color:var(--cream);font-family:inherit;font-size:11px;font-weight:700;line-height:1.4;letter-spacing:.16em;cursor:pointer}
.application-submit:hover{background:#303330}
.application-submit:focus-visible,.application-edit:focus-visible{outline:2px solid var(--brand);outline-offset:4px}
.application-submit:disabled{opacity:.5;cursor:default}
.application-form-end{display:grid;gap:var(--space-3);padding-top:var(--space-2)}
.application-form-end p{margin:0;color:var(--copy);font-size:var(--text-caption);line-height:var(--leading-caption)}
.application-preview{padding:var(--space-6);background:var(--neutral)}
.application-preview h3{margin:0 0 var(--copy-gap);font-size:var(--text-title);line-height:var(--leading-title);font-weight:var(--weight-title);letter-spacing:var(--tracking-title)}
.application-preview h3:focus{outline:2px solid var(--brand);outline-offset:6px}
.application-preview > p{margin:0 0 var(--space-6);font-size:var(--text-body);line-height:var(--leading-body);color:var(--copy)}
.application-preview dl{display:grid;gap:var(--space-5);margin:0 0 var(--space-8)}
.application-preview dt{margin:0 0 var(--space-1);font-size:var(--text-caption);line-height:var(--leading-caption);font-weight:var(--weight-label)}
.application-preview dd{margin:0;font-size:var(--text-body);line-height:var(--leading-body);overflow-wrap:anywhere;white-space:pre-wrap}
.application-edit{background:transparent;color:var(--brand)}
.application-edit:hover{background:var(--cream)}
.application:focus{outline:0}
.apply[href="#apply"]{text-decoration:none}
@media(min-width:800px){
 .application-layout{grid-template-columns:minmax(0,.85fr) minmax(0,1fr);gap:var(--space-16)}
 .application-intro{padding-top:var(--space-1)}
 .application-form-area{width:100%;max-width:540px;justify-self:end}
 .application-form{gap:var(--space-8)}
 .application-preview{padding:var(--space-8)}
}

/* V7.26: secondary enquiry contact below the application. */
.application-contact{margin-top:var(--space-6);color:var(--copy);font-size:var(--text-control);line-height:var(--leading-body)}
.application-contact p{margin:0;text-wrap:pretty}
.application-contact a{display:flex;align-items:center;width:fit-content;max-width:100%;min-height:44px;color:var(--brand);text-underline-offset:4px}
