/* PA SHRM 2026 field kit — paper & ink, editorial field-manual */
:root{
  color-scheme: light;
  --paper:#FBF7F0;
  --paper-2:#F3ECE1;
  --paper-3:#EAE0D2;
  --ink:#16162E;
  --ink-2:#3B3B55;
  --ink-3:#6B6A84;
  --rule:rgba(22,22,46,.16);
  --rule-soft:rgba(22,22,46,.08);
  --coral:#E2502A;
  --coral-soft:#FCE9E2;
  --mauve:#8A4E7B;
  --teal:#0B7C88;
  --max:68rem;
  --step--1:clamp(.82rem,.79rem + .14vw,.9rem);
  --step-0:clamp(1rem,.96rem + .2vw,1.09rem);
  --step-1:clamp(1.2rem,1.1rem + .5vw,1.45rem);
  --step-2:clamp(1.5rem,1.3rem + 1vw,2.05rem);
  --step-3:clamp(2rem,1.6rem + 2vw,3.1rem);
  --step-4:clamp(2.6rem,1.8rem + 4vw,5.4rem);
}
:root:not([data-theme="light"]){}
@media (prefers-color-scheme: dark){
  :root:not([data-theme="light"]){
    color-scheme: dark;
    --paper:#14121A;
    --paper-2:#1C1A24;
    --paper-3:#252230;
    --ink:#F2EDE4;
    --ink-2:#CFC8BC;
    --ink-3:#9A9385;
    --rule:rgba(242,237,228,.18);
    --rule-soft:rgba(242,237,228,.09);
    --coral:#FF7A54;
    --coral-soft:#33201A;
    --mauve:#C98EB8;
    --teal:#4FC3CE;
  }
}
:root[data-theme="dark"]{
  color-scheme: dark;
  --paper:#14121A; --paper-2:#1C1A24; --paper-3:#252230;
  --ink:#F2EDE4; --ink-2:#CFC8BC; --ink-3:#9A9385;
  --rule:rgba(242,237,228,.18); --rule-soft:rgba(242,237,228,.09);
  --coral:#FF7A54; --coral-soft:#33201A; --mauve:#C98EB8; --teal:#4FC3CE;
}

*,*::before,*::after{box-sizing:border-box}
body{
  margin:0;
  background:var(--paper);
  color:var(--ink);
  font-family:"Plus Jakarta Sans",ui-sans-serif,system-ui,"Segoe UI",Helvetica,sans-serif;
  font-size:var(--step-0);
  line-height:1.62;
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}
h1,h2,h3,.display{font-family:"Fraunces","Iowan Old Style",Georgia,serif;font-weight:700;line-height:1.02;letter-spacing:-.018em;margin:0}
p{margin:0 0 1em}
a{color:inherit}
strong{font-weight:700}
.wrap{width:min(100% - 2.4rem,var(--max));margin-inline:auto}
.eyebrow{
  font-size:var(--step--1);font-weight:700;letter-spacing:.16em;text-transform:uppercase;
  color:var(--ink-3);margin:0 0 1.1rem
}
.rule{height:1px;background:var(--rule);border:0;margin:0}

/* ---------- masthead ---------- */
.masthead{
  padding:clamp(1.6rem,4vw,3rem) 0 clamp(1.8rem,4vw,2.6rem);
  border-bottom:2px solid var(--ink);
  position:relative;
}
.masthead::after{
  content:"";position:absolute;left:0;right:0;bottom:-6px;height:2px;background:var(--ink);opacity:.25
}
.brandline{
  display:flex;flex-wrap:wrap;gap:.6rem 1.1rem;align-items:baseline;
  font-size:var(--step--1);letter-spacing:.14em;text-transform:uppercase;font-weight:700;color:var(--ink-3);
  margin-bottom:clamp(1.4rem,4vw,2.4rem)
}
.brandline .dot{width:.42rem;height:.42rem;border-radius:50%;background:var(--coral);display:inline-block;transform:translateY(-.15em)}
h1.title{font-size:var(--step-4);max-width:16ch}
h1.title em{font-style:italic;color:var(--coral);font-variation-settings:"SOFT" 40,"WONK" 1}
.standfirst{
  margin-top:clamp(1rem,2.6vw,1.6rem);font-size:var(--step-1);color:var(--ink-2);max-width:46ch;line-height:1.45
}

