/* Rokture Ramblings archive + Beehiiv subscription sections */
:root {
  --rkram-navy: #10283b;
  --rkram-blue: #6b99bb;
  --rkram-text: #536571;
  --rkram-line: #dfe8ed;
  --rkram-soft: #f5f9fb;
  --rkram-white: #ffffff;
}

.rkram-archive, .rkram-subscribe { font-family: Montserrat, Arial, sans-serif; color: var(--rkram-navy); }
.rkram-shell { width: calc(100% - 48px); max-width: 1180px; margin: 0 auto; }
.rkram-archive-hero { background: #fff; padding: 54px 0 28px; }
.rkram-breadcrumbs { display:flex; gap:8px; flex-wrap:wrap; font-size:12px; color:#82939d; margin-bottom:28px; }
.rkram-breadcrumbs a { color:var(--rkram-blue); text-decoration:none; }
.rkram-kicker { display:block; color:var(--rkram-blue); font-size:11px; font-weight:700; letter-spacing:.12em; text-transform:uppercase; margin-bottom:10px; }
.rkram-archive-hero h1 { margin:0; max-width:780px; font-size:clamp(34px,4vw,54px); line-height:1.05; letter-spacing:-.035em; font-weight:700; }
.rkram-archive-hero h1 strong { color:var(--rkram-blue); font-weight:700; }
.rkram-archive-intro { max-width:790px; margin:18px 0 0; color:var(--rkram-text); font-size:16px; line-height:1.75; }

.rkram-subscribe { background:#fff; }
.rkram-subscribe-archive { padding: 8px 0 38px; }
.rkram-subscribe-single { padding: 24px 0 68px; }
.rkram-subscribe-box { border:1px solid var(--rkram-line); background:var(--rkram-soft); padding:28px 32px; display:grid; grid-template-columns:minmax(0,1fr) minmax(320px, .9fr); gap:36px; align-items:center; }
.rkram-subscribe-copy h2 { margin:0 0 8px; font-size:clamp(22px,2.4vw,30px); line-height:1.15; letter-spacing:-.025em; color:var(--rkram-navy); }
.rkram-subscribe-copy p { margin:0; color:var(--rkram-text); font-size:14px; line-height:1.65; }
.rkram-subscribe-form { width:100%; min-height:55px; display:flex; align-items:center; }
.rkram-subscribe-form > * { width:100%; }

/* Archive signup: compact horizontal treatment. */
.rkram-subscribe-archive .rkram-subscribe-box {
  padding:22px 28px;
  min-height:0;
}
.rkram-subscribe-archive .rkram-subscribe-form { min-height:48px; }

/* Individual Rambling signup: wider, stacked treatment. */
.rkram-subscribe-single .rkrambling-container { overflow:visible; }
.rkram-subscribe-single .rkram-subscribe-box {
  width:940px;
  max-width:calc(100vw - 48px);
  margin-left:50%;
  transform:translateX(-50%);
  grid-template-columns:1fr;
  gap:20px;
  padding:30px 34px;
  align-items:stretch;
  box-sizing:border-box;
}
.rkram-subscribe-single .rkram-subscribe-copy h2 {
  max-width:none;
  font-size:26px;
  line-height:1.1;
  margin-bottom:8px;
}
.rkram-subscribe-single .rkram-subscribe-copy p { max-width:none; }
.rkram-subscribe-single .rkram-subscribe-form,
.rkram-subscribe-single .rkram-subscribe-form > * {
  width:100%;
  max-width:100%;
  min-width:0;
}

.rkram-archive-posts { padding: 18px 0 90px; background:#fff; }
.rkram-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:46px 28px; }
.rkram-card { min-width:0; }
.rkram-card-image { display:block; overflow:hidden; border-radius:6px; aspect-ratio: 16 / 9; background:var(--rkram-soft); }
.rkram-card-image img { width:100%; height:100%; object-fit:cover; display:block; transition:transform .25s ease; }
.rkram-card:hover .rkram-card-image img { transform:scale(1.02); }
.rkram-card-fallback { height:100%; display:flex; flex-direction:column; justify-content:center; align-items:center; background:var(--rkram-navy); color:#fff; }
.rkram-card-fallback span { color:var(--rkram-blue); font-weight:700; }
.rkram-card-fallback strong { font-size:24px; }
.rkram-card-body { padding-top:16px; }
.rkram-card-date { color:#8a9aa4; font-size:11px; margin-bottom:8px; }
.rkram-card h2 { font-size:19px; line-height:1.25; margin:0 0 9px; letter-spacing:-.015em; }
.rkram-card h2 a { color:var(--rkram-navy); text-decoration:none; }
.rkram-card p { margin:0 0 14px; color:var(--rkram-text); font-size:13px; line-height:1.65; }
.rkram-read { color:var(--rkram-blue); font-size:12px; font-weight:700; text-decoration:none; }
.rkram-read:hover, .rkram-card h2 a:hover { text-decoration:underline; }
.rkram-pagination { margin-top:58px; border-top:1px solid var(--rkram-line); padding-top:28px; }
.rkram-pagination ul { list-style:none; margin:0; padding:0; display:flex; justify-content:center; gap:8px; }
.rkram-pagination a, .rkram-pagination span { min-width:34px; height:34px; padding:0 10px; display:flex; align-items:center; justify-content:center; border:1px solid var(--rkram-line); color:var(--rkram-navy); text-decoration:none; font-size:12px; }
.rkram-pagination .current { background:var(--rkram-navy); border-color:var(--rkram-navy); color:#fff; }
.rkram-empty { padding:50px 0; color:var(--rkram-text); }

@media (max-width: 900px) {
  .rkram-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .rkram-subscribe-box { grid-template-columns:1fr; gap:20px; }
  .rkram-subscribe-single .rkram-subscribe-box {
    width:100%;
    max-width:100%;
    margin-left:0;
    transform:none;
  }
}
@media (max-width: 620px) {
  .rkram-shell { width:calc(100% - 32px); }
  .rkram-archive-hero { padding-top:36px; }
  .rkram-grid { grid-template-columns:1fr; gap:36px; }
  .rkram-subscribe-box { padding:24px 20px; }
  .rkram-subscribe-archive { padding-bottom:36px; }
  .rkram-subscribe-single { padding-bottom:48px; }
  .rkram-subscribe-single .rkram-subscribe-box { padding:24px 20px; gap:18px; }
  .rkram-subscribe-single .rkram-subscribe-copy h2 { font-size:23px; }
}
