:root{
  --navy:#0f1f3d;
  --navy-deep:#0a1530;
  --green:#16a34a;
  --green-deep:#0f7d38;
  --paper:#ffffff;
  --bg:#fffdf9;
  --ink:#242220;
  --muted:#6b6660;
  --line:#eeece6;
}
*{box-sizing:border-box;margin:0;padding:0;}
html,body{height:100%;}
body{
  font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Helvetica,Arial,sans-serif;
  background:var(--bg);
  color:var(--ink);
  line-height:1.5;
}

.page{
  max-width:680px;
  margin:0 auto;
  padding:0 24px;
}

/* Substack-style minimal top bar: just a wordmark + a couple faint links */
.site-header{
  background:var(--bg);
}
.site-header-inner{
  max-width:680px;
  margin:0 auto;
  padding:22px 24px 14px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
}
.mark{
  display:inline-flex;align-items:center;gap:8px;
  font-family:Georgia,'Times New Roman',serif;
  font-size:17px;font-weight:700;
  color:var(--ink);
  text-decoration:none;
  white-space:nowrap;
}
.mark .sq{
  width:8px;height:8px;border-radius:50%;
  background:var(--green);
  flex-shrink:0;
}
.site-nav{
  display:flex;
  gap:22px;
}
.site-nav a{
  font-size:13.5px;
  color:var(--muted);
  text-decoration:none;
}
.site-nav a:hover, .site-nav a.current{color:var(--ink);}
.site-nav a.current{font-weight:600;}
@media(max-width:480px){
  .site-nav{gap:14px;}
}

