/*
 * cc-content-pages: blog, post, topic and list archives, Our Teachers, About (2026 design system).
 * Ported from the approved mockup (LIFEOS work 20261019-cc-content-page-mockups, mock/*.ts).
 * Every rule sits under #ccp (the page's <main>), so theme, Elementor and plugin styles cannot
 * reach in and these cannot leak out. Fonts are compass-blocks' cc-lato and cc-lora faces
 * (site-chrome.css); this file adds only Lora italic, for quotes in post text.
 */
@font-face{font-family:cc-lora;font-style:italic;font-weight:400 700;font-display:swap;src:url(fonts/lora-italic-var.woff2) format("woff2")}

#ccp{
--cc-blue:#2B5C9A;--cc-blue-strong:#234B7E;--cc-blue-soft:#EEF3F9;--cc-navy:#14294A;--cc-ink:#1F2124;--cc-ink-2:#5D6570;--cc-line:#E3E6EA;--cc-line-strong:#CBD2DA;--cc-ground:#F5F7FA;--cc-paper:#FFFFFF;--cc-gold:#F5B000;--cc-gold-ink:#7A5200;--cc-gold-soft:#FDF4DC;--cc-pine:#1F7A5A;--cc-pine-soft:#E7F2ED;--cc-ember:#C8392E;--cc-ember-soft:#FBEDEB;
--cc-subj-history:#833A2F;--cc-subj-writing:#059698;--cc-subj-science:#015636;--cc-subj-language:#277DB0;--cc-subj-econ-civics:#456302;--cc-subj-parents:#4E4740;--cc-subj-audio:#A26151;
--ccp-head:'cc-lora',Georgia,'Times New Roman',serif;--ccp-body:'cc-lato','Helvetica Neue',Arial,sans-serif;
--cc-radius-sm:4px;--cc-radius-md:8px;--cc-radius-pill:999px;--cc-shadow-card:0 1px 2px rgba(20,41,74,.06);--cc-focus-ring:2px solid var(--cc-navy);
display:block;min-height:40vh;margin:0;padding:0;background:var(--cc-paper);color:var(--cc-ink);font:400 16px/24px var(--ccp-body);-webkit-text-size-adjust:100%;color-scheme:light;overflow-wrap:break-word;text-align:left}
#ccp *,#ccp *::before,#ccp *::after{box-sizing:border-box}
#ccp [hidden]{display:none!important}
#ccp img{display:block;max-width:100%;height:auto;border-radius:0;box-shadow:none}
#ccp :where(a:not(.ccp-prose *)){color:var(--cc-blue);text-decoration:none;text-underline-offset:3px;font-weight:inherit}
#ccp :where(a:not(.ccp-prose *)):hover{text-decoration:underline}
#ccp a:focus,#ccp button:focus{outline:none}
#ccp :focus-visible{outline:var(--cc-focus-ring);outline-offset:2px}
#ccp p,#ccp figure,#ccp blockquote,#ccp ul,#ccp ol,#ccp dl,#ccp dd,#ccp h1,#ccp h2,#ccp h3,#ccp h4,#ccp form{margin:0}
#ccp ul,#ccp ol{padding:0;list-style:none}
#ccp h1,#ccp h2,#ccp h3,#ccp h4,#ccp h5,#ccp h6{font-family:var(--ccp-head);font-weight:700;font-style:normal;color:var(--cc-navy);text-wrap:balance;letter-spacing:normal;text-transform:none;padding:0;clear:none}
#ccp h1{font-size:32px;line-height:38px}
#ccp h2{font-size:24px;line-height:30px}
#ccp h3,#ccp h4{font-size:20px;line-height:26px}
#ccp b,#ccp strong{font-weight:700}
#ccp .ccp-display{font-size:40px;line-height:44px}
#ccp .ccp-lead{font-size:18px;line-height:28px}
#ccp .ccp-small{font-size:14px;line-height:20px}
#ccp .ccp-muted{color:var(--cc-ink-2)}
#ccp .ccp-label{font:700 12px/16px var(--ccp-body);letter-spacing:.06em;text-transform:uppercase;color:var(--cc-ink-2)}
#ccp .ccp-wrap{max-width:1264px;margin:0 auto;padding-inline:32px}
#ccp .ccp-sec{padding-block:64px 0}
#ccp .ccp-sec-hd{display:flex;align-items:baseline;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-bottom:24px}
#ccp .ccp-sec-hd p{color:var(--cc-ink-2)}
#ccp .ccp-crumb{font-size:14px;line-height:20px;color:var(--cc-ink-2);padding-block:24px 0;display:flex;gap:8px;flex-wrap:wrap}
#ccp .ccp-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;font:700 16px/1.2 var(--ccp-body);min-height:44px;padding:10px 18px;border-radius:var(--cc-radius-sm);border:1px solid transparent;cursor:pointer;text-decoration:none;text-transform:none;letter-spacing:normal;box-shadow:none;text-shadow:none;width:auto;margin:0;-webkit-appearance:none;appearance:none}
#ccp .ccp-btn:hover{text-decoration:none}
#ccp .ccp-btn svg{width:18px;height:18px;flex:none}
#ccp .ccp-btn--primary{background:var(--cc-blue);color:#fff}#ccp .ccp-btn--primary:hover{background:var(--cc-blue-strong);color:#fff}
#ccp .ccp-btn--secondary{background:var(--cc-paper);color:var(--cc-blue);border-color:var(--cc-line-strong)}#ccp .ccp-btn--secondary:hover{border-color:var(--cc-blue);background:var(--cc-paper);color:var(--cc-blue)}
#ccp .ccp-btn--accent{background:var(--cc-gold);color:var(--cc-ink)}#ccp .ccp-btn--accent:hover{background:var(--cc-gold);color:var(--cc-ink);box-shadow:inset 0 0 0 2px var(--cc-gold-ink)}
#ccp .ccp-btn--white{background:#fff;color:var(--cc-blue)}#ccp .ccp-btn--white:hover{background:var(--cc-blue-soft);color:var(--cc-blue)}
#ccp .ccp-btn[disabled],#ccp .ccp-btn[aria-busy=true]{opacity:.6;cursor:progress}
#ccp .ccp-field{font:400 16px/24px var(--ccp-body);color:var(--cc-ink);background:var(--cc-paper);border:1px solid var(--cc-line-strong);border-radius:var(--cc-radius-sm);padding:10px 12px;min-height:44px;width:100%;margin:0;box-shadow:none;-webkit-appearance:none;appearance:none}
#ccp .ccp-field::placeholder{color:var(--cc-ink-2);opacity:1}
#ccp .ccp-field:focus{border-color:var(--cc-blue);outline:var(--cc-focus-ring);outline-offset:2px;background:var(--cc-paper)}
#ccp .ccp-sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;margin:-1px;padding:0;border:0}
#ccp .ccp-chips{display:flex;gap:8px;flex-wrap:wrap}
#ccp .ccp-chip{display:inline-flex;align-items:center;font:400 14px/20px var(--ccp-body);background:var(--cc-ground);color:var(--cc-ink-2);border:0;border-radius:var(--cc-radius-pill);padding:12px 16px;min-height:44px;cursor:pointer;white-space:nowrap;text-decoration:none;text-transform:none;letter-spacing:normal;box-shadow:none;text-shadow:none;margin:0;width:auto}
#ccp .ccp-chip:hover{color:var(--cc-navy);box-shadow:inset 0 0 0 1px var(--cc-line-strong);background:var(--cc-ground);text-decoration:none}
#ccp .ccp-chip[aria-pressed=true],#ccp .ccp-chip[aria-current]{background:var(--cc-blue);color:#fff;font-weight:700}
#ccp .ccp-card{background:var(--cc-paper);border:1px solid var(--cc-line);border-radius:var(--cc-radius-md);box-shadow:var(--cc-shadow-card)}
#ccp .ccp-img{display:block;border-radius:var(--cc-radius-md);overflow:hidden;background:var(--cc-ground)}
#ccp .ccp-img img{width:100%;height:100%;object-fit:cover}
#ccp .ccp-arrow{display:inline-flex;align-items:center;gap:8px;font-weight:700}
#ccp .ccp-arrow svg{width:18px;height:18px;flex:none}
#ccp .ccp-cat{font:700 12px/16px var(--ccp-body);letter-spacing:.06em;text-transform:uppercase;color:var(--cc-ink-2)}
#ccp .ccp-cat--economics,#ccp .ccp-cat--latin{color:var(--cc-blue)}
#ccp .ccp-cat--literature,#ccp .ccp-cat--science{color:var(--cc-pine)}
#ccp .ccp-cat--homeschooling{color:var(--cc-gold-ink)}
#ccp .ccp-cat--philosophy-worldview{color:var(--cc-ember)}
#ccp .ccp-cat--history,#ccp .ccp-cat--grammar-writing{color:var(--cc-navy)}

