/* tw-archive.css — static replacement for the Tailwind Play CDN on web-jive.com's
   card-index and taxonomy-archive pages.

   WHY THIS FILE EXISTS: those pages loaded https://cdn.tailwindcss.com — 407KB of
   parser-blocking JavaScript that compiled CSS in the browser on every page view. The Play
   CDN is never for production; mini-CMS has no build step, so the utilities the generators
   actually emit are written out statically here instead. Generated 2026-09-18 from the 106
   distinct classes measured across the 16 affected pages.

   SCOPE: only the utilities those generators emit. It is NOT a Tailwind build — adding a new
   utility to gen-cards.php / gen-archive.php / publish.php means adding its rule here too.
   Emitted by: _inc/gen-archive.php, _inc/gen-cards.php, _inc/publish.php  */

:root{--tw-brand:#EA7024;--tw-brand-dark:#c85a16;--tw-ink:#0b0b0c;--tw-cream:#FBF6EF}

/* layout */
.flex{display:flex}.inline-flex{display:inline-flex}.grid{display:grid}
.inline-block{display:inline-block}.relative{position:relative}.absolute{position:absolute}
.inset-0{top:0;right:0;bottom:0;left:0}
.flex-col{flex-direction:column}.flex-1{flex:1 1 0%}
.items-center{align-items:center}.place-items-center{place-items:center}
.text-center{text-align:center}
.overflow-hidden{overflow:hidden}
.w-full{width:100%}.h-full{height:100%}
.mx-auto{margin-left:auto;margin-right:auto}
.object-cover{object-fit:cover}
.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}
.aspect-\[16\/9\]{aspect-ratio:16/9}

/* spacing */
.gap-1{gap:.25rem}.gap-6{gap:1.5rem}
.mt-2{margin-top:.5rem}.mt-3{margin-top:.75rem}.mt-4{margin-top:1rem}
.mt-5{margin-top:1.25rem}.mt-7{margin-top:1.75rem}
.p-6{padding:1.5rem}
.px-4{padding-left:1rem;padding-right:1rem}.px-8{padding-left:2rem;padding-right:2rem}
.py-4{padding-top:1rem;padding-bottom:1rem}.py-16{padding-top:4rem;padding-bottom:4rem}
.py-20{padding-top:5rem;padding-bottom:5rem}

/* sizing */
.max-w-2xl{max-width:42rem}.max-w-4xl{max-width:56rem}.max-w-5xl{max-width:64rem}
.max-w-7xl{max-width:80rem}

/* type */
.text-\[11px\]{font-size:11px}
.text-xs{font-size:.75rem;line-height:1rem}
.text-sm{font-size:.875rem;line-height:1.25rem}
.text-lg{font-size:1.125rem;line-height:1.75rem}
.text-xl{font-size:1.25rem;line-height:1.75rem}
.text-2xl{font-size:1.5rem;line-height:2rem}
.text-3xl{font-size:1.875rem;line-height:2.25rem}
.text-4xl{font-size:2.25rem;line-height:2.5rem}
.text-5xl{font-size:3rem;line-height:1}
.font-bold{font-weight:700}
.leading-tight{line-height:1.25}
.uppercase{text-transform:uppercase}
.tracking-wide{letter-spacing:.025em}.tracking-widest{letter-spacing:.1em}

