.apply-page{
  --apply-bg:var(--bg);
  --apply-card:rgba(255, 255, 255, .34);
  --apply-control:var(--paper);
  --apply-text:var(--fg);
  --apply-label:var(--fg);
  --apply-muted:rgba(123, 74, 29, .85);
  --apply-panel-border:var(--hair);
  --apply-border:rgba(123, 74, 29, .65);
  --apply-focus:var(--accent-text);
  --apply-error:#982f25;
  min-height:100%;
  padding:calc(var(--header-padding) + var(--header-padding) + var(--wordmark-height) + 1px + 24px) 20px clamp(32px, 6vw, 80px);
  color:var(--apply-text);
  background:var(--apply-bg);
}

.apply-page *,
.apply-page *::before,
.apply-page *::after{
  box-sizing:border-box;
}

.apply-page .application-shell{
  width:min(100%, 1040px);
  margin-inline:auto;
}

.apply-page .application-intro{
  max-width:720px;
  margin:0 auto clamp(24px, 4vw, 40px);
  text-align:center;
}

.apply-page .application-intro h1{
  margin:0 0 12px;
  color:var(--apply-text);
  font-family:"Lora", serif;
  font-weight:300;
  font-size:clamp(2rem, 5vw, 3.5rem);
  line-height:1.05;
}

html[dir="rtl"] .apply-page .application-intro h1{
  font-family:"Cairo", system-ui, sans-serif;
  letter-spacing:0;
}

.apply-page .application-intro p{
  margin:0;
  color:var(--dim);
  font-size:clamp(1rem, 2vw, 1.125rem);
  line-height:1.6;
}

.apply-page .application-card{
  width:100%;
  max-width:960px;
  margin-inline:auto;
  padding:clamp(24px, 5vw, 48px);
  border:1px solid var(--apply-panel-border);
  border-radius:16px;
  background:var(--apply-card);
}

.apply-page .application-grid{
  display:grid;
  grid-template-columns:repeat(2, minmax(0, 1fr));
  gap:22px 24px;
}

.apply-page .form-field{
  min-width:0;
}

.apply-page .form-field--full{
  grid-column:1 / -1;
}

.apply-page .form-field label,
.apply-page .field-label{
  display:block;
  margin:0 0 8px;
  color:var(--apply-label);
  font-weight:600;
  line-height:1.35;
}

.apply-page :is(input:not([type="file"]), select, textarea){
  width:100%;
  min-height:48px;
  border:1px solid var(--apply-border);
  border-radius:10px;
  padding:11px 14px;
  color:var(--apply-text);
  background:var(--apply-control);
  font:inherit;
  line-height:1.4;
}

.apply-page textarea{
  min-height:120px;
  resize:vertical;
}

.apply-page select{
  cursor:pointer;
}

.apply-page .iti{
  width:100%;
}

.apply-page .field-help,
.apply-page .file-status{
  margin:7px 0 0;
  color:var(--apply-muted);
  font-size:.875rem;
  line-height:1.45;
}

.apply-page .upload-box{
  position:relative;
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  justify-content:center;
  gap:10px 14px;
  min-height:112px;
  padding:18px;
  border:2px dashed var(--apply-border);
  border-radius:14px;
  color:var(--apply-text);
  background:var(--apply-control);
  text-align:center;
}

.apply-page input[type="file"]{
  position:absolute;
  width:1px;
  height:1px;
  margin:-1px;
  padding:0;
  overflow:hidden;
  clip:rect(0 0 0 0);
  clip-path:inset(50%);
  white-space:nowrap;
  border:0;
}

.apply-page .file-trigger,
.apply-page .retry-button,
.apply-page .submit-button{
  display:inline-flex;
  min-height:48px;
  align-items:center;
  justify-content:center;
  border-radius:999px;
  padding:11px 24px;
  font:inherit;
  font-weight:700;
  line-height:1.2;
  cursor:pointer;
}

.apply-page .file-trigger,
.apply-page .retry-button{
  border:1px solid var(--apply-border);
  color:var(--apply-text);
  background:var(--apply-card);
}