/* Blue email band (style guide: shared email sign-up banner) */
#ccp .ccp-band{background:var(--cc-blue);color:#fff;margin-top:64px}
#ccp .ccp-band .ccp-wrap{display:flex;align-items:center;justify-content:space-between;gap:24px;padding-block:32px;flex-wrap:wrap}
#ccp .ccp-band p{font-size:18px;line-height:28px;max-width:560px;color:#fff}
#ccp .ccp-band-form{display:flex;flex-wrap:wrap;gap:8px;flex:1 1 380px;max-width:480px}
#ccp .ccp-band-form .ccp-field{border-color:transparent;flex:1 1 200px;width:auto}
#ccp .ccp-band-form .ccp-btn{flex:none}
#ccp .ccp-band-form .cf-turnstile{flex-basis:100%;margin:0!important}
#ccp .ccp-band-form .cf-turnstile:empty{display:none!important}
#ccp .ccp-band .ccp-band-msg{flex-basis:100%;font-size:16px;line-height:24px;font-weight:700}
#ccp .ccp-band :focus-visible{outline-color:#fff}

/* ---------- Blog archive, topic (category) and list (tag) pages ---------- */
#ccp .ccp-bhead{padding-block:48px 0;display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:32px;align-items:end}
#ccp .ccp-bhead .ccp-lead{color:var(--cc-ink-2);margin-top:12px;max-width:620px}
#ccp .ccp-bsearch{position:relative}
#ccp .ccp-bsearch svg{position:absolute;left:12px;top:12px;width:20px;height:20px;color:var(--cc-ink-2);pointer-events:none}
#ccp .ccp-bsearch .ccp-field{padding-left:42px}
#ccp .ccp-btopics{margin-top:24px;padding-bottom:24px;border-bottom:1px solid var(--cc-line)}
#ccp .ccp-feat{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:32px;align-items:center;margin-top:32px}
#ccp .ccp-feat .ccp-img{aspect-ratio:16/9}
#ccp .ccp-feat-b{display:flex;flex-direction:column;gap:12px;align-items:flex-start}
#ccp .ccp-feat-b h2 a{color:var(--cc-navy)}
#ccp .ccp-feat-b p{color:var(--cc-ink)}
#ccp .ccp-feat-b p.ccp-meta{color:var(--cc-ink-2)}
#ccp .ccp-meta{font-size:14px;line-height:20px;color:var(--cc-ink-2)}
#ccp .ccp-ggrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px 24px}
#ccp .ccp-gcard{display:flex;flex-direction:column;gap:8px}
#ccp .ccp-gcard .ccp-img{aspect-ratio:16/9;margin-bottom:8px}
#ccp .ccp-gcard h3 a,#ccp .ccp-lrow h3 a,#ccp .ccp-prow h3 a{color:var(--cc-navy)}
#ccp .ccp-llist{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 32px}
#ccp .ccp-lrow{display:grid;grid-template-columns:200px minmax(0,1fr);gap:16px;padding-block:24px;border-top:1px solid var(--cc-line)}
#ccp .ccp-lrow .ccp-img{aspect-ratio:3/2}
#ccp .ccp-lrow-b{display:flex;flex-direction:column;gap:6px}
#ccp .ccp-lrow-b .ccp-small{color:var(--cc-ink-2)}
#ccp .ccp-loadmore{display:flex;justify-content:center;margin-top:32px}
#ccp .ccp-popgrid{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:48px;align-items:start}
#ccp .ccp-prow{display:grid;grid-template-columns:200px minmax(0,1fr);gap:16px;padding-block:16px;border-top:1px solid var(--cc-line)}
#ccp .ccp-prow .ccp-img{aspect-ratio:3/2}
#ccp .ccp-lists{background:var(--cc-blue-soft);border-radius:var(--cc-radius-md);padding:24px;display:flex;flex-direction:column;gap:8px}
#ccp .ccp-lists h2{font-size:20px;line-height:26px;margin-bottom:4px}
#ccp .ccp-lists a{display:flex;justify-content:space-between;align-items:center;min-height:48px;padding:8px 16px;background:var(--cc-paper);border:1px solid var(--cc-line);border-radius:var(--cc-radius-md);font-weight:700;color:var(--cc-navy);text-decoration:none}
#ccp .ccp-lists a:hover{border-color:var(--cc-blue)}
#ccp .ccp-lists svg{width:18px;height:18px;color:var(--cc-blue);flex:none}
#ccp .ccp-alltopics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px 24px}
#ccp .ccp-alltopics a{display:flex;justify-content:space-between;gap:8px;padding:12px 0;border-bottom:1px solid var(--cc-line);color:var(--cc-ink);font-weight:700}
#ccp .ccp-alltopics a span{font-weight:400;color:var(--cc-ink-2)}
#ccp .ccp-alltopics a:hover{color:var(--cc-blue)}
#ccp .ccp-alltopics a[aria-current]{color:var(--cc-navy);box-shadow:inset 0 -3px var(--cc-gold)}
#ccp .ccp-pager{display:flex;justify-content:space-between;gap:16px;margin-top:32px}
/* Topic and list pages */
#ccp .ccp-topic .ccp-crumb{padding-block:24px 0}
#ccp .ccp-topic .ccp-bhead{padding-block:16px 0}
#ccp .ccp-topicrule{padding-top:8px;border-top:3px solid var(--sc,var(--cc-line-strong));justify-self:start;display:inline-block}
#ccp .ccp-bhead h1{margin-top:8px}
#ccp .ccp-bhead .ccp-count{font-size:14px;line-height:20px;color:var(--cc-ink-2);margin-top:8px}
#ccp .ccp-next2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}
#ccp .ccp-next2 .ccp-card{padding:24px;display:grid;grid-template-columns:120px minmax(0,1fr);gap:20px;align-items:center}
#ccp .ccp-next2 .ccp-card--noimg{grid-template-columns:minmax(0,1fr)}
#ccp .ccp-next2 img{width:120px;height:120px;object-fit:cover;border-radius:var(--cc-radius-md);background:var(--cc-ground)}
#ccp .ccp-next2-b{display:flex;flex-direction:column;gap:8px;align-items:flex-start}
#ccp .ccp-next2 h3{font-size:20px;line-height:26px}
#ccp .ccp-tagchips{margin-top:24px}
#ccp .ccp-other{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
#ccp .ccp-other a{display:flex;justify-content:space-between;align-items:center;min-height:56px;padding:12px 16px;background:var(--cc-paper);border:1px solid var(--cc-line);border-radius:var(--cc-radius-md);font-weight:700;color:var(--cc-navy);text-decoration:none}
#ccp .ccp-other a span{font-weight:400;color:var(--cc-ink-2);font-size:14px;line-height:20px}
#ccp .ccp-other a:hover{border-color:var(--cc-blue)}
#ccp [data-c][hidden]{display:none}
#ccp .ccp-sec--tight{padding-top:32px}

