/* Workshops */
.page-ws{
  --W:var(--cream);--K:var(--ink);--rw:#D9D7D2;--rk:rgba(255,255,255,.1);
  --mw:#9A9895;--mk:rgba(255,255,255,.32);--fw:#EDECE9;
  --pad-x:56px;--pad-y:90px;--sb:52px;
}
body.page-ws{background:var(--W);color:var(--K);-webkit-font-smoothing:antialiased}

/* HERO */
.p-hero{padding:10rem 4rem 5rem;border-bottom:1px solid var(--rw);position:relative;overflow:hidden;background:#ffffff}
.p-hero::after{content:"";position:absolute;bottom:0;left:0;right:0;height:1px;background:var(--rw)}
.p-corner-accent{position:absolute;top:0;right:0;width:80px;height:80px;border-left:1px solid var(--rw);border-bottom:1px solid var(--rw);pointer-events:none}
.p-eye{font-size:var(--eyebrow-size);letter-spacing:.25em;text-transform:uppercase;color:var(--muted-2);margin-bottom:1.5rem;font-family:var(--font-body)}
.p-title{font-family:var(--font-display);font-weight:700;font-size:var(--fs-hero);line-height:1.08;letter-spacing:-0.02em;margin-bottom:2rem}
.p-title em{font-family:var(--font-body);font-style:italic;font-weight:300;display:block;font-size:clamp(38px,5.4vw,80px);line-height:1;letter-spacing:-.005em;color:var(--ink);margin:14px 0 6px;padding-left:.4em}
.p-sub{font-family:var(--font-body);font-size:1rem;line-height:1.9;color:var(--ink);font-weight:400;max-width:540px}

/* BODY */
.p-body{padding:5rem 4rem;max-width:1300px;margin:0 auto}

/* GRID */
.p-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:1px;background:var(--rw);border:1px solid var(--rw);margin-top:0}

/* CARD */
.p-card{background:#ffffff;padding:0;position:relative;transition:background .2s;display:flex;flex-direction:column}
.p-card:hover{background:#fafaf8}
.p-card::before{content:"";position:absolute;top:0;left:0;right:0;height:2px;background:var(--rw);transition:background .2s;z-index:1}
.p-card:hover::before{background:var(--K)}
.p-card-img{width:100%;aspect-ratio:16/8;overflow:hidden;background:var(--fw)}
.p-card-img img{width:100%;height:100%;object-fit:cover;object-position:center;display:block;transition:transform .5s ease}
.p-card:hover .p-card-img img{transform:scale(1.04)}
.p-card-body{padding:28px 28px 32px;flex:1;display:flex;flex-direction:column}
.p-card-num{font-family:var(--font-body);font-size:.65rem;letter-spacing:.2em;color:var(--muted-2);margin-bottom:1rem}
.p-card-title{line-height:1.15;font-family:var(--font-display);font-size:clamp(16px,1.8vw,22px);font-weight:600;margin-bottom:.7rem;letter-spacing:-0.006em;color:var(--K);line-height:1.15}
.p-card-sub{font-family:var(--font-body);font-size:.82rem;font-style:italic;font-weight:700;color:var(--K);margin-bottom:.6rem}
.p-card-text{font-family:var(--font-body);font-size:15px;line-height:1.8;color:var(--text-3);font-weight:400;flex:1;margin-bottom:1.4rem}

/* BADGE */
.ws-badge{display:inline-block;font-family:var(--font-body);font-size:var(--eyebrow-size);letter-spacing:.18em;text-transform:uppercase;padding:5px 12px;margin-bottom:12px;font-weight:600;align-self:flex-start}
.ws-badge-up{background:var(--K);color:#fff}
.ws-badge-past{border:1px solid var(--rw);color:var(--mw);background:transparent}

/* DATE */
.ws-date{font-size:var(--eyebrow-size);letter-spacing:.16em;text-transform:uppercase;color:var(--mw);margin-bottom:10px;font-family:var(--font-body)}

/* BUTTON */
.p-btn{display:inline-block;padding:.75rem 1.6rem;font-family:var(--font-body);font-size:var(--eyebrow-size);letter-spacing:.15em;text-transform:uppercase;text-decoration:none;cursor:pointer;border:1px solid var(--K);transition:background .25s,color .25s;align-self:flex-start}
.p-btn-dark{background:var(--K);color:#fff}
.p-btn-dark:hover{background:var(--ink-2);border-color:var(--ink-2)}

/* INVITE */
.ws-invite{margin-top:3px;padding:2.5rem;background:var(--K);text-align:center}
.ws-invite-title{font-family:var(--font-display);font-size:clamp(1.26rem,2.7vw,1.8rem);font-weight:600;color:#fff;margin-bottom:.6rem;letter-spacing:-0.012em}
.ws-invite-sub{font-family:var(--font-body);font-size:.85rem;color:rgba(255,255,255,.5);font-weight:400;margin-bottom:1.4rem}
.ws-invite-sub span{color:rgba(255,255,255,.3);margin:0 8px}


/* RESPONSIVE */
@media(max-width:1024px){
  .page-ws{--pad-x:28px;--pad-y:60px}
  .p-body{padding:3rem 2rem}
  .p-hero{padding:7rem 2rem 3rem}
}
/* lines around each card instead of a grey grid background: no grey block when the last row is short */
.p-grid{background:transparent;border:0;gap:1px}
.p-grid > .p-card{box-shadow:0 0 0 1px var(--rw)}
@media(max-width:680px){
  .p-grid{grid-template-columns:1fr}
  .p-corner-accent{display:none}
  .p-hero{padding:6rem 1.5rem 2.5rem}
  .p-body{padding:2rem 1.5rem}
}
.p-title span{display:block}
.ws-invite .p-btn{background:#fff;color:var(--K);border-color:#fff;font-size:.68rem}
.ws-invite .p-btn:hover{background:var(--line);border-color:var(--line)}
