/* ============================================================
   Izypaper — Ressourcerie (hub) styles
   Loaded on top of landing.css + blog.css
============================================================ */

/* ---------- Hero (variant) ---------- */
.res-hero{padding:80px 0 56px;background:var(--izy-paper);border-bottom:1px solid var(--izy-line);position:relative;overflow:hidden}
.res-hero::before{
  content:'§';position:absolute;top:-180px;right:-80px;
  font-family:'Instrument Serif',serif;font-style:italic;font-size:640px;
  color:rgba(79,43,255,.05);line-height:.85;pointer-events:none;
}
.res-hero .wrap{position:relative;z-index:1}
.res-hero .eyebrow{
  font-family:'Geist Mono',monospace;font-size:11px;letter-spacing:.22em;
  text-transform:uppercase;color:var(--izy-violet);font-weight:600;
  display:inline-flex;align-items:center;gap:10px;
}
.res-hero .eyebrow::before{content:'';width:24px;height:1px;background:var(--izy-violet)}
.res-hero h1{
  font-family:'Instrument Serif',serif;font-weight:400;
  font-size:96px;letter-spacing:-.025em;line-height:.98;color:var(--izy-navy);
  margin:18px 0 0;max-width:1100px;
}
.res-hero h1 em{font-style:italic;color:var(--izy-violet)}
.res-hero .lede{
  font-family:'Instrument Serif',serif;font-style:italic;font-size:26px;
  line-height:1.4;color:rgba(14,10,110,.65);margin:28px 0 0;max-width:740px;
}

