:root{
  --resource-blue:#2e3094;
  --resource-ink:#1f2352;
  --resource-text:#3f4358;
  --resource-soft:#f4f6ff;
  --resource-line:rgba(46,48,148,.17);
}

.home-resource-band{
  padding:clamp(34px,5vw,58px) 0;
  background:#151942;
  color:#ffffff;
}
.resource-band-layout{
  display:grid;
  grid-template-columns:minmax(0,.78fr) minmax(0,1.22fr);
  gap:clamp(1rem,3vw,2.4rem);
  align-items:center;
}
.resource-band-copy h2{ margin:0; color:#ffffff; font-size:clamp(1.65rem,3vw,2.35rem); line-height:1.08; }
.resource-band-copy p{ margin:.65rem 0 0; color:rgba(255,255,255,.78); max-width:620px; }
.resource-quick-links{ display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:.7rem; }
.resource-quick-link{
  min-width:0;
  min-height:104px;
  display:flex;
  flex-direction:column;
  justify-content:center;
  padding:.9rem;
  border:1px solid rgba(255,255,255,.18);
  border-radius:8px;
  background:rgba(255,255,255,.08);
  color:#ffffff;
  text-decoration:none;
  transition:transform .18s ease, background-color .18s ease, border-color .18s ease;
}
.resource-quick-link strong{ display:block; font-size:1rem; line-height:1.15; }
.resource-quick-link span{ display:block; margin-top:.35rem; color:rgba(255,255,255,.72); font-size:.86rem; line-height:1.35; }
.resource-quick-link:focus-visible{ outline:3px solid rgba(255,255,255,.55); outline-offset:3px; }

.resource-page .hero{ background:linear-gradient(145deg,#eef1ff 0%,#ffffff 58%,#edf5ff 100%); }
.resource-page .hero-card{ transform:none !important; }
.resource-page .hero-card img{ aspect-ratio:4/3; object-position:center; }
.resource-page .hero-actions{ align-items:center; }
.resource-note{ margin-top:.8rem; color:#5d6277; font-size:.92rem; }
.resource-note strong{ color:var(--resource-ink); }

.resource-index-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:1rem;
}
.resource-index-card{
  min-width:0;
  display:flex;
  flex-direction:column;
  padding:1.1rem;
  border:1px solid var(--resource-line);
  border-top:4px solid var(--resource-blue);
  border-radius:8px;
  background:#ffffff;
  box-shadow:0 14px 30px rgba(16,19,49,.07);
}
.resource-index-card .resource-number{
  width:34px;
  height:34px;
  display:grid;
  place-items:center;
  border-radius:50%;
  background:var(--resource-blue);
  color:#ffffff;
  font-weight:900;
  line-height:1;
}
.resource-index-card h2,.resource-index-card h3{ margin-top:.8rem; }
.resource-index-card p{ margin:.45rem 0 1rem; color:var(--resource-text); }
.resource-index-card .btn{ margin-top:auto; align-self:flex-start; }

.tool-section{ padding:clamp(42px,6vw,76px) 0; background:#ffffff; }
.tool-intro{ max-width:800px; margin:0 auto 1.4rem; text-align:center; }
.tool-intro p{ margin:.65rem auto 0; color:var(--resource-text); }
.tool-form{ width:min(900px,100%); margin-inline:auto; }
.tool-progress{ height:8px; margin-bottom:1.1rem; overflow:hidden; border-radius:999px; background:#e8ebf8; }
.tool-progress span{ display:block; width:0; height:100%; background:var(--resource-blue); transition:width .25s ease; }
.tool-question{
  margin:0 0 .8rem;
  padding:1rem;
  border:1px solid var(--resource-line);
  border-radius:8px;
  background:#ffffff;
  box-shadow:0 10px 24px rgba(16,19,49,.05);
}
.tool-question legend{ width:100%; padding:0; color:var(--resource-ink); font-size:1.04rem; font-weight:900; line-height:1.35; }
.tool-question small{ display:block; margin:.3rem 0 .75rem; color:#666c82; }
.tool-options{ display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:.55rem; }
.tool-options--three{ grid-template-columns:repeat(3,minmax(0,1fr)); }
.tool-option{ position:relative; min-width:0; }
.tool-option input{ position:absolute; opacity:0; pointer-events:none; }
.tool-option span{
  min-height:50px;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:.65rem .75rem;
  border:2px solid #dfe3f5;
  border-radius:8px;
  background:#ffffff;
  color:var(--resource-ink);
  font-weight:850;
  text-align:center;
  cursor:pointer;
  transition:border-color .15s ease,background-color .15s ease,transform .15s ease;
}
.tool-option input:checked + span{ border-color:var(--resource-blue); background:#eef1ff; color:var(--resource-blue); }
.tool-option input:focus-visible + span{ outline:3px solid rgba(46,48,148,.25); outline-offset:2px; }
.tool-actions{ display:flex; flex-wrap:wrap; justify-content:center; gap:.7rem; margin-top:1.15rem; }
.tool-result{
  display:none;
  width:min(900px,100%);
  margin:1.25rem auto 0;
  padding:1.15rem;
  border:2px solid var(--resource-blue);
  border-radius:8px;
  background:#eef1ff;
}
.tool-result.is-visible{ display:block; animation:resourceResultIn .3s ease both; }
.tool-result[data-level="high"]{ border-color:#a52b3a; background:#fff1f3; }
.tool-result[data-level="medium"]{ border-color:#9a6417; background:#fff8e8; }
.tool-result h2{ font-size:clamp(1.5rem,3vw,2rem); }
.tool-result p{ margin-top:.5rem; color:#34384c; }
.tool-result ul{ display:grid; gap:.45rem; margin:.85rem 0 0; padding-left:1.25rem; }
.result-actions{ display:flex; flex-wrap:wrap; gap:.6rem; margin-top:1rem; }
.result-actions .btn{ min-height:44px; }

.source-strip{ padding:1rem; border-left:4px solid var(--resource-blue); background:var(--resource-soft); }
.source-strip p{ color:var(--resource-text); }
.source-strip a{ color:var(--resource-blue); font-weight:850; }

.project-grid{ display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1rem; }
.project-card{
  min-width:0;
  overflow:hidden;
  border:1px solid var(--resource-line);
  border-radius:8px;
  background:#ffffff;
  box-shadow:0 14px 30px rgba(16,19,49,.07);
}
.project-card img{ width:100%; aspect-ratio:4/3; object-fit:cover; }
.project-card-copy{ padding:1rem; }
.project-card-copy p{ margin-top:.42rem; color:var(--resource-text); }
.project-card-tag{ display:inline-flex; padding:.28rem .58rem; border-radius:999px; background:#eef1ff; color:var(--resource-blue); font-size:.74rem; font-weight:900; text-transform:uppercase; }
.project-card--wide{ grid-column:1 / -1; display:grid; grid-template-columns:1fr 1fr; }
.project-card--wide img{ height:100%; }

.resource-links-row{ display:flex; flex-wrap:wrap; justify-content:center; gap:.7rem; }

@keyframes resourceResultIn{ from{ opacity:0; transform:translateY(10px); } to{ opacity:1; transform:translateY(0); } }

@media (hover:hover) and (pointer:fine){
  .resource-quick-link:hover{ transform:translateY(-3px); background:rgba(255,255,255,.13); border-color:rgba(255,255,255,.32); }
  .resource-index-card:hover,.project-card:hover{ transform:translateY(-3px); box-shadow:0 20px 42px rgba(16,19,49,.11); }
  .resource-index-card,.project-card{ transition:transform .2s ease,box-shadow .2s ease; }
  .tool-option span:hover{ border-color:rgba(46,48,148,.42); transform:translateY(-1px); }
}

@media (max-width:860px){
  .resource-band-layout{ grid-template-columns:1fr; }
  .resource-index-grid{ grid-template-columns:1fr; }
  .project-card--wide{ display:block; }
  .project-card--wide img{ height:auto; }
}

@media (max-width:680px){
  .home-resource-band{ padding:30px 0; }
  .resource-quick-links{ display:flex; overflow-x:auto; padding:.1rem .1rem .65rem; scroll-snap-type:x mandatory; scrollbar-width:none; }
  .resource-quick-links::-webkit-scrollbar{ display:none; }
  .resource-quick-link{ flex:0 0 min(78vw,290px); min-height:92px; scroll-snap-align:start; }
  .tool-options,.tool-options--three{ grid-template-columns:1fr; }
  .tool-question{ padding:.85rem; }
  .tool-actions,.result-actions{ flex-direction:column; }
  .tool-actions .btn,.result-actions .btn{ width:100%; }
  .project-grid{ grid-template-columns:1fr; }
  .project-card--wide{ grid-column:auto; }
}

@media (prefers-reduced-motion:reduce){
  .resource-quick-link,.resource-index-card,.project-card,.tool-option span,.tool-progress span{ transition:none; }
  .tool-result.is-visible{ animation:none; }
}
