/* City Choice NYC — homepage. Values from reference/design/{Main,Features,Conversion,Mobile}.dc.html */
:root {
  --cc-red: #DD4B37; --cc-red2: #E5624D; --cc-red-dk: #C0392B;
  --cc-green: #1EAD5A; --cc-green-dk: #157A3F; --cc-mint: #E7F6ED;
  --cc-ink: #2E2A29; --cc-head: #443C3A; --cc-text: #4C4C4C; --cc-muted: #7A7A7A;
  --cc-grey: #F6F6F6; --cc-grad: linear-gradient(90deg, var(--cc-red2) 0%, var(--cc-red) 100%);
  --cc-shadow: 0 0 10px 0 rgba(0,0,0,.12);
}
.cch-page { margin: 0; font-family: "Poppins", "Segoe UI", system-ui, sans-serif; color: var(--cc-text); background: #fff; font-size: 16px; }
.cch-page *, .cch-page *::before, .cch-page *::after { box-sizing: border-box; }
.cch-page h1, .cch-page h2, .cch-page h3, .cch-page h4 { margin: 0; font-family: inherit; font-weight: 600; color: var(--cc-head); }
.cch-page p, .cch-page ol, .cch-page ul, .cch-page dl, .cch-page dd { margin: 0; padding: 0; }
.cch-page a { color: inherit; text-decoration: none; }
.cch-page img { max-width: 100%; display: block; }
.cch-page button { font: inherit; }
.cch-page .cch-nav button { background: none; border: 0; color: inherit; box-shadow: none; }
.cch-page .cch-nav button:hover, .cch-page .cch-nav button:focus { background: none; color: var(--cc-red); }
.cch-page svg { flex-shrink: 0; }

.cch-wrap { width: 100%; max-width: 1240px; margin: 0 auto; }
.cch-show-sm { display: none !important; }

/* Buttons & pills */
.cch-page .cch-btn { display: inline-flex; align-items: center; justify-content: center; gap: 10px; padding: 14px 28px; border-radius: 100px; font-size: 15px; font-weight: 600; line-height: 1.3; border: 0; cursor: pointer; text-align: center; transition: filter .15s, background-color .15s; }
.cch-page .cch-btn:hover { filter: brightness(1.06); }
.cch-page .cch-btn--solid { background: var(--cc-red); color: #fff !important; padding: 19px 34px; box-shadow: 0 10px 24px -4px rgba(221,75,55,.22); }
.cch-page .cch-btn--red { background: var(--cc-red); color: #fff !important; }
.cch-page .cch-btn--grad { background: var(--cc-grad); color: #fff !important; }
.cch-page .cch-btn--outline { border: 1px solid var(--cc-red); color: var(--cc-red) !important; background: transparent; padding: 13px 24px; font-size: 14px; }
.cch-page .cch-btn--green { background: linear-gradient(90deg, var(--cc-green) 0%, var(--cc-green-dk) 100%); color: #fff !important; }
.cch-page .cch-btn--green-outline { border: 2px solid var(--cc-green); color: var(--cc-green-dk) !important; padding: 12px 26px; }
.cch-page .cch-btn--red-outline { border: 2px solid var(--cc-red); color: var(--cc-red) !important; padding: 12px 25px; }
.cch-page .cch-btn--white { background: #fff; color: var(--cc-red) !important; font-size: 16px; padding: 15px 30px; }
.cch-page .cch-btn--ghost { border: 2px solid #fff; color: #fff !important; font-size: 16px; padding: 13px 30px; }
.cch-pill { display: inline-flex; align-items: center; gap: 10px; align-self: flex-start; padding: 8px 18px; border-radius: 100px; background: #DD4B3721; color: var(--cc-red-dk); font-size: 13px; font-weight: 600; letter-spacing: .04em; }
.cch-pill--green { background: #1EAD5A29; color: var(--cc-green-dk) !important; }
.cch-pill--icon { letter-spacing: 0; font-size: 14px; padding: 10px 16px; }

/* Topbar */
.cch-topbar { background: var(--cc-grad); color: #fff; font-size: 14px; }
.cch-topbar__in { display: flex; align-items: center; justify-content: space-between; gap: 24px; padding: 11px 0; }
.cch-topbar__left { display: flex; align-items: center; gap: 28px; }
.cch-topbar a, .cch-topbar span { display: inline-flex; align-items: center; gap: 8px; color: #fff; }
.cch-topbar strong { font-weight: 500; }

/* Navbar */
.cch-page { --nav-h: 114px; }
.cch-nav { position: sticky; top: var(--wp-admin--admin-bar--height, 0px); z-index: 50; transition: background-color .2s, box-shadow .2s; }
.cch-nav.is-stuck { background: #fff; box-shadow: 0 6px 24px rgba(0,0,0,.08); }
#care-quiz, #contact, #service-area { scroll-margin-top: calc(var(--nav-h) + 16px); }
.cch-nav__in { display: flex; align-items: center; justify-content: space-between; gap: 28px; padding: 18px 0; }
.cch-nav__logo img { width: 176px; height: 78px; object-fit: contain; }
.cch-page .cch-nav .cch-nav__toggle { display: none; background: #F0F0F0; width: 46px; height: 46px; border-radius: 100px; background: #F0F0F0; border: 0; align-items: center; justify-content: center; cursor: pointer; padding: 0; }
.cch-nav__menu { display: flex; align-items: center; gap: 6px; font-size: 15px; font-weight: 500; }
.cch-nav__menu > a, .cch-nav__drop > button { padding: 9px 14px; border-radius: 100px; }
.cch-nav__menu > a:hover, .cch-nav__drop > button:hover { color: var(--cc-red); }
.cch-nav__menu > a.is-active, .cch-page .cch-nav .cch-nav__drop > button.is-active { background: #F0F0F0; color: var(--cc-head); font-weight: 600; padding: 9px 18px; }
.cch-nav__drop { position: relative; }
.cch-nav__drop > button { display: flex; align-items: center; gap: 6px; background: none; border: 0; color: inherit; font-weight: 500; cursor: pointer; }
.cch-nav__sub { display: none; position: absolute; top: 100%; left: 0; min-width: 220px; padding: 8px; border-radius: 16px; background: #fff; box-shadow: 0 10px 30px rgba(0,0,0,.12); }
.cch-nav__drop:hover .cch-nav__sub, .cch-nav__drop:focus-within .cch-nav__sub { display: block; }
.cch-nav__sub a { display: block; padding: 10px 14px; border-radius: 10px; }
.cch-nav__sub a:hover { background: var(--cc-grey); color: var(--cc-red); }
.cch-nav__cta { display: flex; align-items: center; gap: 20px; }
.cch-nav__phone { display: flex; align-items: center; gap: 9px; font-size: 15px; font-weight: 600; color: var(--cc-head) !important; }

/* Hero (desktop: absolute layout from Main.dc.html, offsets relative to the 1240 container) */
/* The nav sits outside .cch-top so it can stick page-wide; .cch-top slides up under it so the mint panel still runs behind the nav. */
.cch-top { position: relative; overflow: hidden; margin-top: calc(-1 * var(--nav-h)); padding-top: var(--nav-h); }
.cch-hero__panel { position: absolute; top: 0; right: 0; width: 41.67%; height: 100%; background: var(--cc-mint); }
.cch-hero { position: static; }
.cch-hero__in { position: relative; min-height: 546px; padding-bottom: 64px; }
.cch-hero__copy { position: relative; z-index: 5; width: 510px; padding-top: 40px; display: flex; flex-direction: column; gap: 24px; }
.cch-eyebrow { display: flex; align-items: center; gap: 10px; font-size: 14px; font-weight: 600; letter-spacing: .14em; text-transform: uppercase; color: var(--cc-head); }
.cch-hero h1 { font-size: 65px; line-height: 1.04; letter-spacing: -0.01em; font-weight: 700; color: var(--cc-ink); }
.cch-hero__copy > p { font-size: 16px; line-height: 1.75; font-weight: 300; color: var(--cc-muted); }
/* Past quiz step 1 the card takes the headline's place (as on the Florida site); the column keeps its step-1 height (care-quiz.js). */
.cch-hero__copy.ccq-started > h1, .cch-hero__copy.ccq-started > p { display: none; }
.cch-hero__btns { display: flex; flex-direction: column; align-items: flex-start; gap: 10px; }
.cch-hero__side { position: static; }
.cch-hero__rings { position: absolute; right: -170px; bottom: -110px; width: 360px; height: 360px; }
.cch-hero__img { position: absolute; left: 352px; bottom: 0; width: 712px; height: 475px; object-fit: contain; z-index: 1; }
.cch-hero__blurb { position: absolute; left: 868px; top: 54px; width: 296px; display: flex; flex-direction: column; gap: 20px; z-index: 3; }
.cch-hero__blurb p { font-size: 16px; line-height: 1.9; color: var(--cc-text); }
.cch-hero__badge { width: 46px; height: 46px; border-radius: 12px; background: var(--cc-red); display: flex; align-items: center; justify-content: center; }
.cch-hero__rating { position: absolute; right: -28px; bottom: 78px; z-index: 4; }

.cch-rating { display: inline-flex; flex-direction: column; gap: 6px; padding: 12px 18px; border-radius: 16px; background: #fff; border: 1px solid #EAEAEA; box-shadow: 0 10px 30px rgba(0,0,0,.10); }
.cch-rating__row { display: flex; align-items: center; gap: 10px; }
.cch-rating b { font-size: 20px; font-weight: 700; color: var(--cc-ink); line-height: 1; }
.cch-rating > span { font-size: 12px; font-weight: 500; color: var(--cc-muted); }
.cch-stars { position: relative; display: inline-block; color: #DCDCDC; font-size: 14px; letter-spacing: 2px; line-height: 1; }
.cch-stars::before { content: "★★★★★"; }
.cch-stars::after { content: "★★★★★"; position: absolute; left: 0; top: 0; width: var(--pct, 100%); overflow: hidden; white-space: nowrap; color: #F2B31A; }
a.cch-rating { color: inherit; transition: box-shadow .15s; }
a.cch-rating:hover { box-shadow: 0 14px 34px rgba(0,0,0,.16); }
.cch-rating--big { padding: 16px 22px; }
.cch-rating--big b { font-size: 26px; }
.cch-rating--big .cch-stars { font-size: 17px; }
.cch-rating--big > span { font-size: 14px; }

/* Sections */
.cch-sec { padding: 66px 0; }
.cch-sec--grey { background: var(--cc-grey); }
.cch-page h2 { font-size: 36px; line-height: 1.2; }
.cch-head { display: flex; align-items: flex-end; justify-content: space-between; gap: 30px; margin-bottom: 26px; }
.cch-head > div:first-child { display: flex; flex-direction: column; gap: 12px; }
.cch-head p { font-size: 17px; line-height: 1.7; font-weight: 300; color: var(--cc-muted); max-width: 780px; text-wrap: pretty; }
.cch-head__btns { display: flex; align-items: center; gap: 12px; }
.cch-head--center { flex-direction: column; align-items: center; text-align: center; gap: 12px; margin-bottom: 30px; }
.cch-head--center .cch-pill { align-self: center; }
.cch-head--center h2 { font-size: 38px; max-width: 820px; text-wrap: pretty; }

/* Services */
.cch-cards { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 29px; }
.cch-card { display: flex; flex-direction: column; min-height: 440px; border-radius: 20px; background: #fff; box-shadow: var(--cc-shadow); overflow: hidden; }
.cch-card img { width: 100%; height: 158px; object-fit: cover; }
.cch-card__body { display: flex; flex-direction: column; gap: 12px; padding: 20px; flex-grow: 1; }
.cch-card h3 { font-size: 19px; }
.cch-card p { font-size: 14px; line-height: 1.7; font-weight: 300; color: var(--cc-muted); flex-grow: 1; }
.cch-card .cch-btn { padding: 12px 16px; font-size: 14px; }

/* Care that meets you */
.cch-reasons { padding: 80px 0; }
.cch-reasons__in { display: grid; grid-template-columns: 5fr 7fr; gap: 40px; align-items: start; }
.cch-reasons__lead { display: flex; flex-direction: column; gap: 24px; padding: 44px 38px; border-radius: 20px; background: linear-gradient(137deg, var(--cc-red2) 0%, var(--cc-red) 71.4%); box-shadow: 0 0 10px rgba(0,0,0,.23); }
.cch-reasons__lead h2 { font-size: 38px; line-height: 1.15; font-weight: 700; color: #fff; text-wrap: pretty; }
.cch-reasons__lead img { width: 100%; height: 190px; object-fit: cover; border-radius: 20px; }
.cch-reasons__lead .cch-btn { align-self: flex-start; }
.cch-reasons__list { list-style: none; display: flex; flex-direction: column; gap: 14px; }
.cch-reasons__list li { display: grid; grid-template-columns: 52px minmax(0, 1fr); gap: 20px; padding: 22px 26px; border-radius: 20px; background: #fff; box-shadow: var(--cc-shadow); }
.cch-reasons__num { font-size: 20px; font-weight: 700; color: var(--cc-red); line-height: 1.4; }
.cch-reasons__num.is-green { color: var(--cc-green-dk); }
.cch-reasons__list h3 { font-size: 20px; margin-bottom: 8px; }
.cch-reasons__list p { font-size: 15px; line-height: 1.8; font-weight: 300; color: var(--cc-muted); }

/* Team behind the care */
.cch-team { padding-top: 84px; }
.cch-team > .cch-wrap { display: flex; flex-direction: column; gap: 14px; }
.cch-team h2 { font-size: 40px; }
.cch-team__stage { position: relative; height: 446px; margin: -14px 0 60px; }
.cch-team__curve { position: absolute; left: 0; top: 110px; width: 1240px; height: 300px; }
.cch-team__num, .cch-team__icon, .cch-team__text { position: absolute; left: var(--x); top: var(--y); }
.cch-team__text, .cch-team__icon { z-index: 1; }
.cch-team__num { font-size: 104px; line-height: 1; font-weight: 700; color: #F1EEED; }
.cch-team__icon { width: 60px; height: 60px; border-radius: 18px; background: #fff; box-shadow: 0 8px 22px rgba(0,0,0,.12); display: flex; align-items: center; justify-content: center; }
.cch-team__text { width: 256px; display: flex; flex-direction: column; gap: 8px; }
.cch-team__text h3 { font-size: 20px; }
.cch-team__text p { font-size: 14px; line-height: 1.75; font-weight: 300; color: var(--cc-muted); }

/* What sets us apart */
.cch-apart { background: var(--cc-grey); padding: 12px 0 92px; }
.cch-apart__arc { position: relative; height: 272px; }
.cch-apart__lines { position: absolute; left: 0; top: 0; width: 1240px; height: 300px; }
.cch-boroughs { list-style: none; }
.cch-boroughs li { position: absolute; left: var(--x); top: var(--y); transform: translate(-50%, -50%); display: flex; align-items: center; gap: 7px; padding: 9px 16px; border-radius: 100px; background: #fff; box-shadow: 0 6px 20px rgba(0,0,0,.10); font-size: 13px; font-weight: 600; color: var(--cc-head); white-space: nowrap; }
.cch-boroughs li a { display: flex; align-items: center; gap: 7px; }
.cch-boroughs li:hover { box-shadow: 0 8px 24px rgba(0,0,0,.16); }
.cch-apart__in { display: flex; flex-direction: column; align-items: center; gap: 22px; text-align: center; }
.cch-apart__in .cch-pill { align-self: center; }
.cch-apart h2 { font-size: 42px; max-width: 700px; text-wrap: pretty; }
.cch-stats { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 26px; width: 100%; padding-top: 14px; }
.cch-stats > div { display: flex; flex-direction: column-reverse; justify-content: flex-end; gap: 8px; align-items: center; }
.cch-stats dd { font-size: 42px; line-height: 1; font-weight: 700; color: var(--cc-head); }
.cch-stats dt { font-size: 13px; line-height: 1.6; color: var(--cc-muted); }
.cch-apart__cards { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 24px; width: 100%; padding-top: 34px; text-align: left; }
.cch-apart__card { display: flex; flex-direction: column; gap: 10px; padding: 26px 24px; border-radius: 20px; background: #fff; box-shadow: 0 8px 26px rgba(0,0,0,.10); }
.cch-apart__card > div { display: flex; flex-direction: column; gap: 10px; }
.cch-apart__card h3 { font-size: 18px; }
.cch-apart__card p { font-size: 14px; line-height: 1.75; font-weight: 300; color: var(--cc-muted); }

/* Testimonials: 3 + 2, second row centred */
.cch-reviews { padding: 60px 0; }
.cch-reviews h2 { font-size: 32px; }
.cch-reviews .cch-head { align-items: flex-end; margin-bottom: 24px; }
.cch-reviews .cch-head p { font-size: 16px; }
.cch-reviews__grid { display: flex; flex-wrap: wrap; justify-content: center; gap: 22px; }
.cch-review { flex: 0 0 calc((100% - 44px) / 3); margin: 0; display: flex; flex-direction: column; justify-content: center; gap: 12px; padding: 24px 26px; border-radius: 20px; background: #fff; box-shadow: var(--cc-shadow); }
.cch-review .cch-stars { font-size: 15px; align-self: flex-start; }
.cch-page .cch-review blockquote { margin: 0; padding: 0; border: 0; font-size: 15px; line-height: 1.7; font-weight: 300; font-style: normal; color: var(--cc-muted); quotes: none; }
.cch-page .cch-review figcaption { font-style: normal; display: flex; align-items: center; gap: 10px; padding-top: 4px; }
.cch-review figcaption img { width: 34px; height: 34px; border-radius: 50%; object-fit: cover; }
.cch-review figcaption span { display: flex; flex-direction: column; font-size: 12px; color: var(--cc-muted); }
.cch-review figcaption b { font-size: 14px; font-weight: 600; color: var(--cc-head); }

/* Service area */
.cch-area { padding: 78px 0; }
.cch-area__grid { display: grid; grid-template-columns: minmax(0, 816fr) minmax(0, 400fr); gap: 24px; }
.cch-area__map { width: 100%; height: 100%; min-height: 297px; border: 0; border-radius: 20px; background: #eef0ee; }
.cch-area__office { display: flex; flex-direction: column; gap: 14px; padding: 30px 28px; border-radius: 20px; background: var(--cc-grey); font-size: 16px; font-weight: 500; }
.cch-area__office h3 { font-size: 22px; }
.cch-area__office p { line-height: 1.8; font-weight: 300; color: var(--cc-muted); }
.cch-area__office .cch-btn { margin-top: auto; padding: 15px 30px; font-size: 16px; }
.cch-red { color: var(--cc-red) !important; }

/* CTA band */
.cch-cta { background: var(--cc-grad); }
.cch-cta__in { display: flex; align-items: center; justify-content: space-between; gap: 48px; padding: 58px 0; }
.cch-cta__in > div:first-child { display: flex; flex-direction: column; gap: 12px; max-width: 640px; }
.cch-cta h2 { font-size: 40px; line-height: 1.15; color: #fff; }
.cch-cta p { font-size: 17px; line-height: 1.7; font-weight: 300; color: #ffe8e4; }
.cch-cta__btns { display: flex; flex-direction: column; gap: 12px; width: 300px; flex-shrink: 0; }
.cch-cta__btns .cch-btn { font-size: 17px; }
.cch-cta__btns .cch-btn--white { box-shadow: 0 4px 14px rgba(0,0,0,.18); }

/* Blog */
.cch-blog { padding: 76px 0; }
.cch-blog h2 { font-size: 34px; }
.cch-blog__grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; }
.cch-blog__card { display: flex; flex-direction: column; gap: 14px; padding: 20px; border-radius: 20px; background: #fff; box-shadow: var(--cc-shadow); transition: transform .15s; }
.cch-blog__card:hover { transform: translateY(-2px); }
.cch-blog__card img, .cch-blog__ph { width: 100%; height: 160px; object-fit: cover; border-radius: 20px; }
.cch-blog__ph { display: flex; align-items: center; justify-content: center; background: #e6e6e6; }
.cch-blog__card h3 { font-size: 17px; line-height: 1.4; }
.cch-blog__card:hover h3 { color: var(--cc-red); }
.cch-blog__card p { font-size: 14px; line-height: 1.7; font-weight: 300; color: var(--cc-muted); }

/* Still have questions */
.cch-talk { padding: 72px 0 60px; text-align: center; }
.cch-talk .cch-wrap { display: flex; flex-direction: column; align-items: center; gap: 20px; }
.cch-talk h2 { font-size: 34px; font-weight: 500; }
.cch-talk p { font-size: 17px; line-height: 1.7; font-weight: 300; color: var(--cc-muted); max-width: 620px; }
.cch-talk__row { display: flex; align-items: center; gap: 30px; padding-top: 6px; }
.cch-talk__row a { display: flex; align-items: center; gap: 10px; font-size: 18px; font-weight: 600; color: var(--cc-red) !important; }
.cch-talk__row span { width: 1px; height: 26px; background: #e6e6e6; }

/* Contact */
.cch-contact { padding: 64px 0; }
.cch-contact__in { display: grid; grid-template-columns: 480px minmax(0, 1fr); gap: 48px; align-items: start; }
.cch-contact__intro { display: flex; flex-direction: column; gap: 14px; }
.cch-contact h2 { font-size: 30px; }
.cch-contact__intro p { font-size: 16px; line-height: 1.8; font-weight: 300; color: var(--cc-muted); max-width: 440px; }
.cch-form { display: flex; flex-direction: column; gap: 14px; padding: 34px 32px; border-radius: 20px; background: #fff; box-shadow: 0 0 10px rgba(0,0,0,.23); }
.cch-form__row { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
.cch-form label { display: flex; flex-direction: column; gap: 6px; font-size: 13px; font-weight: 600; color: var(--cc-text); }
.cch-form label b { color: var(--cc-red); font-weight: 600; margin-left: 2px; }
.cch-page .cch-form input, .cch-page .cch-form select { height: 48px; border-radius: 100px; border: 1px solid #CDCBCC; background: #fff; padding: 0 20px; font: 300 15px/1 "Poppins", system-ui, sans-serif; color: var(--cc-text); width: 100%; }
.cch-form input::placeholder { color: #B7B7B7; }
.cch-page .cch-form select { appearance: none; -webkit-appearance: none; color: var(--cc-muted); padding-right: 48px; cursor: pointer; background: #fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%237A7A7A' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E") no-repeat right 20px center; }
.cch-page .cch-form input:focus, .cch-page .cch-form select:focus { outline: 2px solid var(--cc-red); outline-offset: 1px; }
.cch-page .cch-form button { padding: 15px 30px; font-size: 17px; box-shadow: 0 6px 18px rgba(0,0,0,.2); }
.cch-form__note { font-size: 12px; line-height: 1.7; font-weight: 300; color: #B7B7B7; text-align: center; }
.cch-form__msg { padding: 12px 18px; border-radius: 14px; background: #DD4B3715; color: var(--cc-red-dk); font-size: 14px; }
.cch-form__msg.is-ok { background: #1EAD5A1F; color: var(--cc-green-dk); }
.cch-form__hp { position: absolute; left: -9999px; }

/* Footer */
.cch-footer { background: var(--cc-head); color: #fff; padding: 62px 0 30px; }
.cch-footer__grid { display: grid; grid-template-columns: 380px repeat(3, minmax(0, 1fr)); gap: 34px; padding-bottom: 34px; border-bottom: 1px solid #5C5C5C; }
.cch-footer__grid > div { display: flex; flex-direction: column; gap: 10px; font-size: 14px; font-weight: 300; color: #d6d6d6; }
.cch-footer__grid a:hover { color: #fff; }
.cch-footer h4 { font-size: 16px; color: #fff; margin-bottom: 4px; }
.cch-footer__brand img { width: 180px; height: 80px; object-fit: contain; margin-bottom: 6px; }
.cch-footer__brand p { line-height: 1.9; }
.cch-footer__brand a { font-weight: 500; color: #fff; }
.cch-footer .cch-footer__mail { color: #7fd8a1; }
.cch-footer__bottom { padding-top: 30px; font-size: 13px; font-weight: 300; color: #d6d6d6; }

/* ≤1279: the 1240-px absolute layouts no longer fit — switch to flow layouts */
@media (max-width: 1279px) {
  .cch-wrap { padding-left: 32px; padding-right: 32px; }
  .cch-hero__in { min-height: 0; display: grid; grid-template-columns: 1fr 1fr; gap: 32px; padding-bottom: 48px; }
  .cch-hero__copy { width: auto; padding-top: 40px; }
  .cch-hero h1 { font-size: 46px; }
  .cch-hero__side { position: relative; display: flex; flex-direction: column; justify-content: flex-end; gap: 20px; }
  .cch-hero__img, .cch-hero__blurb, .cch-hero__rating { position: relative; left: auto; top: auto; right: auto; bottom: auto; width: auto; }
  .cch-hero__img { height: auto; }
  .cch-hero__rating { position: absolute; left: 0; bottom: 0; }
  .cch-hero__rings { right: -100px; bottom: -60px; }
  .cch-team__stage { height: auto; margin: 24px 0 64px; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 32px; }
  .cch-team__curve, .cch-apart__lines { display: none; }
  .cch-team__step { position: relative; isolation: isolate; display: grid; grid-template-columns: 60px 1fr; gap: 18px; align-items: start; }
  .cch-team__num { position: absolute; right: 0; top: -14px; left: auto; font-size: 80px; z-index: -1; }
  .cch-team__icon, .cch-team__text { position: static; width: auto; }
  .cch-apart { padding-top: 48px; }
  .cch-apart__arc { height: auto; margin-bottom: 40px; }
  .cch-boroughs { display: flex; flex-wrap: wrap; justify-content: center; gap: 10px; }
  .cch-boroughs li { position: static; transform: none; }
  .cch-cards { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .cch-apart__cards { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .cch-review { flex-basis: calc((100% - 22px) / 2); }
  .cch-nav__menu > a, .cch-nav__drop > button { padding: 9px 10px; }
  .cch-nav__phone { display: none; }
}

@media (max-width: 960px) {
  .cch-topbar__in { justify-content: center; padding-top: 10px; padding-bottom: 10px; font-size: 13px; }
  .cch-topbar__left { gap: 10px; }
  .cch-hide-sm { display: none !important; }
  .cch-show-sm { display: inline-flex !important; }
  .cch-page { --nav-h: 0px; }
  .cch-nav { box-shadow: 0 1px 0 rgba(0,0,0,.07); background: #fff; }
  .cch-nav.is-open .cch-nav__in { max-height: calc(100vh - 40px); overflow-y: auto; }
  #care-quiz, #contact, #service-area { scroll-margin-top: 100px; }
  .cch-nav__in { padding-top: 12px; padding-bottom: 12px; flex-wrap: wrap; }
  .cch-nav__logo img { width: 150px; height: 66px; }
  .cch-page .cch-nav .cch-nav__toggle { display: inline-flex; }
  .cch-nav__menu, .cch-nav__cta { display: none; width: 100%; }
  .cch-nav.is-open .cch-nav__menu { display: flex; flex-direction: column; align-items: stretch; gap: 2px; padding-bottom: 8px; }
  .cch-nav.is-open .cch-nav__cta { display: flex; padding-bottom: 16px; }
  .cch-nav.is-open .cch-nav__cta .cch-btn { flex: 1; }
  .cch-nav__drop > button { width: 100%; justify-content: space-between; }
  .cch-nav__sub { display: block; position: static; box-shadow: none; padding: 0 0 0 14px; }
  .cch-hero__panel { display: none; }
  .cch-hero__in { display: block; padding-top: 0; padding-bottom: 0; }
  .cch-hero__copy { padding: 30px 0; gap: 18px; }
  .cch-hero__copy > p { max-width: none; }
  .cch-eyebrow { font-size: 12px; letter-spacing: .12em; }
  .cch-hero h1 { font-size: 36px; line-height: 1.1; letter-spacing: 0; text-wrap: pretty; }
  .cch-hero__btns { align-items: stretch; }
  .cch-hero__btns .cch-btn { padding: 17px 24px; font-size: 16px; }
  .cch-hero__side { background: var(--cc-mint); margin: 0 -20px; padding: 26px 20px 0; overflow: hidden; display: block; }
  .cch-hero__rings { width: 200px; height: 200px; right: -56px; top: -46px; bottom: auto; }
  .cch-hero__blurb { gap: 14px; }
  .cch-hero__blurb p { font-size: 15px; line-height: 1.85; }
  .cch-hero__badge { width: 42px; height: 42px; }
  .cch-hero__img { width: 372px; max-width: none; height: 248px; margin: 10px -34px 0 auto; }
  .cch-hero__rating { bottom: 16px; left: 20px; }
  .cch-rating--big { padding: 12px 18px; }
  .cch-rating--big b { font-size: 20px; }
  .cch-rating--big .cch-stars { font-size: 14px; }
  .cch-rating--big > span { font-size: 12px; }
  .cch-hero__rating .cch-rating__row svg { width: 22px; height: 22px; }

  .cch-sec, .cch-reasons, .cch-area, .cch-blog, .cch-contact { padding: 34px 0; }
  .cch-page h2, .cch-head--center h2, .cch-apart h2, .cch-team h2, .cch-blog h2 { font-size: 26px; line-height: 1.25; }
  .cch-pill { font-size: 11px; padding: 8px 16px; }
  .cch-head { flex-direction: column; align-items: stretch; gap: 16px; margin-bottom: 16px; }
  .cch-services .cch-head > div:first-child { align-items: center; text-align: center; }
  .cch-services .cch-pill { align-self: center; }
  .cch-head__btns .cch-btn { flex: 1; padding: 15px 24px; }
  .cch-head p { font-size: 15px; }
  .cch-swipe { justify-content: center; align-items: center; gap: 8px; width: 100%; font-size: 12px; font-weight: 500; color: #B7B7B7; margin-bottom: 12px; }
  .cch-cards { display: flex; gap: 14px; overflow-x: auto; scroll-snap-type: x mandatory; margin: 0 -20px; padding: 4px 20px 10px; -webkit-overflow-scrolling: touch; }
  .cch-card { flex: 0 0 266px; scroll-snap-align: start; box-shadow: 0 0 10px rgba(0,0,0,.14); }
  .cch-card img { height: 150px; }
  .cch-card__body { padding: 18px; gap: 10px; }
  .cch-card h3 { font-size: 18px; }
  .cch-card p { font-size: 13px; }

  .cch-reasons__in, .cch-contact__in, .cch-area__grid { grid-template-columns: 1fr; gap: 20px; }
  .cch-reasons__lead { padding: 30px 24px; }
  .cch-reasons__lead h2 { font-size: 28px; }
  .cch-reasons__list li { grid-template-columns: 40px 1fr; gap: 12px; padding: 18px 20px; }
  .cch-reasons__list h3 { font-size: 17px; }
  .cch-reasons__list p { font-size: 14px; }

  .cch-team { padding-top: 34px; }
  .cch-team__stage { grid-template-columns: 1fr; gap: 24px; margin: 12px 0 34px; }

  .cch-apart { padding: 34px 0; }
  .cch-apart__arc { margin-bottom: 24px; }
  .cch-boroughs li { padding: 7px 12px; font-size: 12px; }
  .cch-apart__in { gap: 20px; }
  .cch-stats { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 22px; padding-top: 6px; }
  .cch-stats > div:last-child { grid-column: 1 / -1; }
  .cch-stats dd { font-size: 30px; }
  .cch-stats dt { font-size: 12px; }
  .cch-apart__cards { grid-template-columns: 1fr; gap: 14px; padding-top: 0; }
  .cch-apart__card { display: grid; grid-template-columns: 30px 1fr; gap: 14px; padding: 18px 20px; box-shadow: 0 6px 20px rgba(0,0,0,.10); }
  .cch-apart__card svg { width: 24px; height: 24px; }
  .cch-apart__card > div { gap: 6px; }
  .cch-apart__card h3 { font-size: 16px; }
  .cch-apart__card p { font-size: 13px; line-height: 1.7; }

  .cch-area__map { height: 280px; }
  .cch-area__office { padding: 24px; }

  .cch-cta__in { flex-direction: column; align-items: stretch; gap: 16px; padding-top: 34px; padding-bottom: 34px; }
  .cch-cta h2 { font-size: 28px; }
  .cch-cta p { font-size: 15px; }
  .cch-cta__btns { width: auto; }
  .cch-cta__btns .cch-btn { font-size: 16px; }

  .cch-blog__grid { grid-template-columns: 1fr; }
  .cch-reviews { padding: 34px 0; }
  .cch-reviews .cch-head { align-items: flex-start; }
  .cch-review { flex-basis: 100%; padding: 20px 22px; }
  .cch-contact h2 { font-size: 24px; }
  .cch-form { padding: 0; background: none; box-shadow: none; gap: 12px; }
  .cch-form__row { grid-template-columns: 1fr; gap: 12px; }
  .cch-form button { font-size: 16px; box-shadow: none; }

  .cch-footer { padding: 34px 0 26px; }
  .cch-footer__grid { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; padding-bottom: 18px; }
  .cch-footer__brand { grid-column: 1 / -1; }
  .cch-footer__grid > div { font-size: 13px; gap: 8px; }
  .cch-footer h4 { font-size: 14px; }
  .cch-footer__brand img { width: 160px; height: 71px; }
  .cch-footer__bottom { padding-top: 18px; font-size: 12px; }
}

@media (max-width: 600px) {
  .cch-wrap { padding-left: 20px; padding-right: 20px; }
}
@media (min-width: 601px) and (max-width: 960px) {
  .cch-hero__side, .cch-cards { margin-left: -32px; margin-right: -32px; padding-left: 32px; padding-right: 32px; }
}
