/* ===== Cachet — WordPress layer (base, Elementor resets, header) ===== */
body.cb-site { font-family: "DM Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif; color: var(--ink); background: var(--bone); -webkit-font-smoothing: antialiased; }
.cb-site .cbm, .cb-site .cbm * { box-sizing: border-box; }
.cb-site .cbm p { margin-top: 0; }
.cb-site .cbm a { text-decoration: none; }
:where(.cb-site .cbm) img { max-width: 100%; height: auto; }
.cb-site .cbm-hero__media img, .cb-site .cbm-flagship__media img, .cb-site .cbm-media img, .cb-site .cbband__img, .cb-site .cbm-rw__tile img { height: 100%; }
.cb-site .cbm ul { margin: 0; }
.cb-hp { position: absolute !important; left: -9999px !important; width: 1px; height: 1px; opacity: 0; }
.cbm-visually-hidden { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }

/* Elementor wrappers around Cachet widgets add no spacing */
.cb-site .e-con.cb-row, .cb-site .e-con.cb-row > .e-con-inner { padding: 0 !important; gap: 0 !important; --padding-top: 0; --padding-bottom: 0; --padding-left: 0; --padding-right: 0; --gap: 0; max-width: none !important; }
.cb-site .elementor-widget[class*="elementor-widget-cb-"] { width: 100%; margin: 0 !important; }
.cb-site .elementor-widget[class*="elementor-widget-cb-"] > .elementor-widget-container { margin: 0; padding: 0; }
.cb-site .page-content, .cb-site .elementor-page .site-main { padding: 0; }

/* sticky header: announcement bar scrolls away, the header row stays */
.cb-site { --cb-ann: 44px; }
@media (max-width: 749px) { .cb-site { --cb-ann: 38px; } }
.cb-site .elementor-location-header { position: sticky; top: calc(-1 * var(--cb-ann)); z-index: 100; }
.admin-bar.cb-site .elementor-location-header { top: calc(32px - var(--cb-ann)); }
@media (max-width: 782px) { .admin-bar.cb-site .elementor-location-header { top: calc(46px - var(--cb-ann)); } }

/* ----- header ----- */
.cbh { position: relative; background: var(--white); font-family: var(--cbm-sans); transition: box-shadow .2s ease; }
.cbh.is-stuck { box-shadow: 0 6px 22px rgba(35,40,45,.08); }
.cbh__inner { display: flex; align-items: stretch; gap: clamp(1rem, 2.4vw, 2.5rem); min-height: 72px; }
.cbh__logo { display: flex; align-items: center; flex: none; }
.cb-site .cbh__logo img { height: 30px !important; width: auto !important; max-width: none; display: block; }
.cbh__nav { display: flex; flex: 1 1 auto; min-width: 0; }
.cbh__menu { list-style: none; margin: 0 !important; padding: 0; display: flex; align-items: stretch; gap: .15rem; }
.cbh__item { display: flex; align-items: stretch; }
.cbh__item.has-sub { position: relative; }
.cbh__link { display: inline-flex; align-items: center; gap: .3rem; padding: 0 .8rem; font-size: .9rem; font-weight: 500; color: var(--ink) !important; white-space: nowrap; transition: color .15s ease; }
.cbh__link svg { opacity: .55; transition: transform .2s ease; }
.cbh__item:hover > .cbh__link, .cbh__item.is-open > .cbh__link, .cbh__link:focus-visible { color: var(--clay) !important; }
.cbh__item.is-open > .cbh__link svg { transform: rotate(180deg); }
.cbh__sub { position: absolute; top: 100%; left: 0; min-width: 14rem; list-style: none; margin: 0; padding: .6rem; background: var(--white); border: 1px solid var(--line); border-radius: 12px; box-shadow: 0 18px 40px rgba(35,40,45,.12); opacity: 0; visibility: hidden; transform: translateY(-4px); transition: all .16s ease; z-index: 5; }
.cbh__item.has-sub:hover .cbh__sub, .cbh__item.has-sub:focus-within .cbh__sub { opacity: 1; visibility: visible; transform: none; }
.cbh__sub a { display: block; padding: .55rem .7rem; border-radius: 8px; font-size: .88rem; color: var(--ink); }
.cbh__sub a:hover { background: var(--bone); color: var(--clay); }
.cbh__tools { display: flex; align-items: center; gap: .25rem; margin-left: auto; }
.cbh__icon { display: inline-flex; align-items: center; justify-content: center; width: 42px; height: 42px; border-radius: 50%; background: transparent; border: 0; padding: 0; color: var(--ink) !important; cursor: pointer; }
.cbh__icon:hover { background: var(--bone); color: var(--clay) !important; }
.cbh__icon--phone { display: none; }
.cbh__burger { display: none; align-self: center; width: 42px; height: 42px; margin-left: -8px; border: 0; background: transparent; padding: 0; color: var(--ink); cursor: pointer; align-items: center; justify-content: center; }
.cbh-search { position: absolute; left: 0; right: 0; top: 100%; background: var(--white); border-top: 1px solid var(--line); box-shadow: 0 18px 40px rgba(35,40,45,.12); z-index: 6; }
.cbh-search[hidden] { display: none; }
.cbh-search__form { display: flex; align-items: center; gap: .75rem; padding-block: 1rem; color: var(--stone); }
.cbh-search__form input { flex: 1; border: 0 !important; outline: none; box-shadow: none !important; background: transparent !important; font: 500 1.1rem/1.4 var(--cbm-sans); color: var(--ink); padding: .4rem 0 !important; }

/* mobile drawer */
.cbh-drawer { position: fixed; inset: 0; z-index: 200; }
.cbh-drawer[hidden] { display: none; }
.cbh-drawer__scrim { position: absolute; inset: 0; background: rgba(35,40,45,.55); opacity: 0; transition: opacity .22s ease; }
.cbh-drawer__panel { position: absolute; top: 0; bottom: 0; left: 0; width: min(24rem, 88vw); background: var(--white); display: flex; flex-direction: column; transform: translateX(-100%); transition: transform .26s ease; overflow-y: auto; }
.cbh-drawer.is-open .cbh-drawer__scrim { opacity: 1; }
.cbh-drawer.is-open .cbh-drawer__panel { transform: none; }
.cbh-drawer__top { display: flex; align-items: center; justify-content: space-between; padding: 1rem 1.1rem; border-bottom: 1px solid var(--line); }
.cbh-drawer__top img { height: 24px; width: auto; }
.cbh-drawer__menu { list-style: none; margin: 0 !important; padding: .5rem 1.1rem; }
.cbh-drawer__menu > li { border-bottom: 1px solid var(--line); }
.cbh-drawer__menu a, .cbh-drawer__toggle { display: flex; width: 100%; align-items: center; justify-content: space-between; padding: 1rem .1rem; font: 500 1.05rem/1.3 var(--cbm-sans); color: var(--ink) !important; background: none; border: 0; text-align: left; cursor: pointer; }
.cbh-drawer__sub { list-style: none; margin: 0 !important; padding: 0 0 .8rem .6rem; display: none; }
.has-sub.is-open > .cbh-drawer__sub { display: block; }
.cbh-drawer__sub a { padding: .6rem .1rem; font-size: .95rem; color: var(--stone) !important; }
.cbh-drawer__foot { margin-top: auto; padding: 1.1rem; display: grid; gap: .6rem; }

@media (max-width: 989px) {
  .cbh__nav { display: none; }
  .cbh__burger { display: inline-flex; }
  .cbh__inner { min-height: 60px; gap: .5rem; }
  .cb-site .cbh__logo img { height: 24px !important; }
  .cbh__icon--phone { display: inline-flex; }
}

.cb-site .cbh-drawer__top img { height: 24px !important; width: auto !important; }
.cb-site .cbm button:not(.cbm-btn) { box-shadow: none; text-transform: none; letter-spacing: normal; }

/* theme button overrides */
.cb-site .cbm button.cbm-btn, .cb-site .cbm button.cb-btn { border-radius: 999px !important; text-transform: none !important; letter-spacing: normal; min-height: 0; line-height: 1; }
.cb-site .cbm button.cbm-btn--clay, .cb-site .cbm button.cb-btn--primary { background: #C2643C !important; border-color: #C2643C !important; color: #fff !important; }
.cb-site .cbm button.cbm-btn--clay:hover, .cb-site .cbm button.cb-btn--primary:hover { background: #A8512E !important; border-color: #A8512E !important; }
.cb-site .cbm button.cbm-btn--block { width: 100%; }

@media (max-width: 440px) { .cb-site .cbm-announce__count { display: none !important; } .cb-site .cbm .cbm-announce__cta { padding: .36rem .7rem; font-size: .74rem; } .cb-site .cbm-announce__inner { gap: .5rem; } }

/* light text on dark sections (beats theme/kit heading colours) */
.cb-site .cbl-hero__title, .cb-site .cbl-close__inner h2, .cb-site .cbband__title, .cb-site .cbm-hero__title, .cb-site .cbm-flagship .cbm-h2, .cb-site .cb-dealer-hero h1, .cb-site .cbq__aside-quote { color: #fff !important; }
.cb-site .cbl-hero__sub, .cb-site .cbl-hero__ticks li, .cb-site .cbl-close__inner p { color: rgba(255,255,255,.9) !important; }
.cb-site a.cbl-phone { color: #fff !important; }
.cb-site a.cbl-phone:hover { color: #E7B79B !important; }
.cb-site .cbl-hero__note { color: rgba(255,255,255,.72) !important; }
.cb-site .cbl-form__head h2 { color: var(--ink) !important; }

/* full-cover background photos (Elementor sets img{height:auto}) */
.cb-site .cbm .cbl-hero__bg, .cb-site .cbm .cbq__aside img, .cb-site .cbm .cbfac__video, .cb-site .cbm .cb-hero__media img, .cb-site .cbm .cbl-cat__media img, .cb-site .cbm .cbl-why__media img, .cb-site .cbm .cbl-showroom__media img, .cb-site .cbm .cbrg__media img, .cb-site .cbm .cbm-media img { height: 100% !important; }

.cb-site a.cbl-cat__quote, .cb-site a.cbl-cat__quote:hover, .cb-site .cbm a.cbm-btn--clay, .cb-site .cbm a.cbm-btn--clay:hover, .cb-site .cbm a.cb-btn--primary { color: #fff !important; }
.cb-site .cbm button.cbm-btn { padding: .95rem 1.7rem !important; height: auto !important; font-size: .92rem !important; font-weight: 500 !important; }
.cb-site .cbm button.cbm-btn--lg { padding: 1.1rem 2rem !important; font-size: 1rem !important; }
.cb-site .cbm button.cb-btn { padding: 17px 34px !important; height: auto !important; }

/* Thank-you page */
.cb-site .cbty { padding-block: clamp(3rem, 7vw, 6rem); }
.cb-site .cbty__card { max-width: 720px; margin: 0 auto; background: #fff; border-radius: 20px; padding: clamp(28px, 5vw, 56px); text-align: center; box-shadow: 0 1px 0 rgba(0,0,0,.04), 0 24px 60px -30px rgba(80,50,20,.35); }
.cb-site .cbty__ic { display: inline-flex; align-items: center; justify-content: center; width: 64px; height: 64px; border-radius: 50%; background: #C2643C; color: #fff; margin-bottom: 18px; animation: cbtyPop .5s cubic-bezier(.2,1.4,.4,1) both; }
.cb-site .cbty .cbm-eyebrow { display: block; margin-bottom: 8px; }
.cb-site .cbty__title { font-size: clamp(1.7rem, 3.6vw, 2.5rem); line-height: 1.15; letter-spacing: -.02em; margin: 0 auto 12px; max-width: 30ch; color: #231d17; }
.cb-site .cbty__lede { font-size: 1.05rem; line-height: 1.6; color: #59616B; margin: 0 auto; max-width: 52ch; }
.cb-site .cbty__steps { list-style: none; margin: 32px 0 0; padding: 0; display: grid; gap: 14px; text-align: left; }
.cb-site .cbty__steps li { display: flex; gap: 16px; align-items: flex-start; background: #f7f1e8; border-radius: 14px; padding: 16px 18px; margin: 0; }
.cb-site .cbty__n { flex: 0 0 auto; width: 32px; height: 32px; border-radius: 50%; background: #fff; color: #C2643C; font-weight: 700; display: inline-flex; align-items: center; justify-content: center; box-shadow: inset 0 0 0 1.5px #e5c9b6; }
.cb-site .cbty__steps strong { display: block; font-size: 1rem; color: #231d17; margin: 4px 0 4px; }
.cb-site .cbty__steps p { margin: 0; font-size: .95rem; line-height: 1.5; color: #59616B; }
.cb-site .cbty__ctas { display: flex; flex-wrap: wrap; justify-content: center; gap: 12px !important; margin-top: 32px !important; }
.cb-site .cbty__ctas .cbm-btn { display: inline-flex; align-items: center; gap: 8px; }
.cb-site .cbty__fine { margin: 16px 0 0 !important; font-size: .9rem; color: #7a7f86; }
@keyframes cbtyPop { from { transform: scale(.4); opacity: 0; } to { transform: none; opacity: 1; } }
@media (max-width: 749px) { .cb-site .cbty__card { border-radius: 16px; } .cb-site .cbty__ctas .cbm-btn { flex: 1 1 100%; justify-content: center; } }
/* ================= Blog ================= */
.cb-site .cbbl { padding: clamp(40px, 6vw, 80px) 0 clamp(48px, 7vw, 96px); background: #faf7f2; }
.cb-site .cbbl__head { max-width: 720px; margin: 0 0 clamp(28px, 4vw, 44px); }
.cb-site .cbbl__title { font-size: clamp(2rem, 4.4vw, 3.2rem); line-height: 1.08; letter-spacing: -.025em; color: #231d17; margin: 8px 0 14px; font-weight: 500; }
.cb-site .cbbl__sub { font-size: 1.08rem; line-height: 1.6; color: #59616B; margin: 0; max-width: 58ch; }
.cb-site .cbbl__grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: clamp(20px, 2.4vw, 32px); }
/* card */
.cb-site .cbpc { display: flex; flex-direction: column; background: #fff; border-radius: 16px; overflow: hidden; text-decoration: none; color: inherit; box-shadow: 0 1px 0 rgba(0,0,0,.04), 0 10px 30px -18px rgba(80,50,20,.35); transition: transform .25s ease, box-shadow .25s ease; }
.cb-site .cbpc:hover { transform: translateY(-3px); box-shadow: 0 1px 0 rgba(0,0,0,.04), 0 22px 44px -22px rgba(80,50,20,.45); }
.cb-site .cbpc__media { display: block; aspect-ratio: 3 / 2; overflow: hidden; background: #efe7db; }
.cb-site .cbpc__media img { width: 100% !important; height: 100% !important; object-fit: cover; display: block; transition: transform .5s ease; }
.cb-site .cbpc:hover .cbpc__media img { transform: scale(1.04); }
.cb-site .cbpc__body { display: flex; flex-direction: column; gap: 10px; padding: 20px 22px 22px; flex: 1; }
.cb-site .cbpc__meta { font-size: 12px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; color: #a9582b; }
.cb-site .cbpc__title { font-size: 1.2rem; line-height: 1.3; font-weight: 600; color: #231d17; letter-spacing: -.01em; }
.cb-site .cbpc__excerpt { font-size: .95rem; line-height: 1.55; color: #59616B; display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; }
.cb-site .cbpc__more { margin-top: auto; padding-top: 6px; display: inline-flex; align-items: center; gap: 6px; font-weight: 600; font-size: .92rem; color: #231d17; }
.cb-site .cbpc:hover .cbpc__more { color: #C2643C; }
.cb-site .cbpc--feature { flex-direction: row; margin-bottom: clamp(20px, 2.4vw, 32px); }
.cb-site .cbpc--feature .cbpc__media { flex: 0 0 56%; aspect-ratio: auto; min-height: 380px; }
.cb-site .cbpc--feature .cbpc__body { padding: clamp(24px, 3.4vw, 48px); justify-content: center; gap: 14px; }
.cb-site .cbpc--feature .cbpc__title { font-size: clamp(1.5rem, 2.6vw, 2.1rem); line-height: 1.18; font-weight: 500; }
.cb-site .cbpc--feature .cbpc__excerpt { font-size: 1.05rem; -webkit-line-clamp: 4; }
.cb-site .cbpc--feature .cbpc__more { margin-top: 8px; }
@media (max-width: 1023px) { .cb-site .cbbl__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } .cb-site .cbpc--feature { flex-direction: column; } .cb-site .cbpc--feature .cbpc__media { flex: none; min-height: 0; aspect-ratio: 16 / 10; } }
@media (max-width: 639px) { .cb-site .cbbl__grid { grid-template-columns: 1fr; } .cb-site .cbpc__body { padding: 18px; } }

/* article */
.cb-site .cbar { background: #fff; }
.cb-site .cbar__head { background: #faf7f2; padding: clamp(28px, 4vw, 56px) 0 clamp(90px, 10vw, 140px); }
.cb-site .cbar__narrow { max-width: 820px; }
.cb-site .cbar__crumbs { display: flex; gap: 8px; align-items: center; font-size: .85rem; color: #7a7f86; margin-bottom: 22px; }
.cb-site .cbar__crumbs a { color: #59616B; text-decoration: none; }
.cb-site .cbar__crumbs a:hover { color: #C2643C; }
.cb-site .cbar__title { font-size: clamp(2rem, 4.6vw, 3.3rem); line-height: 1.08; letter-spacing: -.025em; font-weight: 500; color: #231d17; margin: 10px 0 16px; text-wrap: balance; }
.cb-site .cbar__dek { font-size: clamp(1.05rem, 1.6vw, 1.22rem); line-height: 1.6; color: #59616B; margin: 0 0 22px; max-width: 62ch; }
.cb-site .cbar__meta { display: flex; flex-wrap: wrap; gap: 8px 22px; align-items: center; font-size: .9rem; color: #59616B; margin: 0; }
.cb-site .cbar__by { display: inline-flex; align-items: center; gap: 8px; font-weight: 600; color: #231d17; }
.cb-site .cbar__avatar { width: 26px; height: 26px; border-radius: 50%; background: #C2643C; color: #fff; font-size: 12px; font-weight: 700; display: inline-flex; align-items: center; justify-content: center; }
.cb-site .cbar__hero { margin: clamp(-120px, -8vw, -70px) auto 0; max-width: 1120px; border-radius: 20px; overflow: hidden; aspect-ratio: 16 / 8; box-shadow: 0 30px 60px -30px rgba(80,50,20,.45); }
.cb-site .cbar__hero img { width: 100% !important; height: 100% !important; object-fit: cover; display: block; }
.cb-site .cbar__layout { display: grid; grid-template-columns: 240px minmax(0, 720px); gap: clamp(32px, 5vw, 72px); justify-content: center; padding-top: clamp(36px, 5vw, 64px); padding-bottom: clamp(48px, 6vw, 80px); }
.cb-site .cbar__layout:not(:has(.cbar__toc)) { grid-template-columns: minmax(0, 720px); }
.cb-site .cbar__toc { position: relative; }
.cb-site .cbar__tocbox { position: sticky; top: 110px; border-left: 2px solid #eee4d6; padding-left: 18px; }
.cb-site .cbar__tocbox summary { list-style: none; font-size: 12px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; color: #a9582b; margin-bottom: 12px; cursor: default; }
.cb-site .cbar__tocbox summary::-webkit-details-marker { display: none; }
.cb-site .cbar__tocbox ol { list-style: none; margin: 0; padding: 0; display: grid; gap: 10px; }
.cb-site .cbar__tocbox a { font-size: .92rem; line-height: 1.4; color: #59616B; text-decoration: none; display: block; }
.cb-site .cbar__tocbox a:hover { color: #C2643C; }
/* prose */
.cb-site .cbar__prose { font-size: 1.08rem; line-height: 1.75; color: #33302c; }
.cb-site .cbar__prose > * { margin: 0 0 1.25em; }
.cb-site .cbar__prose h2 { font-size: clamp(1.5rem, 2.4vw, 1.9rem); line-height: 1.2; letter-spacing: -.015em; font-weight: 600; color: #231d17; margin: 2.2em 0 .7em; scroll-margin-top: 110px; }
.cb-site .cbar__prose h3 { font-size: 1.22rem; line-height: 1.3; font-weight: 600; color: #231d17; margin: 1.8em 0 .5em; }
.cb-site .cbar__prose h2 + h3 { margin-top: .8em; }
.cb-site .cbar__prose p { margin: 0 0 1.2em; }
.cb-site .cbar__prose a { color: #a9582b; text-decoration: underline; text-underline-offset: 3px; text-decoration-thickness: 1px; }
.cb-site .cbar__prose a:hover { color: #7f3f1d; }
.cb-site .cbar__prose strong { color: #231d17; font-weight: 600; }
.cb-site .cbar__prose ul, .cb-site .cbar__prose ol { padding-left: 1.3em; margin: 0 0 1.4em; }
.cb-site .cbar__prose li { margin: 0 0 .55em; padding-left: .2em; }
.cb-site .cbar__prose ul li::marker { color: #C2643C; }
.cb-site .cbar__prose ol li::marker { color: #C2643C; font-weight: 700; }
.cb-site .cbar__prose figure.wp-block-image { margin: 2em 0; }
.cb-site .cbar__prose figure.wp-block-image img { width: 100% !important; height: auto !important; border-radius: 14px; display: block; }
.cb-site .cbar__prose figcaption { font-size: .88rem; color: #7a7f86; margin-top: 10px; text-align: left; line-height: 1.5; }
.cb-site .cbar__prose .cb-takeaways { background: #faf4ec; border: 1px solid #eedfcc; border-radius: 16px; padding: 22px 26px 8px; margin: 1.8em 0 2.2em; }
.cb-site .cbar__prose .cb-takeaways > p:first-child { font-size: 12px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; color: #a9582b; margin: 0 0 12px; }
.cb-site .cbar__prose .cb-takeaways ul { margin-bottom: 1em; }
.cb-site .cbar__prose .cb-takeaways li { font-size: 1rem; }
.cb-site .cbar__prose .cb-note-box { border-left: 3px solid #C2643C; background: #fbf8f4; border-radius: 0 12px 12px 0; padding: 16px 20px 2px; margin: 1.8em 0; }
.cb-site .cbar__prose .cb-note-box p { font-size: 1rem; }
.cb-site .cbar__prose .wp-block-table { margin: 1.8em 0 2em; overflow-x: auto; -webkit-overflow-scrolling: touch; }
.cb-site .cbar__prose table { width: 100%; border-collapse: collapse; font-size: .96rem; line-height: 1.5; min-width: 520px; }
.cb-site .cbar__prose th, .cb-site .cbar__prose td { text-align: left; vertical-align: top; padding: 12px 14px; border-bottom: 1px solid #eee4d6; }
.cb-site .cbar__prose thead th { background: #231d17; color: #fff; font-weight: 600; font-size: .9rem; }
.cb-site .cbar__prose thead th:first-child { border-radius: 10px 0 0 0; } .cb-site .cbar__prose thead th:last-child { border-radius: 0 10px 0 0; }
.cb-site .cbar__prose tbody td:first-child { font-weight: 600; color: #231d17; }
.cb-site .cbar__prose tbody tr:nth-child(even) td { background: #fbf8f4; }
/* CTA */
.cb-site .cbar__cta { margin-top: 48px; background: #231d17; color: #fff; border-radius: 20px; padding: clamp(26px, 4vw, 40px); display: grid; gap: 22px; }
.cb-site .cbar__cta-title { font-size: clamp(1.4rem, 2.4vw, 1.8rem) !important; line-height: 1.2; color: #fff !important; margin: 0 0 8px !important; font-weight: 500; }
.cb-site .cbar__cta p { color: rgba(255,255,255,.8); margin: 0 !important; line-height: 1.6; }
.cb-site .cbar__cta-btns { display: flex; flex-wrap: wrap; gap: 12px !important; margin: 0 !important; }
/* related */
.cb-site .cbar__related { background: #faf7f2; padding: clamp(48px, 6vw, 88px) 0; }
.cb-site .cbar__related-head { display: flex; justify-content: space-between; align-items: flex-end; gap: 16px; margin-bottom: 28px; }
.cb-site .cbar__related-head .cbm-h2 { margin: 0; }
@media (max-width: 1023px) {
  .cb-site .cbar__layout { grid-template-columns: minmax(0, 1fr); gap: 0; }
  .cb-site .cbar__tocbox { position: static; border: 1px solid #eee4d6; border-radius: 14px; padding: 14px 18px; margin-bottom: 28px; }
  .cb-site .cbar__tocbox summary { cursor: pointer; margin: 0; display: flex; justify-content: space-between; }
  .cb-site .cbar__tocbox summary::after { content: "+"; font-size: 18px; line-height: 1; color: #231d17; }
  .cb-site .cbar__tocbox[open] summary::after { content: "\2212"; }
  .cb-site .cbar__tocbox[open] summary { margin-bottom: 12px; }
}
@media (max-width: 639px) {
  .cb-site .cbar__hero { border-radius: 14px; aspect-ratio: 4 / 3; margin-top: -64px; }
  .cb-site .cbar__head { padding-bottom: 88px; }
  .cb-site .cbar__prose { font-size: 1.02rem; line-height: 1.7; }
  .cb-site .cbar__prose .cb-takeaways { padding: 18px 18px 4px; }
  .cb-site .cbar__cta-btns .cbm-btn { flex: 1 1 100%; justify-content: center; text-align: center; }
  .cb-site .cbar__related-head { flex-direction: column; align-items: flex-start; }
}
.cb-site .cbar__hero { margin-left: auto !important; margin-right: auto !important; }
.cb-site .cbar__narrow { margin-left: auto !important; margin-right: auto !important; }
@media (min-width: 1024px) { .cb-site .cbar__tocbox summary { pointer-events: none; } }
.cb-site .cbar__prose .wp-block-table table, .cb-site .cbar__prose .wp-block-table th, .cb-site .cbar__prose .wp-block-table td { border: 0 !important; }
.cb-site .cbar__prose .wp-block-table td, .cb-site .cbar__prose .wp-block-table th { border-bottom: 1px solid #eee4d6 !important; }
.cb-site .cbar__prose .wp-block-table { border-radius: 12px; border: 1px solid #eee4d6; }
.cb-site .cbar__prose .wp-block-table thead { border: 0 !important; }
.cb-site .cbar__prose tbody td:first-child { width: 24%; }
.cb-site .cbar__prose tbody tr:last-child td { border-bottom: 0 !important; }
.cb-site .cbar__prose figure.wp-block-image img { max-height: 560px; object-fit: cover; }
.cb-site .cbar__prose .cb-takeaways > p:first-child strong { color: #a9582b; font-weight: 700; }
.cb-site .cbar__related-head .cbm-h2 { font-size: clamp(1.6rem, 2.6vw, 2.1rem) !important; }
/* ----- mega menu (ported from snippets/cb-megamenu) ----- */
.cbmm { position: absolute; left: 0; right: 0; top: 100%; z-index: 90; background: var(--white); border-top: 1px solid var(--line); box-shadow: 0 26px 48px rgba(35,40,45,.15); opacity: 0; visibility: hidden; pointer-events: none; transform: translateY(-6px); transition: opacity .18s ease, transform .18s ease, visibility .18s; }
.cbh__item.is-open > .cbmm { opacity: 1; visibility: visible; pointer-events: auto; transform: none; }
.cbmm__inner { max-width: 78rem; margin: 0 auto; padding: 1.9rem 1.6rem 2rem; display: grid; grid-template-columns: minmax(0, 11rem) minmax(0, 1fr) minmax(0, 26rem); gap: 3rem; align-items: start; }
.cbmm__side-main, .cbmm__side-sub, .cbmm__cats { list-style: none; margin: 0 !important; padding: 0; display: grid; gap: .8rem; }
.cbmm__side-main a { font-family: var(--cbm-sans); font-size: 1.02rem; font-weight: 500; color: var(--ink) !important; }
.cbmm__side-sub { margin-top: 1.3rem !important; padding-top: 1.3rem; border-top: 1px solid var(--line); gap: .6rem; }
.cbmm__side-sub a { font-family: var(--cbm-sans); font-size: .85rem; color: var(--stone) !important; }
.cbmm__side-main a:hover, .cbmm__side-sub a:hover { color: var(--clay) !important; }
.cbmm__cats { gap: .55rem; }
.cbmm__cat { display: inline-flex; align-items: center; gap: .6rem; font-family: var(--cbm-serif); font-weight: 500; font-size: clamp(1.25rem, 1.8vw, 1.72rem); line-height: 1.22; letter-spacing: -.01em; color: var(--ink) !important; transition: color .14s ease, transform .14s ease; }
.cbmm__cat:hover, .cbmm__cat.is-active { color: var(--clay) !important; transform: translateX(3px); }
.cbmm__flag { font-family: var(--cbm-sans); font-size: .56rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: #fff; background: var(--clay); border-radius: 4px; padding: .2rem .42rem; }
.cbmm__flag--pop { background: #23282D; }
.cbmm__figure { display: block; }
.cbmm__imgwrap { display: block; width: 100%; aspect-ratio: 4 / 3.1; border-radius: 14px; overflow: hidden; background: var(--beige); }
.cbmm__imgwrap img { width: 100%; height: 100% !important; object-fit: cover; display: block; transition: opacity .22s ease, transform .5s ease; }
.cbmm__figure.is-swapping img { opacity: 0; }
.cbmm__figure:hover img { transform: scale(1.03); }
.cbmm__cap { display: block; margin-top: .85rem; font-family: var(--cbm-sans); font-size: 1rem; font-weight: 500; color: var(--ink); }
.cbmm__note { display: block; margin-top: .12rem; font-family: var(--cbm-sans); font-size: .8rem; color: var(--stone); }
@media (max-width: 1099px) { .cbmm__inner { grid-template-columns: minmax(0, 10rem) minmax(0, 1fr) minmax(0, 18rem); gap: 1.8rem; } }
@media (max-width: 989px) { .cbmm { display: none !important; } }

/* ----- quote popup (ported from snippets/cb-quote-popup) ----- */
.cbq { position: fixed; inset: 0; z-index: 9990; display: flex; align-items: center; justify-content: center; padding: 1.25rem; opacity: 0; pointer-events: none; transition: opacity .22s ease; }
.cbq[hidden] { display: none !important; }
.cbq.is-open { opacity: 1; pointer-events: auto; }
.cbq__scrim { position: absolute; inset: 0; background: rgba(35,40,45,.62); backdrop-filter: blur(2px); }
.cbq__card { position: relative; width: min(64rem, 100%); max-height: calc(100vh - 2.5rem); overflow: hidden; background: var(--white); border-radius: 18px; box-shadow: 0 30px 80px rgba(0,0,0,.34); display: grid; grid-template-columns: minmax(0,0.78fr) minmax(0,1fr); transform: translateY(14px) scale(.985); transition: transform .22s ease; }
.cbq.is-open .cbq__card { transform: none; }
.cbq__x { position: absolute; top: .55rem; right: .7rem; z-index: 3; width: 2.25rem; height: 2.25rem; border-radius: 50%; border: 0; background: rgba(255,255,255,.92); color: #23282D; font-size: 1.5rem; line-height: 1; cursor: pointer; box-shadow: 0 2px 10px rgba(0,0,0,.14); padding: 0; }
.cbq__aside { position: relative; overflow: hidden; background: #23282D; }
.cbq__aside img { position: absolute; inset: 0; width: 100%; height: 100% !important; object-fit: cover; opacity: .42; }
.cbq__aside-body { position: relative; height: 100%; display: flex; flex-direction: column; justify-content: flex-end; gap: .9rem; padding: 1.9rem 1.6rem; color: #fff; }
.cbq__aside-eyebrow { font-family: var(--cbm-sans); font-size: .74rem; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; color: #E7B79B; }
.cbq__aside-quote { font-family: var(--cbm-serif); font-size: 1.22rem; line-height: 1.35; margin: 0; color: #fff; }
.cbq__aside-list { list-style: none; margin: 0 !important; padding: 0; display: grid; gap: .45rem; }
.cbq__aside-list li { display: flex; align-items: center; gap: .5rem; font-family: var(--cbm-sans); font-size: .82rem; color: rgba(255,255,255,.88); }
.cbq__aside-list svg { color: #E7B79B; flex: none; }
.cbq__main { display: flex; flex-direction: column; min-height: 0; }
.cbq__head { padding: 1.7rem 1.75rem .9rem; }
.cbq__eyebrow { font-family: var(--cbm-sans); font-size: .74rem; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; color: var(--clay); }
.cbq__title { font-family: var(--cbm-serif) !important; font-weight: 500; font-size: clamp(1.4rem, 2.4vw, 1.8rem) !important; line-height: 1.15; color: var(--ink); margin: .35rem 0 .3rem !important; }
.cbq__sub { font-family: var(--cbm-sans); font-size: .85rem; color: var(--stone); margin: 0; }
.cbq__body { overflow-y: auto; padding: 0 1.75rem 1.6rem; }
.cbq__grid { display: grid; grid-template-columns: 1fr 1fr; gap: .8rem; }
.cbq__field { display: grid; gap: .3rem; margin: 0; }
.cbq__field--full { grid-column: 1 / -1; }
.cbq__field > span { font-family: var(--cbm-sans); font-size: .78rem; font-weight: 600; color: var(--ink); }
.cbq__field > span small { font-weight: 400; color: var(--stone); font-size: inherit; }
.cbm .cbq__field input, .cbm .cbq__field select, .cbm .cbq__field textarea, .cbm .cbm-field { font-family: var(--cbm-sans); font-size: .88rem; color: var(--ink); background: #fff; border: 1px solid var(--line); border-radius: 10px; padding: .62rem .8rem; width: 100%; height: auto; min-height: 0; box-shadow: none; line-height: 1.4; }
.cbm .cbq__field input:focus, .cbm .cbq__field select:focus, .cbm .cbq__field textarea:focus, .cbm .cbm-field:focus { outline: none; border-color: var(--clay); box-shadow: 0 0 0 3px rgba(194,100,60,.14); }
.cbq__pills { display: flex; flex-wrap: wrap; gap: .4rem; }
.cbq__pill { position: relative; margin: 0; }
.cbq__pill input { position: absolute; opacity: 0; pointer-events: none; width: 1px; height: 1px; }
.cbq__pill span { display: inline-block; font-family: var(--cbm-sans); font-size: .78rem; font-weight: 500; color: var(--ink); background: var(--beige); border: 1px solid transparent; border-radius: 8px; padding: .42rem .7rem; cursor: pointer; transition: background .15s, color .15s; }
.cbq__pill input:checked + span { background: var(--orange); color: #fff; }
.cbq__pill input:focus-visible + span { box-shadow: 0 0 0 3px rgba(194,100,60,.28); }
.cbq__foot { margin-top: 1rem; }
.cbq__note { font-family: var(--cbm-sans); font-size: .75rem; color: var(--stone); text-align: center; margin: .55rem 0 0; }
.cbq__note a, .cbq__ok a { color: var(--clay) !important; font-weight: 600; }
.cbq__err, .cb-form-err { font-family: var(--cbm-sans); font-size: .82rem; color: #A3392C; background: #FBEDE9; border-radius: 8px; padding: .6rem .8rem; margin: 0 0 .8rem; }
.cbq__ok { text-align: center; padding: 1.4rem 0 .6rem; }
.cbq__ok-ic { display: inline-flex; align-items: center; justify-content: center; width: 3.2rem; height: 3.2rem; border-radius: 50%; background: #EAF3EC; color: #2F6B43; margin-bottom: .7rem; }
.cbq__ok h3 { font-family: var(--cbm-serif); font-weight: 500; font-size: 1.25rem; color: var(--ink); margin: 0 0 .35rem; }
.cbq__ok p { font-family: var(--cbm-sans); font-size: .88rem; color: var(--stone); margin: 0; }
form.is-done > :not([data-cb-ok]) { display: none !important; }
form.is-busy button[type=submit] { opacity: .6; pointer-events: none; }
.cbm-newsletter__msg { flex-basis: 100%; margin: .6rem 0 0; font-size: .88rem; color: #2F6B43; }
.cbm-newsletter__msg.is-err { color: #A3392C; }
@media (max-width: 849px) {
  .cbq { padding: 0; align-items: flex-end; }
  .cbq__card { grid-template-columns: 1fr; width: 100%; max-height: 94vh; border-radius: 18px 18px 0 0; }
  .cbq__aside { display: none; }
  .cbq__head { padding: 1.5rem 1.25rem .75rem; }
  .cbq__body { padding: 0 1.25rem 1.4rem; }
  .cbq__grid { grid-template-columns: 1fr; }
}

/* ----- inner pages (about, quote, contact, dealer) ----- */
.cb-page { background: var(--cb-canvas, #fbf9f4); }
.cb-page .cb-h1, .cb-page .cb-h2, .cb-page h1, .cb-page h2, .cb-page h3 { font-family: var(--cb-font-head) !important; }
.cb-page .cb-rte p { margin: 0 0 14px; }
.cb-page .cb-rte { margin-bottom: 22px; }
.cb-ol { margin: 14px 0 0; padding-left: 20px; display: grid; gap: 10px; font: 400 14px/1.6 var(--cb-font-body); color: var(--cb-body-c); }
.cb-accent-link { color: var(--cb-accent) !important; font-weight: 600; }
.cb-ink-link { color: var(--cb-ink) !important; font-weight: 700; }
.cb-bigphone { font: 700 20px/1.3 var(--cb-font-head); color: var(--cb-ink) !important; }
.cb-small { font: 400 13.5px/1.6 var(--cb-font-body); color: var(--cb-body-c); }
.cb-page .cb-card__icon svg { width: 22px; height: 22px; }
.cb-page .cb-checks svg { flex: none; }
.cb-page form.is-done .cb-form > :not([data-cb-ok]) { display: none !important; }
.cb-page .cb-form .cb-alert--err { grid-column: 1 / -1; margin: 0 0 6px; }
.cb-page .cb-form input, .cb-page .cb-form select, .cb-page .cb-form textarea { box-shadow: none; }
.cb-quote-panel { background: #fff; border: 1px solid var(--cb-line); border-radius: var(--cb-radius); padding: clamp(1.25rem, 3vw, 2rem); }
.cb-quote-panel .cbq__grid { gap: 1rem; }
@media (max-width: 649px) { .cb-quote-panel .cbq__grid { grid-template-columns: 1fr; } }

/* ----- style page: customer photo rail (ported from snippets/cb-realhomes) ----- */
.cbrh__head { display: flex; align-items: flex-end; justify-content: space-between; flex-wrap: nowrap; gap: 1.5rem; margin-bottom: clamp(1.4rem, 2.6vw, 2.2rem); }
.cbrh__head-text { flex: 1 1 auto; min-width: 0; }
.cbrh__eyebrow { display: inline-flex; align-items: center; gap: .5rem; }
.cbrh__sub { font-family: var(--cbm-sans); font-size: .95rem; line-height: 1.6; color: var(--stone); margin: .55rem 0 0; max-width: 56ch; }
.cbrh__nav { display: flex; gap: .5rem; flex: 0 0 auto; margin-left: auto; align-self: flex-end; padding-bottom: .2rem; }
.cbrh__arrow { width: 2.7rem; height: 2.7rem; border-radius: 50%; border: 1px solid var(--line); background: var(--white); color: var(--ink); display: inline-flex; align-items: center; justify-content: center; cursor: pointer; padding: 0; transition: background var(--cbm-dur) var(--cbm-ease), border-color var(--cbm-dur) var(--cbm-ease), opacity var(--cbm-dur) var(--cbm-ease); }
.cbrh__arrow:hover:not(:disabled) { background: var(--beige); border-color: var(--clay); color: var(--clay); }
.cbrh__arrow:disabled { opacity: .35; cursor: default; }
.cbrh__rail { display: flex; gap: .875rem; overflow-x: auto; scroll-snap-type: x mandatory; -webkit-overflow-scrolling: touch; padding-bottom: 6px; scrollbar-width: none; }
.cbrh__rail::-webkit-scrollbar { display: none; }
.cbrh__item { flex: none; width: clamp(210px, 26vw, 310px); padding: 0; border: 0; background: none; cursor: pointer; text-align: left; scroll-snap-align: start; }
.cbrh__media { display: block; width: 100%; aspect-ratio: 1; border-radius: var(--cbm-radius); overflow: hidden; background: var(--beige); }
.cbrh__media img { width: 100%; height: 100% !important; object-fit: cover; display: block; transition: transform .5s var(--cbm-ease); }
.cbrh__item:hover .cbrh__media img { transform: scale(1.05); }
.cbrh__lb { position: fixed; inset: 0; z-index: 9995; background: rgba(26,26,26,.92); display: flex; align-items: center; justify-content: center; gap: .5rem; padding: clamp(1rem, 4vw, 3rem); opacity: 0; transition: opacity .2s ease; }
.cbrh__lb[hidden] { display: none !important; }
.cbrh__lb.is-open { opacity: 1; }
.cbrh__lb-fig { margin: 0; max-width: min(56rem, 100%); max-height: 100%; display: flex; flex-direction: column; gap: .7rem; }
.cbrh__lb-fig img { max-width: 100%; max-height: calc(100vh - 9rem); object-fit: contain; border-radius: 10px; display: block; margin: 0 auto; }
.cbrh__lb-close { position: absolute; top: 1rem; right: 1.15rem; width: 2.4rem; height: 2.4rem; border-radius: 50%; border: 0; background: rgba(255,255,255,.14); color: #fff; font-size: 1.6rem; line-height: 1; cursor: pointer; padding: 0; }
.cbrh__lb-arrow { flex: none; width: 2.9rem; height: 2.9rem; border-radius: 50%; border: 0; background: rgba(255,255,255,.14); color: #fff; display: inline-flex; align-items: center; justify-content: center; cursor: pointer; padding: 0; }
.cbrh__lb-arrow:hover, .cbrh__lb-close:hover { background: rgba(255,255,255,.26); }
@media (max-width: 749px) {
  .cbrh__head { flex-wrap: wrap; align-items: flex-start; gap: 1rem; }
  .cbrh__nav { margin-left: 0; }
  .cbrh__lb-arrow { position: absolute; bottom: 1.2rem; }
  .cbrh__lb-arrow--prev { left: 25%; }
  .cbrh__lb-arrow--next { right: 25%; }
}
/* PDP: meters stack on small screens (rule lost in the Shopify compile) */
@media (max-width: 649px) { .cbm-pdp__meters { grid-template-columns: 1fr; gap: .5rem; } .cbm-pdp__specrow { grid-template-columns: 1fr; gap: .15rem; } }
.cbm-pdp__thumb img, .cbm-pdp__slide img { height: 100% !important; }
.cbm-pdp__acc summary, .cb-acc summary, .cbl-faq__list summary { list-style: none; }
.cbm details > summary::-webkit-details-marker { display: none; }

.cb-page .cb-note { color: #59616B !important; }


/* ===== readability: minimum sizes ===== */
.cb-site .cbq__field > span small, .cb-site .cb-field small, .cb-site .cbl-form label span small, .cb-site .cbq__field small { font-size: 12px !important; color: #59616B !important; }
.cb-site .cb-eyebrow { font-size: 12px !important; }
.cb-site .cbm-badge, .cb-site .cbrg__pickbadge, .cb-site .cbm-pdp__youare, .cb-site .cbmm__flag, .cb-site .cbl-badge { font-size: 11px !important; }
.cb-site .cbm-pdp__meter-label, .cb-site .cbm-pdp__compare th, .cb-site .cbm-card__delivery, .cb-site .cbl-form__fine, .cb-site .cbm-pdp__swmore, .cb-site .cbmo__optlabel, .cb-site .cbband__eyebrow, .cb-site .cbl-step > span, .cb-site .cbm-pdp__stepnum, .cb-site .cbq__note, .cb-site .cbm-pdp__note { font-size: 12px !important; }
.cb-site .cbm-announce__cta { font-size: 12.5px !important; }
/* ===== mobile tap targets ===== */
@media (max-width: 749px) {
  .cb-site .cbm-footer__links a { display: inline-block; padding: .5rem 0; }
  .cb-site .cbm-footer__links li { margin: 0 !important; }
  .cb-site .cbm-pdp__crumbs a { padding: .55rem 0; display: inline-block; }
  .cb-site .cbm-viewall, .cb-site .cbrg__quote, .cb-site .cbfac__link, .cb-site .cbband__link, .cb-site .cbm-gr__review-link, .cb-site .cbl-cat__more, .cb-site .cbl-phone, .cb-site .cbm-pdp__compare-link a { padding-top: .6rem !important; padding-bottom: .6rem !important; }
  .cb-site .cbm-announce__cta { padding: .5rem .8rem !important; }
  .cb-site .cbm-announce__reviews { padding-block: .6rem; }
  .cb-site .cbm-pdp__acc summary, .cb-site .cb-acc summary, .cb-site .cbl-faq__list summary { min-height: 48px; }
  .cb-site .cbm-footer__visit a { display: inline-block; padding: .35rem 0; }
}
.cb-site .cbm-footer__logo { height: 30px !important; width: auto !important; max-width: 200px !important; }

.cb-site .cbm-rw__head { text-align: center !important; margin-left: auto !important; margin-right: auto !important; display: flex; flex-direction: column; align-items: center; }
.cb-site .cbm-rw__head .cbm-lede { margin-left: auto !important; margin-right: auto !important; text-align: center !important; }

/* ===== light band v2: window scene + blackout shade ===== */
@property --cbw-ink { syntax: '<color>'; inherits: true; initial-value: #231d17; }
@property --cbw-sub { syntax: '<color>'; inherits: true; initial-value: rgba(35,29,23,.78); }
@property --cbw-eye { syntax: '<color>'; inherits: true; initial-value: #a9582b; }
.cbband--win { --cb-cycle: 13s; --W: clamp(240px, 26vw, 390px); --R: 7vw; min-height: clamp(34rem, 46vw, 40rem); background: #e9dac6; animation: cbwInk var(--cb-cycle) ease-in-out infinite; }
.cbwin { position: absolute; inset: 0; z-index: -2; overflow: hidden; }
.cbwin > span, .cbwin__wrap { position: absolute; pointer-events: none; }
.cbwin__wall { inset: 0; background: linear-gradient(180deg, #f1e6d6 0%, #eadbc6 70%, #e2cfb6 100%); }
.cbwin__floor { left: 0; right: 0; bottom: 0; height: 15%; background: linear-gradient(180deg, #c49c74 0%, #b48a62 100%); box-shadow: inset 0 3px 0 #d8bb9a, inset 0 10px 18px rgba(80,50,20,.18); }
.cbwin__pool { inset: 0; background: radial-gradient(ellipse calc(var(--W) * 1.25) calc(var(--W) * 1.15) at calc(100% - var(--R) - var(--W) / 2) 46%, rgba(255,222,160,.75) 0%, rgba(255,214,150,.35) 45%, rgba(255,214,150,0) 100%); animation: cbwLight var(--cb-cycle) ease-in-out infinite; }
.cbwin__beam { bottom: 0; right: calc(var(--R) + var(--W) * .25); width: calc(var(--W) * 1.5); height: 44%; background: linear-gradient(200deg, rgba(255,236,190,.85) 0%, rgba(255,226,170,.45) 55%, rgba(255,226,170,.1) 100%); clip-path: polygon(62% 0, 96% 0, 42% 100%, 0 100%); filter: blur(2px); animation: cbwLight var(--cb-cycle) ease-in-out infinite; }
.cbwin__wrap { top: 50%; right: var(--R); width: var(--W); transform: translateY(-46%); }
.cbwin__window { position: relative; aspect-ratio: 4 / 5; padding: 14px; background: #faf6f0; border-radius: 3px; box-shadow: 0 34px 60px -24px rgba(90,55,20,.45), 0 0 0 1px rgba(90,60,30,.08), inset 0 0 0 1px rgba(0,0,0,.05); }
.cbwin__cassette { position: absolute; z-index: 3; top: -22px; left: -10px; right: -10px; height: 24px; border-radius: 4px 4px 2px 2px; background: linear-gradient(180deg, #4a4e55 0%, #2a2d31 100%); box-shadow: 0 6px 12px rgba(0,0,0,.25); }
.cbwin__glass { position: relative; height: 100%; overflow: hidden; border-radius: 1px; background: #bcd6ea; box-shadow: inset 0 0 0 1px rgba(0,0,0,.08); }
.cbwin__view { position: absolute; inset: 0; width: 100%; height: 100% !important; max-width: none !important; object-fit: cover; object-position: 50% 15%; }
.cbwin__sun { position: absolute; inset: 0; background: radial-gradient(circle at 78% 12%, rgba(255,250,225,.95) 0%, rgba(255,240,190,.55) 14%, rgba(255,240,190,0) 42%); mix-blend-mode: screen; }
.cbwin__mull { position: absolute; inset: 0; }
.cbwin__mull::before { content: ""; position: absolute; top: 0; bottom: 0; left: 50%; width: 10px; margin-left: -5px; background: #faf6f0; box-shadow: 0 0 0 1px rgba(0,0,0,.04); }
.cbwin__mull::after { content: ""; position: absolute; left: 0; right: 0; top: 56%; height: 10px; background: #faf6f0; box-shadow: 0 0 0 1px rgba(0,0,0,.04); }
.cbwin__shade { position: absolute; left: 0; right: 0; top: 0; height: 100%; transform: translateY(-101%); background: linear-gradient(90deg, rgba(0,0,0,.18), rgba(0,0,0,0) 8%, rgba(0,0,0,0) 92%, rgba(0,0,0,.18)), repeating-linear-gradient(90deg, rgba(255,255,255,.03) 0 2px, rgba(0,0,0,0) 2px 4px), repeating-linear-gradient(0deg, rgba(255,255,255,.025) 0 2px, rgba(0,0,0,0) 2px 5px), #2c2f34; box-shadow: 0 6px 14px rgba(0,0,0,.35); animation: cbwShade var(--cb-cycle) cubic-bezier(.5,.05,.3,1) infinite; }
.cbwin__bar { position: absolute; left: 0; right: 0; bottom: 0; height: 9px; background: linear-gradient(180deg, #43474d, #1c1e21); }
.cbwin__bar::after { content: ""; position: absolute; left: 50%; top: 9px; width: 18px; height: 12px; margin-left: -9px; border: 2px solid #43474d; border-top: 0; border-radius: 0 0 10px 10px; }
.cbwin__sill { position: absolute; left: -18px; right: -18px; bottom: -14px; height: 14px; border-radius: 2px; background: linear-gradient(180deg, #fbf8f3, #e9e0d3); box-shadow: 0 10px 18px -6px rgba(90,55,20,.35); }
.cbwin__dark { inset: 0; background: #09090b; opacity: 0; animation: cbwDark var(--cb-cycle) ease-in-out infinite; }
.cbband--win .cbband__veil { display: none; }
.cbband--win .cbband__inner { z-index: 4; }
.cbband--win .cbband__text { max-width: min(34rem, calc(100% - var(--W) - var(--R) - 3rem)); }
.cb-site .cbband--win .cbband__title { color: var(--cbw-ink) !important; }
.cb-site .cbband--win .cbband__sub { color: var(--cbw-sub) !important; }
.cb-site .cbband--win .cbband__eyebrow { color: var(--cbw-eye) !important; }
.cb-site .cbband--win .cbband__link { color: var(--cbw-ink) !important; border-bottom-color: currentColor; }
@keyframes cbwShade { 0%, 14% { transform: translateY(-101%); } 44%, 78% { transform: translateY(0); } 95%, 100% { transform: translateY(-101%); } }
@keyframes cbwLight { 0%, 14% { opacity: 1; } 42%, 80% { opacity: 0; } 96%, 100% { opacity: 1; } }
@keyframes cbwDark { 0%, 18% { opacity: 0; } 29% { opacity: .42; } 35% { opacity: .78; } 46%, 79% { opacity: .94; } 85% { opacity: .62; } 90% { opacity: .3; } 96%, 100% { opacity: 0; } }
@keyframes cbwInk { 0%, 29% { --cbw-ink: #231d17; --cbw-sub: rgba(35,29,23,.78); --cbw-eye: #a9582b; } 34%, 84% { --cbw-ink: #f6f1ea; --cbw-sub: rgba(246,241,234,.82); --cbw-eye: #e7b79b; } 89%, 100% { --cbw-ink: #231d17; --cbw-sub: rgba(35,29,23,.78); --cbw-eye: #a9582b; } }
/* clock chip */
.cbband__clock { position: absolute; right: clamp(16px, 4vw, 56px); top: clamp(16px, 3vw, 32px); z-index: 5; display: grid; }
.cbband--win .cbband__clock { right: auto; left: calc(100% - var(--R) - var(--W) / 2); transform: translateX(-50%); top: max(14px, calc(50% - var(--W) * .575 - 62px)); }
.cbband__clock > span { grid-area: 1 / 1; display: inline-flex; align-items: center; justify-content: center; gap: .45rem; font: 600 .82rem/1 var(--cbm-sans); letter-spacing: .02em; padding: .6rem .9rem; border-radius: 999px; white-space: nowrap; }
.cbband__clock-a { color: #3a2410; background: rgba(255,222,176,.95); box-shadow: 0 4px 14px rgba(160,100,40,.22); animation: cbClockA var(--cb-cycle, 13s) ease-in-out infinite; }
.cbband__clock-b { color: #e9edf2; background: rgba(28,30,34,.9); border: 1px solid rgba(255,255,255,.16); opacity: 0; animation: cbClockB var(--cb-cycle, 13s) ease-in-out infinite; }
@keyframes cbClockA { 0%, 36% { opacity: 1; transform: none; } 42%, 84% { opacity: 0; transform: translateY(-6px); } 92%, 100% { opacity: 1; transform: none; } }
@keyframes cbClockB { 0%, 36% { opacity: 0; transform: translateY(6px); } 42%, 84% { opacity: 1; transform: none; } 92%, 100% { opacity: 0; transform: translateY(6px); } }
@media (max-width: 749px) {
  .cbband--win { --W: min(64vw, 300px); --R: calc((100vw - var(--W)) / 2); min-height: 0; flex-direction: column; align-items: stretch; }
  .cbband--win .cbwin__wrap { top: 84px; transform: none; }
  .cbband--win .cbband__clock { top: 18px; }
  .cbband--win .cbband__inner { padding-top: calc(var(--W) * 1.25 + 156px); padding-bottom: 3rem; }
  .cbband--win .cbband__text { max-width: none; }
  .cbband--win .cbwin__floor { top: calc(84px + var(--W) * 1.25 + 20px); bottom: auto; height: 34px; }
  .cbband--win .cbwin__beam { bottom: auto; top: calc(84px + var(--W) * .9); height: calc(var(--W) * .5); }
  .cbband__clock > span { font-size: .74rem; padding: .5rem .75rem; }
}
@media (prefers-reduced-motion: reduce) { .cbband--win, .cbwin__shade, .cbwin__dark, .cbwin__beam, .cbwin__pool, .cbband__clock > span { animation: none !important; } .cbband__clock-b { display: none; } }
/* hero photo framing */
.cb-site .cbm-hero__media img { object-position: 62% 38%; }
@media (max-width: 767px) { .cb-site .cbm-hero__media img { object-position: 72% 30%; } }
.cb-site .cbm-hero__scrim { background: linear-gradient(180deg, rgba(20,22,24,.12) 0%, rgba(20,22,24,.05) 35%, rgba(20,22,24,.62) 75%, rgba(20,22,24,.78) 100%) !important; }
/* Footer v2 — tighter layout */
.cb-site .cbm-footer{padding:48px 0 20px !important;}
.cb-site .cbm-footer__trust{margin:0 0 32px !important;padding:0 0 24px !important;gap:10px 28px !important;justify-content:space-between;}
.cb-site .cbm-footer__trust-item{font-size:14px;}
.cb-site .cbm-footer__cols{display:grid !important;grid-template-columns:1.6fr 1fr 1fr 1.5fr !important;gap:40px !important;align-items:start;}
.cb-site .cbm-footer__brand{max-width:340px;}
.cb-site .cbm-footer__tagline{margin:14px 0 0 !important;font-size:14px;line-height:1.55;}
.cb-site .cbm-footer__col-head{margin:0 0 12px !important;padding:0 !important;}
.cb-site .cbm-footer__links{margin:0 !important;padding:0 !important;}
.cb-site .cbm-footer__links li{margin:0 0 8px !important;}
.cb-site .cbm-footer__visit p{margin:0 0 12px !important;font-size:14px;line-height:1.55;}
.cb-site .cbm-footer__visit p:last-child{margin-bottom:0 !important;}
.cb-site .cbm-footer__bottom{margin-top:36px !important;padding-top:18px !important;align-items:center;}
.cb-site .cbm-footer__copy{margin:0 !important;}
@media (max-width:1024px){.cb-site .cbm-footer__cols{grid-template-columns:1fr 1fr !important;gap:28px 32px !important;}.cb-site .cbm-footer__brand{grid-column:1/-1;max-width:none;}}
@media (max-width:767px){
.cb-site .cbm-footer{padding:32px 0 16px !important;}
.cb-site .cbm-footer__trust{display:grid !important;grid-template-columns:1fr 1fr;gap:10px 14px !important;margin-bottom:20px !important;padding-bottom:18px !important;}
.cb-site .cbm-footer__trust-item{font-size:13px;line-height:1.35;align-items:flex-start;}
.cb-site .cbm-footer__cols{display:block !important;}
.cb-site .cbm-footer__brand{margin-bottom:12px !important;}
.cb-site .cbm-footer__col-head{margin:0 !important;padding:14px 0 !important;min-height:0 !important;}
.cb-site .cbm-footer__links{padding-bottom:0 !important;}
.cb-site .cbm-footer__col-head[aria-expanded="true"] + .cbm-footer__links{padding-bottom:10px !important;}
.cb-site .cbm-footer__bottom{margin-top:18px !important;padding-top:16px !important;flex-direction:row !important;justify-content:space-between;text-align:left !important;flex-wrap:wrap;gap:12px !important;}
.cb-site .cbm-footer__copy{font-size:12.5px;flex:1 1 220px;}
}
/* Google map section */
.cb-site .cbmap__grid{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:48px;align-items:stretch;}
.cb-site .cbmap__info{display:flex;flex-direction:column;justify-content:center;}
.cb-site .cbmap__info .cbm-lede{margin:12px 0 0;}
.cb-site .cbmap__list{list-style:none;margin:28px 0 0;padding:0;display:grid;gap:18px;}
.cb-site .cbmap__list li{display:flex;gap:14px;align-items:flex-start;font-size:15px;line-height:1.55;margin:0;}
.cb-site .cbmap__list svg{flex:0 0 auto;margin-top:2px;color:#b8683f;}
.cb-site .cbmap__list a{color:inherit;text-decoration:underline;text-underline-offset:3px;}
.cb-site .cbmap__ctas{display:flex;flex-wrap:wrap;gap:12px;margin-top:28px;}
.cb-site .cbmap__map{position:relative;min-height:420px;border-radius:16px;overflow:hidden;box-shadow:0 1px 0 rgba(0,0,0,.04),0 12px 32px rgba(30,25,20,.10);background:#ece6dc;}
.cb-site .cbmap__map iframe{position:absolute;inset:0;width:100%;height:100%;border:0;display:block;}
@media (max-width:900px){.cb-site .cbmap__grid{grid-template-columns:1fr;gap:28px;}.cb-site .cbmap__map{min-height:320px;}.cb-site .cbmap__ctas .cbm-btn{flex:1 1 100%;text-align:center;justify-content:center;}}
/* Spacing rhythm around buttons (site-wide) */
/* text / lists before a button or button group */
.cb-site .cbm :is(p,ul,ol,h2,h3,h4) + .cbm-btn,
.cb-site .cbm :is(p,ul,ol,h2,h3,h4) + :is(div,p):has(> .cbm-btn){margin-top:28px !important;}
/* note text after a button or button group */
.cb-site .cbm .cbm-btn + :is(p,small,span:not(.cbm-btn)),
.cb-site .cbm :is(div,p):has(> .cbm-btn) + :is(p,small),
.cb-site .cbm :is(.cbmo__note,.cbm-pdp__note,.cbl-hero__note){margin-top:16px !important;}
/* buttons side by side / stacked */
.cb-site .cbm :is(div,p):has(> .cbm-btn + .cbm-btn){gap:14px !important;}
.cb-site .cbm .cbm-btn + .cbm-btn{margin-top:0;}
/* card text links */
.cb-site .cbm .cbm-collcard .cbm-link{margin-top:20px !important;display:inline-flex;}
/* list items directly above CTA inside hero/landing */
.cb-site .cbm :is(ul,ol):has(+ .cbm-btn), .cb-site .cbm :is(ul,ol):has(+ :is(div,p):has(> .cbm-btn)){margin-bottom:0 !important;}
.cb-site .cbm :is(h1,h2) + p{margin-top:14px !important;}

/* mobile tidy-ups */
@media (max-width: 749px) {
  .cb-site .cbm-hero__sub { display: none !important; }
  .cb-site .cbm-announce__cta { display: none !important; }
}
/* quote popup: simple, fits phones */
.cb-site .cbq__grid { grid-template-columns: 1fr 1fr; }
@media (max-width: 749px) {
  .cb-site .cbq { align-items: stretch !important; justify-content: stretch !important; padding: 0 !important; }
  .cb-site .cbq__card { position: fixed !important; inset: 0 !important; width: 100% !important; max-width: none !important; height: 100% !important; max-height: 100dvh !important; margin: 0 !important; border-radius: 0 !important; display: block !important; overflow-y: auto !important; -webkit-overflow-scrolling: touch; overscroll-behavior: contain; transform: none !important; }
  .cb-site .cbq__aside { display: none !important; }
  .cb-site .cbq__main { padding: 20px 16px calc(24px + env(safe-area-inset-bottom)) !important; max-height: none !important; overflow: visible !important; }
  .cb-site .cbq__head { padding-right: 44px; margin-bottom: 14px !important; }
  .cb-site .cbq__title { font-size: 1.45rem !important; line-height: 1.2 !important; margin: 4px 0 4px !important; }
  .cb-site .cbq__sub { font-size: .88rem !important; margin: 0 !important; }
  .cb-site .cbq__body { max-height: none !important; overflow: visible !important; padding: 0 !important; }
  .cb-site .cbq__grid { grid-template-columns: 1fr !important; gap: 12px !important; }
  .cb-site .cbq__field > span { font-size: .85rem !important; margin-bottom: 5px !important; }
  .cb-site .cbq__field input, .cb-site .cbq__field select, .cb-site .cbq__field textarea { font-size: 16px !important; min-height: 46px; padding: 10px 12px !important; width: 100% !important; box-sizing: border-box; }
  .cb-site .cbq__pills { gap: 6px !important; }
  .cb-site .cbq__pill span { font-size: .8rem !important; padding: 7px 11px !important; }
  .cb-site .cbq__foot { margin-top: 18px !important; }
  .cb-site .cbq__x { position: fixed !important; top: 10px !important; right: 10px !important; z-index: 3; width: 40px; height: 40px; border-radius: 50%; background: rgba(0,0,0,.06) !important; }
}
@media (max-width: 749px) {
  .cb-site .cbq__head { padding: 0 44px 0 0 !important; }
  .cb-site .cbq__sub { display: none !important; }
  .cb-site .cbq__pills { display: flex !important; flex-wrap: nowrap !important; overflow-x: auto !important; margin: 0 -16px !important; padding: 2px 16px 6px !important; scrollbar-width: none; }
  .cb-site .cbq__pills::-webkit-scrollbar { display: none; }
  .cb-site .cbq__pill { flex: 0 0 auto !important; }
  .cb-site .cbq__pill span { white-space: nowrap; }
  .cb-site .cbq__grid { grid-template-columns: 1fr 1fr !important; gap: 12px 10px !important; }
  .cb-site .cbq__field--full, .cb-site .cbq__grid > label:nth-of-type(1), .cb-site .cbq__grid > label:nth-of-type(2) { grid-column: 1 / -1 !important; }
  .cb-site .cbq__field input { min-height: 44px; }
  .cb-site .cbm-announce { justify-content: center !important; }
}
@media (max-width: 749px) {
  /* quote pills: horizontal swipe only */
  .cb-site .cbq__pills { overflow-y: hidden !important; touch-action: pan-x; overscroll-behavior: contain; align-items: center; }
  .cb-site .cbq__pill, .cb-site .cbq__pill span { -webkit-user-drag: none; user-select: none; -webkit-user-select: none; }
  /* announcement bar like Mona: one centred reviews line */
  .cb-site .cbm-announce__inner { display: flex !important; justify-content: center !important; align-items: center; min-height: 38px !important; padding-block: 0 !important; }
  .cb-site .cbm-announce__text, .cb-site .cbm-announce__cta { display: none !important; }
  .cb-site .cbm .cbm-announce__reviews, .cb-site .cbm-announce__reviews { justify-self: center; gap: 7px !important; font-size: 12.5px !important; letter-spacing: .6px; padding-block: 9px !important; }
  .cb-site .cbm-announce__word { display: inline-block !important; text-transform: lowercase; font-weight: 700; text-decoration: underline; text-underline-offset: 3px; text-decoration-color: rgba(255,255,255,.7); }
  .cb-site .cbm-announce__word::first-letter { text-transform: uppercase; }
  .cb-site .cbm-announce__stars { font-size: 14.5px !important; letter-spacing: 1.45px; }
  .cb-site .cbm-announce__brand { gap: 5px !important; }
  .cb-site .cbm-announce__count { display: inline !important; opacity: .9 !important; margin-left: 2px; }
}
@media (max-width: 359px) { .cb-site .cbm-announce__word { display: none !important; } }
@media (max-width: 749px) {
  /* close button: X drawn with CSS so it sits dead centre */
  .cb-site .cbq__x { display: block !important; padding: 0 !important; margin: 0 !important; width: 40px !important; height: 40px !important; min-width: 0 !important; min-height: 0 !important; font-size: 0 !important; line-height: 0 !important; color: #231d17 !important; border: 0 !important; }
  .cb-site .cbq__x::before, .cb-site .cbq__x::after { content: ""; position: absolute; left: 50%; top: 50%; width: 16px; height: 2px; margin: -1px 0 0 -8px; background: currentColor; border-radius: 2px; transform: rotate(45deg); }
  .cb-site .cbq__x::after { transform: rotate(-45deg); }
}
