/**
 * Clarity Doctrine — Declarations: local baseline.
 *
 * WHY THIS EXISTS
 *
 * The site theme is `blank`, which disables core/normalize
 * (libraries-override: core/normalize: false) and ships no element styling.
 * There is no baseline under this stylesheet at all — no box model reset, no
 * collapsed margins, no font stack, no link styling.
 *
 * Everything below was written assuming normalize had already run. It had
 * not, which is why these pages rendered as browser defaults: bold serif
 * headings, blue underlined links, bulleted lists.
 *
 * Scoped to the Declaration pages only. It must not leak into the rest of
 * the site, which has been built against the same absence and presumably
 * compensates elsewhere.
 */

.cdm-hero, .cdm-sec, .cdd-hero, .cdd-index, .cdd-sheet,
.cd-signing, .cd-register, .cd-register-index {
  box-sizing: border-box;
}
.cdm-hero *, .cdm-sec *, .cdd-hero *, .cdd-index *, .cdd-sheet *,
.cd-signing *, .cd-register *, .cd-register-index * {
  box-sizing: inherit;
}

/* Headings: the theme has no reset, so browser defaults apply — oversized,
   bold, with collapsing margins that fight the layout. */
.cdm-hero h1, .cdm-hero h2, .cdm-hero h3,
.cdm-sec h1, .cdm-sec h2, .cdm-sec h3,
.cdd-hero h1, .cdd-hero h2,
.cdd-index h1, .cdd-index h2, .cdd-index h3,
.cdd-sheet h1, .cdd-sheet h2, .cdd-sheet h3 {
  margin: 0;
  font-weight: inherit;
  font-size: inherit;
  line-height: inherit;
}

.cdm-hero p, .cdm-sec p, .cdd-hero p, .cdd-index p, .cdd-sheet p {
  margin: 0;
}

/* Lists: no normalize means default disc markers and padding. */
.cdm-hero ul, .cdm-hero ol, .cdm-sec ul, .cdm-sec ol,
.cdd-index ul, .cdd-index ol, .cdd-sheet ul, .cdd-sheet ol {
  margin: 0;
  padding: 0;
  list-style: none;
}

/* Links: browser default is blue and underlined. Every link in these pages
   is either a card, a button or an inline reference — none of them want it. */
.cdm-hero a, .cdm-sec a, .cdd-hero a, .cdd-index a, .cdd-sheet a {
  color: inherit;
  text-decoration: none;
}
.cdm-sec a:not(.cdm-btn):not(.cdm-link):hover,
.cdd-sheet a:not(.cdd-btn):not(.cdd-cta):hover {
  text-decoration: underline;
}

.cdm-hero img, .cdm-sec img, .cdd-index img, .cdd-sheet img {
  max-width: 100%;
  height: auto;
  display: block;
}

/* The pages set their own type; without normalize the inherited stack is
   whatever the browser decides. */
.cdm-hero, .cdm-sec, .cdd-hero, .cdd-index, .cdd-sheet {
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}

/**
 * Clarity Doctrine — signing and register.
 *
 * Gilt Threshold, applied to the one screen where the sheet stops being a
 * download and becomes a commitment. Bone ground, because the artifact the
 * buyer receives is bone and the screen should not contradict it.
 *
 * Palette: Ink #0D0D0F · Gold #D9A441 · Deep gold #8F6A22 · Bone #F3EAD3 ·
 * Grey #9A968C.
 */

.cd-signing,
.cd-register,
.cd-register-index {
  --cd-ink: #0D0D0F;
  --cd-gold: #D9A441;
  --cd-deep: #8F6A22;
  --cd-bone: #F3EAD3;
  --cd-grey: #9A968C;

  max-width: 42rem;
  margin: 4rem auto;
  padding: 3rem 2.5rem 3.5rem;
  background: var(--cd-bone);
  color: var(--cd-ink);
  border: 1px solid var(--cd-deep);
  box-shadow: 0 0 0 6px var(--cd-bone), 0 0 0 7px rgba(143, 106, 34, .35);
  font-family: 'Cormorant Garamond', Cormorant, Garamond, serif;
  font-size: 1.05rem;
  line-height: 1.55;
}

