@import url('https://fonts.googleapis.com/css2?family=Instrument+Serif:ital@0;1&family=Space+Grotesk:wght@400;500&display=swap');

:root{
  --paper:#FAFAF8;
  --ink:#141311;
  --muted:#726F68;
  --line: rgba(20,19,17,0.14);
  --line-strong: rgba(20,19,17,0.35);
}
*{box-sizing:border-box;}
body{
  margin:0;
  background:var(--paper);
  color:var(--ink);
  font-family:'Space Grotesk', sans-serif;
  -webkit-font-smoothing:antialiased;
}
.script{font-family:'Instrument Serif', serif; font-style:italic;}
.serif{font-family:'Instrument Serif', serif;}

nav{border-bottom:1px solid var(--line); padding:22px 32px; display:flex; justify-content:space-between; align-items:center;}
.logo{font-size:22px;}
.logo .script{font-size:26px;}
.navlinks{display:flex; gap:28px; font-size:13px; align-items:center;}
.navlinks a{color:var(--ink); text-decoration:none;}

.wrap{max-width:520px; margin:0 auto; padding:70px 24px;}
.wrap-wide{max-width:900px; margin:0 auto; padding:50px 24px;}

h1{font-size:38px; font-family:'Instrument Serif', serif; margin:0 0 8px;}
.eyebrow{font-size:12px; letter-spacing:0.12em; text-transform:uppercase; color:var(--muted); margin-bottom:18px;}
.subtitle{color:var(--muted); font-size:14px; margin-bottom:36px;}

label{display:block; font-size:12px; letter-spacing:0.03em; color:var(--muted); margin-bottom:6px; margin-top:18px;}
input, select{
  width:100%; padding:12px 14px; border:1px solid var(--line-strong);
  border-radius:2px; font-family:'Space Grotesk', sans-serif; font-size:14px;
  background:var(--paper); color:var(--ink);
}
input:focus, select:focus{outline:2px solid var(--ink); outline-offset:1px;}

.btn{
  font-family:'Space Grotesk',sans-serif; font-size:13px; letter-spacing:0.03em;
  padding:14px 26px; border-radius:2px; cursor:pointer; border:1px solid var(--ink);
  margin-top:24px; width:100%;
}
.btn-solid{background:var(--ink); color:var(--paper);}
.btn-ghost{background:transparent; color:var(--ink);}

.error{background:#fbeceb; border:1px solid #d99a95; color:#7a2c26; padding:10px 14px; border-radius:2px; font-size:13px; margin-top:18px;}
.success{background:#eaf3ea; border:1px solid #a8cba8; color:#2b5a2b; padding:10px 14px; border-radius:2px; font-size:13px; margin-top:18px;}

.foot-link{margin-top:24px; font-size:13px; color:var(--muted); text-align:center;}
.foot-link a{color:var(--ink);}

.card{border:1px solid var(--line); border-radius:6px; padding:20px 24px; margin-bottom:14px;}
.card-row{display:flex; justify-content:space-between; align-items:center;}
.pill{font-size:12px; padding:4px 12px; border-radius:20px; border:1px solid var(--line-strong); color:var(--muted);}
.credits-badge{font-family:'Instrument Serif', serif; font-size:34px;}

table{width:100%; border-collapse:collapse; font-size:14px;}
th, td{text-align:left; padding:12px; border-bottom:1px solid var(--line);}
th{color:var(--muted); font-weight:500; font-size:12px; letter-spacing:0.04em; text-transform:uppercase;}
