/* Resources index — editorial library layout */

.resources-page .article-main{padding-bottom:72px}

.resources-hero{max-width:40rem;margin-bottom:8px}
.resources-hero h1{font-family:var(--serif);font-weight:400;font-size:clamp(2.1rem,4.5vw,2.85rem);letter-spacing:-0.02em;line-height:1.15;color:var(--ink);margin:12px 0 16px}
.resources-hero .lead{font-size:1.08rem;line-height:1.65;color:var(--ink-2);margin:0}

.resources-featured{
  margin:36px 0 48px;
  padding:22px 24px;
  display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;gap:16px 28px;
  border-radius:var(--r);
  background:rgba(255,255,255,0.62);
  border:1px solid var(--stroke);
  box-shadow:var(--shadow-soft);
}
.resources-featured h2{font-family:var(--serif);font-weight:400;font-size:1.35rem;margin:0 0 6px;letter-spacing:-0.01em}
.resources-featured p{margin:0;color:var(--ink-2);font-size:.98rem;max-width:42ch;line-height:1.55}
.resources-featured .btn{flex:none;align-self:center}

.resources-topics{display:flex;flex-direction:column;gap:48px;margin-top:8px}

.topic{
  padding-top:8px;
  border-top:1px solid var(--stroke);
}
.topic-head{max-width:38rem;margin-bottom:20px}
.topic-head .topic-label{
  display:inline-block;
  font-size:.68rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;
  color:var(--blue-deep);margin-bottom:8px;
}
.topic-head h2{
  font-family:var(--serif);font-weight:400;
  font-size:clamp(1.45rem,2.8vw,1.75rem);
  letter-spacing:-0.015em;margin:0 0 10px;color:var(--ink);
}
.topic-head p{margin:0;color:var(--ink-2);font-size:.98rem;line-height:1.55}

.topic-hub{
  display:block;text-decoration:none;color:inherit;
  padding:18px 20px;margin-bottom:14px;
  border-radius:14px;
  background:linear-gradient(135deg,rgba(74,111,176,0.10),rgba(255,255,255,0.55));
  border:1px solid var(--stroke);
  transition:border-color .2s, transform .2s, box-shadow .2s;
}
.topic-hub:hover{
  border-color:rgba(74,111,176,0.35);
  transform:translateY(-1px);
  box-shadow:0 14px 36px -20px rgba(20,40,80,0.4);
}
.topic-hub .hub-kicker{
  font-size:.68rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase;
  color:var(--blue-deep);margin-bottom:6px;
}
.topic-hub h3{
  font-family:var(--serif);font-weight:400;font-size:1.22rem;
  margin:0 0 6px;letter-spacing:-0.01em;color:var(--ink);
}
.topic-hub p{margin:0;font-size:.94rem;color:var(--ink-2);line-height:1.5;max-width:52ch}

.guide-list{
  list-style:none;margin:0;padding:0;
  border:1px solid var(--stroke);
  border-radius:14px;
  background:rgba(255,255,255,0.48);
  overflow:hidden;
}
.guide-list li{border-top:1px solid var(--stroke)}
.guide-list li:first-child{border-top:none}
.guide-list a{
  display:flex;align-items:baseline;justify-content:space-between;gap:16px;
  padding:14px 18px;
  text-decoration:none;color:var(--ink);
  font-size:.97rem;font-weight:500;line-height:1.4;
  transition:background .15s, color .15s;
}
.guide-list a:hover{background:rgba(74,111,176,0.07);color:var(--blue-deep)}
.guide-list a span{flex:1;min-width:0}
.guide-list a::after{
  content:"→";
  flex:none;
  color:var(--ink-3);
  font-weight:500;
  transition:transform .15s, color .15s;
}
.guide-list a:hover::after{color:var(--blue-deep);transform:translateX(2px)}

.resources-note{
  margin-top:56px;padding-top:28px;border-top:1px solid var(--stroke);
  max-width:40rem;color:var(--ink-3);font-size:.88rem;line-height:1.55;
}
.resources-note a{color:var(--blue-deep)}

@media(max-width:640px){
  .resources-featured{padding:18px 16px}
  .topic-hub{padding:16px}
  .guide-list a{padding:13px 14px;font-size:.94rem}
}