/* ---------- Single post ---------- */
#ccp .ccp-post{--col:660px;--wide:1040px;--rs:20px;--rl:34px}
#ccp .ccp-phead{max-width:var(--col);margin:0 auto;padding-top:24px}
#ccp .ccp-phead .ccp-crumb{padding-top:0}
#ccp .ccp-phead.ccp-pcrumb{max-width:860px} /* Philip 11-03: the breadcrumb lines up with the picture's left edge, not the text column */
#ccp .ccp-phead.ccp-pcrumb .ccp-crumb{font-size:16px;line-height:24px} /* Philip 11-04: "slightly larger"; one step up the guide's scale from 14/20, single posts only */
#ccp .ccp-ptitle{padding-top:0}
#ccp .ccp-kicker{display:flex;align-items:center;gap:12px;margin-top:40px}
#ccp .ccp-kicker::before{content:"";width:24px;height:2px;background:var(--cc-ember)}
#ccp .ccp-phead h1{margin-top:16px}
#ccp .ccp-byline{display:flex;align-items:center;gap:12px;border-top:1px solid var(--cc-line);padding-top:16px;margin-top:24px}
#ccp .ccp-byline img{width:44px;height:44px;border-radius:var(--cc-radius-pill);object-fit:cover;flex:none}
#ccp .ccp-byline p{font-size:14px;line-height:20px;color:var(--cc-ink-2)}
#ccp .ccp-byline b{color:var(--cc-ink)}
#ccp .ccp-pfeat{max-width:860px;margin:24px auto 0;aspect-ratio:1024/536}
#ccp .ccp-prose{max-width:var(--col);margin:40px auto 0;font-family:var(--ccp-head);font-weight:400;font-size:var(--rs);line-height:var(--rl);color:var(--cc-ink);hanging-punctuation:first}
#ccp .ccp-prose>*+*{margin-top:24px}
#ccp .ccp-prose p{font-family:var(--ccp-head);font-weight:400}
#ccp .ccp-prose p.ccp-first::first-letter{font-family:var(--ccp-head);font-weight:700;color:var(--cc-navy);float:left;font-size:calc(var(--rl) * 2.1);line-height:1;padding:6px 10px 0 0}
#ccp .ccp-prose h2.way-h{margin-top:64px}
#ccp .ccp-prose h2{margin-top:56px}
#ccp .ccp-prose h3,#ccp .ccp-prose h4{margin-top:40px}
#ccp .ccp-prose h5,#ccp .ccp-prose h6{font-family:var(--ccp-body);font-weight:700;font-size:16px;line-height:24px;color:var(--cc-navy);margin-top:32px}
/* Philip 11-04: text starts closer to its heading. Headings keep their own space above, so a heading right after a heading is left out. */
#ccp .ccp-prose h2+:not(h2,h3,h4,h5,h6){margin-top:12px}
#ccp .ccp-prose :is(h3,h4,h5,h6)+:not(h2,h3,h4,h5,h6){margin-top:8px}
#ccp .ccp-prose em,#ccp .ccp-prose i,#ccp .ccp-prose cite{font-style:italic}
/* Prose list style for plain lists only; block markup (Kadence testimonials, icon lists) keeps its own look. */
#ccp .ccp-prose :is(ul,ol):is(:not([class]),.wp-block-list){padding-left:1.4em}
#ccp .ccp-prose ul:is(:not([class]),.wp-block-list){list-style:disc}
#ccp .ccp-prose ol:is(:not([class]),.wp-block-list){list-style:decimal}
#ccp .ccp-prose :is(ul,ol):is(:not([class]),.wp-block-list)>li+li{margin-top:8px}
#ccp .ccp-prose :is(ul,ol):is(:not([class]),.wp-block-list) li>:is(ul,ol){margin-top:8px}
#ccp .ccp-prose figure{margin-block:40px}
#ccp .ccp-prose figure.wp-block-image,#ccp .ccp-prose .wp-block-image figure{display:block;margin-inline:0;max-width:100%}
#ccp .ccp-prose figure img{border-radius:var(--cc-radius-md);width:100%}
#ccp .ccp-prose figure.alignleft img,#ccp .ccp-prose figure.alignright img,#ccp .ccp-prose figure.is-resized img,#ccp .ccp-prose img[width][style*="width"]{width:auto}
#ccp .ccp-prose .aligncenter{margin-inline:auto;text-align:center}
#ccp .ccp-prose .aligncenter img{margin-inline:auto}
#ccp .ccp-prose .alignleft{float:left;margin:8px 24px 16px 0;max-width:50%}
#ccp .ccp-prose .alignright{float:right;margin:8px 0 16px 24px;max-width:50%}
#ccp .ccp-prose figcaption,#ccp .ccp-prose .wp-element-caption{font:400 14px/20px var(--ccp-body);color:var(--cc-ink-2);margin-top:8px;text-align:left}
/* Text links inside the post text only; buttons and image links in the content keep their own look. */
#ccp .ccp-prose :is(p,li,dd,td,th,figcaption,cite,h2,h3,h4,h5,h6) a:not([class*=button]):not(.kb-btn){color:var(--cc-blue-strong);text-decoration:underline;text-decoration-color:var(--cc-line-strong);text-decoration-thickness:1px;text-underline-offset:4px}
#ccp .ccp-prose :is(p,li,dd,td,th,figcaption,cite,h2,h3,h4,h5,h6) a:not([class*=button]):not(.kb-btn):hover{color:var(--cc-blue);text-decoration-color:currentColor;text-decoration-thickness:2px}
#ccp .ccp-prose :is(p,li,dd,td,th,figcaption,cite,h2,h3,h4,h5,h6) a.ccp-ext:not([class*=button])::after{content:" \2197";font:400 14px/1 var(--ccp-body)}
#ccp .ccp-prose a.ccp-ext:has(img)::after{content:none}
#ccp .ccp-prose a[class*=button],#ccp .ccp-prose .kb-btn,#ccp .ccp-prose .kt-btn-inner-text{font-family:var(--ccp-body);text-decoration:none}
#ccp .ccp-prose figcaption{display:block;caption-side:auto;width:auto}
#ccp .ccp-prose blockquote{border-left:3px solid var(--cc-blue);padding:0 0 0 24px;margin-block:40px;font-style:italic;background:none;quotes:none}
#ccp .ccp-prose blockquote::before,#ccp .ccp-prose blockquote::after{content:none}
#ccp .ccp-prose blockquote p{color:var(--cc-ink);font-style:italic}
#ccp .ccp-prose blockquote cite{display:block;margin-top:8px;font:400 14px/20px var(--ccp-body);font-style:normal;color:var(--cc-ink-2)}
#ccp .ccp-prose .has-text-align-center{text-align:center}
#ccp .ccp-prose .has-text-align-right{text-align:right}
#ccp .ccp-prose table{width:100%;border-collapse:collapse;font:400 16px/24px var(--ccp-body)}
#ccp .ccp-prose th,#ccp .ccp-prose td{border:1px solid var(--cc-line);padding:8px 12px;text-align:left;vertical-align:top}
#ccp .ccp-prose th{background:var(--cc-ground);font-weight:700}
#ccp .ccp-prose .wp-block-table{overflow-x:auto}
#ccp .ccp-prose hr,#ccp .ccp-prose .wp-block-separator{border:0;border-top:1px solid var(--cc-line);margin-block:48px;height:0;background:none}
#ccp .ccp-prose iframe,#ccp .ccp-prose video,#ccp .ccp-prose embed,#ccp .ccp-prose object{max-width:100%}
#ccp .ccp-prose .wp-block-embed__wrapper{position:relative}
#ccp .ccp-prose .wp-embed-aspect-16-9 .wp-block-embed__wrapper{aspect-ratio:16/9}
#ccp .ccp-prose .wp-embed-aspect-16-9 .wp-block-embed__wrapper iframe{position:absolute;inset:0;width:100%;height:100%}
#ccp .ccp-prose .wp-block-buttons{display:flex;flex-wrap:wrap;gap:8px}
#ccp .ccp-prose .wp-block-button__link,#ccp .ccp-prose .wp-element-button{display:inline-flex;align-items:center;min-height:44px;padding:10px 18px;border-radius:var(--cc-radius-sm);background:var(--cc-blue);color:#fff;font:700 16px/1.2 var(--ccp-body);text-decoration:none;border:0}
#ccp .ccp-prose .wp-block-button__link:hover,#ccp .ccp-prose .wp-element-button:hover{background:var(--cc-blue-strong);color:#fff}
#ccp .ccp-prose .wp-block-columns{display:flex;flex-wrap:wrap;gap:24px}
#ccp .ccp-prose .wp-block-column{flex:1 1 220px;min-width:0}
#ccp .ccp-prose .wp-block-column>*+*{margin-top:16px}
#ccp .ccp-prose .wp-block-group>*+*{margin-top:24px}
#ccp .ccp-prose code{font-size:.85em;background:var(--cc-ground);padding:2px 4px;border-radius:var(--cc-radius-sm)}
#ccp .ccp-prose::after{content:"";display:table;clear:both}
#ccp .ccp-prose .ccp-pages{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-top:40px;font:400 16px/24px var(--ccp-body)}
#ccp .ccp-prose .ccp-pages a,#ccp .ccp-prose .ccp-pages .post-page-numbers{display:inline-flex;align-items:center;justify-content:center;min-width:44px;min-height:44px;border:1px solid var(--cc-line-strong);border-radius:var(--cc-radius-sm);color:var(--cc-blue);text-decoration:none}
#ccp .ccp-prose .ccp-pages .current{background:var(--cc-blue);color:#fff;border-color:var(--cc-blue)}
#ccp .ccp-pend{max-width:var(--col);margin:48px auto 0;padding-top:24px;border-top:1px solid var(--cc-line);display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}
#ccp .ccp-share{display:flex;gap:8px}
#ccp .ccp-share a{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;border:1px solid var(--cc-line-strong);border-radius:var(--cc-radius-pill);color:var(--cc-ink-2)}
#ccp .ccp-share a:hover{border-color:var(--cc-blue);color:var(--cc-blue)}
#ccp .ccp-share svg{width:18px;height:18px}
#ccp .ccp-author{max-width:var(--col);margin:32px auto 0;display:grid;grid-template-columns:80px minmax(0,1fr);gap:16px;background:var(--cc-ground);border-radius:var(--cc-radius-md);padding:24px}
#ccp .ccp-author--nophoto{grid-template-columns:minmax(0,1fr)}
#ccp .ccp-author img{width:80px;height:80px;border-radius:var(--cc-radius-pill);object-fit:cover}
#ccp .ccp-author>div{display:flex;flex-direction:column;gap:6px;align-items:flex-start}
#ccp .ccp-after{max-width:var(--wide);margin:64px auto 0;padding-top:48px;border-top:1px solid var(--cc-line);display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:48px}
#ccp .ccp-after--lists{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
#ccp .ccp-after--single{grid-template-columns:minmax(0,1fr);max-width:var(--col)}
#ccp .ccp-after h2{font-size:20px;line-height:26px;margin-bottom:8px}
#ccp .ccp-rl+.ccp-rl{margin-top:32px}
#ccp .ccp-after--lists .ccp-rl+.ccp-rl{margin-top:0}
#ccp .ccp-rl a{display:block;padding-block:10px;border-top:1px solid var(--cc-line);font-weight:700;line-height:24px}
#ccp .ccp-keep{max-width:var(--wide);margin:0 auto}
#ccp .ccp-kgrid{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);gap:48px}
#ccp .ccp-kfeat{display:flex;flex-direction:column;gap:8px}
#ccp .ccp-kfeat .ccp-img{aspect-ratio:16/9;margin-bottom:8px}
#ccp .ccp-klist article{display:flex;flex-direction:column;gap:8px;padding-block:24px;border-top:1px solid var(--cc-line)}
#ccp .ccp-klist article:first-child{border-top:0;padding-top:0}
#ccp .ccp-kgrid h3 a{color:var(--cc-navy)}
#ccp .ccp-progress{position:fixed;inset:0 0 auto 0;height:3px;z-index:100000;pointer-events:none}
#ccp .ccp-progress span{display:block;height:100%;width:100%;background:var(--cc-blue);transform-origin:0 50%;transform:scaleX(0)}
body.admin-bar #ccp .ccp-progress{top:32px}

