html {
  font-size: 14px;
}

@media (min-width: 768px) {
  html {
    font-size: 16px;
  }
}

.btn:focus, .btn:active:focus, .btn-link.nav-link:focus, .form-control:focus, .form-check-input:focus {
  box-shadow: 0 0 0 0.1rem white, 0 0 0 0.25rem #258cfb;
}

html {
  position: relative;
  min-height: 100%;
}

body {
  margin-bottom: 60px;
}

.form-floating > .form-control-plaintext::placeholder, .form-floating > .form-control::placeholder {
  color: var(--bs-secondary-color);
  text-align: end;
}

.form-floating > .form-control-plaintext:focus::placeholder, .form-floating > .form-control:focus::placeholder {
  text-align: start;
}
/* === Extracted from view @section Styles === */
.fa-actions { display:flex; gap:6px; margin-top:14px; }
.fa-actions a, .fa-actions button { padding:5px 10px; font-size:11.5px; }
.fa-card { background: #fff; border: 1px solid var(--yail-stone); border-radius: 12px; padding: 14px 16px; margin-top: 14px; }
.fa-card .meta { font-size: 11.5px; color: var(--yail-mocha); margin-top: 4px; }
.fa-card .name { font-family: var(--font-display); font-size: 22px; font-style: italic; font-weight: 500; color: var(--yail-ink); }
.fa-card h6 { margin: 0 0 4px; font-size: 11px; letter-spacing: .14em; text-transform: uppercase; color: var(--yail-amber); font-weight: 600; }
.fa-grid { display:grid; gap:14px; grid-template-columns:repeat(auto-fill, minmax(320px, 1fr)); }
.fa-pcard { display:block; background:#fff; border:1px solid var(--yail-stone); border-radius:14px; padding:18px 20px; box-shadow:var(--shadow-card-soft); transition:border-color .15s, transform .15s; text-decoration:none; }
.fa-pcard:hover { border-color:var(--yail-coffee); transform:translateY(-1px); }
.fa-progress { height:4px; background:var(--yail-cream); border-radius:2px; overflow:hidden; margin-top:14px; }
.fa-progress .fill { display:block; height:100%; background:linear-gradient(90deg, var(--yail-amber-light), var(--yail-amber)); }
.fa-stage { padding: 12px 8px; text-align: center; border-radius: 10px; background: var(--yail-cream); border: 1px solid var(--yail-stone); position: relative; }
.fa-stage .n { font-size: 9px; letter-spacing: .14em; text-transform: uppercase; color: var(--yail-mocha); }
.fa-stage .t { font-size: 12px; font-weight: 600; color: var(--yail-coffee); margin-top: 2px; font-family: var(--font-display); font-style: italic; }
.fa-stage.now { background: var(--yail-coffee); border-color: var(--yail-coffee); }
.fa-stage.now .n, .fa-stage.now .t { color: var(--yail-cream); }
.fa-stage.now::after { content: ""; position: absolute; left: 50%; top: 100%; transform: translate(-50%, 4px); width: 8px; height: 8px; border-radius: 50%; background: var(--yail-amber); }
.fa-track { display: grid; grid-template-columns: repeat(5, 1fr); gap: 6px; align-items: center; position: relative; }
/* Stage-gate hero */
  .fa-art { display: flex; flex-direction: column; justify-content: center; height: 100%; gap: 14px; padding: 12px 4px; }