/* The descriptor, set the way it is set on the sheet. */
.cd-signing__kicker {
  font-size: .78rem;
  letter-spacing: .42em;
  text-transform: uppercase;
  color: var(--cd-grey);
  margin: 0 0 1.4rem;
  text-align: center;
}

.cd-signing h1,
.cd-register h1,
.cd-register-index h1 {
  font-family: 'Playfair Display', Playfair, Georgia, serif;
  font-weight: 600;
  font-size: clamp(1.9rem, 5vw, 2.9rem);
  line-height: 1.1;
  text-align: center;
  margin: 0 0 1.5rem;
}

.cd-signing__intro p:not(.cd-signing__kicker) {
  text-align: center;
  max-width: 34rem;
  margin: 0 auto 2.5rem;
  color: #2a2723;
}

/* A single gold rule, as on the sheet. */
.cd-signing__intro {
  border-bottom: 1px solid var(--cd-deep);
  padding-bottom: 2rem;
  margin-bottom: 2.5rem;
}

/* --- the form ---------------------------------------------------------- */

.cd-signing label {
  display: block;
  font-size: .74rem;
  letter-spacing: .3em;
  text-transform: uppercase;
  color: var(--cd-grey);
  margin-bottom: .55rem;
}

/* The name is typeset in italic on the sheet; typing it in italic here means
   what the buyer sees is what gets printed. */
.cd-signing input[type="text"] {
  width: 100%;
  border: 0;
  border-bottom: 1px solid var(--cd-deep);
  background: transparent;
  padding: .35rem 0 .5rem;
  font-family: 'Playfair Display', Playfair, Georgia, serif;
  font-style: italic;
  font-size: 1.9rem;
  color: var(--cd-ink);
  border-radius: 0;
}

.cd-signing input[type="text"]:focus,
.cd-signing input[type="date"]:focus {
  outline: 0;
  border-bottom-color: var(--cd-gold);
  box-shadow: 0 1px 0 0 var(--cd-gold);
}

.cd-signing input[type="date"] {
  border: 0;
  border-bottom: 1px solid var(--cd-deep);
  background: transparent;
  padding: .35rem 0 .5rem;
  font-family: inherit;
  font-size: 1.15rem;
  color: var(--cd-ink);
  border-radius: 0;
}

.cd-signing .form-item {
  margin-bottom: 2.2rem;
}

.cd-signing .description {
  font-size: .92rem;
  color: var(--cd-grey);
  margin-top: .5rem;
  letter-spacing: 0;
  text-transform: none;
}

.cd-signing .form-type-checkbox label {
  display: inline;
  font-size: 1rem;
  letter-spacing: 0;
  text-transform: none;
  color: var(--cd-ink);
}

/* --- the button: the moment of commitment ------------------------------ */

.cd-signing .form-actions {
  margin-top: 3rem;
  text-align: center;
}

.cd-signing input[type="submit"] {
  background: var(--cd-ink);
  color: var(--cd-bone);
  border: 1px solid var(--cd-ink);
  padding: 1rem 2.6rem;
  font-family: 'Cormorant Garamond', Cormorant, serif;
  font-size: .88rem;
  letter-spacing: .28em;
  text-transform: uppercase;
  cursor: pointer;
  border-radius: 0;
  transition: background .18s ease, color .18s ease;
}

.cd-signing input[type="submit"]:hover {
  background: var(--cd-deep);
  border-color: var(--cd-deep);
}

/* --- the register ------------------------------------------------------ */

.cd-register__serial {
  font-family: 'Cormorant Garamond', Cormorant, serif;
  font-size: 1.6rem;
  letter-spacing: .22em;
  text-align: center;
  color: var(--cd-deep);
  margin: 0 0 2rem;
  padding-bottom: 1rem;
  border-bottom: 1px solid var(--cd-deep);
}

.cd-register dl {
  display: grid;
  grid-template-columns: 10rem 1fr;
  gap: .55rem 1.5rem;
  margin: 0 0 2rem;
}

.cd-register dt {
  font-size: .72rem;
  letter-spacing: .26em;
  text-transform: uppercase;
  color: var(--cd-grey);
  padding-top: .28rem;
}