/* ---------- About (Our Story) ---------- */
#ccp .ccp-ahero{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,520px);gap:48px;align-items:center;padding-block:48px}
#ccp .ccp-ahero-t{display:flex;flex-direction:column;gap:16px}
#ccp .ccp-ahero-t h1+p{font-size:18px;line-height:28px}
#ccp .ccp-ahero-t h1+p strong{font-weight:inherit}
#ccp .ccp-ahero .ccp-img{background:none}
#ccp .ccp-ahero .ccp-img img{height:auto;object-fit:contain}
#ccp .ccp-mission{background:var(--cc-navy);color:#fff}
#ccp .ccp-mission .ccp-wrap{padding-block:48px;display:flex;align-items:center;justify-content:space-between;gap:32px;flex-wrap:wrap}
#ccp .ccp-mission .ccp-kick{font:700 12px/16px var(--ccp-body);letter-spacing:.06em;text-transform:uppercase;color:var(--cc-gold)}
#ccp .ccp-mission .ccp-q{font:700 32px/38px var(--ccp-head);color:#fff;max-width:760px;margin-top:8px;text-wrap:balance}
/* Timeline: one line down the middle, years alternate sides; the script staggers them (200px between
   years, 80px clear on each side). Phone and no-script keep a plain column with the line on the left. */
