/* CSP JOURNAL — owned editorial/media archive */

.page-journal,
.page-journal-story {
  background:#050505;
  color:#fff;
}

.journal-shell {
  width:min(1400px,calc(100% - 96px));
  margin:0 auto;
}

.journal-hero {
  position:relative;
  padding:150px 0 80px;
  overflow:hidden;
  background:
    radial-gradient(circle at 82% 38%,rgba(215,25,32,.09),transparent 32%),
    linear-gradient(135deg,#090909,#030303);
  border-bottom:1px solid rgba(255,255,255,.08);
}

.journal-hero__grid {
  display:grid;
  grid-template-columns:minmax(0,.95fr) minmax(360px,.75fr);
  gap:84px;
  align-items:end;
}

.journal-kicker {
  display:flex;
  align-items:center;
  gap:12px;
  color:#d71920;
  font:700 13px/1 Inter,sans-serif;
  letter-spacing:.18em;
  text-transform:uppercase;
}

.journal-kicker::after {
  content:"";
  width:42px;
  height:1px;
  background:#d71920;
}

.journal-hero h1,
.journal-section-title,
.journal-story__hero h1 {
  margin:18px 0 0;
  font-family:Oswald,Inter,sans-serif;
  font-weight:700;
  letter-spacing:.01em;
  text-transform:uppercase;
}

.journal-hero h1 {
  max-width:780px;
  font-size:clamp(50px,5.4vw,82px);
  line-height:.94;
}

.journal-hero h1 span { color:#d71920; }

.journal-hero__copy {
  max-width:610px;
  margin:28px 0 0;
  color:#c4c4c4;
  font:400 18px/1.7 Inter,sans-serif;
}

.journal-hero__aside {
  padding:30px 0 6px 34px;
  border-left:1px solid rgba(255,255,255,.11);
  color:#8f8f8f;
  font:400 14px/1.8 Inter,sans-serif;
}

.journal-toolbar {
  position:sticky;
  top:0;
  z-index:20;
  background:rgba(5,5,5,.96);
  border-bottom:1px solid rgba(255,255,255,.08);
  backdrop-filter:blur(14px);
}

.journal-toolbar__inner {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:28px;
  min-height:84px;
}

.journal-filters {
  display:flex;
  align-items:center;
  gap:4px;
  overflow-x:auto;
  scrollbar-width:none;
}

.journal-filters::-webkit-scrollbar { display:none; }

.journal-filter {
  flex:0 0 auto;
  padding:28px 13px 24px;
  border:0;
  border-bottom:2px solid transparent;
  background:transparent;
  color:#b7b7b7;
  font:700 12px/1 Inter,sans-serif;
  letter-spacing:.08em;
  text-transform:uppercase;
  cursor:pointer;
}

.journal-filter:hover,
.journal-filter:focus-visible,
.journal-filter.is-active {
  color:#fff;
  border-bottom-color:#d71920;
}

.journal-search {
  flex:0 0 min(300px,30vw);
}

.journal-search input {
  width:100%;
  height:46px;
  padding:0 16px;
  border:1px solid rgba(255,255,255,.16);
  border-radius:6px;
  background:#090909;
  color:#fff;
  font:400 14px Inter,sans-serif;
  outline:none;
}

.journal-search input:focus {
  border-color:rgba(215,25,32,.85);
  box-shadow:0 0 0 3px rgba(215,25,32,.10);
}

.journal-archive {
  padding:52px 0 104px;
}

.journal-grid {
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:28px 24px;
}

.journal-card {
  min-width:0;
  border:1px solid rgba(255,255,255,.12);
  border-radius:6px;
  overflow:hidden;
  background:#090909;
  transition:transform .28s ease,border-color .28s ease,box-shadow .28s ease;
}

.journal-card:hover,
.journal-card:focus-within {
  transform:translateY(-5px) scale(1.012);
  border-color:rgba(215,25,32,.55);
  box-shadow:0 18px 45px rgba(0,0,0,.38);
}

.journal-card__link {
  display:block;
  height:100%;
  color:inherit;
  text-decoration:none;
}

.journal-card__media {
  aspect-ratio:16/10;
  overflow:hidden;
  background:#111;
}

.journal-card__media img {
  width:100%;
  height:100%;
  object-fit:cover;
  transition:transform .45s ease;
}

.journal-card:hover .journal-card__media img,
.journal-card:focus-within .journal-card__media img {
  transform:scale(1.045);
}

.journal-card__image-placeholder {
  display:grid;
  place-items:center;
  width:100%;
  height:100%;
  color:#555;
  font:700 32px Oswald,sans-serif;
  letter-spacing:.12em;
}

.journal-card__body {
  padding:19px 20px 21px;
}

.journal-card__category {
  display:block;
  margin-bottom:9px;
  color:#d71920;
  font:700 11px/1 Inter,sans-serif;
  letter-spacing:.11em;
  text-transform:uppercase;
}

.journal-card h2 {
  margin:0;
  color:#f2f2f2;
  font:600 19px/1.28 Inter,sans-serif;
}

.journal-card p {
  margin:10px 0 16px;
  color:#aaa;
  font:400 14px/1.6 Inter,sans-serif;
}

.journal-card time {
  color:#777;
  font:500 12px Inter,sans-serif;
}

.journal-empty {
  max-width:760px;
  margin:70px auto 30px;
  padding:34px;
  border:1px solid rgba(255,255,255,.10);
  border-radius:8px;
  color:#a9a9a9;
  text-align:center;
  font:400 16px/1.7 Inter,sans-serif;
}

.journal-empty strong {
  display:block;
  margin-bottom:8px;
  color:#fff;
  font-family:Oswald,Inter,sans-serif;
  font-size:27px;
  text-transform:uppercase;
}

.journal-load {
  display:flex;
  justify-content:center;
  margin-top:44px;
}

.journal-load button {
  min-width:320px;
  min-height:50px;
  border:1px solid #d71920;
  border-radius:5px;
  background:transparent;
  color:#fff;
  font:700 12px Inter,sans-serif;
  letter-spacing:.08em;
  text-transform:uppercase;
  cursor:pointer;
}

.journal-load button:hover { background:#d71920; }

/* About-page Journal teaser: deliberately compact so the executive profile stays dominant. */
.about-journal {
  padding:72px 0 76px;
  background:#070707;
  border-top:1px solid rgba(255,255,255,.07);
  border-bottom:1px solid rgba(255,255,255,.07);
}

.about-journal__inner {
  width:min(1180px,90%);
  margin:0 auto;
}

.about-journal__head {
  display:grid;
  grid-template-columns:minmax(220px,.62fr) minmax(0,1.38fr);
  gap:64px;
  align-items:end;
}

.about-journal__head h2 {
  margin:12px 0 0;
  font-family:Oswald,Inter,sans-serif;
  font-size:clamp(31px,3vw,43px);
  font-weight:600;
  line-height:1;
  text-transform:uppercase;
}

.about-journal__head h2 span { color:#d71920; }

.about-journal__intro {
  max-width:690px;
  color:#aaa;
  font:400 15px/1.75 Inter,sans-serif;
}

.about-journal__grid {
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:18px;
  margin-top:34px;
}

.about-journal__card {
  display:grid;
  grid-template-columns:112px minmax(0,1fr);
  gap:16px;
  align-items:center;
  min-height:92px;
  padding:10px;
  border:1px solid rgba(255,255,255,.09);
  border-radius:6px;
  color:#fff;
  text-decoration:none;
  background:#090909;
  transition:transform .25s ease,border-color .25s ease,background .25s ease;
}

.about-journal__card:hover,
.about-journal__card:focus-visible {
  transform:translateY(-3px) scale(1.01);
  border-color:rgba(215,25,32,.50);
  background:#0c0c0c;
}

.about-journal__media {
  display:block;
  width:112px;
  aspect-ratio:16/10;
  overflow:hidden;
  border-radius:4px;
  background:#111;
}

.about-journal__media img {
  width:100%;
  height:100%;
  object-fit:cover;
  transition:transform .35s ease;
}

.about-journal__card:hover img { transform:scale(1.05); }

.about-journal__placeholder {
  display:grid;
  place-items:center;
  width:100%;
  height:100%;
  color:#555;
  font:700 20px Oswald,sans-serif;
}

.about-journal__meta small {
  display:block;
  margin-bottom:7px;
  color:#d71920;
  font:700 10px Inter,sans-serif;
  letter-spacing:.1em;
  text-transform:uppercase;
}

.about-journal__meta strong {
  display:block;
  color:#ededed;
  font:600 15px/1.35 Inter,sans-serif;
}

.about-journal__cta {
  display:inline-flex;
  margin-top:28px;
  color:#fff;
  font:700 12px Inter,sans-serif;
  letter-spacing:.08em;
  text-transform:uppercase;
  text-decoration:none;
}

.about-journal__cta:hover { color:#d71920; }

.about-journal[data-waiting-for-stories="true"] { display:none; }

/* Story-authoring foundation */
.journal-story__hero {
  padding:150px 0 58px;
  border-bottom:1px solid rgba(255,255,255,.08);
}

.journal-story__hero h1 {
  max-width:1000px;
  font-size:clamp(42px,5vw,72px);
  line-height:.98;
}

.journal-story__lede {
  max-width:760px;
  margin:24px 0 0;
  color:#b9b9b9;
  font:400 18px/1.7 Inter,sans-serif;
}

.journal-story__body {
  width:min(860px,calc(100% - 48px));
  margin:0 auto;
  padding:70px 0 100px;
  color:#b2b2b2;
  font:400 17px/1.85 Inter,sans-serif;
}

.journal-story__body h2 {
  margin:50px 0 18px;
  color:#fff;
  font:600 34px/1.1 Oswald,sans-serif;
  text-transform:uppercase;
}

@media(max-width:1100px) {
  .journal-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
  .journal-hero__grid { grid-template-columns:1fr; gap:38px; }
  .journal-hero__aside { max-width:720px; }
  .about-journal__grid { grid-template-columns:1fr; }
  .about-journal__card { max-width:760px; }
}

@media(max-width:820px) {
  .journal-shell { width:min(100%,calc(100% - 40px)); }
  .journal-hero { padding:100px 0 58px; }
  .journal-hero h1 { font-size:clamp(43px,12vw,62px); }
  .journal-toolbar { position:relative; }
  .journal-toolbar__inner { align-items:stretch; flex-direction:column; padding:12px 0 18px; }
  .journal-search { flex-basis:auto; width:100%; }
  .journal-filter { padding:16px 11px 13px; }
  .journal-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .about-journal__head { grid-template-columns:1fr; gap:18px; }
}

@media(max-width:560px) {
  .journal-shell { width:min(100%,calc(100% - 30px)); }
  .journal-hero h1 { font-size:42px; }
  .journal-hero__copy { font-size:16px; }
  .journal-hero__aside { padding-left:22px; }
  .journal-grid { grid-template-columns:1fr; }
  .journal-load button { min-width:0; width:100%; }
  .about-journal { padding:58px 0 62px; }
  .about-journal__card { grid-template-columns:90px minmax(0,1fr); }
  .about-journal__media { width:90px; }
}

@media(prefers-reduced-motion:reduce) {
  .journal-card,
  .journal-card__media img,
  .about-journal__card,
  .about-journal__media img { transition:none; transform:none !important; }
}
