/* ========================================================================== 
   ZG3 Page System — shared editorial blocks and theme contracts
   --------------------------------------------------------------------------
   Use: <article class="zg3-page-system" data-zg3-theme="default|winter">
   The data attribute is intentionally the only switch needed for a seasonal
   variant. Blocks below replace the duplicated <style> fragments in articles.
   ========================================================================== */

.zg3-page-system,
body[data-zg3-theme] {
  --zg3-page-surface: var(--zg3-white);
  --zg3-page-ink: var(--zg3-black);
  --zg3-page-muted: #444;
  --zg3-page-line: rgba(34, 34, 34, .10);
  --zg3-page-tint: rgba(249, 60, 27, .06);
  --zg3-page-quote-mark: rgba(249, 60, 27, .25);
  --zg3-page-card-radius: var(--zg3-r-lg);
}

.zg3-page-system[data-zg3-theme="winter"],
body.zg3-theme--winter {
  /* Canonical winter tokens copied from /korporativy/korporativnye-elki/. */
  --zg3-bg:#F3F7FF;
  --zg3-primary:#2563EB;
  --zg3-secondary:#38BDF8;
  --zg3-black:#10213D;
  --zg3-white:#FFFFFF;
  --zg3-gray:#65758B;
  --zg3-gray-light:#C9D6E8;
  --zg3-dark:#0B1B3A;
  --zg3-fs-display:clamp(40px,7vw,96px);
  --zg3-fs-h1:clamp(32px,5vw,64px);
  --zg3-fs-h2:42px;
  --zg3-fs-h3:clamp(20px,3vw,32px);
  --zg3-fs-h4:clamp(16px,2vw,24px);
  --zg3-fs-body:16px;
  --zg3-fs-small:14px;
  --zg3-fs-micro:12px;
  --zg3-fw-regular:400;
  --zg3-fw-medium:500;
  --zg3-fw-semibold:600;
  --zg3-fw-bold:700;
  --zg3-r-xs:4px;
  --zg3-r-sm:6px;
  --zg3-r-md:8px;
  --zg3-r-lg:12px;
  --zg3-r-xl:20px;
  --zg3-r-full:999px;
  --zg3-sp-4:4px;
  --zg3-sp-8:8px;
  --zg3-sp-12:12px;
  --zg3-sp-16:16px;
  --zg3-sp-20:20px;
  --zg3-sp-24:24px;
  --zg3-sp-32:32px;
  --zg3-sp-40:40px;
  --zg3-sp-48:48px;
  --zg3-sp-56:56px;
  --zg3-sp-64:64px;
  --zg3-sp-80:80px;
  --zg3-sp-96:96px;
  --zg3-sp-120:120px;
  --zg3-gutter:24px;
  --zg3-dur-fast:0.2s;
  --zg3-dur-normal:0.4s;
  --zg3-page-surface:var(--zg3-white);
  --zg3-page-ink:var(--zg3-black);
  --zg3-page-muted:#3D4F67;
  --zg3-page-line:rgba(16,33,61,.11);
  --zg3-page-tint:rgba(37,99,235,.08);
  --zg3-page-quote-mark:rgba(56,189,248,.30);
  --zg3-page-card-radius:var(--zg3-r-lg);
}

body.zg3-theme--winter::before {
  background-image:
    radial-gradient(circle at 12% 8%,rgba(56,189,248,.11),transparent 26%),
    radial-gradient(circle at 88% 2%,rgba(37,99,235,.09),transparent 30%),
    url("data:image/svg+xml,%3Csvg viewBox='0 0 220 220' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='%232563EB' fill-opacity='.10'%3E%3Ccircle cx='24' cy='36' r='1'/%3E%3Ccircle cx='116' cy='68' r='.8'/%3E%3Ccircle cx='188' cy='26' r='1.2'/%3E%3Ccircle cx='62' cy='156' r='.7'/%3E%3Ccircle cx='164' cy='178' r='1'/%3E%3C/g%3E%3C/svg%3E");
  background-repeat:no-repeat,no-repeat,repeat;
  background-size:auto,auto,220px 220px;
}

