:root{
  --navy:#0D2B55;
  --teal:#0E7FA8;
  --red:#C0392B;
  --ink:#1A1A1A;
  --grey:#5A5F66;
  --grey-light:#8A8F96;
  --paper:#FFFFFF;
  --paper-tint:#F5F8FA;
  --rule: rgba(13,43,85,0.14);
  --maxw: 760px;
}
*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
@media (prefers-reduced-motion: reduce){ html{scroll-behavior:auto;} *{animation:none !important; transition:none !important;} }
body{
  margin:0; background:var(--paper); color:var(--ink);
  font-family:Arial, Helvetica, sans-serif; line-height:1.65;
  -webkit-font-smoothing:antialiased;
}
a{color:var(--teal); text-decoration-thickness:1px; text-underline-offset:3px;}
a:hover{color:var(--navy);}
a:focus-visible, button:focus-visible{outline:2px solid var(--teal); outline-offset:3px;}

.wrap{max-width:var(--maxw); margin:0 auto; padding:0 24px;}
.wrap-wide{max-width:980px; margin:0 auto; padding:0 24px;}
section{padding:64px 0;}
section + section{border-top:1px solid var(--rule);}

h1,h2,h3{font-family:Georgia, 'Times New Roman', serif; font-weight:700; line-height:1.2; margin:0; color:var(--navy);}
p{margin:0 0 18px 0; max-width:66ch; color:var(--ink);}
p:last-child{margin-bottom:0;}

.eyebrow{
  display:table; margin:0 auto 16px auto; background:var(--navy); color:#fff;
  font-size:0.72rem; font-weight:bold; letter-spacing:0.1em; text-transform:uppercase;
  padding:6px 14px;
}
.center{text-align:center;}