/* colour */
.text-white{color:#fff}
.text-white\/70{color:rgba(255,255,255,.7)}
.text-white\/75{color:rgba(255,255,255,.75)}
.text-gray-400{color:#9ca3af}.text-gray-600{color:#4b5563}
.text-brand,.text-\[\#EA7024\]{color:var(--tw-brand)}
.text-ink,.text-\[\#0b0b0c\]{color:var(--tw-ink)}
.bg-white{background-color:#fff}
.bg-brand,.bg-\[\#EA7024\]{background-color:var(--tw-brand)}
.bg-ink,.bg-\[\#0b0b0c\]{background-color:var(--tw-ink)}
.bg-cream,.bg-\[\#FBF6EF\]{background-color:var(--tw-cream)}
.bg-gradient-to-br{background-image:linear-gradient(to bottom right,var(--tw-from,#ED8A2E),var(--tw-to,#D9641A))}
.from-\[\#ED8A2E\]{--tw-from:#ED8A2E}
.to-\[\#D9641A\]{--tw-to:#D9641A}
.bg-\[radial-gradient\(ellipse_at_top\2c rgba\(234\2c 112\2c 36\2c 0\.18\)\2c transparent_60\%\)\]{
  background-image:radial-gradient(ellipse at top,rgba(234,112,36,.18),transparent 60%)}

/* border */
.border{border-width:1px;border-style:solid}
.border-gray-200{border-color:#e5e7eb}
.rounded-2xl{border-radius:1rem}
.rounded-full{border-radius:9999px}

/* motion */
.transition-all{transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}
.transition-colors{transition-property:color,background-color,border-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}
.transition-transform{transition-property:transform;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}
.duration-200{transition-duration:.2s}.duration-300{transition-duration:.3s}

/* hover + group-hover */
.hover\:-translate-y-1:hover{transform:translateY(-.25rem)}
.hover\:shadow-xl:hover{box-shadow:0 20px 25px -5px rgba(0,0,0,.1),0 8px 10px -6px rgba(0,0,0,.1)}
.hover\:bg-brand-dark:hover,.hover\:bg-\[\#c85a16\]:hover{background-color:var(--tw-brand-dark)}
.group:hover .group-hover\:translate-x-1{transform:translateX(.25rem)}
.group:hover .group-hover\:scale-105{transform:scale(1.05)}
.group:hover .group-hover\:text-brand,
.group:hover .group-hover\:text-\[\#EA7024\]{color:var(--tw-brand)}

/* responsive — Tailwind default breakpoints */
@media (min-width:640px){
  .sm\:px-6{padding-left:1.5rem;padding-right:1.5rem}
  .sm\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (min-width:768px){
  .md\:text-xl{font-size:1.25rem;line-height:1.75rem}
  .md\:text-2xl{font-size:1.5rem;line-height:2rem}
  .md\:text-5xl{font-size:3rem;line-height:1}
  .md\:text-6xl{font-size:3.75rem;line-height:1}
  .md\:text-7xl{font-size:4.5rem;line-height:1}
}
@media (min-width:1024px){
  .lg\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}
}
/* ── Collection cards (structure from /opt/aise/sa; colours are yours) ── */
.wj-card{position:relative;display:flex;flex-direction:column;overflow:hidden;
  background:var(--wj-card-bg,var(--paper,#fff));
  border:1px solid var(--wj-card-line,var(--line,#e5e7eb));
  border-radius:var(--wj-card-radius,14px);
  transition:box-shadow .2s ease,transform .2s ease}
.wj-card:hover{box-shadow:0 10px 30px rgba(0,0,0,.08);transform:translateY(-2px)}
.wj-card__media{display:block;aspect-ratio:16/9;overflow:hidden}
.wj-card__img{width:100%;height:100%;object-fit:cover;transition:transform .3s ease}
.wj-card:hover .wj-card__img{transform:scale(1.05)}
.wj-card__body{display:flex;flex-direction:column;flex:1;padding:1.5rem}
.wj-card__cat{font-size:11px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;
  color:var(--wj-card-accent,var(--ink,currentColor))}
.wj-card__title{margin:.5rem 0 0;font-size:1.35rem;line-height:1.25;
  color:var(--wj-card-ink,var(--ink,#111))}
.wj-card__link{color:inherit;text-decoration:none}
.wj-card__link::after{content:"";position:absolute;inset:0}
.wj-card:hover .wj-card__title{color:var(--wj-card-accent,var(--ink,inherit))}
.wj-card__excerpt{flex:1;margin:.5rem 0 0;font-size:.9rem;line-height:1.65;
  color:var(--wj-card-mute,var(--ink-mute,#666))}
.wj-card__date{margin-top:.75rem;font-size:.75rem;
  color:var(--wj-card-mute,var(--ink-mute,#888))}
.wj-card__more{margin-top:1rem;display:inline-flex;align-items:center;gap:.25rem;
  font-size:.85rem;font-weight:700;color:var(--wj-card-accent,var(--ink,currentColor))}
.wj-card:hover .wj-card__arrow{transform:translateX(3px)}
.wj-card__arrow{transition:transform .2s ease}

/* WebJIVE brand bindings for the collection cards — the structure above ships from
   /opt/aise/sa; these values are this site's. Accent matches the archive shells (#EA7024). */
.wj-card{--wj-card-accent:#EA7024;--wj-card-ink:#0b0b0c;--wj-card-mute:#4b5563;
  --wj-card-line:#e5e7eb;--wj-card-bg:#fff;--wj-card-radius:16px}
.wj-card__title{font-family:'Bebas Neue',Impact,sans-serif;font-weight:400;letter-spacing:.01em}
