/* ===== Application — the sealed invitation experience ===== */
.apply-stage{position:relative;min-height:100vh;display:flex;align-items:center;padding:120px 0 90px;overflow:hidden}
.apply-stage .bg{position:absolute;inset:0;background:var(--teal-black) center/cover;transform:scale(1.05)}
.apply-stage .scrim{position:absolute;inset:0;background:
  radial-gradient(80% 70% at 50% 38%,rgba(13,44,40,.30),rgba(8,26,23,.86) 78%),
  linear-gradient(180deg,rgba(8,26,23,.7),rgba(8,26,23,.78))}
.apply-stage .grainlayer{position:absolute;inset:0;background:url(grain.png);opacity:.55;mix-blend-mode:overlay}

.apply-panel{position:relative;z-index:2;width:100%;max-width:660px;margin:0 auto;text-align:center;
  background:rgba(10,32,29,.5);backdrop-filter:blur(7px);
  border:1px solid rgba(194,162,78,.22);border-radius:4px;padding:50px 48px 46px;box-shadow:0 30px 90px rgba(0,0,0,.45)}

.seal{width:82px;height:82px;margin:0 auto 20px;border:1px solid var(--gold);border-radius:50%;
  display:flex;align-items:center;justify-content:center;position:relative}
.seal::after{content:"";position:absolute;inset:-9px;border:1px solid rgba(194,162,78,.35);border-radius:50%;animation:halo 3.2s ease-out infinite}
.seal img{width:44px;height:44px}
@keyframes halo{0%{transform:scale(1);opacity:.55}70%{transform:scale(1.22);opacity:0}100%{opacity:0}}

.places-label{font-size:11px;letter-spacing:.26em;text-transform:uppercase;color:var(--gold);font-weight:600}
.scarcity{display:flex;gap:7px;justify-content:center;margin:16px 0 4px}
.scarcity i{width:9px;height:9px;transform:rotate(45deg);background:rgba(243,238,226,.16);transition:.3s}
.scarcity i.open{background:var(--gold);box-shadow:0 0 9px rgba(194,162,78,.85)}

.apply-panel h1{font-family:var(--display);font-size:clamp(32px,5vw,50px);color:var(--cream);margin:16px 0 10px;line-height:1.05}
.apply-intro{color:var(--cream-dim);font-family:var(--serif);font-style:italic;font-size:19px;margin:0 auto;max-width:460px}

.steps-prog{display:flex;gap:22px;justify-content:center;margin:28px 0 4px}
.steps-prog span{font-family:var(--display);font-size:13px;letter-spacing:.24em;color:rgba(243,238,226,.32);transition:color .3s}
.steps-prog span.active{color:var(--gold)}
.steps-prog span.done{color:var(--cream-dim)}

.applyform{margin-top:14px}
.astep{display:none;text-align:left}
.astep.active{display:block;animation:stepIn .55s ease}
@keyframes stepIn{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}
.astep .caption{font-family:var(--serif);font-style:italic;color:var(--gold-lt);font-size:16px;text-align:center;margin-bottom:26px}

.afield{margin-bottom:26px}
.afield label{display:block;font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--gold);font-weight:600;margin-bottom:10px}
.afield input,.afield select,.afield textarea{width:100%;background:transparent;border:0;border-bottom:1px solid rgba(194,162,78,.35);
  color:var(--cream);font-family:var(--serif);font-size:21px;padding:8px 2px;transition:border-color .25s}