/* NAV */
header.site-nav{border-bottom:1px solid var(--rule); padding:18px 0; background:var(--paper);}
.nav-inner{max-width:980px; margin:0 auto; padding:0 24px; display:flex; align-items:center; justify-content:space-between; gap:20px; flex-wrap:wrap;}
.brand{display:flex; align-items:center; gap:10px; text-decoration:none; color:var(--navy);}
.brand img{width:26px; height:26px;}
.brand-name{font-family:Georgia,serif; font-weight:bold; font-size:1.05rem; letter-spacing:0.02em;}
nav.links{display:flex; gap:24px; flex-wrap:wrap; align-items:center;}
nav.links a{color:var(--navy); font-size:0.92rem; text-decoration:none; font-weight:bold;}
nav.links a:hover{color:var(--teal);}
.nav-cta{background:var(--teal); color:#fff !important; padding:9px 18px; border-radius:2px; font-size:0.85rem;}
.nav-cta:hover{background:var(--navy); color:#fff !important;}

/* HERO */
.hero{padding-top:56px; border-top:none; text-align:center; background:var(--paper-tint);}
.hero h1{font-size:clamp(1.9rem,4.4vw,2.7rem); line-height:1.25; max-width:720px; margin:0 auto 22px auto;}
.hero-sub{max-width:600px; margin:0 auto 20px auto; font-size:1.02rem;}
.hero-questions{max-width:480px; margin:0 auto 26px auto;}
.hero-questions p{
  margin:0 0 10px 0; font-size:0.96rem; font-style:italic; color:var(--navy);
  text-align:left; border:1px solid var(--rule); background:var(--paper);
  padding:12px 16px 12px 20px; position:relative;
}
.hero-questions p:last-child{margin-bottom:0;}
.hero-questions p:before{
  content:""; position:absolute; left:0; top:0; bottom:0; width:3px; background:var(--teal);
}
.hero-ctas{display:flex; gap:14px; justify-content:center; flex-wrap:wrap; margin-top:8px;}
.btn-primary{background:var(--teal); color:#fff; padding:14px 26px; font-weight:bold; text-decoration:none; display:inline-block; border-radius:2px; font-size:0.98rem;}
.btn-primary:hover{background:var(--navy); color:#fff;}
.btn-secondary{border:1.5px solid var(--navy); color:var(--navy); padding:12px 24px; font-weight:bold; text-decoration:none; display:inline-block; border-radius:2px; font-size:0.98rem;}
.btn-secondary:hover{border-color:var(--teal); color:var(--teal);}
.microcopy{font-size:0.85rem; color:var(--grey-light); margin-top:18px;}

/* PULL QUOTE */
.pullquote{
  font-family:Georgia,serif; font-weight:bold; font-size:1.3rem; color:var(--navy);
  line-height:1.4; max-width:640px; margin:0 auto; text-align:center;
}

/* NUMBERED QUESTION LIST */
.question-list{margin:24px 0 0 0; padding:0; list-style:none; max-width:600px; margin-left:auto; margin-right:auto;}
.question-list li{display:flex; gap:16px; padding:14px 0; border-bottom:1px solid var(--rule); align-items:baseline;}
.question-list li:last-child{border-bottom:none;}
.question-list .q-num{font-family:Georgia,serif; font-weight:bold; color:var(--teal); font-size:1.1rem; flex-shrink:0; width:28px;}
.question-list .q-text{font-style:italic; color:var(--ink); font-size:1rem;}

/* ISSUE FORMAT (6-part) */
.format-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:0; border:1px solid var(--rule); margin-top:8px;}
.format-card{padding:26px 22px; border-right:1px solid var(--rule); border-bottom:1px solid var(--rule);}
.format-card:nth-child(3n){border-right:none;}
.format-num{font-family:Georgia,serif; font-weight:bold; color:var(--teal); font-size:0.85rem; margin-bottom:6px;}
.format-name{font-family:Georgia,serif; font-weight:bold; color:var(--navy); font-size:1.05rem; margin-bottom:6px;}
.format-q{font-style:italic; color:var(--grey); font-size:0.88rem; margin-bottom:8px;}
.format-desc{font-size:0.9rem; color:var(--ink); margin:0;}
@media (max-width:820px){ .format-grid{grid-template-columns:1fr 1fr;} .format-card:nth-child(3n){border-right:1px solid var(--rule);} .format-card:nth-child(2n){border-right:none;} }
@media (max-width:560px){ .format-grid{grid-template-columns:1fr;} .format-card{border-right:none !important;} }

/* BD/AD */
.bdad-split{display:flex; gap:24px; justify-content:center; margin:20px 0; font-family:Georgia,serif; font-weight:bold; font-size:1.1rem;}
.bdad-split span{color:var(--navy);}
.bdad-split .div{color:var(--grey-light); font-weight:normal;}

/* REFERENCE LIBRARY TOPIC LIST */
.topic-list{display:grid; grid-template-columns:repeat(2,1fr); gap:0; border:1px solid var(--rule); margin-top:24px;}
.topic-item{padding:16px 20px; border-right:1px solid var(--rule); border-bottom:1px solid var(--rule); font-size:0.95rem; color:var(--navy); font-weight:bold;}
.topic-item:nth-child(2n){border-right:none;}
@media (max-width:600px){ .topic-list{grid-template-columns:1fr;} .topic-item{border-right:none;} }

/* WHO THIS IS FOR */
.for-cols{display:flex; gap:48px; flex-wrap:wrap; justify-content:center; margin-top:20px;}
.for-col h4{font-family:Georgia,serif; color:var(--navy); font-size:0.95rem; margin:0 0 10px 0;}
.for-col ul{margin:0; padding-left:18px; color:var(--ink); font-size:0.95rem;}
.for-col li{margin-bottom:6px;}

/* ABOUT */
.about-quote{
  font-family:Georgia,serif; font-style:italic; color:var(--navy); font-size:1.15rem;
  border-left:3px solid var(--teal); padding-left:22px; margin:24px 0;
}
.about-attrib{font-size:0.85rem; color:var(--grey); font-style:normal;}

/* FINAL CONVERSION */
.final-conversion{background:var(--navy); color:#fff; text-align:center;}
.final-conversion h2{color:#fff;}
.final-conversion p{color:#dfe8ee; margin-left:auto; margin-right:auto;}
.final-conversion .microcopy{color:#a9bdd0;}

/* DISCLAIMER */
.disclaimer-box{
  margin-top:24px; padding:16px 18px; background:var(--paper-tint); border:1px solid var(--rule);
  font-size:0.82rem; color:var(--grey);
}

footer.site-footer{padding:44px 0 50px; background:var(--paper-tint);}
footer.site-footer .foot-brand{font-family:Georgia,serif; font-weight:bold; color:var(--navy); font-size:1.1rem; margin-bottom:6px;}
footer.site-footer .foot-tagline{color:var(--grey); font-size:0.92rem; margin-bottom:20px;}
footer.site-footer .foot-line{font-family:Georgia,serif; font-style:italic; color:var(--teal); font-size:0.95rem; margin-bottom:24px;}
.foot-links{display:flex; gap:24px; flex-wrap:wrap; margin-bottom:24px;}
.foot-links a{color:var(--navy); font-size:0.88rem; font-weight:bold; text-decoration:none;}
.foot-links a:hover{color:var(--teal);}
footer.site-footer .copyright{font-size:0.8rem; color:var(--grey-light);}

/* Highlightable question fields — 2 per row */
.question-table{display:grid; grid-template-columns:1fr 1fr; gap:12px; margin-top:24px; max-width:700px; margin-left:auto; margin-right:auto;}
.question-field{
  border:1px solid var(--rule); background:var(--paper); padding:16px 18px;
  font-style:italic; color:var(--navy); font-size:0.96rem; transition:background 150ms ease, border-color 150ms ease;
}
.question-field:hover{background:var(--paper-tint); border-color:var(--teal);}
@media (max-width:600px){ .question-table{grid-template-columns:1fr;} }

/* "The Generator" topic-by-category page */
.category-block{margin-bottom:36px;}
.category-name{font-family:Georgia,serif; font-weight:bold; color:var(--teal); font-size:0.85rem; letter-spacing:0.06em; text-transform:uppercase; margin-bottom:14px;}
.category-topics{display:grid; grid-template-columns:1fr 1fr; gap:0; border:1px solid var(--rule);}
.category-topics .topic-item{border-right:1px solid var(--rule); border-bottom:1px solid var(--rule);}
.category-topics .topic-item:nth-child(2n){border-right:none;}
@media (max-width:600px){ .category-topics{grid-template-columns:1fr;} .category-topics .topic-item{border-right:none;} }

/* Beehiiv embed wrapper */
.beehiiv-embed{max-width:420px; margin:0 auto; background:transparent;}
.beehiiv-embed iframe{width:100%; border:0; background:transparent; display:block;}

/* OpenHeart parent-org pages: audience cards, initiative cards */
.audience-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:0; border:1px solid var(--rule); margin-top:28px;}
.audience-card{padding:30px 26px; border-right:1px solid var(--rule);}
.audience-card:last-child{border-right:none;}
.audience-name{font-family:Georgia,serif; font-weight:bold; color:var(--navy); font-size:1.1rem; margin-bottom:10px;}
.audience-desc{font-size:0.92rem; color:var(--ink); margin:0;}
@media (max-width:820px){ .audience-grid{grid-template-columns:1fr;} .audience-card{border-right:none; border-bottom:1px solid var(--rule);} .audience-card:last-child{border-bottom:none;} }

.initiative-card{
  border:1px solid var(--rule); padding:32px; margin-top:24px;
  display:grid; grid-template-columns:80px 1fr; gap:24px; align-items:start;
}
.initiative-num{font-family:Georgia,serif; font-weight:bold; font-size:2rem; color:var(--teal);}
.initiative-name{font-family:Georgia,serif; font-weight:bold; color:var(--navy); font-size:1.3rem; margin-bottom:10px;}
.initiative-desc{font-size:0.96rem; color:var(--ink); margin-bottom:14px;}
.initiative-future{
  border:1px dashed var(--rule); padding:28px 32px; margin-top:20px;
  color:var(--grey-light); font-style:italic; text-align:center; font-size:0.95rem;
}
@media (max-width:600px){ .initiative-card{grid-template-columns:1fr;} }

/* Get Involved page */
.involve-card{border:1px solid var(--rule); padding:30px 28px; margin-top:20px;}
.involve-name{font-family:Georgia,serif; font-weight:bold; color:var(--navy); font-size:1.2rem; margin-bottom:10px;}
.involve-desc{font-size:0.95rem; color:var(--ink); margin-bottom:16px;}

/* Latest Issues feed */
.issue-feed{display:grid; grid-template-columns:repeat(2,1fr); gap:0; border:1px solid var(--rule); margin-top:24px;}
.issue-card{padding:22px 24px; border-right:1px solid var(--rule); border-bottom:1px solid var(--rule);}
.issue-thumb{width:100%; aspect-ratio:16/10; object-fit:cover; margin-bottom:14px; display:block; border:1px solid var(--rule);}
.issue-card:nth-child(2n){border-right:none;}
.issue-title{font-family:Georgia,serif; font-weight:bold; color:var(--navy); font-size:1.02rem; margin:0 0 6px 0;}
.issue-date{font-size:0.78rem; color:var(--grey-light); text-transform:uppercase; letter-spacing:0.04em; margin-bottom:8px;}
.issue-desc{font-size:0.88rem; color:var(--ink); margin:0 0 10px 0;}
.issue-link{font-size:0.85rem; font-weight:bold;}
.issue-feed-loading, .issue-feed-fallback{padding:24px; text-align:center; color:var(--grey); font-size:0.92rem; border:1px solid var(--rule); margin-top:24px;}
@media (max-width:700px){ .issue-feed{grid-template-columns:1fr;} .issue-card{border-right:none;} }

/* Compact inline inquiry forms (Get Involved page) */
.inline-inquiry{margin-top:16px; display:flex; flex-direction:column; gap:10px; max-width:420px;}
.inline-inquiry input, .inline-inquiry textarea{
  padding:10px 12px; border:1px solid var(--rule); font-family:Arial,sans-serif; font-size:0.92rem; color:var(--ink);
}
.inline-inquiry textarea{min-height:70px; resize:vertical;}
.inline-inquiry button{
  background:var(--teal); color:#fff; border:none; padding:12px 20px; font-weight:bold;
  font-size:0.92rem; cursor:pointer; border-radius:2px; align-self:flex-start;
}
.inline-inquiry button:hover{background:var(--navy);}