/* Article shell and introduction ------------------------------------------------ */
.zg3-page-system .article-wrap { max-width: 920px; margin: 0 auto; }
.zg3-page-system[data-zg3-theme="winter"] .article-wrap { max-width:none; position:relative; z-index:1; }
.zg3-page-system .art-hero { margin: 0 0 var(--zg3-sp-48); }
.zg3-page-system .art-hero__eyebrow { display:inline-flex; align-items:center; gap:8px; font-size:var(--zg3-fs-small); font-weight:var(--zg3-fw-semibold); color:var(--zg3-primary); }
.zg3-page-system .art-hero__eyebrow span { display:inline-block; width:24px; height:2px; border-radius:2px; background:var(--zg3-primary); }
.zg3-page-system .art-hero__title { max-width: 900px; margin:var(--zg3-sp-16) 0; color:var(--zg3-page-ink); font-size:clamp(28px,5vw,52px); font-weight:var(--zg3-fw-bold); line-height:1.08; letter-spacing:-.045em; }
.zg3-page-system .art-hero__lead { max-width:680px; margin-bottom:var(--zg3-sp-20); color:var(--zg3-gray); font-size:18px; line-height:1.65; }
.zg3-page-system .art-hero__meta { display:flex; align-items:center; flex-wrap:wrap; gap:8px; }
.zg3-page-system .art-hero__tag { padding:4px 10px; border-radius:var(--zg3-r-full); background:var(--zg3-page-tint); color:var(--zg3-primary); font-size:var(--zg3-fs-micro); font-weight:var(--zg3-fw-semibold); line-height:1.5; letter-spacing:.08em; text-transform:uppercase; }
.zg3-page-system .art-hero__date { color:var(--zg3-gray); font-size:var(--zg3-fs-small); }
.zg3-page-system .art-hero-img, .zg3-page-system .art-hero-placeholder { width:100%; overflow:hidden; border-radius:var(--zg3-r-xl, 20px); aspect-ratio:16/7; }
.zg3-page-system .art-hero-img { display:block; object-fit:cover; }
.zg3-page-system .art-hero-placeholder { display:grid; place-items:center; background:linear-gradient(135deg,#1c0d0d 0%,#1a0d2e 45%,#2a1010 100%); color:#fff; }
.zg3-page-system .art-hero-placeholder__emojis { font-size:48px; letter-spacing:8px; }
.zg3-page-system .art-hero-placeholder__label { color:rgba(255,255,255,.45); font-size:12px; }

/* Typography, media and tips -------------------------------------------------- */
.zg3-page-system .art-h2 { margin:var(--zg3-sp-48) 0 var(--zg3-sp-20); color:var(--zg3-page-ink); font-size:clamp(22px,3.5vw,34px); font-weight:var(--zg3-fw-bold); line-height:1.1; letter-spacing:-.035em; }
.zg3-page-system .art-h3 { margin:var(--zg3-sp-24) 0 var(--zg3-sp-12); color:var(--zg3-page-ink); font-size:clamp(17px,2.5vw,22px); font-weight:var(--zg3-fw-bold); line-height:1.2; letter-spacing:-.025em; }
.zg3-page-system .art-p { margin-bottom:var(--zg3-sp-20); color:var(--zg3-page-muted); font-size:16px; line-height:1.75; }
.zg3-page-system hr.art-divider { height:1px; margin:var(--zg3-sp-12) 0; border:0; background:var(--zg3-page-line); }
.zg3-page-system .art-tip { margin:var(--zg3-sp-32) 0; padding:20px 24px; border-left:3px solid var(--zg3-primary); border-radius:0 var(--zg3-r-lg) var(--zg3-r-lg) 0; background:var(--zg3-page-tint); }
.zg3-page-system .art-tip__label { display:block; margin-bottom:8px; color:var(--zg3-primary); font-size:var(--zg3-fs-micro); font-weight:var(--zg3-fw-bold); letter-spacing:.1em; text-transform:uppercase; }
.zg3-page-system .art-tip__body { color:var(--zg3-page-ink); font-size:15px; line-height:1.65; }
.zg3-page-system .art-media, .zg3-page-system .art-photo { margin:var(--zg3-sp-32) 0; }
.zg3-page-system .art-media img, .zg3-page-system .art-photo img { width:100%; border-radius:var(--zg3-r-xl, 20px); }
.zg3-page-system .art-media__cap, .zg3-page-system .art-photo-caption, .zg3-page-system .art-video-cap { margin-top:8px; color:var(--zg3-gray); font-size:12px; line-height:1.45; }
.zg3-page-system .art-video-wrap { overflow:hidden; border-radius:var(--zg3-r-xl, 20px); aspect-ratio:16/9; }
.zg3-page-system .art-video-wrap iframe { width:100%; height:100%; border:0; }

/* Information bento ----------------------------------------------------------- */
.zg3-page-system .bento-date-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:var(--zg3-sp-12); margin:var(--zg3-sp-32) 0; }
.zg3-page-system .bento-date-card { display:flex; min-height:150px; flex-direction:column; justify-content:flex-end; padding:var(--zg3-sp-20); border:1px solid var(--zg3-page-line); border-radius:var(--zg3-page-card-radius); background:var(--zg3-page-surface); }
.zg3-page-system .bento-date-card__icon { margin-bottom:auto; font-size:22px; line-height:1; }
.zg3-page-system .bento-date-card__label { margin-top:20px; color:var(--zg3-gray); font-size:var(--zg3-fs-micro); font-weight:var(--zg3-fw-semibold); letter-spacing:.06em; text-transform:uppercase; }
.zg3-page-system .bento-date-card__value { margin-top:4px; color:var(--zg3-page-ink); font-size:16px; font-weight:var(--zg3-fw-bold); letter-spacing:-.02em; }
.zg3-page-system .bento-date-card__sub { margin-top:4px; color:var(--zg3-gray); font-size:var(--zg3-fs-micro); line-height:1.4; }
.zg3-page-system .bento-date-card--accent { border-color:transparent; background:var(--zg3-primary); color:#fff; }
.zg3-page-system .bento-date-card--accent .bento-date-card__label, .zg3-page-system .bento-date-card--accent .bento-date-card__value, .zg3-page-system .bento-date-card--accent .bento-date-card__sub { color:#fff; }

.zg3-page-system .format-grid, .zg3-page-system .tips-grid, .zg3-page-system .results-grid, .zg3-page-system .welcome-grid, .zg3-page-system .production-grid, .zg3-page-system .programme-grid, .zg3-page-system .venue-grid, .zg3-page-system .video-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:var(--zg3-sp-12); margin:var(--zg3-sp-32) 0; }
.zg3-page-system .format-card, .zg3-page-system .tip-card, .zg3-page-system .result-card, .zg3-page-system .welcome-card, .zg3-page-system .production-card, .zg3-page-system .programme-card, .zg3-page-system .venue-card { padding:var(--zg3-sp-20); border:1px solid var(--zg3-page-line); border-radius:var(--zg3-page-card-radius); background:var(--zg3-page-surface); }
.zg3-page-system .format-card__icon, .zg3-page-system .tip-card__icon, .zg3-page-system .result-card__icon, .zg3-page-system .welcome-card__icon, .zg3-page-system .production-card__icon, .zg3-page-system .programme-card__icon, .zg3-page-system .venue-card__icon { display:block; margin-bottom:var(--zg3-sp-12); font-size:28px; line-height:1; }
.zg3-page-system .format-card__title, .zg3-page-system .tip-card__title, .zg3-page-system .result-card__title, .zg3-page-system .welcome-card__name, .zg3-page-system .production-card__title, .zg3-page-system .programme-card__title, .zg3-page-system .venue-card__title { color:var(--zg3-page-ink); font-size:14px; font-weight:var(--zg3-fw-bold); letter-spacing:-.02em; line-height:1.25; }
.zg3-page-system .format-card__desc, .zg3-page-system .tip-card__desc, .zg3-page-system .result-card__desc, .zg3-page-system .welcome-card__role, .zg3-page-system .production-card__sub, .zg3-page-system .programme-card__desc, .zg3-page-system .venue-card__desc { margin-top:6px; color:var(--zg3-gray); font-size:13px; line-height:1.55; }
.zg3-page-system .production-meta { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:var(--zg3-sp-12); margin:var(--zg3-sp-20) 0; }
.zg3-page-system .production-meta-card { padding:16px; border-radius:var(--zg3-page-card-radius); background:var(--zg3-page-tint); }
.zg3-page-system .production-meta-card__label { display:block; color:var(--zg3-primary); font-size:11px; font-weight:800; letter-spacing:.08em; text-transform:uppercase; }
.zg3-page-system .production-meta-card__num { display:block; margin-top:5px; color:var(--zg3-page-ink); font-size:20px; font-weight:800; letter-spacing:-.04em; }

/* Wide concept, client and result blocks -------------------------------------- */
.zg3-page-system .concept-bento, .zg3-page-system .client-bento, .zg3-page-system .finale-bento { margin:var(--zg3-sp-32) 0; padding:var(--zg3-sp-32); border-radius:var(--zg3-r-xl,20px); background:var(--zg3-dark); color:#fff; }
.zg3-page-system .concept-bento__label, .zg3-page-system .client-bento__label, .zg3-page-system .finale-bento__label { color:rgba(255,255,255,.62); font-size:12px; font-weight:var(--zg3-fw-semibold); letter-spacing:.1em; text-transform:uppercase; }
.zg3-page-system .concept-bento__title, .zg3-page-system .client-bento__name, .zg3-page-system .finale-bento__title { margin:12px 0; color:#fff; font-size:clamp(23px,3vw,34px); line-height:1.1; letter-spacing:-.035em; }
.zg3-page-system .concept-bento__desc, .zg3-page-system .client-bento__desc, .zg3-page-system .finale-bento__quote { color:rgba(255,255,255,.72); font-size:15px; line-height:1.65; }
.zg3-page-system .concept-keywords { display:flex; flex-wrap:wrap; gap:8px; margin-top:20px; }
.zg3-page-system .concept-keywords span { padding:5px 10px; border:1px solid rgba(255,255,255,.22); border-radius:999px; color:#fff; font-size:12px; }
.zg3-page-system .client-bento__header { display:flex; justify-content:space-between; gap:20px; align-items:flex-start; }
.zg3-page-system .client-stats { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px; margin-top:28px; }
.zg3-page-system .client-stat { padding:16px; border-radius:12px; background:rgba(255,255,255,.08); }
.zg3-page-system .client-stat--accent { background:var(--zg3-primary); }
.zg3-page-system .client-stat__icon { display:block; margin-bottom:12px; font-size:20px; }
.zg3-page-system .client-stat__num { display:block; font-size:24px; font-weight:800; letter-spacing:-.04em; }
.zg3-page-system .client-stat__label { display:block; margin-top:4px; color:rgba(255,255,255,.7); font-size:12px; line-height:1.35; }

.zg3-page-system .art-quote { position:relative; overflow:hidden; margin:var(--zg3-sp-40) 0; padding:var(--zg3-sp-32); border-radius:var(--zg3-r-xl,20px); background:var(--zg3-dark); color:#fff; }
.zg3-page-system .art-quote::before { content:'“'; position:absolute; top:-18px; left:18px; color:var(--zg3-page-quote-mark); font-size:120px; font-weight:900; line-height:1; }
.zg3-page-system .art-quote__text { position:relative; font-size:clamp(16px,2.5vw,20px); font-weight:var(--zg3-fw-medium); line-height:1.55; }
.zg3-page-system .art-quote__author { position:relative; display:block; margin-top:16px; color:rgba(255,255,255,.5); font-size:var(--zg3-fs-small); }
.zg3-page-system .author-card { display:flex; align-items:center; gap:16px; margin:var(--zg3-sp-32) 0; padding:20px; border:1px solid var(--zg3-page-line); border-radius:var(--zg3-page-card-radius); background:var(--zg3-page-surface); }
.zg3-page-system .author-avatar { width:56px; height:56px; flex:0 0 auto; border-radius:50%; object-fit:cover; }
.zg3-page-system .author-info__name { display:block; color:var(--zg3-page-ink); font-size:15px; font-weight:800; }
.zg3-page-system .author-info__role, .zg3-page-system .author-info__bio { display:block; margin-top:3px; color:var(--zg3-gray); font-size:13px; line-height:1.45; }

/* Programme and schedule ------------------------------------------------------ */
.zg3-page-system .programme-grid--wide { grid-template-columns:1fr; }
.zg3-page-system .programme-card { overflow:hidden; padding:0; }
.zg3-page-system .programme-card--wide { grid-column:span 2; display:grid; grid-template-columns:1.1fr 1fr; }
.zg3-page-system .programme-card__cover { position:relative; min-height:190px; }
.zg3-page-system .programme-card__cover img { width:100%; height:100%; object-fit:cover; }
.zg3-page-system .programme-card__cover-badge, .zg3-page-system .programme-card__cover-tag { position:absolute; top:12px; left:12px; padding:5px 9px; border-radius:999px; background:#fff; color:var(--zg3-page-ink); font-size:11px; font-weight:700; }
.zg3-page-system .programme-card__body { padding:var(--zg3-sp-20); }
.zg3-page-system .timetable { margin:var(--zg3-sp-32) 0; border-top:1px solid var(--zg3-page-line); }
.zg3-page-system .timetable-row { display:grid; grid-template-columns:96px 1fr; gap:20px; padding:20px 0; border-bottom:1px solid var(--zg3-page-line); }
.zg3-page-system .timetable-row--accent .timetable-time, .zg3-page-system .timetable-row--final .timetable-time { color:var(--zg3-primary); }
.zg3-page-system .timetable-time { color:var(--zg3-page-ink); font-size:16px; font-weight:800; }
.zg3-page-system .timetable-content__title { color:var(--zg3-page-ink); font-size:16px; font-weight:700; }
.zg3-page-system .timetable-content__desc { margin-top:4px; color:var(--zg3-gray); font-size:14px; line-height:1.5; }
.zg3-page-system .timeline { position:relative; margin:var(--zg3-sp-32) 0; padding-left:28px; border-left:1px solid var(--zg3-page-line); }
.zg3-page-system .timeline-item { position:relative; padding:0 0 28px; }
.zg3-page-system .timeline-dot { position:absolute; left:-35px; top:4px; width:13px; height:13px; border:3px solid var(--zg3-bg); border-radius:50%; background:var(--zg3-gray-light); }
.zg3-page-system .timeline-dot--accent { background:var(--zg3-primary); }
.zg3-page-system .timeline-content__year, .zg3-page-system .timeline-content__tag { display:block; color:var(--zg3-primary); font-size:12px; font-weight:800; letter-spacing:.08em; text-transform:uppercase; }
.zg3-page-system .timeline-content__title { margin-top:5px; font-size:17px; font-weight:700; }
.zg3-page-system .timeline-content__desc { margin-top:4px; color:var(--zg3-gray); font-size:14px; line-height:1.55; }

/* Pricing, video, FAQ and CTA ------------------------------------------------ */
.zg3-page-system .price-table { margin:var(--zg3-sp-32) 0; overflow:hidden; border:1px solid var(--zg3-page-line); border-radius:var(--zg3-page-card-radius); background:var(--zg3-page-surface); }
.zg3-page-system .price-row { display:grid; grid-template-columns:1fr auto auto; align-items:center; gap:16px; padding:18px 20px; border-bottom:1px solid var(--zg3-page-line); }
.zg3-page-system .price-row:last-child { border:0; }
.zg3-page-system .price-row--best { background:var(--zg3-page-tint); }
.zg3-page-system .price-row__guests { color:var(--zg3-gray); font-size:13px; }
.zg3-page-system .price-row__value { color:var(--zg3-primary); font-size:17px; font-weight:800; white-space:nowrap; }
.zg3-page-system .video-section { padding:var(--zg3-sp-32); border-radius:var(--zg3-r-xl,20px); background:var(--zg3-dark); }
.zg3-page-system .video-card { position:relative; min-height:220px; overflow:hidden; border-radius:var(--zg3-page-card-radius); background:#1f2937; }
.zg3-page-system .video-card__bg { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; opacity:.6; }
.zg3-page-system .video-card__overlay { position:absolute; inset:0; display:flex; flex-direction:column; justify-content:flex-end; padding:20px; color:#fff; background:linear-gradient(transparent,rgba(0,0,0,.6)); }
.zg3-page-system .video-card__emoji { font-size:34px; }
.zg3-page-system .video-card__label { margin-top:8px; font-size:14px; font-weight:700; }
.zg3-page-system .video-card__play { position:absolute; top:16px; right:16px; display:grid; width:42px; height:42px; place-items:center; border-radius:50%; background:var(--zg3-primary); color:#fff; }
.zg3-page-system .faq-list { margin:var(--zg3-sp-32) 0; border-top:1px solid var(--zg3-page-line); }
.zg3-page-system .faq-item { border-bottom:1px solid var(--zg3-page-line); }
.zg3-page-system .faq-q { display:flex; width:100%; align-items:center; justify-content:space-between; gap:16px; padding:20px 0; color:var(--zg3-page-ink); font-weight:700; text-align:left; }
.zg3-page-system .faq-icon { flex:0 0 auto; color:var(--zg3-primary); font-size:24px; transition:transform .2s; }
.zg3-page-system .faq-item.open .faq-icon { transform:rotate(45deg); }
.zg3-page-system .faq-a { display:none; max-width:720px; padding:0 0 20px; color:var(--zg3-gray); font-size:14px; line-height:1.6; }
.zg3-page-system .faq-item.open .faq-a { display:block; }
.zg3-page-system .art-cta { display:flex; align-items:center; justify-content:space-between; gap:24px; margin:var(--zg3-sp-48) 0; padding:var(--zg3-sp-32); border-radius:var(--zg3-r-xl,20px); background:var(--zg3-primary); color:#fff; }
.zg3-page-system .art-cta__tag { font-size:12px; font-weight:800; letter-spacing:.1em; text-transform:uppercase; opacity:.75; }
.zg3-page-system .art-cta__title { margin-top:8px; font-size:clamp(22px,3vw,32px); line-height:1.1; letter-spacing:-.04em; }
.zg3-page-system .art-cta__desc { max-width:580px; margin-top:10px; color:rgba(255,255,255,.82); font-size:14px; line-height:1.55; }
.zg3-page-system .art-cta__btn { flex:0 0 auto; padding:12px 20px; border-radius:999px; background:#fff; color:var(--zg3-page-ink); font-size:14px; font-weight:700; white-space:nowrap; }

@media (min-width:600px) {
  .zg3-page-system .bento-date-grid { grid-template-columns:repeat(4,minmax(0,1fr)); }
  .zg3-page-system .format-grid, .zg3-page-system .tips-grid, .zg3-page-system .results-grid, .zg3-page-system .welcome-grid, .zg3-page-system .production-grid, .zg3-page-system .venue-grid { grid-template-columns:repeat(4,minmax(0,1fr)); }
  .zg3-page-system .programme-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .zg3-page-system .video-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (max-width:599px) {
  .zg3-page-system .client-stats { grid-template-columns:1fr; }
  .zg3-page-system .programme-card--wide { grid-column:auto; grid-template-columns:1fr; }
  .zg3-page-system .art-cta { flex-direction:column; align-items:flex-start; }
  .zg3-page-system .timetable-row { grid-template-columns:1fr; gap:4px; }
  .zg3-page-system .price-row { grid-template-columns:1fr auto; }
  .zg3-page-system .price-row__guests { grid-column:1/-1; }
}

/* Program-page integration --------------------------------------------------- */
.zg3-prose--editorial { width:100%; }
.zg3-prose--editorial .zg3-page-system { width:100%; background:transparent; }
body.zg3-theme--winter,
body.zg3-theme--winter .zg3-listing-body { background-color:var(--zg3-bg); }
body.zg3-theme--winter .zg3-breadcrumbs,
body.zg3-theme--winter .zg3-breadcrumbs a,
body.zg3-theme--winter .zg3-program-meta__label,
body.zg3-theme--winter .zg3-program-meta__chip { color:var(--zg3-page-muted); }
body.zg3-theme--winter .zg3-breadcrumbs a:hover { color:var(--zg3-page-ink); }
body.zg3-theme--winter .zg3-program-meta__chip { background:var(--zg3-page-tint); }
.zg3-listing-body .zg3-prose .zg3-page-system .article-wrap > p.art-p:first-child {
  max-width:780px;
  color:var(--zg3-page-muted);
  font-size:16px;
  line-height:1.75;
  letter-spacing:0;
}
.zg3-listing-body .zg3-prose .zg3-page-system h2.art-h2 {
  margin:var(--zg3-sp-48) 0 var(--zg3-sp-20);
  color:var(--zg3-page-ink);
  font-size:clamp(22px,3.5vw,34px);
  font-weight:var(--zg3-fw-bold);
  line-height:1.1;
  letter-spacing:-.035em;
}
.zg3-listing-body .zg3-prose .zg3-page-system h3.art-h3 {
  margin:var(--zg3-sp-24) 0 var(--zg3-sp-12);
  color:var(--zg3-page-ink);
  font-size:clamp(17px,2.5vw,22px);
  font-weight:var(--zg3-fw-bold);
  line-height:1.2;
  letter-spacing:-.025em;
}
.zg3-listing-body .zg3-prose .zg3-page-system p.art-p { margin-bottom:var(--zg3-sp-20); }
.zg3-listing-body .zg3-prose .zg3-page-system :is(.format-card,.tip-card,.result-card,.welcome-card,.production-card,.programme-card,.venue-card) p { margin-bottom:0; }
.zg3-listing-body .zg3-prose .zg3-page-system .programme-card {
  border:0;
  box-shadow:none;
}
.zg3-page-system[data-zg3-theme="winter"] .concept-bento {
  padding:var(--zg3-sp-40);
  background:linear-gradient(135deg,#38BDF8 0%,#0E4AA8 100%);
}
.zg3-page-system[data-zg3-theme="winter"] .client-bento { background:var(--zg3-dark); }
.zg3-page-system[data-zg3-theme="winter"] .finale-bento { padding:var(--zg3-sp-40); background:var(--zg3-primary); }
.zg3-page-system[data-zg3-theme="winter"] .production-meta-card {
  padding:var(--zg3-sp-20) var(--zg3-sp-24);
  background:var(--zg3-dark);
  color:var(--zg3-white);
}
.zg3-page-system[data-zg3-theme="winter"] .production-meta-card__num {
  margin:0 0 6px;
  color:var(--zg3-white);
  font-size:clamp(28px,4vw,40px);
  line-height:1;
}
.zg3-page-system[data-zg3-theme="winter"] .production-meta-card__label {
  color:rgba(255,255,255,.5);
  font-size:13px;
  letter-spacing:0;
  text-transform:none;
}
.zg3-listing-body .zg3-prose .zg3-page-system :is(.concept-bento__title,.client-bento__name,.finale-bento__title) {
  color:#fff;
}
body.zg3-theme--winter .zg3-page-system :is(
  .format-card__desc,
  .tip-card__desc,
  .result-card__desc,
  .welcome-card__role,
  .production-card__sub,
  .programme-card__desc,
  .venue-card__desc,
  .timetable-content__desc,
  .timeline-content__desc,
  .price-row__guests,
  .art-photo-caption,
  .art-media__cap
) { color:var(--zg3-page-muted); }
.zg3-listing-body .zg3-prose .zg3-page-system .art-hero-placeholder {
  position:relative;
  min-height:280px;
  padding:32px;
  isolation:isolate;
  background:
    radial-gradient(circle at 18% 22%, rgba(56,189,248,.25), transparent 22%),
    radial-gradient(circle at 83% 76%, rgba(37,99,235,.26), transparent 25%),
    linear-gradient(135deg,#0B1B3A 0%,#17366a 52%,#0E4AA8 100%);
}
.zg3-listing-body .zg3-prose .zg3-page-system .art-hero-placeholder::after {
  content:'';
  position:absolute;
  inset:18px;
  z-index:-1;
  border:1px dashed rgba(255,255,255,.28);
  border-radius:calc(var(--zg3-r-xl, 20px) - 6px);
}
.zg3-listing-body .zg3-prose .zg3-page-system .art-hero-placeholder__content { text-align:center; }
.zg3-listing-body .zg3-prose .zg3-page-system .art-hero-placeholder__title {
  display:block;
  margin:10px 0 6px;
  color:#fff;
  font-size:clamp(18px,3vw,28px);
  font-weight:800;
  line-height:1.15;
  letter-spacing:-.03em;
}
.zg3-listing-body .zg3-prose .zg3-page-system .art-hero-placeholder__label { display:block; color:rgba(255,255,255,.62); }
@media (max-width:599px) {
  .zg3-listing-body .zg3-prose .zg3-page-system .art-hero-placeholder { min-height:220px; padding:24px; }
}