#ccp .ccp-tl{position:relative;margin-top:8px;padding-block:8px}
#ccp .ccp-tl::before{content:"";position:absolute;left:50%;top:0;bottom:0;width:2px;margin-left:-1px;background:var(--cc-line-strong)}
#ccp .ccp-ty{position:relative;width:50%;padding:0 48px 48px 0;text-align:right}
#ccp .ccp-ty:nth-child(even){margin-left:50%;padding:0 0 48px 48px;text-align:left}
#ccp .ccp-ty::before{content:"";position:absolute;top:18px;right:0;width:32px;height:2px;background:var(--cc-navy)}
#ccp .ccp-ty:nth-child(even)::before{right:auto;left:0}
#ccp .ccp-ty>h3{font:700 32px/38px var(--ccp-head);color:var(--cc-navy)}
#ccp .ccp-tl.ccp-stag .ccp-ty{position:absolute;top:var(--y);left:0;padding-bottom:0}
#ccp .ccp-tl.ccp-stag .ccp-ty:nth-child(even){left:auto;right:0;margin-left:0}
#ccp .ccp-te{display:flex;flex-direction:column;gap:40px;margin-top:16px}
#ccp .ccp-ent{display:flex;flex-direction:column;gap:8px}
#ccp .ccp-ty:nth-child(odd) .ccp-logo{margin-left:auto}
#ccp .ccp-logo{width:240px;max-width:100%;height:112px;border-radius:var(--cc-radius-md);background:var(--cc-ground);display:flex;align-items:center;justify-content:center;padding:12px;overflow:hidden}
#ccp .ccp-logo img{max-height:88px;max-width:100%;width:auto;height:auto;object-fit:contain}
#ccp .ccp-logo--photo{padding:0}
#ccp .ccp-logo--photo img{width:100%;height:100%;max-height:none;object-fit:cover}
#ccp .ccp-ent h4{font-size:20px;line-height:26px;margin-top:4px}
#ccp .ccp-ent h4 a{color:var(--cc-navy)}
#ccp .ccp-ent p{font-size:16px;line-height:24px}
#ccp .ccp-ent em,#ccp .ccp-ent i{font-style:italic;font-family:var(--ccp-body)}
#ccp .ccp-faces{display:grid;grid-template-columns:repeat(var(--n,8),minmax(0,1fr));gap:16px}
#ccp .ccp-faces a{display:flex;flex-direction:column;align-items:center;gap:8px;text-align:center;font-size:14px;line-height:20px;font-weight:700;color:var(--cc-ink)}
#ccp .ccp-faces img{width:100%;aspect-ratio:1;object-fit:cover;object-position:50% 25%;border-radius:var(--cc-radius-pill)}
#ccp .ccp-faith{margin:64px auto 0;max-width:720px;display:flex;justify-content:space-between;align-items:center;gap:24px;flex-wrap:wrap;background:var(--cc-ground);border-radius:var(--cc-radius-md);padding:32px}
#ccp .ccp-endspace{height:64px}