/* ---------- Section nav (tabs) ---------- */
.res-tabs{
  position:sticky;top:65px;z-index:40;background:rgba(251,249,244,.92);
  backdrop-filter:blur(14px);border-bottom:1px solid var(--izy-line);
  padding:18px 0;
}
.res-tabs .wrap{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.res-tabs .label{
  font-family:'Geist Mono',monospace;font-size:11px;letter-spacing:.2em;
  text-transform:uppercase;color:var(--izy-violet);font-weight:600;margin-right:14px;
}
.res-tabs a.tab{
  display:inline-flex;align-items:center;gap:10px;
  padding:10px 18px;border:1px solid var(--izy-line);border-radius:999px;
  font-size:13.5px;font-weight:500;color:var(--izy-navy);background:#fff;
  transition:all .15s ease;
}
.res-tabs a.tab:hover{border-color:var(--izy-violet);color:var(--izy-violet)}
.res-tabs a.tab .num{
  width:22px;height:22px;border-radius:50%;background:var(--izy-violet-soft);
  color:var(--izy-violet);font-family:'Instrument Serif',serif;font-style:italic;
  font-size:13px;display:grid;place-items:center;line-height:1;font-weight:400;
}
.res-tabs a.tab .count{
  font-family:'Geist Mono',monospace;font-size:10.5px;color:rgba(14,10,110,.5);
  letter-spacing:.1em;font-weight:500;
}

/* ---------- Section header (shared) ---------- */
.res-section{padding:80px 0;background:var(--izy-paper)}
.res-section.alt{background:var(--izy-cream)}
.res-section.dark{background:var(--izy-navy);color:#fff}
.res-section.dark .sec-head .lab{color:#A099FF}
.res-section.dark .sec-head h2{color:#fff}
.res-section.dark .sec-head h2 em{color:#A099FF}
.res-section.dark .sec-head .sub{color:rgba(255,255,255,.7)}

.sec-head{
  display:grid;grid-template-columns:1fr auto;gap:32px;align-items:end;
  margin-bottom:40px;padding-bottom:24px;border-bottom:1px solid var(--izy-line);
}
.res-section.dark .sec-head{border-color:rgba(255,255,255,.12)}
.sec-head .lab{
  font-family:'Geist Mono',monospace;font-size:11px;letter-spacing:.22em;
  text-transform:uppercase;color:var(--izy-violet);font-weight:600;
  display:inline-flex;align-items:center;gap:10px;
}
.sec-head .lab .num{
  font-family:'Instrument Serif',serif;font-style:italic;font-size:22px;
  color:var(--izy-violet);font-weight:400;letter-spacing:0;
}
.sec-head h2{
  font-family:'Instrument Serif',serif;font-weight:400;font-size:56px;
  letter-spacing:-.025em;line-height:1.02;color:var(--izy-navy);margin:14px 0 0;
}
.sec-head h2 em{font-style:italic;color:var(--izy-violet)}
.sec-head .sub{
  font-family:'Instrument Serif',serif;font-style:italic;font-size:18px;
  color:rgba(14,10,110,.6);line-height:1.45;max-width:380px;text-align:right;
}
.sec-head .sub a{color:var(--izy-violet);font-weight:500;border-bottom:1px solid rgba(79,43,255,.3)}

/* ---------- Featured event / upcoming webinar ---------- */
.upcoming-event{
  display:grid;grid-template-columns:1.05fr 1fr;gap:0;
  background:#fff;border:1px solid var(--izy-line);border-radius:24px;overflow:hidden;
  box-shadow:0 24px 60px -32px rgba(14,10,110,.25);
}
.upcoming-event .visual{
  background:linear-gradient(135deg,var(--izy-violet) 0%,var(--izy-violet-2) 100%);
  color:#fff;padding:40px 44px;position:relative;overflow:hidden;
  display:flex;flex-direction:column;justify-content:space-between;min-height:460px;
}
.upcoming-event .visual::before{
  content:'§';position:absolute;top:-160px;right:-60px;
  font-family:'Instrument Serif',serif;font-style:italic;font-size:640px;
  color:rgba(255,255,255,.06);line-height:.85;pointer-events:none;
}
.upcoming-event .visual .tag{
  display:inline-flex;align-items:center;gap:10px;padding:8px 16px;
  background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.22);
  border-radius:999px;font-family:'Geist Mono',monospace;font-size:11px;
  letter-spacing:.18em;text-transform:uppercase;color:#fff;font-weight:600;
  width:fit-content;position:relative;z-index:1;
}
.upcoming-event .visual .tag .pulse{
  width:8px;height:8px;border-radius:50%;background:#7CE0B0;
  box-shadow:0 0 0 3px rgba(124,224,176,.22);animation:izyPulse 2.2s infinite ease-out;
}
@keyframes izyPulse{
  0%{box-shadow:0 0 0 0 rgba(124,224,176,.45)}
  70%{box-shadow:0 0 0 10px rgba(124,224,176,0)}
  100%{box-shadow:0 0 0 0 rgba(124,224,176,0)}
}
.upcoming-event .visual .when{
  position:relative;z-index:1;display:flex;align-items:flex-end;gap:18px;margin-top:auto;
}
.upcoming-event .visual .when .day{
  font-family:'Instrument Serif',serif;font-weight:400;font-style:italic;
  font-size:120px;line-height:.85;letter-spacing:-.03em;color:#fff;
}
.upcoming-event .visual .when .month{
  display:flex;flex-direction:column;line-height:1.15;padding-bottom:14px;
}
.upcoming-event .visual .when .month .m{
  font-family:'Geist Mono',monospace;font-size:12px;letter-spacing:.18em;
  text-transform:uppercase;color:#fff;font-weight:600;
}
.upcoming-event .visual .when .month .y{
  font-family:'Geist Mono',monospace;font-size:11px;letter-spacing:.16em;
  text-transform:uppercase;color:rgba(255,255,255,.6);font-weight:500;margin-top:4px;
}
.upcoming-event .visual .hour{
  position:relative;z-index:1;font-family:'Geist Mono',monospace;font-size:13px;
  color:rgba(255,255,255,.78);letter-spacing:.12em;text-transform:uppercase;margin-top:12px;font-weight:500;
}
.upcoming-event .body{padding:40px 44px;display:flex;flex-direction:column}
.upcoming-event .body .kind{
  font-family:'Geist Mono',monospace;font-size:11px;letter-spacing:.18em;
  text-transform:uppercase;color:var(--izy-violet);font-weight:600;
}
.upcoming-event .body h3{
  font-family:'Instrument Serif',serif;font-weight:400;font-size:38px;
  letter-spacing:-.02em;line-height:1.08;color:var(--izy-navy);margin:14px 0 16px;
}
.upcoming-event .body h3 em{font-style:italic;color:var(--izy-violet)}
.upcoming-event .body .desc{
  font-size:16px;line-height:1.55;color:rgba(14,10,110,.72);font-weight:300;margin:0 0 22px;
}
.upcoming-event .body .desc b{color:var(--izy-navy);font-weight:500}
.upcoming-event .body .speakers{
  display:flex;align-items:center;gap:14px;margin-bottom:24px;padding:14px 16px;
  background:var(--izy-cream);border-radius:12px;
}
.upcoming-event .body .speakers .avs{display:inline-flex}
.upcoming-event .body .speakers .av{
  width:34px;height:34px;border-radius:50%;display:grid;place-items:center;
  font-weight:600;font-size:12.5px;color:#fff;border:2px solid var(--izy-cream);
}
.upcoming-event .body .speakers .av+.av{margin-left:-12px}
.upcoming-event .body .speakers .av.a1{background:linear-gradient(135deg,var(--izy-violet) 0%,var(--izy-violet-2) 100%)}
.upcoming-event .body .speakers .av.a2{background:linear-gradient(135deg,#0E8A4F 0%,#0A6638 100%)}
.upcoming-event .body .speakers .av.a3{background:linear-gradient(135deg,#D78A1A 0%,#A86908 100%)}
.upcoming-event .body .speakers .info{display:flex;flex-direction:column;line-height:1.25}
.upcoming-event .body .speakers .info .nm{font-size:13.5px;font-weight:600;color:var(--izy-navy)}
.upcoming-event .body .speakers .info .ro{
  font-family:'Geist Mono',monospace;font-size:10.5px;color:rgba(14,10,110,.55);
  letter-spacing:.1em;text-transform:uppercase;margin-top:3px;
}
.upcoming-event .body .meta{
  display:flex;align-items:center;gap:14px;flex-wrap:wrap;
  font-family:'Geist Mono',monospace;font-size:11px;letter-spacing:.12em;
  text-transform:uppercase;color:rgba(14,10,110,.55);font-weight:500;margin-bottom:24px;
}
.upcoming-event .body .meta .chip{
  display:inline-flex;align-items:center;gap:6px;padding:6px 12px;
  border:1px solid var(--izy-line);border-radius:999px;background:#fff;color:var(--izy-navy);font-weight:600;
}
.upcoming-event .body .meta .chip.free{border-color:rgba(14,138,79,.3);color:#0A6638;background:var(--vert-soft)}
.upcoming-event .body .cta-row{
  margin-top:auto;display:flex;align-items:center;gap:14px;flex-wrap:wrap;
}
.upcoming-event .body .seats{
  font-family:'Geist Mono',monospace;font-size:11px;letter-spacing:.12em;
  text-transform:uppercase;color:rgba(14,10,110,.55);font-weight:500;
}
.upcoming-event .body .seats b{color:var(--izy-violet);font-weight:600}

/* ---------- Event list ---------- */
.event-list{display:flex;flex-direction:column;gap:14px;margin-top:48px}
.event-row{
  display:grid;grid-template-columns:120px 1fr auto;gap:32px;align-items:center;
  background:#fff;border:1px solid var(--izy-line);border-radius:18px;
  padding:24px 28px;transition:all .15s ease;
}
.event-row:hover{border-color:rgba(79,43,255,.25);transform:translateY(-1px);box-shadow:0 18px 36px -24px rgba(14,10,110,.18)}
.event-row .date{
  display:flex;flex-direction:column;line-height:1;padding-right:24px;border-right:1px solid var(--izy-line);
}
.event-row .date .d{
  font-family:'Instrument Serif',serif;font-style:italic;font-weight:400;
  font-size:64px;color:var(--izy-navy);letter-spacing:-.03em;line-height:.85;
}
.event-row .date .m{
  font-family:'Geist Mono',monospace;font-size:11px;letter-spacing:.16em;
  text-transform:uppercase;color:var(--izy-violet);font-weight:600;margin-top:8px;
}
.event-row .date .h{
  font-family:'Geist Mono',monospace;font-size:11px;color:rgba(14,10,110,.55);font-weight:500;
  letter-spacing:.06em;margin-top:6px;
}
.event-row .info .kind{
  font-family:'Geist Mono',monospace;font-size:10.5px;letter-spacing:.18em;
  text-transform:uppercase;color:var(--izy-violet);font-weight:600;display:inline-flex;align-items:center;gap:10px;
}
.event-row .info .kind .seq{
  font-family:'Instrument Serif',serif;font-style:italic;color:var(--izy-violet);font-size:16px;line-height:1;
}
.event-row .info h4{
  font-family:'Instrument Serif',serif;font-weight:400;font-size:24px;line-height:1.15;
  letter-spacing:-.01em;color:var(--izy-navy);margin:8px 0 6px;
}
.event-row .info h4 em{font-style:italic;color:var(--izy-violet)}
.event-row .info p{font-size:14px;line-height:1.5;color:rgba(14,10,110,.65);margin:0;font-weight:300}
.event-row .info p b{color:var(--izy-navy);font-weight:500}
.event-row .actions{display:flex;flex-direction:column;align-items:flex-end;gap:10px}
.event-row .actions .chip{
  display:inline-flex;align-items:center;gap:6px;padding:5px 10px;
  border-radius:999px;font-family:'Geist Mono',monospace;font-size:10px;
  letter-spacing:.14em;text-transform:uppercase;font-weight:600;
}
.event-row .actions .chip.live{background:var(--vert-soft);color:#0A6638}
.event-row .actions .chip.free{background:var(--izy-violet-soft);color:var(--izy-violet)}
.event-row .actions .chip.replay{background:var(--izy-cream);color:rgba(14,10,110,.6);border:1px solid var(--izy-line)}
.event-row .actions a.rsvp{
  font-family:'Inter',sans-serif;font-size:13px;font-weight:600;
  color:var(--izy-violet);display:inline-flex;align-items:center;gap:6px;
}
.event-row .actions a.rsvp .arr{font-family:'Geist Mono',monospace}

/* ---------- Videos ---------- */
.video-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:0}
.video-card{
  background:#fff;border:1px solid rgba(255,255,255,.08);border-radius:18px;
  overflow:hidden;transition:all .2s ease;cursor:pointer;
}
.res-section.dark .video-card{background:rgba(255,255,255,.04);border-color:rgba(255,255,255,.1)}
.res-section.dark .video-card:hover{background:rgba(255,255,255,.07);border-color:rgba(160,153,255,.4);transform:translateY(-2px)}
.video-card .thumb{
  position:relative;aspect-ratio:16/9;overflow:hidden;
  display:flex;align-items:center;justify-content:center;
}
.video-card .thumb .play{
  width:64px;height:64px;border-radius:50%;background:rgba(255,255,255,.95);
  display:grid;place-items:center;color:var(--izy-navy);
  font-size:22px;padding-left:5px;
  box-shadow:0 12px 32px -10px rgba(0,0,0,.4);
  transition:transform .2s ease;position:relative;z-index:2;
}
.video-card:hover .thumb .play{transform:scale(1.08)}
.video-card .thumb .dur{
  position:absolute;bottom:12px;right:12px;z-index:2;
  background:rgba(0,0,0,.7);color:#fff;padding:4px 9px;border-radius:6px;
  font-family:'Geist Mono',monospace;font-size:11px;font-weight:500;
}
.video-card .thumb .ep{
  position:absolute;top:14px;left:14px;z-index:2;
  font-family:'Geist Mono',monospace;font-size:10.5px;letter-spacing:.16em;
  text-transform:uppercase;color:#fff;font-weight:600;
  background:rgba(0,0,0,.45);border:1px solid rgba(255,255,255,.18);
  padding:5px 10px;border-radius:999px;backdrop-filter:blur(6px);
}
.video-card .thumb.t1{background:linear-gradient(135deg,#0E0A6E 0%,#1B1693 100%)}
.video-card .thumb.t2{background:linear-gradient(135deg,#4F2BFF 0%,#7857FF 100%)}
.video-card .thumb.t3{background:linear-gradient(135deg,#0E8A4F 0%,#0A6638 100%)}
.video-card .thumb.t4{background:linear-gradient(135deg,#D78A1A 0%,#A86908 100%)}
.video-card .thumb.t5{background:linear-gradient(135deg,#C0322B 0%,#8A1F1A 100%)}
.video-card .thumb.t6{background:linear-gradient(135deg,#1B1693 0%,#4F2BFF 100%)}
.video-card .thumb::before{
  content:'§';position:absolute;top:-80px;right:-30px;
  font-family:'Instrument Serif',serif;font-style:italic;font-size:340px;
  color:rgba(255,255,255,.06);line-height:.85;pointer-events:none;z-index:1;
}
.video-card .v-body{padding:20px 22px 22px}
.video-card .v-body .v-meta{
  display:flex;align-items:center;gap:10px;font-family:'Geist Mono',monospace;
  font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;color:#A099FF;font-weight:600;margin-bottom:8px;
}
.res-section.dark .video-card .v-body .v-meta .sep{width:3px;height:3px;border-radius:50%;background:rgba(160,153,255,.5)}
.video-card .v-body .v-meta .by{color:rgba(255,255,255,.55);font-weight:500}
.video-card .v-body h4{
  font-family:'Instrument Serif',serif;font-weight:400;font-size:22px;
  line-height:1.2;letter-spacing:-.01em;color:#fff;margin:0;
}
.video-card .v-body h4 em{font-style:italic;color:#A099FF}

/* Hero video (first row, spans 2) */
.video-grid .video-card.feat{grid-column:span 2}
.video-grid .video-card.feat .thumb{aspect-ratio:16/8}
.video-grid .video-card.feat .v-body h4{font-size:30px}

/* ---------- Series — formats ---------- */
.series-strip{
  display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:40px;
}
.series-card{
  background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.1);
  border-radius:14px;padding:24px 22px;
  display:flex;flex-direction:column;gap:12px;
  transition:all .2s ease;
}
.series-card:hover{background:rgba(255,255,255,.07);border-color:rgba(160,153,255,.4)}
.series-card .lab{
  display:inline-flex;align-items:center;gap:10px;width:fit-content;
}
.series-card .lab .num{
  font-family:'Instrument Serif',serif;font-style:italic;font-size:30px;color:#A099FF;line-height:1;font-weight:400;
}
.series-card .lab .nm{
  font-family:'Geist Mono',monospace;font-size:10.5px;letter-spacing:.2em;
  text-transform:uppercase;color:#A099FF;font-weight:600;
}
.series-card h4{
  font-family:'Instrument Serif',serif;font-weight:400;font-size:24px;
  letter-spacing:-.01em;color:#fff;margin:0;line-height:1.2;
}
.series-card h4 em{font-style:italic;color:#A099FF}
.series-card .desc{font-size:13.5px;line-height:1.5;color:rgba(255,255,255,.7);margin:0;font-weight:300}
.series-card .count{
  margin-top:auto;display:flex;align-items:center;justify-content:space-between;
  font-family:'Geist Mono',monospace;font-size:11px;color:rgba(255,255,255,.55);
  letter-spacing:.12em;text-transform:uppercase;font-weight:500;
  padding-top:14px;border-top:1px solid rgba(255,255,255,.1);
}
.series-card .count b{color:#fff;font-weight:600}

/* ---------- Past events / replays ---------- */
.past-events{
  display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:0;
}
.past-card{
  background:#fff;border:1px solid var(--izy-line);border-radius:16px;
  overflow:hidden;transition:all .2s ease;
}
.past-card:hover{transform:translateY(-2px);box-shadow:0 18px 36px -24px rgba(14,10,110,.2);border-color:rgba(79,43,255,.22)}
.past-card .head{padding:18px 22px 14px;background:var(--izy-paper);border-bottom:1px solid var(--izy-line)}
.past-card .head .kind{
  font-family:'Geist Mono',monospace;font-size:10.5px;letter-spacing:.18em;
  text-transform:uppercase;color:var(--izy-violet);font-weight:600;
}
.past-card .head .date{
  font-family:'Geist Mono',monospace;font-size:11px;color:rgba(14,10,110,.55);
  letter-spacing:.1em;text-transform:uppercase;font-weight:500;margin-top:4px;
}
.past-card .b{padding:20px 22px 22px;display:flex;flex-direction:column;gap:12px}
.past-card .b h4{
  font-family:'Instrument Serif',serif;font-weight:400;font-size:20px;
  line-height:1.2;letter-spacing:-.01em;color:var(--izy-navy);margin:0;
}
.past-card .b h4 em{font-style:italic;color:var(--izy-violet)}
.past-card .b .stats{
  display:flex;align-items:center;gap:16px;
  font-family:'Geist Mono',monospace;font-size:10.5px;letter-spacing:.1em;
  text-transform:uppercase;color:rgba(14,10,110,.55);font-weight:500;
  padding-top:10px;border-top:1px solid var(--izy-line);
}
.past-card .b .stats b{color:var(--izy-navy);font-weight:600}
.past-card .b .replay{
  display:inline-flex;align-items:center;gap:8px;
  font-size:13px;font-weight:600;color:var(--izy-violet);
}
.past-card .b .replay .arr{font-family:'Geist Mono',monospace}

/* ---------- Articles teaser (links to /blog) ---------- */
.articles-teaser{padding:80px 0;background:var(--izy-cream)}
.articles-teaser .at-grid{display:grid;grid-template-columns:1.2fr 2fr;gap:48px}
.articles-teaser .at-intro h2{
  font-family:'Instrument Serif',serif;font-weight:400;font-size:48px;
  letter-spacing:-.02em;line-height:1.05;color:var(--izy-navy);margin:14px 0 0;
}
.articles-teaser .at-intro h2 em{font-style:italic;color:var(--izy-violet)}
.articles-teaser .at-intro .lab{
  font-family:'Geist Mono',monospace;font-size:11px;letter-spacing:.22em;
  text-transform:uppercase;color:var(--izy-violet);font-weight:600;
}
.articles-teaser .at-intro p{
  font-family:'Instrument Serif',serif;font-style:italic;font-size:20px;
  line-height:1.45;color:rgba(14,10,110,.65);margin:18px 0 24px;
}
.articles-teaser .at-intro .all{
  display:inline-flex;align-items:center;gap:10px;
  padding:14px 22px;background:var(--izy-navy);color:#fff;border-radius:999px;
  font-size:14px;font-weight:600;transition:all .15s ease;
}
.articles-teaser .at-intro .all:hover{background:var(--izy-violet)}
.articles-teaser .at-intro .all .arr{font-family:'Geist Mono',monospace}

.articles-teaser .at-list{display:flex;flex-direction:column;gap:0}
.articles-teaser .at-row{
  display:grid;grid-template-columns:40px 1fr auto;gap:24px;align-items:center;
  padding:22px 0;border-top:1px solid var(--izy-line);transition:all .15s ease;
}
.articles-teaser .at-row:first-child{border-top:1px solid var(--izy-navy)}
.articles-teaser .at-row:hover{padding-left:8px}
.articles-teaser .at-row .num{
  font-family:'Instrument Serif',serif;font-style:italic;font-size:32px;
  color:var(--izy-violet);line-height:1;font-weight:400;
}
.articles-teaser .at-row .info .clu{
  font-family:'Geist Mono',monospace;font-size:10.5px;letter-spacing:.16em;
  text-transform:uppercase;color:rgba(14,10,110,.55);font-weight:600;
}
.articles-teaser .at-row .info h3{
  font-family:'Instrument Serif',serif;font-weight:400;font-size:24px;
  letter-spacing:-.01em;line-height:1.2;color:var(--izy-navy);margin:6px 0 0;
}
.articles-teaser .at-row .info h3 em{font-style:italic;color:var(--izy-violet)}
.articles-teaser .at-row .meta{
  font-family:'Geist Mono',monospace;font-size:10.5px;letter-spacing:.12em;
  text-transform:uppercase;color:rgba(14,10,110,.55);font-weight:500;text-align:right;
  display:flex;flex-direction:column;gap:4px;
}
.articles-teaser .at-row .meta b{color:var(--izy-navy);font-weight:600}

/* ---------- Templates / downloads ---------- */
.templates{padding:80px 0;background:var(--izy-paper);border-top:1px solid var(--izy-line)}
.tpl-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-top:0}
.tpl-card{
  background:#fff;border:1px solid var(--izy-line);border-radius:14px;
  padding:22px 22px 18px;display:flex;flex-direction:column;gap:10px;
  transition:all .2s ease;
}
.tpl-card:hover{transform:translateY(-2px);box-shadow:0 14px 28px -18px rgba(14,10,110,.2);border-color:rgba(79,43,255,.22)}
.tpl-card .icon{
  width:36px;height:36px;border-radius:10px;background:var(--izy-violet-soft);
  color:var(--izy-violet);display:grid;place-items:center;
  font-family:'Geist Mono',monospace;font-size:14px;font-weight:600;
}
.tpl-card h5{
  font-family:'Instrument Serif',serif;font-weight:400;font-size:20px;
  letter-spacing:-.01em;line-height:1.2;color:var(--izy-navy);margin:0;
}
.tpl-card .fmt{
  font-family:'Geist Mono',monospace;font-size:10.5px;letter-spacing:.16em;
  text-transform:uppercase;color:rgba(14,10,110,.5);font-weight:500;
}
.tpl-card .dl{
  margin-top:auto;display:inline-flex;align-items:center;gap:6px;padding-top:10px;border-top:1px solid var(--izy-line);
  font-size:13px;font-weight:600;color:var(--izy-violet);
}
.tpl-card .dl .arr{font-family:'Geist Mono',monospace}

/* ---------- Responsive ---------- */
@media (max-width:1060px){
  .upcoming-event,.articles-teaser .at-grid{grid-template-columns:1fr}
  .video-grid,.past-events,.series-strip{grid-template-columns:repeat(2,1fr)}
  .video-grid .video-card.feat{grid-column:span 2}
  .tpl-grid{grid-template-columns:repeat(2,1fr)}
  .sec-head{grid-template-columns:1fr;gap:14px}
  .sec-head .sub{text-align:left;max-width:none}
}
@media (max-width:640px){
  .res-hero h1{font-size:54px}
  .event-row{grid-template-columns:1fr;gap:14px}
  .event-row .date{border-right:0;border-bottom:1px solid var(--izy-line);padding:0 0 14px;flex-direction:row;align-items:baseline;gap:14px}
  .event-row .date .d{font-size:44px}
  .event-row .actions{flex-direction:row;align-items:center;justify-content:space-between}
  .video-grid,.past-events,.series-strip,.tpl-grid{grid-template-columns:1fr}
  .video-grid .video-card.feat{grid-column:span 1}
  .res-tabs{position:static}
  .sec-head h2{font-size:36px}
  .upcoming-event .visual .when .day{font-size:80px}
  .upcoming-event .body h3{font-size:28px}
}