.cd-register dd {
  margin: 0;
  font-size: 1.2rem;
}

/* The honest limit, stated on the page rather than implied away. */
.cd-register__note {
  font-size: .9rem;
  color: var(--cd-grey);
  border-top: 1px solid rgba(143, 106, 34, .35);
  padding-top: 1.2rem;
  margin: 0;
}

.cd-register--fail {
  border-color: #8a2b2b;
  box-shadow: 0 0 0 6px var(--cd-bone), 0 0 0 7px rgba(138, 43, 43, .35);
}

.cd-register--fail h1 {
  color: #7a2222;
}

.cd-register-index__count {
  text-align: center;
  font-family: 'Playfair Display', Playfair, Georgia, serif;
  font-size: 1.5rem;
  margin: 0 0 2.5rem;
  padding-bottom: 1.5rem;
  border-bottom: 1px solid var(--cd-deep);
}

.cd-register-index__list {
  list-style: none;
  margin: 0;
  padding: 0;
  columns: 2;
  column-gap: 2.5rem;
}

.cd-register-index__list li {
  padding: .38rem 0;
  border-bottom: 1px solid rgba(143, 106, 34, .2);
  break-inside: avoid;
}

.cd-register-index__list span {
  display: inline-block;
  min-width: 3.5rem;
  color: var(--cd-deep);
  font-variant-numeric: tabular-nums;
}

@media (max-width: 40rem) {
  .cd-signing,
  .cd-register,
  .cd-register-index {
    margin: 1.5rem 1rem;
    padding: 2rem 1.4rem 2.5rem;
  }
  .cd-signing input[type="text"] { font-size: 1.5rem; }
  .cd-register dl { grid-template-columns: 1fr; gap: .1rem 0; }
  .cd-register dd { margin-bottom: 1rem; }
  .cd-register-index__list { columns: 1; }
}

/* ======================================================================
   The Declarations — index, sheet, signing.
   Gilt Threshold: ink ground, gold threshold, bone text.
   ====================================================================== */

.cdd-hero, .cdd-index, .cdd-sheet {
  --ink:#0D0D0F; --gold:#D9A441; --deep:#8F6A22; --bone:#F3EAD3; --grey:#6B675F;
}

/* --- the hero: full bleed, specific to the sheet ----------------------
   Colour note: the print palette places grey #9A968C and deep gold #8F6A22
   on BONE. On an ink ground they fall to ~3.4:1 and ~3.9:1 — below the
   4.5:1 body threshold. The hero therefore uses bone at reduced opacity
   for secondary text and full gold #D9A441 for the edition line and rules.
   Same palette, correct end of it.
   -------------------------------------------------------------------- */

.cdd-hero {
  background: var(--ink);
  padding: clamp(3.5rem, 9vw, 6.5rem) 1.5rem clamp(3rem, 7vw, 5rem);
  text-align: center;
  border-bottom: 1px solid var(--deep);
}
.cdd-hero__inner { max-width: 46rem; margin: 0 auto; }
.cdd-hero__kicker {
  font-family: 'Cormorant Garamond', Cormorant, Garamond, serif;
  font-size: .84rem; letter-spacing: .36em; text-transform: uppercase;
  color: rgba(243,234,211,.74); margin: 0 0 1.5rem;
}
.cdd-hero__title {
  font-family: 'Playfair Display', Playfair, Georgia, serif;
  font-size: clamp(2.3rem, 7vw, 4.2rem); line-height: 1.04; font-weight: 600;
  color: var(--bone); margin: 0 0 1.2rem;
}
.cdd-hero__title em { font-style: italic; color: var(--gold); }
.cdd-hero__meta {
  font-family: 'Cormorant Garamond', Cormorant, serif;
  font-size: .88rem; letter-spacing: .2em; text-transform: uppercase;
  color: var(--gold); margin: 0;
  padding-bottom: 1.9rem; border-bottom: 1px solid rgba(217,164,65,.5);
}
.cdd-hero__pledge {
  font-family: 'Cormorant Garamond', Cormorant, serif;
  font-size: 1.18rem; line-height: 1.7; color: rgba(243,234,211,.9);
  max-width: 38rem; margin: 1.8rem auto 0;
}
.cdd-hero__sub {
  font-family: 'Cormorant Garamond', Cormorant, serif;
  font-size: .9rem; letter-spacing: .22em; text-transform: uppercase;
  color: var(--gold); margin: 0;
}