/* ---------- Our Teachers ---------- */
#ccp .ccp-thead{padding-block:48px 0;max-width:760px}
#ccp .ccp-locked{margin-top:24px;max-width:560px}
#ccp .post-password-form{font:400 16px/24px var(--ccp-body);display:flex;flex-direction:column;gap:12px}
#ccp .post-password-form input[type=password]{font:400 16px/24px var(--ccp-body);border:1px solid var(--cc-line-strong);border-radius:var(--cc-radius-sm);padding:10px 12px;min-height:44px;background:var(--cc-paper);box-shadow:none;margin-top:4px;width:100%;max-width:360px}
#ccp .post-password-form input[type=submit]{font:700 16px/1.2 var(--ccp-body);background:var(--cc-blue);color:#fff;border:0;border-radius:var(--cc-radius-sm);min-height:44px;padding:10px 18px;margin-top:8px;cursor:pointer;box-shadow:none}
#ccp .ccp-thead .ccp-lead{margin-top:16px}
#ccp .ccp-tjump{position:sticky;top:0;z-index:5;background:var(--cc-paper);border-bottom:1px solid var(--cc-line);margin-top:32px}
body.admin-bar #ccp .ccp-tjump{top:32px}
#ccp .ccp-tjump .ccp-chips{padding-block:12px}
#ccp .ccp-tsec{padding-top:48px;scroll-margin-top:72px}
#ccp .ccp-tsec>h2{margin-bottom:24px}
#ccp .ccp-tgrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
#ccp .ccp-tcard{display:flex;flex-direction:column;overflow:hidden}
#ccp .ccp-tcard-ph{aspect-ratio:4/3;background:var(--cc-ground);overflow:hidden;min-height:0}
#ccp .ccp-tcard-ph img{width:100%;height:100%;object-fit:cover;object-position:50% 25%}
#ccp .ccp-tcard-b{display:flex;flex-direction:column;gap:8px;padding:16px 24px 24px;flex:1}
#ccp .ccp-bio{font-size:14px;line-height:20px;color:var(--cc-ink);display:-webkit-box;-webkit-line-clamp:5;-webkit-box-orient:vertical;overflow:hidden}
#ccp .ccp-tcard.is-open .ccp-bio{display:block}
#ccp .ccp-rm{align-self:flex-start;justify-self:start;background:none;border:0;padding:0;min-height:44px;font:700 14px/20px var(--ccp-body);color:var(--cc-blue);cursor:pointer;box-shadow:none;text-shadow:none;text-transform:none;letter-spacing:normal;width:auto;margin:0}
#ccp .ccp-rm:hover{text-decoration:underline;background:none;color:var(--cc-blue)}
#ccp .ccp-rm[hidden]{display:none}
#ccp .ccp-tcourses{margin-top:auto;padding-top:12px;border-top:1px solid var(--cc-line);font-size:14px;line-height:20px}
#ccp .ccp-tcourses .ccp-label{display:block;margin-bottom:4px}
#ccp .ccp-tcourses a{font-weight:700}
#ccp .ccp-tcta{margin-top:64px;background:var(--cc-ground);border-radius:var(--cc-radius-md);padding:32px;display:flex;align-items:center;justify-content:space-between;gap:24px;flex-wrap:wrap}

