/** Shopify CDN: Minification failed

Line 89:0 Unexpected "@media"

**/
/* CellaTest: exclusive layer. Loaded after ct-home.css. */
:root {
  --ct-ink: #141a17; --ct-ink-soft: #5a615c; --ct-line: #e3e0d8; --ct-bone: #f4f2ed; --ct-paper: #fbfaf7;
  --ct-forest: #1c2e24; --ct-gold: #b79a5b; --ct-human: #141a17; --ct-human-tint: #f4f2ed; --ct-animal: #1c2e24; --ct-animal-tint: #f4f2ed;
  --ct-radius: 0px; --ct-pill: 0px;
}
/* Header: department nav in the quiet small-caps voice */
.ct-dnav__badge, .ct-dnav__link, .ct-dnav__switch, .ct-deptbar__dept, .ct-deptbar__menu, .ct-deptbar__switch, .ct-deptbar__link, .ct-deptbar__choose {
  text-transform: uppercase; letter-spacing: 0.16em; font-size: 0.75rem; font-weight: 500;
}
.ct-dnav__badge { background: none; color: var(--ct-ink); padding: 0; margin-right: 22px; min-height: 44px; position: relative; }
.ct-dnav__badge::after { content: ''; position: absolute; left: 0; right: 0.16em; bottom: 9px; height: 1px; background: currentColor; }
.ct-dnav__badge--animal { background: none; color: var(--ct-ink); }
.ct-dnav__link { color: var(--ct-ink-soft); padding: 0 11px; border-radius: 0; }
.ct-dnav__link:hover { background: none; color: var(--ct-ink); }
.ct-dnav__link--strong { font-weight: 500; color: var(--ct-ink); }
.ct-dnav__switch { border-left: 0; margin-left: 10px; }
.ct-dnav__switch:hover { text-decoration: none; color: var(--ct-ink); }
.ct-deptbar { background: var(--ct-paper); }
.ct-deptbar__btn { background: var(--ct-paper); }
.ct-deptbar__dept { background: none !important; color: var(--ct-ink) !important; padding: 0; }
.ct-deptbar__panel { background: var(--ct-paper); }
.ct-deptbar__link--home, .ct-deptbar__link { font-weight: 500; }
@media screen and (max-width: 1199px) { .ct-dnav__link { padding: 0 7px; font-size: 0.6875rem; } }

/* Footer */
.ct-footer { background: var(--ct-ink); }
.ct-footer__heading { color: var(--ct-gold); text-transform: uppercase; letter-spacing: 0.16em; font-size: 0.75rem; font-weight: 500; border-bottom: 0; padding-bottom: 0; margin-bottom: 14px; }
.ct-footer__sub { color: rgb(255 255 255 / 0.5); text-transform: uppercase; letter-spacing: 0.16em; font-size: 0.6875rem; font-weight: 500; }
.ct-footer__list a { font-weight: 300; color: rgb(255 255 255 / 0.78); min-height: 34px; }
.ct-footer__tagline, .ct-footer__contact { font-weight: 300; }
.ct-footer__switch { text-transform: uppercase; letter-spacing: 0.16em; font-size: 0.75rem; text-decoration: none; border-bottom: 1px solid currentColor; min-height: 0; padding-bottom: 4px; }

/* Theme-wide: square, quiet buttons and serif headings to match */
.ct-btn { border-radius: 0; text-transform: uppercase; letter-spacing: 0.16em; font-size: 0.75rem; font-weight: 500; }