/* ---------- three words ---------- */
.triad{
  display:grid;gap:1px;background:var(--rule);
  grid-template-columns:repeat(auto-fit,minmax(13rem,1fr));
  margin:clamp(2rem,5vw,3.2rem) 0;border:1px solid var(--rule)
}
.triad > div{background:var(--paper);padding:1.4rem 1.3rem 1.5rem}
.triad dt{font-family:"Fraunces",Georgia,serif;font-size:var(--step-2);font-weight:700;letter-spacing:-.02em;margin-bottom:.35rem}
.triad .n{display:block;font-family:"Plus Jakarta Sans",sans-serif;font-size:.72rem;letter-spacing:.2em;color:var(--coral);font-weight:800;margin-bottom:.55rem}
.triad dd{margin:0;color:var(--ink-2);font-size:var(--step--1);line-height:1.5}

/* ---------- form card ---------- */
.gate{
  margin:clamp(2rem,5vw,3rem) 0;
  border:2px solid var(--ink);
  background:var(--paper-2);
  padding:clamp(1.3rem,3.4vw,2.2rem);
}
.gate h2{font-size:var(--step-2);margin-bottom:.5rem}
.gate .sub{color:var(--ink-2);font-size:var(--step--1);margin-bottom:1.5rem;max-width:52ch}
.field{margin-bottom:1.05rem}
.field label{display:block;font-size:.78rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-2);margin-bottom:.38rem}
.field .hint{text-transform:none;letter-spacing:0;font-weight:500;color:var(--ink-3);font-size:.78rem}
input,select,textarea{
  width:100%;font:inherit;font-size:16px;color:var(--ink);
  background:var(--paper);border:1px solid var(--rule);border-radius:2px;
  padding:.72rem .8rem;transition:border-color .18s ease,box-shadow .18s ease
}
textarea{resize:vertical;min-height:4.6rem;line-height:1.5}
input:focus-visible,select:focus-visible,textarea:focus-visible{
  outline:none;border-color:var(--coral);box-shadow:0 0 0 3px var(--coral-soft)
}
.row{display:grid;gap:1.05rem;grid-template-columns:1fr}
@media(min-width:34rem){.row.two{grid-template-columns:1fr 1fr}}
.more{border:0;padding:0;margin:.4rem 0 0}
.more summary{
  cursor:pointer;font-size:.78rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase;
  color:var(--coral);padding:.6rem 0;list-style:none
}
.more summary::-webkit-details-marker{display:none}
.more summary::before{content:"+ ";font-family:monospace}
.more[open] summary::before{content:"– "}
.more > div{padding-top:.7rem;border-top:1px solid var(--rule-soft)}
button.go{
  width:100%;margin-top:1.3rem;font:inherit;font-weight:800;letter-spacing:.06em;text-transform:uppercase;
  font-size:.92rem;color:var(--paper);background:var(--ink);border:2px solid var(--ink);
  padding:1rem 1.2rem;border-radius:2px;cursor:pointer;
  transition:transform .2s cubic-bezier(.22,1,.36,1),background-color .2s ease
}
button.go:hover{background:var(--coral);border-color:var(--coral)}
button.go:active{transform:translateY(1px)}
button.go[disabled]{opacity:.55;cursor:progress}
.finehint{font-size:.76rem;color:var(--ink-3);margin:.85rem 0 0;line-height:1.5}

/* ---------- unlocked ---------- */
#done{display:none}
#done.on{display:block;animation:rise .6s cubic-bezier(.22,1,.36,1) both}
@keyframes rise{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}
.acts{display:grid;gap:1px;background:var(--rule);border:1px solid var(--rule);margin-top:1.6rem}
@media(min-width:44rem){.acts{grid-template-columns:1fr 1fr}}
.act{background:var(--paper);padding:1.5rem 1.4rem;text-decoration:none;display:block;transition:background-color .2s ease}
.act:hover{background:var(--paper-3)}
.act .k{font-size:.72rem;letter-spacing:.2em;text-transform:uppercase;font-weight:800;color:var(--coral);display:block;margin-bottom:.6rem}
.act .t{font-family:"Fraunces",Georgia,serif;font-size:var(--step-1);font-weight:700;display:block;margin-bottom:.4rem;letter-spacing:-.015em}
.act .d{color:var(--ink-2);font-size:var(--step--1);line-height:1.5}
.act .arrow{display:inline-block;margin-left:.35rem;transition:transform .25s cubic-bezier(.22,1,.36,1)}
.act:hover .arrow{transform:translateX(4px)}

