/* ResourceStak v1, scoped additions to the operating-board system. */

.pl-resourcestak-page,
.pl-resourcestak-resource-page{
  background:var(--cream-200);
}

.pl-resourcestak-lead,
.pl-resourcestak-other,
.pl-resourcestak-resource-body,
.pl-resource-files-section,
.pl-resource-next{
  padding:clamp(3rem, 5.5vw, 5rem) 1.75rem;
}

.pl-resourcestak-lead-inner,
.pl-resourcestak-other-inner,
.pl-resource-content-grid,
.pl-resource-files-inner,
.pl-resource-next-inner{
  max-width:1120px;
  margin:0 auto;
}

.pl-resourcestak-lead-inner{
  display:grid;
  grid-template-columns:minmax(0, 0.78fr) minmax(320px, 1.22fr);
  gap:clamp(1.5rem, 4vw, 4rem);
  align-items:start;
}

.pl-resourcestak-intro,
.pl-resourcestak-library,
.pl-resource-sheet,
.pl-resource-file,
.pl-resource-usage{
  padding:clamp(1.7rem, 3vw, 2.6rem);
  box-shadow:var(--shadow-paper-flat);
}

.pl-resourcestak-intro h2,
.pl-resourcestak-library h2,
.pl-resource-sheet h2{
  margin:0.4rem 0 1rem;
  line-height:1.12;
  letter-spacing:-0.02em;
}

.pl-resourcestak-intro p,
.pl-resourcestak-library > p,
.pl-resource-sheet p{
  color:#2f4058;
}

.pl-resource-library-grid{
  display:grid;
  grid-template-columns:minmax(0, 1fr);
  gap:1.5rem;
  max-width:700px;
  margin-top:1.6rem;
}

.pl-resource-card{
  display:flex;
  flex-direction:column;
  min-height:310px;
  padding:2.2rem 1.7rem 1.55rem;
  color:var(--navy-text);
  text-decoration:none;
  box-shadow:var(--shadow-paper);
}

.pl-resource-card:hover,
.pl-resource-card:focus-visible{
  opacity:1;
  transform:rotate(0deg) translateY(-4px);
  box-shadow:var(--shadow-paper-lift);
}

.pl-resource-card-meta{
  display:flex;
  flex-wrap:wrap;
  gap:0.6rem 1rem;
  align-items:center;
  margin-bottom:0.6rem;
  color:var(--gray-text);
  font-size:0.78rem;
  font-weight:800;
  letter-spacing:0.1em;
  line-height:1.4;
  text-transform:uppercase;
}

.pl-resource-card-type{
  color:var(--accent-blue);
}

.pl-resource-card h2,
.pl-resource-card h3{
  margin:0.25rem 0 0.8rem;
  font-size:clamp(1.6rem, 3vw, 2.3rem);
  line-height:1.08;
  letter-spacing:-0.03em;
}

.pl-page .pl-resource-card-outcome{
  margin:0;
  color:#2f4058;
  font-size:1.08rem;
  line-height:1.6;
}

.pl-resource-card-categories,
.pl-resource-card-proof{
  display:block;
  margin-top:1rem;
  color:#42506b;
  font-size:0.9rem;
  line-height:1.45;
}

.pl-resource-card-proof{
  color:var(--status-building);
  font-weight:700;
}

.pl-resource-card .pl-obj-cue{
  margin-top:auto;
}

.pl-resourcestak-other-inner{
  max-width:1120px;
}

.pl-resourcestak-layers{
  padding:clamp(3rem, 5.5vw, 5rem) 1.75rem;
}

.pl-resourcestak-other h2{
  max-width:680px;
  margin:0.4rem 0 0;
  font-size:clamp(1.8rem, 3.5vw, 2.7rem);
  line-height:1.08;
  letter-spacing:-0.03em;
}

.pl-resource-other-grid{
  display:grid;
  grid-template-columns:repeat(4, minmax(0, 1fr));
  gap:1rem;
  margin-top:2rem;
}

.pl-resource-card-secondary{
  min-height:0;
  padding:1.45rem 1.25rem 1.25rem;
  box-shadow:var(--shadow-paper-flat);
}

