/* Companion stylesheet for features added after the last static build.
   The public pages load a pre-built CSS bundle, so new public-facing styles
   live here and are linked directly. Uses the site's existing CSS variables. */

/* ===== homepage contact form (posts to the admin inbox) ===== */
.contact-form{display:grid;gap:12px;max-width:560px;margin:26px auto 10px;text-align:start}
.cf-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.cf-in{width:100%;font-family:inherit;font-size:15px;color:var(--ink);background:var(--paper);
  border:1.5px solid var(--line);border-radius:12px;padding:13px 16px;transition:border-color .2s}
.cf-in:focus{outline:none;border-color:var(--gold)}
textarea.cf-in{resize:vertical;line-height:1.8}
.cf-send{justify-self:center;cursor:pointer;border:none}
.cf-status{margin:2px 0 0;font-size:14.5px;font-weight:700;min-height:1.2em;text-align:center}
.cf-status.ok{color:#2f5e1f}
.cf-status.err{color:#a33}
@media(max-width:560px){.cf-row{grid-template-columns:1fr}}

/* ===== blog post cover image ===== */
.article-cover{display:block;width:100%;max-height:460px;object-fit:cover;
  border-radius:20px;border:1px solid var(--line);margin:24px 0 4px}

/* ===== projects / portfolio ===== */
.projects{padding:clamp(60px,8vw,90px) 0}
.projects h2{font-family:var(--font-messiri),serif;font-weight:700;color:var(--espresso);
  font-size:clamp(30px,4.4vw,46px);line-height:1.25;margin:10px 0 6px}
.projects .lead{color:var(--ink);font-size:17px;max-width:60ch}
.projects-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(290px,1fr));gap:20px;margin-top:30px}
.project-card{background:var(--paper);border:1px solid var(--line);border-radius:20px;padding:26px;
  display:grid;gap:10px;align-content:start;text-decoration:none;
  transition:transform .35s var(--ease),box-shadow .35s,border-color .35s}
.project-card:hover{transform:translateY(-3px);border-color:var(--gold-soft);
  box-shadow:0 20px 44px -24px rgba(120,90,20,.45)}
.project-card.featured{border-color:var(--gold-soft);background:
  linear-gradient(180deg,rgba(231,211,160,.16),transparent 60%),var(--paper)}
.project-card h3{font-family:var(--font-messiri),serif;font-weight:700;font-size:21px;color:var(--espresso);margin:0}
.project-card p{margin:0;font-size:15px;color:var(--ink);line-height:1.8}
.project-tags{display:flex;flex-wrap:wrap;gap:8px;margin-top:2px}
.project-tags i{font-style:normal;font-size:12.5px;font-weight:700;color:var(--gold-deep);
  border:1px solid var(--gold-soft);border-radius:999px;padding:3px 11px}
.project-link{color:var(--gold-deep);font-weight:700;font-size:14.5px;margin-top:4px}
