/* ── PAGES ──
   Styles specific to Home, About, Applications and Contact.
*/

.hero,.about,.apply {
  flex:1;
  width:100%;
  display:flex;
  flex-direction:column;
  gap:24px;
  padding:26px 28px 36px
}
.promo {
  position:relative;
  overflow:hidden;
  border-radius:var(--radius);
  padding:40px 44px 44px;
  background:linear-gradient(107deg,#7b2ff7 0%,#c3308f 46%,#f4436c 100%);
  box-shadow:0 18px 44px -26px rgba(196,48,143,0.9)
}
.promo-deco {
  position:absolute;
  right:-70px;
  top:-90px;
  width:380px;
  height:380px;
  pointer-events:none;
  opacity:0.55
}
.promo-inner {
  position:relative;
  max-width:660px
}
.hero-main h1 {
  font-size:clamp(32px,4.2vw,48px);
  font-weight:700;
  line-height:1.1;
  letter-spacing:-0.02em;
  color:#fff;
  margin-bottom:16px
}
.hero-main h1 em {
  font-style:normal;
  color:#ffe27a
}
.hero-main .sub {
  font-size:15.5px;
  line-height:1.7;
  color:rgba(255,255,255,0.92);
  max-width:560px;
  margin-bottom:28px
}
.actions {
  display:flex;
  align-items:center;
  gap:12px;
  flex-wrap:wrap
}
.stats-block {
  display:contents
}
.stats-label {
  font-size:11px;
  letter-spacing:0.12em;
  text-transform:uppercase;
  color:var(--dim);
  font-weight:500;
  margin-bottom:-6px
}
.stats-grid {
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:24px
}
.stat {
  background:var(--card);
  border:1px solid var(--line);
  border-radius:var(--radius);
  padding:22px 24px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  transition:border-color 0.18s var(--ease),transform 0.18s var(--ease)
}
.stat:hover {
  border-color:var(--line-hi);
  transform:translateY(-2px)
}
.stat-value {
  font-size:30px;
  font-weight:500;
  letter-spacing:-0.02em;
  line-height:1.2;
  color:var(--text);
  font-variant-numeric:tabular-nums;
  margin-bottom:2px;
  transition:color 0.4s var(--ease)
}
.stat-value.dim {
  color:var(--dim)
}
.stat-desc {
  font-size:13.5px;
  color:var(--dim)
}
.stat-ico {
  width:46px;
  height:46px;
  border-radius:10px;
  display:grid;
  place-items:center;
  flex-shrink:0
}
.stat-ico svg {
  width:21px;
  height:21px;
  fill:none;
  stroke-width:2;
  stroke-linecap:round;
  stroke-linejoin:round
}
.panel-row {
  display:grid;
  grid-template-columns:1fr 1.6fr;
  gap:24px;
  align-items:start
}
.goal-card {
  text-align:center
}
.ring {
  --p:0;
  width:196px;
  height:196px;
  margin:6px auto 22px;
  border-radius:50%;
  display:grid;
  place-items:center;
  background:conic-gradient(var(--green) calc(var(--p) * 3.6deg),rgba(255,255,255,0.055) 0);
  transition:background 0.9s var(--ease)
}
.ring-inner {
  width:152px;
  height:152px;
  border-radius:50%;
  background:var(--card);
  display:grid;
  place-items:center;
  align-content:center
}
.ring-pct {
  font-size:34px;
  font-weight:500;
  letter-spacing:-0.02em;
  color:var(--text);
  font-variant-numeric:tabular-nums;
  line-height:1.15
}
.ring-cap {
  font-size:13px;
  color:var(--dim)
}
.goal-rows {
  display:flex;
  flex-direction:column;
  border-radius:8px;
  overflow:hidden;
  border:1px solid var(--line)
}
.goal-row {
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding:12px 16px;
  background:rgba(0,0,0,0.18);
  font-size:14px
}
.goal-row + .goal-row {
  border-top:1px solid var(--line)
}
.goal-row span:first-child {
  color:var(--dim)
}
.goal-row b {
  font-weight:500;
  font-variant-numeric:tabular-nums;
  font-size:15px
}
.goal-raised {
  color:var(--green)
}
.donor-section {
  display:flex;
  flex-direction:column
}
.donor-list {
  display:flex;
  flex-direction:column;
  max-height:336px;
  overflow-y:auto;
  scrollbar-width:thin;
  scrollbar-color:#2c2f3a transparent
}
.donor-list::-webkit-scrollbar {
  width:6px
}
.donor-list::-webkit-scrollbar-thumb {
  background:#2c2f3a;
  border-radius:99px
}
.donor-row {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  padding:14px 4px;
  border-bottom:1px solid var(--line);
  transition:background 0.15s var(--ease)
}
.donor-row:hover {
  background:rgba(255,255,255,0.025)
}
.donor-name {
  font-size:14.5px;
  color:var(--text);
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap
}
.donor-amount {
  font-size:14.5px;
  font-weight:500;
  color:var(--green);
  font-variant-numeric:tabular-nums;
  flex-shrink:0
}
.donor-empty {
  padding:26px 8px;
  font-size:14px;
  color:var(--dim);
  text-align:center
}
.about-inner {
  width:100%
}
.about h2,.apply h2 {
  font-size:clamp(26px,3vw,34px);
  font-weight:500;
  letter-spacing:-0.02em;
  line-height:1.15;
  color:var(--text);
  margin-bottom:12px
}
.about-lead,.apply-lead {
  font-size:15.5px;
  line-height:1.7;
  color:var(--muted);
  max-width:660px;
  margin-bottom:26px
}
.about-lead strong {
  color:var(--green);
  font-weight:500
}
.about-grid {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:24px;
  margin-bottom:26px
}
.about-card {
  background:var(--card);
  border:1px solid var(--line);
  border-radius:var(--radius);
  padding:26px 28px;
  transition:border-color 0.18s var(--ease),transform 0.18s var(--ease)
}
.about-card:hover {
  border-color:var(--line-hi);
  transform:translateY(-2px)
}
.about-card h3 {
  font-size:18px;
  font-weight:500;
  color:var(--text);
  padding-bottom:14px;
  margin-bottom:14px;
  border-bottom:1px solid var(--line)
}
.about-card p,.about-closing {
  font-size:14.5px;
  line-height:1.75;
  color:var(--muted)
}
.about-closing {
  max-width:700px
}
.apply-inner {
  width:100%;
  max-width:780px
}
#applyFormWrap {
  background:var(--card);
  border:1px solid var(--line);
  border-radius:var(--radius);
  padding:28px 30px 30px
}
.form-grid {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:18px 20px;
  margin-bottom:22px
}
.form-field {
  min-width:0
}
.form-field.full {
  grid-column:1 / -1
}
select.text-input {
  cursor:pointer;
  appearance:none;
  -webkit-appearance:none;
  padding-right:40px;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1.5L6 6.5L11 1.5' stroke='%239a9db1' stroke-width='1.6' fill='none' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  background-repeat:no-repeat;
  background-position:right 15px center
}
select.text-input option {
  background:#24262f;
  color:var(--text)
}
textarea.text-input {
  resize:vertical;
  min-height:110px;
  font-family:var(--font);
  line-height:1.6
}
input[type=number].text-input::-webkit-outer-spin-button,input[type=number].text-input::-webkit-inner-spin-button {
  -webkit-appearance:none;
  margin:0
}
input[type=number].text-input {
  -moz-appearance:textfield
}
.apply-success {
  display:none;
  align-items:flex-start;
  gap:12px;
  background:rgba(0,210,91,0.09);
  border:1px solid rgba(0,210,91,0.3);
  border-radius:var(--radius);
  padding:20px 22px
}
.apply-success.show {
  display:flex
}
.apply-success .perk-icon {
  margin-top:2px
}
.apply-success p {
  font-size:14.5px;
  line-height:1.65;
  color:var(--text)
}
.contact-row {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px
}
.contact-value {
  font-size:14.5px;
  color:var(--muted);
  text-decoration:none;
  word-break:break-all;
  transition:color 0.15s var(--ease)
}
a.contact-value:hover {
  color:var(--green)
}
input.amount {
  flex:1;
  background:transparent;
  border:none;
  outline:none;
  color:var(--text);
  font-family:var(--font);
  font-size:16px;
  font-variant-numeric:tabular-nums;
  padding:13px 15px 13px 0;
  min-width:0
}
input.amount::placeholder {
  color:#6a6d80
}
input.amount::-webkit-outer-spin-button,input.amount::-webkit-inner-spin-button {
  -webkit-appearance:none;
  margin:0
}
input.amount[type=number] {
  -moz-appearance:textfield
}