.pl-resource-card-secondary h3{
  font-size:1.35rem;
}

.pl-resource-card-secondary .pl-resource-card-outcome{
  font-size:0.98rem;
}

.pl-resource-card-secondary .pl-obj-cue{
  font-size:0.92rem;
}

.pl-resourcestak-resource-page .pl-wall-hero-inner{
  max-width:1120px;
}

.pl-resource-hero-copy{
  max-width:760px;
}

.pl-resource-hero-copy .pl-wall-hero-sub{
  max-width:720px;
}

.pl-resource-hero-action{
  margin-top:1.8rem;
}

.pl-resource-hero-action.pl-btn-primary{
  color:#fff;
}

.pl-resource-meta-strip{
  display:flex;
  flex-wrap:wrap;
  gap:0.75rem;
  max-width:1120px;
  margin:0 auto;
  padding:1.2rem 1.75rem;
  list-style:none;
  border-bottom:1px solid rgba(8,40,72,0.12);
}

.pl-resource-meta-strip li{
  display:flex;
  gap:0.4rem;
  align-items:baseline;
  padding:0.5rem 0.7rem;
  background:rgba(255,255,255,0.5);
  color:var(--navy-text);
  font-size:0.92rem;
}

.pl-resource-meta-strip li span{
  color:var(--gray-text);
  font-size:0.72rem;
  font-weight:800;
  letter-spacing:0.1em;
  text-transform:uppercase;
}

.pl-resource-content-grid{
  display:grid;
  grid-template-columns:minmax(0, 1fr) minmax(0, 0.82fr);
  gap:clamp(1.4rem, 3vw, 2.5rem);
  align-items:start;
}

.pl-resource-sheet-wide{
  grid-column:1 / -1;
}

.pl-resource-sheet h3{
  margin:0.4rem 0 0.8rem;
  font-size:1.45rem;
  line-height:1.15;
}

.pl-resource-sheet .pl-prose p:last-child{
  margin-bottom:0;
}

.pl-resource-checklist,
.pl-resource-steps{
  margin:1.2rem 0 0;
  padding-left:1.35rem;
  color:#2f4058;
}

.pl-resource-checklist li,
.pl-resource-steps li{
  margin:0.65rem 0;
  padding-left:0.25rem;
  font-size:1.05rem;
  line-height:1.55;
}

.pl-resource-section-heading{
  max-width:720px;
  margin:0 auto 1.8rem;
  text-align:center;
}

.pl-resource-section-heading h2{
  margin:0.35rem 0 0;
  color:var(--navy-text);
  font-size:clamp(1.9rem, 4vw, 3rem);
  line-height:1.08;
}

.pl-wall .pl-resource-section-heading h2{
  color:var(--cream-100);
}

.pl-resource-layer-grid{
  display:grid;
  grid-template-columns:repeat(2, minmax(0, 1fr));
  gap:0 2rem;
  max-width:1120px;
  margin:0 auto;
  padding:0;
  list-style:none;
}

.pl-resource-layer-grid li{
  display:grid;
  grid-template-columns:2.2rem minmax(0, 1fr);
  gap:0.85rem;
  padding:1.1rem 0;
  border-top:1px solid rgba(248,244,242,0.2);
}

.pl-resource-layer-number{
  display:grid;
  place-items:center;
  width:2rem;
  height:2rem;
  border:1px solid rgba(248,244,242,0.4);
  border-radius:50%;
  color:var(--cream-100);
  font-weight:800;
}

.pl-resource-layer-grid h3{
  margin:0;
  color:var(--cream-100);
  font-size:1.1rem;
  line-height:1.25;
}

.pl-page .pl-resource-layer-grid p{
  margin:0.3rem 0 0;
  color:rgba(248,244,242,0.76);
  font-size:0.98rem;
  line-height:1.5;
}

.pl-resource-evidence-grid{
  display:grid;
  grid-template-columns:repeat(5, minmax(0, 1fr));
  gap:0.8rem;
  max-width:1120px;
  margin:0 auto;
}