/* ---------- body sections ---------- */
section.block{padding:clamp(2.4rem,6vw,4rem) 0;border-top:1px solid var(--rule)}
.secnum{
  font-family:"Fraunces",Georgia,serif;font-style:italic;font-size:var(--step-1);
  color:var(--coral);display:block;margin-bottom:.5rem
}
h2.sec{font-size:var(--step-3);max-width:20ch;margin-bottom:1rem}
.lede{font-size:var(--step-1);color:var(--ink-2);max-width:50ch;line-height:1.5}

table.map{width:100%;border-collapse:collapse;margin-top:1.6rem;font-size:var(--step--1)}
table.map th,table.map td{text-align:left;padding:.95rem .8rem;border-bottom:1px solid var(--rule-soft);vertical-align:top}
table.map th{font-size:.72rem;letter-spacing:.16em;text-transform:uppercase;color:var(--ink-3);border-bottom:1px solid var(--rule)}
table.map td:first-child{font-weight:800;white-space:nowrap;font-family:"Fraunces",Georgia,serif;font-size:var(--step-0)}
table.map tr:last-child td{border-bottom:0}
.scroll-x{overflow-x:auto;-webkit-overflow-scrolling:touch}

.callout{
  border-left:3px solid var(--coral);padding:.2rem 0 .2rem 1.2rem;margin:1.8rem 0;
  font-family:"Fraunces",Georgia,serif;font-size:var(--step-1);line-height:1.35;max-width:38ch
}
ol.steps{counter-reset:s;list-style:none;padding:0;margin:1.6rem 0 0}
ol.steps li{counter-increment:s;position:relative;padding:0 0 1.3rem 3rem;border-bottom:1px solid var(--rule-soft);margin-bottom:1.3rem}
ol.steps li:last-child{border-bottom:0;margin-bottom:0;padding-bottom:0}
ol.steps li::before{
  content:counter(s,decimal-leading-zero);position:absolute;left:0;top:.05em;
  font-family:"Fraunces",Georgia,serif;font-size:var(--step-1);color:var(--coral);font-weight:700
}
ol.steps b{display:block;font-family:"Fraunces",Georgia,serif;font-size:var(--step-1);font-weight:700;letter-spacing:-.015em;margin-bottom:.25rem}
ol.steps span{color:var(--ink-2);font-size:var(--step--1);line-height:1.55;display:block}

pre.prompt{
  background:var(--paper-2);border:1px solid var(--rule);border-left:3px solid var(--teal);
  padding:1.1rem 1.15rem;margin:1rem 0 0;overflow-x:auto;
  font-family:ui-monospace,"SF Mono",Menlo,Consolas,monospace;font-size:.83rem;line-height:1.65;
  white-space:pre-wrap;color:var(--ink)
}
.copybtn{
  font:inherit;font-size:.74rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase;
  background:none;border:1px solid var(--rule);color:var(--ink-2);padding:.42rem .8rem;border-radius:2px;
  cursor:pointer;margin-top:.7rem;transition:border-color .2s,color .2s
}
.copybtn:hover{border-color:var(--coral);color:var(--coral)}

footer.foot{border-top:2px solid var(--ink);padding:clamp(2rem,5vw,3rem) 0 clamp(2.6rem,6vw,4rem);margin-top:1rem}
.foot .name{font-family:"Fraunces",Georgia,serif;font-size:var(--step-2);margin-bottom:.3rem}
.foot .meta{color:var(--ink-3);font-size:var(--step--1);line-height:1.7}
.foot a{color:var(--coral);text-decoration:none;border-bottom:1px solid var(--rule)}
.foot a:hover{border-bottom-color:var(--coral)}
.vis-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
@media(prefers-reduced-motion:reduce){*{animation-duration:.01ms !important;transition-duration:.01ms !important}}