.afield input::placeholder,.afield textarea::placeholder{color:rgba(243,238,226,.32)}
.afield input:focus,.afield select:focus,.afield textarea:focus{outline:none;border-color:var(--gold)}
.afield select{appearance:none;-webkit-appearance:none;cursor:pointer}
.afield select option{background:#0c2723;color:var(--cream);font-family:var(--sans);font-size:15px}
.afield textarea{resize:none;min-height:64px;line-height:1.4}

.astep-nav{display:flex;justify-content:space-between;align-items:center;margin-top:32px;gap:16px}
.ghost{background:none;border:0;color:var(--cream-dim);font-family:var(--sans);font-size:12px;letter-spacing:.14em;text-transform:uppercase;cursor:pointer;padding:8px 0}
.ghost:hover{color:var(--gold)}
.ghost.hide{visibility:hidden}

.apply-foot{margin-top:26px;font-size:12px;color:var(--cream-dim);letter-spacing:.02em}
.apply-alt{margin-top:18px}
.apply-alt a{color:var(--gold);font-size:12px;letter-spacing:.12em;text-transform:uppercase;font-weight:600}

/* the sealed confirmation */
.await{position:fixed;inset:0;z-index:300;background:radial-gradient(circle at 50% 38%,#103029,#07201c 72%);
  display:flex;align-items:center;justify-content:center;text-align:center;opacity:0;pointer-events:none;transition:opacity .9s ease}
.await.show{opacity:1;pointer-events:auto}
.await .inner{max-width:520px;padding:40px;transform:translateY(16px);transition:transform 1s ease}
.await.show .inner{transform:none}
.await .ring{width:120px;height:120px;margin:0 auto 26px;position:relative;display:flex;align-items:center;justify-content:center}
.await .ring svg{position:absolute;inset:0;width:120px;height:120px;transform:rotate(-90deg)}
.await .ring circle{fill:none;stroke:var(--gold);stroke-width:1;stroke-dasharray:364;stroke-dashoffset:364}
.await.show .ring circle{animation:draw 1.6s .3s ease forwards}
@keyframes draw{to{stroke-dashoffset:0}}
.await .ring img{width:58px;height:58px;opacity:0;animation:none}
.await.show .ring img{animation:fadeIn 1s 1.1s ease forwards}
@keyframes fadeIn{to{opacity:1}}
.await .eyebrow{color:var(--gold);justify-content:center}
.await h2{font-family:var(--display);font-size:clamp(30px,5vw,46px);color:var(--cream);margin:14px 0 16px}
.await p{font-family:var(--serif);font-style:italic;font-size:20px;color:var(--cream-dim);line-height:1.45;max-width:440px;margin:0 auto}
.await .sig{margin-top:26px;font-size:12px;letter-spacing:.3em;text-transform:uppercase;color:var(--gold)}

@media(max-width:680px){.apply-panel{padding:38px 24px 34px}.afield input,.afield select,.afield textarea{font-size:19px}}

/* v3: seal + panel entrance */
.apply-panel{animation:panelIn 1s ease both}
@keyframes panelIn{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}
.seal{animation:sealIn 1.1s .15s ease both}
@keyframes sealIn{from{opacity:0;transform:scale(.82)}to{opacity:1;transform:none}}
@media(prefers-reduced-motion:reduce){.apply-panel,.seal{animation:none}}

/* v4: Step-I reassurance hint + Step-II concern chips */
.astep-hint{font-family:var(--serif);font-style:italic;font-size:14.5px;color:var(--cream-dim);text-align:center;margin:2px 0 6px;line-height:1.4}
.afield .opt{color:var(--cream-dim);font-weight:400;letter-spacing:.04em;text-transform:none;font-size:10px}
.afield .chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:2px}
.chips .chip{position:relative;display:inline-flex;margin:0;cursor:pointer}
.chips .chip input{position:absolute;opacity:0;width:0;height:0}
.chips .chip span{display:inline-block;padding:8px 14px;border:1px solid rgba(194,162,78,.35);border-radius:999px;font-family:var(--sans);font-size:12.5px;letter-spacing:.02em;text-transform:none;color:var(--cream-dim);transition:.2s ease}
.chips .chip span:hover{border-color:var(--gold);color:var(--cream)}
.chips .chip input:checked + span{background:var(--gold);border-color:var(--gold);color:var(--teal-black);font-weight:600}
.chips .chip input:focus-visible + span{outline:2px solid var(--gold-lt);outline-offset:2px}
