/*
 * Project sites: the Layout tab of every section (App\Theme\Page\SectionDesign).
 *   1. Item looks (pj-ci--*), hover (pj-ch--*), icons (pj-ic--*), numbers off (pj-nonum), parts off (pj-nopart--*):
 *      they work on every theme design, so the selector lists name each theme's own item / icon / number classes
 *      (Classic pjc-*, One-page pjo-*, Dashboard pjd-*, Magazine pjm-*, shared pj-*) plus the pjv-* of the layouts below.
 *      Explicit choices of the customer, so they win with !important over the theme's look.
 *   2. Alternative layouts (pjv-*): templates/themes/base/variants/<type>.html.twig, tokens only (--pj-*), any theme.
 * Loaded by PageBuilder::assets() after the theme and pj-style.css; version PageBuilder::STYLE_VERSION.
 */

/* ======================================================================= 1. item looks */
html body :is(.pj-ci--flat, .pj-ci--outline, .pj-ci--raised, .pj-ci--glass, .pj-ci--filled, .pj-ci--comic, .pj-ci--bare) :is(.pjc-tile, .pj-util, .pjo-row, .pjd-app, .pjm-toc > li > a, .pj-feature, .pjc-step__body, .pj-step, .pj-faq__item, .pj-stat, .pj-phase__card, .pj-person, .pj-logos > li, .pj-check, .pjc-social__tile, .pj-socials--big a, .pj-news__item, .pjm-story, .pj-gallery figure, .pj-taxes > div, .pjv-it) {
    transition: transform .22s ease, box-shadow .22s ease, border-color .22s ease, background-color .22s ease;
}
html body .pj-ci--flat :is(.pjc-tile, .pj-util, .pjo-row, .pjd-app, .pjm-toc > li > a, .pj-feature, .pjc-step__body, .pj-step, .pj-faq__item, .pj-stat, .pj-phase__card, .pj-person, .pj-logos > li, .pj-check, .pjc-social__tile, .pj-socials--big a, .pj-news__item, .pjm-story, .pj-gallery figure, .pj-taxes > div, .pjv-it) {
    background: var(--pj-bg-soft, rgba(127, 127, 127, .08)) !important; border-color: transparent !important; box-shadow: none !important;
}
html body .pj-ci--outline :is(.pjc-tile, .pj-util, .pjo-row, .pjd-app, .pjm-toc > li > a, .pj-feature, .pjc-step__body, .pj-step, .pj-faq__item, .pj-stat, .pj-phase__card, .pj-person, .pj-logos > li, .pj-check, .pjc-social__tile, .pj-socials--big a, .pj-news__item, .pjm-story, .pj-gallery figure, .pj-taxes > div, .pjv-it) {
    background: transparent !important; border: 1.5px solid var(--pj-line, rgba(127, 127, 127, .3)) !important; box-shadow: none !important;
}
html body .pj-ci--raised :is(.pjc-tile, .pj-util, .pjo-row, .pjd-app, .pjm-toc > li > a, .pj-feature, .pjc-step__body, .pj-step, .pj-faq__item, .pj-stat, .pj-phase__card, .pj-person, .pj-logos > li, .pj-check, .pjc-social__tile, .pj-socials--big a, .pj-news__item, .pjm-story, .pj-gallery figure, .pj-taxes > div, .pjv-it) {
    background: var(--pj-card, #fff) !important; border: 1px solid transparent !important; box-shadow: 0 1px 2px rgba(10, 16, 40, .06), 0 22px 44px -22px rgba(10, 16, 40, .38) !important;
}
html body .pj-ci--glass :is(.pjc-tile, .pj-util, .pjo-row, .pjd-app, .pjm-toc > li > a, .pj-feature, .pjc-step__body, .pj-step, .pj-faq__item, .pj-stat, .pj-phase__card, .pj-person, .pj-logos > li, .pj-check, .pjc-social__tile, .pj-socials--big a, .pj-news__item, .pjm-story, .pj-gallery figure, .pj-taxes > div, .pjv-it) {
    background: color-mix(in srgb, var(--pj-card, #fff) 52%, transparent) !important; border: 1px solid color-mix(in srgb, #fff 34%, transparent) !important;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, .28), 0 18px 40px -26px rgba(0, 0, 0, .45) !important; -webkit-backdrop-filter: blur(14px); backdrop-filter: blur(14px);
}
html body .pj-ci--filled :is(.pjc-tile, .pj-util, .pjo-row, .pjd-app, .pjm-toc > li > a, .pj-feature, .pjc-step__body, .pj-step, .pj-faq__item, .pj-stat, .pj-phase__card, .pj-person, .pj-logos > li, .pj-check, .pjc-social__tile, .pj-socials--big a, .pj-news__item, .pjm-story, .pj-gallery figure, .pj-taxes > div, .pjv-it) {
    --pj-ink: var(--pj-on-primary, #fff); --pj-text: var(--pj-on-primary, #fff); --pj-muted: color-mix(in srgb, var(--pj-on-primary, #fff) 78%, transparent);
    --pj-line: color-mix(in srgb, var(--pj-on-primary, #fff) 22%, transparent); --pj-icon-bg: color-mix(in srgb, var(--pj-on-primary, #fff) 18%, transparent); --pj-icon-ink: var(--pj-on-primary, #fff);
    background: var(--pj-primary) !important; border-color: transparent !important; color: var(--pj-on-primary, #fff) !important; box-shadow: 0 18px 40px -22px rgba(var(--pj-primary-rgb, 60, 60, 200), .7) !important;
}
html body .pj-ci--filled :is(.pjc-tile, .pj-util, .pjo-row, .pjd-app, .pjm-toc > li > a, .pj-feature, .pjc-step__body, .pj-step, .pj-faq__item, .pj-stat, .pj-phase__card, .pj-person, .pj-logos > li, .pj-check, .pjc-social__tile, .pj-socials--big a, .pj-news__item, .pjm-story, .pj-taxes > div, .pjv-it) :is(h3, b, p, span, small, em, summary, dt, dd, a, i, li, time) {
    color: inherit !important; -webkit-text-fill-color: currentColor;
}
html body .pj-ci--comic :is(.pjc-tile, .pj-util, .pjo-row, .pjd-app, .pjm-toc > li > a, .pj-feature, .pjc-step__body, .pj-step, .pj-faq__item, .pj-stat, .pj-phase__card, .pj-person, .pj-logos > li, .pj-check, .pjc-social__tile, .pj-socials--big a, .pj-news__item, .pjm-story, .pj-gallery figure, .pj-taxes > div, .pjv-it) {
    --pj-ink: #111; --pj-text: #1e1e1e; --pj-muted: #4a4a4a; --pj-line: rgba(0, 0, 0, .18);
    background: #fff !important; border: 3px solid #111 !important; box-shadow: 6px 6px 0 #111 !important; color: #1e1e1e !important;
}
html body .pj-ci--bare :is(.pjc-tile, .pj-util, .pjo-row, .pjd-app, .pjm-toc > li > a, .pj-feature, .pjc-step__body, .pj-step, .pj-faq__item, .pj-stat, .pj-phase__card, .pj-person, .pj-logos > li, .pj-check, .pjc-social__tile, .pj-socials--big a, .pj-news__item, .pjm-story, .pj-gallery figure, .pj-taxes > div, .pjv-it) {
    background: transparent !important; border-color: transparent !important; box-shadow: none !important; -webkit-backdrop-filter: none; backdrop-filter: none;
}
/* the theme's spotlight / sheen layers belong to its own look */
html body :is(.pj-ci--flat, .pj-ci--outline, .pj-ci--filled, .pj-ci--comic, .pj-ci--bare) :is(.pjc-tile, .pjc-social__tile, .pj-feature, .pj-check, .pjc-step__body)::before { opacity: 0 !important; }

/* hover */
html body :is(.pj-ch--lift, .pj-ch--glow, .pj-ch--grow) :is(.pjc-tile, .pj-util, .pjo-row, .pjd-app, .pjm-toc > li > a, .pj-feature, .pjc-step__body, .pj-step, .pj-faq__item, .pj-stat, .pj-phase__card, .pj-person, .pj-logos > li, .pj-check, .pjc-social__tile, .pj-socials--big a, .pj-news__item, .pjm-story, .pj-gallery figure, .pj-taxes > div, .pjv-it) {
    transition: transform .22s ease, box-shadow .22s ease, border-color .22s ease;
}
html body .pj-ch--lift :is(.pjc-tile, .pj-util, .pjo-row, .pjd-app, .pjm-toc > li > a, .pj-feature, .pjc-step__body, .pj-step, .pj-faq__item, .pj-stat, .pj-phase__card, .pj-person, .pj-logos > li, .pj-check, .pjc-social__tile, .pj-socials--big a, .pj-news__item, .pjm-story, .pj-gallery figure, .pj-taxes > div, .pjv-it):hover {
    transform: translateY(-6px) !important; box-shadow: 0 26px 50px -24px rgba(10, 16, 40, .45) !important;
}
html body .pj-ch--glow :is(.pjc-tile, .pj-util, .pjo-row, .pjd-app, .pjm-toc > li > a, .pj-feature, .pjc-step__body, .pj-step, .pj-faq__item, .pj-stat, .pj-phase__card, .pj-person, .pj-logos > li, .pj-check, .pjc-social__tile, .pj-socials--big a, .pj-news__item, .pjm-story, .pj-gallery figure, .pj-taxes > div, .pjv-it):hover {
    border-color: var(--pj-primary) !important; box-shadow: 0 0 0 1px var(--pj-primary), 0 14px 44px -10px color-mix(in srgb, var(--pj-primary) 70%, transparent) !important;
}
html body .pj-ch--grow :is(.pjc-tile, .pj-util, .pjo-row, .pjd-app, .pjm-toc > li > a, .pj-feature, .pjc-step__body, .pj-step, .pj-faq__item, .pj-stat, .pj-phase__card, .pj-person, .pj-logos > li, .pj-check, .pjc-social__tile, .pj-socials--big a, .pj-news__item, .pjm-story, .pj-gallery figure, .pj-taxes > div, .pjv-it):hover {
    transform: scale(1.035) !important;
}
html body .pj-ch--none :is(.pjc-tile, .pj-util, .pjo-row, .pjd-app, .pjm-toc > li > a, .pj-feature, .pjc-step__body, .pj-step, .pj-faq__item, .pj-stat, .pj-phase__card, .pj-person, .pj-logos > li, .pj-check, .pjc-social__tile, .pj-socials--big a, .pj-news__item, .pjm-story, .pj-gallery figure, .pj-taxes > div, .pjv-it),
html body .pj-ch--none :is(.pjc-tile, .pj-util, .pjo-row, .pjd-app, .pj-feature, .pjc-social__tile, .pj-check, .pjv-it):hover :is(.pjc-tile__icon, .pjc-social__icon, .pjv-ico, .pj-util__icon) {
    transform: none !important; transition: none !important;
}
html body .pj-ch--none :is(.pjc-tile, .pjc-social__tile, .pj-feature, .pj-check, .pjc-step__body)::before { opacity: 0 !important; }

/* icons */
html body :is(.pj-ic--soft, .pj-ic--solid, .pj-ic--outline, .pj-ic--round, .pj-ic--plain) :is(.pjc-tile__icon, .pj-util__icon, .pjo-row__icon, .pjd-app__icon, .pj-check__icon, .pjc-social__icon, .pjv-ico) {
    box-shadow: none !important; background-image: none !important;
}
html body :is(.pj-ic--soft, .pj-ic--solid, .pj-ic--outline, .pj-ic--round, .pj-ic--plain) :is(.pjc-tile__icon, .pj-util__icon, .pjo-row__icon, .pjd-app__icon, .pj-check__icon, .pjc-social__icon, .pjv-ico) i { color: inherit !important; }
html body :is(.pj-ic--soft, .pj-ic--round) :is(.pjc-tile__icon, .pj-util__icon, .pjo-row__icon, .pjd-app__icon, .pj-check__icon, .pjc-social__icon, .pjv-ico) {
    background: color-mix(in srgb, var(--pj-primary) 14%, transparent) !important; color: var(--pj-primary-ink, var(--pj-primary)) !important; border: 0 !important;
}
html body .pj-ic--soft :is(.pjc-tile__icon, .pj-util__icon, .pjo-row__icon, .pjd-app__icon, .pj-check__icon, .pjc-social__icon, .pjv-ico) { border-radius: calc(14px * var(--pj-rk, 1)) !important; }
html body .pj-ic--round :is(.pjc-tile__icon, .pj-util__icon, .pjo-row__icon, .pjd-app__icon, .pj-check__icon, .pjc-social__icon, .pjv-ico) { border-radius: 50% !important; }
html body .pj-ic--solid :is(.pjc-tile__icon, .pj-util__icon, .pjo-row__icon, .pjd-app__icon, .pj-check__icon, .pjc-social__icon, .pjv-ico) {
    background: var(--pj-primary) !important; color: var(--pj-on-primary, #fff) !important; border: 0 !important;
}
html body .pj-ic--outline :is(.pjc-tile__icon, .pj-util__icon, .pjo-row__icon, .pjd-app__icon, .pj-check__icon, .pjc-social__icon, .pjv-ico) {
    background: transparent !important; color: var(--pj-primary-ink, var(--pj-primary)) !important; border: 2px solid currentColor !important;
}
html body .pj-ic--plain :is(.pjc-tile__icon, .pj-util__icon, .pjo-row__icon, .pjd-app__icon, .pj-check__icon, .pjc-social__icon, .pjv-ico) {
    background: transparent !important; color: var(--pj-primary-ink, var(--pj-primary)) !important; border: 0 !important; width: auto !important; min-width: 0 !important; padding: 0 !important; font-size: 1.6em;
}
html body .pj-ic--none :is(.pjc-tile__icon, .pj-util__icon, .pjo-row__icon, .pjd-app__icon, .pj-check__icon, .pjc-social__icon, .pjv-ico, .pj-socials--big a > i:first-child) { display: none !important; }

/* item numbers */
html body .pj-nonum :is(.pjc-tile__n, .pjo-row__n, .pjm-toc__n, .pjv-no) { display: none !important; }
/* steps / roadmap keep their markers on the line, without the number */
html body .pj-nonum :is(.pjc-step__n, .pj-step__n, .pj-phase__dot, .pjv-steps--vertical .pjv-step__n) { font-size: 0 !important; }
html body .pj-nonum :is(.pjc-step__n, .pj-step__n, .pj-phase__dot, .pjv-steps--vertical .pjv-step__n)::after { content: ""; width: 10px; height: 10px; border-radius: 50%; background: currentColor; }
html body .pj-nonum .pj-phase__dot i, html body .pj-nonum .pjv-phase__dot i { font-size: 14px; }
html body .pj-nonum .pj-phase.is-done .pj-phase__dot::after { content: none; }
html body .pj-nonum :is(.pjv-steps--cards, .pjv-steps--big) .pjv-step__n { display: none !important; }
html body .pj-nonum .pjv-steps--big .pjv-step { grid-template-columns: minmax(0, 1fr); }

/* the small section number of themes that print one (Classic family; numbering skips these sections) */
html body .pj-noeyebrow .pj-section-head::before { content: none !important; }

/* parts switched off */
html body .pj-nopart--ticker :is(.pjc-ticker, .pj-ticker, .pjd-actions),
html body .pj-nopart--fx :is(.pj-hero__glow, .pjc-hero__fx, .pjo-scroll),
html body .pj-s--hero.pj-nopart--buttons .pj-cta,
html body .pj-nopart--crumb :is(.pjc-crumb, .pjm-kicker > a),
html body .pj-s--utilities.pj-nopart--art .pjc-art,
html body .pj-nopart--go :is(.pjc-tile__go, .pjo-row__go, .pjd-app__go, .pj-util__go, .pjm-toc a > i, .pjv-go),
html body .pj-nopart--ask .pjc-ask,
html body .pj-nopart--status :is(.pj-phase__top em, .pjv-status),
html body .pj-s--cta.pj-nopart--points .pjc-cta__points,
html body .pj-s--cta.pj-nopart--steps .pjc-cta__steps,
html body .pj-s--cta.pj-nopart--art :is(.pjc-cta__art, .pjm-end__mark),
html body .pj-nopart--img :is(.pj-news__img, .pjm-story__img, .pjv-post__img),
html body .pj-nopart--role :is(.pj-person > span, .pjv-role),
html body .pj-nopart--proof .pj-check__proof,
html body .pj-nopart--verb :is(.pjc-social__tile small, .pjv-verb) { display: none !important; }
html body .pj-s--utilities.pj-nopart--art .pjc-tile.is-feature .pjc-tile__icon { display: grid !important; }
html body .pj-s--cta.pj-nopart--art .pjc-cta { grid-template-columns: minmax(0, 1fr); }
html body .pj-nopart--img .pjv-post { grid-template-columns: minmax(0, 1fr) !important; }

/* ======================================================================= 2. alternative layouts: shared pieces */
.pjv .pj-section-head { margin-bottom: 32px; }
.pjv-grid { display: grid; grid-template-columns: repeat(var(--pjv-cols, 3), minmax(0, 1fr)); gap: 20px; }
.pjv-card {
    display: flex; flex-direction: column; gap: 12px; padding: 26px; border-radius: var(--pj-radius, 16px); text-decoration: none !important;
    background: var(--pj-card); border: 1px solid var(--pj-card-line, var(--pj-line)); color: var(--pj-text, inherit); box-shadow: var(--pj-shadow, none);
}
a.pjv-card:hover, a.pjv-row:hover, a.pjv-pill:hover, a.pjv-social__a:hover { border-color: color-mix(in srgb, var(--pj-primary) 45%, var(--pj-card-line, var(--pj-line))); }
.pjv-card h3, .pjv-line h3 { margin: 0 0 6px; font-size: calc(19px * var(--pj-h-scale, 1)); color: var(--pj-ink); }
.pjv-card p, .pjv-line p { margin: 0; color: var(--pj-muted); line-height: 1.6; }
.pjv-card__top { display: flex; align-items: flex-start; justify-content: space-between; gap: 12px; }
.pjv-card__t { font-family: var(--pj-font-heading, inherit); font-size: calc(20px * var(--pj-h-scale, 1)); font-weight: var(--pj-h3-weight, 700); color: var(--pj-ink); }
.pjv-card__x { color: var(--pj-muted); line-height: 1.6; }
.pjv-ico {
    flex: none; width: 48px; height: 48px; border-radius: calc(14px * var(--pj-rk, 1)); display: inline-grid; place-items: center; font-size: 19px;
    background: var(--pj-icon-bg, color-mix(in srgb, var(--pj-primary) 12%, transparent)); color: var(--pj-icon-ink, var(--pj-primary-ink, var(--pj-primary)));
}
.pjv-no { font: 600 12px/1 ui-monospace, SFMono-Regular, Menlo, monospace; letter-spacing: .06em; color: var(--pj-muted); }
.pjv-go { margin-top: auto; display: inline-flex; align-items: center; gap: 8px; font-weight: 700; font-size: 14px; color: var(--pj-primary-ink, var(--pj-primary)); }
.pjv-badge {
    display: inline-flex; align-items: center; gap: 8px; padding: 6px 14px; border-radius: 999px; font-size: 13px; font-weight: 700;
    background: color-mix(in srgb, var(--pj-primary) 11%, transparent); color: var(--pj-primary-ink, var(--pj-primary));
}
.pjv-badge__dot { width: 8px; height: 8px; border-radius: 50%; background: #22c55e; box-shadow: 0 0 0 4px rgba(34, 197, 94, .2); }
.pjv-note { margin: 0; }
.pjv-hero-center__coin, .pjv-hero-img__coin, .pjv-live__coin, .pjv-fact__coin {
    flex: none; display: inline-grid; place-items: center; border-radius: 50%; overflow: hidden; background: var(--pj-card);
    box-shadow: 0 0 0 1px var(--pj-card-line, var(--pj-line)), 0 12px 30px -14px rgba(10, 16, 40, .4);
}
:is(.pjv-hero-center__coin, .pjv-hero-img__coin, .pjv-live__coin, .pjv-fact__coin) img { width: 100%; height: 100%; object-fit: cover; }
:is(.pjv-hero-center__coin, .pjv-hero-img__coin, .pjv-live__coin, .pjv-fact__coin) b { font-family: var(--pj-font-heading, inherit); color: var(--pj-primary); font-size: .9em; }
.pjv-hero-center__coin { width: 84px; height: 84px; font-size: 24px; }
.pjv-hero-img__coin { width: min(280px, 60vw); height: min(280px, 60vw); font-size: 56px; box-shadow: 0 0 0 1px var(--pj-card-line, var(--pj-line)), 0 0 90px -10px color-mix(in srgb, var(--pj-primary) 55%, transparent); }
.pjv-live__coin, .pjv-fact__coin { width: 40px; height: 40px; font-size: 12px; }
@media (max-width: 900px) { .pjv-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 600px) { .pjv-grid { grid-template-columns: minmax(0, 1fr); } }

/* ---------- hero */
.pjv-hero-center { max-width: 880px; margin: 0 auto; display: flex; flex-direction: column; align-items: center; gap: 18px; text-align: center; }
html body .pjv-hero-center h1 { font-size: calc(clamp(40px, 6.2vw, 80px) * var(--pj-h-scale, 1)); line-height: 1.02; margin: 0; }
.pjv-hero-center .pj-lead { max-width: 640px; margin: 0; }
.pjv-hero-center :is(.pj-cta, .pj-socials) { justify-content: center; margin: 0; }
.pjv-live { display: flex; flex-wrap: wrap; gap: 12px; justify-content: center; }
.pjv-live .pjv-it { display: flex; align-items: center; gap: 12px; padding: 12px 18px; border-radius: var(--pj-radius, 16px); background: var(--pj-card); border: 1px solid var(--pj-card-line, var(--pj-line)); }
.pjv-live__stats { margin: 0; }
.pjv-live__stats:not([hidden]) { display: contents; }
.pjv-live__stats .pjv-it { flex-direction: column; align-items: flex-start; gap: 2px; min-width: 120px; }
.pjv-live dt { font-size: 11px; font-weight: 700; text-transform: uppercase; letter-spacing: .08em; color: var(--pj-muted); }
.pjv-live dd { margin: 0; font: 750 20px/1.2 var(--pj-font-heading, inherit); color: var(--pj-ink); font-variant-numeric: tabular-nums; }
.pjv-live dd.is-up { color: #16a34a; }
.pjv-live dd.is-down { color: #e11d48; }
.pjv-live__sym span { display: grid; text-align: left; }
.pjv-live__sym b { color: var(--pj-ink); }
.pjv-live__sym small { color: var(--pj-muted); font-size: 12px; }
.pjv-live__ca .pjc-ca, .pjv-live__ca { gap: 8px; }
.pjv-live__ca code { font-size: 13px; }
.pjv-hero-img { display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(0, .95fr); gap: clamp(28px, 5vw, 64px); align-items: center; }
.pjv-hero-img.is-single { grid-template-columns: minmax(0, 1fr); max-width: 820px; }
.pjv-hero-img__copy { display: flex; flex-direction: column; align-items: flex-start; gap: 18px; }
html body .pjv-hero-img h1 { font-size: calc(clamp(38px, 5.4vw, 68px) * var(--pj-h-scale, 1)); line-height: 1.04; margin: 0; }
.pjv-hero-img .pj-lead, .pjv-hero-img .pj-cta { margin: 0; }
.pjv-hero-img__pic img, .pjv-hero-img__pic .pj-img-empty { display: block; width: 100%; max-height: 560px; object-fit: cover; border-radius: calc(var(--pj-radius, 16px) * 1.5); box-shadow: 0 40px 80px -40px rgba(10, 16, 40, .5); }
.pjv-hero-img__pic .pj-img-empty { min-height: 320px; }
.pjv-hero-img__pic.is-coin { display: grid; place-items: center; }
.pjv-hero-min { display: flex; flex-direction: column; align-items: flex-start; gap: 8px; }
html body .pjv-hero-min h1 { font-size: calc(clamp(48px, 9vw, 132px) * var(--pj-h-scale, 1)); line-height: .95; letter-spacing: -.035em; margin: 14px 0 22px; max-width: 14ch; }
.pjv-hero-min__row { width: 100%; display: flex; align-items: flex-end; justify-content: space-between; gap: 28px; padding-top: 24px; border-top: 1px solid var(--pj-line); }
.pjv-hero-min__row .pj-lead { max-width: 560px; margin: 0; }
.pjv-hero-min__row .pj-cta { margin: 0; flex: none; }
.pjv-hero-min .pj-socials { margin-top: 18px; }
.pjv-hero-live { display: flex; flex-direction: column; gap: 28px; }
.pjv-hero-live__top { display: flex; align-items: flex-end; justify-content: space-between; gap: 28px; }
.pjv-hero-live__top > div { display: flex; flex-direction: column; align-items: flex-start; gap: 14px; max-width: 760px; }
html body .pjv-hero-live h1 { font-size: calc(clamp(36px, 5vw, 64px) * var(--pj-h-scale, 1)); line-height: 1.04; margin: 0; }
.pjv-hero-live .pj-lead, .pjv-hero-live__top .pj-cta { margin: 0; }
.pjv-hero-live__top .pj-cta { flex: none; flex-wrap: nowrap; }
.pjv-hero-live .pjv-live .pjv-live__ca { flex: 0 1 auto; }
.pjv-live__ca .pjc-ca { white-space: nowrap; }
.pjv-hero-live .pjv-live { justify-content: flex-start; }
.pjv-hero-live .pjv-live .pjv-it { flex: 1 1 180px; padding: 20px 22px; }
.pjv-hero-live .pjv-live dd { font-size: clamp(22px, 2.4vw, 30px); }
@media (max-width: 900px) {
    .pjv-hero-img { grid-template-columns: minmax(0, 1fr); }
    .pjv-hero-min__row, .pjv-hero-live__top { flex-direction: column; align-items: flex-start; }
}

/* ---------- page title */
.pjv-head__main { display: flex; flex-direction: column; align-items: flex-start; gap: 14px; }
.pjv-head h1 { margin: 0; }
.pjv-head .pj-lead { margin: 0; }
.pjv-head--split { display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr); gap: clamp(24px, 5vw, 64px); align-items: end; }
html body .pjv-head--split h1 { font-size: calc(clamp(36px, 5vw, 64px) * var(--pj-h-scale, 1)); line-height: 1.04; }
.pjv-head--minimal { display: flex; flex-direction: column; gap: 12px; padding-bottom: 26px; border-bottom: 1px solid var(--pj-line); }
html body .pjv-head--minimal h1 { font-size: calc(clamp(30px, 4vw, 48px) * var(--pj-h-scale, 1)); }
.pjv-head--minimal .pj-lead { max-width: 720px; }
.pjv-head--banner {
    display: flex; flex-direction: column; align-items: center; gap: 14px; text-align: center; padding: clamp(36px, 6vw, 76px) clamp(20px, 4vw, 48px);
    border-radius: calc(var(--pj-radius, 16px) * 1.6); border: 1px solid var(--pj-card-line, var(--pj-line));
    background: radial-gradient(80% 120% at 0% 0%, color-mix(in srgb, var(--pj-primary) 18%, var(--pj-card)), transparent 60%), radial-gradient(80% 120% at 100% 100%, color-mix(in srgb, var(--pj-accent) 16%, var(--pj-card)), transparent 60%), var(--pj-card);
}
.pjv-head--banner .pjv-head__main { align-items: center; }
.pjv-head--banner .pj-lead { max-width: 680px; }
.pjv-head--banner.is-left { align-items: flex-start; text-align: left; }
.pjv-head--banner.is-left .pjv-head__main { align-items: flex-start; }
@media (max-width: 760px) { .pjv-head--split { grid-template-columns: minmax(0, 1fr); } }

/* ---------- tools: list + buttons */
.pjv-rows { list-style: none; margin: 0; padding: 0; display: grid; gap: 10px; }
.pjv-row {
    display: grid; grid-template-columns: auto auto minmax(0, 1fr) auto; align-items: center; gap: 18px; padding: 16px 22px; text-decoration: none !important;
    border-radius: var(--pj-radius, 16px); background: var(--pj-card); border: 1px solid var(--pj-card-line, var(--pj-line)); color: var(--pj-text, inherit);
}
.pjv-row .pjv-no { font-size: 14px; min-width: 2ch; }
.pjv-row__main b { display: block; font: var(--pj-h3-weight, 700) calc(18px * var(--pj-h-scale, 1)) / 1.25 var(--pj-font-heading, inherit); color: var(--pj-ink); }
.pjv-row__main small { display: block; margin-top: 3px; color: var(--pj-muted); font-size: 14px; line-height: 1.5; }
.pjv-row .pjv-go { margin: 0; white-space: nowrap; }
.pjv-pills { display: flex; flex-wrap: wrap; justify-content: center; gap: 12px; }
.pjv-pill {
    display: inline-flex; align-items: center; gap: 12px; padding: 8px 18px 8px 8px; border-radius: 999px; text-decoration: none !important;
    background: var(--pj-card); border: 1px solid var(--pj-card-line, var(--pj-line)); color: var(--pj-ink); font-weight: 700;
}
.pjv-pill .pjv-ico { width: 38px; height: 38px; border-radius: 50%; font-size: 15px; }
.pjv-pill .pjv-go { margin: 0; font-size: 12px; opacity: .7; }
@media (max-width: 640px) {
    .pjv-row { grid-template-columns: auto minmax(0, 1fr); padding: 14px 16px; }
    .pjv-row .pjv-no { display: none; }
    .pjv-row .pjv-go { grid-column: 2; }
}

/* ---------- features: list / split / centered (and security: list / columns) */
.pjv-list { max-width: 880px; margin: 0 auto; display: grid; gap: 12px; }
.pjv-line { display: flex; align-items: flex-start; gap: 18px; padding: 20px 22px; border-radius: var(--pj-radius, 16px); background: var(--pj-card); border: 1px solid var(--pj-card-line, var(--pj-line)); }
.pjv-split { display: grid; grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr); gap: clamp(28px, 5vw, 64px); align-items: start; }
.pjv-split__head { position: sticky; top: 100px; }
.pjv-split__head .pj-section-head { margin: 0; }
.pjv-feat { display: flex; flex-direction: column; align-items: center; gap: 14px; padding: 18px; text-align: center; border-radius: var(--pj-radius, 16px); }
.pjv-feat h3 { margin: 0 0 6px; font-size: calc(19px * var(--pj-h-scale, 1)); color: var(--pj-ink); }
.pjv-feat p { margin: 0; color: var(--pj-muted); line-height: 1.6; }
.pjv-grid--center .pjv-ico { width: 64px; height: 64px; font-size: 25px; border-radius: calc(20px * var(--pj-rk, 1)); }
.pjv-card .pj-check__proof, .pjv-line .pj-check__proof { display: inline-flex; margin-top: 10px; }
@media (max-width: 900px) { .pjv-split { grid-template-columns: minmax(0, 1fr); } .pjv-split__head { position: static; } }

/* ---------- how to buy */
.pjv-steps { list-style: none; margin: 0; padding: 0; }
.pjv-step__body h3 { margin: 0 0 6px; font-size: calc(18px * var(--pj-h-scale, 1)); color: var(--pj-ink); }
.pjv-step__body p { margin: 0; color: var(--pj-muted); line-height: 1.6; }
.pjv-steps--vertical { max-width: 780px; margin: 0; }
.pjv-steps--vertical .pjv-step { position: relative; display: grid; grid-template-columns: 48px minmax(0, 1fr); gap: 20px; padding-bottom: 18px; }
.pjv-steps--vertical .pjv-step:not(:last-child)::before { content: ""; position: absolute; left: 23px; top: 50px; bottom: 2px; width: 2px; background: linear-gradient(var(--pj-primary), color-mix(in srgb, var(--pj-primary) 15%, transparent)); }
.pjv-steps--vertical .pjv-step__n {
    width: 48px; height: 48px; border-radius: 50%; display: grid; place-items: center; font: 800 17px/1 var(--pj-font-heading, inherit);
    background: var(--pj-primary); color: var(--pj-on-primary, #fff); box-shadow: 0 0 0 6px color-mix(in srgb, var(--pj-primary) 14%, transparent);
}
.pjv-steps--vertical .pjv-step__body { padding: 18px 22px; border-radius: var(--pj-radius, 16px); background: var(--pj-card); border: 1px solid var(--pj-card-line, var(--pj-line)); }
.pjv-steps--cards { display: grid; grid-template-columns: repeat(var(--pjv-cols, 4), minmax(0, 1fr)); gap: 18px; }
.pjv-steps--cards .pjv-step { position: relative; display: flex; }
.pjv-steps--cards .pjv-step__n { position: absolute; top: 14px; right: 18px; font: 800 44px/1 var(--pj-font-heading, inherit); color: var(--pj-primary); opacity: .22; letter-spacing: 0; }
.pjv-steps--cards .pjv-step__body { flex: 1; padding: 30px 24px 24px; border-radius: var(--pj-radius, 16px); background: var(--pj-card); border: 1px solid var(--pj-card-line, var(--pj-line)); }
.pjv-steps--big { max-width: 960px; margin: 0 auto; }
.pjv-steps--big .pjv-step { display: grid; grid-template-columns: minmax(96px, auto) minmax(0, 1fr); gap: clamp(18px, 4vw, 40px); align-items: center; padding: 22px 0; border-bottom: 1px solid var(--pj-line); }
.pjv-steps--big .pjv-step:first-child { border-top: 1px solid var(--pj-line); }
.pjv-steps--big .pjv-step__n { font: 800 clamp(52px, 8vw, 100px)/1 var(--pj-font-heading, inherit); letter-spacing: -.03em; color: transparent; -webkit-text-stroke: 2px var(--pj-primary); }
.pjv-steps--big .pjv-step__body h3 { font-size: calc(clamp(20px, 2.2vw, 26px) * var(--pj-h-scale, 1)); }
.pjv-steps + .pj-center { margin-top: 28px; }
@media (max-width: 900px) { .pjv-steps--cards { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 600px) { .pjv-steps--cards { grid-template-columns: minmax(0, 1fr); } }

/* ---------- FAQ */
.pjv-faq.pj-faq, .pjv-faq { display: grid; gap: 12px; }
.pjv-faq--centered { max-width: 820px; margin: 0 auto; }
.pjv-faq--columns { max-width: none; grid-template-columns: repeat(2, minmax(0, 1fr)); align-items: start; gap: 14px; }
.pjv-qa { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
.pjv-qa__item { padding: 22px 24px; border-radius: var(--pj-radius, 16px); background: var(--pj-card); border: 1px solid var(--pj-card-line, var(--pj-line)); }
.pjv-qa__item h3 { margin: 0 0 8px; font-size: calc(17px * var(--pj-h-scale, 1)); color: var(--pj-ink); }
.pjv-qa__item p { margin: 0; color: var(--pj-muted); line-height: 1.65; }
@media (max-width: 760px) { .pjv-faq--columns, .pjv-qa { grid-template-columns: minmax(0, 1fr); } }

/* ---------- token details */
.pjv-facts code { font-family: ui-monospace, SFMono-Regular, Menlo, monospace; font-size: 13px; word-break: break-all; color: var(--pj-ink); }
.pjv-fact small { color: var(--pj-muted); font-size: 12px; font-weight: 700; text-transform: uppercase; letter-spacing: .06em; }
.pjv-fact b { color: var(--pj-ink); font-family: var(--pj-font-heading, inherit); font-variant-numeric: tabular-nums; }
.pjv-fact b.is-up { color: #16a34a; }
.pjv-fact b.is-down { color: #e11d48; }
.pjv-fact--token > div { display: grid; }
.pjv-fact--token small { text-transform: none; letter-spacing: 0; font-weight: 500; }
.pjv-fact__ca { display: inline-flex; align-items: center; flex-wrap: wrap; gap: 6px; }
.pjv-fact__live:not([hidden]) { display: contents; }
.pjv-facts--table { display: grid; border-radius: var(--pj-radius, 16px); background: var(--pj-card); border: 1px solid var(--pj-card-line, var(--pj-line)); overflow: hidden; }
.pjv-facts--table .pjv-fact { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 16px 24px; border-bottom: 1px solid var(--pj-line); }
.pjv-facts--table .pjv-fact:last-child { border-bottom: 0; }
.pjv-facts--table .pjv-fact--token { justify-content: flex-start; gap: 14px; background: color-mix(in srgb, var(--pj-primary) 6%, transparent); }
.pjv-facts--table .pjv-fact b { text-align: right; }
.pjv-facts--cards { display: grid; grid-template-columns: repeat(var(--pjv-cols, 3), minmax(0, 1fr)); gap: 14px; }
.pjv-facts--cards .pjv-fact { display: flex; flex-direction: column; gap: 6px; padding: 20px 22px; border-radius: var(--pj-radius, 16px); background: var(--pj-card); border: 1px solid var(--pj-card-line, var(--pj-line)); min-width: 0; }
.pjv-facts--cards .pjv-fact b { font-size: 21px; overflow-wrap: anywhere; }
.pjv-facts--cards .pjv-fact--token { flex-direction: row; align-items: center; gap: 14px; }
.pjv-facts--cards .pjv-fact--contract { grid-column: 1 / -1; }
.pjv-facts--strip { display: flex; flex-wrap: wrap; align-items: stretch; padding: 8px; border-radius: calc(var(--pj-radius, 16px) + 4px); background: var(--pj-card); border: 1px solid var(--pj-card-line, var(--pj-line)); }
.pjv-facts--strip .pjv-fact { display: flex; flex-direction: column; justify-content: center; gap: 3px; padding: 10px 20px; border-radius: var(--pj-radius-sm, 10px); }
.pjv-facts--strip .pjv-fact + .pjv-fact, .pjv-facts--strip .pjv-fact__live .pjv-fact { box-shadow: inset 1px 0 0 var(--pj-line); }
.pjv-facts--strip .pjv-fact--token { flex-direction: row; align-items: center; gap: 12px; }
.pjv-facts--strip .pjv-fact--contract { margin-left: auto; }
@media (max-width: 900px) { .pjv-facts--cards { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 600px) {
    .pjv-facts--cards { grid-template-columns: minmax(0, 1fr); }
    .pjv-facts--table .pjv-fact { flex-direction: column; align-items: flex-start; gap: 4px; }
    .pjv-facts--table .pjv-fact b { text-align: left; }
    .pjv-facts--strip .pjv-fact { flex: 1 1 45%; box-shadow: none !important; }
    .pjv-facts--strip .pjv-fact--contract { margin: 0; flex-basis: 100%; }
}

/* ---------- tokenomics */
.pjv-bars { display: grid; grid-template-columns: minmax(0, .7fr) minmax(0, 1.3fr); gap: clamp(24px, 5vw, 56px); align-items: center; }
.pjv-bars__supply small, .pjv-alloc-card small { display: block; color: var(--pj-muted); font-size: 12px; font-weight: 700; text-transform: uppercase; letter-spacing: .08em; }
.pjv-bars__supply b { display: block; margin: 6px 0 2px; font: var(--pj-h-weight, 800) clamp(26px, 3vw, 42px)/1.05 var(--pj-font-heading, inherit); color: var(--pj-ink); white-space: nowrap; }
.pjv-bars__supply span { color: var(--pj-muted); font-weight: 700; }
.pjv-bars ul { list-style: none; margin: 0; padding: 0; display: grid; gap: 18px; }
.pjv-bars li { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 8px 14px; align-items: baseline; }
.pjv-bars li > span { color: var(--pj-text, inherit); font-weight: 600; }
.pjv-bars li > b { color: var(--pj-ink); font-family: var(--pj-font-heading, inherit); }
.pjv-bars em, .pjv-alloc-card em { grid-column: 1 / -1; display: block; height: 10px; border-radius: 999px; background: var(--pj-bg-soft, rgba(127, 127, 127, .12)); overflow: hidden; }
.pjv-bars u, .pjv-alloc-card u { display: block; height: 100%; border-radius: inherit; background: var(--c, var(--pj-primary)); }
.pjv-alloc-card { display: flex; flex-direction: column; gap: 8px; padding: 22px; border-radius: var(--pj-radius, 16px); background: var(--pj-card); border: 1px solid var(--pj-card-line, var(--pj-line)); border-top: 4px solid var(--c, var(--pj-primary)); }
.pjv-alloc-card > b { font: var(--pj-h-weight, 800) 32px/1.1 var(--pj-font-heading, inherit); color: var(--pj-ink); }
.pjv-alloc-card > span { color: var(--pj-muted); font-weight: 600; }
.pjv-alloc-card.is-supply { border-top-color: var(--pj-ink); }
.pjv-alloc-card.is-supply > b { font-size: 26px; overflow-wrap: anywhere; }
.pjv-chips { display: flex; flex-wrap: wrap; justify-content: center; gap: 12px; margin-top: 28px; }
.pjv-chip { display: inline-flex; align-items: baseline; gap: 10px; padding: 12px 18px; border-radius: var(--pj-radius, 16px); background: var(--pj-card); border: 1px solid var(--pj-card-line, var(--pj-line)); }
.pjv-chip small { color: var(--pj-muted); font-weight: 600; }
.pjv-chip b { color: var(--pj-ink); font-family: var(--pj-font-heading, inherit); }
@media (max-width: 760px) { .pjv-bars { grid-template-columns: minmax(0, 1fr); } }

/* ---------- numbers */
.pjv-stat b { display: block; font: var(--pj-h-weight, 800) calc(clamp(30px, 3.6vw, 46px) * var(--pj-h-scale, 1))/1.05 var(--pj-font-heading, inherit); color: var(--pj-ink); }
.pjv-stat span { display: block; margin-top: 6px; color: var(--pj-muted); font-weight: 600; }
.pjv-stats--cards { display: grid; grid-template-columns: repeat(var(--pjv-cols, 3), minmax(0, 1fr)); gap: 18px; }
.pjv-stats--cards .pjv-stat { padding: 30px 22px; text-align: center; border-radius: var(--pj-radius, 16px); background: var(--pj-card); border: 1px solid var(--pj-card-line, var(--pj-line)); }
.pjv-stats--band {
    display: flex; flex-wrap: wrap; justify-content: space-around; gap: 28px 40px; padding: clamp(28px, 5vw, 52px) clamp(20px, 4vw, 44px); text-align: center;
    border-radius: calc(var(--pj-radius, 16px) * 1.5); background: linear-gradient(120deg, var(--pj-primary), color-mix(in srgb, var(--pj-primary) 55%, var(--pj-accent)));
    box-shadow: 0 30px 70px -36px color-mix(in srgb, var(--pj-primary) 80%, transparent);
}
html body .pjv-stats--band .pjv-stat b { color: var(--pj-on-primary, #fff); }
.pjv-stats--band .pjv-stat span { color: color-mix(in srgb, var(--pj-on-primary, #fff) 80%, transparent); }
.pjv-stats--inline { display: flex; flex-wrap: wrap; justify-content: center; gap: 16px 0; }
.pjv-stats--inline .pjv-stat { display: flex; align-items: baseline; gap: 10px; padding: 4px 28px; }
.pjv-stats--inline .pjv-stat + .pjv-stat { box-shadow: inset 1px 0 0 var(--pj-line); }
.pjv-stats--inline .pjv-stat b { font-size: calc(clamp(24px, 2.6vw, 32px) * var(--pj-h-scale, 1)); }
.pjv-stats--inline .pjv-stat span { margin: 0; }
@media (max-width: 900px) { .pjv-stats--cards { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 600px) { .pjv-stats--inline .pjv-stat { box-shadow: none !important; flex-direction: column; align-items: center; gap: 2px; } }

/* ---------- roadmap */
.pjv-road { list-style: none; margin: 0; padding: 0; }
.pjv-phase__dot {
    position: relative; z-index: 1; flex: none; width: 44px; height: 44px; border-radius: 50%; display: grid; place-items: center; font: 800 15px/1 var(--pj-font-heading, inherit);
    background: var(--pj-card); border: 2px solid var(--pj-line); color: var(--pj-muted);
}
.pjv-phase.is-done .pjv-phase__dot { background: var(--pj-primary); border-color: var(--pj-primary); color: var(--pj-on-primary, #fff); }
.pjv-phase.is-now .pjv-phase__dot { border-color: var(--pj-primary); color: var(--pj-primary-ink, var(--pj-primary)); box-shadow: 0 0 0 6px color-mix(in srgb, var(--pj-primary) 16%, transparent); }
.pjv-phase__card { padding: 20px 22px; border-radius: var(--pj-radius, 16px); background: var(--pj-card); border: 1px solid var(--pj-card-line, var(--pj-line)); }
.pjv-phase__top { display: flex; align-items: center; justify-content: space-between; gap: 10px; margin-bottom: 6px; }
.pjv-phase__top small { color: var(--pj-muted); font-weight: 700; }
.pjv-status { font-style: normal; font-size: 12px; font-weight: 700; padding: 3px 10px; border-radius: 999px; background: var(--pj-bg-soft, rgba(127, 127, 127, .12)); color: var(--pj-muted); }
.pjv-phase.is-done .pjv-status { background: rgba(22, 163, 74, .12); color: #16a34a; }
.pjv-phase.is-now .pjv-status { background: color-mix(in srgb, var(--pj-primary) 14%, transparent); color: var(--pj-primary-ink, var(--pj-primary)); }
.pjv-phase__card h3 { margin: 0; font-size: calc(19px * var(--pj-h-scale, 1)); color: var(--pj-ink); }
.pjv-phase__card ul { margin: 10px 0 0; padding-left: 18px; color: var(--pj-muted); line-height: 1.7; }
.pjv-road--vertical { max-width: 820px; margin: 0 auto; }
.pjv-road--vertical .pjv-phase { position: relative; display: grid; grid-template-columns: 44px minmax(0, 1fr); gap: 18px; padding-bottom: 20px; }
.pjv-road--vertical .pjv-phase:not(:last-child)::before { content: ""; position: absolute; left: 21px; top: 46px; bottom: 0; width: 2px; background: var(--pj-line); }
.pjv-road--vertical .pjv-phase.is-done:not(:last-child)::before { background: var(--pj-primary); }
.pjv-road--columns { display: grid; grid-template-columns: repeat(var(--pjv-cols, 3), minmax(0, 1fr)); gap: 18px; }
.pjv-road--columns .pjv-phase { position: relative; display: flex; flex-direction: column; gap: 14px; }
.pjv-road--columns .pjv-phase:not(:last-child)::before { content: ""; position: absolute; top: 21px; left: 44px; right: -18px; height: 2px; background: var(--pj-line); }
.pjv-road--columns .pjv-phase.is-done:not(:last-child)::before { background: var(--pj-primary); }
.pjv-road--columns .pjv-phase__card { flex: 1; }
@media (max-width: 900px) { .pjv-road--columns { grid-template-columns: repeat(2, minmax(0, 1fr)); } .pjv-road--columns .pjv-phase::before { display: none; } }
@media (max-width: 600px) { .pjv-road--columns { grid-template-columns: minmax(0, 1fr); } }

/* ---------- team */
.pjv-person__photo { flex: none; border-radius: 50%; overflow: hidden; background: var(--pj-bg-soft, rgba(127, 127, 127, .12)); display: grid; place-items: center; }
.pjv-person__photo img, .pjv-person__photo .pj-img-empty { width: 100%; height: 100%; object-fit: cover; border-radius: 50%; }
.pjv-person__initials { font: 800 1.6em/1 var(--pj-font-heading, inherit); color: var(--pj-primary); }
.pjv-person b { display: block; color: var(--pj-ink); font-size: 17px; }
.pjv-person .pjv-role { display: block; color: var(--pj-muted); font-size: 14px; }
.pjv-team--circles { display: grid; grid-template-columns: repeat(var(--pjv-cols, 4), minmax(0, 1fr)); gap: 24px; }
.pjv-team--circles .pjv-person { display: flex; flex-direction: column; align-items: center; gap: 10px; padding: 18px 12px; text-align: center; border-radius: var(--pj-radius, 16px); }
.pjv-team--circles .pjv-person__photo { width: 128px; height: 128px; font-size: 22px; box-shadow: 0 0 0 4px var(--pj-card), 0 0 0 6px color-mix(in srgb, var(--pj-primary) 35%, transparent); }
.pjv-team--list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.pjv-team--list .pjv-person { display: flex; align-items: center; gap: 16px; padding: 14px 18px; border-radius: var(--pj-radius, 16px); background: var(--pj-card); border: 1px solid var(--pj-card-line, var(--pj-line)); }
.pjv-team--list .pjv-person__photo { width: 56px; height: 56px; font-size: 13px; }
.pjv-team--list .pjv-person__text { flex: 1; min-width: 0; }
@media (max-width: 900px) { .pjv-team--circles { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 640px) { .pjv-team--list { grid-template-columns: minmax(0, 1fr); } }

/* ---------- partners */
.pjv-logos { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(var(--pjv-cols, 4), minmax(0, 1fr)); gap: 14px; }
.pjv-logo { display: grid; place-items: center; gap: 6px; text-align: center; }
.pjv-logos .pjv-logo { min-height: 100px; padding: 18px; border-radius: var(--pj-radius, 16px); background: var(--pj-card); border: 1px solid var(--pj-card-line, var(--pj-line)); }
.pjv-logo img { max-width: 100%; max-height: 46px; width: auto; object-fit: contain; transition: filter .25s, opacity .25s; }
.pjv-logo .pj-img-empty { width: 120px; height: 60px; }
.pjv-logo small { color: var(--pj-muted); font-size: 12px; }
.pjv-logo__name { font-weight: 800; color: var(--pj-muted); font-size: 18px; }
.is-grey .pjv-logo img { filter: grayscale(1); opacity: .65; }
.is-grey .pjv-logo:hover img { filter: none; opacity: 1; }
.pjv-marquee { overflow: hidden; -webkit-mask-image: linear-gradient(90deg, transparent, #000 8%, #000 92%, transparent); mask-image: linear-gradient(90deg, transparent, #000 8%, #000 92%, transparent); }
.pjv-marquee__track { list-style: none; margin: 0; padding: 10px 0; display: flex; gap: 56px; width: max-content; animation: pjv-marquee 38s linear infinite; }
.pjv-marquee:hover .pjv-marquee__track { animation-play-state: paused; }
.pjv-marquee .pjv-logo { min-height: 64px; }
@keyframes pjv-marquee { to { transform: translateX(calc(-50% - 28px)); } }
@media (prefers-reduced-motion: reduce) { .pjv-marquee__track { animation: none; flex-wrap: wrap; width: auto; justify-content: center; } }
@media (max-width: 900px) { .pjv-logos { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (max-width: 600px) { .pjv-logos { grid-template-columns: repeat(2, minmax(0, 1fr)); } }

/* ---------- community */
.pjv-social { list-style: none; margin: 0; padding: 0; display: grid; gap: 12px; }
.pjv-social--buttons { grid-template-columns: repeat(var(--pjv-cols, 3), minmax(0, 1fr)); }
.pjv-social--list { max-width: 760px; margin: 0 auto; }
.pjv-social__a {
    display: flex; align-items: center; gap: 14px; padding: 16px 20px; height: 100%; text-decoration: none !important; color: var(--pj-text, inherit);
    border-radius: var(--pj-radius, 16px); background: var(--pj-card); border: 1px solid var(--pj-card-line, var(--pj-line));
}
.pjv-social__main { flex: 1; min-width: 0; }
.pjv-social__main b { display: block; color: var(--pj-ink); }
.pjv-social__main small { display: block; color: var(--pj-muted); font-size: 13px; }
.pjv-social__a .pjv-go { margin: 0; font-size: 13px; color: var(--pj-muted); }
@media (max-width: 900px) { .pjv-social--buttons { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 560px) { .pjv-social--buttons { grid-template-columns: minmax(0, 1fr); } }

/* ---------- call to action */
.pjv-cta { display: flex; align-items: center; gap: 28px; padding: clamp(28px, 5vw, 56px); border-radius: calc(var(--pj-radius, 16px) * 1.5); }
.pjv-cta h2 { margin: 0; color: inherit; }
.pjv-cta p { margin: 10px 0 0; opacity: .9; }
.pjv-cta .pj-cta { margin: 0; flex: none; }
.pjv-cta.is-band, .pjv-cta.is-gradient {
    --pj-ink: var(--pj-on-primary, #fff); --pj-text: var(--pj-on-primary, #fff); --pj-muted: color-mix(in srgb, var(--pj-on-primary, #fff) 80%, transparent);
    color: var(--pj-on-primary, #fff);
}
.pjv-cta.is-band { background: var(--pj-primary); }
.pjv-cta.is-gradient { background: linear-gradient(120deg, var(--pj-primary), var(--pj-accent)); }
.pjv-cta.is-card { background: var(--pj-card); border: 1px solid var(--pj-card-line, var(--pj-line)); color: var(--pj-text, inherit); box-shadow: var(--pj-shadow, none); }
.pjv-cta.is-card h2 { color: var(--pj-ink); }
.pjv-cta--centered { flex-direction: column; text-align: center; }
.pjv-cta--centered .pjv-cta__copy { max-width: 720px; }
.pjv-cta--centered .pj-cta { justify-content: center; }
.pjv-cta--split { justify-content: space-between; }
.pjv-cta--split .pjv-cta__copy { max-width: 640px; }
.pjv-cta--minimal { justify-content: space-between; padding: 22px 28px; }
.pjv-cta--minimal h2 { font-size: calc(clamp(20px, 2.2vw, 28px) * var(--pj-h-scale, 1)); }
@media (max-width: 760px) { .pjv-cta--split, .pjv-cta--minimal { flex-direction: column; align-items: flex-start; } }

/* ---------- about */
.pjv-about__story h2 { margin-top: 0; }
.pjv-about--centered .pjv-about__story { max-width: 760px; margin: 0 auto; text-align: center; }
.pjv-about--centered .pjv-about__story .pj-socials { justify-content: center; }
.pjv-about__cards { display: grid; grid-template-columns: minmax(0, 1fr); gap: 20px; margin-top: 36px; }
.pjv-about__cards.is-two { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.pjv-about--centered .pjv-about__cards { max-width: 860px; margin-left: auto; margin-right: auto; }
.pjv-about__cards > * { margin: 0; text-align: left; }
@media (max-width: 760px) { .pjv-about__cards.is-two { grid-template-columns: minmax(0, 1fr); } }

/* ---------- text + image */
.pjv-ti__img img, .pjv-ti__img .pj-img-empty { display: block; width: 100%; border-radius: calc(var(--pj-radius, 16px) * 1.4); object-fit: cover; }
.pjv-ti__text h2 { margin-top: 0; }
.pjv-ti--overlap { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); align-items: center; }
.pjv-ti--overlap .pjv-ti__img { grid-column: 5 / 13; grid-row: 1; }
.pjv-ti--overlap .pjv-ti__img img, .pjv-ti--overlap .pjv-ti__img .pj-img-empty { aspect-ratio: 4 / 3; min-height: 320px; }
.pjv-ti--overlap .pjv-ti__text {
    grid-column: 1 / 7; grid-row: 1; position: relative; z-index: 1; padding: clamp(24px, 3.4vw, 44px); border-radius: calc(var(--pj-radius, 16px) * 1.2);
    background: var(--pj-card); border: 1px solid var(--pj-card-line, var(--pj-line)); box-shadow: 0 40px 70px -36px rgba(10, 16, 40, .5);
}
.pjv-ti--overlap.is-left .pjv-ti__img { grid-column: 1 / 9; }
.pjv-ti--overlap.is-left .pjv-ti__text { grid-column: 7 / 13; }
.pjv-ti.is-noimg .pjv-ti__text { grid-column: 1 / -1; }
.pjv-ti--stacked { display: flex; flex-direction: column; gap: 32px; }
.pjv-ti--stacked .pjv-ti__img img, .pjv-ti--stacked .pjv-ti__img .pj-img-empty { aspect-ratio: 21 / 9; min-height: 220px; }
.pjv-ti--stacked .pjv-ti__text { max-width: 760px; margin: 0 auto; text-align: center; }
.pjv-ti--stacked .pj-cta { justify-content: center; }
@media (max-width: 900px) {
    .pjv-ti--overlap { display: block; }
    .pjv-ti--overlap .pjv-ti__text { margin: -48px 16px 0; }
}

/* ---------- gallery */
.pjv-gallery figure { margin: 0; }
.pjv-gallery img, .pjv-gallery .pj-img-empty { display: block; width: 100%; border-radius: var(--pj-radius, 16px); }
.pjv-gallery figcaption { margin-top: 8px; color: var(--pj-muted); font-size: 14px; }
.pjv-gallery--masonry { columns: var(--pjv-cols, 3); column-gap: 16px; }
.pjv-gallery--masonry figure { break-inside: avoid; margin-bottom: 16px; }
.pjv-gallery--row { display: grid; grid-auto-flow: column; grid-auto-columns: minmax(240px, 32%); gap: 16px; overflow-x: auto; scroll-snap-type: x mandatory; padding-bottom: 10px; scrollbar-width: thin; }
.pjv-gallery--row figure { scroll-snap-align: start; }
.pjv-gallery--row img, .pjv-gallery--row .pj-img-empty { aspect-ratio: 4 / 3; object-fit: cover; }
@media (max-width: 760px) { .pjv-gallery--masonry { columns: 2; } .pjv-gallery--row { grid-auto-columns: 78%; } }
@media (max-width: 480px) { .pjv-gallery--masonry { columns: 1; } }

/* ---------- video */
.pjv-video--split { display: grid; grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr); gap: clamp(24px, 4vw, 52px); align-items: center; }
.pjv-video--split .pj-section-head { margin: 0; text-align: left; }
.pjv-video--split .pj-video { margin: 0; max-width: none; }
.pjv-video--wide .pj-video { max-width: none; }
@media (max-width: 900px) { .pjv-video--split { grid-template-columns: minmax(0, 1fr); } }

/* ---------- updates */
.pjv-post { overflow: hidden; border-radius: var(--pj-radius, 16px); background: var(--pj-card); border: 1px solid var(--pj-card-line, var(--pj-line)); }
.pjv-post__img img, .pjv-post__img .pj-img-empty { display: block; width: 100%; height: 100%; object-fit: cover; }
.pjv-post__body h3 { margin: 6px 0 8px; font-size: calc(19px * var(--pj-h-scale, 1)); color: var(--pj-ink); }
.pjv-post__body p { margin: 0 0 10px; color: var(--pj-muted); line-height: 1.6; }
.pjv-news--list { max-width: 940px; margin: 0 auto; display: grid; gap: 14px; }
.pjv-news--list .pjv-post { display: grid; grid-template-columns: 200px minmax(0, 1fr); gap: 22px; align-items: center; padding: 14px; }
.pjv-news--list .pjv-post:not(:has(.pjv-post__img)) { grid-template-columns: minmax(0, 1fr); padding: 18px 22px; }
.pjv-news--list .pjv-post__img { aspect-ratio: 4 / 3; border-radius: calc(var(--pj-radius, 16px) - 4px); overflow: hidden; }
.pjv-news--featured { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; }
.pjv-news--featured .pjv-post { display: flex; flex-direction: column; }
.pjv-news--featured .pjv-post__img { aspect-ratio: 16 / 10; }
.pjv-news--featured .pjv-post__body { padding: 18px 22px 20px; }
.pjv-news--featured .pjv-post.is-lead { grid-column: 1 / -1; display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr); }
.pjv-news--featured .pjv-post.is-lead .pjv-post__img { aspect-ratio: auto; min-height: 300px; }
.pjv-news--featured .pjv-post.is-lead .pjv-post__body { padding: clamp(22px, 3vw, 40px); align-self: center; }
.pjv-news--featured .pjv-post.is-lead h3 { font-size: calc(clamp(24px, 2.6vw, 34px) * var(--pj-h-scale, 1)); }
@media (max-width: 900px) { .pjv-news--featured { grid-template-columns: repeat(2, minmax(0, 1fr)); } .pjv-news--featured .pjv-post.is-lead { grid-template-columns: minmax(0, 1fr); } }
@media (max-width: 640px) { .pjv-news--featured, .pjv-news--list .pjv-post { grid-template-columns: minmax(0, 1fr); } }

/* fixes after checking every layout: Classic's number tiles inside the colour band, video without a title */
html body .pjv-stats--band .pjv-stat { background: transparent !important; border: 0 !important; box-shadow: none !important; padding: 6px 10px; }
html body .pjv-stats--band .pjv-stat b { background: none !important; -webkit-text-fill-color: currentColor; color: var(--pj-on-primary, #fff); }
.pjv-video--split.is-notext { grid-template-columns: minmax(0, 1fr); }
.pjv-video--split.is-notext .pjv-video__head { display: none; }

/* rows laid out as grids: when numbers or icons are hidden, the remaining parts keep their columns */
html body .pj-nonum .pjo-row { grid-template-columns: 56px minmax(0, 1fr) auto; }
html body .pj-ic--none .pjo-row { grid-template-columns: 90px minmax(0, 1fr) auto; }
html body .pj-nonum.pj-ic--none .pjo-row { grid-template-columns: minmax(0, 1fr) auto; }
html body .pj-nonum .pjm-toc a { grid-template-columns: minmax(0, 1fr) auto; }
html body .pj-ic--none .pjd-app { grid-template-columns: minmax(0, 1fr) auto; }
html body :is(.pj-nonum, .pj-ic--none) .pjv-row { grid-template-columns: auto minmax(0, 1fr) auto; }
html body .pj-nonum.pj-ic--none .pjv-row { grid-template-columns: minmax(0, 1fr) auto; }
@media (max-width: 991px) {
    html body :is(.pj-nonum, .pj-ic--none) .pjo-row { grid-template-columns: 56px minmax(0, 1fr) auto; }
    html body .pj-nonum .pjo-row { grid-template-columns: minmax(0, 1fr) auto; }
}
@media (max-width: 640px) {
    html body .pj-ic--none .pjv-row { grid-template-columns: minmax(0, 1fr); }
    html body .pj-ic--none .pjv-row .pjv-go { grid-column: 1; }
}
@media (max-width: 575px) {
    html body .pj-nonum .pjo-row { grid-template-columns: minmax(0, 1fr); }
    html body .pj-nonum .pjo-row .pjo-row__go { grid-column: 1; }
}
html body .pj-s--cta.pj-nopart--art .pjc-cta { grid-template-columns: minmax(0, 1fr); }