@media (max-width:1100px){
#ccp .ccp-after,#ccp .ccp-kgrid{grid-template-columns:minmax(0,1fr)}
}
@media (max-width:1023px){
#ccp .ccp-popgrid{grid-template-columns:minmax(0,1fr)}
#ccp .ccp-ggrid{grid-template-columns:repeat(2,minmax(0,1fr))}
#ccp .ccp-llist{grid-template-columns:minmax(0,1fr)}
#ccp .ccp-alltopics{grid-template-columns:repeat(2,minmax(0,1fr))}
#ccp .ccp-next2,#ccp .ccp-other{grid-template-columns:minmax(0,1fr)}
#ccp .ccp-ahero{grid-template-columns:minmax(0,1fr)}
#ccp .ccp-faces{grid-template-columns:repeat(4,minmax(0,1fr))}
#ccp .ccp-tgrid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:782px){
body.admin-bar #ccp .ccp-progress{top:46px}
body.admin-bar #ccp .ccp-tjump{top:0}
}
@media (max-width:767px){
#ccp .ccp-wrap{padding-inline:16px}
#ccp .ccp-sec{padding-block:48px 0}
#ccp .ccp-display{font-size:32px;line-height:38px}
#ccp .ccp-band{margin-top:48px}
#ccp .ccp-band-form{flex-basis:100%}
#ccp .ccp-bhead{grid-template-columns:minmax(0,1fr);gap:16px;padding-block:32px 0}
#ccp .ccp-topic .ccp-bhead{padding-block:16px 0}
#ccp .ccp-btopics .ccp-chips{flex-wrap:nowrap;overflow-x:auto;margin-inline:-16px;padding-inline:16px;scrollbar-width:none}
#ccp .ccp-btopics .ccp-chips::-webkit-scrollbar{display:none}
#ccp .ccp-feat{grid-template-columns:minmax(0,1fr);gap:16px;margin-top:24px}
#ccp .ccp-ggrid{grid-template-columns:minmax(0,1fr);gap:24px}
#ccp .ccp-lrow,#ccp .ccp-prow{grid-template-columns:112px minmax(0,1fr);gap:12px;padding-block:16px}
#ccp .ccp-prow h3,#ccp .ccp-lrow h3{font-size:16px;line-height:24px}
#ccp .ccp-lists{padding:16px}
#ccp .ccp-lrow .ccp-lrow-b .ccp-ex{display:none}
#ccp .ccp-alltopics{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:0 16px}
#ccp .ccp-next2 .ccp-card{grid-template-columns:88px minmax(0,1fr);padding:16px;gap:16px}
#ccp .ccp-next2 .ccp-card--noimg{grid-template-columns:minmax(0,1fr)}
#ccp .ccp-next2 img{width:88px;height:88px}
/* post */
#ccp .ccp-post{--rs:18px;--rl:30px}
#ccp .ccp-kicker{margin-top:24px}
#ccp .ccp-pfeat{margin:16px -16px 0;border-radius:0}
#ccp .ccp-prose{margin-top:32px}
#ccp .ccp-prose h2.way-h{margin-top:48px}
#ccp .ccp-prose h2{margin-top:40px}
#ccp .ccp-prose blockquote{padding-left:16px}
#ccp .ccp-prose .alignleft,#ccp .ccp-prose .alignright{float:none;margin:24px 0;max-width:100%}
#ccp .ccp-after{margin-top:48px;padding-top:32px;gap:32px}
#ccp .ccp-after--lists{grid-template-columns:minmax(0,1fr)}
#ccp .ccp-after--lists .ccp-rl+.ccp-rl{margin-top:0}
/* about */
#ccp .ccp-ahero{padding-block:32px;gap:24px}
#ccp .ccp-mission .ccp-q{font-size:24px;line-height:30px}
#ccp .ccp-tl::before{left:0;margin-left:0}
#ccp .ccp-ty,#ccp .ccp-ty:nth-child(even){width:auto;margin-left:0;padding:0 0 56px 32px;text-align:left}
#ccp .ccp-ty::before,#ccp .ccp-ty:nth-child(even)::before{left:0;right:auto;width:20px;top:14px}
#ccp .ccp-ty>h3{font-size:24px;line-height:30px}
#ccp .ccp-ty:nth-child(odd) .ccp-logo{margin-left:0}
#ccp .ccp-logo{width:160px;height:72px;padding:8px}
#ccp .ccp-logo img{max-height:56px}
#ccp .ccp-logo--photo{padding:0}
#ccp .ccp-logo--photo img{max-height:none}
#ccp .ccp-ent h4{font-size:16px;line-height:24px}
#ccp .ccp-ent p{font-size:14px;line-height:20px}
#ccp .ccp-faces{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
#ccp .ccp-faces a{font-size:12px;line-height:16px}
#ccp .ccp-faith{padding:24px 16px}
/* teachers */
#ccp .ccp-thead{padding-block:32px 0}
#ccp .ccp-tjump .ccp-chips{flex-wrap:nowrap;overflow-x:auto;margin-inline:-16px;padding-inline:16px;scrollbar-width:none}
#ccp .ccp-tjump .ccp-chips::-webkit-scrollbar{display:none}
#ccp .ccp-tgrid{grid-template-columns:minmax(0,1fr);gap:16px}
#ccp .ccp-tcard{display:grid;grid-template-columns:96px minmax(0,1fr);gap:0 16px;padding:16px}
#ccp .ccp-tcard-ph{width:96px;height:96px;aspect-ratio:auto;border-radius:var(--cc-radius-pill);overflow:hidden}
#ccp .ccp-tcard-b{padding:0;display:contents}
#ccp .ccp-tcard-hd{grid-column:2;align-self:center}
#ccp .ccp-tcard .ccp-bio,#ccp .ccp-tcard .ccp-rm,#ccp .ccp-tcard .ccp-tcourses{grid-column:1/-1}
#ccp .ccp-tcard .ccp-bio{margin-top:12px}
#ccp .ccp-tcta{padding:24px 16px}
}
@media (prefers-reduced-motion:reduce){#ccp .ccp-progress{display:none}}
/* Author page (0.1.20): photo beside the name, bio under it, the posts below. */
#ccp .ccp-ahead{padding-top:24px;display:grid;grid-template-columns:160px minmax(0,1fr);grid-template-areas:"ph top" "ph bio";column-gap:32px;row-gap:12px;align-items:start}
#ccp .ccp-ahead-ph{grid-area:ph;width:160px;height:160px;border-radius:var(--cc-radius-pill);object-fit:cover;background:var(--cc-ground)}
#ccp .ccp-ahead-ini{display:flex;align-items:center;justify-content:center;font:700 48px/1 var(--ccp-head);color:var(--cc-navy);background:var(--cc-blue-soft)}
#ccp .ccp-ahead-top{grid-area:top;display:flex;flex-direction:column;gap:8px;padding-top:8px}
#ccp .ccp-ahead-bio{grid-area:bio;display:flex;flex-direction:column;gap:12px;max-width:680px}
#ccp .ccp-ahead-bio .ccp-lead{color:var(--cc-ink)}
#ccp .ccp-afacts{display:flex;flex-wrap:wrap;align-items:center;gap:8px 24px;font-size:14px;line-height:20px;color:var(--cc-ink-2)}
#ccp .ccp-ahead + .ccp-tagchips{margin-top:32px;padding-bottom:24px;border-bottom:1px solid var(--cc-line)}
#ccp [data-ccp-lead][hidden]{display:none}
#ccp .ccp-byname{color:inherit;text-decoration:none}
#ccp .ccp-byname:hover b,#ccp .ccp-byname:focus-visible b{text-decoration:underline;text-underline-offset:3px}
@media (max-width:767px){
#ccp .ccp-ahead{grid-template-columns:88px minmax(0,1fr);grid-template-areas:"ph top" "bio bio";column-gap:16px;row-gap:16px;padding-top:16px;align-items:center}
#ccp .ccp-ahead-ph{width:88px;height:88px}
#ccp .ccp-ahead-ini{font-size:32px}
#ccp .ccp-ahead-top{padding-top:0;gap:4px}
#ccp .ccp-ahead-bio .ccp-lead{font-size:16px;line-height:24px}
}
/* 0.1.30: product grids inside a post show no add-to-cart / select-options button (Philip, 11-04): the picture, name and price link to the product page, where families decide. */
#ccp .ccp-prose .wc-block-grid__product-add-to-cart,#ccp .ccp-prose ul.products li.product .button{display:none}
#ccp .ccp-prose .wc-block-grid__product{margin-bottom:24px}
