.ccf-catalog { --cc-purple:#224250; --cc-purple-dark:#122636; --cc-lavender:#EEF3F0; --cc-cream:#f8f6f2; --cc-text:#202126; --cc-muted:#5f6068; box-sizing:border-box; color:var(--cc-text); margin:0 auto; max-width:1120px; padding:clamp(30px,6vw,76px) 20px; }
.ccf-catalog * { box-sizing:border-box; }
.ccf-catalog-hero { margin:0 auto 48px; max-width:820px; text-align:center; }
.ccf-catalog-hero > span,.ccf-catalog-kicker { color:var(--cc-purple); font-size:.78rem; font-weight:750; letter-spacing:.1em; text-transform:uppercase; }
.ccf-catalog-hero h1,.ccf-catalog-detail h1 { font-size:clamp(2.5rem,6vw,4.8rem); letter-spacing:-.04em; line-height:1.04; margin:12px 0 18px; }
.ccf-catalog-hero p,.ccf-catalog-detail header p { color:var(--cc-muted); font-size:1.12rem; line-height:1.65; }
.ccf-catalog-calendars { display:flex; flex-wrap:wrap; gap:10px; justify-content:center; margin-top:26px; }
.ccf-catalog-calendars a,.ccf-catalog-button { background:var(--cc-purple); border-radius:999px; color:#fff!important; display:inline-flex; font-weight:700; padding:12px 20px; text-decoration:none!important; }
.ccf-catalog-grid { display:grid; gap:22px; grid-template-columns:repeat(2,minmax(0,1fr)); }
.ccf-catalog-card { background:#fff; border:1px solid rgba(0,0,0,.12); border-radius:16px; box-shadow:0 12px 36px rgba(31,31,35,.06); display:flex; flex-direction:column; padding:0; }
.ccf-card-body{display:flex;flex:1;flex-direction:column;padding:26px}.ccf-course-art{aspect-ratio:16/9;background:#122636;margin:0;overflow:hidden}.ccf-course-art img{display:block;height:100%;object-fit:cover;object-position:center 42%;width:100%}.ccf-catalog-owner{font-size:.86rem!important;margin:22px auto 0;max-width:700px}.ccf-partner-callout{background:linear-gradient(135deg,#f5f7f4,#eef3f0);border:1px solid #c7d5d1;border-radius:18px;margin:0 0 54px;padding:clamp(24px,4vw,40px)}.ccf-partner-callout h2{margin:8px 0 12px}.ccf-partner-callout p{line-height:1.65;max-width:920px}.ccf-catalog-faq{max-width:900px}.ccf-catalog-faq details{border-top:1px solid #d9e0dd;padding:18px 0}.ccf-catalog-faq summary{color:var(--cc-purple-dark);cursor:pointer;font-size:1.08rem;font-weight:750}.ccf-catalog-faq details p{color:var(--cc-muted);line-height:1.65;margin:12px 0 0}
.ccf-schedule-heading{align-items:baseline;display:flex;gap:20px;justify-content:space-between;margin:0 0 14px}.ccf-schedule-heading h3{margin:0}.ccf-schedule-heading p{color:var(--cc-muted);font-size:.9rem;margin:0}.ccf-schedule-table-wrap{border:1px solid #d9e0dd;border-radius:16px;overflow:auto}.ccf-schedule-table{border-collapse:collapse;font-size:.92rem;min-width:760px;width:100%}.ccf-schedule-table th{background:#eef3f0;color:var(--cc-purple-dark);font-size:.76rem;letter-spacing:.06em;text-align:left;text-transform:uppercase}.ccf-schedule-table td,.ccf-schedule-table th{border-bottom:1px solid #e7e2e9;padding:13px 15px;vertical-align:top}.ccf-schedule-table tbody tr:last-child td{border-bottom:0}.ccf-schedule-table td:nth-child(1),.ccf-schedule-table td:nth-child(2){white-space:nowrap}.ccf-schedule-table a{color:var(--cc-purple-dark);font-weight:700;text-decoration:none}.ccf-schedule-table a:hover{text-decoration:underline}.ccf-schedule-level{color:var(--cc-muted);display:block;font-size:.72rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase}
.ccf-catalog-card h2 { font-size:1.65rem; margin:10px 0; }
.ccf-catalog-card > p { color:var(--cc-muted); line-height:1.6; }
.ccf-catalog-card dl { border-top:1px solid rgba(0,0,0,.09); display:grid; gap:10px; margin:auto 0 24px; padding-top:18px; }
.ccf-catalog-card dl div { display:grid; gap:2px; grid-template-columns:70px 1fr; }
.ccf-catalog dt { color:var(--cc-muted); font-size:.8rem; font-weight:700; text-transform:uppercase; }
.ccf-catalog dd { margin:0; }
.ccf-catalog-back { color:var(--cc-purple); display:inline-block; font-weight:700; margin-bottom:24px; text-decoration:none; }
.ccf-catalog-detail > header { background:var(--cc-lavender); border-radius:18px; padding:clamp(30px,6vw,62px); }
.ccf-catalog-detail-grid { display:grid; gap:40px; grid-template-columns:minmax(0,1.5fr) minmax(280px,.7fr); margin-top:42px; }
.ccf-catalog-detail main { font-size:1.04rem; line-height:1.72; }
.ccf-catalog-detail aside { background:var(--cc-cream); border-radius:14px; padding:28px; }
.ccf-catalog-detail aside dt { margin-top:16px; }
.ccf-catalog-actions { display:grid; gap:14px; margin-top:24px; }
.ccf-catalog-empty { background:var(--cc-cream); border-radius:16px; margin:40px auto; max-width:720px; padding:48px; text-align:center; }
@media(max-width:760px){.ccf-catalog-grid,.ccf-catalog-detail-grid{grid-template-columns:1fr}.ccf-catalog-card{padding:0}.ccf-schedule-heading{align-items:flex-start;flex-direction:column}}

/* Unified visual system: public Formation catalog. */
.ccf-catalog { --cc-catalog-shadow:0 12px 38px rgba(31,24,42,.065); --cc-catalog-shadow-raised:0 20px 54px rgba(34,66,80,.14); font-family:inherit; max-width:1180px; }
.ccf-catalog h1,.ccf-catalog h2,.ccf-catalog h3 { color:var(--cc-text); letter-spacing:-.025em; line-height:1.12; }
.ccf-catalog a { transition:background-color .16s ease,border-color .16s ease,box-shadow .16s ease,color .16s ease,transform .16s ease; }
.ccf-catalog a:focus-visible { box-shadow:0 0 0 4px rgba(34,66,80,.2); outline:2px solid transparent; outline-offset:3px; }
.ccf-catalog-calendars a,.ccf-catalog-button { border:1px solid var(--cc-purple); box-shadow:0 8px 22px rgba(34,66,80,.18); justify-content:center; min-height:46px; }
.ccf-catalog-calendars a:hover,.ccf-catalog-button:hover { background:var(--cc-purple-dark); border-color:var(--cc-purple-dark); box-shadow:0 12px 30px rgba(34,66,80,.26); color:#fff!important; transform:translateY(-1px); }
.ccf-catalog-card { border-color:#ded9e2; box-shadow:var(--cc-catalog-shadow); overflow:hidden; transition:border-color .18s ease,box-shadow .18s ease,transform .18s ease; }
.ccf-catalog-card:hover { border-color:#C2D0CC; box-shadow:var(--cc-catalog-shadow-raised); transform:translateY(-3px); }
.ccf-catalog-card h2 { line-height:1.2; }
.ccf-catalog-card dl { border-color:#e7e2e9; }
.ccf-catalog-card .ccf-catalog-button { align-self:flex-start; }
.ccf-catalog-detail > header { background:linear-gradient(135deg,#F5F7F4 0%,#EDF3F0 100%); border:1px solid #C7D5D1; box-shadow:var(--cc-catalog-shadow); overflow:hidden; position:relative; }
.ccf-catalog-detail > header::after { background:radial-gradient(circle,rgba(34,66,80,.13),transparent 68%); content:""; height:320px; pointer-events:none; position:absolute; right:-120px; top:-180px; width:320px; }
.ccf-catalog-detail aside { border:1px solid #e0dad0; box-shadow:var(--cc-catalog-shadow); height:max-content; position:sticky; top:28px; }
.ccf-catalog-detail aside h2 { margin-top:0; }
.ccf-catalog-empty { border:1px dashed #C7D5D1; box-shadow:var(--cc-catalog-shadow); }
.ccf-catalog-back { border-radius:6px; padding:5px 2px; }
@media(max-width:760px){
	.ccf-catalog { padding-left:14px; padding-right:14px; }
	.ccf-catalog-hero { margin-bottom:34px; }
	.ccf-catalog-detail aside { position:static; }
	.ccf-catalog-detail > header,.ccf-catalog-empty { border-radius:14px; padding:28px 22px; }
	.ccf-catalog-card .ccf-catalog-button { align-self:stretch; }
}

/* Formation 4 alpha: curriculum-series and catalog architecture. */
.ccf-catalog-principle{background:#f5f7f4;border:1px solid #c7d5d1;border-radius:14px;line-height:1.6;margin:26px auto 0;max-width:760px;padding:18px 22px}.ccf-series-grid{display:grid;gap:20px;grid-template-columns:repeat(3,minmax(0,1fr));margin:0 0 54px}.ccf-series-card{background:#fff;border:1px solid #d9e0dd;border-radius:18px;box-shadow:var(--cc-catalog-shadow);padding:30px}.ccf-series-number{color:var(--cc-purple);display:block;font-size:2.3rem;font-weight:800;letter-spacing:-.04em;line-height:1}.ccf-series-card h2{font-size:1.35rem;margin:14px 0 10px}.ccf-series-card p{color:var(--cc-muted);line-height:1.6}.ccf-series-card a{color:var(--cc-purple);font-weight:750;text-decoration:none}.ccf-catalog-section{margin-top:58px}.ccf-section-heading{align-items:flex-end;display:flex;gap:24px;justify-content:space-between;margin-bottom:24px}.ccf-section-heading h2{font-size:clamp(2rem,4vw,3rem);margin:6px 0 8px}.ccf-section-heading p{color:var(--cc-muted);margin:0;max-width:680px}.ccf-course-catalog-grid{display:grid;gap:18px;grid-template-columns:repeat(3,minmax(0,1fr))}.ccf-course-card{background:#fff;border:1px solid #ded9e2;border-radius:16px;display:flex;flex-direction:column;overflow:hidden}.ccf-course-card h3{font-size:1.3rem;margin:10px 0}.ccf-course-card .ccf-card-body>p{color:var(--cc-muted);line-height:1.55}.ccf-course-area{font-size:.9rem;font-weight:700}.ccf-course-card dl{border-top:1px solid #e7e2e9;margin-top:18px;padding-top:12px}.ccf-course-card dl div+div{margin-top:10px}.ccf-detail-note{border-top:1px solid #e7e2e9;margin-top:28px;padding-top:20px}.ccf-detail-note h3{font-size:1.15rem;margin-bottom:8px}
@media(max-width:900px){.ccf-series-grid,.ccf-course-catalog-grid{grid-template-columns:1fr 1fr}}
@media(max-width:620px){.ccf-series-grid,.ccf-course-catalog-grid{grid-template-columns:1fr}.ccf-section-heading{align-items:stretch;flex-direction:column}.ccf-catalog-calendars,.ccf-catalog-calendars a{width:100%}.ccf-series-card{padding:22px}.ccf-card-body{padding:22px}}
.ccf-catalog-filters{display:flex;flex-wrap:wrap;gap:10px;margin:0 0 26px}.ccf-catalog-filters a{background:#fff;border:1px solid #c7d5d1;border-radius:999px;color:var(--cc-purple);font-weight:750;padding:9px 16px;text-decoration:none}.ccf-catalog-filters a:hover,.ccf-catalog-filters a.is-active{background:var(--cc-purple);border-color:var(--cc-purple);color:#fff}.ccf-series-card.is-active{border-color:var(--cc-purple);box-shadow:0 0 0 2px rgba(34,66,80,.08),var(--cc-catalog-shadow-raised)}.ccf-detail-note ul{margin:.6rem 0 0 1.25rem}.ccf-detail-note li+li{margin-top:.6rem}
@media(max-width:620px){.ccf-catalog-filters a{flex:1 1 calc(50% - 10px);text-align:center}.ccf-catalog-filters a:first-child{flex-basis:100%}}
.ccf-course-link{color:var(--cc-purple);display:inline-flex;font-weight:750;gap:6px;margin-top:18px;text-decoration:none}.ccf-course-link:hover{text-decoration:underline}.ccf-course-offering-list{display:grid;gap:12px;list-style:none;margin:12px 0 0;padding:0}.ccf-course-offering-list li{border-top:1px solid #e0dad0;display:grid;gap:4px;padding-top:12px}.ccf-course-offering-list a{color:var(--cc-purple);text-decoration:none}.ccf-course-offering-list span{color:var(--cc-muted);font-size:.9rem}

/* Formation 4 alpha.14: concise catalog cards and schedule handoff. */
.ccf-catalog-note{background:#f8f6f2;border-left:4px solid #638580;color:var(--cc-muted);line-height:1.6;margin:0 0 24px;padding:14px 18px}.ccf-course-card .ccf-card-body{padding:22px}.ccf-course-card .ccf-card-body>p:not(.ccf-course-area){display:-webkit-box;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:4}.ccf-course-card .ccf-course-link{margin-top:auto;padding-top:18px}.ccf-course-preparation{background:#f5f7f4;border:0!important;border-radius:10px;margin:14px 0 0!important;padding:12px 14px!important}.ccf-course-preparation dt{color:var(--cc-purple)!important}.ccf-catalog-calendars a.is-secondary{background:#fff;border-color:#c7d5d1;color:var(--cc-purple)!important;box-shadow:none}.ccf-catalog-calendars a.is-secondary:hover{background:#f5f7f4;border-color:var(--cc-purple);color:var(--cc-purple-dark)!important}

/* Formation 4 account and instructor entry points. */
.ccf-catalog-hero-actions{display:flex;flex-wrap:wrap;gap:12px;justify-content:center;margin-top:22px}.ccf-catalog-button.is-secondary{background:#fff;border-color:#c7d5d1;color:var(--cc-purple)!important;box-shadow:none}.ccf-catalog-button.is-secondary:hover{background:#f5f7f4;border-color:var(--cc-purple);color:var(--cc-purple-dark)!important}@media(max-width:620px){.ccf-catalog-hero-actions{align-items:stretch;flex-direction:column}.ccf-catalog-hero-actions .ccf-catalog-button{width:100%}}

/* Formation 4 alpha.17: editorial catalog hero and balanced series overview. */
.ccf-catalog-hero{background:linear-gradient(135deg,#f8f6f2 0%,#f3f6f3 58%,#eef3f0 100%);border:1px solid #d6dfdc;border-radius:26px;box-shadow:0 18px 54px rgba(34,66,80,.08);display:grid;gap:30px 48px;grid-template-columns:minmax(0,1.08fr) minmax(340px,.92fr);margin:0 0 34px;max-width:none;overflow:hidden;padding:clamp(32px,5vw,58px);position:relative;text-align:left}
.ccf-catalog-hero::after{background:radial-gradient(circle,rgba(196,142,65,.14),transparent 67%);content:"";height:420px;pointer-events:none;position:absolute;right:-180px;top:-230px;width:420px}
.ccf-catalog-hero-intro,.ccf-catalog-hero-guide,.ccf-catalog-owner{position:relative;z-index:1}
.ccf-catalog-hero h1{font-size:clamp(3rem,5.1vw,4.45rem);margin:14px 0 22px;max-width:720px}
.ccf-catalog-hero-intro>p{font-size:1.08rem;line-height:1.7;margin:0;max-width:650px}
.ccf-catalog-hero-guide{align-self:center}
.ccf-catalog-principle{background:rgba(255,255,255,.76);border:1px solid #c7d5d1;border-radius:16px;box-shadow:0 10px 28px rgba(34,66,80,.055);margin:10px 0 0;max-width:none;padding:22px 24px}
.ccf-catalog-principle p{color:var(--cc-text);font-size:.99rem;line-height:1.55;margin:0;text-align:left}
.ccf-catalog-principle p+p{margin-top:12px}
.ccf-catalog-principle .ccf-catalog-prerequisite-note{border-top:1px solid #d9e0dd;color:var(--cc-purple);font-size:.9rem;font-weight:750;margin-top:16px;padding-top:13px}
.ccf-catalog-hero-actions{justify-content:flex-start;margin-top:18px}
.ccf-catalog-owner{border-top:1px solid rgba(34,66,80,.14);grid-column:1/-1;margin:0!important;max-width:none!important;padding-top:18px;text-align:left}
.ccf-series-grid{gap:22px;grid-template-columns:repeat(2,minmax(0,1fr));margin-bottom:54px}
.ccf-series-card{align-items:start;border-radius:20px;display:grid;gap:8px 24px;grid-template-columns:92px minmax(0,1fr);padding:30px 32px;position:relative}
.ccf-series-card::before{background:linear-gradient(90deg,var(--cc-purple),#638580);content:"";height:4px;left:28px;position:absolute;right:28px;top:0}
.ccf-series-number{align-items:center;background:#eef3f0;border:1px solid #c7d5d1;border-radius:16px;display:flex;font-size:2.4rem;grid-row:1/4;height:78px;justify-content:center;width:78px}
.ccf-series-card h2{font-size:1.45rem;margin:2px 0 4px}
.ccf-series-card p{font-size:1rem;line-height:1.55;margin:0 0 8px}
.ccf-series-card a{align-items:center;display:inline-flex;gap:7px;width:max-content}
.ccf-series-card a::after{content:"\2192";transition:transform .16s ease}
.ccf-series-card a:hover::after{transform:translateX(3px)}
@media(max-width:900px){.ccf-catalog-hero{gap:26px;grid-template-columns:1fr;padding:36px}.ccf-catalog-owner{grid-column:1}.ccf-catalog-hero h1{max-width:760px}.ccf-series-card{grid-template-columns:72px minmax(0,1fr);padding:26px}.ccf-series-number{font-size:2rem;height:62px;width:62px}}
@media(max-width:620px){.ccf-catalog{padding-top:24px}.ccf-catalog-hero{border-radius:18px;gap:24px;margin-bottom:24px;padding:28px 22px}.ccf-catalog-hero h1{font-size:clamp(2.55rem,13vw,3.3rem);margin:10px 0 16px}.ccf-catalog-hero-intro>p{font-size:1rem;line-height:1.62}.ccf-catalog-principle{padding:18px}.ccf-catalog-owner{font-size:.79rem!important;line-height:1.5;padding-top:15px}.ccf-series-grid{gap:16px}.ccf-series-card{gap:8px 16px;grid-template-columns:58px minmax(0,1fr);padding:24px 20px}.ccf-series-card::before{left:20px;right:20px}.ccf-series-number{border-radius:12px;font-size:1.65rem;height:50px;width:50px}.ccf-series-card h2{font-size:1.28rem}}
