/* ============================================================
   Presscentral.se — editorial wire-service design
   Newsreader (serif) + Libre Franklin (newspaper sans)
   ============================================================ */

:root{
	--ink:#1a1916;
	--paper:#f6f2e9;
	--paper-2:#fbf8f1;
	--press:#9e1b32;      /* press red */
	--press-dk:#7c1426;
	--muted:#6f6a60;
	--line:#d9d2c4;
	--line-dk:#bcb3a1;
	--serif:"Newsreader",Georgia,"Times New Roman",serif;
	--sans:"Libre Franklin",-apple-system,Helvetica,Arial,sans-serif;
	--wrap:1120px;
}

/* base ----------------------------------------------------- */
html{ -webkit-text-size-adjust:100%; }
body.pc-site,
body{
	margin:0;
	background:var(--paper);
	color:var(--ink);
	font-family:var(--sans);
	font-size:18px;
	line-height:1.6;
	-webkit-font-smoothing:antialiased;
	text-rendering:optimizeLegibility;
}
.pc-site{ display:flex; flex-direction:column; min-height:100vh; }
.pc-main{ flex:1 0 auto; }
img{ max-width:100%; height:auto; display:block; }
a{ color:var(--ink); text-decoration:none; }
a:hover{ color:var(--press); }
hr.pc-rule{ border:0; border-top:1px solid var(--line-dk); margin:1.75rem 0; }

.pc-wrap{ max-width:var(--wrap); margin:0 auto; padding:2.5rem 1.25rem 3.5rem; }
.pc-wrap--narrow{ max-width:720px; }
.pc-empty{ color:var(--muted); font-style:italic; }