.pl-resource-evidence-item{
  padding:1rem;
  border-top:3px solid var(--accent-blue);
  background:rgba(255,255,255,0.55);
}

.pl-resource-evidence-item dt{
  color:var(--accent-blue);
  font-size:0.85rem;
  font-weight:800;
  letter-spacing:0.08em;
}

.pl-resource-evidence-item dd{
  margin:0.55rem 0 0;
  color:#2f4058;
  font-size:0.94rem;
  line-height:1.5;
}

.pl-resource-integrity{
  max-width:760px;
  margin:2rem auto 0;
  padding:1.45rem 1.6rem;
  border-left:3px solid var(--accent-blue);
  background:rgba(8,40,72,0.06);
}

.pl-resource-integrity h3{
  margin:0 0 0.8rem;
}

.pl-resource-integrity ul{
  margin:0;
  padding-left:1.3rem;
  color:#2f4058;
}

.pl-resource-integrity li{
  margin:0.45rem 0;
  line-height:1.5;
}

.pl-resourcestak-case-study{
  padding:clamp(3rem, 5.5vw, 5rem) 1.75rem;
}

.pl-resource-case-study-inner{
  max-width:1120px;
  margin:0 auto;
}

.pl-resource-case-study-inner h2{
  max-width:760px;
  margin:0.3rem 0 1rem;
  color:var(--cream-100);
  font-size:clamp(1.9rem, 4vw, 3rem);
  line-height:1.08;
}

.pl-page .pl-resource-case-study-inner > p{
  max-width:760px;
  color:rgba(248,244,242,0.84);
}

.pl-resource-case-map{
  display:grid;
  grid-template-columns:repeat(3, minmax(0, 1fr));
  gap:1rem;
  margin:2rem 0;
}

.pl-resource-case-map div{
  padding:1.1rem 1.2rem;
  background:var(--paper);
  color:var(--navy-text);
}

.pl-resource-case-map span{
  display:block;
  margin-bottom:0.35rem;
  color:var(--accent-blue);
  font-size:0.75rem;
  font-weight:800;
  letter-spacing:0.1em;
  text-transform:uppercase;
}

.pl-resource-case-map strong{
  font-size:1.05rem;
  line-height:1.35;
}

.pl-resource-case-note{
  max-width:760px;
  margin:0 0 1.4rem;
  color:rgba(248,244,242,0.72);
  font-size:0.98rem;
}

.pl-resource-case-link{
  color:var(--cream-100);
  font-weight:800;
  text-decoration:underline;
  text-underline-offset:4px;
}

.pl-resource-files-inner > p{
  max-width:720px;
  margin:0 auto;
  color:#2f4058;
  text-align:center;
}

.pl-resource-files{
  display:grid;
  grid-template-columns:repeat(3, minmax(0, 1fr));
  gap:1rem;
  margin-top:2rem;
}

.pl-resource-file{
  display:flex;
  flex-direction:column;
  min-height:210px;
  color:var(--navy-text);
}

.pl-resource-file h3{
  margin:0.3rem 0 0.7rem;
  font-size:1.25rem;
  line-height:1.2;
}

.pl-page .pl-resource-file p{
  margin:0;
  color:#2f4058;
  font-size:0.98rem;
  line-height:1.55;
}

.pl-resource-file .pl-btn{
  width:100%;
  margin-top:auto;
  padding:0.85rem 1rem;
  font-size:0.98rem;
}

.pl-resource-prompt-wrap{
  max-width:1120px;
  margin:2rem auto 0;
  padding:clamp(1.3rem, 3vw, 2rem);
  background:var(--paper);
  box-shadow:var(--shadow-paper-flat);
}

.pl-resource-prompt-head{
  display:flex;
  flex-wrap:wrap;
  gap:1rem;
  align-items:center;
  justify-content:space-between;
  margin-bottom:1rem;
}

.pl-resource-prompt-head h3{
  margin:0;
  font-size:1.35rem;
}

