/* Treatment and concern templates for the approved copper identity. */
.ct-page .cp-hero { isolation:isolate; }
.ct-page .cp-hero__copy { max-width:760px; }
.ct-page .cp-hero h1 { max-width:11ch; }
.ct-hero__intro { max-width:38ch; }
.ct-page .cp-hero__copy>.ct-hero__note { max-width:60ch; font-size:.72rem; line-height:1.55; margin-top:1.1rem; }
.ct-hero__return { display:inline-flex; align-items:center; gap:.7rem; min-height:44px; font-size:.82rem; }
.ct-hero__jump { display:inline-flex; align-items:center; gap:1rem; margin-top:1.4rem; min-height:44px; font-size:.8rem; text-decoration:none; border-bottom:1px solid currentColor; }
.ct-nav { display:flex; flex-wrap:wrap; justify-content:space-between; gap:.6rem 2rem; padding-block:1.15rem; border-bottom:1px solid var(--wc-rule); font-size:.76rem; }
.ct-nav nav { display:flex; flex-wrap:wrap; gap:.6rem 1.7rem; }
.ct-nav a { min-height:32px; display:inline-flex; align-items:center; gap:.6rem; text-decoration:none; }
.ct-nav a:hover { text-decoration:underline; }
.ct-nav__back { color:var(--wc-muted); }
.ct-case { background:var(--wc-cool); color:var(--wc-ink); }
.ct-case__grid { display:grid; grid-template-columns:1.55fr .85fr; align-items:center; gap:clamp(2.5rem,5vw,5rem); }
.ct-case__photos { display:grid; grid-template-columns:1fr 1fr; gap:.5rem; }
.ct-case__photos img { width:100%; aspect-ratio:6/5; object-fit:contain; }
.ct-case__photos figcaption { display:flex; justify-content:space-between; gap:.4rem; font-size:.72rem; margin-top:.65rem; }
.ct-case__photos figcaption span { font-size:.65rem; }
.ct-case h2 { font-size:clamp(3rem,4.8vw,4.7rem); margin:1.2rem 0 1.6rem; }
.ct-case dl { display:flex; flex-wrap:wrap; gap:1rem 2.5rem; margin:1.3rem 0; padding-block:1rem; border-block:1px solid var(--wc-body); }
.ct-case dt { font-size:.7rem; margin-bottom:.2rem; }
.ct-case dd { margin:0; font-size:.96rem; }
.ct-case .cp-note { color:var(--wc-ink); }
.ct-copy-grid { display:grid; grid-template-columns:.8fr 1.2fr; gap:clamp(3rem,8vw,8rem); }
.ct-copy-grid h2,.ct-section-title { font-size:clamp(3rem,4.8vw,5rem); margin:1.2rem 0 1.8rem; }
.ct-copy-grid p:not(.wc-label):not(.cp-note) { max-width:58ch; }
.ct-facts { display:grid; grid-template-columns:1fr 1fr; gap:0 2rem; margin:0; }
.ct-facts>div { padding:1.2rem 0 1.4rem; border-top:1px solid var(--wc-rule); }
.ct-facts dt { font-size:.72rem; color:var(--wc-muted); margin-bottom:.6rem; }
.ct-facts dd { margin:0; color:var(--wc-ink); font-family:"Cormorant Garamond",Georgia,serif; font-size:2rem; letter-spacing:-.025em; line-height:1.05; }
.ct-facts small { display:block; font-family:"Jost",sans-serif; font-size:.73rem; line-height:1.55; color:var(--wc-muted); letter-spacing:0; margin-top:.5rem; }
.ct-price-band { background:var(--wc-accent); color:var(--wc-paper); }
.ct-price-band h2,.ct-price-band h3 { color:inherit; }
.ct-price-band__grid { display:grid; grid-template-columns:.8fr 1.2fr; gap:clamp(3rem,7vw,7rem); }
.ct-price-band h2 { font-size:clamp(3rem,4.7vw,5rem); margin:1.2rem 0 1.7rem; }
.ct-price-band__intro>p:not(.wc-label) { max-width:40ch; font-size:.96rem; }
.ct-price-band__intro .wc-button { margin-top:1.8rem; }
.ct-price-group { border-top:1px solid rgba(247,248,246,.65); }
.ct-price-group:last-of-type { border-bottom:1px solid rgba(247,248,246,.65); }
.ct-price-group summary { display:flex; align-items:center; justify-content:space-between; gap:1rem; padding:1.3rem 0; cursor:pointer; list-style:none; font-size:1.08rem; }
.ct-price-group summary::-webkit-details-marker,.ct-faq summary::-webkit-details-marker { display:none; }
.ct-price-group summary::after,.ct-faq summary::after { content:"+"; flex-shrink:0; font-size:1.3rem; }
.ct-price-group[open] summary::after,.ct-faq[open] summary::after { content:"−"; }
.ct-prices { width:100%; border-collapse:collapse; font-size:.88rem; font-variant-numeric:tabular-nums; }
.ct-prices th,.ct-prices td { padding:.8rem 0; border-top:1px solid rgba(247,248,246,.35); }
.ct-prices th { font-weight:400; text-align:left; padding-right:1.2rem; }
.ct-prices td { text-align:right; white-space:nowrap; }
.ct-price-note { font-size:.74rem; line-height:1.6; padding:1rem 0 1.2rem; max-width:70ch; }
.ct-price-return { display:inline-flex; align-items:center; gap:1rem; margin-top:1.5rem; font-size:.81rem; }
.ct-criteria { display:grid; grid-template-columns:1fr 1fr; gap:2rem; margin-top:2rem; }
.ct-criteria>div { border-top:1px solid var(--wc-rule); padding-top:1.3rem; }
.ct-criteria h3 { font-size:1.85rem; line-height:1.05; margin-bottom:1rem; }
.ct-criteria ul { margin:0; padding-left:1.1rem; font-size:.9rem; }
.ct-criteria li { padding-left:.2rem; margin-bottom:.65rem; }
.ct-steps { margin:0; padding:0; list-style:none; }
.ct-steps li { border-top:1px solid var(--wc-rule); padding:1.3rem 0 1.6rem; }
.ct-steps h3 { font-size:1.95rem; line-height:1.07; margin-bottom:.75rem; }
.ct-steps p { font-size:.93rem; }
.ct-process { background:var(--wc-sand); color:var(--wc-ink); }
.ct-process .ct-steps li { border-color:var(--wc-body); }
.ct-faq { border-top:1px solid var(--wc-rule); }
.ct-faq:last-child { border-bottom:1px solid var(--wc-rule); }
.ct-faq summary { display:flex; align-items:center; justify-content:space-between; gap:1.5rem; cursor:pointer; list-style:none; padding:1.25rem 0; color:var(--wc-ink); }
.ct-faq>div { padding:0 2rem 1.5rem 0; font-size:.92rem; }
.ct-faq p+p { margin-top:.85rem; }
.ct-source { margin-top:1.7rem; font-size:.75rem; }
.ct-result-entry { display:grid; grid-template-columns:.65fr 1fr auto; gap:2rem; align-items:center; background:var(--wc-cool); color:var(--wc-ink); padding-block:2rem; }
.ct-result-entry h2 { font-size:clamp(1.9rem,3vw,3rem); line-height:1.03; }
.ct-result-entry>p { max-width:49ch; font-size:.84rem; }
.ct-result-entry .wc-link { white-space:nowrap; }
.ct-options { border-top:1px solid var(--wc-rule); }
.ct-option { display:grid; grid-template-columns:.6fr 1fr .45fr; gap:2rem; align-items:start; padding:2rem 0 2.3rem; border-bottom:1px solid var(--wc-rule); scroll-margin-top:2rem; }
.ct-option h3 { font-size:2.6rem; margin:.5rem 0; }
.ct-option p { font-size:.94rem; max-width:54ch; }
.ct-option__price { color:var(--wc-ink); font-size:.91rem; display:block; margin-bottom:1rem; }
.ct-option__aside .wc-link { font-size:.76rem; gap:.8rem; }
.ct-option__copy p+p { margin-top:1rem; }
.ct-choice-band { background:var(--wc-accent); color:var(--wc-paper); }
.ct-choice-band h2,.ct-choice-band h3 { color:inherit; }
.ct-choice-band .ct-options,.ct-choice-band .ct-option { border-color:rgba(247,248,246,.5); }
.ct-choice-band .ct-option__price { color:inherit; }
.ct-choice-band .wc-link { border-color:currentColor; }
.ct-choice-band .wc-label { color:inherit; }
.ct-choice-band .ct-option { grid-template-columns:.6fr 1fr auto; }
.ct-expression { display:grid; grid-template-columns:1.05fr .95fr; gap:clamp(3rem,8vw,8rem); align-items:start; }
.ct-expression h2 { font-size:clamp(3rem,5vw,5.4rem); margin:1.1rem 0 1.7rem; }
.ct-expression__points { display:grid; grid-template-columns:1fr 1fr; gap:2rem; margin-top:2.2rem; }
.ct-expression__points h3 { font-size:1.9rem; margin-bottom:.85rem; }
.ct-expression__points p { font-size:.9rem; }
.ct-expression__timing { background:var(--wc-sand); color:var(--wc-ink); padding:2.3rem; }
.ct-expression__timing dl { margin:1.4rem 0 0; }
.ct-expression__timing dl>div { padding-block:1.25rem; border-top:1px solid var(--wc-body); }
.ct-expression__timing dt { font-size:.75rem; }
.ct-expression__timing dd { margin:.65rem 0 0; font-family:"Cormorant Garamond",Georgia,serif; font-size:3rem; letter-spacing:-.03em; line-height:1; }
.ct-expression__timing .cp-note { color:var(--wc-ink); margin-top:1rem; }
.ct-care-context { padding-block:1.7rem; font-size:.89rem; }
.ct-care-context p { max-width:78ch; }
.ct-care-context a { display:inline-flex; align-items:center; gap:.5rem; margin-top:.6rem; }
@media(max-width:1000px) {
 .ct-case__grid { grid-template-columns:1.25fr .9fr; gap:2rem; }
 .ct-copy-grid,.ct-price-band__grid,.ct-expression { gap:3rem; }
 .ct-option { grid-template-columns:.55fr 1fr; }
 .ct-option__aside { grid-column:2; display:flex; flex-wrap:wrap; gap:.6rem 1.7rem; align-items:center; }
 .ct-option__price { margin:0; }
 .ct-result-entry { grid-template-columns:1fr 1.4fr; }
 .ct-result-entry .wc-link { grid-column:2; justify-self:start; }
 .ct-choice-band .ct-option { grid-template-columns:.6fr 1fr; }
}
@media(max-width:760px) {
 .ct-page .cp-hero h1 { max-width:12ch; }
 .ct-hero__note { font-size:.72rem; }
 .ct-nav { gap:.65rem; padding-block:1rem; }
 .ct-nav__back { display:none!important; }
 .ct-nav nav { gap:.25rem 1.2rem; }
 .ct-case__grid,.ct-copy-grid,.ct-price-band__grid,.ct-expression { grid-template-columns:1fr; gap:2.3rem; }
 .ct-case h2 { font-size:3rem; }
 .ct-case__photos figcaption { flex-direction:column; gap:.1rem; }
 .ct-case dl { margin:1.1rem 0; }
 .ct-copy-grid h2,.ct-section-title,.ct-price-band h2 { font-size:3.1rem; margin:1rem 0 1.4rem; }
 .ct-facts { column-gap:1.5rem; }
 .ct-facts dd { font-size:1.8rem; }
 .ct-price-band__intro .wc-button { margin-top:1.3rem; }
 .ct-result-entry { grid-template-columns:1fr; gap:1.1rem; padding-block:2rem; }
 .ct-result-entry .wc-link { grid-column:auto; justify-self:start; }
 .ct-result-entry>p { max-width:58ch; }
 .ct-result-entry h2 { font-size:2.5rem; }
 .ct-option,.ct-choice-band .ct-option { grid-template-columns:1fr; gap:.75rem; }
 .ct-option h3 { font-size:2.5rem; margin:.1rem 0; }
 .ct-option__aside { grid-column:auto; margin-top:.4rem; }
 .ct-expression h2 { font-size:3.1rem; }
 .ct-expression__timing { padding:1.7rem; }
 .ct-expression__timing dl { display:grid; grid-template-columns:1fr 1fr; column-gap:1.5rem; }
 .ct-expression__timing dd { font-size:2.4rem; }
}
@media(max-width:640px) {
 /* A photo and a copper editorial panel keep long clinical introductions off faces. */
 .ct-page .cp-hero { height:auto; min-height:0; max-height:none; background:var(--wc-accent); }
 .ct-page .cp-hero>figure { position:relative; inset:auto; z-index:auto; height:330px; }
 .ct-page .cp-hero>figure img { object-position:74% 38%; }
 .ct-page .cp-hero::after { display:none; }
 .ct-page .cp-hero__copy { position:relative; inset:auto; width:auto; padding:2rem var(--wc-gutter) 2.2rem; }
 .ct-page .cp-hero h1 { margin-block:1rem 1.3rem; font-size:clamp(3.3rem,14vw,4rem); }
 .ct-page .cp-hero__copy>p:not(.wc-label) { max-width:40ch; }
 .ct-page .ct-hero__jump { margin-top:1.1rem; }
}
@media(max-width:430px) {
 .ct-criteria,.ct-expression__points { grid-template-columns:1fr; gap:1.5rem; }
 .ct-prices { font-size:.82rem; }
 .ct-expression__timing dl { grid-template-columns:1fr; }
}