.apply-page :is(input, select, textarea, button, .file-trigger):focus-visible,
.apply-page .upload-box:focus-within{
  outline:2px solid var(--apply-focus);
  outline-offset:3px;
}

.apply-page [aria-invalid="true"]{
  border-color:var(--apply-error);
}

.apply-page .field-error{
  display:none;
  align-items:flex-start;
  gap:7px;
  margin:7px 0 0;
  color:var(--apply-error);
  font-size:.875rem;
  font-weight:700;
  line-height:1.45;
}

.apply-page .field-error::before{
  content:"!";
  display:inline-grid;
  width:18px;
  height:18px;
  flex:0 0 18px;
  place-items:center;
  border:1px solid currentColor;
  border-radius:50%;
  font-size:.75rem;
  line-height:1;
}

.apply-page .form-field.is-invalid .field-error,
.apply-page .field-error:not(:empty){
  display:flex;
}

.apply-page .form-field.is-invalid .upload-box{
  border-color:var(--apply-error);
}

.apply-page .submission-status,
.apply-page #submission-status{
  grid-column:1 / -1;
  min-height:48px;
  margin:0;
  padding:14px 16px;
  border:1px solid var(--apply-border);
  border-radius:12px;
  color:var(--apply-text);
  background:var(--apply-control);
  line-height:1.5;
}

.apply-page .submission-status--error{
  border-color:var(--apply-error);
  color:var(--apply-error);
  background:var(--apply-card);
}

.apply-page .submission-status[hidden],
.apply-page #submission-status[hidden],
.apply-page .application-grid[hidden],
.apply-page .retry-button[hidden]{
  display:none;
}

.apply-page .form-actions{
  grid-column:1 / -1;
  display:flex;
  justify-content:center;
  margin-top:6px;
}

.apply-page .submit-button{
  position:relative;
  overflow:hidden;
  min-width:min(100%, 240px);
  border:1px solid rgba(205, 162, 42, .48);
  color:var(--accent-text);
  background:transparent;
  transition:color .35s var(--ease), border-color .35s;
}

.apply-page .submit-button #submit-application-label{
  position:relative;
  z-index:1;
}

.apply-page .submit-button::before{
  content:"";
  position:absolute;
  inset:0;
  background:var(--accent);
  transform:translateY(101%);
  transition:transform .4s var(--ease);
}

.apply-page .submit-button:not([disabled]):hover,
.apply-page .submit-button:not([disabled]):focus-visible{
  color:var(--fg);
  border-color:var(--accent);
}

.apply-page .submit-button:not([disabled]):hover::before,
.apply-page .submit-button:not([disabled]):focus-visible::before{
  transform:translateY(0);
}

.apply-page :is(button, .file-trigger)[disabled],
.apply-page :is(button, .file-trigger)[aria-disabled="true"]{
  opacity:.55;
  cursor:not-allowed;
}

@media(max-width:820px){
  .apply-page{
    padding-top:calc(var(--header-padding) + var(--header-padding) + var(--wordmark-height) + 1px + 16px);
  }
}

@media(max-width:760px){
  .apply-page{
    padding:calc(var(--header-padding) + var(--header-padding) + var(--wordmark-height) + 1px + 16px) 14px 48px;
  }

  .apply-page .application-card{
    padding:22px 16px;
  }

  .apply-page .application-grid{
    grid-template-columns:minmax(0, 1fr);
    gap:18px;
  }

  .apply-page .form-field--full,
  .apply-page .submission-status,
  .apply-page #submission-status,
  .apply-page .form-actions{
    grid-column:1;
  }

  .apply-page :is(input:not([type="file"]), select, .file-trigger, .retry-button, .submit-button){
    min-height:48px;
  }

  .apply-page .file-trigger,
  .apply-page .retry-button,
  .apply-page .submit-button{
    width:100%;
  }
}

[dir="rtl"] .apply-page .field-error,
[dir="rtl"] .apply-page .file-status,
[dir="rtl"] .apply-page .submission-status,
[dir="rtl"] .apply-page #submission-status{
  text-align:right;
}

[dir="rtl"] .apply-page .field-error::before{
  direction:ltr;
}
