@font-face {
  font-family: 'Glacial Indifference';
  src: url("/static/fonts/GlacialIndifference-Regular.otf") format("opentype");
  font-weight: normal;
}

@font-face {
  font-family: 'Glacial Indifference';
  src: url("/static/fonts/GlacialIndifference-Bold.otf") format("opentype");
  font-weight: bold;
}

/* ===== In-Progress Section (matches mock) ===== */
.inprog {
  --ink:#1f2a44;
  --muted:#6b7280;
  --blue:#2d6cdf;
  --badge1:#ff9966;
  --badge2:#ff5e62;
  --card:#ffffff;
  --line:#e9eef3;
}

.inprog .ip-card{
  background:var(--card);
  border:1px solid var(--line);
  border-radius:16px;
  box-shadow:0 10px 28px rgba(31,42,68,.08);
  padding:28px;
}

.inprog .ip-grid{
  display:grid;
  grid-template-columns:1.05fr .95fr;
  gap:28px;
  align-items:center;
}

.inprog .ip-badge{
  display:inline-block;
  background:linear-gradient(90deg,var(--badge1),var(--badge2));
  color:#fff;
  font-weight:900;
  letter-spacing:.3px;
  font-size:12px;
  padding:8px 14px;
  border-radius:999px;
  margin-bottom:14px;
}

.inprog .ip-title{
  margin:6px 0 10px;
  font-size:36px;
  line-height:1.15;
  color:var(--ink);
  font-weight:900;
}

.inprog .ip-lead{
  margin:0 0 16px;
  color:var(--muted);
  font-size:16px;
  line-height:1.7;
  max-width:48ch;
}

.inprog .ip-row{ display:flex; gap:14px; flex-wrap:wrap; align-items:center; }

/* spinner + progress bar */
.inprog .ip-spinner{
  width:18px; height:18px;
  border-radius:50%;
  border:3px solid #c7d2fe;
  border-top-color:var(--blue);
  animation:ip-spin 1s linear infinite;
}
@keyframes ip-spin { to { transform:rotate(360deg) } }

.inprog .ip-bar{
  height:8px; width:240px; background:#eef2f7; border-radius:999px;
  overflow:hidden; position:relative;
}
.inprog .ip-bar span{
  position:absolute; inset:0; width:35%; background:linear-gradient(90deg,#a5b4fc,var(--blue));
  border-radius:999px; animation:ip-load 2.3s ease-in-out infinite;
}
@keyframes ip-load {
  0%{transform:translateX(-100%)}
  50%{transform:translateX(40%)}
  100%{transform:translateX(110%)}
}

/* buttons */
.inprog .btn{
  display:inline-block; padding:12px 18px; border-radius:12px;
  text-decoration:none; font-weight:800; font-size:14px; transition:.15s ease;
}
.inprog .btn-primary{ background:var(--blue); color:#fff; box-shadow:0 8px 16px rgba(45,108,223,.25) }
.inprog .btn-primary:hover{ transform:translateY(-1px) }
.inprog .btn-outline{ background:#fff; color:var(--ink); border:1px solid #dbe3ec }
.inprog .btn-outline:hover{ box-shadow:0 8px 16px rgba(31,42,68,.08) }

/* Illustration panel */
.inprog .ip-illust{
  position:relative; border-radius:18px; overflow:hidden;
  padding:16px; background:linear-gradient(135deg,#ffe5ec 0%,#e8f1ff 100%);
  box-shadow:0 10px 28px rgba(31,42,68,.08);
}
.inprog .ip-illust img{
  width:100%; height:auto; display:block; object-fit:contain;
  filter: drop-shadow(0 10px 18px rgba(31,42,68,.15));
}

/* Decorative soft blobs (optional) */
.inprog .blob{ position:absolute; border-radius:50%; opacity:.25; filter:blur(2px) }
.inprog .b1{ width:220px; height:220px; background:#ff9fb0; top:-40px; right:-40px }
.inprog .b2{ width:160px; height:160px; background:#9fbaff; bottom:-30px; left:-30px }

/* Responsive */
@media (max-width: 920px){
  .inprog .ip-grid{ grid-template-columns:1fr; gap:22px }
  .inprog .ip-lead{ max-width:unset }
  .inprog .ip-bar{ width:100% }
}