html { scroll-behavior: smooth; }
section[id], [id].cc-section { scroll-margin-top: 24px; } .cc-section {
padding-block: clamp(4rem, 8vw, 7rem);
padding-inline: 2rem;
}
.cc-section--hero { padding-top: 3rem; padding-bottom: clamp(3rem, 6vw, 5.5rem); }
.cc-section--tight { padding-block: 3rem; }
.cc-eyebrow {
font-size: 0.8125rem;
font-weight: 600;
letter-spacing: 0.16em;
text-transform: uppercase;
color: var(--wp--preset--color--accent);
margin: 0;
}
.cc-eyebrow--sm { letter-spacing: 0.14em; }
.cc-accent-text, .cc-hero h1 em, .cc-cta h2 em { color: var(--wp--preset--color--accent); font-weight: 400; }
.cc-lede { font-size: 1.25rem; max-width: 520px; } .cc-header { max-width: 1280px; margin-inline: auto; padding: 1.75rem 2rem; }
.cc-header .wp-block-navigation { font-size: 0.9375rem; font-weight: 500; gap: 0.5rem 2rem; }
.cc-name-lockup {
font-family: var(--wp--preset--font-family--jost);
font-size: 1.25rem;
font-weight: 300;
letter-spacing: 0.2em;
text-transform: uppercase;
padding-left: 0.2em; text-align: center;
margin: 0;
}
.cc-header .wp-block-button__link:hover { background: var(--wp--preset--color--plum-soft); opacity: 1; } a:hover { opacity: 0.75; }
.wp-block-button__link:hover { opacity: 0.9; }
.cc-btn-plum .wp-block-button__link { background: var(--wp--preset--color--contrast); }
.is-style-outline > .wp-block-button__link {
background: transparent;
color: var(--wp--preset--color--contrast);
border: 2px solid var(--wp--preset--color--contrast);
}
.is-style-cc-underline > .wp-block-button__link {
background: transparent;
color: var(--wp--preset--color--contrast);
border-radius: 0;
border-bottom: 2px solid var(--wp--preset--color--contrast);
padding: 1rem 0.5rem;
}
.cc-btn-lg .wp-block-button__link {
font-size: 1.1875rem;
padding: 1.375rem 2.75rem;
box-shadow: 0 12px 28px rgba(166, 77, 100, 0.28);
} .wp-block-image.is-style-arch img {
border-radius: 220px 220px 24px 24px;
width: 100%;
aspect-ratio: 640 / 740;
max-height: 640px;
object-fit: cover;
object-position: 50% 30%;
}
.wp-block-image.is-style-arch { background: var(--wp--preset--color--blush-deep); border-radius: 220px 220px 24px 24px; }
.is-bw img { filter: grayscale(1) contrast(1.05); } .wp-block-image img:not([src]) { display: none; }
.cc-card-photo { margin: 0; background: var(--wp--preset--color--blush-deep); border-radius: 16px; min-height: 260px; overflow: hidden; }
.cc-card-photo--2 { background: #EBDDE3; }
.cc-card-photo--3 { background: #F7E3D3; }
.cc-card-photo img { width: 100%; height: 260px; object-fit: cover; display: block; }
.wp-block-image.is-style-arch.cc-portrait,
.wp-block-image.is-style-arch.cc-portrait img { border-radius: 200px 200px 24px 24px; }
.wp-block-image.is-style-arch.cc-portrait { min-height: 560px; background: var(--wp--preset--color--base); }
.wp-block-image.is-style-arch.cc-portrait img { aspect-ratio: auto; height: 560px; max-height: none; }
.wp-block-image.is-style-arch { min-height: 380px; } .cc-stat { margin: 0; font-family: var(--wp--preset--font-family--cormorant); font-size: 2.875rem; line-height: 1.1; color: var(--wp--preset--color--accent); }
.cc-stat-label { margin: 4px 0 0; font-size: 0.9375rem; color: var(--wp--preset--color--muted); } .cc-card {
background: var(--wp--preset--color--white);
border: 1px solid var(--wp--preset--color--border);
border-radius: 24px;
padding: 20px;
box-sizing: border-box;
display: flex;
flex-direction: column;
gap: 20px;
}
.wp-block-group.cc-card > *, .wp-block-group.cc-card-body > *, .wp-block-group.cc-philosophy-item > * { margin-block: 0; }
.cc-card-body { padding: 0 0.5rem 0.5rem; display: flex; flex-direction: column; gap: 12px; }
.cc-card-body h3 { margin: 0; }
.cc-card-meta { font-size: 0.9375rem; font-weight: 600; }
.cc-card-meta p { margin: 0; }
.cc-card-meta a { color: var(--wp--preset--color--accent); } .cc-philosophy-item { border-top: 2px solid var(--wp--preset--color--rule); padding-top: 1.25rem; display: flex; flex-direction: column; gap: 8px; }
.cc-philosophy-item h3 { font-size: 1.75rem; margin: 0; } .cc-reviews { color: var(--wp--preset--color--base); }
.cc-reviews h2 { color: var(--wp--preset--color--base); }
.cc-quote-card { border-radius: 24px; padding: 2rem; display: flex; flex-direction: column; justify-content: space-between; gap: 1.75rem; }
.cc-quote-card blockquote { margin: 0; padding: 0; border: 0; display: flex; flex-direction: column; justify-content: space-between; gap: 1.75rem; height: 100%; }
.cc-quote-card blockquote p {
margin: 0;
font-family: var(--wp--preset--font-family--cormorant);
font-size: 1.75rem;
line-height: 1.25;
}
.cc-quote-card cite { font-style: normal; font-size: 0.9375rem; color: var(--wp--preset--color--on-plum); }
.cc-reviews-link a { font-weight: 600; border-bottom: 2px solid var(--wp--preset--color--base); padding-bottom: 2px; } .cc-info-card { padding: 2.25rem; }
.cc-info-card p { margin: 0; }
.cc-info-card .cc-eyebrow { margin-bottom: 0.25rem; } .cc-footer { color: var(--wp--preset--color--on-plum); }
.cc-footer-rule { border-top: 1px solid var(--wp--preset--color--plum-soft); padding-top: 1.5rem; font-size: 0.875rem; }
.cc-footer-rule p { margin: 0; }
@media (max-width: 781px) {
.wp-block-image.is-style-arch img { max-height: 80vw; }
.wp-block-image.is-style-arch.cc-portrait { min-height: 380px; }
.wp-block-image.is-style-arch.cc-portrait img { height: 380px; }
} .cc-grid-3.is-layout-grid { grid-template-columns: repeat(auto-fit, minmax(min(17.5rem, 100%), 1fr)); } .cc-page-header { padding-block: clamp(3rem, 6vw, 5rem) clamp(1.5rem, 3vw, 2.5rem); }
.cc-section--flush { padding-top: 1rem; }
.cc-h3-lg { font-size: clamp(1.75rem, 3vw, 2.25rem); font-weight: 500; }
.cc-center { text-align: center; }
.cc-pullquote { font-family: var(--wp--preset--font-family--cormorant); font-size: clamp(1.5rem, 2.4vw, 1.875rem); line-height: 1.3; font-style: italic; }
.cc-quote-band { text-align: center; }
.cc-quote-band > * { max-width: 760px; margin-inline: auto; }
.cc-prose h2 { margin-bottom: 0.5rem; }
.cc-small { font-size: 0.875rem; }
.cc-grid-svc { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(21rem, 100%), 1fr)); gap: 1.5rem; margin-top: 2.5rem; }
.cc-grid-svc > * { margin-block: 0; }
.cc-service { padding: 28px; }
.cc-service h3 { font-size: 1.75rem; margin: 0; }
.cc-service ul { margin: 0; padding-left: 1.25rem; color: var(--wp--preset--color--muted); }
.cc-service .cc-card-meta { border-top: 1px solid var(--wp--preset--color--border); padding-top: 0.75rem; }
.cc-service .cc-card-meta:first-of-type { margin-top: auto; }
.cc-faq .wp-block-details { border-top: 2px solid var(--wp--preset--color--rule); padding: 1.25rem 0; margin: 0; }
.cc-faq .wp-block-details:last-of-type { border-bottom: 2px solid var(--wp--preset--color--rule); }
.cc-faq summary { font-family: var(--wp--preset--font-family--cormorant); font-size: 1.5rem; font-weight: 600; cursor: pointer; }
.cc-faq .wp-block-details p { margin-top: 0.75rem; color: var(--wp--preset--color--muted); max-width: 760px; }
.cc-hours-row { border-bottom: 1px solid var(--wp--preset--color--border); padding-block: 0.6rem; margin: 0; }
.cc-hours-row p { margin: 0; }
.cc-info-card h3 { margin: 0 0 0.5rem; }
.cc-info-card .wp-block-group { margin-block: 0; }
.cc-info-card .cc-card-meta { margin-top: 0; }
.cc-cta-band { text-align: center; }
.cc-cta-band h2 { color: var(--wp--preset--color--base); }
.cc-cta-band h2 em { color: var(--wp--preset--color--rule); font-weight: 400; }
.cc-cta-band .wp-block-buttons { justify-content: center; }
.cc-on-dark .is-style-outline > .wp-block-button__link { color: var(--wp--preset--color--base); border-color: var(--wp--preset--color--base); }  .cc-prose > p, .cc-prose > h2, .cc-page-header > p { max-width: 760px; margin-left: max(0px, calc((100% - 1216px) / 2)) !important; }
.wp-site-blocks > * + * { margin-block-start: 0; }
main > .wp-block-post-content > * { margin-block-start: 0; margin-block-end: 0; }
.cc-faq h2 { margin-bottom: 1.5rem; }
.cc-quote-band .cc-eyebrow { margin-top: 1.5rem; } .cc-header .wp-block-navigation .wp-block-navigation__submenu-container {
background: var(--wp--preset--color--white);
border: 1px solid var(--wp--preset--color--border);
border-radius: 16px;
padding: 0.5rem;
min-width: 12rem;
box-shadow: 0 12px 28px rgba(59, 42, 51, 0.12);
}
.cc-header .wp-block-navigation .wp-block-navigation__submenu-container .wp-block-navigation-item__content { padding: 0.5rem 0.875rem; border-radius: 10px; }
.cc-header .wp-block-navigation .wp-block-navigation__submenu-container .wp-block-navigation-item__content:hover { background: var(--wp--preset--color--base); opacity: 1; }
.cc-card-meta a { white-space: nowrap; } .cc-card-meta p:last-child { display: flex; align-items: center; gap: 1rem; }
.cc-card-meta a { color: var(--wp--preset--color--contrast); text-decoration: underline; text-underline-offset: 4px; text-decoration-thickness: 1px; font-weight: 500; }
.cc-card-meta a.cc-chip { background: var(--wp--preset--color--accent); color: var(--wp--preset--color--white); text-decoration: none; font-weight: 600; padding: 0.4rem 1.1rem; border-radius: 999px; }
.cc-card-meta a.cc-chip:hover { opacity: 0.85; } .cc-review-wall { column-count: 3; column-gap: 1.5rem; margin-top: 2.5rem; }
.cc-review-wall > .cc-quote-card { break-inside: avoid; margin: 0 0 1.5rem; display: block; padding: 1.75rem; }
.cc-review-wall .cc-quote-card blockquote { display: block; height: auto; }
.cc-review-wall .cc-quote-card blockquote p { font-size: 1.1875rem; line-height: 1.5; margin-bottom: 1.25rem; }
.cc-review-wall .cc-quote-card cite { display: block; font-weight: 600; line-height: 1.4; }
@media (max-width: 1000px) { .cc-review-wall { column-count: 2; } }
@media (max-width: 640px) { .cc-review-wall { column-count: 1; } } .cc-page-header { padding-block: clamp(1.5rem, 3vw, 2.5rem) clamp(1rem, 2vw, 1.5rem); }
.cc-section:has(.wp-block-columns .wp-block-image.is-style-arch:not(.cc-portrait)) {
padding-block: clamp(2rem, 4vw, 3.5rem);
}
.cc-section--flush:has(.wp-block-columns .wp-block-image.is-style-arch) { padding-top: 0.5rem; }
.wp-block-columns .wp-block-image.is-style-arch:not(.cc-portrait) { min-height: 0; }
.wp-block-columns .wp-block-image.is-style-arch:not(.cc-portrait) img { max-height: 480px; }.simple-social-icons svg[class^="social-"],
.simple-social-icons svg[class*=" social-"] {
display: inline-block;
width: 1em;
height: 1em;
stroke-width: 0;
stroke: currentColor;
fill: currentColor;
}
.simple-social-icons {
overflow: hidden;
}
.simple-social-icons ul {
margin: 0;
padding: 0;
}
.simple-social-icons ul li {
background: none !important;
border: none !important;
float: left;
list-style-type: none !important;
margin: 0 6px 12px !important;
padding: 0 !important;
}
.simple-social-icons ul li a {
border: none !important;
-moz-box-sizing: content-box;
-webkit-box-sizing: content-box;
box-sizing: content-box;
display: inline-block;
font-style: normal !important;
font-variant: normal !important;
font-weight: normal !important;
height: 1em;
line-height: 1em;
text-align: center;
text-decoration: none !important;
text-transform: none !important;
width: 1em;
}
.simple-social-icons ul.aligncenter {
text-align: center;
}
.simple-social-icons ul.aligncenter li {
display: inline-block;
float: none;
}
.simple-social-icons .screen-reader-text {
position: absolute;
width: 1px;
height: 1px;
padding: 0;
margin: -1px;
overflow: hidden;
clip: rect(0, 0, 0, 0);
border: 0;
}
svg.social-bluesky {
margin-left: -0.15em;
}