.pl-resource-copy-button{
  min-height:44px;
  padding:0.65rem 1rem;
  border:2px solid var(--accent-blue);
  border-radius:var(--border-radius-button);
  background:transparent;
  color:var(--accent-blue);
  font:700 0.95rem/1.2 var(--font-family);
  cursor:pointer;
}

.pl-resource-copy-button:hover,
.pl-resource-copy-button.is-copied{
  background:var(--accent-blue);
  color:#fff;
}

.pl-resource-prompt{
  max-width:100%;
  margin:0;
  padding:1.25rem;
  overflow-wrap:anywhere;
  white-space:pre-wrap;
  word-break:break-word;
  border:1px solid rgba(8,40,72,0.14);
  background:#f1ece6;
  color:var(--navy-text);
  font:0.9rem/1.65 ui-monospace,SFMono-Regular,Menlo,Consolas,"Liberation Mono",monospace;
}

.pl-resource-copy-status{
  min-height:1.4em;
  margin:0.65rem 0 0;
  color:var(--gray-text);
  font-size:0.9rem;
}

.pl-resource-usage{
  max-width:760px;
  margin:2rem auto 0;
  border-left:3px solid var(--status-building);
}

.pl-resource-usage h3{
  margin:0 0 0.5rem;
}

.pl-page .pl-resource-usage p{
  margin:0;
  color:#2f4058;
  font-size:0.98rem;
  line-height:1.6;
}

.pl-resource-next-inner{
  display:flex;
  flex-wrap:wrap;
  gap:1rem 2rem;
  align-items:baseline;
  justify-content:space-between;
}

.pl-resource-next-copy{
  max-width:700px;
}

.pl-resource-next-copy h2{
  margin:0.3rem 0 0.7rem;
  font-size:clamp(1.7rem, 3vw, 2.5rem);
  line-height:1.1;
}

.pl-page .pl-resource-next-copy p{
  margin:0;
  color:#2f4058;
}

.pl-resource-next-links{
  display:flex;
  flex-wrap:wrap;
  gap:0.8rem 1.2rem;
}

.pl-resource-next-links a{
  color:var(--accent-blue);
  font-weight:800;
  text-decoration:underline;
  text-underline-offset:4px;
}

@media (max-width:900px){
  .pl-resourcestak-lead-inner,
  .pl-resource-content-grid{
    grid-template-columns:1fr;
  }

  .pl-resource-other-grid{
    grid-template-columns:repeat(2, minmax(0, 1fr));
  }

  .pl-resource-evidence-grid{
    grid-template-columns:repeat(2, minmax(0, 1fr));
  }

  .pl-resource-case-map,
  .pl-resource-files{
    grid-template-columns:repeat(2, minmax(0, 1fr));
  }
}

@media (max-width:640px){
  .pl-resourcestak-lead,
  .pl-resourcestak-other,
  .pl-resourcestak-resource-body,
  .pl-resource-files-section,
  .pl-resource-next,
  .pl-resourcestak-layers,
  .pl-resourcestak-case-study{
    padding-left:1.25rem;
    padding-right:1.25rem;
  }

  .pl-resourcestak-intro,
  .pl-resourcestak-library,
  .pl-resource-sheet,
  .pl-resource-file,
  .pl-resource-usage{
    padding:1.45rem 1.25rem;
  }

  .pl-resource-meta-strip{
    padding-left:1.25rem;
    padding-right:1.25rem;
  }

  .pl-resource-meta-strip li{
    flex:1 1 calc(50% - 0.75rem);
    display:block;
  }

  .pl-resource-meta-strip li span{
    display:block;
    margin-bottom:0.2rem;
  }

  .pl-resource-card{
    min-height:0;
  }

  .pl-resource-other-grid,
  .pl-resource-evidence-grid,
  .pl-resource-case-map,
  .pl-resource-files{
    grid-template-columns:1fr;
  }

  .pl-resource-layer-grid{
    grid-template-columns:1fr;
  }

  .pl-resource-prompt-head{
    align-items:flex-start;
  }

  .pl-resource-copy-button{
    width:100%;
  }

  .pl-resource-prompt{
    padding:1rem;
    font-size:0.82rem;
  }
}
