
/* ===== 0. tokens — shared with the RC16.64 design system ===== */
html body.cprc1677:not(#_):not(#_):not(#_):not(#_){--cp77-ink:var(--cp1664-ink,#103d47);--cp77-text:var(--cp1664-text,#587178);--cp77-muted:var(--cp1664-muted,#6f8790);--cp77-line:var(--cp1664-line,#cfe5ea);--cp77-soft:var(--cp1664-soft,#eff7f8);--cp77-brand:var(--cp1664-brand,#4ba8ce);--cp77-action:var(--cp1664-action,#1f7896);--cp77-action-hover:var(--cp1664-action-hover,#17677e);--cp77-font:var(--cp1664-font,inherit);--cp77-radius:16px;--cp77-radius-card:var(--cp1664-radius-card,20px);--cp77-shadow-hover:var(--cp1664-shadow-hover,0 16px 36px rgba(16,61,71,.10));--cp77-ease:var(--cp1664-ease,.18s ease);--cp77-space-1:8px;--cp77-space-2:12px;--cp77-space-3:16px;--cp77-space-4:24px;--cp77-space-5:32px;--cp77-space-6:48px;--cp77-space-7:64px;--cp77-space-8:80px}

/* ===== 1. home hero — the approved final geometry from the first frame ===== */
html body.cprc1677:not(#_):not(#_):not(#_):not(#_) .cp-hero .cprc1656-home-copy>.cprc1656-home-trust{position:relative!important;display:grid!important;grid-template-columns:64px minmax(0,1fr)!important;gap:16px!important;align-items:center!important;width:100%!important;max-width:none!important;min-height:96px!important;margin:0 0 32px!important;padding:16px 20px!important;border:1px solid var(--cp77-line)!important;border-radius:16px!important;background:#fff!important;box-shadow:none!important;transform:none!important}
html body.cprc1677:not(#_):not(#_):not(#_):not(#_) .cp-hero .cprc1656-home-trust>img,html body.cprc1677:not(#_):not(#_):not(#_):not(#_) .cp-hero .cprc1656-home-trust>.cprc1656-home-trust-logo{display:block!important;width:64px!important;min-width:64px!important;max-width:64px!important;height:64px!important;min-height:64px!important;max-height:64px!important;aspect-ratio:1/1!important;object-fit:contain!important;object-position:center!important;margin:0!important;padding:0!important;border:0!important;border-radius:0!important;background:transparent!important;box-shadow:none!important}
html body.cprc1677:not(#_):not(#_):not(#_):not(#_) .cp-hero .cprc1656-home-trust>span{display:flex!important;flex-direction:column!important;gap:4px!important;min-width:0!important;margin:0!important;padding:0!important}
html body.cprc1677:not(#_):not(#_):not(#_):not(#_) .cp-hero .cprc1656-home-trust strong{display:block!important;margin:0!important;font:500 15.5px/1.35 var(--cp77-font)!important;color:var(--cp77-ink)!important}
html body.cprc1677:not(#_):not(#_):not(#_):not(#_) .cp-hero .cprc1656-home-trust small{display:block!important;margin:0!important;font:400 14px/1.5 var(--cp77-font)!important;color:var(--cp77-text)!important}
html body.cprc1677:not(#_):not(#_):not(#_):not(#_) .cp-hero .cprc1656-home-trust>noscript{display:none!important}
@media (min-width:1025px){
html body.cprc1677:not(#_):not(#_):not(#_):not(#_) .cp-hero .cprc1656-home-grid>.cprc1656-home-copy{min-height:560px!important}
html body.cprc1677:not(#_):not(#_):not(#_):not(#_) .cp-hero .cprc1656-home-grid>.cprc1656-home-media-stack{box-sizing:border-box!important;display:grid!important;grid-template-columns:minmax(0,1fr)!important;grid-template-rows:minmax(560px,1fr)!important;grid-template-areas:none!important;gap:0!important;width:100%!important;max-width:none!important;min-width:0!important;height:auto!important;min-height:560px!important;margin:0!important;padding:0!important;align-self:stretch!important;justify-self:stretch!important;align-items:stretch!important;align-content:stretch!important;overflow:visible!important;background:transparent!important;box-shadow:none!important}
html body.cprc1677:not(#_):not(#_):not(#_):not(#_) .cp-hero .cprc1656-home-media-stack>.cprc1656-home-photo{display:block!important;grid-column:1!important;grid-row:1!important;order:0!important;width:100%!important;max-width:none!important;min-width:0!important;height:100%!important;min-height:560px!important;max-height:none!important;aspect-ratio:auto!important;margin:0!important;padding:0!important;align-self:stretch!important;justify-self:stretch!important;overflow:hidden!important;border-radius:22px!important;transform:none!important}
html body.cprc1677:not(#_):not(#_):not(#_):not(#_) .cp-hero .cprc1656-home-photo>img{display:block!important;width:100%!important;max-width:none!important;height:100%!important;min-height:0!important;max-height:none!important;aspect-ratio:auto!important;object-fit:cover!important;object-position:50% 30%!important;margin:0!important;border-radius:22px!important;transform:none!important;transition:none!important}
}
html body.cprc1677:not(#_):not(#_):not(#_):not(#_) #founder-message>figure,html body.cprc1677:not(#_):not(#_):not(#_):not(#_) #founder-message .cprc1653-founder-portrait,html body.cprc1677:not(#_):not(#_):not(#_):not(#_) #founder-message .cprc1652-founder-card__portrait{width:136px!important;height:170px!important;min-width:0!important;min-height:0!important;max-height:none!important;aspect-ratio:auto!important;margin:0!important;padding:0!important;overflow:hidden!important;border-radius:16px!important;background:var(--cp77-soft)!important}
html body.cprc1677:not(#_):not(#_):not(#_):not(#_) #founder-message figure img{display:block!important;width:100%!important;height:100%!important;max-width:none!important;object-fit:cover!important;object-position:50% 12%!important;border-radius:0!important;margin:0!important}
html body.cprc1677:not(#_):not(#_):not(#_):not(#_) #founder-message .cprc1653-founder-copy,html body.cprc1677:not(#_):not(#_):not(#_):not(#_) #founder-message .cprc1652-founder-card__copy{display:flex!important;flex-direction:column!important;gap:6px!important;min-width:0!important}
@media (max-width:1024px){
html body.cprc1677:not(#_):not(#_):not(#_):not(#_) #founder-message>figure,html body.cprc1677:not(#_):not(#_):not(#_):not(#_) #founder-message .cprc1653-founder-portrait,html body.cprc1677:not(#_):not(#_):not(#_):not(#_) #founder-message .cprc1652-founder-card__portrait{width:104px!important;height:128px!important}
}

/* ===== 2. landing heroes (teacher training / workshops / consultancy) — stylesheet-owned ===== */
html body.cprc1677:not(#_):not(#_):not(#_):not(#_) .cpds-page-hero .cprc1656-landing-media>img.cprc1656-landing-image{border:1px solid var(--cp77-line)!important;border-radius:22px!important;box-shadow:0 12px 36px rgba(16,61,71,.08)!important;background:var(--cp77-soft)!important}
html body.cprc1677:not(#_):not(#_):not(#_):not(#_) .cpds-page-hero .cprc1656-verified-card>img,html body.cprc1677:not(#_):not(#_):not(#_):not(#_) .cpds-page-hero .cpplr1-trust>img,html body.cprc1677:not(#_):not(#_):not(#_):not(#_) .cpds-page-hero .cprc1656-verified-logo{box-sizing:border-box!important;display:block!important;width:64px!important;min-width:64px!important;max-width:64px!important;height:64px!important;min-height:64px!important;max-height:64px!important;aspect-ratio:1/1!important;margin:0!important;padding:0!important;border:0!important;border-radius:0!important;background:transparent!important;box-shadow:none!important;object-fit:contain!important;object-position:center!important;transform:none!important;align-self:center!important}
html body.cprc1677:not(#_):not(#_):not(#_):not(#_) .cpds-page-hero .cpplr1-trust{overflow:visible!important}
@media (max-width:767px){
html body.cprc1677:not(#_):not(#_):not(#_):not(#_) .cpds-page-hero .cprc1656-verified-card>img,html body.cprc1677:not(#_):not(#_):not(#_):not(#_) .cpds-page-hero .cpplr1-trust>img,html body.cprc1677:not(#_):not(#_):not(#_):not(#_) .cpds-page-hero .cprc1656-verified-logo{width:56px!important;min-width:56px!important;max-width:56px!important;height:56px!important;min-height:56px!important;max-height:56px!important}
}
/* consultancy: the photo becomes a controlled banner instead of a tall column */
html body.cprc1677:not(#_):not(#_):not(#_):not(#_).cp-page-consultancy .cpds-page-hero .cpds-page-hero__visual img,html body.cprc1677:not(#_):not(#_):not(#_):not(#_).cp-page-consultancy .cpds-page-hero .cprc1652-consultancy-visual img,html body.cprc1677:not(#_):not(#_):not(#_):not(#_).cp-page-consultancy .cpds-page-hero .cprc1656-consultancy-media img{display:block!important;width:100%!important;height:auto!important;max-height:440px!important;aspect-ratio:4/3!important;object-fit:cover!important;object-position:50% 40%!important;border-radius:22px!important;margin:0!important}
html body.cprc1677:not(#_):not(#_):not(#_):not(#_).cp-page-consultancy .cpds-page-hero .cpds-page-hero__visual,html body.cprc1677:not(#_):not(#_):not(#_):not(#_).cp-page-consultancy .cpds-page-hero .cprc1652-consultancy-visual{align-self:center!important;margin:0!important;padding:0!important;border:0!important;background:transparent!important;box-shadow:none!important;transform:none!important}
/* about: the text hero keeps one height */
html body.cprc1677:not(#_):not(#_):not(#_):not(#_).cp-page-about .cpds-page-hero--about{height:auto!important;min-height:0!important;padding-top:40px!important;padding-bottom:40px!important}
html body.cprc1677:not(#_):not(#_):not(#_):not(#_).cp-page-about .cpds-page-hero--about>.gbp-section__inner{height:auto!important;min-height:0!important;padding-top:24px!important;padding-bottom:24px!important}

/* ===== 3. calendar cards — one family for the home, teacher-training and workshops feeds ===== */
html body.cprc1677:not(#_):not(#_):not(#_):not(#_) .cpne-feed{container-type:inline-size;container-name:cpne}
html body.cprc1677:not(#_):not(#_):not(#_):not(#_) .cpne-grid{display:grid!important;grid-template-columns:repeat(auto-fit,minmax(min(100%,470px),1fr))!important;gap:20px!important;align-items:stretch!important}
html body.cprc1677:not(#_):not(#_):not(#_):not(#_) .cpne-grid>.cpne-card:only-child{grid-column:1/-1!important}
html body.cprc1677:not(#_):not(#_):not(#_):not(#_) .cpne-card{position:relative!important;display:grid!important;grid-template-columns:96px minmax(0,1fr) minmax(0,1fr) minmax(0,1fr) minmax(0,1.1fr)!important;grid-template-rows:auto auto auto auto auto!important;grid-template-areas:"date country country country lang" "date title title title title" "date loc loc loc loc" "edu edu fmt fmt time" "foot foot foot cta cta"!important;column-gap:18px!important;row-gap:0!important;align-items:start!important;margin:0!important;padding:22px 24px 22px!important;border:1px solid var(--cp77-line)!important;border-radius:var(--cp77-radius-card)!important;background:#fff!important;box-shadow:none!important;overflow:visible!important;transition:border-color var(--cp77-ease),box-shadow var(--cp77-ease)!important;transform:none!important}
html body.cprc1677:not(#_):not(#_):not(#_):not(#_) .cpne-card:hover,html body.cprc1677:not(#_):not(#_):not(#_):not(#_) .cpne-card:focus-within{border-color:var(--cp77-brand)!important;box-shadow:var(--cp77-shadow-hover)!important;transform:none!important}
html body.cprc1677:not(#_):not(#_):not(#_):not(#_) .cpne-card .cpne-card__schedule,html body.cprc1677:not(#_):not(#_):not(#_):not(#_) .cpne-card dl.cpne-card__meta{display:contents!important}
html body.cprc1677:not(#_):not(#_):not(#_):not(#_) .cpne-card .cpne-card__title::after,html body.cprc1677:not(#_):not(#_):not(#_):not(#_) .cpne-card .cpne-card__meta-item::before,html body.cprc1677:not(#_):not(#_):not(#_):not(#_) .cpne-card .cpne-card__meta-item::after{content:none!important;display:none!important}
html body.cprc1677:not(#_):not(#_):not(#_):not(#_) .cpne-card::after{content:""!important;grid-column:1/-1!important;grid-row:5!important;align-self:start!important;height:1px!important;width:100%!important;margin:18px 0 0!important;background:var(--cp77-line)!important;pointer-events:none!important}
/* date tile */
html body.cprc1677:not(#_):not(#_):not(#_):not(#_) .cpne-card .cpne-card__date{grid-area:date!important;align-self:start!important;box-sizing:border-box!important;display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:center!important;gap:2px!important;width:96px!important;min-width:0!important;min-height:96px!important;margin:0!important;padding:14px 6px!important;border-radius:14px!important;background:var(--cp77-soft)!important;color:var(--cp77-ink)!important;text-align:center!important}
html body.cprc1677:not(#_):not(#_):not(#_):not(#_) .cpne-card .cpne-card__date-text{display:flex!important;flex-direction:column!important;align-items:center!important;gap:2px!important;min-width:0!important}
html body.cprc1677:not(#_):not(#_):not(#_):not(#_) .cpne-card .cpne-card__date-days{display:block!important;font:500 24px/1.1 var(--cp77-font)!important;color:var(--cp77-ink)!important;letter-spacing:-.02em!important;white-space:normal!important;overflow-wrap:normal!important;width:auto!important;height:auto!important;border:0!important;background:transparent!important}
html body.cprc1677:not(#_):not(#_):not(#_):not(#_) .cpne-card .cpne-card__date-month-year{display:block!important;font:500 13px/1.3 var(--cp77-font)!important;color:var(--cp77-action)!important;letter-spacing:.02em!important;text-transform:none!important;white-space:normal!important;width:auto!important;height:auto!important;border:0!important;background:transparent!important}
html body.cprc1677:not(#_):not(#_):not(#_):not(#_) .cpne-card .cpne-card__date>span::after{display:none!important;content:none!important}
/* country eyebrow — country above, city below */
html body.cprc1677:not(#_):not(#_):not(#_):not(#_) .cpne-card .cpne-card__top{grid-area:country!important;align-self:start!important;justify-self:start!important;display:flex!important;align-items:center!important;justify-content:flex-start!important;flex-wrap:wrap!important;gap:10px!important;width:auto!important;max-width:100%!important;margin:0 0 6px!important;padding:2px 0 0!important;border:0!important;min-height:0!important}
html body.cprc1677:not(#_):not(#_):not(#_):not(#_) .cpne-card .cpne-card__kind{display:none!important}
html body.cprc1677:not(#_):not(#_):not(#_):not(#_) .cpne-card .cpne-card__country{display:inline-flex!important;align-items:center!important;gap:8px!important;min-height:0!important;margin:0!important;margin-inline-start:0!important;flex:0 0 auto!important;padding:0!important;border:0!important;border-radius:0!important;background:transparent!important;font:600 12.5px/1.3 var(--cp77-font)!important;letter-spacing:.08em!important;text-transform:uppercase!important;color:var(--cp77-action)!important;white-space:nowrap!important}
html body.cprc1677:not(#_):not(#_):not(#_):not(#_) .cpne-card .cpne-card__flag{font-size:20px!important;line-height:1!important}
/* title */
html body.cprc1677:not(#_):not(#_):not(#_):not(#_) .cpne-card .cpne-card__title{grid-area:title!important;position:static!important;display:block!important;align-self:start!important;justify-self:stretch!important;align-items:normal!important;margin:0 0 6px!important;padding:0!important;font:500 22px/1.25 var(--cp77-font)!important;letter-spacing:-.015em!important;color:var(--cp77-ink)!important;min-height:0!important;border:0!important;overflow-wrap:normal!important;text-wrap:balance}
html body.cprc1677:not(#_):not(#_):not(#_):not(#_) .cpne-card .cpne-card__title-line{display:inline!important}
/* meta items */
html body.cprc1677:not(#_):not(#_):not(#_):not(#_) .cpne-card .cpne-card__meta-item{position:relative!important;box-sizing:border-box!important;align-self:start!important;justify-self:stretch!important;display:flex!important;flex-direction:column!important;align-items:flex-start!important;justify-content:flex-start!important;text-align:start!important;gap:4px!important;margin:0!important;padding:12px 0 0!important;border:0!important;min-width:0!important;min-height:0!important;height:auto!important;grid-template-columns:none!important;background:transparent!important}
html body.cprc1677:not(#_):not(#_):not(#_):not(#_) .cpne-card .cpne-card__meta-item--location{grid-area:loc!important}
html body.cprc1677:not(#_):not(#_):not(#_):not(#_) .cpne-card .cpne-card__meta-item--educator{grid-area:edu!important}
html body.cprc1677:not(#_):not(#_):not(#_):not(#_) .cpne-card .cpne-card__meta-item--educator,html body.cprc1677:not(#_):not(#_):not(#_):not(#_) .cpne-card .cpne-card__meta-item--format,html body.cprc1677:not(#_):not(#_):not(#_):not(#_) .cpne-card .cpne-card__meta-item--time{padding-top:18px!important}
html body.cprc1677:not(#_):not(#_):not(#_):not(#_) .cpne-card .cpne-card__meta-item--format{grid-area:fmt!important}
html body.cprc1677:not(#_):not(#_):not(#_):not(#_) .cpne-card .cpne-card__meta-item--time{grid-area:time!important}
html body.cprc1677:not(#_):not(#_):not(#_):not(#_) .cpne-card .cpne-card__meta-item--timezone,html body.cprc1677:not(#_):not(#_):not(#_):not(#_) .cpne-card .cpne-card__meta-item[hidden],html body.cprc1677:not(#_):not(#_):not(#_):not(#_) .cpne-card .cpne-card__meta-item[aria-hidden="true"]{display:none!important}
html body.cprc1677:not(#_):not(#_):not(#_):not(#_) .cpne-card .cpne-card__meta-item dt{display:block!important;width:auto!important;min-height:0!important;margin:0!important;padding:0!important;font:500 11.5px/1.3 var(--cp77-font)!important;letter-spacing:.06em!important;text-transform:uppercase!important;color:var(--cp77-muted)!important;text-align:start!important;justify-content:flex-start!important;align-items:flex-start!important;white-space:nowrap!important;overflow:visible!important}
html body.cprc1677:not(#_):not(#_):not(#_):not(#_) .cpne-card .cpne-card__meta-item dd{display:block!important;width:auto!important;min-height:0!important;margin:0!important;padding:0!important;font:500 15px/1.4 var(--cp77-font)!important;color:var(--cp77-ink)!important;text-align:start!important;text-transform:none!important;overflow-wrap:anywhere!important;word-break:normal!important;justify-content:flex-start!important;align-items:flex-start!important;white-space:normal!important;overflow:visible!important}
html body.cprc1677:not(#_):not(#_):not(#_):not(#_) .cpne-card .cpne-card__meta-item dd .cp1664-time-line{display:block!important;white-space:nowrap!important}
html body.cprc1677:not(#_):not(#_):not(#_):not(#_) .cpne-card .cpne-card__meta-item dd a.cpne-educator-link{display:inline-flex!important;align-items:center!important;gap:6px!important;min-height:0!important;margin:0!important;padding:0!important;font:500 15px/1.4 var(--cp77-font)!important;color:var(--cp77-action)!important;text-decoration:none!important;justify-content:flex-start!important;text-align:start!important}
html body.cprc1677:not(#_):not(#_):not(#_):not(#_) .cpne-card .cpne-card__meta-item dd a.cpne-educator-link:hover,html body.cprc1677:not(#_):not(#_):not(#_):not(#_) .cpne-card .cpne-card__meta-item dd a.cpne-educator-link:focus-visible{text-decoration:underline!important;text-underline-offset:3px!important}
/* location: city strong, venue quiet */
html body.cprc1677:not(#_):not(#_):not(#_):not(#_) .cpne-card .cpne-card__meta-item--location dd.cpne-card__location-value{font:600 15.5px/1.35 var(--cp77-font)!important;letter-spacing:.02em!important;text-transform:uppercase!important;color:var(--cp77-ink)!important}
html body.cprc1677:not(#_):not(#_):not(#_):not(#_) .cpne-card .cpne-card__meta-item--location dd .cpne-card__venue{display:inline!important;margin:0!important;font:500 14px/1.4 var(--cp77-font)!important;letter-spacing:0!important;text-transform:none!important;color:var(--cp77-text)!important;white-space:normal!important}
html body.cprc1677:not(#_):not(#_):not(#_):not(#_) .cpne-card .cpne-card__meta-item--location dd .cpne-card__venue::before{content:" · "!important;color:var(--cp77-muted)!important;font-weight:400!important}
/* language: a quiet pill on the first row */
html body.cprc1677:not(#_):not(#_):not(#_):not(#_) .cpne-card .cpne-card__meta-item--language{grid-area:lang!important;justify-self:end!important;align-self:start!important;flex-direction:row!important;align-items:center!important;gap:6px!important;margin:0!important;padding:0!important}
html body.cprc1677:not(#_):not(#_):not(#_):not(#_) .cpne-card .cpne-card__meta-item--language dt{position:absolute!important;width:1px!important;height:1px!important;margin:-1px!important;padding:0!important;overflow:hidden!important;clip:rect(0 0 0 0)!important;clip-path:inset(50%)!important;white-space:nowrap!important;border:0!important}
html body.cprc1677:not(#_):not(#_):not(#_):not(#_) .cpne-card .cpne-card__meta-item--language dd{display:inline-flex!important;align-items:center!important;min-height:26px!important;padding:3px 10px!important;border:1px solid var(--cp77-line)!important;border-radius:999px!important;font:500 12.5px/1.2 var(--cp77-font)!important;color:var(--cp77-text)!important;background:#fff!important;white-space:nowrap!important}
/* footer row: price left, CTA right */
html body.cprc1677:not(#_):not(#_):not(#_):not(#_) .cpne-card .cpne-card__price-row{grid-area:foot!important;align-self:center!important;display:flex!important;flex-wrap:wrap!important;align-items:center!important;justify-content:flex-start!important;gap:6px 14px!important;margin:34px 0 0!important;padding:0!important;min-height:0!important;text-align:start!important}
html body.cprc1677:not(#_):not(#_):not(#_):not(#_) .cpne-card .cpne-card__price-row--empty:empty{min-height:0!important}
html body.cprc1677:not(#_):not(#_):not(#_):not(#_) .cpne-card .cpne-card__price{font:600 15px/1.3 var(--cp77-font)!important;color:var(--cp77-ink)!important}
html body.cprc1677:not(#_):not(#_):not(#_):not(#_) .cpne-card .cpne-card__price--contact{display:block!important;font:500 13.5px/1.4 var(--cp77-font)!important;color:var(--cp77-text)!important;white-space:normal!important;text-align:start!important;max-width:none!important}
html body.cprc1677:not(#_):not(#_):not(#_):not(#_) .cpne-card .cpne-card__price-row>span{font:500 13px/1.4 var(--cp77-font)!important;color:var(--cp77-text)!important;text-align:start!important}
html body.cprc1677:not(#_):not(#_):not(#_):not(#_) .cpne-card .cpne-card__cta{grid-area:cta!important;align-self:center!important;justify-self:end!important;box-sizing:border-box!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;gap:8px!important;width:auto!important;min-width:156px!important;max-width:100%!important;min-height:46px!important;margin:34px 0 0!important;padding:0 20px!important;border:1px solid var(--cp77-action)!important;border-radius:12px!important;background:var(--cp77-action)!important;color:#fff!important;font:500 14.5px/1.2 var(--cp77-font)!important;letter-spacing:0!important;white-space:nowrap!important;text-align:center!important;text-decoration:none!important;box-shadow:none!important;transition:background-color var(--cp77-ease),border-color var(--cp77-ease),box-shadow var(--cp77-ease)!important;transform:none!important;cursor:pointer!important;opacity:1!important;pointer-events:auto!important}
html body.cprc1677:not(#_):not(#_):not(#_):not(#_) .cpne-card .cpne-card__cta:hover,html body.cprc1677:not(#_):not(#_):not(#_):not(#_) .cpne-card .cpne-card__cta:focus-visible{background:var(--cp77-action-hover)!important;border-color:var(--cp77-action-hover)!important;color:#fff!important;transform:none!important;box-shadow:0 10px 24px rgba(31,120,150,.18)!important}
html body.cprc1677:not(#_):not(#_):not(#_):not(#_) .cpne-card .cpne-card__cta span{transform:none!important}
/* a lone card fills the row as one wide horizontal card */
@container cpne (min-width:900px){
html body.cprc1677:not(#_):not(#_):not(#_):not(#_) .cpne-grid>.cpne-card:only-child{grid-template-columns:96px minmax(0,1.15fr) minmax(0,1fr) minmax(0,1fr) minmax(0,.9fr) max-content!important;grid-template-rows:auto auto auto!important;grid-template-areas:"date country country country lang foot" "date title title title title cta" "date loc edu fmt time cta"!important}
html body.cprc1677:not(#_):not(#_):not(#_):not(#_) .cpne-grid>.cpne-card:only-child::after{content:none!important;display:none!important}
html body.cprc1677:not(#_):not(#_):not(#_):not(#_) .cpne-grid>.cpne-card:only-child .cpne-card__price-row{align-self:start!important;justify-self:end!important;justify-content:flex-end!important;margin:0!important;text-align:end!important}
html body.cprc1677:not(#_):not(#_):not(#_):not(#_) .cpne-grid>.cpne-card:only-child .cpne-card__cta{align-self:start!important;margin:8px 0 0!important}
}
/* narrow cards (phones) */
@container cpne (max-width:560px){
html body.cprc1677:not(#_):not(#_):not(#_):not(#_) .cpne-card{grid-template-columns:80px minmax(0,1fr) minmax(0,1fr)!important;grid-template-areas:"date country lang" "date title title" "date loc loc" "edu edu fmt" "time time time" "foot foot foot" "cta cta cta"!important;grid-template-rows:auto auto auto auto auto auto auto!important;column-gap:14px!important;padding:18px 18px 18px!important}
html body.cprc1677:not(#_):not(#_):not(#_):not(#_) .cpne-card::after{grid-row:6!important;margin-top:16px!important}
html body.cprc1677:not(#_):not(#_):not(#_):not(#_) .cpne-card .cpne-card__date{width:80px!important;min-height:80px!important;padding:10px 4px!important}
html body.cprc1677:not(#_):not(#_):not(#_):not(#_) .cpne-card .cpne-card__date-days{font-size:22px!important}
html body.cprc1677:not(#_):not(#_):not(#_):not(#_) .cpne-card .cpne-card__date-month-year{font-size:12px!important}
html body.cprc1677:not(#_):not(#_):not(#_):not(#_) .cpne-card .cpne-card__title{font-size:19px!important;margin-bottom:4px!important}
html body.cprc1677:not(#_):not(#_):not(#_):not(#_) .cpne-card .cpne-card__meta-item{padding-top:10px!important}
html body.cprc1677:not(#_):not(#_):not(#_):not(#_) .cpne-card .cpne-card__price-row{align-self:start!important;margin-top:26px!important}
html body.cprc1677:not(#_):not(#_):not(#_):not(#_) .cpne-card .cpne-card__cta{justify-self:stretch!important;width:100%!important;min-width:0!important;margin-top:12px!important;padding:0 16px!important}
}
@container cpne (max-width:330px){
html body.cprc1677:not(#_):not(#_):not(#_):not(#_) .cpne-card{grid-template-columns:72px minmax(0,1fr)!important;grid-template-areas:"date country" "date title" "date lang" "loc loc" "edu edu" "fmt fmt" "time time" "foot foot" "cta cta"!important;grid-template-rows:auto auto auto auto auto auto auto auto auto!important}
html body.cprc1677:not(#_):not(#_):not(#_):not(#_) .cpne-card::after{grid-row:8!important}
html body.cprc1677:not(#_):not(#_):not(#_):not(#_) .cpne-card .cpne-card__meta-item--language{justify-self:start!important;padding-top:10px!important}
html body.cprc1677:not(#_):not(#_):not(#_):not(#_) .cpne-card .cpne-card__date{width:72px!important;min-height:72px!important}
html body.cprc1677:not(#_):not(#_):not(#_):not(#_) .cpne-card .cpne-card__cta{justify-self:stretch!important;width:100%!important;margin-top:12px!important}
html body.cprc1677:not(#_):not(#_):not(#_):not(#_) .cpne-card .cpne-card__price-row{margin-top:26px!important}
}
@media (max-width:640px){
html body.cprc1677:not(#_):not(#_):not(#_):not(#_) .cpne-card{grid-template-columns:80px minmax(0,1fr) minmax(0,1fr)!important;grid-template-areas:"date country lang" "date title title" "date loc loc" "edu edu fmt" "time time time" "foot foot foot" "cta cta cta"!important;grid-template-rows:auto auto auto auto auto auto auto!important;column-gap:14px!important;padding:18px 18px 18px!important}
html body.cprc1677:not(#_):not(#_):not(#_):not(#_) .cpne-card::after{grid-row:6!important;margin-top:16px!important}
html body.cprc1677:not(#_):not(#_):not(#_):not(#_) .cpne-card .cpne-card__date{width:80px!important;min-height:80px!important;padding:10px 4px!important}
html body.cprc1677:not(#_):not(#_):not(#_):not(#_) .cpne-card .cpne-card__date-days{font-size:22px!important}
html body.cprc1677:not(#_):not(#_):not(#_):not(#_) .cpne-card .cpne-card__date-month-year{font-size:12px!important}
html body.cprc1677:not(#_):not(#_):not(#_):not(#_) .cpne-card .cpne-card__title{font-size:19px!important;margin-bottom:4px!important}
html body.cprc1677:not(#_):not(#_):not(#_):not(#_) .cpne-card .cpne-card__meta-item{padding-top:10px!important}
html body.cprc1677:not(#_):not(#_):not(#_):not(#_) .cpne-card .cpne-card__price-row{align-self:start!important;margin-top:26px!important}
html body.cprc1677:not(#_):not(#_):not(#_):not(#_) .cpne-card .cpne-card__cta{justify-self:stretch!important;width:100%!important;min-width:0!important;margin-top:12px!important;padding:0 16px!important}
}
@media (max-width:360px){
html body.cprc1677:not(#_):not(#_):not(#_):not(#_) .cpne-card{grid-template-columns:72px minmax(0,1fr)!important;grid-template-areas:"date country" "date title" "date lang" "loc loc" "edu edu" "fmt fmt" "time time" "foot foot" "cta cta"!important;grid-template-rows:auto auto auto auto auto auto auto auto auto!important}
html body.cprc1677:not(#_):not(#_):not(#_):not(#_) .cpne-card::after{grid-row:8!important}
html body.cprc1677:not(#_):not(#_):not(#_):not(#_) .cpne-card .cpne-card__meta-item--language{justify-self:start!important;padding-top:10px!important}
html body.cprc1677:not(#_):not(#_):not(#_):not(#_) .cpne-card .cpne-card__date{width:72px!important;min-height:72px!important}
html body.cprc1677:not(#_):not(#_):not(#_):not(#_) .cpne-card .cpne-card__cta{justify-self:stretch!important;width:100%!important;margin-top:12px!important}
html body.cprc1677:not(#_):not(#_):not(#_):not(#_) .cpne-card .cpne-card__price-row{margin-top:26px!important}
}
/* group header */
html body.cprc1677:not(#_):not(#_):not(#_):not(#_) .cpne-group__header{display:flex!important;align-items:center!important;justify-content:space-between!important;gap:16px!important;margin:0 0 20px!important;padding:0!important;border:0!important}
html body.cprc1677:not(#_):not(#_):not(#_):not(#_) .cpne-group+.cpne-group{margin-top:48px!important}

/* ===== 4. home sections ===== */
/* feature cards: number, title and text start on the same lines in every card */
html body.cprc1677:not(#_):not(#_):not(#_):not(#_) .cp-value-grid{align-items:stretch!important}
html body.cprc1677:not(#_):not(#_):not(#_):not(#_) .cp-value-card{display:grid!important;grid-template-rows:auto minmax(80px,auto) 1fr!important;align-content:start!important;gap:0!important;height:100%!important}
html body.cprc1677:not(#_):not(#_):not(#_):not(#_) .cp-value-card>span{display:block!important;margin:0 0 28px!important}
html body.cprc1677:not(#_):not(#_):not(#_):not(#_) .cp-value-card h3{display:block!important;margin:0 0 12px!important;align-self:start!important;text-wrap:balance}
html body.cprc1677:not(#_):not(#_):not(#_):not(#_) .cp-value-card p{margin:0!important;align-self:start!important}
@media (max-width:1024px){html body.cprc1677:not(#_):not(#_):not(#_):not(#_) .cp-value-card{grid-template-rows:auto auto 1fr!important}}
/* program + workshop + studio cards: CTAs sit on one baseline */
html body.cprc1677:not(#_):not(#_):not(#_):not(#_) .cp-program-card{display:flex!important;flex-direction:column!important}
html body.cprc1677:not(#_):not(#_):not(#_):not(#_) .cp-program-card>a{margin-top:auto!important;align-self:flex-start!important}
html body.cprc1677:not(#_):not(#_):not(#_):not(#_) .cp-preview-card .cp-preview-card__body{display:flex!important;flex-direction:column!important;flex:1 1 auto!important}
html body.cprc1677:not(#_):not(#_):not(#_):not(#_) .cp-preview-card .cp-preview-card__body>.cp-text-link{margin-top:auto!important;align-self:flex-start!important}
html body.cprc1677:not(#_):not(#_):not(#_):not(#_) .cp-preview-card .cp-preview-card__body h3{margin-bottom:14px!important}
/* Code Online Studio section: heading → three real steps → cards → one primary CTA */
html body.cprc1677:not(#_):not(#_):not(#_):not(#_) .cprc1677-steps{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:16px!important;list-style:none!important;margin:0 0 32px!important;padding:0!important;counter-reset:none!important}
html body.cprc1677:not(#_):not(#_):not(#_):not(#_) .cprc1677-steps__item{display:grid!important;grid-template-columns:40px minmax(0,1fr)!important;gap:14px!important;align-items:start!important;margin:0!important;padding:18px 20px!important;border:1px solid var(--cp77-line)!important;border-radius:16px!important;background:#fff!important}
html body.cprc1677:not(#_):not(#_):not(#_):not(#_) .cprc1677-steps__index{display:inline-flex!important;align-items:center!important;justify-content:center!important;width:40px!important;height:40px!important;border-radius:50%!important;background:var(--cp77-soft)!important;color:var(--cp77-action)!important;font:600 15px/1 var(--cp77-font)!important;letter-spacing:0!important}
html body.cprc1677:not(#_):not(#_):not(#_):not(#_) .cprc1677-steps__body{display:flex!important;flex-direction:column!important;gap:4px!important;min-width:0!important}
html body.cprc1677:not(#_):not(#_):not(#_):not(#_) .cprc1677-steps__body strong{display:block!important;font:500 17px/1.3 var(--cp77-font)!important;color:var(--cp77-ink)!important}
html body.cprc1677:not(#_):not(#_):not(#_):not(#_) .cprc1677-steps__body span{display:block!important;font:400 15px/1.55 var(--cp77-font)!important;color:var(--cp77-text)!important}
html body.cprc1677:not(#_):not(#_):not(#_):not(#_) #studio-preview .cp-section__action{margin-top:32px!important}
@media (max-width:820px){html body.cprc1677:not(#_):not(#_):not(#_):not(#_) .cprc1677-steps{grid-template-columns:minmax(0,1fr)!important;gap:12px!important}}
/* partnership choice cards: the hover underline belongs to the title text only */
html body.cprc1677:not(#_):not(#_):not(#_):not(#_) #partnership-preview .cp-choice-card,html body.cprc1677:not(#_):not(#_):not(#_):not(#_) #partnership-preview .cp-choice-card:hover,html body.cprc1677:not(#_):not(#_):not(#_):not(#_) #partnership-preview .cp-choice-card:focus-visible{text-decoration:none!important}
html body.cprc1677:not(#_):not(#_):not(#_):not(#_) #partnership-preview .cp-choice-card .cp-choice-card__copy{text-decoration:none!important}
html body.cprc1677:not(#_):not(#_):not(#_):not(#_) #partnership-preview .cp-choice-card strong{display:inline!important;width:auto!important;text-decoration:none!important;text-decoration-color:currentColor!important;text-underline-offset:4px!important;text-decoration-thickness:1.5px!important;transition:text-decoration-color var(--cp77-ease)!important}
html body.cprc1677:not(#_):not(#_):not(#_):not(#_) #partnership-preview .cp-choice-card small{text-decoration:none!important}
html body.cprc1677:not(#_):not(#_):not(#_):not(#_) #partnership-preview .cp-choice-card:hover strong,html body.cprc1677:not(#_):not(#_):not(#_):not(#_) #partnership-preview .cp-choice-card:focus-visible strong{text-decoration:underline!important}
html body.cprc1677:not(#_):not(#_):not(#_):not(#_) .cp1664-partnership-card:hover,html body.cprc1677:not(#_):not(#_):not(#_):not(#_) .cp1664-partnership-card:hover *,html body.cprc1677:not(#_):not(#_):not(#_):not(#_) .cp-partnership-card:hover small,html body.cprc1677:not(#_):not(#_):not(#_):not(#_) .cp-partnership-card:hover p{text-decoration:none!important}
html body.cprc1677:not(#_):not(#_):not(#_):not(#_) .cp1664-partnership-card:hover strong,html body.cprc1677:not(#_):not(#_):not(#_):not(#_) .cp1664-partnership-card:hover h3,html body.cprc1677:not(#_):not(#_):not(#_):not(#_) .cp-partnership-card:hover h3{text-decoration:underline!important;text-underline-offset:4px!important;text-decoration-thickness:1.5px!important}

/* ===== 5. FAQ — one component (consultancy reference tokens) for all three markup families ===== */
html body.cprc1677:not(#_):not(#_):not(#_):not(#_) .cp1664-faq,html body.cprc1677:not(#_):not(#_):not(#_):not(#_) .cpf2-training-faq,html body.cprc1677:not(#_):not(#_):not(#_):not(#_) .cpf2-faq__grid,html body.cprc1677:not(#_):not(#_):not(#_):not(#_) .cpcff1-faq-grid,html body.cprc1677:not(#_):not(#_):not(#_):not(#_) .cpscov4-workshop-faq__grid{display:grid!important;grid-template-columns:repeat(auto-fit,minmax(min(100%,460px),1fr))!important;gap:14px!important;align-items:start!important;margin:0!important;padding:0!important;interpolate-size:allow-keywords}
html body.cprc1677:not(#_):not(#_):not(#_):not(#_) .cpscov4-workshop-faq__column,html body.cprc1677:not(#_):not(#_):not(#_):not(#_) .cpf2-faq__column,html body.cprc1677:not(#_):not(#_):not(#_):not(#_) .cpcff1-faq-column{display:contents!important}
html body.cprc1677:not(#_):not(#_):not(#_):not(#_) .cp1664-faq .gb-accordion__item,html body.cprc1677:not(#_):not(#_):not(#_):not(#_) .cpf2-faq__item,html body.cprc1677:not(#_):not(#_):not(#_):not(#_) details.cpscov4-workshop-faq__item{display:block!important;margin:0!important;padding:0!important;border:1px solid var(--cp77-line)!important;border-radius:16px!important;background:#fff!important;box-shadow:none!important;overflow:hidden!important;transition:border-color var(--cp77-ease),box-shadow var(--cp77-ease)!important;transform:none!important}
html body.cprc1677:not(#_):not(#_):not(#_):not(#_) .cp1664-faq .gb-accordion__item:hover,html body.cprc1677:not(#_):not(#_):not(#_):not(#_) .cpf2-faq__item:hover,html body.cprc1677:not(#_):not(#_):not(#_):not(#_) details.cpscov4-workshop-faq__item:hover{border-color:var(--cp77-brand)!important;box-shadow:none!important}
html body.cprc1677:not(#_):not(#_):not(#_):not(#_) .cp1664-faq .gb-accordion__item:focus-within,html body.cprc1677:not(#_):not(#_):not(#_):not(#_) .cpf2-faq__item:focus-within,html body.cprc1677:not(#_):not(#_):not(#_):not(#_) details.cpscov4-workshop-faq__item:focus-within{border-color:var(--cp77-brand)!important}
/* toggles */
html body.cprc1677:not(#_):not(#_):not(#_):not(#_) .cp1664-faq .gb-accordion__toggle,html body.cprc1677:not(#_):not(#_):not(#_):not(#_) .cpf2-faq__item>.cpf2-faq__button,html body.cprc1677:not(#_):not(#_):not(#_):not(#_) details.cpscov4-workshop-faq__item>summary{box-sizing:border-box!important;display:flex!important;align-items:center!important;justify-content:space-between!important;gap:16px!important;width:100%!important;min-height:64px!important;margin:0!important;padding:18px 20px!important;border:0!important;border-radius:0!important;background:#fff!important;color:var(--cp77-ink)!important;cursor:pointer!important;text-align:start!important;list-style:none!important;box-shadow:none!important;transform:none!important;grid-template-columns:none!important}
html body.cprc1677:not(#_):not(#_):not(#_):not(#_) details.cpscov4-workshop-faq__item>summary::-webkit-details-marker{display:none!important}
html body.cprc1677:not(#_):not(#_):not(#_):not(#_) details.cpscov4-workshop-faq__item>summary::marker{content:""!important}
html body.cprc1677:not(#_):not(#_):not(#_):not(#_) .cp1664-faq .gb-accordion__toggle:hover,html body.cprc1677:not(#_):not(#_):not(#_):not(#_) .cpf2-faq__item>.cpf2-faq__button:hover,html body.cprc1677:not(#_):not(#_):not(#_):not(#_) details.cpscov4-workshop-faq__item>summary:hover{background:#fff!important;color:var(--cp77-action)!important}
html body.cprc1677:not(#_):not(#_):not(#_):not(#_) .cp1664-faq .gb-accordion__toggle:focus-visible,html body.cprc1677:not(#_):not(#_):not(#_):not(#_) .cpf2-faq__item>.cpf2-faq__button:focus-visible,html body.cprc1677:not(#_):not(#_):not(#_):not(#_) details.cpscov4-workshop-faq__item>summary:focus-visible{outline:none!important;box-shadow:inset 0 0 0 2px var(--cp77-brand)!important;border-radius:16px!important}
html body.cprc1677:not(#_):not(#_):not(#_):not(#_) .cp1664-faq .gb-accordion__toggle h1,html body.cprc1677:not(#_):not(#_):not(#_):not(#_) .cp1664-faq .gb-accordion__toggle h2,html body.cprc1677:not(#_):not(#_):not(#_):not(#_) .cp1664-faq .gb-accordion__toggle h3,html body.cprc1677:not(#_):not(#_):not(#_):not(#_) .cp1664-faq .gb-accordion__toggle h4,html body.cprc1677:not(#_):not(#_):not(#_):not(#_) .cp1664-faq .gb-accordion__toggle .gbp-card__title,html body.cprc1677:not(#_):not(#_):not(#_):not(#_) .cpf2-faq__item .cpf2-faq__question,html body.cprc1677:not(#_):not(#_):not(#_):not(#_) details.cpscov4-workshop-faq__item>summary>span{display:block!important;flex:1 1 auto!important;min-width:0!important;margin:0!important;padding:0!important;font:600 16px/1.4 var(--cp77-font)!important;letter-spacing:0!important;color:inherit!important;text-transform:none!important;text-wrap:pretty}
html body.cprc1677:not(#_):not(#_):not(#_):not(#_) .cpf2-faq__item .cpf2-faq__number{display:none!important}
/* one icon: a 28px ring with a plus that turns into a close mark */
html body.cprc1677:not(#_):not(#_):not(#_):not(#_) .cp1664-faq .gb-accordion__toggle-icon{display:none!important}
html body.cprc1677:not(#_):not(#_):not(#_):not(#_) .cp1664-faq .cp1664-faq-icon,html body.cprc1677:not(#_):not(#_):not(#_):not(#_) .cpf2-faq__item .cpf2-faq__plus,html body.cprc1677:not(#_):not(#_):not(#_):not(#_) details.cpscov4-workshop-faq__item>summary>i{position:relative!important;box-sizing:border-box!important;display:block!important;flex:0 0 28px!important;width:28px!important;height:28px!important;margin:0!important;padding:0!important;border:1px solid #b9dbe3!important;border-radius:50%!important;background:#fff!important;color:var(--cp77-action)!important;font-size:0!important;line-height:0!important;overflow:hidden!important;transition:transform .22s ease,background-color var(--cp77-ease),border-color var(--cp77-ease)!important;transform:rotate(0deg)!important}
html body.cprc1677:not(#_):not(#_):not(#_):not(#_) .cp1664-faq .cp1664-faq-icon svg{display:none!important}
html body.cprc1677:not(#_):not(#_):not(#_):not(#_) .cp1664-faq .cp1664-faq-icon::before,html body.cprc1677:not(#_):not(#_):not(#_):not(#_) .cp1664-faq .cp1664-faq-icon::after,html body.cprc1677:not(#_):not(#_):not(#_):not(#_) .cpf2-faq__item .cpf2-faq__plus::before,html body.cprc1677:not(#_):not(#_):not(#_):not(#_) .cpf2-faq__item .cpf2-faq__plus::after,html body.cprc1677:not(#_):not(#_):not(#_):not(#_) details.cpscov4-workshop-faq__item>summary>i::before,html body.cprc1677:not(#_):not(#_):not(#_):not(#_) details.cpscov4-workshop-faq__item>summary>i::after{content:""!important;position:absolute!important;left:50%!important;top:50%!important;width:12px!important;height:2px!important;margin:-1px 0 0 -6px!important;border-radius:2px!important;background:currentColor!important;display:block!important;transform:none!important}
html body.cprc1677:not(#_):not(#_):not(#_):not(#_) .cp1664-faq .cp1664-faq-icon::after,html body.cprc1677:not(#_):not(#_):not(#_):not(#_) .cpf2-faq__item .cpf2-faq__plus::after,html body.cprc1677:not(#_):not(#_):not(#_):not(#_) details.cpscov4-workshop-faq__item>summary>i::after{transform:rotate(90deg)!important}
html body.cprc1677:not(#_):not(#_):not(#_):not(#_) .cp1664-faq .gb-accordion__item-open .cp1664-faq-icon,html body.cprc1677:not(#_):not(#_):not(#_):not(#_) .cp1664-faq .is-open .cp1664-faq-icon,html body.cprc1677:not(#_):not(#_):not(#_):not(#_) .cp1664-faq .gb-accordion__toggle[aria-expanded="true"] .cp1664-faq-icon,html body.cprc1677:not(#_):not(#_):not(#_):not(#_) .cpf2-faq__item .cpf2-faq__button[aria-expanded="true"] .cpf2-faq__plus,html body.cprc1677:not(#_):not(#_):not(#_):not(#_) details.cpscov4-workshop-faq__item[open]>summary>i{transform:rotate(45deg)!important;background:var(--cp77-soft)!important;border-color:var(--cp77-brand)!important}
/* answers */
html body.cprc1677:not(#_):not(#_):not(#_):not(#_) .cp1664-faq .gb-accordion__content,html body.cprc1677:not(#_):not(#_):not(#_):not(#_) .cpf2-faq__item .cpf2-faq__answer,html body.cprc1677:not(#_):not(#_):not(#_):not(#_) details.cpscov4-workshop-faq__item>.cpscov4-workshop-faq__answer{box-sizing:border-box!important;margin:0!important;padding:0 20px 20px!important;border:0!important;background:#fff!important;color:var(--cp77-text)!important;overflow:hidden!important;max-height:none!important;height:auto!important;opacity:1!important}
html body.cprc1677:not(#_):not(#_):not(#_):not(#_) .cp1664-faq .gb-accordion__content>*,html body.cprc1677:not(#_):not(#_):not(#_):not(#_) .cpf2-faq__item .cpf2-faq__answer>*{margin:0!important}
html body.cprc1677:not(#_):not(#_):not(#_):not(#_) .cp1664-faq .gb-accordion__content p,html body.cprc1677:not(#_):not(#_):not(#_):not(#_) .cpf2-faq__item .cpf2-faq__answer p,html body.cprc1677:not(#_):not(#_):not(#_):not(#_) details.cpscov4-workshop-faq__item .cpscov4-workshop-faq__answer p{margin:0!important;font:400 16px/1.65 var(--cp77-font)!important;color:var(--cp77-text)!important}
html body.cprc1677:not(#_):not(#_):not(#_):not(#_) .cp1664-faq .gb-accordion__content p+p,html body.cprc1677:not(#_):not(#_):not(#_):not(#_) .cpf2-faq__item .cpf2-faq__answer p+p{margin-top:10px!important}
html body.cprc1677:not(#_):not(#_):not(#_):not(#_) .cp1664-faq .gb-accordion__content a,html body.cprc1677:not(#_):not(#_):not(#_):not(#_) .cpf2-faq__item .cpf2-faq__answer a,html body.cprc1677:not(#_):not(#_):not(#_):not(#_) .cpscov4-workshop-faq__answer a{color:var(--cp77-action)!important}
/* motion: height + fade on open and close, from a visible resting state; instant where a browser lacks the feature */
html body.cprc1677:not(#_):not(#_):not(#_):not(#_) .cp1664-faq .gb-accordion__item:not(.gb-accordion__item-open):not(.is-open)>.gb-accordion__content{display:none!important}
html body.cprc1677:not(#_):not(#_):not(#_):not(#_) .cp1664-faq .gb-accordion__item-open>.gb-accordion__content,html body.cprc1677:not(#_):not(#_):not(#_):not(#_) .cp1664-faq .is-open>.gb-accordion__content{display:block!important}
html body.cprc1677:not(#_):not(#_):not(#_):not(#_) .cpf2-faq__item .cpf2-faq__answer[hidden]{display:none!important}
html body.cprc1677:not(#_):not(#_):not(#_):not(#_) .cp1664-faq .gb-accordion__content,html body.cprc1677:not(#_):not(#_):not(#_):not(#_) .cpf2-faq__item .cpf2-faq__answer{transition:height .28s ease,padding-bottom .28s ease,opacity .22s ease,display .28s allow-discrete,overlay .28s allow-discrete!important}
@starting-style{
html body.cprc1677:not(#_):not(#_):not(#_):not(#_) .cp1664-faq .gb-accordion__item-open>.gb-accordion__content,html body.cprc1677:not(#_):not(#_):not(#_):not(#_) .cp1664-faq .is-open>.gb-accordion__content,html body.cprc1677:not(#_):not(#_):not(#_):not(#_) .cpf2-faq__item .cpf2-faq__answer:not([hidden]){height:0!important;padding-bottom:0!important;opacity:0!important}
}
html body.cprc1677:not(#_):not(#_):not(#_):not(#_) .cp1664-faq .gb-accordion__item:not(.gb-accordion__item-open):not(.is-open)>.gb-accordion__content,html body.cprc1677:not(#_):not(#_):not(#_):not(#_) .cpf2-faq__item .cpf2-faq__answer[hidden]{height:0!important;padding-bottom:0!important;opacity:0!important}
html body.cprc1677:not(#_):not(#_):not(#_):not(#_) details.cpscov4-workshop-faq__item::details-content{height:0;opacity:0;overflow:hidden;transition:height .28s ease,opacity .22s ease,content-visibility .28s allow-discrete}
html body.cprc1677:not(#_):not(#_):not(#_):not(#_) details.cpscov4-workshop-faq__item[open]::details-content{height:auto;opacity:1}
@media (prefers-reduced-motion:reduce){
html body.cprc1677:not(#_):not(#_):not(#_):not(#_) .cp1664-faq .gb-accordion__content,html body.cprc1677:not(#_):not(#_):not(#_):not(#_) .cpf2-faq__item .cpf2-faq__answer,html body.cprc1677:not(#_):not(#_):not(#_):not(#_) details.cpscov4-workshop-faq__item::details-content,html body.cprc1677:not(#_):not(#_):not(#_):not(#_) .cp1664-faq .cp1664-faq-icon,html body.cprc1677:not(#_):not(#_):not(#_):not(#_) .cpf2-faq__item .cpf2-faq__plus,html body.cprc1677:not(#_):not(#_):not(#_):not(#_) details.cpscov4-workshop-faq__item>summary>i{transition:none!important}
}
/* workshops page: the NPCP catalogue header and its grid share one 40px gap (was 80 + 40) */
html body.cprc1677:not(#_):not(#_):not(#_):not(#_) .gbp-section>.gbp-section__inner.gb-element-f22170b1{margin-bottom:0!important}
html body.cprc1677:not(#_):not(#_):not(#_):not(#_) .gbp-section>.gbp-section__inner.gb-element-f22170b1+.gbp-section__inner{margin-top:40px!important}
/* workshops page FAQ block: a section like the others, not a boxed panel */
html body.cprc1677:not(#_):not(#_):not(#_):not(#_) .cpscov4-workshop-faq{box-sizing:border-box!important;width:min(1200px,calc(100% - 80px))!important;margin:0 auto!important;padding:80px 0!important;border:0!important;border-radius:0!important;background:transparent!important;box-shadow:none!important}
html body.cprc1677:not(#_):not(#_):not(#_):not(#_) .cpscov4-workshop-faq__header{max-width:none!important;margin:0 0 28px!important;text-align:start!important}
html body.cprc1677:not(#_):not(#_):not(#_):not(#_) .cpscov4-workshop-faq__header h2{margin:0 0 10px!important;font-size:clamp(28px,3vw,40px)!important;line-height:1.15!important;font-weight:500!important;letter-spacing:-.015em!important;color:var(--cp77-ink)!important}
html body.cprc1677:not(#_):not(#_):not(#_):not(#_) .cpscov4-workshop-faq__header p{margin:0!important;max-width:760px!important;font:400 17px/1.65 var(--cp77-font)!important;color:var(--cp77-text)!important}
@media (max-width:820px){html body.cprc1677:not(#_):not(#_):not(#_):not(#_) .cpscov4-workshop-faq{width:calc(100% - 40px)!important;padding:56px 0!important}}
@media (max-width:640px){
html body.cprc1677:not(#_):not(#_):not(#_):not(#_) .cp1664-faq .gb-accordion__toggle,html body.cprc1677:not(#_):not(#_):not(#_):not(#_) .cpf2-faq__item>.cpf2-faq__button,html body.cprc1677:not(#_):not(#_):not(#_):not(#_) details.cpscov4-workshop-faq__item>summary{min-height:56px!important;padding:14px 16px!important;gap:12px!important}
html body.cprc1677:not(#_):not(#_):not(#_):not(#_) .cp1664-faq .gb-accordion__content,html body.cprc1677:not(#_):not(#_):not(#_):not(#_) .cpf2-faq__item .cpf2-faq__answer,html body.cprc1677:not(#_):not(#_):not(#_):not(#_) details.cpscov4-workshop-faq__item>.cpscov4-workshop-faq__answer{padding:0 16px 16px!important}
html body.cprc1677:not(#_):not(#_):not(#_):not(#_) .cp1664-faq .gb-accordion__toggle h3,html body.cprc1677:not(#_):not(#_):not(#_):not(#_) .cp1664-faq .gb-accordion__toggle .gbp-card__title,html body.cprc1677:not(#_):not(#_):not(#_):not(#_) .cpf2-faq__item .cpf2-faq__question,html body.cprc1677:not(#_):not(#_):not(#_):not(#_) details.cpscov4-workshop-faq__item>summary>span{font-size:15.5px!important}
}

/* ===== 6. teacher training page: NPCP block ===== */
html body.cprc1677:not(#_):not(#_):not(#_):not(#_).cp-page-training .cp-npcp-mini{display:none!important}
html body.cprc1677:not(#_):not(#_):not(#_):not(#_):not(#_):not(#_) .cp-npcp-why{grid-template-columns:132px minmax(0,1fr)!important;column-gap:28px!important;align-items:start!important}
html body.cprc1677:not(#_):not(#_):not(#_):not(#_):not(#_):not(#_) .cp-npcp-why img.cp-npcp-why__logo{width:132px!important;height:132px!important;max-width:132px!important;max-height:132px!important;margin:0!important;padding:0!important;border:0!important;border-radius:0!important;background:transparent!important;box-shadow:none!important;object-fit:contain!important}
@media (max-width:767px){html body.cprc1677:not(#_):not(#_):not(#_):not(#_):not(#_):not(#_) .cp-npcp-why{grid-template-columns:104px minmax(0,1fr)!important;column-gap:18px!important}html body.cprc1677:not(#_):not(#_):not(#_):not(#_):not(#_):not(#_) .cp-npcp-why img.cp-npcp-why__logo{width:104px!important;height:104px!important;max-width:104px!important;max-height:104px!important}}

/* ===== 7. Code Online Studio page ===== */
html body.cprc1677:not(#_):not(#_):not(#_):not(#_) header.cpscos20-header .cpscos20-brand{height:48px!important;gap:12px!important}
html body.cprc1677:not(#_):not(#_):not(#_):not(#_) header.cpscos20-header .cpscos20-brand__wordmark{font-size:22px!important;line-height:1!important;letter-spacing:.02em!important}
html body.cprc1677:not(#_):not(#_):not(#_):not(#_) header.cpscos20-header .cpscos20-brand__wordmark strong{font-weight:600!important}
html body.cprc1677:not(#_):not(#_):not(#_):not(#_) header.cpscos20-header .cpscos20-brand__wordmark small{font-size:.72em!important;font-weight:500!important;letter-spacing:.14em!important}
html body.cprc1677:not(#_):not(#_):not(#_):not(#_) header.cpscos20-header .cpscos20-return{display:inline-flex!important;align-items:center!important;gap:8px!important;min-height:40px!important;padding:0 14px!important;border:1px solid var(--cp77-line)!important;border-radius:999px!important;color:var(--cp77-ink)!important;background:#fff!important;font:500 14.5px/1 var(--cp77-font)!important;text-decoration:none!important;transition:border-color var(--cp77-ease),color var(--cp77-ease),background-color var(--cp77-ease)!important}
html body.cprc1677:not(#_):not(#_):not(#_):not(#_) header.cpscos20-header .cpscos20-return::before{content:"←"!important;display:inline-block!important;font-size:15px!important;line-height:1!important;color:var(--cp77-action)!important}
html body.cprc1677:not(#_):not(#_):not(#_):not(#_) header.cpscos20-header .cpscos20-return:hover,html body.cprc1677:not(#_):not(#_):not(#_):not(#_) header.cpscos20-header .cpscos20-return:focus-visible{border-color:var(--cp77-brand)!important;color:var(--cp77-action)!important;background:var(--cp77-soft)!important}
html body.cprc1677:not(#_):not(#_):not(#_):not(#_):not(#_):not(#_):not(#_):not(#_) .cpscome-masteries__grid{gap:28px!important;align-items:stretch!important}
html body.cprc1677:not(#_):not(#_):not(#_):not(#_) .cpscome-mastery-card{height:100%!important}
@media (max-width:1100px){html body.cprc1677:not(#_):not(#_):not(#_):not(#_):not(#_):not(#_):not(#_):not(#_) .cpscome-masteries__grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:24px!important}}
@media (max-width:700px){html body.cprc1677:not(#_):not(#_):not(#_):not(#_):not(#_):not(#_):not(#_):not(#_) .cpscome-masteries__grid{grid-template-columns:minmax(0,1fr)!important;gap:20px!important}}

/* ===== 8. About page: educator grid fits as many premium cards as the row allows ===== */
html body.cprc1677:not(#_):not(#_):not(#_):not(#_) .cpab1-educator-grid{display:grid!important;grid-template-columns:repeat(auto-fit,minmax(min(100%,340px),1fr))!important;gap:24px!important;align-items:stretch!important}
html body.cprc1677:not(#_):not(#_):not(#_):not(#_) .cpab1-educator-card{height:100%!important;margin:0!important}
