.cc-hero h1 { font-size:clamp(4.4rem,7.5vw,8rem); }
.cc-heading { display:grid; grid-template-columns:.7fr 1.4fr 1fr; align-items:end; gap:2rem; margin-bottom:3rem; }
.cc-heading .wc-label { align-self:start; padding-top:.5rem; }
.cc-heading>p:last-child { max-width:34ch; }
.cc-selected__grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:2rem; }
.cc-treatment { text-decoration:none; display:block; }
.cc-treatment figure { aspect-ratio:4/4.3; overflow:hidden; }
.cc-treatment img { width:100%; height:100%; object-fit:cover; object-position:76% center; transition:transform .6s var(--wc-ease); }
.cc-treatment:hover img { transform:scale(1.025); }
.cc-treatment>div { padding-block:1.5rem; }
.cc-treatment .wc-label { color:var(--wc-accent); }
.cc-treatment h3 { margin:.7rem 0 1.4rem; font-size:3rem; }
.cc-treatment>div>p:not(.wc-label) { font-size:.8rem; }
.cc-treatment>div>span { display:flex; align-items:center; justify-content:space-between; gap:1rem; border-top:1px solid var(--wc-rule); margin-top:1rem; padding-top:1rem; font-size:.8rem; }
.cc-selected>.cp-note { margin-top:1.5rem; }
.cc-directory { background:var(--wc-cool); color:var(--wc-ink); max-width:none; }
.cc-directory .cc-heading { max-width:1520px; margin-inline:auto; }
.cc-directory .cp-note { color:var(--wc-ink); }
.cc-search { display:grid; grid-template-columns:1fr 1.6fr; gap:.6rem 2rem; margin:0 auto 2.5rem; max-width:1520px; }
.cc-search label { align-self:center; font-size:.84rem; }
.cc-search input { width:100%; min-width:0; border:0; border-bottom:1px solid var(--wc-ink); background:transparent; padding:1rem 0; color:var(--wc-ink); }
.cc-search input::placeholder { color:var(--wc-ink); opacity:.8; }
.cc-search .cp-note { grid-column:2; }
.cc-directory__list { max-width:1520px; margin-inline:auto; border-top:1px solid var(--wc-ink); }
.cc-directory__group { border-bottom:1px solid var(--wc-ink); scroll-margin-top:1rem; }
.cc-directory__group>summary { display:grid; grid-template-columns:minmax(0,1fr) 2rem; gap:1.5rem; align-items:center; padding:1.7rem 0; list-style:none; }
.cc-directory__group>summary::-webkit-details-marker { display:none; }
.cc-directory__title { display:block; font-family:"Cormorant Garamond",Georgia,serif; font-size:clamp(2rem,3.6vw,4rem); line-height:1.02; letter-spacing:-.025em; }
.cc-directory__group small { display:block; font-size:.76rem; margin-top:.5rem; }
.cc-plus { font-size:1.7rem; text-align:right; transition:transform .25s ease; }
.cc-directory__group[open] .cc-plus { transform:rotate(45deg); }
.cc-directory__body { padding:0 0 2.3rem; }
.cc-directory__body>p { max-width:65ch; margin:0 0 2rem; }
.cc-directory__body ul { list-style:none; margin:0 0 2rem; padding:0; display:grid; grid-template-columns:1fr 1fr; gap:1.7rem 3rem; }
.cc-directory__body li { border-top:1px solid rgba(51,21,18,.32); padding-top:1rem; }
.cc-directory__body strong,.cc-directory__body li a { font-size:1.2rem; font-weight:500; }
.cc-directory__body li a { display:flex; gap:1rem; justify-content:space-between; }
.cc-directory__body li p { font-size:.84rem; margin-top:.5rem; max-width:43ch; }
.cc-aura { display:grid; grid-template-columns:1.2fr 1fr; background:var(--wc-sand); color:var(--wc-ink); }
.cc-aura>figure { min-height:550px; }
.cc-aura img { width:100%; height:100%; object-fit:cover; }
.cc-aura>div { padding:4rem var(--wc-gutter); align-self:center; }
.cc-aura h2 { margin:1.5rem 0 2rem; }
.cc-aura p:not(.wc-label) { max-width:40ch; margin-bottom:1.5rem; }
@media(max-width:900px) { .cc-heading { grid-template-columns:1fr 1.5fr; } .cc-heading>p:last-child { grid-column:2; } .cc-selected__grid { gap:1.2rem; } .cc-aura { grid-template-columns:1fr 1fr; } }
@media(max-width:640px) {
 .cc-hero h1 { font-size:clamp(3.6rem,14vw,4.7rem); }
 .cc-heading { display:block; }
 .cc-heading h2 { margin:1.5rem 0; }
 .cc-selected__grid { grid-template-columns:1fr; gap:2rem; }
 .cc-treatment figure { aspect-ratio:1.25; }
 .cc-treatment img { object-position:70% 42%; }
 .cc-treatment h3 { margin-bottom:1rem; }
 .cc-search { grid-template-columns:1fr; gap:.25rem; }
 .cc-search .cp-note { grid-column:auto; margin-top:.65rem; }
 .cc-directory__group>summary { grid-template-columns:minmax(0,1fr) 1rem; gap:.75rem; padding-block:1.4rem; }
 .cc-directory__title { font-size:2rem; }
 .cc-directory__group small { font-size:.7rem; }
 .cc-directory__body { margin-left:0; }
 .cc-directory__body ul { grid-template-columns:1fr; gap:1.3rem; }
 .cc-aura { grid-template-columns:1fr; }
 .cc-aura>figure { min-height:0; height:370px; }
 .cc-aura>div { padding-block:3rem; }
}
