/* Hello, Trojan — hellotrojan.com
   Tokens from the July 13 build. Do not add colors. */

:root{
  --cardinal:#990000;
  --cardinal-dark:#7A0000;
  --paper:#FDFBF7;
  --ink:#3A2A20;
  --muted:#7A6655;
  --rule:#E8E4DE;
  --white:#FFFFFF;
}

*{box-sizing:border-box;margin:0;padding:0}

html{-webkit-text-size-adjust:100%}

body{
  background:var(--paper);
  font-family:'DM Sans',system-ui,-apple-system,sans-serif;
  color:var(--ink);
  line-height:1.5;
  min-height:100vh;
  display:flex;
  flex-direction:column;
}

a{color:var(--cardinal)}
a:focus-visible,button:focus-visible,input:focus-visible{
  outline:2px solid var(--ink);
  outline-offset:2px;
}

/* ---------- nav ---------- */
.nav{
  display:flex;justify-content:space-between;align-items:center;
  padding:17px 32px;
  border-bottom:1px solid var(--rule);
}
.nav .mark{
  font-family:'Instrument Serif',Georgia,serif;
  font-style:italic;font-size:20px;
  color:var(--cardinal);text-decoration:none;
}
.nav a.link{
  font-size:13px;color:var(--muted);
  text-decoration:none;letter-spacing:.02em;
}
.nav a.link[aria-current="page"]{color:var(--cardinal);font-weight:600;}
.nav a.link:hover{color:var(--cardinal);}

/* ---------- main column ---------- */
main{flex:1;width:100%;}
.col{max-width:680px;margin:0 auto;padding:0 32px;}

/* ---------- home ---------- */
.hero{padding:78px 32px 20px;text-align:center;}
.hero h1{
  font-family:'Instrument Serif',Georgia,serif;
  font-style:italic;font-weight:400;
  font-size:56px;color:var(--cardinal);line-height:1.03;
}
.hero .tag{font-size:16px;color:var(--muted);margin-top:16px;}

.subwrap{text-align:center;padding:0 32px;}
.subform{
  display:flex;justify-content:center;
  margin:34px auto 0;max-width:420px;
}
.subform input[type="email"]{
  flex:1;min-width:0;
  background:var(--white);
  border:1px solid var(--rule);border-right:none;
  border-radius:6px 0 0 6px;
  padding:13px 18px;
  font-family:'DM Sans',sans-serif;
  font-size:16px;color:var(--ink);
}
.subform input[type="email"]:focus{border-color:var(--cardinal);outline:none;}
.subform button{
  background:var(--cardinal);color:var(--paper);
  border:none;border-radius:0 6px 6px 0;
  padding:13px 26px;
  font-family:'DM Sans',sans-serif;
  font-size:14px;font-weight:500;
  cursor:pointer;white-space:nowrap;
}
.subform button:hover{background:var(--cardinal-dark);}
.subform button:disabled{opacity:.6;cursor:default;}

.consent{font-size:13px;color:var(--muted);margin-top:12px;}

.form-msg{
  margin-top:16px;font-size:14px;min-height:22px;
}
.form-msg.ok{color:var(--cardinal);}
.form-msg.already{color:var(--ink);}
.form-msg.err{color:var(--muted);}

.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden;}

.about{
  margin:56px auto 0;max-width:520px;
  padding-top:26px;border-top:1px solid var(--rule);
  font-size:15px;line-height:1.75;color:var(--ink);
  text-align:center;
}
.about p+p{margin-top:14px;}

.start{margin:36px 0 78px;font-size:14px;color:var(--ink);text-align:center;}
.start a{color:var(--cardinal);text-decoration:none;border-bottom:1px solid var(--cardinal);}

/* ---------- archive + inner pages ---------- */
.pbody{padding:48px 0 72px;}
.pbody h1{
  font-family:'Instrument Serif',Georgia,serif;
  font-style:italic;font-weight:400;
  font-size:34px;color:var(--cardinal);
}
.pbody .lede{
  font-size:14px;color:var(--muted);margin-top:9px;
  padding-bottom:26px;border-bottom:1px solid var(--rule);
}
.row{padding:21px 0;border-bottom:1px solid var(--rule);}
.row:last-child{border-bottom:none;}
.row a{text-decoration:none;display:block;}
.row .t{font-family:'Instrument Serif',Georgia,serif;font-size:20px;color:var(--ink);}
.row a:hover .t{color:var(--cardinal);}
.row .m{font-size:13px;color:var(--muted);margin-top:5px;}

/* ---------- post ---------- */
.byline{display:flex;align-items:center;gap:11px;margin-top:18px;}
.av{
  width:34px;height:34px;border-radius:50%;flex:none;
  background:var(--white);border:1px solid var(--rule);
  display:flex;align-items:center;justify-content:center;
  font-family:'Instrument Serif',Georgia,serif;font-style:italic;
  font-size:10px;color:var(--cardinal);line-height:1.02;text-align:center;
}
.byline .n{font-size:13px;color:var(--ink);}
.byline .d{font-size:12px;color:var(--muted);}
.mast{margin-top:34px;text-align:center;padding:42px 0;background:var(--white);border-radius:5px;}
.mast .m{font-family:'Instrument Serif',Georgia,serif;font-style:italic;font-size:38px;color:var(--cardinal);}
.mast .r{width:260px;height:1px;background:#E8D4D4;margin:16px auto 0;}
.post p{margin-top:22px;font-size:15px;line-height:1.85;color:var(--ink);}

/* ---------- legal / plain pages ---------- */
.plain h2{
  font-family:'Instrument Serif',Georgia,serif;
  font-style:italic;font-weight:400;
  font-size:21px;color:var(--ink);
  margin-top:34px;
}
.plain p{margin-top:14px;font-size:15px;line-height:1.75;color:var(--ink);}
.plain .updated{font-size:13px;color:var(--muted);margin-top:9px;}

/* ---------- footer ---------- */
.foot{
  border-top:1px solid var(--rule);
  padding:22px 32px 26px;
  font-size:12px;color:var(--muted);
  text-align:center;line-height:1.9;
}
.foot a{color:var(--muted);text-decoration:none;}
.foot a:hover{color:var(--cardinal);}
.foot .links a+a{margin-left:14px;}

/* ---------- misc ---------- */
.sr-only{
  position:absolute;width:1px;height:1px;
  padding:0;margin:-1px;overflow:hidden;
  clip:rect(0,0,0,0);white-space:nowrap;border:0;
}

@media (prefers-reduced-motion:no-preference){
  .nav a.link,.subform button,.row .t,.foot a{transition:color .12s ease,background .12s ease;}
}

@media (max-width:640px){
  .hero{padding:56px 20px 16px;}
  .hero h1{font-size:38px;}
  .nav,.subwrap{padding-left:20px;padding-right:20px;}
  .col{padding:0 20px;}
  .foot{padding-left:20px;padding-right:20px;}
  .subform{flex-direction:column;align-items:stretch;max-width:320px;}
  .subform input[type="email"]{border-right:1px solid var(--rule);border-radius:6px;text-align:center;}
  .subform button{border-radius:6px;margin-top:8px;}
}

.start-inline{text-align:left;margin:36px 0 0;}