.breadcrumb{
  font-size:12px;
  color:#a8a39b;
  margin:22px 0 6px;
}
.breadcrumb span{color:var(--muted);}
.breadcrumb a{color:#a8a39b;text-decoration:none;}
.breadcrumb a:hover{color:var(--muted);}

/* Substack byline: avatar, name, date, all top-of-post */
.meta-row{
  display:flex;align-items:center;gap:10px;
  font-size:13.5px;
  color:var(--muted);
  margin-bottom:34px;
  padding-top:6px;
}
.meta-row .avatar{
  width:36px;height:36px;border-radius:50%;
  background:var(--green);
  color:#fff;
  display:flex;align-items:center;justify-content:center;
  font-size:13px;font-weight:700;
  flex-shrink:0;
}
.meta-row .byline-text{display:flex;flex-direction:column;gap:1px;}
.meta-row .byline-name{color:var(--ink);font-weight:600;font-size:13.5px;}
.meta-row .byline-date{font-size:12.5px;color:var(--muted);}

main{padding:6px 0 10px;}

.eyebrow{
  font-size:12.5px;font-weight:600;letter-spacing:.03em;
  color:var(--green-deep);
  margin-bottom:14px;
  text-transform:uppercase;
}

h1{
  font-family:Georgia,'Times New Roman',serif;
  font-size:40px;
  line-height:1.18;
  letter-spacing:-0.015em;
  color:var(--ink);
  margin-bottom:14px;
  font-weight:700;
}
h1 em{
  font-style:normal;
  color:var(--green-deep);
}
@media(max-width:520px){h1{font-size:29px;}}

h2{
  font-family:Georgia,'Times New Roman',serif;
  font-size:23px;
  font-weight:700;
  color:var(--ink);
  margin:34px 0 12px;
}

.lede{
  font-family:Georgia,'Times New Roman',serif;
  font-size:19px;
  color:var(--muted);
  line-height:1.5;
  margin-bottom:12px;
  max-width:56ch;
  font-weight:400;
}

p.body-text{
  font-family:Georgia,'Times New Roman',serif;
  font-size:19px;
  color:var(--ink);
  line-height:1.6;
  margin-bottom:22px;
  max-width:58ch;
}
p.body-text.muted{color:var(--muted);}

ul.plain-list{
  margin:0 0 20px 0;
  padding-left:22px;
  max-width:56ch;
}
ul.plain-list li{
  font-family:Georgia,serif;
  font-size:18px;
  color:var(--ink);
  line-height:1.6;
  margin-bottom:10px;
}

.criteria{
  margin:0 0 34px;
  padding:22px 0;
  border-top:1px solid var(--line);
  border-bottom:1px solid var(--line);
}
.criteria-row{
  display:flex;
  gap:14px;
  padding:10px 0;
  font-size:16px;
  color:var(--ink);
}
.criteria-row .num{
  font-family:Georgia,serif;
  color:var(--green-deep);
  font-size:14px;
  flex-shrink:0;
  width:18px;
}

.cta-block{margin-bottom:8px;}
.btn-primary{
  display:inline-flex;align-items:center;gap:8px;
  background:var(--green-deep);
  color:#fff;
  border:none;
  padding:13px 28px;
  font-size:15.5px;
  font-weight:600;
  border-radius:99px;
  cursor:pointer;
  text-decoration:none;
  transition:background .15s ease, transform .15s ease;
}
.btn-primary:hover{background:#0c6b30;transform:translateY(-1px);}
.btn-primary:focus-visible{outline:3px solid var(--ink); outline-offset:2px;}
.btn-primary svg{flex-shrink:0;}

.btn-secondary{
  display:inline-flex;align-items:center;gap:8px;
  background:transparent;
  color:var(--ink);
  border:1.5px solid var(--line);
  padding:11.5px 26px;
  font-size:15px;
  font-weight:600;
  border-radius:99px;
  cursor:pointer;
  text-decoration:none;
  transition:border-color .15s ease, background .15s ease;
}
.btn-secondary:hover{border-color:var(--ink); background:rgba(0,0,0,0.02);}

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

/* related posts strip */
.related{
  margin-top:44px;
  padding-top:28px;
  border-top:1px solid var(--line);
}
.related h3{
  font-size:12.5px;
  font-weight:700;
  letter-spacing:.04em;
  text-transform:uppercase;
  color:var(--muted);
  margin-bottom:16px;
}
.related-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:16px;
}
@media(max-width:520px){
  .related-grid{grid-template-columns:1fr;}
}
.related-card{
  display:block;
  text-decoration:none;
  padding:14px 0;
}
.related-card .rc-eyebrow{
  font-size:11px;
  font-weight:600;
  color:var(--green-deep);
  margin-bottom:6px;
  letter-spacing:.02em;
  text-transform:uppercase;
}
.related-card .rc-title{
  font-family:Georgia,serif;
  font-size:17px;
  color:var(--ink);
  font-weight:700;
  line-height:1.35;
  margin-bottom:4px;
}
.related-card .rc-meta{
  font-size:12px;
  color:var(--muted);
}

/* archive/index list, Substack-style stacked post rows */
.archive-list{
  margin-top:10px;
}
.archive-row{
  display:flex;
  gap:20px;
  padding:26px 0;
  border-bottom:1px solid var(--line);
  text-decoration:none;
  color:inherit;
  align-items:flex-start;
}
.archive-row:first-child{padding-top:6px;}
.archive-row .ar-body{flex:1;min-width:0;}
.archive-row .ar-eyebrow{
  font-size:11.5px;
  font-weight:700;
  color:var(--green-deep);
  text-transform:uppercase;
  letter-spacing:.03em;
  margin-bottom:8px;
}
.archive-row .ar-title{
  font-family:Georgia,serif;
  font-size:22px;
  font-weight:700;
  color:var(--ink);
  line-height:1.3;
  margin-bottom:8px;
}
.archive-row .ar-excerpt{
  font-size:15px;
  color:var(--muted);
  line-height:1.55;
  margin-bottom:10px;
  max-width:56ch;
}
.archive-row .ar-meta{
  font-size:12.5px;
  color:#a8a39b;
}
.archive-row:hover .ar-title{text-decoration:underline;}
@media(max-width:520px){
  .archive-row .ar-title{font-size:19px;}
}

/* contact form */
.contact-form{
  max-width:480px;
  margin-top:8px;
}
.form-row{margin-bottom:16px;}
.form-row label{
  display:block;
  font-size:13px;
  font-weight:600;
  color:var(--ink);
  margin-bottom:6px;
}
.form-row input, .form-row textarea{
  width:100%;
  padding:11px 13px;
  font-size:14.5px;
  font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;
  color:var(--ink);
  border:1.5px solid var(--line);
  border-radius:8px;
  background:#fff;
  transition:border-color .15s ease;
}
.form-row input:focus, .form-row textarea:focus{
  outline:none;
  border-color:var(--green);
}
.form-row textarea{resize:vertical;min-height:110px;}
.form-note{
  font-size:12px;
  color:var(--muted);
  margin-top:10px;
}

.site-footer{
  border-top:1px solid var(--line);
  margin-top:56px;
}
footer{
  padding:24px 0 40px;
}
footer p.disclaimer{
  font-size:12px;
  color:#a29d95;
  line-height:1.6;
  max-width:56ch;
  margin-bottom:14px;
}
.footlinks{display:flex;gap:16px;flex-wrap:wrap;}
.footlinks a, .footlinks button{
  background:none;border:none;
  font-size:12.5px;
  color:var(--muted);
  cursor:pointer;
  text-decoration:underline;
  text-underline-offset:2px;
  padding:2px 0;
  font-family:inherit;
}
.footlinks a:hover, .footlinks button:hover{color:var(--ink);}

.modal-overlay{
  position:fixed;inset:0;
  background:rgba(30,25,20,0.5);
  display:none;
  align-items:center;justify-content:center;
  padding:20px;
  z-index:50;
}
.modal-overlay.open{display:flex;}
.modal{
  background:#fff;
  border-radius:12px;
  max-width:440px;
  width:100%;
  padding:28px 26px;
  position:relative;
  max-height:80vh;
  overflow-y:auto;
  box-shadow:0 20px 60px rgba(0,0,0,0.2);
}
.modal h3{font-family:Georgia,serif;font-weight:700;font-size:19px;color:var(--ink);margin-bottom:12px;}
.modal p{font-size:13.5px;color:var(--muted);line-height:1.65;margin-bottom:10px;}
.modal a{color:var(--green-deep);}
.modal-close{
  position:absolute;top:14px;right:14px;
  background:var(--bg);border:none;
  width:28px;height:28px;border-radius:50%;
  cursor:pointer;font-size:15px;color:var(--muted);
  display:flex;align-items:center;justify-content:center;
}
.modal-close:hover{background:var(--line);color:var(--ink);}

@media (prefers-reduced-motion: reduce){
  *{transition-duration:.001s !important;}
}
