.cc-page {
    --cc-navy: #0b1f3a;
    --cc-ink: #2b2f33;
    --cc-ivory: #f7f3ec;
    --cc-cream: #fcfaf6;
    --cc-sage: #7f8a72;
    --cc-taupe: #b8a894;
    --cc-sand: #d8ccbd;
    --cc-line: rgba(23, 58, 94, 0.17);
    width: 100%;
    max-width: 100%;
    overflow: clip;
    color: var(--cc-ink);
    background: var(--cc-ivory);
    font-family: "Source Sans 3", "Source Sans Pro", Arial, sans-serif;
    font-size: 18px;
    line-height: 1.68;
}

/* The coded templates provide their own hero title. Hide Astra's duplicate
   entry header only on pages handled by this plugin. */
.cccp-coded-page .entry-header,
.cccp-coded-page .entry-title { display: none; }
.cccp-coded-page #primary,
.cccp-coded-page .site-main,
.cccp-coded-page .ast-article-single { overflow: visible; }
.cccp-coded-page .entry-content {
    width: 100vw;
    max-width: 100vw;
    margin-top: 0;
    margin-right: calc(50% - 50vw);
    margin-left: calc(50% - 50vw);
    overflow: visible;
}

.cc-page *,
.cc-page *::before,
.cc-page *::after { box-sizing: border-box; }

.cc-page .cc-section {
    position: relative;
    margin-inline: 0;
    padding: clamp(78px, 9vw, 130px) max(24px, calc((100vw - 1180px) / 2));
}