/* Section root reset (Horizon styles headings by element) */
.cx :is(h1, h2, h3, h4) { color: inherit; text-transform: none; font-weight: 400; margin: 0; font-family: var(--serif); letter-spacing: -0.005em; }
.cx { font-family: var(--sans); color: var(--ink); -webkit-font-smoothing: antialiased; background: var(--paper); }
.cx-shopify-section { display: block; }
.cx [id], .cx[id] { scroll-margin-top: calc(var(--header-height, 90px) + 16px); }
.cx-rte p + p { margin-top: 1em; }
.cx-rte a { text-decoration: underline; text-underline-offset: 3px; }
.cx-ph { width: 100%; height: 100%; background: var(--stone); }
.cx .cx-offer__media, .cx .cx-pcard__media { display: block; }
.cx-small { font-size: 0.875rem; }
.cx-center { display: flex; justify-content: center; margin-top: clamp(32px, 4vw, 56px); }
.cx-link--light { color: #fff; }
:where(.cx) dl, :where(.cx) dd { margin: 0; }
.cx {
  --ink: #141a17; --soft: #5a615c; --line: #e3e0d8; --bone: #f4f2ed; --stone: #ebe8e1; --paper: #fbfaf7;
  --forest: #1c2e24; --gold: #b79a5b; --ease: cubic-bezier(0.16, 1, 0.3, 1);
  --gutter: clamp(16px, 4vw, 56px); --max: 1360px;
  --serif: var(--font-heading--family, 'Bodoni Moda'), 'Bodoni Moda', 'Didot', 'Bodoni 72', Georgia, serif;
  --sans: var(--font-body--family, Inter), Inter, system-ui, -apple-system, 'Segoe UI', sans-serif;
  color-scheme: light;
}:where(.cx) img { max-width: 100%; display: block; }:where(.cx) h1, :where(.cx) h2, :where(.cx) h3, :where(.cx) p, :where(.cx) ul, :where(.cx) ol { margin: 0; }:where(.cx) ul, :where(.cx) ol { padding: 0; list-style: none; }:where(.cx) button { font: inherit; color: inherit; background: none; border: 0; padding: 0; cursor: pointer; }:where(.cx) a { color: inherit; }:where(.cx) :focus-visible { outline: 1px solid var(--ink); outline-offset: 4px; }.cx-visually-hidden { position: absolute; width: 1px; height: 1px; margin: -1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0; }.cx-wrap { width: 100%; max-width: calc(var(--max) + var(--gutter) * 2); margin-inline: auto; padding-inline: var(--gutter); }/* Shared small caps voice */
.cx-kicker, .cx-dnav__link, .cx-switch, .cx-btn, .cx-announce, .cx-pcard__aud, .cx-pcard__cta, .cx-link, .cx-foot__h, .cx-panel__go, .cx-mbar__dept, .cx-mbar__menu, .cx-mbar__switch, .cx-mnav__link {
  font-family: var(--sans); text-transform: uppercase; letter-spacing: 0.16em; font-size: 0.75rem; font-weight: 500;
}.cx-kicker { color: var(--gold); }.cx-kicker--light { color: #fff; opacity: 0.85; }.cx-display { font-family: var(--serif); font-weight: 400; font-size: clamp(2.5rem, 1.2rem + 4.2vw, 5.25rem); line-height: 1.02; letter-spacing: -0.01em; text-wrap: balance; }.cx-display--dark { color: var(--ink); }.cx-title { font-family: var(--serif); font-weight: 400; letter-spacing: -0.005em; line-height: 1.08; text-wrap: balance; }.cx-title--xl { font-size: clamp(2.25rem, 1.3rem + 3vw, 4rem); }.cx-title--lg { font-size: clamp(2rem, 1.3rem + 2vw, 3.25rem); }.cx-lead { font-size: clamp(1rem, 0.95rem + 0.25vw, 1.125rem); line-height: 1.65; color: var(--soft); max-width: 52ch; font-weight: 300; }.cx-body { font-size: 1rem; line-height: 1.7; color: var(--soft); max-width: 60ch; font-weight: 300; }.cx-btn { display: inline-flex; align-items: center; justify-content: center; min-height: 50px; padding: 0 30px; border: 1px solid transparent; text-decoration: none; white-space: nowrap; transition: background-color 250ms var(--ease), color 250ms var(--ease), border-color 250ms; }.cx-btn--ink { background: var(--ink); color: #fff; }.cx-btn--ink:hover { background: transparent; color: var(--ink); border-color: var(--ink); }.cx-btn--light { background: #fff; color: var(--ink); }.cx-btn--light:hover { background: transparent; color: #fff; border-color: #fff; }.cx-btn--ghost { color: #fff; border-color: rgb(255 255 255 / 0.7); }.cx-btn--ghost:hover { background: #fff; color: var(--ink); }.cx-link { display: inline-flex; align-items: center; gap: 10px; min-height: 44px; color: var(--ink); text-decoration: none; border-bottom: 1px solid currentColor; min-height: 0; padding-bottom: 4px; }.cx-link svg { width: 14px; height: 14px; transition: transform 300ms var(--ease); }.cx-link:hover svg { transform: translateX(4px); }/* ---------- Entrance ---------- */
.cx-hero { position: relative; min-height: 100vh; min-height: 100dvh; display: grid; grid-template-rows: auto 1fr auto; overflow: hidden; isolation: isolate; color: #fff; }.cx-hero__media { position: absolute; inset: 0; z-index: -2; }.cx-hero__media img, .cx-hero__media video { width: 100%; height: 100%; object-fit: cover; }.cx-hero__media video { position: absolute; inset: 0; opacity: 0; transition: opacity 1200ms var(--ease); }.cx-hero__media video.is-playing { opacity: 1; }.cx-hero__shade { position: absolute; inset: 0; z-index: -1; background: linear-gradient(to bottom, rgb(8 12 10 / 0.6), rgb(8 12 10 / 0) 25%), linear-gradient(to top, rgb(8 12 10 / 0.55), rgb(8 12 10 / 0) 35%), rgb(8 12 10 / 0.34); }.cx-hero__bar { display: flex; justify-content: center; padding: 32px var(--gutter); }.cx-hero__logo { height: 34px; width: auto; }.cx-hero__center { display: grid; place-items: center; padding: 0 20px; }.cx-hero__choices { display: flex; align-items: center; gap: clamp(32px, 6vw, 80px); }.cx-hero__divider { width: 1px; height: 30px; background: rgb(255 255 255 / 0.75); }.cx-choice { position: relative; display: inline-flex; align-items: center; min-height: 48px; color: #fff; text-decoration: none; text-transform: uppercase; font-size: clamp(1rem, 0.85rem + 0.55vw, 1.25rem); font-weight: 500; letter-spacing: 0.24em; }.cx-choice::after { content: ''; position: absolute; left: 0; right: 0.24em; bottom: 8px; height: 1px; background: currentColor; transform-origin: left; transition: transform 500ms var(--ease); }.cx-choice:hover::after { transform: scaleX(0.3); }.cx-choice:focus-visible { outline-color: #fff; outline-offset: 8px; }.cx-hero__foot { display: flex; justify-content: center; padding: 0 20px 36px; }.cx-hero__mark { width: 30px; height: 30px; }/* ---------- Department shell ---------- */
.cx-dept { background: var(--paper); min-height: 100vh; }.cx-announce { background: var(--ink); color: rgb(255 255 255 / 0.85); text-align: center; padding: 10px 16px; font-size: 0.6875rem; }.cx-site-header { position: sticky; top: env(safe-area-inset-top, 0px); z-index: 20; background: rgb(251 250 247 / 0.96); backdrop-filter: saturate(1.2) blur(6px); border-bottom: 1px solid var(--line); }.cx-site-header__row { display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; min-height: 84px; gap: 24px; }.cx-dnav__list { display: flex; flex-wrap: wrap; gap: 4px 26px; }.cx-dnav__link { min-height: 44px; color: var(--soft); transition: color 200ms; position: relative; }.cx-dnav__link:hover, .cx-dnav__link.is-current { color: var(--ink); }.cx-dnav__link.is-current::after { content: ''; position: absolute; left: 0; right: 0.16em; bottom: 8px; height: 1px; background: var(--ink); }.cx-logo-btn { display: flex; align-items: center; justify-content: center; min-height: 44px; }.cx-logo-dark { height: 30px; width: auto; }.cx-actions { display: flex; align-items: center; justify-content: flex-end; gap: 6px; }.cx-switch { display: inline-flex; align-items: center; min-height: 44px; margin-right: 14px; color: var(--soft); text-decoration: none; white-space: nowrap; }.cx-switch:hover { color: var(--ink); }.cx-icon-btn { position: relative; display: grid; place-items: center; width: 44px; height: 44px; }.cx-icon-btn svg { width: 19px; height: 19px; }.cx-cart__count { position: absolute; top: 7px; right: 5px; min-width: 15px; height: 15px; padding: 0 4px; border-radius: 99px; background: var(--ink); color: #fff; font-size: 0.625rem; display: grid; place-items: center; }.cx-mbar, .cx-mnav { display: none; }/* ---------- Human hero (full-bleed) ---------- */
.cx-ehero { position: relative; min-height: min(86vh, 860px); display: grid; align-items: end; isolation: isolate; color: #fff; overflow: hidden; }.cx-ehero__img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: 50% 30%; z-index: -2; }.cx-ehero__shade { position: absolute; inset: 0; z-index: -1; background: linear-gradient(to top, rgb(10 14 12 / 0.72), rgb(10 14 12 / 0.1) 55%, rgb(10 14 12 / 0.15)); }.cx-ehero__text { display: grid; gap: 22px; padding-block: 72px clamp(48px, 7vw, 96px); max-width: calc(760px + var(--gutter) * 2); margin-inline: 0; }.cx-ehero__lead { font-size: 1.125rem; line-height: 1.6; font-weight: 300; color: rgb(255 255 255 / 0.88); max-width: 44ch; }.cx-ehero__actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 10px; }/* ---------- Animal intro + panels ---------- */
.cx-aintro { padding: clamp(56px, 8vw, 120px) 0 clamp(36px, 5vw, 64px); text-align: center; }.cx-aintro__text { display: grid; gap: 20px; justify-items: center; }.cx-aintro .cx-display { max-width: 18ch; }.cx-panels { display: grid; grid-template-columns: 1fr 1fr; gap: 2px; background: var(--paper); }.cx-panel { position: relative; display: block; height: min(78vh, 760px); overflow: hidden; isolation: isolate; color: #fff; text-align: left; }.cx-panel img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; z-index: -2; transition: transform 1200ms var(--ease); }.cx-panel:hover img { transform: scale(1.03); }.cx-panel__shade { position: absolute; inset: 0; z-index: -1; background: linear-gradient(to top, rgb(10 14 12 / 0.6), rgb(10 14 12 / 0) 45%); }.cx-panel__text { position: absolute; left: clamp(20px, 3vw, 48px); bottom: clamp(24px, 3.5vw, 48px); display: grid; gap: 14px; }.cx-panel__title { font-family: var(--serif); font-size: clamp(2.25rem, 1.4rem + 2.6vw, 4rem); line-height: 1; }.cx-panel__go { padding-bottom: 4px; border-bottom: 1px solid currentColor; justify-self: start; }.cx-panel:focus-visible { outline: 1px solid #fff; outline-offset: -10px; }/* ---------- Service line ---------- */
.cx-strip { background: var(--paper); border-bottom: 1px solid var(--line); }.cx-strip__list { display: grid; grid-template-columns: repeat(3, 1fr); }.cx-strip__item { padding: 30px 32px; text-align: center; }.cx-strip__item + .cx-strip__item { border-left: 1px solid var(--line); }.cx-strip__label { font-family: var(--serif); font-size: 1.25rem; }.cx-strip__text { font-size: 0.875rem; color: var(--soft); margin-top: 6px; font-weight: 300; }/* ---------- Offers ---------- */
.cx-sec-head { display: grid; gap: 16px; justify-items: center; text-align: center; margin-bottom: clamp(36px, 5vw, 64px); }.cx-offers { padding: clamp(72px, 9vw, 128px) 0 clamp(40px, 5vw, 72px); }.cx-offers__grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 440px), 1fr)); gap: clamp(20px, 3vw, 48px); }.cx-offer { display: grid; gap: 22px; }.cx-offer__media { aspect-ratio: 4 / 3; background: var(--stone); overflow: hidden; }.cx-offer__media img { width: 100%; height: 100%; object-fit: contain; mix-blend-mode: multiply; padding: 6%; transition: transform 900ms var(--ease); }.cx-offer:hover .cx-offer__media img { transform: scale(1.03); }.cx-offer__body { display: grid; gap: 10px; justify-items: start; }.cx-offer__title { font-family: var(--serif); font-weight: 400; font-size: 1.75rem; line-height: 1.1; }.cx-offer__price { font-size: 0.9375rem; letter-spacing: 0.04em; font-variant-numeric: tabular-nums; }.cx-offer .cx-btn { margin-top: 8px; }/* ---------- Product rows ---------- */
.cx-prow { padding: clamp(56px, 7vw, 104px) 0; }.cx-prow--tight { padding-top: 0; }.cx-group-head { display: flex; flex-wrap: wrap; align-items: baseline; justify-content: space-between; gap: 12px 24px; margin-bottom: clamp(24px, 3vw, 40px); }.cx-products { display: grid; grid-template-columns: repeat(4, 1fr); gap: clamp(14px, 1.8vw, 28px) clamp(12px, 1.6vw, 24px); }.cx-pcard { display: grid; grid-template-rows: auto 1fr; height: 100%; text-decoration: none; color: var(--ink); }.cx-pcard__media { display: block; aspect-ratio: 4 / 5; background: var(--stone); overflow: hidden; }.cx-pcard__media img { width: 100%; height: 100%; object-fit: contain; mix-blend-mode: multiply; padding: 10%; transition: transform 900ms var(--ease); }.cx-pcard:hover .cx-pcard__media img { transform: scale(1.04); }.cx-pcard__body { display: grid; gap: 6px; padding-top: 16px; justify-items: center; text-align: center; }.cx-pcard__aud { color: var(--gold); font-size: 0.6875rem; }.cx-pcard__name { font-family: var(--serif); font-size: 1.1875rem; line-height: 1.2; }.cx-pcard__price { font-size: 0.875rem; color: var(--soft); letter-spacing: 0.04em; font-variant-numeric: tabular-nums; }.cx-pcard__cta { display: none; }/* ---------- Steps ---------- */
.cx-steps { background: var(--forest); color: #fff; padding: clamp(72px, 9vw, 128px) 0; }.cx-steps .cx-sec-head .cx-lead { color: rgb(255 255 255 / 0.75); }.cx-steps__list { display: grid; grid-template-columns: repeat(3, 1fr); gap: clamp(24px, 4vw, 64px); }.cx-step { display: grid; gap: 12px; justify-items: center; text-align: center; padding-top: 28px; border-top: 1px solid rgb(183 154 91 / 0.5); }.cx-step__num { font-family: var(--serif); font-size: 3rem; line-height: 1; color: var(--gold); }.cx-step__title { font-family: var(--serif); font-weight: 400; font-size: 1.5rem; }.cx-step__text { font-size: 0.9375rem; line-height: 1.7; font-weight: 300; color: rgb(255 255 255 / 0.78); max-width: 34ch; }/* ---------- Shared bits ---------- */
.cx-stars { display: inline-flex; gap: 2px; color: var(--gold); }.cx-stars svg { width: 13px; height: 13px; }.cx-badge { display: inline-flex; flex-wrap: wrap; align-items: center; gap: 8px 12px; font-size: 0.8125rem; letter-spacing: 0.02em; color: var(--soft); }.cx-badge--light { color: rgb(255 255 255 / 0.9); }.cx-body.small { font-size: 0.875rem; }.cx-center { display: flex; justify-content: center; margin-top: clamp(32px, 4vw, 56px); }.cx-link--light { color: #fff; }:where(.cx) dl, :where(.cx) dd { margin: 0; }.cx-stat dt { font-family: var(--serif); font-size: clamp(2rem, 1.4rem + 1.6vw, 3rem); line-height: 1; }.cx-stat dd { margin-top: 10px; font-size: 0.75rem; letter-spacing: 0.16em; text-transform: uppercase; color: var(--soft); }/* ---------- HomeKit feature ---------- */
.cx-kit { padding: clamp(72px, 9vw, 128px) 0 clamp(24px, 3vw, 40px); }.cx-kit__grid { display: grid; grid-template-columns: 7fr 5fr; gap: clamp(32px, 6vw, 96px); align-items: center; }.cx-kit__media { aspect-ratio: 5 / 4; overflow: hidden; background: var(--stone); }.cx-kit__media img { width: 100%; height: 100%; object-fit: cover; object-position: 60% 50%; }.cx-kit__text { display: grid; gap: 22px; justify-items: start; }.cx-kit__stats { display: flex; gap: clamp(28px, 4vw, 56px); padding: 22px 0; border-block: 1px solid var(--line); width: 100%; }.cx-kit__stats dt { font-family: var(--serif); font-size: 2rem; line-height: 1; }.cx-kit__stats dd { margin-top: 8px; font-size: 0.75rem; letter-spacing: 0.16em; text-transform: uppercase; color: var(--soft); }.cx-offers--tight { padding-top: clamp(40px, 5vw, 72px); }/* ---------- Stats band ---------- */
.cx-band { background: var(--bone); padding: clamp(72px, 9vw, 128px) 0; }.cx-band__grid { display: grid; grid-template-columns: 5fr 6fr; gap: clamp(32px, 6vw, 96px); align-items: center; }.cx-band__text { display: grid; gap: 20px; justify-items: start; }.cx-band__stats { display: grid; grid-template-columns: 1fr 1fr; }.cx-band__stats .cx-stat { padding: clamp(24px, 3vw, 40px) clamp(16px, 2vw, 32px); border-top: 1px solid var(--line); }.cx-band__stats .cx-stat:nth-child(odd) { border-right: 1px solid var(--line); padding-left: 0; }.cx-band__stats .cx-stat:nth-child(-n+2) { border-top: 0; }.cx-band__stats dt { color: var(--ink); }/* ---------- Editorial: Stop med at gætte ---------- */
.cx-edit { padding: clamp(88px, 11vw, 160px) 0; text-align: center; }.cx-edit__inner { display: grid; gap: 22px; justify-items: center; max-width: calc(760px + var(--gutter) * 2); }.cx-edit__rule { width: 1px; height: 56px; background: var(--gold); margin-bottom: 8px; }.cx-edit__lead { font-family: var(--serif); font-size: clamp(1.25rem, 1rem + 0.8vw, 1.75rem); line-height: 1.4; max-width: 34ch; }.cx-edit .cx-body { max-width: 56ch; }.cx-edit .cx-btn { margin-top: 14px; }/* ---------- Needs (tabs) ---------- */
.cx-need { padding: clamp(72px, 9vw, 128px) 0; border-top: 1px solid var(--line); }.cx-tabs { display: flex; justify-content: center; gap: 0; margin: -16px auto clamp(28px, 4vw, 48px); border-bottom: 1px solid var(--line); width: max-content; max-width: 100%; }.cx-tabs__btn { min-height: 48px; padding: 0 28px; font-size: 0.75rem; letter-spacing: 0.16em; text-transform: uppercase; font-weight: 500; color: var(--soft); position: relative; }.cx-tabs__btn[aria-selected='true'] { color: var(--ink); }.cx-tabs__btn[aria-selected='true']::after { content: ''; position: absolute; left: 28px; right: 28px; bottom: -1px; height: 1px; background: var(--ink); }.cx-need__grid { display: grid; grid-template-columns: 1fr 1fr; min-height: 560px; }.cx-need__media { overflow: hidden; background: var(--stone); }.cx-need__media img { width: 100%; height: 100%; object-fit: cover; }.cx-need__panel { background: var(--forest); color: #fff; padding: clamp(36px, 5vw, 80px); display: grid; gap: 22px; align-content: center; justify-items: start; }.cx-need__title { font-family: var(--serif); font-weight: 400; font-size: clamp(1.75rem, 1.3rem + 1.2vw, 2.5rem); }.cx-need__body { font-weight: 300; line-height: 1.7; color: rgb(255 255 255 / 0.82); max-width: 52ch; }.cx-need__feats { display: grid; gap: 12px; width: 100%; padding: 20px 0; border-block: 1px solid rgb(183 154 91 / 0.45); }.cx-need__feats li { display: flex; gap: 12px; align-items: center; font-size: 0.9375rem; }.cx-need__feats svg { width: 18px; height: 18px; flex: none; color: var(--gold); }.cx-need__actions { display: flex; flex-wrap: wrap; align-items: center; gap: 16px 28px; margin-top: 6px; }/* ---------- Plan (Mere end en test) ---------- */
.cx-plan { background: var(--bone); padding: clamp(72px, 9vw, 128px) 0; }.cx-plan__grid { display: grid; grid-template-columns: 5fr 6fr; gap: clamp(32px, 6vw, 96px); align-items: center; }.cx-plan__media { aspect-ratio: 4 / 5; overflow: hidden; }.cx-plan__media img { width: 100%; height: 100%; object-fit: cover; }.cx-plan__text { display: grid; gap: 18px; }.cx-plan__motto { font-family: var(--serif); font-style: italic; font-size: 1.375rem; }.cx-plan__stats { display: grid; grid-template-columns: repeat(3, 1fr); margin-top: 16px; border-top: 1px solid var(--ink); }.cx-plan__stats .cx-stat { padding-top: 22px; }.cx-plan__stats .cx-stat + .cx-stat { padding-left: 20px; border-left: 1px solid var(--line); }/* ---------- Analysis accordion ---------- */
.cx-acc { background: var(--ink); color: #fff; padding: clamp(72px, 9vw, 128px) 0; }.cx-acc__grid { display: grid; grid-template-columns: 5fr 7fr; gap: clamp(32px, 6vw, 96px); align-items: start; }.cx-acc__aside { display: grid; gap: 18px; position: sticky; top: 140px; }.cx-acc__aside .cx-body { color: rgb(255 255 255 / 0.72); }.cx-acc__list { border-top: 1px solid rgb(255 255 255 / 0.3); }.cx-acc__item { border-bottom: 1px solid rgb(255 255 255 / 0.14); }.cx-acc__q { display: grid; grid-template-columns: 48px 1fr 16px; align-items: center; gap: 16px; min-height: 76px; padding: 18px 0; cursor: pointer; list-style: none; }.cx-acc__q::-webkit-details-marker { display: none; }.cx-acc__n { font-family: var(--serif); color: var(--gold); font-size: 1.125rem; }.cx-acc__t { font-family: var(--serif); font-size: 1.375rem; display: flex; flex-wrap: wrap; align-items: baseline; gap: 4px 14px; }.cx-acc__t em { font-family: var(--sans); font-style: normal; font-size: 0.6875rem; letter-spacing: 0.16em; text-transform: uppercase; color: rgb(255 255 255 / 0.55); }.cx-acc__item[open] .cx-faq__icon::after { transform: rotate(0deg); }.cx-acc__a { padding: 0 32px 26px 64px; font-weight: 300; line-height: 1.7; color: rgb(255 255 255 / 0.75); max-width: 60ch; }/* ---------- Team ---------- */
.cx-team { padding: clamp(72px, 9vw, 128px) 0; }.cx-people { display: grid; grid-template-columns: repeat(3, 1fr); gap: clamp(20px, 4vw, 64px); max-width: 1040px; margin-inline: auto; }.cx-person { display: grid; justify-items: center; text-align: center; gap: 6px; }.cx-person img { width: min(100%, 240px); aspect-ratio: 1; border-radius: 50%; object-fit: cover; margin-bottom: 18px; background: var(--stone); }.cx-person__name { font-family: var(--serif); font-size: 1.375rem; }.cx-person__role { font-size: 0.75rem; letter-spacing: 0.16em; text-transform: uppercase; color: var(--gold); }/* ---------- BEMER ---------- */
.cx-bemer { background: var(--bone); padding: clamp(72px, 9vw, 128px) 0; }.cx-bemer__grid { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(32px, 6vw, 96px); align-items: center; }.cx-bemer__visual { background: #fff; aspect-ratio: 4 / 3; display: grid; place-content: center; justify-items: center; gap: 28px; padding: 40px; }.cx-bemer__visual img { width: min(320px, 70%); }.cx-bemer__visual span { font-size: 0.75rem; letter-spacing: 0.2em; text-transform: uppercase; color: var(--soft); }.cx-bemer__text { display: grid; gap: 20px; justify-items: start; }.cx-pills { display: flex; flex-wrap: wrap; gap: 10px; }.cx-pills li { padding: 9px 18px; border: 1px solid var(--line); font-size: 0.75rem; letter-spacing: 0.16em; text-transform: uppercase; background: var(--paper); }/* ---------- Reviews ---------- */
.cx-reviews { padding: clamp(72px, 9vw, 128px) 0; overflow: hidden; }.cx-reviews__head { display: flex; align-items: end; justify-content: space-between; gap: 24px; margin-bottom: clamp(28px, 4vw, 48px); }.cx-reviews__head > div { display: grid; gap: 16px; }.cx-reviews__nav { display: flex; gap: 8px; }.cx-rbtn { width: 48px; height: 48px; display: grid; place-items: center; border: 1px solid var(--line); transition: border-color 200ms, background-color 200ms; }.cx-rbtn:hover { border-color: var(--ink); }.cx-rbtn svg { width: 16px; height: 16px; }.cx-rbtn .cx-flip, .cx-flip { transform: scaleX(-1); }.cx-reviews__list { display: grid; grid-auto-flow: column; grid-auto-columns: calc((100% - 2 * clamp(14px, 2vw, 28px)) / 3); gap: clamp(14px, 2vw, 28px); overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; padding-bottom: 4px; }.cx-reviews__list::-webkit-scrollbar { display: none; }.cx-review { scroll-snap-align: start; display: flex; flex-direction: column; gap: 20px; padding: clamp(24px, 3vw, 40px); background: var(--bone); }.cx-review blockquote { margin: 0; flex: 1; }.cx-review blockquote p { font-family: var(--serif); font-size: 1.125rem; line-height: 1.55; }.cx-review__name { font-size: 0.75rem; letter-spacing: 0.16em; text-transform: uppercase; color: var(--soft); }/* ---------- Dealer ---------- */
.cx-dealer { padding: clamp(72px, 9vw, 128px) 0; border-top: 1px solid var(--line); }.cx-dealer__grid { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(20px, 3vw, 48px); }.cx-dcard { display: grid; gap: 14px; justify-items: start; }.cx-dcard__media { width: 100%; aspect-ratio: 3 / 2; overflow: hidden; margin-bottom: 8px; }.cx-dcard__media img { width: 100%; height: 100%; object-fit: cover; transition: transform 900ms var(--ease); }.cx-dcard:hover .cx-dcard__media img { transform: scale(1.03); }.cx-dcard__title { font-family: var(--serif); font-weight: 400; font-size: 1.75rem; }/* ---------- FAQ image + SEO ---------- */
.cx-faq__img { margin-top: 16px; aspect-ratio: 1; overflow: hidden; max-width: 420px; }.cx-faq__img img { width: 100%; height: 100%; object-fit: cover; }.cx-seo { background: var(--bone); padding: clamp(64px, 8vw, 104px) 0; }.cx-seo__grid { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(32px, 6vw, 96px); }.cx-seo__grid > div { display: grid; gap: 14px; align-content: start; }.cx-seo p { font-size: 0.9375rem; line-height: 1.75; font-weight: 300; color: var(--soft); }.cx-seo__h { font-family: var(--serif); font-weight: 400; font-size: 1.5rem; margin-bottom: 4px; }.cx-seo__motto { font-family: var(--serif); font-style: italic; color: var(--ink) !important; font-size: 1.125rem !important; }/* ---------- Guidance ---------- */
.cx-guide { padding: clamp(72px, 9vw, 128px) 0; }.cx-guide__grid { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(24px, 4vw, 64px); }.cx-guide__item { display: grid; gap: 14px; justify-items: start; padding-top: 28px; border-top: 1px solid var(--ink); }.cx-guide__title { font-family: var(--serif); font-weight: 400; font-size: 1.75rem; }/* ---------- FAQ ---------- */
.cx-faq { padding: clamp(72px, 9vw, 128px) 0; border-top: 1px solid var(--line); }.cx-faq__grid { display: grid; grid-template-columns: 4fr 7fr; gap: clamp(24px, 5vw, 96px); align-items: start; }.cx-faq__aside { display: grid; gap: 18px; }.cx-faq__list { border-top: 1px solid var(--ink); }.cx-faq__item { border-bottom: 1px solid var(--line); }.cx-faq__q { display: flex; align-items: center; justify-content: space-between; gap: 20px; min-height: 72px; padding: 18px 0; font-family: var(--serif); font-size: 1.25rem; cursor: pointer; list-style: none; }.cx-faq__q::-webkit-details-marker { display: none; }.cx-faq__icon { position: relative; flex: none; width: 16px; height: 16px; }.cx-faq__icon::before, .cx-faq__icon::after { content: ''; position: absolute; top: 50%; left: 0; width: 16px; height: 1px; background: currentColor; transition: transform 300ms var(--ease); }.cx-faq__icon::after { transform: rotate(90deg); }.cx-faq__item[open] .cx-faq__icon::after { transform: rotate(0deg); }.cx-faq__a { padding: 0 48px 26px 0; line-height: 1.7; font-weight: 300; color: var(--soft); max-width: 64ch; }/* ---------- Footer ---------- */
.cx-foot { background: var(--ink); color: #fff; padding: clamp(64px, 8vw, 104px) 0 48px; }.cx-foot__grid { display: grid; grid-template-columns: 4fr 2fr 2fr 2fr; gap: 40px; }.cx-foot__brand { display: grid; gap: 16px; align-content: start; color: rgb(255 255 255 / 0.72); line-height: 1.7; font-weight: 300; }.cx-foot__logo { height: 28px; width: auto; }.cx-foot__contact span { color: rgb(255 255 255 / 0.55); }.cx-foot__switch { justify-self: start; color: #fff; text-decoration: none; border-bottom: 1px solid currentColor; text-transform: uppercase; letter-spacing: 0.16em; font-size: 0.75rem; padding-bottom: 4px; }.cx-foot__h { color: var(--gold); margin-bottom: 18px; }.cx-foot__sub { font-size: 0.75rem; letter-spacing: 0.16em; text-transform: uppercase; color: rgb(255 255 255 / 0.5); margin: 12px 0 4px; }.cx-foot li { min-height: 32px; display: flex; align-items: center; color: rgb(255 255 255 / 0.78); font-size: 0.875rem; font-weight: 300; }.cx /* ---------- Responsive ---------- */
@media (max-width: 1180px) {.cx-dnav__list { gap: 4px 18px; }.cx-switch { display: none; }
}@media (max-width: 989px) {.cx-dnav { display: none; }.cx-site-header__row { grid-template-columns: 1fr auto 1fr; min-height: 64px; }.cx-logo-btn { grid-column: 2; }.cx-actions { grid-column: 3; }.cx-mbar { display: flex; border-top: 1px solid var(--line); }.cx-mbar__btn { flex: 1; display: flex; align-items: center; justify-content: space-between; gap: 12px; min-height: 50px; padding: 0 var(--gutter); }.cx-mbar__dept { color: var(--ink); }.cx-mbar__menu { display: inline-flex; align-items: center; gap: 8px; color: var(--soft); }.cx-mbar__menu svg { width: 10px; height: 10px; transition: transform 200ms; }.cx-mbar__btn[aria-expanded='true'] .cx-mbar__menu svg { transform: rotate(180deg); }.cx-mbar__switch { display: inline-flex; align-items: center; padding: 0 var(--gutter) 0 18px; border-left: 1px solid var(--line); color: var(--soft); text-decoration: none; white-space: nowrap; }.cx-mnav:not([hidden]) { display: block; border-top: 1px solid var(--line); padding: 4px var(--gutter) 14px; background: var(--paper); }.cx-mnav__link { width: 100%; text-align: left; min-height: 52px; border-bottom: 1px solid var(--line); }.cx-mnav li:last-child .cx-mnav__link { border-bottom: 0; }.cx-kit__grid, .cx-band__grid, .cx-plan__grid, .cx-acc__grid, .cx-bemer__grid { grid-template-columns: 1fr; }.cx-acc__aside { position: static; }.cx-plan__media { aspect-ratio: 4 / 3; }.cx-need__grid { grid-template-columns: 1fr; min-height: 0; }.cx-need__media { aspect-ratio: 4 / 3; }.cx-reviews__list { grid-auto-columns: calc((100% - clamp(14px, 2vw, 28px)) / 2); }.cx-products { grid-template-columns: repeat(2, 1fr); }.cx-strip__list { grid-template-columns: 1fr; }.cx-strip__item { padding: 20px 0; }.cx-strip__item + .cx-strip__item { border-left: 0; border-top: 1px solid var(--line); }.cx-foot__grid { grid-template-columns: 1fr 1fr; }.cx-foot__brand { grid-column: 1 / -1; }
}@media (max-width: 749px) {.cx-hero__logo { height: 28px; }.cx-hero__choices { gap: 26px; }.cx-hero__divider { height: 22px; }.cx-choice { letter-spacing: 0.2em; }.cx-logo-dark { height: 24px; }.cx-ehero { min-height: 78vh; }.cx-ehero__actions .cx-btn { flex: 1 1 auto; }.cx-panels { grid-template-columns: 1fr; }.cx-panel { height: 56vh; }.cx-steps__list, .cx-guide__grid, .cx-faq__grid, .cx-dealer__grid, .cx-seo__grid { grid-template-columns: 1fr; }.cx-people { grid-template-columns: 1fr; gap: 40px; }.cx-person img { width: 200px; }.cx-reviews__list { grid-auto-columns: 86%; }.cx-reviews__nav { display: none; }.cx-plan__stats .cx-stat + .cx-stat { padding-left: 12px; }.cx-acc__q { grid-template-columns: 36px 1fr 16px; gap: 12px; }.cx-acc__a { padding-left: 48px; padding-right: 0; }.cx-tabs__btn { padding: 0 18px; }.cx-tabs__btn[aria-selected='true']::after { left: 18px; right: 18px; }.cx-band__stats .cx-stat { padding-inline: 16px 0; }.cx-band__stats .cx-stat:nth-child(odd) { padding-right: 16px; }.cx-products { grid-auto-flow: column; grid-template-columns: none; grid-auto-columns: 66%; overflow-x: auto; scroll-snap-type: x mandatory; margin-inline: calc(var(--gutter) * -1); padding-inline: var(--gutter); padding-bottom: 8px; }.cx-products > li { scroll-snap-align: start; }.cx-faq__a { padding-right: 0; }
}@media (prefers-reduced-motion: reduce) {.cx-hero__media video { display: none; }
}.cx main [id] { scroll-margin-top: 96px; }@media (max-width: 989px) {.cx main [id] { scroll-margin-top: 124px; } }

/* Entrance layout */
.cx-entrance-body { margin: 0; background: #0f1512; }
.cx-hero__media video.is-playing { opacity: 1; }
.cx-hero__logo-text { font-family: var(--serif); font-size: 1.75rem; }
.cx-hero__media img { position: absolute; inset: 0; }
.ct-footer__heading { font-family: var(--font-body--family) !important; font-weight: 500 !important; }

/* ================================================================== */
/* Department colour: Human = CellaTest blue, Animal = CellaTest green */
/* ================================================================== */
:root { --dept: #223e2f; --dept-deep: #1a3025; --dept-rgb: 34 62 47; --dept-gold: #8a6d33; }
html[data-ct-dept='human'] { --dept: #3a5775; --dept-deep: #2d4660; --dept-rgb: 58 87 117; }
.cx { --forest: var(--dept); }
.cx-steps, .cx-need__panel { background: var(--dept); }
.cx-acc { background: var(--dept-deep); }
.cx-btn--ink { background: var(--dept); border-color: var(--dept); }
.cx-btn--ink:hover { background: transparent; color: var(--dept); border-color: var(--dept); }
.cx-btn--light { color: var(--dept); }
.cx-link, .cx-rbtn:hover { color: var(--dept); }
.cx-link--light { color: #fff; }
.cx-stat dt, .cx-kit__stats dt { color: var(--dept); }
.cx-tabs__btn[aria-selected='true'] { color: var(--dept); }
.cx-tabs__btn[aria-selected='true']::after { background: var(--dept); }
.cx-plan__stats { border-top-color: var(--dept); }
.cx-faq__list { border-top-color: var(--dept); }
.cx-guide__item { border-top-color: var(--dept); }
.cx-review { background: rgb(var(--dept-rgb) / 0.06); }
.ct-footer { background: var(--dept-deep); }
.ct-dnav__badge, .ct-deptbar__dept { color: var(--dept) !important; }

/* Horizon colour schemes follow the department (announcement bar, product-page blocks, buttons) */
html[data-ct-dept='human'] .color-scheme-4 {
  --color-background: rgb(58 87 117); --color-background-rgb: 58 87 117;
}
html[data-ct-dept='human'] :is(.color-scheme-1, .color-scheme-930662b8-f9af-48cc-8d5b-2a747a656413) {
  --color-primary-button-background: rgb(58 87 117); --color-primary-button-border: rgb(58 87 117);
  --color-primary-button-hover-background: rgb(45 70 96); --color-primary-button-hover-border: rgb(45 70 96);
}

/* ================================================================== */
/* Readability: sturdier serif, regular-weight body, darker text      */
/* ================================================================== */
.cx { --soft: #3f4642; --gold: #8a6d33; }
.cx :is(.cx-body, .cx-lead, .cx-strip__text, .cx-need__body, .cx-acc__a, .cx-faq__a, .cx-step__text, .cx-ehero__lead) { font-weight: 400; }
.cx-body { font-size: 1.0625rem; line-height: 1.7; }
.cx-lead { font-size: clamp(1.0625rem, 1rem + 0.25vw, 1.1875rem); }
.cx-strip__text { font-size: 0.9375rem; }
.cx-seo p { font-weight: 400; color: #3f4642; font-size: 1rem; }
.cx-need__body, .cx-step__text { color: rgb(255 255 255 / 0.9); }
.cx-acc__a, .cx-acc__aside .cx-body { color: rgb(255 255 255 / 0.88); }
.cx-kicker, .cx-link, .cx-btn, .cx-pcard__aud, .cx-person__role, .cx-stat dd, .cx-kit__stats dd, .cx-review__name, .cx-tabs__btn, .cx-panel__go, .cx-pills li {
  font-size: 0.8125rem; letter-spacing: 0.1em;
}
.cx-stat dd, .cx-kit__stats dd, .cx-review__name { color: #3f4642; }
.cx-badge { font-size: 0.875rem; color: #3f4642; }
.cx-badge--light { color: #fff; }
.cx-display { font-size: clamp(2.25rem, 1.3rem + 3.4vw, 4.5rem); line-height: 1.08; letter-spacing: -0.015em; }
.cx-title--xl { font-size: clamp(2rem, 1.3rem + 2.4vw, 3.5rem); line-height: 1.12; }
.cx-title--lg { font-size: clamp(1.75rem, 1.25rem + 1.6vw, 2.75rem); line-height: 1.15; }
.cx-edit__lead { font-size: clamp(1.1875rem, 1rem + 0.6vw, 1.5rem); line-height: 1.5; }
.cx-review blockquote p { font-size: 1.0625rem; line-height: 1.6; }
.cx-faq__q { font-size: 1.125rem; }
.cx-acc__t { font-size: 1.1875rem; }
.cx-pcard__name { font-size: 1.0625rem; }
.cx-pcard__price { font-size: 0.9375rem; color: #3f4642; }
.ct-footer__list a, .ct-footer__tagline, .ct-footer__contact { font-weight: 400; color: rgb(255 255 255 / 0.9); }
/* Gold on dark department panels stays light enough to read */
:is(.cx-acc, .cx-steps, .cx-need__panel) { --gold: #d9c48f; }
.cx-acc__t em { color: rgb(255 255 255 / 0.7); }
footer.ct-footer h2.ct-footer__heading { font-family: var(--font-body--family) !important; font-weight: 500 !important; }

/* ================================================================== */
/* Product page (CT: Produkt) - buy box modelled on the aioss layout   */
/* ================================================================== */
.cx-pdp { --r: 10px; --tint: rgb(var(--dept-rgb) / 0.1); padding: clamp(20px, 3vw, 40px) 0 clamp(56px, 7vw, 96px); background: var(--paper); }
.cx-pdp__grid { display: grid; grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); gap: clamp(28px, 4.5vw, 72px); align-items: start; }
.cx-gal { position: sticky; top: calc(var(--header-height, 90px) + 16px); display: grid; gap: 12px; min-width: 0; }
.cx-gal__stage { position: relative; }
.cx-gal__track { display: grid; grid-auto-flow: column; grid-auto-columns: 100%; overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; background: #fff; border-radius: var(--r); }
.cx-gal__track::-webkit-scrollbar { display: none; }
.cx-gal__slide { scroll-snap-align: start; aspect-ratio: 1; display: grid; place-items: center; overflow: hidden; }
.cx-gal__slide :is(img, video) { width: 100%; height: 100%; object-fit: cover; }
.cx-gal__nav { position: absolute; top: 50%; transform: translateY(-50%); width: 40px; height: 40px; border-radius: 50%; display: grid; place-items: center; background: rgb(255 255 255 / 0.92); color: var(--ink); box-shadow: 0 1px 4px rgb(0 0 0 / 0.12); }
.cx-gal__nav svg { width: 15px; height: 15px; }
.cx-gal__nav--prev { left: 12px; } .cx-gal__nav--next { right: 12px; }
.cx-gal__thumbs { display: flex; gap: 10px; overflow-x: auto; scrollbar-width: none; }
.cx-gal__thumb { width: 72px; height: 72px; flex: none; border: 1px solid var(--line); border-radius: 6px; background: #fff; overflow: hidden; transition: border-color 200ms; }
.cx-gal__thumb img { width: 100%; height: 100%; object-fit: cover; }
.cx-gal__thumb.is-active, .cx-gal__thumb:hover { border-color: var(--ink); }

.cx-buy { display: grid; gap: 16px; min-width: 0; font-family: var(--sans); }
.cx-buy .cx-badge { font-size: 0.9375rem; color: var(--ink); }
.cx-buy .cx-stars { color: #e8a317; }
.cx-buy .cx-stars svg { width: 17px; height: 17px; }
.cx-buy__title { font-family: var(--serif); font-size: clamp(1.75rem, 1.35rem + 1.2vw, 2.375rem); line-height: 1.15; }
.cx-buy__intro { font-size: 1.0625rem; line-height: 1.6; color: var(--soft); }
.cx-buy__usps { display: grid; gap: 8px; }
.cx-buy__usps li { display: flex; gap: 10px; align-items: flex-start; font-size: 1.0625rem; line-height: 1.45; color: var(--ink); }
.cx-buy__usps svg { width: 18px; height: 18px; flex: none; margin-top: 3px; color: var(--ink); }
.cx-buy__form { display: grid; gap: 14px; margin-top: 6px; }
.cx-opt { border: 0; margin: 0; padding: 0; min-width: 0; }
.cx-opt[hidden] { display: none; }
.cx-opt__legend { display: block; padding: 0; margin: 0 0 8px; font-size: 1rem; font-weight: 600; letter-spacing: 0; text-transform: none; color: var(--ink); }

/* Plan cards */
.cx-plans { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.cx-plan__card { position: relative; display: grid; gap: 2px; width: 100%; height: 100%; padding: 14px 14px 12px; border: 1px solid #d9d6cc; border-radius: var(--r); background: #fff; cursor: pointer; transition: background-color 200ms, border-color 200ms, color 200ms; }
.cx-plan__top { display: flex; align-items: center; justify-content: space-between; gap: 8px; min-height: 28px; }
.cx-plan__name { font-size: 0.875rem; font-weight: 500; }
.cx-plan__off { padding: 4px 9px; border-radius: 6px; background: var(--tint); color: var(--dept); font-size: 0.875rem; font-weight: 700; white-space: nowrap; }
.cx-plan__price { font-family: var(--sans); font-size: clamp(1.375rem, 1.1rem + 0.8vw, 1.75rem); font-weight: 700; letter-spacing: -0.02em; line-height: 1.15; }
.cx-plan__meta { font-size: 0.8125rem; color: var(--soft); }
.cx-plan__ribbon { position: absolute; top: -10px; left: 50%; transform: translateX(-50%); padding: 2px 12px; border-radius: 6px; background: #dfe8f0; color: var(--ink); font-size: 0.6875rem; font-weight: 700; letter-spacing: 0.12em; text-transform: uppercase; white-space: nowrap; }
html[data-ct-dept='animal'] .cx-plan__ribbon { background: #e1ebe4; }
.cx-plan input:checked + .cx-plan__card { background: var(--dept-deep); border-color: var(--dept-deep); color: #fff; }
.cx-plan input:checked + .cx-plan__card .cx-plan__meta { color: rgb(255 255 255 / 0.75); }
.cx-plan input:checked + .cx-plan__card .cx-plan__off { background: rgb(255 255 255 / 0.9); color: var(--dept-deep); }
.cx-plan input:focus-visible + .cx-plan__card, .cx-kit2__opt input:focus-visible + .cx-kit2__card { outline: 2px solid var(--dept); outline-offset: 3px; }

/* Second kit ("taste" cards) */
.cx-kit2__row { display: grid; grid-template-columns: repeat(3, 1fr); gap: 8px; }
.cx-kit2__card { display: grid; gap: 8px; justify-items: start; height: 100%; padding: 12px; border: 1px solid #d9d6cc; border-radius: var(--r); background: #fff; cursor: pointer; transition: background-color 200ms, color 200ms; }
.cx-kit2__name { font-weight: 700; font-size: 1.0625rem; }
.cx-kit2__chip { display: inline-flex; align-items: center; gap: 6px; padding: 3px 9px; border-radius: 99px; background: #efede6; font-size: 0.75rem; font-weight: 600; color: var(--ink); }
.cx-kit2__chip i { width: 6px; height: 6px; border-radius: 50%; background: #9aa3a8; }
.cx-kit2__opt input:checked + .cx-kit2__card { background: var(--dept-deep); border-color: var(--dept-deep); color: #fff; }
.cx-kit2__opt input:checked + .cx-kit2__card .cx-kit2__chip { background: rgb(255 255 255 / 0.14); color: #fff; }
.cx-kit2__opt input:checked + .cx-kit2__card .cx-kit2__chip i { background: #9fc0dc; }

/* Order summary (the "Subscribe & Save" box) */
.cx-sum__legend { margin-bottom: -6px; }
.cx-sum { display: grid; gap: 14px; padding: 18px 20px 20px; border: 2px solid var(--ink); border-radius: var(--r); background: #fff; }
.cx-sum__row { display: grid; grid-template-columns: 20px 1fr auto; gap: 12px; align-items: center; padding-bottom: 14px; border-bottom: 1px solid rgb(var(--dept-rgb) / 0.35); }
.cx-sum__radio { width: 20px; height: 20px; border-radius: 50%; border: 2px solid var(--ink); box-shadow: inset 0 0 0 3px #fff; background: var(--ink); }
.cx-sum__label { font-size: 0.9375rem; }
.cx-sum__prices { display: flex; align-items: baseline; gap: 8px; white-space: nowrap; }
.cx-sum__prices s { font-size: 0.8125rem; color: var(--soft); }
.cx-sum__prices strong { font-size: 1.125rem; font-weight: 700; font-variant-numeric: tabular-nums; }
.cx-sum__note { font-size: 0.8125rem; color: var(--soft); margin-top: -6px; }
.cx-sum__checks { display: grid; gap: 8px; padding-left: 32px; }
.cx-sum__checks li { display: flex; gap: 12px; font-size: 0.875rem; font-weight: 600; }
.cx-pack { margin-left: 32px; border: 1px solid var(--ink); border-radius: 8px; overflow: hidden; }
.cx-pack__head { display: flex; align-items: center; gap: 10px; padding: 12px 16px; background: var(--dept-deep); color: #fff; font-size: 0.9375rem; font-weight: 700; }
.cx-pack__head svg { width: 18px; height: 18px; }
.cx-pack__grid { display: grid; grid-template-columns: 1fr 1fr; gap: 12px 16px; padding: 14px 16px; }
.cx-pack__item { display: flex; gap: 12px; align-items: center; min-width: 0; }
.cx-pack__img { width: 50px; height: 50px; flex: none; border: 1px solid var(--line); border-radius: 6px; display: grid; place-items: center; overflow: hidden; background: #fff; }
.cx-pack__img img { width: 100%; height: 100%; object-fit: contain; }
.cx-pack__name { display: block; font-size: 0.8125rem; line-height: 1.3; }
.cx-pack__val { display: block; font-size: 0.8125rem; color: var(--soft); }
.cx-qty { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding-left: 32px; }
.cx-qty__label { font-size: 0.9375rem; font-weight: 600; }
.cx-qty__ctrl { display: inline-grid; grid-template-columns: 40px 48px 40px; border: 1px solid var(--line); border-radius: 99px; background: #fff; overflow: hidden; }
.cx-qty__ctrl button { height: 40px; font-size: 1.125rem; }
.cx-qty__ctrl input { width: 100%; text-align: center; border: 0; font: inherit; font-size: 0.9375rem; font-weight: 600; background: transparent; -moz-appearance: textfield; }
.cx-qty__ctrl input::-webkit-inner-spin-button { -webkit-appearance: none; }

/* Add-on card */
.cx-addon { position: relative; display: grid !important; grid-template-columns: 22px 1fr auto; gap: 18px; align-items: center !important; margin: 4px 0 0; padding: 22px 20px 20px 24px; border: 1px solid #e3dfd3; border-top: 3px solid var(--ink); border-radius: var(--r); background: #fff; cursor: pointer; }
.cx-addon__box { width: 20px; height: 20px; border: 1.5px solid #b9b4a6; border-radius: 4px; display: grid; place-items: center; color: transparent; background: #fff; }
.cx-addon__box svg { width: 14px; height: 14px; }
.cx-addon input:checked ~ .cx-addon__box { background: var(--dept); border-color: var(--dept); color: #fff; }
.cx-addon input:focus-visible ~ .cx-addon__box { outline: 2px solid var(--dept); outline-offset: 3px; }
.cx-addon__text { display: grid; gap: 3px; }
.cx-addon__title { font-weight: 600; font-size: 1.125rem; color: var(--ink); }
.cx-addon__price { font-size: 0.9375rem; color: var(--soft); }
.cx-addon__desc { font-size: 0.875rem; font-style: italic; color: var(--soft); line-height: 1.45; }
.cx-addon__more { justify-self: start; font-size: 0.75rem; font-weight: 600; color: var(--soft); text-decoration: underline; text-underline-offset: 3px; margin-top: 2px; }
.cx-addon__img img { width: 72px; height: 72px; object-fit: contain; }

/* CTA */
.cx-buy__cta { display: flex; align-items: center; justify-content: center; min-height: 62px; width: 100%; margin-top: 6px; padding: 0 24px; border-radius: 99px; background: var(--dept-deep); color: #fff; font-size: 1.1875rem; font-weight: 600; letter-spacing: 0; text-transform: none; transition: background-color 200ms, transform 120ms; }
.cx-buy__cta:hover { background: var(--dept); }
.cx-buy__cta:active { transform: scale(0.99); }
.cx-buy__cta[disabled] { opacity: 0.5; cursor: not-allowed; }
.cx-buy__cta[aria-busy='true'] { opacity: 0.75; }
.cx-buy__reassure { text-align: center; font-size: 1.0625rem; color: var(--ink); }
.cx-buy__error { color: #a3261b; font-size: 0.9375rem; }
.cx-pay { display: flex; flex-wrap: wrap; justify-content: center; gap: 6px; }
.cx-pay svg { width: 38px; height: 24px; }

/* Accordions */
.cx-acc2 { border-top: 1px solid var(--ink); margin-top: 6px; }
.cx-acc2__item { border-bottom: 1px solid var(--ink); }
.cx-acc2__item summary { display: flex; align-items: center; justify-content: space-between; min-height: 56px; cursor: pointer; list-style: none; font-weight: 600; font-size: 1.125rem; }
.cx-acc2__item summary::-webkit-details-marker { display: none; }
.cx-acc2__t { display: inline-flex; align-items: center; gap: 10px; }
.cx-acc2__t svg { width: 18px; height: 18px; }
.cx-acc2__item[open] .cx-faq__icon::after { transform: rotate(0deg); }
.cx-acc2__body { padding: 0 0 20px; color: var(--soft); line-height: 1.7; font-size: 1rem; }
.cx-buy__videos { margin-top: 8px; overflow: hidden; }

@media (max-width: 989px) {
  .cx-pdp__grid { grid-template-columns: 1fr; }
  .cx-gal { position: static; }
  .cx-gal__nav { display: none; }
}
@media (max-width: 749px) {
  .cx-pdp { padding-top: 0; }
  .cx-pdp .cx-gal { margin-inline: calc(var(--gutter) * -1); }
  .cx-gal__track { border-radius: 0; }
  .cx-gal__thumbs { padding-inline: var(--gutter); }
  .cx-pack, .cx-sum__checks, .cx-qty { margin-left: 0; padding-left: 0; }
  .cx-pack__grid { grid-template-columns: 1fr; }
  .cx-sum { padding: 16px; }
  .cx-addon { grid-template-columns: 22px 1fr; padding: 18px 16px; align-items: start !important; }
  .cx-addon__box { margin-top: 3px; }
  .cx-addon__img { display: none; }
}

/* Comparison band */
.cx-cmp { background: var(--dept-deep); color: #fff; padding: clamp(64px, 8vw, 112px) 0; }
.cx-cmp__h { text-align: center; margin-bottom: clamp(28px, 4vw, 48px); }
.cx-cmp__grid { display: grid; grid-template-columns: repeat(2, minmax(0, 420px)); justify-content: center; gap: clamp(16px, 2vw, 24px); }
.cx-cmp__card { background: var(--paper); color: var(--ink); display: grid; grid-template-rows: auto 1fr; }
.cx-cmp__media { aspect-ratio: 1; overflow: hidden; background: var(--stone); }
.cx-cmp__media img { width: 100%; height: 100%; object-fit: cover; }
.cx-cmp__body { display: grid; gap: 12px; align-content: start; justify-items: start; padding: 22px 22px 26px; }
.cx-cmp__title { font-family: var(--serif); font-size: 1.5rem; display: flex; align-items: center; gap: 10px; flex-wrap: wrap; }
.cx-cmp__badge { font-family: var(--sans); font-size: 0.6875rem; font-weight: 600; letter-spacing: 0.08em; text-transform: uppercase; padding: 3px 9px; background: var(--dept); color: #fff; }
.cx-cmp__sub { font-style: italic; color: var(--soft); }
.cx-cmp__list { display: grid; gap: 10px; }
.cx-cmp__list li { display: flex; gap: 10px; align-items: center; font-size: 0.9375rem; }
.cx-cmp__list svg { width: 18px; height: 18px; flex: none; color: var(--dept); }
.cx-cmp .cx-btn { margin-top: 6px; }

@media (max-width: 989px) {
  .cx-pdp__grid { grid-template-columns: 1fr; }
  .cx-gal { position: static; }
  .cx-gal__nav { display: none; }
}
@media (max-width: 749px) {
  .cx-pdp { padding-top: 0; }
  .cx-pdp .cx-gal { margin-inline: calc(var(--gutter) * -1); }
  .cx-gal__thumbs { padding-inline: var(--gutter); }
  .cx-inc__list { grid-template-columns: 1fr; }
  .cx-cmp__grid { grid-template-columns: 1fr; }
  .cx-plan__price { font-size: 1.3125rem; }
}

.cx-buy > *, .cx-buy__form > * { min-width: 0; }
.cx-buy__videos { overflow: hidden; }
.cx-plan, .cx-kit2__opt { display: block; position: relative; background: none; padding: 0; margin: 0; }


.cx .cx-cmp__h { margin-bottom: clamp(28px, 4vw, 48px); }
.cx-addon input, .cx-plan input, .cx-kit2__opt input { position: absolute !important; width: 1px !important; height: 1px !important; margin: 0 !important; opacity: 0 !important; pointer-events: none; }



.cx-buy { grid-template-columns: minmax(0, 1fr); }
.cx-plan, .cx-kit2__opt { display: block !important; position: relative; }
.cx-plan input, .cx-kit2__opt input, .cx-addon input { position: absolute !important; width: 1px !important; height: 1px !important; margin: 0 !important; opacity: 0 !important; pointer-events: none; }

.cx-plan__price--sm { font-size: 1.0625rem !important; letter-spacing: 0 !important; line-height: 1.3 !important; margin-top: 2px; }
.cx-pack__img--gift { color: var(--dept); background: var(--tint); border-color: transparent; }
.cx-pack__img--gift svg { width: 24px; height: 24px; }
.cx-pack__val strong { color: var(--dept); }
.cx-buy__note { text-align: center; font-size: 0.875rem; color: var(--soft); margin-top: -6px; }

/* ---------- Klaviyo offer (Hundepakken / Hestepakken) ---------- */
.cx-plan--deal .cx-plan__card { border: 2px solid var(--gold); }
.cx-plan__ribbon--gold { background: var(--gold) !important; color: #fff !important; }
.cx-plan__was { font-size: 0.8125rem; color: var(--soft); text-decoration: line-through; margin-top: 2px; }
.cx-plan input:checked + .cx-plan__card .cx-plan__was { color: rgb(255 255 255 / 0.65); }
.cx-plan--deal .cx-plan__off { background: var(--gold); color: #fff; }
.cx-plan--deal input:checked + .cx-plan__card { border-color: var(--gold); box-shadow: 0 10px 28px -14px rgb(var(--dept-rgb) / 0.7); }
.cx-plan--deal input:checked + .cx-plan__card .cx-plan__off { background: var(--gold); color: #fff; }

.cx-deal-flag { display: flex; align-items: center; gap: 10px; padding: 12px 16px; border-radius: 10px; background: #e7f1e9; color: #1f5132; font-size: 0.9375rem; font-weight: 600; }
.cx-deal-flag svg { width: 18px; height: 18px; flex: none; }
.cx-deal-flag[hidden] { display: none; }

.cx-deal { border: 2px solid var(--gold); border-radius: 12px; background: #fff; overflow: hidden; }
.cx-deal[hidden] { display: none; }
.cx-deal__head { display: flex; align-items: center; justify-content: space-between; gap: 12px; flex-wrap: wrap; padding: 14px 18px; background: var(--dept-deep); color: #fff; }
.cx-deal__kicker { font-size: 0.8125rem; font-weight: 600; letter-spacing: 0.1em; text-transform: uppercase; color: #e8d7a8; }
.cx-deal__save { padding: 5px 12px; border-radius: 99px; background: var(--gold); color: #fff; font-size: 0.9375rem; font-weight: 700; white-space: nowrap; }
.cx-deal__lines { display: grid; }
.cx-deal__line { display: grid; grid-template-columns: 64px 1fr auto; gap: 14px; align-items: center; padding: 14px 18px; border-bottom: 1px solid var(--line); }
.cx-deal__line--gift { background: linear-gradient(90deg, rgb(183 154 91 / 0.12), rgb(183 154 91 / 0.02)); }
.cx-deal__img { position: relative; width: 64px; height: 64px; border-radius: 8px; border: 1px solid var(--line); background: #fff; display: grid; place-items: center; }
.cx-deal__img img { width: 100%; height: 100%; object-fit: contain; border-radius: 8px; }
.cx-deal__bow { position: absolute; top: -8px; right: -8px; width: 26px; height: 26px; border-radius: 50%; background: var(--gold); color: #fff; display: grid; place-items: center; box-shadow: 0 2px 6px rgb(0 0 0 / 0.15); }
.cx-deal__bow svg { width: 15px; height: 15px; }
.cx-deal__name { display: grid; gap: 2px; font-weight: 600; font-size: 1rem; line-height: 1.3; }
.cx-deal__name small { font-weight: 400; font-size: 0.8125rem; color: var(--soft); }
.cx-deal__price { display: grid; justify-items: end; gap: 1px; white-space: nowrap; }
.cx-deal__price s { font-size: 0.8125rem; color: var(--soft); }
.cx-deal__price strong { font-size: 1.0625rem; font-weight: 700; font-variant-numeric: tabular-nums; }
.cx-deal__free { color: #1f7a45; text-transform: uppercase; letter-spacing: 0.06em; }
.cx-deal__tag { font-style: normal; font-size: 0.75rem; font-weight: 700; color: var(--dept); background: var(--tint); padding: 1px 7px; border-radius: 5px; }
.cx-deal__total { display: flex; align-items: center; justify-content: space-between; padding: 14px 18px; font-weight: 600; }
.cx-deal__sum { display: flex; align-items: baseline; gap: 10px; }
.cx-deal__sum s { color: var(--soft); font-weight: 400; font-size: 0.9375rem; }
.cx-deal__sum strong { font-size: 1.5rem; font-weight: 800; letter-spacing: -0.02em; color: var(--dept-deep); }
.cx-deal__steps { display: grid; grid-template-columns: repeat(3, 1fr); gap: 8px; margin: 0; padding: 12px 18px 16px; list-style: none; background: var(--bone); }
.cx-deal__steps li { display: flex; align-items: center; gap: 8px; font-size: 0.8125rem; line-height: 1.3; }
.cx-deal__steps b { width: 22px; height: 22px; flex: none; border-radius: 50%; display: grid; place-items: center; background: var(--dept-deep); color: #fff; font-size: 0.75rem; }
.is-unlocked .cx-deal__steps li:first-child b { background: #1f7a45; font-size: 0; }
.is-unlocked .cx-deal__steps li:first-child b::after { content: '✓'; font-size: 0.75rem; }
.cx-buy__cta--lock::before { content: ''; width: 18px; height: 18px; margin-right: 10px; background: currentColor; -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' d='M5 9V7a5 5 0 0 1 10 0v2M4 9h12v8H4z'/%3E%3C/svg%3E") center / contain no-repeat; mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' d='M5 9V7a5 5 0 0 1 10 0v2M4 9h12v8H4z'/%3E%3C/svg%3E") center / contain no-repeat; }
.is-unlocked .cx-buy__cta { background: #1f7a45; }
@media (max-width: 749px) {
  .cx-deal__line { grid-template-columns: 52px 1fr auto; padding: 12px 14px; gap: 12px; }
  .cx-deal__img { width: 52px; height: 52px; }
  .cx-deal__steps { grid-template-columns: 1fr; }
  .cx-deal__head, .cx-deal__total { padding-inline: 14px; }
}
[data-cx-sumwrap][hidden] { display: none !important; }
.cx-deal__giftimg { width: 100%; height: 100%; display: grid; place-items: center; color: var(--dept); background: var(--tint); border-radius: 8px; }
.cx-deal__giftimg svg { width: 30px; height: 30px; }

/* Cart: free supplement line */
.cx-cartgift { display: grid; gap: 4px; margin-top: 8px; padding: 10px 12px; border: 1px solid rgb(183 154 91 / 0.55); border-radius: 8px; background: linear-gradient(90deg, rgb(183 154 91 / 0.14), rgb(183 154 91 / 0.03)); font-size: 0.875rem; line-height: 1.4; max-width: 360px; }
.cx-cartgift__tag { justify-self: start; padding: 2px 9px; border-radius: 5px; background: #1f7a45; color: #fff; font-size: 0.6875rem; font-weight: 700; letter-spacing: 0.1em; text-transform: uppercase; }
.cx-cartgift__text strong { font-weight: 600; }
.cx-cartgift__value { color: #5a615c; font-size: 0.8125rem; }
.cx-visually-hidden { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.cx-cartgift--drawer { margin: 6px 0 4px; font-family: inherit; }
.cx-cartgift__row { display: flex; align-items: center; gap: 10px; }
.cx-cartgift__worth { font-size: 0.8125rem; color: #5a615c; text-decoration: line-through; }

/* Header dropdowns */
.ct-dd { position: relative; list-style: none; }
.ct-dd > details > summary { list-style: none; cursor: pointer; display: inline-flex; align-items: center; gap: 6px; }
.ct-dd > details > summary::-webkit-details-marker { display: none; }
.ct-dd summary svg { width: 10px; height: 10px; transition: transform 200ms; }
.ct-dd details[open] summary svg { transform: rotate(180deg); }
.ct-dd__panel { position: absolute; top: calc(100% + 6px); left: -12px; z-index: 60; min-width: 230px; margin: 0; padding: 8px; list-style: none; background: var(--ct-paper, #fbfaf7); border: 1px solid var(--ct-line); box-shadow: 0 18px 36px -18px rgb(20 26 23 / 0.35); }
.ct-dd__link { display: flex; align-items: center; min-height: 40px; padding: 0 12px; font-size: 0.875rem; font-weight: 500; letter-spacing: 0.02em; text-transform: none; color: var(--ct-ink); text-decoration: none; }
.ct-dd__link:hover { background: var(--ct-bone); color: var(--dept, var(--ct-ink)); }
.ct-dd__link--home { font-weight: 700; border-bottom: 1px solid var(--ct-line); margin-bottom: 4px; }
.ct-deptbar__group { padding: 14px 0 4px; font-size: 0.6875rem; font-weight: 600; letter-spacing: 0.14em; text-transform: uppercase; color: var(--ct-gold); list-style: none; }

/* ---------- Strip with 4 items, 3 panels ---------- */
.cx-strip__list--4 { grid-template-columns: repeat(4, 1fr); }
.cx-panels--3 { grid-template-columns: repeat(3, 1fr); }
.cx-panels--3 .cx-panel { height: min(64vh, 620px); }
@media (max-width: 989px) { .cx-strip__list--4 { grid-template-columns: 1fr 1fr; } .cx-strip__list--4 .cx-strip__item:nth-child(3) { border-left: 0; } }
@media (max-width: 749px) { .cx-strip__list--4 { grid-template-columns: 1fr; } .cx-panels--3 { grid-template-columns: 1fr; } .cx-panels--3 .cx-panel { height: 44vh; } }

/* ---------- Steps: images + light variant ---------- */
.cx-step__img { display: block; width: 100%; aspect-ratio: 4 / 3; overflow: hidden; margin-bottom: 8px; }
.cx-step__img img { width: 100%; height: 100%; object-fit: cover; }
.cx-steps--light { background: var(--bone); color: var(--ink); }
.cx-steps--light .cx-sec-head .cx-lead { color: var(--soft); }
.cx-steps--light .cx-step { border-top-color: var(--line); }
.cx-steps--light .cx-step__num { color: var(--dept); }
.cx-steps--light .cx-step__text { color: var(--soft); }

/* ---------- Story ---------- */
.cx-story { padding: clamp(64px, 8vw, 112px) 0; }
.cx-story--dark { background: var(--dept-deep); color: #fff; --soft: rgb(255 255 255 / 0.82); }
.cx-story__grid { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(32px, 6vw, 88px); align-items: center; }
.cx-story--flip .cx-story__media { order: 2; }
.cx-story__media { aspect-ratio: 4 / 5; overflow: hidden; background: var(--stone); }
.cx-story__media :is(img, video) { width: 100%; height: 100%; object-fit: cover; }
.cx-story__text { display: grid; gap: 18px; justify-items: start; }
.cx-story__points { display: grid; gap: 10px; width: 100%; padding: 18px 0; border-block: 1px solid var(--line); }
.cx-story--dark .cx-story__points { border-color: rgb(255 255 255 / 0.2); }
.cx-story__points li { display: flex; gap: 10px; align-items: flex-start; font-size: 1rem; line-height: 1.45; }
.cx-story__points svg { width: 18px; height: 18px; flex: none; margin-top: 2px; color: var(--dept); }
.cx-story--dark .cx-story__points svg { color: #e8d7a8; }
.cx-story__note { font-family: var(--serif); font-style: italic; font-size: 1.125rem; }
.cx-story__actions { display: flex; flex-wrap: wrap; align-items: center; gap: 14px 28px; }
.cx-story--dark .cx-link { color: #fff; }
.cx-story--dark .cx-btn--ink { background: #fff; color: var(--dept-deep); border-color: #fff; }
@media (max-width: 989px) { .cx-story__grid { grid-template-columns: 1fr; } .cx-story--flip .cx-story__media { order: 0; } .cx-story__media { aspect-ratio: 4 / 3; } }

/* ---------- Dealer packages ---------- */
.cx-pkgs { padding: clamp(64px, 8vw, 112px) 0; }
.cx-pkgs__grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 420px), 1fr)); gap: clamp(20px, 3vw, 40px); }
.cx-pkg { display: grid; grid-template-rows: auto 1fr; background: #fff; border: 1px solid var(--line); }
.cx-pkg__media { aspect-ratio: 16 / 10; overflow: hidden; background: var(--stone); }
.cx-pkg__media img { width: 100%; height: 100%; object-fit: cover; }
.cx-pkg__body { display: grid; gap: 14px; align-content: start; justify-items: start; padding: clamp(22px, 3vw, 36px); }
.cx-pkg__title { font-family: var(--serif); font-size: 1.875rem; }
.cx-pkg__hl { font-weight: 600; color: var(--dept); }
.cx-pkg__price { display: grid; gap: 2px; padding: 14px 0; border-block: 1px solid var(--line); width: 100%; }
.cx-pkg__price strong { font-size: 1.5rem; font-weight: 700; letter-spacing: -0.01em; }
.cx-pkg__price span { font-size: 0.875rem; color: var(--soft); }
.cx-pkg__more { width: 100%; }
.cx-pkg__more summary { display: flex; align-items: center; justify-content: space-between; min-height: 44px; cursor: pointer; list-style: none; font-weight: 600; }
.cx-pkg__more summary::-webkit-details-marker { display: none; }
.cx-pkg__more[open] .cx-faq__icon::after { transform: rotate(0deg); }
.cx-pkg__lists { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; padding: 6px 0 12px; }
.cx-pkg__lh { font-size: 0.75rem; font-weight: 600; letter-spacing: 0.12em; text-transform: uppercase; color: var(--gold); margin-bottom: 8px; }
.cx-pkg__lists li { position: relative; padding-left: 16px; font-size: 0.9375rem; line-height: 1.5; margin-bottom: 4px; }
.cx-pkg__lists li::before { content: ''; position: absolute; left: 0; top: 0.6em; width: 6px; height: 6px; border-radius: 50%; background: var(--dept); }
.cx-pkg__note { font-size: 0.8125rem; color: var(--soft); }
@media (max-width: 749px) { .cx-pkg__lists { grid-template-columns: 1fr; } }

/* ---------- Contact form ---------- */
.cx-form-sec { background: var(--bone); padding: clamp(64px, 8vw, 112px) 0; }
.cx-form-sec__grid { display: grid; grid-template-columns: 4fr 7fr; gap: clamp(28px, 5vw, 80px); align-items: start; }
.cx-form-sec__text { display: grid; gap: 16px; }
.cx-form { display: grid; gap: 16px; padding: clamp(22px, 3vw, 36px); background: #fff; border: 1px solid var(--line); }
.cx-form__row { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
.cx-field { display: grid; gap: 6px; font-size: 0.875rem; font-weight: 600; }
.cx-field :is(input, select, textarea) { width: 100%; min-height: 48px; padding: 10px 14px; border: 1px solid #cfcbc0; border-radius: 0; background: #fff; font: inherit; font-weight: 400; font-size: 1rem; color: var(--ink); }
.cx-field textarea { min-height: 120px; resize: vertical; }
.cx-field :is(input, select, textarea):focus-visible { outline: 2px solid var(--dept); outline-offset: 1px; border-color: var(--dept); }
.cx-form__foot { display: flex; flex-wrap: wrap; align-items: center; gap: 12px 20px; }
.cx-form__ok { padding: 12px 14px; background: #e7f1e9; color: #1f5132; font-weight: 600; }
.cx-form__err { padding: 12px 14px; background: #fbeaea; color: #a3261b; font-weight: 600; }
@media (max-width: 989px) { .cx-form-sec__grid { grid-template-columns: 1fr; } }
@media (max-width: 749px) { .cx-form__row { grid-template-columns: 1fr; } }
.cx-story--contain .cx-story__media { background: #fff; aspect-ratio: 4 / 3; display: grid; place-items: center; padding: 12%; }
.cx-story--contain .cx-story__media img { object-fit: contain; }
.cx-dealer__grid { grid-template-columns: repeat(auto-fit, minmax(min(100%, 280px), 1fr)) !important; }
.cx-plan__grid > *, .cx-story__grid > *, .cx-kit__grid > *, .cx-band__grid > * { min-width: 0; }
@media (max-width: 749px) { .cx-plan__stats .cx-stat dt { font-size: 1.625rem; } .cx-plan__stats .cx-stat dd { font-size: 0.6875rem; letter-spacing: 0.06em; } }

/* Savings summary: cart page + Assortion drawer */
.cx-save { display: grid; gap: 8px; margin: 4px 0 12px; padding: 14px 16px; border-radius: 10px; background: #1f3a2b; color: #fff; font-family: inherit; }
.cx-save__head { display: flex; align-items: baseline; justify-content: space-between; gap: 12px; }
.cx-save__label { font-size: 0.75rem; font-weight: 700; letter-spacing: 0.12em; text-transform: uppercase; color: #e3c98a; }
.cx-save__total { font-size: 1.375rem; font-weight: 700; line-height: 1; font-variant-numeric: tabular-nums; }
.cx-save__rows { display: grid; gap: 4px; margin: 0; padding: 8px 0 0; list-style: none; border-top: 1px solid rgb(255 255 255 / 0.18); }
.cx-save__rows li span:last-child { white-space: nowrap; }
.cx-save__rows li { display: flex; justify-content: space-between; gap: 12px; font-size: 0.8125rem; color: rgb(255 255 255 / 0.85); font-variant-numeric: tabular-nums; }
.cx-save--drawer { margin: 0 0 4px; }
.cx-cartgift__worth { white-space: nowrap; }

/* Hero: separate desktop / mobile image + focal point */
.cx-ehero picture { display: contents; }
.cx-ehero__img { object-position: var(--pos-d, 50% 30%); }
@media (max-width: 749px) { .cx-ehero__img { object-position: var(--pos-m, var(--pos-d, 50% 30%)); } }

/* Report + body systems (Hårcelleanalyse Human) */
.cx-report { background: var(--bone); padding: clamp(72px, 9vw, 128px) 0; }
.cx-report__head { display: grid; justify-items: center; gap: 14px; text-align: center; margin-bottom: clamp(32px, 4vw, 56px); }
.cx-report__tabs { display: inline-flex; gap: 4px; padding: 4px; margin-top: 10px; border-radius: 999px; background: #fff; border: 1px solid var(--line); max-width: 100%; }
.cx-report__tab { white-space: nowrap; min-height: 44px; padding: 0 clamp(16px, 2.4vw, 28px); border-radius: 999px; font-size: 0.75rem; font-weight: 600; letter-spacing: 0.12em; text-transform: uppercase; color: var(--soft); transition: background 200ms, color 200ms; }
.cx-report__tab[aria-selected='true'] { background: var(--dept, var(--ink)); color: #fff; }
.cx-report__tab:focus-visible { outline: 2px solid var(--dept, var(--ink)); outline-offset: 2px; }
.cx-report__grid { display: grid; grid-template-columns: 5fr 6fr; gap: clamp(32px, 6vw, 96px); align-items: center; max-width: 1100px; margin-inline: auto; }
.cx-report__grid > * { min-width: 0; }
.cx-report__media { justify-self: center; width: min(100%, 420px); transform: rotate(-2deg); box-shadow: 0 24px 60px rgb(20 30 40 / 0.18), 0 2px 6px rgb(20 30 40 / 0.08); background: #fff; }
.cx-report__media img { display: block; width: 100%; height: auto; }
.cx-report__text { display: grid; gap: 18px; justify-items: start; }
.cx-report__actions { display: flex; flex-wrap: wrap; align-items: center; gap: 14px 28px; margin-top: 6px; }
.cx-report__dl { display: inline-flex; align-items: center; gap: 10px; }
.cx-report__dl svg { width: 18px; height: 18px; }
.cx-report__goto { display: inline-flex; align-items: center; gap: 8px; }
.cx-report__goto svg { width: 16px; height: 16px; }
.cx-report__note { font-size: 0.8125rem; color: var(--soft); }
.cx-report__intro { max-width: 62ch; margin: 0 auto clamp(24px, 3vw, 40px); text-align: center; }
.cx-report__systems { columns: 2; column-gap: clamp(24px, 4vw, 64px); max-width: 1100px; margin-inline: auto; border-top: 1px solid var(--dept, var(--ink)); }
.cx-report__systems .cx-faq__item { break-inside: avoid; }
.cx-report__systems .cx-faq__q { font-size: 1.0625rem; min-height: 60px; }
@media (max-width: 749px) {
  .cx-report__grid { grid-template-columns: 1fr; }
  .cx-report__systems { columns: 1; }
  .cx-report__media { width: min(78%, 320px); }
  .cx-report__tab { padding: 0 12px; font-size: 0.6875rem; letter-spacing: 0.06em; }
}

/* Expert panel */
.cx-experts { padding: clamp(72px, 9vw, 128px) 0; }
.cx-experts--tinted { background: var(--bone); }
.cx-experts__lead { max-width: 60ch; }
.cx-experts__grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 290px), 1fr)); gap: clamp(28px, 3.5vw, 48px); margin: 0; padding: 0; list-style: none; }
.cx-expert { display: grid; align-content: start; gap: 22px; min-width: 0; }
.cx-expert__media { aspect-ratio: 4 / 5; overflow: hidden; background: var(--stone); }
.cx-expert__media img { width: 100%; height: 100%; object-fit: cover; transition: transform 900ms var(--ease); }
.cx-expert:hover .cx-expert__media img { transform: scale(1.03); }
.cx-expert__body { display: grid; gap: 10px; }
.cx-expert__role { font-size: 0.75rem; font-weight: 600; letter-spacing: 0.14em; text-transform: uppercase; color: var(--gold); }
.cx-expert__name { font-family: var(--serif); font-weight: 400; font-size: 1.625rem; line-height: 1.15; }
.cx-expert__bio p + p { margin-top: 0.8em; }
.cx-expert__more summary { display: inline-flex; align-items: center; gap: 8px; cursor: pointer; list-style: none; margin-top: 2px; padding-bottom: 3px; border-bottom: 1px solid currentColor; font-size: 0.75rem; font-weight: 600; letter-spacing: 0.14em; text-transform: uppercase; color: var(--dept, var(--ink)); }
.cx-expert__more summary::-webkit-details-marker { display: none; }
.cx-expert__more .cx-expert__close, .cx-expert__more[open] .cx-expert__open { display: none; }
.cx-expert__more[open] .cx-expert__close { display: inline; }
.cx-expert__more[open] summary { order: 2; }
.cx-expert__more[open] { display: flex; flex-direction: column; align-items: flex-start; gap: 12px; }
.cx-experts__cta { display: flex; justify-content: center; margin-top: clamp(36px, 4vw, 56px); }

/* Free supplement image in offer box */
.cx-deal__img--gift { width: 96px; height: 96px; }
.cx-deal__img--gift img { object-fit: cover; }
@media (max-width: 749px) { .cx-deal__img--gift { width: 76px; height: 76px; } }
.cx-deal__line--gift { grid-template-columns: 96px 1fr auto; }
@media (max-width: 749px) { .cx-deal__line--gift { grid-template-columns: 76px 1fr auto; } }

.cx-experts--round .cx-expert { justify-items: center; text-align: center; }
.cx-experts--round .cx-expert__media { width: min(100%, 220px); aspect-ratio: 1; border-radius: 50%; }
.cx-experts--round .cx-expert__body { justify-items: center; }
.cx-experts--round .cx-expert__more[open] { align-items: center; }

/* "Om os" dropdown in top bar */
.ct-dd--bar { display: inline-block; }
.ct-dd--bar > details > summary { color: inherit; }
.ct-dd--bar .ct-dd__panel { left: auto; right: -8px; top: calc(100% + 10px); z-index: 120; text-align: left; }
.ct-dd--bar .ct-dd__link { white-space: nowrap; }

/* Front page Human / Animal size (editable in the section) */
.cx-hero .cx-choice { font-size: var(--choice-size, 30px); min-height: calc(var(--choice-size, 30px) * 2); letter-spacing: 0.2em; }
.cx-hero .cx-choice::after { bottom: calc(var(--choice-size, 30px) * 0.35); }
.cx-hero .cx-hero__divider { height: calc(var(--choice-size, 30px) * 1.4); }
@media (max-width: 749px) {
  .cx-hero .cx-choice { font-size: max(18px, calc(var(--choice-size, 30px) * 0.72)); letter-spacing: 0.16em; }
  .cx-hero .cx-hero__divider { height: calc(var(--choice-size, 30px) * 1); }
}

/* Front page: rotating background images */
.cx-hero__slides { position: absolute; inset: 0; overflow: hidden; }
.cx-hero__slide { position: absolute; inset: 0; opacity: 0; transition: opacity 1400ms ease; }
.cx-hero__slide.is-active { opacity: 1; }
.cx-hero__slide img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: var(--pos-d, 50% 50%); }
@media (max-width: 749px) { .cx-hero__slide img { object-position: var(--pos-m, var(--pos-d, 50% 50%)); } }
.cx-hero__slides--zoom .cx-hero__slide.is-active img { animation: cx-kenburns calc(var(--slide-ms, 5000ms) + 1400ms) linear forwards; }
@keyframes cx-kenburns { from { transform: scale(1); } to { transform: scale(1.08); } }
@media (prefers-reduced-motion: reduce) { .cx-hero__slide { transition: none; } .cx-hero__slides--zoom .cx-hero__slide.is-active img { animation: none; } }
