:root{
  --ap-green:#2f8a43;
  --ap-green-dark:#236b31;
  --ap-navy:#092a32;
  --ap-blue:#0e637c;
  --ap-gold:#d1a15a;
  --ap-brown:#4c371a;
  --ap-paper:#f6f4ef;
  --ap-surface:#ffffff;
  --ap-line:#e7e2d8;
  --ap-muted:#667069;
  --ap-danger:#a83f39;
  --ap-ease:cubic-bezier(.16,1,.3,1);
}
*{box-sizing:border-box}
html{background:var(--ap-paper)}
body{
  min-height:100vh;
  margin:0;
  background:var(--ap-paper);
  color:#20251f;
  font-family:"Segoe UI",Arial,sans-serif;
  letter-spacing:0;
}
button,input,select{font:inherit}
button{cursor:pointer}
.ap-topbar{
  min-height:92px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:24px;
  padding:14px max(24px,calc((100vw - 1120px)/2));
  background:var(--ap-surface);
  border-bottom:1px solid var(--ap-line);
}
.ap-brand{display:flex;align-items:center;gap:13px;min-width:0}
.ap-brand img{width:64px;height:64px;object-fit:contain}
.ap-brand div{display:grid;gap:2px}
.ap-brand span{
  color:var(--ap-green);
  font-size:11px;
  font-weight:900;
  text-transform:uppercase;
}
.ap-brand strong{color:var(--ap-brown);font:500 20px/1.2 Georgia,"Times New Roman",serif}
.ap-event-badge{
  max-width:280px;
  padding:8px 12px;
  border:1px solid rgba(47,138,67,.28);
  border-radius:999px;
  background:#f2f8f3;
  color:var(--ap-green-dark);
  font-size:12px;
  font-weight:800;
  text-align:center;
}
.ap-layout{
  width:min(1120px,calc(100% - 40px));
  min-height:calc(100vh - 92px);
  margin:0 auto;
  display:grid;
  grid-template-columns:minmax(280px,.72fr) minmax(480px,1.28fr);
  gap:64px;
  align-items:center;
  padding:54px 0;
}
.ap-intro{
  position:relative;
  padding:18px 0 24px;
}
.ap-intro::before{
  content:"";
  display:block;
  width:54px;
  height:4px;
  margin-bottom:28px;
  background:var(--ap-gold);
}
.ap-eyebrow,.ap-step{
  margin:0;
  color:var(--ap-green);
  font-size:12px;
  font-weight:900;
  text-transform:uppercase;
}
.ap-intro h1{
  max-width:450px;
  margin:12px 0 18px;
  color:var(--ap-brown);
  font:500 42px/1.08 Georgia,"Times New Roman",serif;
  letter-spacing:0;
}
.ap-intro-copy{
  margin:0;
  color:var(--ap-muted);
  font-size:18px;
  line-height:1.5;
}
.ap-event-detail{
  display:grid;
  gap:4px;
  margin-top:48px;
  padding-top:18px;
  border-top:1px solid var(--ap-line);
}
.ap-event-detail span{color:var(--ap-muted);font-size:12px;font-weight:700}
.ap-event-detail strong{color:var(--ap-navy);font-size:15px}
.ap-form-surface{
  min-width:0;
  padding:34px;
  border:1px solid var(--ap-line);
  border-radius:8px;
  background:var(--ap-surface);
  box-shadow:0 16px 40px rgba(41,36,25,.10);
}
.ap-form-heading{display:grid;gap:6px;margin-bottom:26px}
.ap-form-heading h2,.ap-success h2{
  margin:0;
  color:var(--ap-brown);
  font:500 28px/1.2 Georgia,"Times New Roman",serif;
  letter-spacing:0;
}
.ap-fields{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:18px 16px;
}
.ap-field{display:grid;align-content:start;gap:7px;min-width:0}
.ap-field>span{color:#3f5145;font-size:13px;font-weight:800}
.ap-field input,.ap-field select{
  width:100%;
  min-width:0;
  min-height:48px;
  padding:11px 13px;
  border:1px solid #d9d8d0;
  border-radius:6px;
  outline:0;
  background:#fff;
  color:#20251f;
  transition:border-color 170ms var(--ap-ease),box-shadow 170ms var(--ap-ease);
}
.ap-field input::placeholder{color:#91978f}
.ap-field input:hover,.ap-field select:hover{border-color:#aeb6ac}
.ap-field input:focus-visible,.ap-field select:focus-visible{
  border-color:var(--ap-green);
  box-shadow:0 0 0 3px rgba(47,138,67,.16);
}
.ap-field input:invalid:not(:placeholder-shown){border-color:#d0a09c}
.ap-field select:disabled{background:#f2f2ee;color:#7b807a;cursor:wait}
.ap-fixed-value{
  min-height:48px;
  display:flex;
  align-items:center;
  gap:10px;
  padding:9px 12px;
  border:1px solid #d8e8da;
  border-radius:6px;
  background:#f4f9f5;
  overflow:hidden;
}
.ap-fixed-value small{
  flex:0 0 auto;
  padding:3px 6px;
  border-radius:4px;
  background:var(--ap-green);
  color:#fff;
  font-size:9px;
  font-weight:900;
}
.ap-fixed-value strong{
  min-width:0;
  overflow:hidden;
  color:var(--ap-green-dark);
  font-size:14px;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.ap-submit{
  width:100%;
  min-height:50px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  margin-top:26px;
  padding:12px 18px;
  border:0;
  border-radius:6px;
  background:var(--ap-green);
  color:#fff;
  font-weight:900;
  transition:background-color 180ms var(--ap-ease),transform 120ms var(--ap-ease),opacity 180ms var(--ap-ease);
}
.ap-submit:hover:not(:disabled){background:var(--ap-green-dark)}
.ap-submit:focus-visible{outline:3px solid rgba(47,138,67,.25);outline-offset:3px}
.ap-submit:active:not(:disabled){transform:scale(.98)}
.ap-submit:disabled{opacity:.6;cursor:not-allowed}
.ap-submit i{display:none;width:17px;height:17px;border:2px solid rgba(255,255,255,.45);border-top-color:#fff;border-radius:50%;animation:ap-spin 700ms linear infinite}
.ap-submit.is-loading i{display:block}
.ap-privacy{margin:14px 0 0;color:var(--ap-muted);font-size:11px;text-align:center}
.ap-status{
  align-items:center;
  justify-content:space-between;
  gap:12px;
  margin:0 0 18px;
  padding:12px 13px;
  border:1px solid #ecc8c5;
  border-radius:6px;
  background:#fff4f3;
  color:var(--ap-danger);
  font-size:13px;
  font-weight:700;
}
.ap-status:not([hidden]){display:flex}
.ap-status-action{
  min-height:34px;
  padding:0 10px;
  border:1px solid currentColor;
  border-radius:4px;
  background:transparent;
  color:inherit;
  font-size:12px;
  font-weight:900;
}
.ap-honeypot{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;overflow:hidden!important}
.ap-success{
  min-height:440px;
  align-content:center;
  justify-items:center;
  text-align:center;
}
.ap-success:not([hidden]){display:grid}
.ap-success-mark{
  width:58px;
  height:58px;
  display:grid;
  place-items:center;
  margin-bottom:20px;
  border:1px solid rgba(47,138,67,.35);
  border-radius:50%;
  background:#edf7ef;
  color:var(--ap-green);
  font-size:28px;
  font-weight:900;
}
.ap-success p:not(.ap-step){max-width:380px;margin:12px 0 2px;color:var(--ap-muted);line-height:1.55}
.ap-success .ap-submit{max-width:330px;margin-top:28px}
@keyframes ap-spin{to{transform:rotate(360deg)}}
@media(max-width:820px){
  .ap-topbar{min-height:78px;padding:10px 16px}
  .ap-brand img{width:54px;height:54px}
  .ap-brand strong{font-size:18px}
  .ap-event-badge{display:none}
  .ap-layout{
    width:min(100% - 24px,620px);
    min-height:auto;
    grid-template-columns:1fr;
    gap:22px;
    padding:28px 0 36px;
  }
  .ap-intro{padding:0}
  .ap-intro::before{width:44px;margin-bottom:18px}
  .ap-intro h1{max-width:560px;margin:9px 0 8px;font-size:32px}
  .ap-intro-copy{font-size:15px}
  .ap-event-detail{display:none}
  .ap-form-surface{padding:24px 18px}
}
@media(max-width:560px){
  .ap-fields{grid-template-columns:1fr;gap:15px}
  .ap-form-heading{margin-bottom:20px}
  .ap-form-heading h2,.ap-success h2{font-size:25px}
  .ap-form-surface{box-shadow:0 10px 28px rgba(41,36,25,.08)}
}
@media(prefers-reduced-motion:reduce){
  *,*::before,*::after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}
}