.cc-page .cc-section--ivory { background: var(--cc-ivory); }
.cc-page .cc-section--cream { background: var(--cc-cream); }
.cc-page .cc-section--sand { background: #efe7da; }
.cc-page .cc-section--navy { background: var(--cc-navy); color: var(--cc-ivory); }
.cc-page .cc-inner { width: min(100%, 1180px); margin: 0 auto; }
.cc-page .cc-narrow { width: min(100%, 760px); margin-inline: auto; }
.cc-page .cc-center { text-align: center; }

.cc-page .cc-eyebrow {
    margin: 0 0 20px;
    color: #66705d;
    font-size: 13px;
    font-weight: 700;
    letter-spacing: 0.18em;
    line-height: 1.35;
    text-transform: uppercase;
}
.cc-page .cc-eyebrow--after-heading { margin-top: 18px; margin-bottom: 0; }

.cc-page h1,
.cc-page h2,
.cc-page h3 {
    margin: 0;
    color: var(--cc-navy);
    font-family: "Cormorant Garamond", Georgia, serif;
    font-weight: 500;
    letter-spacing: -0.018em;
    line-height: 1.07;
}

.cc-page h1 { font-size: clamp(44px, 5.6vw, 72px); }
.cc-page h2 { font-size: clamp(36px, 4.2vw, 54px); }
.cc-page h3 { font-size: clamp(27px, 2.6vw, 34px); }
.cc-page h1,
.cc-page h2,
.cc-page h3 { text-wrap: balance; }
.cc-page h1,
.cc-page h2,
.cc-page h3,
.cc-page p { max-width: 100%; overflow-wrap: break-word; }
.cc-page p { text-wrap: pretty; }
.cc-page .cc-section--navy h1,
.cc-page .cc-section--navy h2,
.cc-page .cc-section--navy h3,
.cc-page .cc-section--navy .cc-eyebrow { color: var(--cc-ivory); }

.cc-page p { margin: 0; }
.cc-page p + p { margin-top: 1.15em; }
.cc-page h1 + .cc-lede,
.cc-page h2 + .cc-copy,
.cc-page h2 + p { margin-top: 28px; }
.cc-page .cc-lede { font-size: clamp(19px, 2vw, 22px); line-height: 1.62; }
.cc-page .cc-copy { max-width: 720px; }
.cc-page .cc-center .cc-copy { margin-inline: auto; }

.cc-page .cc-hero { min-height: 650px; display: flex; align-items: center; }
.cc-page .cc-hero-grid {
    position: relative;
    z-index: 1;
    display: grid;
    grid-template-columns: minmax(0, 1.05fr) minmax(340px, .75fr);
    gap: clamp(52px, 8vw, 112px);
    align-items: center;
}
.cc-page .cc-hero-copy { max-width: 690px; }
.cc-page .cc-hero-copy h1 { max-width: 760px; }
.cc-page .cc-hero-copy .cc-lede { max-width: 650px; margin-top: 28px; }
.cc-page .cc-hero-copy,
.cc-page .cc-text-hero-grid > div { text-align: left; }
.cc-page .cc-text-hero { min-height: 560px; }
.cc-page .cc-text-hero-grid {
    grid-template-columns: minmax(0, 1.15fr) minmax(340px, .68fr);
    gap: clamp(52px, 7vw, 90px);
    align-items: center;
}
.cc-page .cc-text-hero-grid > div:first-child { max-width: 680px; }
.cc-page .cc-text-hero-grid > div:last-child { max-width: 610px; }
.cc-page .cc-text-hero .cc-lede { margin: 0; }
.cc-page .cc-text-hero .cc-signature-line { margin-top: 34px; }
.cc-page .cc-hero-grid > *,
.cc-page .cc-editorial-split > *,
.cc-page .cc-home-about-grid > *,
.cc-page .cc-about-intro-grid > *,
.cc-page .cc-start-hero-grid > *,
.cc-page .cc-resources-grid > *,
.cc-page .cc-book-grid > *,
.cc-page .cc-resonance-hero-grid > *,
.cc-page .cc-contact-grid > *,
.cc-page .cc-grid > * { min-width: 0; }

.cc-page .cc-portrait-frame,
.cc-page .cc-art-frame,
.cc-page .cc-photo-frame { position: relative; width: min(100%, 430px); margin-inline: auto; }
.cc-page .cc-portrait-frame::before {
    position: absolute;
    inset: -24px 28px 26px -24px;
    border: 1px solid rgba(127, 138, 114, .55);
    border-radius: 48% 48% 10px 10px;
    content: "";
}
.cc-page .cc-portrait-frame::after {
    position: absolute;
    right: -30px;
    bottom: -32px;
    width: 118px;
    height: 118px;
    border-radius: 50%;
    background: rgba(216, 204, 189, .76);
    content: "";
    z-index: -1;
}
.cc-page .cc-portrait-frame img {
    position: relative;
    display: block;
    width: 100%;
    aspect-ratio: 4 / 5;
    border-radius: 48% 48% 10px 10px;
    object-fit: cover;
    object-position: center 24%;
    box-shadow: 0 26px 70px rgba(23, 58, 94, .12);
}
.cc-page .cc-art-frame img { display: block; width: 100%; height: auto; }
.cc-page .cc-art-frame--mark { width: min(100%, 120px); margin-bottom: 26px; }
.cc-page .cc-art-frame--wide { width: min(100%, 520px); }
.cc-page .cc-photo-frame--landscape { width: min(100%, 530px); }
.cc-page .cc-photo-frame--landscape::before {
    position: absolute;
    inset: -18px 22px 20px -18px;
    border: 1px solid rgba(127, 138, 114, .55);
    border-radius: 42px 8px 42px 8px;
    content: "";
}
.cc-page .cc-photo-frame--landscape::after {
    position: absolute;
    right: -24px;
    bottom: -28px;
    width: 105px;
    height: 105px;
    border-radius: 50%;
    background: rgba(216, 204, 189, .7);
    content: "";
    z-index: -1;
}
.cc-page .cc-photo-frame--landscape img {
    position: relative;
    display: block;
    width: 100%;
    aspect-ratio: 4 / 3;
    border-radius: 42px 8px 42px 8px;
    object-fit: cover;
    box-shadow: 0 26px 70px rgba(23, 58, 94, .12);
}
.cc-page .cc-wordmark {
    display: inline-flex;
    align-items: center;
    gap: 16px;
    margin-bottom: 28px;
    color: var(--cc-navy);
    font-family: "Cormorant Garamond", Georgia, serif;
    font-size: 28px;
    letter-spacing: .035em;
}
.cc-page .cc-wordmark img { width: 54px; height: 54px; }
.cc-page .cc-wordmark--centered {
    justify-content: center;
    margin-inline: auto;
}

.cc-page .cc-editorial-split {
    display: grid;
    grid-template-columns: minmax(280px, .72fr) minmax(0, 1fr);
    gap: clamp(48px, 8vw, 110px);
    align-items: start;
}
.cc-page .cc-editorial-split.cc-text-hero-grid {
    grid-template-columns: minmax(0, 1.15fr) minmax(340px, .68fr);
    gap: clamp(52px, 7vw, 90px);
    align-items: center;
}
.cc-page .cc-editorial-split > h2 { position: sticky; top: 120px; }
.cc-page .cc-editorial-split .cc-copy { max-width: 680px; }
.cc-page .cc-statement { text-align: center; }
.cc-page .cc-statement h2 { max-width: 860px; margin-inline: auto; }
.cc-page .cc-statement .cc-copy { max-width: 720px; margin-inline: auto; }
.cc-page .cc-section-divider { width: 58px; height: 1px; margin: 32px auto 0; border: 0; background: var(--cc-taupe); }

.cc-page .cc-actions { display: flex; flex-wrap: wrap; gap: 14px; align-items: center; margin-top: 34px; }
.cc-page .cc-center .cc-actions { justify-content: center; }
.cc-page a.cc-button,
.cc-page a.cc-button:link,
.cc-page a.cc-button:visited {
    display: inline-flex;
    min-height: 50px;
    align-items: center;
    justify-content: center;
    padding: 13px 26px;
    border: 1.5px solid var(--cc-navy);
    border-radius: 999px;
    background: var(--cc-navy);
    color: var(--cc-ivory);
    font-family: "Source Sans 3", "Source Sans Pro", Arial, sans-serif;
    font-size: 16px;
    font-weight: 650;
    line-height: 1.2;
    text-decoration: none !important;
    transition: background-color 160ms ease, color 160ms ease, transform 160ms ease;
}
.cc-page a.cc-button:hover,
.cc-page a.cc-button:focus-visible { background: #0f2d49; color: var(--cc-ivory); transform: translateY(-1px); }
.cc-page a.cc-button--secondary { background: transparent; color: var(--cc-navy); }
.cc-page a.cc-button--secondary:hover,
.cc-page a.cc-button--secondary:focus-visible { background: var(--cc-navy); color: var(--cc-ivory); }
.cc-page .cc-section--navy a.cc-button { border-color: var(--cc-ivory); background: var(--cc-ivory); color: var(--cc-navy); }
.cc-page .cc-section--navy a.cc-button--secondary { background: transparent; color: var(--cc-ivory); }
.cc-page .cc-section--navy a.cc-button--secondary:hover,
.cc-page .cc-section--navy a.cc-button--secondary:focus-visible { background: var(--cc-ivory); color: var(--cc-navy); }

.cc-page .cc-grid { display: grid; gap: clamp(28px, 4vw, 52px); margin-top: 50px; }
.cc-page .cc-grid--2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.cc-page .cc-grid--3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.cc-page .cc-card { position: relative; padding: 28px 0 0; border-top: 1px solid var(--cc-line); background: transparent; }
.cc-page .cc-card::before {
    position: absolute;
    top: -3px;
    left: 0;
    width: 46px;
    height: 5px;
    border-radius: 4px;
    background: var(--cc-sage);
    content: "";
}
.cc-page .cc-card h3 { margin-bottom: 16px; }
.cc-page .cc-card p { font-size: 17px; }
.cc-page .cc-card .cc-actions { justify-content: flex-start; margin-top: 24px; }
.cc-page--resources .cc-grid,
.cc-page--contact .cc-grid { gap: 18px; }
.cc-page--resources .cc-card,
.cc-page--contact .cc-card {
    min-height: 240px;
    padding: clamp(26px, 3vw, 38px);
    border: 0;
    border-radius: 4px 34px 4px 4px;
    background: rgba(255, 255, 255, .7);
}
.cc-page--resources .cc-card::before,
.cc-page--contact .cc-card::before { display: none; }
.cc-page--resources .cc-card:nth-child(2n),
.cc-page--contact .cc-card:nth-child(2n) { background: rgba(216, 204, 189, .34); }

.cc-page .cc-check-list {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0 52px;
    margin: 48px 0 0;
    padding: 0;
    list-style: none;
}
.cc-page .cc-check-list li { position: relative; padding: 24px 0 24px 38px; border-bottom: 1px solid var(--cc-line); }
.cc-page .cc-check-list li::before { position: absolute; top: 24px; left: 0; color: var(--cc-sage); content: "●"; font-size: 13px; }
.cc-page .cc-emphasis {
    margin-top: 38px;
    padding: 4px 0 4px 30px;
    border-left: 2px solid var(--cc-sage);
    color: var(--cc-navy);
    font-family: "Cormorant Garamond", Georgia, serif;
    font-size: clamp(27px, 3vw, 36px);
    line-height: 1.28;
}
.cc-page .cc-kicker { display: inline-block; margin-bottom: 12px; color: var(--cc-sage); font-size: 13px; font-weight: 700; letter-spacing: .13em; text-transform: uppercase; }
.cc-page .cc-note { margin-top: 34px; padding: 20px 0 0; border-top: 1px solid var(--cc-line); color: #4b4f52; font-size: 16px; }

/* Home, Start Here, and About use the same editorial system without turning
   every idea into a card. Lines, open lists, and large type create the rhythm. */
.cc-page .cc-hero-line {
    margin-top: 28px;
    color: var(--cc-navy);
    font-weight: 700;
    letter-spacing: .01em;
}
.cc-page--home .cc-home-hero .cc-hero-grid { grid-template-columns: minmax(0, 1.1fr) minmax(320px, .62fr); }
.cc-page--home .cc-portrait-frame--home { width: min(100%, 390px); }
.cc-page--home .cc-home-truth .cc-copy { margin-top: 34px; }
.cc-page .cc-emphasis--center {
    margin: 46px auto 38px;
    padding: 28px 12px;
    border: 0;
    border-top: 1px solid var(--cc-line);
    border-bottom: 1px solid var(--cc-line);
    text-align: center;
}
.cc-page .cc-open-list {
    display: grid;
    gap: 0;
    margin: 34px 0;
    padding: 0;
    list-style: none;
}
.cc-page .cc-open-list li {
    position: relative;
    padding: 17px 0 17px 32px;
    border-bottom: 1px solid var(--cc-line);
}
.cc-page .cc-open-list li::before {
    position: absolute;
    top: 18px;
    left: 1px;
    color: var(--cc-sage);
    content: "●";
    font-size: 11px;
}
.cc-page .cc-framework-list {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0 clamp(46px, 7vw, 96px);
    margin-top: 62px;
    counter-reset: framework;
}
.cc-page .cc-framework-list article {
    display: grid;
    grid-template-columns: 50px 1fr;
    gap: 22px;
    padding: 34px 0 38px;
    border-top: 1px solid var(--cc-line);
}
.cc-page .cc-framework-list article:last-child { grid-column: 1 / -1; width: min(100%, 540px); margin-inline: auto; }
.cc-page .cc-framework-list article > span,
.cc-page .cc-numbered-paths article > span {
    color: var(--cc-sage);
    font-family: "Cormorant Garamond", Georgia, serif;
    font-size: 22px;
    line-height: 1.2;
}
.cc-page .cc-framework-list h3 { margin-bottom: 13px; }
.cc-page .cc-closing-line {
    width: min(100%, 760px);
    margin: 34px auto 0;
    color: var(--cc-navy);
    font-weight: 700;
    text-align: center;
}
.cc-page .cc-editorial-split--reverse { grid-template-columns: minmax(250px, .65fr) minmax(0, 1fr); align-items: center; }
.cc-page .cc-home-about-anchor {
    padding: 44px 0;
    border-top: 1px solid var(--cc-line);
    border-bottom: 1px solid var(--cc-line);
    color: var(--cc-navy);
}
.cc-page .cc-home-about-anchor span {
    display: block;
    margin-bottom: 20px;
    color: var(--cc-sage);
    font-size: 13px;
    font-weight: 700;
    letter-spacing: .16em;
    text-transform: uppercase;
}
.cc-page .cc-home-about-anchor p {
    font-family: "Cormorant Garamond", Georgia, serif;
    font-size: clamp(34px, 4vw, 50px);
    line-height: 1.12;
}
.cc-page .cc-pathway-list {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0 clamp(54px, 8vw, 110px);
    margin-top: 60px;
}
.cc-page .cc-pathway-list article { padding: 34px 0 42px; border-top: 1px solid var(--cc-line); }
.cc-page .cc-pathway-list h3 { margin-bottom: 15px; }
.cc-page .cc-pathway-list p:not(.cc-kicker) { max-width: 500px; }
.cc-page a.cc-text-link {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    margin-top: 23px;
    color: var(--cc-navy);
    font-size: 15px;
    font-weight: 700;
    letter-spacing: .02em;
    text-decoration: none !important;
}
.cc-page a.cc-text-link::after { content: "→"; transition: transform 160ms ease; }
.cc-page a.cc-text-link:hover::after,
.cc-page a.cc-text-link:focus-visible::after { transform: translateX(4px); }
.cc-page .cc-link-list { border-top: 1px solid var(--cc-line); }
.cc-page .cc-link-list a {
    display: grid;
    grid-template-columns: 1fr auto;
    gap: 24px;
    align-items: center;
    padding: 24px 0;
    border-bottom: 1px solid var(--cc-line);
    color: var(--cc-ink);
    text-decoration: none !important;
}
.cc-page .cc-link-list a strong { color: var(--cc-navy); font-family: "Cormorant Garamond", Georgia, serif; font-size: 25px; font-weight: 500; }
.cc-page .cc-signature-line {
    margin-top: 42px;
    color: var(--cc-navy);
    font-family: "Cormorant Garamond", Georgia, serif;
    font-size: clamp(27px, 3vw, 36px);
    font-style: italic;
}
.cc-page .cc-button--disabled {
    display: inline-flex;
    min-height: 50px;
    align-items: center;
    justify-content: center;
    margin-top: 30px;
    padding: 13px 26px;
    border: 1.5px solid var(--cc-taupe);
    border-radius: 999px;
    color: #686b6d;
    font-size: 16px;
    font-weight: 650;
    line-height: 1.2;
}
.cc-page .cc-numbered-paths {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0 clamp(54px, 8vw, 110px);
    margin-top: 64px;
}
.cc-page .cc-numbered-paths article {
    display: grid;
    grid-template-columns: 48px 1fr;
    gap: 20px;
    padding: 36px 0 44px;
    border-top: 1px solid var(--cc-line);
}
.cc-page .cc-numbered-paths h3 { margin-bottom: 14px; }
.cc-page .cc-question-list {
    margin: 32px 0;
    padding-left: 30px;
    border-left: 2px solid var(--cc-sage);
    color: var(--cc-navy);
    font-family: "Cormorant Garamond", Georgia, serif;
    font-size: clamp(24px, 2.5vw, 31px);
    line-height: 1.3;
}
.cc-page .cc-question-list p + p { margin-top: 22px; }
.cc-page .cc-belief-list { width: min(100%, 960px); margin: 60px auto 0; }
.cc-page .cc-belief-list article {
    display: grid;
    grid-template-columns: minmax(220px, .7fr) minmax(0, 1fr);
    gap: clamp(34px, 7vw, 96px);
    align-items: baseline;
    padding: 34px 0;
    border-top: 1px solid var(--cc-line);
}
.cc-page .cc-belief-list article:last-child { border-bottom: 1px solid var(--cc-line); }
.cc-page .cc-hope-lines { margin-top: 46px; }
.cc-page .cc-hope-lines p {
    color: var(--cc-navy);
    font-family: "Cormorant Garamond", Georgia, serif;
    font-size: clamp(27px, 3vw, 38px);
    line-height: 1.28;
}
.cc-page .cc-hope-lines p + p { margin-top: 28px; }

.cc-page .cc-closing .cc-inner { position: relative; z-index: 1; }

/* Approved identity and editorial hero system. */
.site-branding .custom-logo-link.cccp-custom-logo {
    display: block;
    width: clamp(220px, 24vw, 340px);
    line-height: 0;
}
.site-branding .custom-logo-link.cccp-custom-logo img.custom-logo {
    display: block;
    width: auto !important;
    max-width: 100% !important;
    height: 62px !important;
    max-height: 62px;
    object-fit: contain;
    object-position: left center;
    mix-blend-mode: multiply;
}

.cc-page--home .cc-home-hero .cc-hero-grid {
    grid-template-columns: minmax(0, .9fr) minmax(430px, .82fr);
    gap: clamp(60px, 8vw, 120px);
}
.cc-page--home .cc-home-hero h1 { max-width: 650px; }
.cc-page--home .cc-home-intro { max-width: 560px; }
.cc-page .cc-approved-portrait {
    width: min(100%, 540px);
    margin: 0 auto;
}
.cc-page .cc-approved-portrait img {
    display: block;
    width: 100%;
    height: auto;
}
.cc-page .cc-home-about-grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    gap: clamp(64px, 9vw, 128px);
    align-items: center;
}
.cc-page .cc-home-about-grid > div + div {
    padding-left: clamp(44px, 6vw, 82px);
    border-left: 1px solid var(--cc-line);
}
.cc-page .cc-home-about-grid h2 { max-width: 570px; }
.cc-page .cc-home-about-grid h3 { max-width: 590px; margin-bottom: 28px; }
.cc-page .cc-home-about-copy p { max-width: 560px; }

.cc-page .cc-about-intro-grid {
    display: grid;
    grid-template-columns: minmax(380px, .82fr) minmax(0, 1fr);
    gap: clamp(68px, 9vw, 130px);
    align-items: center;
}
.cc-page .cc-personal-photo {
    position: relative;
    width: min(100%, 520px);
    margin: 0 auto;
}
.cc-page .cc-personal-photo::before {
    position: absolute;
    inset: 20px 18px -20px -20px;
    border: 1px solid rgba(109, 120, 100, .55);
    border-radius: 28px;
    content: "";
}
.cc-page .cc-personal-photo img {
    position: relative;
    display: block;
    width: 100%;
    border-radius: 28px;
    box-shadow: 0 24px 65px rgba(11, 31, 58, .12);
}
.cc-page .cc-about-intro-copy { max-width: 640px; }
.cc-page .cc-about-intro-copy .cc-lede { margin-top: 38px; }
.cc-page--about .cc-section--navy.cc-statement .cc-copy { color: var(--cc-ivory); }

.cc-page .cc-start-hero-grid,
.cc-page .cc-resources-grid,
.cc-page .cc-book-grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    gap: clamp(58px, 8vw, 112px);
    align-items: center;
}
.cc-page .cc-start-copy { max-width: 650px; }
.cc-page .cc-blended-art { margin: 0 auto; }
.cc-page .cc-blended-art img {
    display: block;
    width: 100%;
    height: auto;
}
.cc-page .cc-doorway-art { width: min(100%, 610px); }
.cc-page .cc-open-book-art { width: min(100%, 690px); }
.cc-page .cc-secure-son-art { width: min(100%, 520px); }
.cc-page .cc-resources-grid { grid-template-columns: minmax(0, .8fr) minmax(450px, 1fr); }
.cc-page .cc-book-grid { grid-template-columns: minmax(0, 1fr) minmax(380px, .72fr); }

.cc-page--podcast .cc-podcast-hero .cc-text-hero-grid {
    grid-template-columns: minmax(0, 1.55fr) minmax(300px, .65fr);
    gap: clamp(36px, 4vw, 60px);
}
.cc-page--podcast .cc-podcast-hero h1 {
    max-width: none;
    font-size: clamp(40px, 3.25vw, 48px);
    white-space: nowrap;
}

.cc-page .cc-resonance-hero-grid {
    display: grid;
    grid-template-columns: minmax(0, 1.16fr) minmax(360px, .7fr);
    gap: clamp(70px, 10vw, 150px);
    align-items: center;
}
.cc-page .cc-resonance-steps { padding-left: clamp(34px, 6vw, 82px); border-left: 1px solid var(--cc-line); }
.cc-page .cc-resonance-steps > div { padding: 26px 0; border-bottom: 1px solid var(--cc-line); }
.cc-page .cc-resonance-steps span { color: var(--cc-sage); font-size: 13px; font-weight: 700; letter-spacing: .16em; text-transform: uppercase; }
.cc-page .cc-resonance-steps h3 { margin-top: 9px; }

.cc-page .cc-live-logo {
    width: min(100%, 700px);
    margin: 0 auto;
}
.cc-page .cc-live-logo img {
    display: block;
    width: 100%;
    height: auto;
    mix-blend-mode: multiply;
    -webkit-mask-image: radial-gradient(ellipse 82% 82% at center, #000 72%, transparent 100%);
    mask-image: radial-gradient(ellipse 82% 82% at center, #000 72%, transparent 100%);
}
.cc-page--live-intentionally .cc-hero-grid { grid-template-columns: minmax(0, .74fr) minmax(500px, 1fr); }

.cc-page--speaking .cc-speaking-hero {
    background: linear-gradient(90deg, var(--cc-navy) 0 58%, var(--cc-ivory) 58% 100%);
}
.cc-page--speaking .cc-speaking-hero .cc-text-hero-grid { grid-template-columns: minmax(0, 1.1fr) minmax(350px, .62fr); }
.cc-page--speaking .cc-speaking-hero h1 { font-size: clamp(40px, 3.6vw, 52px); }
.cc-page--speaking .cc-speaking-hero .cc-text-hero-grid > div:first-child { padding-right: clamp(36px, 7vw, 100px); }
.cc-page--speaking .cc-speaking-hero .cc-text-hero-grid > div:first-child h1,
.cc-page--speaking .cc-speaking-hero .cc-text-hero-grid > div:first-child .cc-eyebrow { color: var(--cc-ivory); }
.cc-page--speaking .cc-speaking-hero .cc-text-hero-grid > div:first-child .cc-eyebrow { color: var(--cc-sand); }

.cc-page .cc-contact-hero { padding-block: clamp(70px, 8vw, 110px); }
.cc-page .cc-contact-grid {
    display: grid;
    grid-template-columns: minmax(0, .78fr) minmax(540px, 1fr);
    gap: clamp(64px, 9vw, 130px);
    align-items: start;
}
.cc-page .cc-contact-intro { padding-top: 50px; }
.cc-page .cc-contact-intro .cc-lede { margin-top: 32px; max-width: 520px; }
.cc-page .cc-contact-card { padding: clamp(36px, 5vw, 64px); background: var(--cc-ivory); }
.cc-page .cc-contact-card .cc-form { margin-top: 34px; }

.cc-page .cc-form { display: grid; gap: 22px; margin-top: 42px; }
.cc-page .cc-form-row { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 22px; }
.cc-page .cc-field label { display: block; margin-bottom: 8px; color: var(--cc-navy); font-weight: 650; }
.cc-page .cc-field input,
.cc-page .cc-field select,
.cc-page .cc-field textarea {
    width: 100%;
    padding: 14px 0;
    border: 0;
    border-bottom: 1px solid rgba(43, 47, 51, .38);
    border-radius: 0;
    background: transparent;
    color: var(--cc-ink);
    font: inherit;
}
.cc-page .cc-field textarea { min-height: 160px; resize: vertical; }
.cc-page .cc-field input:focus,
.cc-page .cc-field select:focus,
.cc-page .cc-field textarea:focus { outline: 0; border-color: var(--cc-navy); box-shadow: 0 2px 0 var(--cc-navy); }
.cc-page .cc-submit { justify-self: start; padding: 14px 27px; border: 0; border-radius: 999px; background: var(--cc-navy); color: var(--cc-ivory); font-family: inherit; font-size: 16px; font-weight: 650; cursor: pointer; }
.cc-page .cc-honeypot { position: absolute !important; left: -9999px !important; }
.cc-page .cc-status { margin-bottom: 28px; padding: 16px 18px; border-left: 3px solid var(--cc-sage); background: rgba(127, 138, 114, .12); }

@media (max-width: 900px) {
    .cc-page { font-size: 17px; }
    .cc-page .cc-hero { min-height: auto; }
    .cc-page .cc-hero-grid,
    .cc-page .cc-editorial-split { grid-template-columns: 1fr; }
    .cc-page .cc-hero-grid { gap: 64px; }
    .cc-page .cc-hero-copy { max-width: 760px; }
    .cc-page .cc-portrait-frame { width: min(78vw, 430px); }
    .cc-page .cc-photo-frame--landscape { width: min(86vw, 530px); }
    .cc-page .cc-editorial-split > h2 { position: static; max-width: 720px; }
    .cc-page .cc-grid--3 { grid-template-columns: 1fr; }
    .cc-page .cc-grid--3 .cc-card { max-width: 720px; }
    .cc-page--home .cc-home-hero .cc-hero-grid,
    .cc-page .cc-editorial-split--reverse { grid-template-columns: 1fr; }
    .cc-page .cc-home-about-grid,
    .cc-page .cc-about-intro-grid,
    .cc-page .cc-start-hero-grid,
    .cc-page .cc-resources-grid,
    .cc-page .cc-book-grid,
    .cc-page .cc-resonance-hero-grid,
    .cc-page--live-intentionally .cc-hero-grid,
    .cc-page .cc-contact-grid { grid-template-columns: 1fr; }
    .cc-page .cc-home-about-grid > div + div { padding-top: 46px; padding-left: 0; border-top: 1px solid var(--cc-line); border-left: 0; }
    .cc-page .cc-approved-portrait { width: min(88vw, 540px); }
    .cc-page .cc-personal-photo { width: min(82vw, 520px); }
    .cc-page .cc-doorway-art { width: min(86vw, 570px); }
    .cc-page .cc-open-book-art { width: min(92vw, 650px); }
    .cc-page .cc-resonance-steps { padding-left: 0; border-top: 1px solid var(--cc-line); border-left: 0; }
    .cc-page--podcast .cc-podcast-hero .cc-text-hero-grid { grid-template-columns: 1fr; }
    .cc-page--podcast .cc-podcast-hero h1 { white-space: normal; }
    .cc-page--speaking .cc-speaking-hero { background: var(--cc-navy); }
    .cc-page--speaking .cc-speaking-hero .cc-text-hero-grid { grid-template-columns: 1fr; }
    .cc-page--speaking .cc-speaking-hero .cc-text-hero-grid > div:last-child { padding: 36px; background: var(--cc-ivory); }
    .cc-page .cc-contact-intro { padding-top: 0; }
}

@media (max-width: 1199px) {
    .cc-page .cc-hero-grid,
    .cc-page .cc-editorial-split,
    .cc-page .cc-text-hero-grid,
    .cc-page--home .cc-home-hero .cc-hero-grid,
    .cc-page .cc-about-intro-grid,
    .cc-page .cc-start-hero-grid,
    .cc-page .cc-resources-grid,
    .cc-page .cc-book-grid,
    .cc-page .cc-resonance-hero-grid,
    .cc-page--live-intentionally .cc-hero-grid,
    .cc-page .cc-contact-grid,
    .cc-page--speaking .cc-speaking-hero .cc-text-hero-grid {
        grid-template-columns: 1fr;
        gap: 42px;
    }
    .cc-page--podcast .cc-podcast-hero h1 {
        max-width: 760px;
        white-space: normal;
    }
    .cc-page--podcast .cc-podcast-hero .cc-text-hero-grid > div:last-child {
        max-width: 680px;
    }
    .cc-page--speaking .cc-speaking-hero {
        background: var(--cc-navy);
    }
    .cc-page--speaking .cc-speaking-hero .cc-text-hero-grid > div:last-child {
        max-width: 720px;
        padding: 36px;
        background: var(--cc-ivory);
    }
    .cc-page .cc-contact-intro { padding-top: 0; }
}

@media (min-width: 901px) and (max-width: 1199px) {
    .cc-page .cc-grid--3 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .cc-page .cc-grid--3 > :last-child:nth-child(odd) {
        grid-column: 1 / -1;
        width: min(100%, 560px);
        margin-inline: auto;
    }
}

@media (max-width: 620px) {
    .cc-page .cc-section { padding-block: 70px; padding-inline: 22px; }
    .cc-page .cc-text-hero { min-height: auto; }
    .cc-page .cc-grid--2,
    .cc-page .cc-check-list,
    .cc-page .cc-form-row,
    .cc-page .cc-framework-list,
    .cc-page .cc-pathway-list,
    .cc-page .cc-numbered-paths { grid-template-columns: 1fr; }
    .cc-page .cc-actions { flex-direction: column; align-items: stretch; }
    .cc-page a.cc-button { width: 100%; }
    .cc-page .cc-portrait-frame::before { inset: -14px 18px 18px -14px; }
    .cc-page .cc-portrait-frame::after { right: -14px; bottom: -20px; width: 82px; height: 82px; }
    .cc-page .cc-photo-frame--landscape::before { inset: -12px 14px 14px -12px; }
    .cc-page .cc-photo-frame--landscape::after { right: -12px; bottom: -18px; width: 76px; height: 76px; }
    .cc-page--resources .cc-card,
    .cc-page--contact .cc-card { min-height: 0; }
    .cc-page .cc-framework-list article:last-child { grid-column: auto; width: 100%; }
    .cc-page .cc-framework-list article,
    .cc-page .cc-numbered-paths article { grid-template-columns: 42px 1fr; gap: 12px; }
    .cc-page .cc-link-list a { grid-template-columns: 1fr; gap: 4px; }
    .cc-page .cc-belief-list article { grid-template-columns: 1fr; gap: 12px; }
    .site-branding .custom-logo-link.cccp-custom-logo { width: min(68vw, 280px); }
    .cc-page .cc-personal-photo { width: min(88vw, 430px); }
    .cc-page .cc-contact-card { padding: 30px 22px; }
    .cc-page .cc-contact-grid { gap: 46px; }
    .cc-page--podcast .cc-podcast-hero h1 { font-size: clamp(38px, 12vw, 50px); }

    /* Keep these editorial heroes at the full available phone width. Without
       the explicit block sizing, Astra can shrink-wrap the first grid column
       until headings and eyebrow text break one character at a time. */
    .cc-page--groups .cc-text-hero-grid,
    .cc-page--work-with-me .cc-text-hero-grid {
        display: block;
        width: 100%;
    }
    .cc-page--groups .cc-text-hero-grid > div,
    .cc-page--work-with-me .cc-text-hero-grid > div {
        width: 100%;
        max-width: none;
    }
    .cc-page--groups .cc-text-hero-grid > div + div,
    .cc-page--work-with-me .cc-text-hero-grid > div + div { margin-top: 38px; }
    .cc-page--groups .cc-text-hero-grid h1,
    .cc-page--groups .cc-text-hero-grid .cc-eyebrow,
    .cc-page--work-with-me .cc-text-hero-grid h1,
    .cc-page--work-with-me .cc-text-hero-grid .cc-eyebrow {
        width: 100%;
        overflow-wrap: normal;
        word-break: normal;
    }
}