/* --- body -------------------------------------------------------------- */

.cdd-index, .cdd-sheet {
  max-width: 52rem; margin: 0 auto; padding: clamp(2.5rem,6vw,4rem) 1.5rem 5rem;
  font-family: 'Cormorant Garamond', Cormorant, Garamond, serif;
  font-size: 1.14rem; line-height: 1.62; color: #24211d;
}
.cdd-lede { max-width: 40rem; margin: 0 auto 1.6rem; text-align: center; color: #3a362f; }
.cdd-count { text-align: center; font-size: .95rem; color: var(--grey); margin-bottom: 2.5rem; }

/* Resourcing is never decorative. Ruled, gold, ahead of the content. */
.cdd-crisis {
  max-width: 40rem; margin: 0 auto 3rem; padding: 1.1rem 1.3rem; text-align: center;
  border-top: 1px solid var(--gold); border-bottom: 1px solid var(--gold);
  color: var(--deep); font-size: 1.02rem;
}

/* --- index grid -------------------------------------------------------- */

.cdd-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(15rem,1fr)); gap: 1rem; }
.cdd-card {
  display: flex; flex-direction: column; gap: .25rem; padding: 1.35rem 1.25rem;
  border: 1px solid #ddd6c6; background: #fdfcf9; text-decoration: none; color: inherit;
  transition: border-color .15s ease, transform .15s ease;
}
.cdd-card:hover { border-color: var(--gold); transform: translateY(-2px); }
.cdd-card--covenant { grid-column: 1/-1; background: var(--ink); border-color: var(--ink); padding: 1.8rem 1.5rem; }
.cdd-card--covenant .cdd-card__area { color: var(--bone); font-size: 2rem; }
.cdd-card--covenant .cdd-card__artifact { color: var(--gold); }
.cdd-card--covenant .cdd-card__meta { color: #9A968C; }
.cdd-card__area { font-family: 'Playfair Display', Georgia, serif; font-size: 1.34rem; line-height: 1.14; }
.cdd-card__artifact { font-size: .72rem; letter-spacing: .24em; text-transform: uppercase; color: var(--deep); }
.cdd-card__meta { font-size: .9rem; color: var(--grey); margin-top: .35rem; }
.cdd-card__meta em { color: var(--deep); font-style: italic; }

/* --- rhythm: movements and principles ---------------------------------- */

.cdd-mv { margin: 0 0 3.2rem; }
.cdd-mv h2 {
  font-family: 'Cormorant Garamond', serif; font-size: 1rem; letter-spacing: .26em;
  text-transform: uppercase; color: var(--deep); padding-bottom: .55rem;
  border-bottom: 1px solid var(--deep); margin: 0 0 1.6rem; font-weight: 600;
}
.cdd-mv h2 em { letter-spacing: .04em; text-transform: none; color: var(--grey); font-size: .92rem; font-weight: 400; }
.cdd-mv__num { font-family: 'Playfair Display', Georgia, serif; margin-right: .55rem; }
.cdd-mv--seal h2 { color: var(--gold); border-color: var(--gold); }
.cdd-mv--seal { padding: 2rem 1.6rem; background: #fbf8f1; border: 1px solid rgba(217,164,65,.4); }

.cdd-principles { list-style: none; margin: 0; padding: 0; }
.cdd-principles li { position: relative; padding: 0 0 1.5rem 2.8rem; }
.cdd-principles li:last-child { padding-bottom: 0; }
.cdd-p__n {
  position: absolute; left: 0; top: .08rem;
  font-family: 'Playfair Display', Georgia, serif; color: var(--deep); font-size: 1.08rem;
}
.cdd-principles strong { font-family: 'Playfair Display', Georgia, serif; font-weight: 600; }

.cdd-notclaim { margin-top: 3.5rem; padding-top: 1.8rem; border-top: 1px solid #ddd6c6; }
.cdd-notclaim h2 { font-size: .8rem; letter-spacing: .26em; text-transform: uppercase; color: var(--grey); margin: 0 0 .9rem; }
.cdd-notclaim p { color: var(--grey); }

/* --- sign bar ---------------------------------------------------------- */

.cdd-signbar {
  margin-top: 3.5rem; padding: 2.4rem 2rem; background: var(--ink);
  text-align: center; border: 1px solid var(--deep);
}
.cdd-signbar__lede { max-width: 30rem; margin: 0 auto 1.6rem; font-size: 1.06rem; color: rgba(243,234,211,.9); }
.cdd-signbar__count { margin: 1.2rem 0 0; font-size: .92rem; color: rgba(243,234,211,.62); }
.cdd-signbar__count a { color: var(--gold); }
.cdd-btn {
  display: inline-block; background: var(--gold); color: var(--ink) !important;
  padding: 1rem 2.4rem; text-decoration: none; font-size: .82rem;
  letter-spacing: .24em; text-transform: uppercase; font-weight: 600;
  transition: background .15s ease;
}
.cdd-btn:hover { background: var(--bone); }

/* --- onward CTAs ------------------------------------------------------- */

.cdd-ctas {
  display: grid; grid-template-columns: repeat(auto-fit, minmax(14rem,1fr));
  gap: 1rem; margin-top: 1rem;
}
.cdd-cta {
  display: block; padding: 1.3rem 1.25rem; border: 1px solid #ddd6c6;
  text-decoration: none; color: inherit; background: #fdfcf9;
  transition: border-color .15s ease;
}
.cdd-cta:hover { border-color: var(--gold); }
.cdd-cta__label {
  display: block; font-size: .72rem; letter-spacing: .24em; text-transform: uppercase;
  color: var(--deep); margin-bottom: .45rem;
}
.cdd-cta__text { display: block; font-size: .98rem; line-height: 1.5; color: #3a362f; }

@media (max-width: 34rem) {
  .cdd-index, .cdd-sheet { padding-bottom: 3rem; }
  .cdd-principles li { padding-left: 2.1rem; }
  .cdd-mv--seal { padding: 1.4rem 1rem; }
  .cdd-signbar { padding: 1.6rem 1.1rem; }
  .cdd-btn { padding: .9rem 1.4rem; font-size: .76rem; letter-spacing: .16em; }
}

/* --- the wall ---------------------------------------------------------- */
/* Crisis resourcing and the disclaimer stay outside this. Hotline numbers
   are never gated — before purchase or without it. */
.cdd-wall {
  margin: 1rem 0 0; padding: clamp(2.2rem,6vw,3.4rem) 2rem;
  background: var(--ink); text-align: center; border: 1px solid var(--deep);
  position: relative;
}
.cdd-wall::before {
  content: ''; position: absolute; left: 0; right: 0; top: -5rem; height: 5rem;
  background: linear-gradient(to bottom, rgba(253,252,249,0), rgba(253,252,249,.96));
  pointer-events: none;
}
.cdd-wall__kicker {
  font-size: .76rem; letter-spacing: .26em; text-transform: uppercase;
  color: var(--gold); margin: 0 0 .9rem;
}
.cdd-wall h2 {
  font-family: 'Playfair Display', Georgia, serif; font-weight: 600;
  font-size: clamp(1.5rem,4vw,2.2rem); line-height: 1.16;
  color: var(--bone); margin: 0 0 1.2rem;
}
.cdd-wall__body {
  max-width: 34rem; margin: 0 auto 1.8rem;
  color: rgba(243,234,211,.86); font-size: 1.06rem; line-height: 1.6;
}
.cdd-wall__body strong { color: var(--gold); font-weight: 600; }
.cdd-wall__note {
  margin: 1.3rem 0 0; font-size: .92rem; color: rgba(243,234,211,.55);
}

/* --- sticky nav -------------------------------------------------------- */
.cd-nav, header.cd-nav, .cd-nav-wrapper, nav.cd-nav {
  position: sticky; top: 0; z-index: 900;
}

/* The principle list is a <ul>, not an <ol> — the numeral is ours and an
   ordered list renders its own on top of it ("1. 1Treat belonging"). Also
   defend against a theme re-adding markers. */
.cdd-principles,
.cdd-principles li {
  list-style: none !important;
  list-style-type: none !important;
}
.cdd-principles li::marker { content: none; }

/* ======================================================================
   The Declarations — landing page.
   Alternating ink and bone bands, so the page has a pulse rather than
   one long scroll. Ink for argument, bone for substance.
   ====================================================================== */

.cdm-hero, .cdm-sec {
  --ink:#0D0D0F; --gold:#D9A441; --deep:#8F6A22; --bone:#F3EAD3; --grey:#6B675F;
  font-family: 'Cormorant Garamond', Cormorant, Garamond, serif;
}
.cdm-wrap { max-width: 56rem; margin: 0 auto; padding: 0 1.5rem; }
.cdm-wrap--narrow { max-width: 40rem; }

/* --- hero -------------------------------------------------------------- */
.cdm-hero {
  background: var(--ink); text-align: center;
  padding: clamp(4rem,11vw,8rem) 1.5rem clamp(3.5rem,8vw,6rem);
  border-bottom: 1px solid var(--deep);
}
.cdm-hero__inner { max-width: 46rem; margin: 0 auto; }
.cdm-hero__kicker {
  font-size: .84rem; letter-spacing: .38em; text-transform: uppercase;
  color: rgba(243,234,211,.74); margin: 0 0 1.6rem;
}
.cdm-hero__title {
  font-family: 'Playfair Display', Playfair, Georgia, serif;
  font-size: clamp(2.1rem,6.2vw,4rem); line-height: 1.08; font-weight: 600;
  color: var(--bone); margin: 0 0 1.6rem;
}
.cdm-hero__title em { font-style: italic; color: var(--gold); }
.cdm-hero__lede {
  font-size: 1.2rem; line-height: 1.68; color: rgba(243,234,211,.88);
  max-width: 40rem; margin: 0 auto 2.4rem;
}
.cdm-hero__count {
  margin: 1.6rem 0 0; font-size: .88rem; letter-spacing: .18em;
  text-transform: uppercase; color: rgba(243,234,211,.55);
}

/* --- bands ------------------------------------------------------------- */
.cdm-sec { padding: clamp(3.5rem,8vw,6rem) 0; }
.cdm-sec--case  { background: #fdfcf9; }
.cdm-sec--get   { background: var(--bone); }
.cdm-sec--obj   { background: var(--ink); }
.cdm-sec--price { background: #fdfcf9; }
.cdm-sec--close { background: var(--ink); }

.cdm-sec h2 {
  font-family: 'Playfair Display', Georgia, serif;
  font-size: clamp(1.7rem,4.4vw,2.7rem); line-height: 1.14; font-weight: 600;
  text-align: center; margin: 0 0 1.6rem; color: var(--ink);
}
.cdm-sec--obj h2, .cdm-sec--close h2 { color: var(--bone); }
.cdm-sec p { font-size: 1.12rem; line-height: 1.66; color: #33302a; }
.cdm-sec--obj p, .cdm-sec--close p { color: rgba(243,234,211,.86); }
.cdm-big {
  text-align: center; font-size: 1.4rem !important; color: var(--deep) !important;
  margin: 0 0 3rem; font-style: italic;
}
.cdm-emph {
  margin-top: 2rem; padding-top: 1.6rem; border-top: 1px solid rgba(217,164,65,.4);
  color: var(--gold) !important; font-size: 1.2rem !important;
}
.cdm-note {
  text-align: center; margin: 2.5rem 0 0; font-size: .98rem !important;
  color: var(--grey) !important; font-style: italic;
}

/* --- the two columns of claims ---------------------------------------- */
.cdm-cols { display: grid; grid-template-columns: 1fr 1fr; gap: 2.5rem; }
.cdm-cols h3 {
  font-size: .78rem; letter-spacing: .24em; text-transform: uppercase;
  color: var(--grey); margin: 0 0 1.2rem; padding-bottom: .6rem;
  border-bottom: 1px solid #ddd6c6;
}
.cdm-x, .cdm-check { list-style: none; margin: 0; padding: 0; }
.cdm-x li, .cdm-check li {
  position: relative; padding: 0 0 1rem 1.6rem; font-size: 1.02rem; line-height: 1.5;
}
.cdm-x li { color: #86817a; text-decoration: line-through; text-decoration-color: rgba(138,43,43,.5); }
.cdm-x li::before { content: '×'; position: absolute; left: 0; color: #8a2b2b; text-decoration: none; }
.cdm-check li { color: #33302a; }
.cdm-check li::before { content: '✓'; position: absolute; left: 0; color: var(--deep); }
.cdm-check em { font-style: italic; color: var(--deep); }

/* --- what you receive -------------------------------------------------- */
.cdm-grid3 { display: grid; grid-template-columns: repeat(auto-fit,minmax(15rem,1fr)); gap: 1.6rem; }
.cdm-feat { padding: 1.5rem 1.3rem; background: #fdfcf9; border: 1px solid #ddd6c6; }
.cdm-feat h3 {
  font-family: 'Playfair Display', Georgia, serif; font-size: 1.16rem;
  margin: 0 0 .6rem; color: var(--ink);
}
.cdm-feat p { font-size: 1rem !important; line-height: 1.55; margin: 0; color: #4a463f !important; }

/* --- price ------------------------------------------------------------- */
.cdm-prices { display: flex; gap: 1.5rem; justify-content: center; flex-wrap: wrap; }
.cdm-price {
  flex: 0 1 17rem; text-align: center; padding: 2rem 1.5rem;
  background: #fff; border: 1px solid #ddd6c6;
}
.cdm-price--feature { border-color: var(--gold); border-width: 2px; }
.cdm-price__amt {
  display: block; font-family: 'Playfair Display', Georgia, serif;
  font-size: 2.6rem; color: var(--ink); line-height: 1;
}
.cdm-price__label {
  display: block; margin-top: .7rem; font-size: .8rem; letter-spacing: .2em;
  text-transform: uppercase; color: var(--deep);
}
.cdm-price__note { display: block; margin-top: .6rem; font-size: .95rem; color: var(--grey); }

/* --- close ------------------------------------------------------------- */
.cdm-close__actions { text-align: center; margin: 2.4rem 0 0; }
.cdm-link {
  display: block; margin-top: 1.2rem; color: var(--gold);
  font-size: .98rem; text-decoration: underline;
}
.cdm-fineprint {
  text-align: center; margin: 3rem 0 0; padding-top: 1.6rem;
  border-top: 1px solid rgba(143,106,34,.35);
  font-size: .92rem !important; color: rgba(243,234,211,.55) !important;
}

/* --- buttons ----------------------------------------------------------- */
.cdm-btn {
  display: inline-block; background: var(--gold); color: var(--ink) !important;
  padding: 1rem 2.4rem; text-decoration: none; font-size: .82rem;
  letter-spacing: .24em; text-transform: uppercase; font-weight: 600;
  transition: background .15s ease;
}
.cdm-btn:hover { background: var(--bone); }
.cdm-btn--lg { padding: 1.15rem 3rem; font-size: .86rem; }

@media (max-width: 40rem) {
  .cdm-cols { grid-template-columns: 1fr; gap: 2rem; }
  .cdm-btn--lg { padding: .95rem 1.8rem; font-size: .76rem; letter-spacing: .16em; }
  .cdm-price { flex: 1 1 100%; }
}

/* --- added with the benefit rewrite ------------------------------------ */
.cdm-sub {
  text-align: center; max-width: 34rem; margin: -0.6rem auto 2.6rem;
  font-size: 1.08rem !important; color: var(--grey) !important; font-style: italic;
}
.cdm-hero__trust {
  margin: 1.6rem 0 0; font-size: .86rem; line-height: 1.7;
  color: rgba(243,234,211,.6);
}
.cdm-price__flag {
  display: block; margin-bottom: .8rem; font-size: .68rem; letter-spacing: .22em;
  text-transform: uppercase; color: var(--gold);
}
.cdm-guarantee {
  max-width: 38rem; margin: 2.4rem auto 0; text-align: center;
  font-size: 1rem !important; color: var(--grey) !important; line-height: 1.6;
  padding-top: 1.6rem; border-top: 1px solid #ddd6c6;
}