/* utility bar --------------------------------------------- */
.pc-utility{ background:var(--ink); color:#e9e3d6; font-family:var(--sans); }
.pc-utility__inner{
	max-width:var(--wrap); margin:0 auto; padding:.4rem 1.25rem;
	display:flex; align-items:center; gap:1rem;
	font-size:.72rem; letter-spacing:.08em; text-transform:uppercase;
}
.pc-utility__date{ color:#cfc7b6; }
.pc-utility__tag{ color:#9b958a; }
.pc-utility__cta{ margin-left:auto; color:#fff; border-bottom:1px solid var(--press); padding-bottom:1px; }
.pc-utility__cta:hover{ color:#fff; border-color:#fff; }

/* masthead ------------------------------------------------- */
.pc-masthead{ background:var(--paper); text-align:center; padding:2.1rem 1.25rem .9rem; }
.pc-masthead__inner{ max-width:var(--wrap); margin:0 auto; }
.pc-brand{ display:inline-flex; align-items:center; gap:.55rem; color:var(--ink); }
.pc-brand:hover{ color:var(--ink); }
.pc-brand__mark{ width:16px; height:16px; background:var(--press); display:inline-block; transform:translateY(2px); }
.pc-brand__word{
	font-family:var(--serif); font-weight:600;
	font-size:clamp(2.6rem,7vw,4.4rem); line-height:1;
	letter-spacing:-.015em;
}
.pc-brand__tagline{
	font-family:var(--sans); text-transform:uppercase;
	letter-spacing:.42em; font-size:.72rem; color:var(--muted);
	margin:.7rem 0 0; padding-left:.42em;
}

/* nav (double-rule newspaper bar) ------------------------- */
.pc-nav{
	border-top:3px solid var(--ink);
	border-bottom:1px solid var(--ink);
	background:var(--paper);
	position:sticky; top:0; z-index:20;
	box-shadow:0 1px 0 var(--paper),0 6px 14px -12px rgba(0,0,0,.4);
}
.pc-nav__inner{ max-width:var(--wrap); margin:0 auto; padding:0 1.25rem; }
.pc-nav__list{
	list-style:none; margin:0; padding:0;
	display:flex; justify-content:center; flex-wrap:wrap; gap:2.2rem;
}
.pc-nav__item a{
	display:block; padding:.85rem 0;
	font-family:var(--sans); font-weight:600;
	text-transform:uppercase; letter-spacing:.12em; font-size:.78rem;
	color:var(--ink); border-bottom:2px solid transparent;
}
.pc-nav__item a:hover,
.pc-nav__item.current-menu-item a{ color:var(--press); border-color:var(--press); }

/* dateline / section labels ------------------------------- */
.pc-dateline{
	font-family:var(--sans); text-transform:uppercase;
	letter-spacing:.14em; font-size:.74rem; font-weight:700;
	color:var(--press); margin:0 0 1.4rem;
	display:flex; align-items:center; gap:.7rem;
}
.pc-dateline::after{ content:""; flex:1; height:1px; background:var(--line-dk); }
.pc-dateline__date{ color:var(--muted); font-weight:600; letter-spacing:.08em; }
.pc-lede{ font-family:var(--serif); font-size:1.18rem; color:#43403a; max-width:60ch; margin:-.6rem 0 1.8rem; }

/* front-page grid ----------------------------------------- */
.pc-grid{ display:grid; grid-template-columns:1fr 300px; gap:3rem; }
.pc-grid__side{ border-left:1px solid var(--line); padding-left:2rem; }

/* kicker (newsroom) --------------------------------------- */
.pc-kicker-row{ margin:0 0 .5rem; }
.pc-kicker{
	font-family:var(--sans); text-transform:uppercase;
	letter-spacing:.13em; font-size:.7rem; font-weight:700;
	color:var(--press);
}
.pc-kicker:hover{ color:var(--press-dk); }

/* lead story ---------------------------------------------- */
.pc-lead__thumb{ display:block; margin-bottom:1.1rem; }
.pc-lead__thumb img{ width:100%; aspect-ratio:16/9; object-fit:cover; }
.pc-lead__title{
	font-family:var(--serif); font-weight:600;
	font-size:clamp(1.9rem,4vw,2.9rem); line-height:1.08;
	letter-spacing:-.01em; margin:.1rem 0 .6rem;
}
.pc-lead__title a{ color:var(--ink); }
.pc-lead__title a:hover{ color:var(--press); }
.pc-lead__excerpt{ font-family:var(--serif); font-size:1.16rem; color:#403d37; margin:0 0 .7rem; max-width:54ch; }

/* byline -------------------------------------------------- */
.pc-byline{
	font-family:var(--sans); font-size:.78rem; color:var(--muted);
	letter-spacing:.04em; margin:.2rem 0 0;
}

/* wire list ----------------------------------------------- */
.pc-wirelist{ display:flex; flex-direction:column; }
.pc-wire{ padding:1.25rem 0; border-top:1px solid var(--line); }
.pc-wirelist .pc-wire:first-child{ border-top:0; }
.pc-wire__meta{
	margin:0 0 .3rem; font-family:var(--sans); font-size:.72rem;
	color:var(--muted); letter-spacing:.05em; display:flex; gap:.55rem; align-items:baseline;
}
.pc-wire__meta time{ text-transform:uppercase; }
.pc-wire__sep{ color:var(--line-dk); }
.pc-wire__title{
	font-family:var(--serif); font-weight:600; line-height:1.2;
	font-size:1.4rem; margin:0 0 .25rem;
}
.pc-wire__title a{ color:var(--ink); }
.pc-wire__title a:hover{ color:var(--press); }
.pc-wire__excerpt{ font-family:var(--serif); color:#56524a; font-size:1.02rem; margin:0; max-width:62ch; }

/* sidebar ------------------------------------------------- */
.pc-side-block{ margin-bottom:2.4rem; }
.pc-side-title{
	font-family:var(--sans); text-transform:uppercase; letter-spacing:.13em;
	font-size:.74rem; font-weight:700; color:var(--ink);
	border-bottom:2px solid var(--ink); padding-bottom:.5rem; margin:0 0 .9rem;
}
.pc-side-rooms{ list-style:none; margin:0 0 .8rem; padding:0; }
.pc-side-rooms li{ border-bottom:1px solid var(--line); }
.pc-side-rooms a{
	display:block; padding:.55rem 0; font-family:var(--serif);
	font-size:1.05rem; color:var(--ink);
}
.pc-side-rooms a:hover{ color:var(--press); }
.pc-side-more{
	font-family:var(--sans); font-size:.74rem; font-weight:700;
	text-transform:uppercase; letter-spacing:.1em; color:var(--press);
}
.pc-side-promo{ background:var(--paper-2); border:1px solid var(--line); padding:1.3rem 1.3rem 1.5rem; }
.pc-side-promo p{ font-family:var(--serif); font-size:1.02rem; color:#4a463f; margin:.2rem 0 1rem; }
.pc-btn,.pc-side-more.pc-btn{
	display:inline-block; background:var(--ink); color:#fff;
	font-family:var(--sans); font-size:.76rem; font-weight:700;
	text-transform:uppercase; letter-spacing:.1em;
	padding:.7rem 1.1rem;
}
.pc-btn:hover{ background:var(--press); color:#fff; }

/* article (single) ---------------------------------------- */
.pc-article__head{ border-bottom:1px solid var(--line-dk); padding-bottom:1.2rem; margin-bottom:1.5rem; }
.pc-article__title{
	font-family:var(--serif); font-weight:600;
	font-size:clamp(2rem,4.4vw,3rem); line-height:1.1; letter-spacing:-.012em;
	margin:.3rem 0 .6rem;
}
.pc-article__hero{ margin:0 0 1.6rem; }
.pc-article__hero img{ width:100%; }
.pc-article__credit{ font-family:var(--sans); font-size:.78rem; color:var(--muted); margin-top:.45rem; letter-spacing:.02em; }
.pc-article__body{ font-family:var(--serif); font-size:1.18rem; line-height:1.75; color:#26241f; }
.pc-article__body p{ margin:0 0 1.2rem; }
.pc-article__body a{ color:var(--press); text-decoration:underline; text-underline-offset:2px; }
.pc-article__body blockquote{
	margin:1.8rem 0; padding:.4rem 0 .4rem 1.4rem;
	border-left:3px solid var(--press); font-style:italic; color:#3a3731;
}
.pc-article__body blockquote cite{ display:block; font-style:normal; font-family:var(--sans); font-size:.82rem; text-transform:uppercase; letter-spacing:.08em; color:var(--muted); margin-top:.5rem; }
.pc-article__tags{ margin:2rem 0 0; display:flex; flex-wrap:wrap; gap:.5rem; }
.pc-article__tags a{
	font-family:var(--sans); font-size:.72rem; font-weight:600;
	text-transform:uppercase; letter-spacing:.07em;
	background:var(--paper-2); border:1px solid var(--line-dk);
	padding:.35rem .7rem; color:#4a463f;
}
.pc-article__tags a:hover{ border-color:var(--press); color:var(--press); }

/* contact card -------------------------------------------- */
.pc-contact{ margin-top:2.5rem; background:var(--paper-2); border:1px solid var(--line-dk); border-top:3px solid var(--press); padding:1.4rem 1.5rem; }
.pc-contact__label{ font-family:var(--sans); text-transform:uppercase; letter-spacing:.13em; font-size:.7rem; font-weight:700; color:var(--press); margin:0 0 .5rem; }
.pc-contact__name{ font-family:var(--serif); font-size:1.25rem; margin:0 0 .4rem; }
.pc-contact p{ margin:.15rem 0; font-size:.96rem; color:#4a463f; }
.pc-contact a{ color:var(--ink); }
.pc-contact a:hover{ color:var(--press); }
.pc-backlink{ margin-top:2rem; font-family:var(--sans); font-size:.78rem; font-weight:600; text-transform:uppercase; letter-spacing:.1em; }
.pc-backlink a{ color:var(--press); }

/* newsroom ------------------------------------------------ */
.pc-newsroom__head{ border-bottom:3px solid var(--ink); padding-bottom:1.6rem; margin-bottom:2rem; }
.pc-newsroom__id{ display:flex; align-items:center; gap:1.2rem; }
.pc-newsroom__logo img{ max-height:84px; width:auto; }
.pc-newsroom__eyebrow{ font-family:var(--sans); text-transform:uppercase; letter-spacing:.13em; font-size:.7rem; font-weight:700; color:var(--press); margin:0 0 .2rem; }
.pc-newsroom__name{ font-family:var(--serif); font-weight:600; font-size:clamp(1.9rem,4vw,2.8rem); line-height:1.05; margin:0; }
.pc-newsroom__about{ font-family:var(--serif); font-size:1.12rem; color:#403d37; max-width:62ch; margin:1.2rem 0 0; }
.pc-newsroom__contact{ list-style:none; padding:0; margin:1.1rem 0 0; display:flex; flex-wrap:wrap; gap:.5rem 1.5rem; font-family:var(--sans); font-size:.85rem; color:var(--muted); }
.pc-newsroom__contact a{ color:var(--ink); }

/* directory ----------------------------------------------- */
.pc-directory{ list-style:none; padding:0; margin:0; display:grid; grid-template-columns:repeat(auto-fill,minmax(280px,1fr)); gap:0; border-top:1px solid var(--line); }
.pc-directory__item{ border-bottom:1px solid var(--line); border-right:1px solid var(--line); }
.pc-directory__link{ display:flex; align-items:center; gap:1rem; padding:1.2rem 1.1rem; height:100%; }
.pc-directory__link:hover{ background:var(--paper-2); }
.pc-directory__logo{ width:54px; height:54px; flex:0 0 54px; display:flex; align-items:center; justify-content:center; background:var(--paper-2); border:1px solid var(--line); overflow:hidden; }
.pc-directory__logo img{ width:100%; height:100%; object-fit:cover; }
.pc-directory__logo--mono{ font-family:var(--serif); font-size:1.6rem; color:var(--press); background:#fff; }
.pc-directory__name{ display:block; font-family:var(--serif); font-size:1.2rem; font-weight:600; color:var(--ink); }
.pc-directory__count{ display:block; font-family:var(--sans); font-size:.72rem; text-transform:uppercase; letter-spacing:.07em; color:var(--muted); margin-top:.15rem; }

/* pagination ---------------------------------------------- */
.pc-pagination{ margin-top:2.5rem; font-family:var(--sans); }
.pc-pagination .page-numbers{ padding:.4rem .7rem; border:1px solid var(--line-dk); margin-right:.3rem; font-size:.85rem; color:var(--ink); }
.pc-pagination .page-numbers.current{ background:var(--ink); color:#fff; border-color:var(--ink); }

/* footer -------------------------------------------------- */
.pc-footer{ flex-shrink:0; background:var(--ink); color:#d9d3c6; margin-top:2rem; }
.pc-footer__inner{ max-width:var(--wrap); margin:0 auto; padding:3rem 1.25rem 2rem; display:grid; grid-template-columns:2fr 1fr 1fr; gap:2.5rem; }
.pc-footer__word{ font-family:var(--serif); font-weight:600; font-size:1.7rem; color:#fff; }
.pc-footer__brand p{ font-family:var(--serif); color:#b8b1a3; max-width:42ch; margin:.6rem 0 0; font-size:1.02rem; }
.pc-footer__col h3{ font-family:var(--sans); text-transform:uppercase; letter-spacing:.12em; font-size:.72rem; color:#fff; margin:0 0 .9rem; }
.pc-footer__col ul{ list-style:none; margin:0; padding:0; }
.pc-footer__col li{ margin:.45rem 0; }
.pc-footer__col a{ color:#c9c2b4; font-size:.92rem; }
.pc-footer__col a:hover{ color:#fff; }
.pc-footer__fine{ max-width:var(--wrap); margin:0 auto; padding:1.2rem 1.25rem 2rem; border-top:1px solid #34322c; display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:.5rem 1.5rem; font-family:var(--sans); font-size:.74rem; letter-spacing:.05em; color:#8b857a; text-transform:uppercase; }
.pc-footer__legal{ display:flex; gap:1.25rem; }
.pc-footer__legal a{ color:#b8b1a3; }
.pc-footer__legal a:hover{ color:#fff; }

/* responsive ---------------------------------------------- */
@media (max-width:900px){
	.pc-grid{ grid-template-columns:1fr; gap:2rem; }
	.pc-grid__side{ border-left:0; padding-left:0; border-top:3px solid var(--ink); padding-top:1.6rem; }
	.pc-footer__inner{ grid-template-columns:1fr 1fr; }
	.pc-footer__brand{ grid-column:1 / -1; }
}
@media (max-width:560px){
	body{ font-size:17px; }
	.pc-nav__list{ gap:1.2rem; }
	.pc-brand__tagline{ letter-spacing:.3em; }
	.pc-utility__tag{ display:none; }
	.pc-directory{ grid-template-columns:1fr; }
	.pc-footer__inner{ grid-template-columns:1fr; gap:1.6rem; }
}
