/* Foreign Policy Digest Archive — Style */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}

:root {
  --red:#B22234; --dark:#111; --text:#2a2a2a; --mid:#666;
  --border:#ddd; --bg:#f4f3ee; --white:#fff;
  --africa:#1B5E20; --americas:#0D47A1; --asia:#880E4F;
  --europe-russia:#311B92; --middle-east:#BF360C;
  --max:1200px;
}

html{font-size:16px;scroll-behavior:smooth}
body{font-family:Georgia,'Times New Roman',serif;background:var(--bg);color:var(--text);line-height:1.65}
a{color:inherit;text-decoration:none}
a:hover{color:var(--red)}
img{max-width:100%;display:block}

/* NAV */
.site-header{background:var(--dark);position:sticky;top:0;z-index:100;box-shadow:0 2px 10px rgba(0,0,0,.35)}
.header-inner{max-width:var(--max);margin:0 auto;padding:0 1.5rem;display:flex;align-items:center;height:58px;gap:1.5rem}
.site-logo{display:flex;align-items:center;gap:.7rem;flex-shrink:0;text-decoration:none}
.logo-mark{width:34px;height:34px}
.logo-text{font-family:'Helvetica Neue',Arial,sans-serif;line-height:1.15;font-size:.88rem;font-weight:700;letter-spacing:.07em;text-transform:uppercase;color:#fff}
.logo-text .fp{color:var(--red)}
.logo-sub{display:block;font-weight:400;font-size:.58rem;letter-spacing:.14em;color:rgba(255,255,255,.45);margin-top:2px}
.site-nav{display:flex;margin-left:auto;gap:0}
.site-nav a{font-family:'Helvetica Neue',Arial,sans-serif;font-size:.73rem;font-weight:500;letter-spacing:.04em;text-transform:uppercase;color:rgba(255,255,255,.7);padding:0 .8rem;height:58px;display:flex;align-items:center;transition:color .15s,background .15s;text-decoration:none}
.site-nav a:hover{color:#fff;background:rgba(255,255,255,.08)}
.site-nav a.active{color:#fff;border-bottom:2px solid var(--red)}
@media(max-width:780px){.site-nav a{padding:0 .45rem;font-size:.66rem}}
@media(max-width:560px){.site-nav{display:none}}

/* HERO */
.hero{background:var(--dark);color:#fff;padding:3.5rem 1.5rem 3rem;text-align:center;border-bottom:3px solid var(--red)}
.hero-eyebrow{font-family:'Helvetica Neue',Arial,sans-serif;font-size:.7rem;letter-spacing:.22em;text-transform:uppercase;color:rgba(255,255,255,.4);margin-bottom:1rem}
.hero h1{font-size:2.9rem;font-weight:400;line-height:1.13;letter-spacing:-.015em}
.hero h1 em{color:var(--red);font-style:normal}
.hero .divider{width:50px;height:3px;background:var(--red);margin:1.25rem auto}
.hero-stats{display:flex;justify-content:center;gap:3rem;margin-top:1.5rem}
.stat-num{display:block;font-family:'Helvetica Neue',Arial,sans-serif;font-size:2rem;font-weight:700;color:var(--red);line-height:1}
.stat-lbl{display:block;font-family:'Helvetica Neue',Arial,sans-serif;font-size:.62rem;letter-spacing:.18em;text-transform:uppercase;color:rgba(255,255,255,.4);margin-top:.3rem}

/* FILTER */
.filter-bar{background:var(--white);border-bottom:1px solid var(--border);position:sticky;top:58px;z-index:90}
.filter-inner{max-width:var(--max);margin:0 auto;padding:0 1.5rem;display:flex;gap:0;overflow-x:auto;scrollbar-width:none}
.filter-inner::-webkit-scrollbar{display:none}
.filter-btn{font-family:'Helvetica Neue',Arial,sans-serif;font-size:.73rem;font-weight:500;letter-spacing:.05em;text-transform:uppercase;color:var(--mid);background:none;border:none;border-bottom:2px solid transparent;padding:.8rem .95rem;cursor:pointer;white-space:nowrap;transition:color .15s,border-color .15s}
.filter-btn:hover{color:var(--dark)}
.filter-btn.active{color:var(--red);border-bottom-color:var(--red)}

/* MAIN */
.main-content{max-width:var(--max);margin:0 auto;padding:2.5rem 1.5rem 5rem}

/* SEARCH */
.search-row{display:flex;align-items:center;gap:1rem;margin-bottom:2rem;flex-wrap:wrap}
.search-input{font-family:'Helvetica Neue',Arial,sans-serif;font-size:.85rem;padding:.55rem 1rem;border:1px solid var(--border);border-radius:3px;background:#fff;color:var(--dark);width:280px;max-width:100%;outline:none;transition:border-color .15s}
.search-input:focus{border-color:var(--red)}
.result-count{font-family:'Helvetica Neue',Arial,sans-serif;font-size:.74rem;color:var(--mid)}

/* GRID */
.article-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem}
@media(max-width:900px){.article-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:560px){.article-grid{grid-template-columns:1fr}}

/* CARD */
.article-card{background:var(--white);border-radius:4px;box-shadow:0 1px 5px rgba(0,0,0,.07);overflow:hidden;display:flex;flex-direction:column;transition:transform .18s,box-shadow .18s}
.article-card:hover{transform:translateY(-2px);box-shadow:0 4px 16px rgba(0,0,0,.11)}
.article-card.hidden{display:none}
.card-body{padding:1.2rem 1.2rem .95rem;flex:1;display:flex;flex-direction:column}
.card-meta{display:flex;align-items:center;gap:.5rem;margin-bottom:.55rem;flex-wrap:wrap}
.region-badge{font-family:'Helvetica Neue',Arial,sans-serif;font-size:.6rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:#fff;padding:.15em .45em;border-radius:2px}
.region-africa{background:var(--africa)}
.region-americas{background:var(--americas)}
.region-asia{background:var(--asia)}
.region-europe-russia{background:var(--europe-russia)}
.region-middle-east{background:var(--middle-east)}
.region-unknown{background:#888}
.card-date{font-family:'Helvetica Neue',Arial,sans-serif;font-size:.67rem;color:var(--mid)}
.card-title{font-size:1rem;font-weight:700;line-height:1.32;margin-bottom:.45rem;color:var(--dark);flex:1}
.card-title a:hover{color:var(--red)}
.card-excerpt{font-size:.82rem;color:var(--mid);line-height:1.5;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;margin-bottom:.7rem}
.card-author{font-family:'Helvetica Neue',Arial,sans-serif;font-size:.68rem;text-transform:uppercase;letter-spacing:.05em;color:var(--mid);border-top:1px solid var(--border);padding-top:.6rem;margin-top:auto}
.card-author a:hover{color:var(--red)}

/* ARTICLE PAGE */
.article-wrap{max-width:760px;margin:0 auto;padding:2.5rem 1.5rem 5rem}
.breadcrumb{font-family:'Helvetica Neue',Arial,sans-serif;font-size:.72rem;color:var(--mid);letter-spacing:.03em;margin-bottom:1.5rem;display:flex;align-items:center;gap:.35rem;flex-wrap:wrap}
.breadcrumb a{color:var(--red)}
.breadcrumb a:hover{text-decoration:underline}
.breadcrumb .sep{color:#ccc}
.article-title{font-size:2.35rem;font-weight:700;line-height:1.18;color:var(--dark);margin-bottom:1rem}
.article-byline{font-family:'Helvetica Neue',Arial,sans-serif;font-size:.8rem;color:var(--mid);display:flex;flex-wrap:wrap;gap:.4rem 1.25rem;align-items:center;padding-bottom:1.25rem;border-bottom:2px solid var(--dark);margin-bottom:2rem}
.byline-author{font-weight:600;color:var(--dark)}
.byline-author a:hover{color:var(--red)}
.article-body{font-size:1.05rem;line-height:1.8;color:var(--text)}
.article-body p{margin-bottom:1.2em}
.article-body h2{font-size:1.4rem;margin:1.8em 0 .6em;color:var(--dark)}
.article-body h3{font-size:1.15rem;margin:1.4em 0 .4em}
.article-body ul,.article-body ol{margin:.8em 0 .8em 2em}
.article-body li{margin-bottom:.4em}
.article-body blockquote{border-left:3px solid var(--red);padding:.5em 1.2em;margin:1.5em 0;font-style:italic;color:var(--mid)}
.article-body a{color:var(--red);text-decoration:underline}
.article-body strong{font-weight:700}
.article-body em{font-style:italic}
.no-content{background:#FFF8F0;border:1px solid #FFD0A0;border-radius:4px;padding:1rem 1.25rem;margin:1.5rem 0;font-family:'Helvetica Neue',Arial,sans-serif;font-size:.82rem;color:#A05000}

/* RELATED */
.related-section{margin-top:3.5rem;padding-top:1.5rem;border-top:1px solid var(--border)}
.section-label{font-family:'Helvetica Neue',Arial,sans-serif;font-size:.66rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--mid);margin-bottom:1rem;padding-bottom:.5rem;border-bottom:1px solid var(--border)}
.article-list{list-style:none}
.article-list li{padding:.8rem 0;border-bottom:1px solid var(--border);display:flex;justify-content:space-between;align-items:baseline;gap:1rem}
.article-list a{font-size:.92rem;color:var(--dark)}
.article-list a:hover{color:var(--red)}
.article-list .alist-date{font-family:'Helvetica Neue',Arial,sans-serif;font-size:.68rem;color:var(--mid);white-space:nowrap;flex-shrink:0}

/* AUTHOR PAGE */
.author-wrap{max-width:900px;margin:0 auto;padding:2.5rem 1.5rem 5rem}
.author-name{font-size:2.1rem;font-weight:700;margin-bottom:.9rem}
.author-bio{font-size:.95rem;line-height:1.75}
.author-bio p{margin-bottom:1em}
.author-header{margin-bottom:2rem;padding-bottom:1.5rem;border-bottom:2px solid var(--dark)}

/* REGION / SECTION HEADERS */
.section-header{background:var(--dark);color:#fff;padding:2.5rem 1.5rem 2rem;text-align:center;border-bottom:3px solid var(--red)}
.section-header h1{font-size:2.1rem;font-weight:400}
.section-header p{font-family:'Helvetica Neue',Arial,sans-serif;font-size:.72rem;letter-spacing:.16em;text-transform:uppercase;color:rgba(255,255,255,.4);margin-top:.5rem}

/* ABOUT */
.about-wrap{max-width:760px;margin:0 auto;padding:2.5rem 1.5rem 5rem}
.about-wrap h1{font-size:2.2rem;margin-bottom:1.75rem}
.about-wrap h2{font-size:1.45rem;margin:2.25rem 0 .9rem;color:var(--dark)}
.about-wrap p{margin-bottom:1.2em;line-height:1.8}
.pullquote{border-left:4px solid var(--red);padding:.75rem 1.5rem;margin:2rem 0;font-size:1.12rem;font-style:italic;line-height:1.58;color:var(--text)}
.pullquote cite{display:block;font-style:normal;font-family:'Helvetica Neue',Arial,sans-serif;font-size:.72rem;letter-spacing:.06em;text-transform:uppercase;color:var(--mid);margin-top:.6rem}

/* FOOTER */
.site-footer{background:var(--dark);color:rgba(255,255,255,.45);padding:2.5rem 1.5rem;text-align:center;font-family:'Helvetica Neue',Arial,sans-serif;font-size:.75rem;letter-spacing:.04em}
.footer-nav{display:flex;justify-content:center;gap:1.5rem;margin-bottom:1rem;flex-wrap:wrap}
.footer-nav a{color:rgba(255,255,255,.55)}
.footer-nav a:hover{color:var(--red)}
.footer-copy{color:rgba(255,255,255,.25);margin-top:.5rem}

/* BACK LINK */
.back-link{display:inline-flex;align-items:center;gap:.35rem;font-family:'Helvetica Neue',Arial,sans-serif;font-size:.74rem;text-transform:uppercase;letter-spacing:.06em;color:var(--mid);margin-bottom:2rem;transition:color .15s}
.back-link:hover{color:var(--red)}
.back-link::before{content:'←'}

/* ISSUE ARCHIVE */
.issue-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:1rem;margin-top:2rem}
.issue-card{background:var(--white);border-radius:4px;box-shadow:0 1px 4px rgba(0,0,0,.07);padding:1.1rem 1.2rem;transition:transform .15s,box-shadow .15s}
.issue-card:hover{transform:translateY(-1px);box-shadow:0 3px 12px rgba(0,0,0,.1)}
.issue-card h3{font-size:.95rem;font-weight:700;margin-bottom:.3rem}
.issue-card p{font-family:'Helvetica Neue',Arial,sans-serif;font-size:.7rem;color:var(--mid)}

/* CONTRIBUTORS */
.contributors-wrap{max-width:var(--max);margin:0 auto;padding:2.5rem 1.5rem 5rem}
.contributors-intro{max-width:680px;margin-bottom:2.5rem}
.contributors-intro h1{font-size:2.2rem;margin-bottom:.9rem}
.contributors-intro p{font-size:.98rem;line-height:1.8;color:var(--mid)}
.contributors-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.4rem}
@media(max-width:900px){.contributors-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:560px){.contributors-grid{grid-template-columns:1fr}}
.contributor-card{background:var(--white);border-radius:4px;box-shadow:0 1px 5px rgba(0,0,0,.07);padding:1.2rem 1.3rem;display:flex;flex-direction:column;gap:.45rem}
.contributor-name{font-size:.98rem;font-weight:700;color:var(--dark)}
.contributor-name a:hover{color:var(--red)}
.contributor-summary{font-size:.78rem;color:var(--mid);line-height:1.55;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.contributor-count{font-family:'Helvetica Neue',Arial,sans-serif;font-size:.65rem;text-transform:uppercase;letter-spacing:.07em;color:#aaa}

/* CONTACT */
.contact-wrap{max-width:600px;margin:0 auto;padding:2.5rem 1.5rem 5rem}
.contact-wrap h1{font-size:2.2rem;margin-bottom:.6rem}
.contact-wrap .contact-lead{font-size:.95rem;color:var(--mid);line-height:1.7;margin-bottom:2rem}
.contact-form{display:flex;flex-direction:column;gap:1.1rem}
.form-group{display:flex;flex-direction:column;gap:.35rem}
.form-group label{font-family:'Helvetica Neue',Arial,sans-serif;font-size:.72rem;font-weight:600;letter-spacing:.07em;text-transform:uppercase;color:var(--dark)}
.form-group input,.form-group textarea{font-family:Georgia,serif;font-size:.95rem;padding:.65rem .9rem;border:1px solid var(--border);border-radius:3px;background:#fff;color:var(--dark);outline:none;transition:border-color .15s;width:100%}
.form-group input:focus,.form-group textarea:focus{border-color:var(--red)}
.form-group textarea{min-height:160px;resize:vertical;line-height:1.6}
.form-submit{font-family:'Helvetica Neue',Arial,sans-serif;font-size:.82rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;background:var(--red);color:#fff;border:none;border-radius:3px;padding:.75rem 2rem;cursor:pointer;transition:background .15s;align-self:flex-start}
.form-submit:hover{background:#8B1A27}
.form-note{font-family:'Helvetica Neue',Arial,sans-serif;font-size:.72rem;color:var(--mid);line-height:1.5;padding-top:.5rem}
