.page-hero{
  padding:42px 0 28px 0;
}
.page-hero .banner{
  border-radius:28px;
  background:
    radial-gradient(900px 340px at 15% 25%, rgba(244,201,122,.55), transparent 70%),
    radial-gradient(700px 420px at 80% 65%, rgba(232,160,69,.30), transparent 72%),
    linear-gradient(135deg, rgba(255,255,255,.92), rgba(253,246,237,.96));
  border:1px solid rgba(61,43,31,.10);
  box-shadow:var(--shadow-warm);
  padding:26px 22px;
}
.page-hero .banner p{max-width:72ch}

.form-shell{
  display:grid;
  gap:18px;
  margin-top:16px;
}
.form-section{
  padding:20px;
  position:relative;
  overflow:hidden;
}
.form-section::before{
  content:"";
  position:absolute;
  inset:0 0 auto 0;
  height:6px;
  background:linear-gradient(90deg,var(--color-primary),var(--color-accent));
  opacity:.85;
}
.form-section .inner{padding-top:6px}
.form-section h3{margin:0 0 14px 0}
.form-grid{
  display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:16px 16px;
}
.form-grid.one{grid-template-columns:1fr}
@media (max-width:768px){.form-grid{grid-template-columns:1fr}}

.pill-grid{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
}
.pill{
  position:relative;
}
.pill input{
  position:absolute;
  opacity:0;
  pointer-events:none;
}
.pill label{
  display:inline-flex;
  align-items:center;
  gap:10px;
  padding:11px 14px;
  border-radius:999px;
  border:1px solid rgba(61,43,31,.14);
  background:var(--glass);
  font-weight:900;
  cursor:pointer;
  transition:transform .2s ease, background .2s ease, box-shadow .2s ease, border-color .2s ease;
}
.pill label:hover{transform:translateY(-1px);box-shadow:var(--shadow-warm)}
.pill input:checked + label{
  background:linear-gradient(135deg,rgba(244,201,122,.70),rgba(232,160,69,.35));
  border-color:rgba(232,160,69,.55);
  box-shadow:var(--shadow-warm-strong);
}
.pill input:focus-visible + label{outline:none;box-shadow:var(--shadow-warm-strong),var(--focus)}

.toggle-row{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  align-items:center;
}
.toggle{
  display:inline-flex;
  align-items:center;
  gap:10px;
  padding:10px 14px;
  border-radius:999px;
  border:1px solid rgba(61,43,31,.14);
  background:var(--glass);
  cursor:pointer;
  user-select:none;
  transition:transform .16s ease, box-shadow .16s ease, background .16s ease, border-color .16s ease;
}
.toggle:hover{transform:translateY(-1px);box-shadow:var(--shadow-warm)}
.toggle:focus-within{box-shadow:var(--shadow-warm-strong),var(--focus)}
.toggle:has(input:checked){
  background:linear-gradient(135deg,rgba(244,201,122,.55),rgba(232,160,69,.24));
  border-color:rgba(232,160,69,.45);
}
.toggle input{
  width:18px;height:18px;
  border-radius:6px;
  accent-color:var(--color-accent);
}

.form-actions{
  margin-top:10px;
}
.submit-btn{
  width:100%;
  padding:16px 18px;
  font-size:18px;
  background:linear-gradient(135deg,var(--color-secondary),var(--color-primary),var(--color-accent));
}
.submit-btn[disabled]{opacity:.65;cursor:not-allowed;transform:none}

.note{
  font-size:13px;
  color:var(--color-text-light);
  font-weight:800;
}

.success-mark{
  width:66px;height:66px;
  border-radius:999px;
  background:linear-gradient(135deg,var(--color-success),rgba(107,163,104,.70));
  display:grid;
  place-items:center;
  margin:2px 0 8px 0;
  box-shadow:0 10px 28px rgba(107,163,104,.25);
}
.check{
  width:22px;height:12px;
  border-left:4px solid #fff;
  border-bottom:4px solid #fff;
  transform:rotate(-45deg) translateY(-2px);
  animation:checkPop .55s ease both;
}
@keyframes checkPop{
  from{transform:rotate(-45deg) translateY(-2px) scale(.6);opacity:.3}
  to{transform:rotate(-45deg) translateY(-2px) scale(1);opacity:1}
}

.hidden{display:none !important}
